NL - IT - RF - Marstek Venus E - Home Assistant
De nrf905 oplossing werkt prima samen met de vochtsensor in de ventilator. Standaard stand (low) is bij mijn dipswitch configuratie 30% vermogen en bij vochtige lucht gaat ie naar 40% procent. Via de nrf905 gaat ie naar 100%, dat hoor je dan ook duidelijk. Ik vermoed dat de 1-10v oplossing ook goed werkt. Afgaande op wat hier gemeld wordt, reageert de ventilator altijd op de hoogste vraag.
De nrf905 werkt bij mij niet langdurig stabiel. Om de paar weken valt het uit. Ik heb nu een dagelijkse reboot wat lijkt te helpen maar ik denk dat ik uiteindelijk toch naar een 1-10v oplossing zal gaan. De esp32 oplossing met nrf905 vergt teveel tijd/aandacht.
De nrf905 werkt bij mij niet langdurig stabiel. Om de paar weken valt het uit. Ik heb nu een dagelijkse reboot wat lijkt te helpen maar ik denk dat ik uiteindelijk toch naar een 1-10v oplossing zal gaan. De esp32 oplossing met nrf905 vergt teveel tijd/aandacht.
Gebruik je de ESPHome setup?wian schreef op zondag 10 augustus 2025 @ 16:01:
De nrf905 oplossing werkt prima samen met de vochtsensor in de ventilator. Standaard stand (low) is bij mijn dipswitch configuratie 30% vermogen en bij vochtige lucht gaat ie naar 40% procent. Via de nrf905 gaat ie naar 100%, dat hoor je dan ook duidelijk. Ik vermoed dat de 1-10v oplossing ook goed werkt. Afgaande op wat hier gemeld wordt, reageert de ventilator altijd op de hoogste vraag.
De nrf905 werkt bij mij niet langdurig stabiel. Om de paar weken valt het uit. Ik heb nu een dagelijkse reboot wat lijkt te helpen maar ik denk dat ik uiteindelijk toch naar een 1-10v oplossing zal gaan. De esp32 oplossing met nrf905 vergt teveel tijd/aandacht.
Om dezelfde reden ben ik ook overgestapt naar de dimmer. Dagelijks rebooten helpt iets, maar nog steeds was het niet stabiel. 0-10v werkt superfijn.wian schreef op zondag 10 augustus 2025 @ 16:01:
De nrf905 werkt bij mij niet langdurig stabiel. Om de paar weken valt het uit. Ik heb nu een dagelijkse reboot wat lijkt te helpen maar ik denk dat ik uiteindelijk toch naar een 1-10v oplossing zal gaan. De esp32 oplossing met nrf905 vergt teveel tijd/aandacht.
Ha mede-tweakers, ik heb een ESPHome implementatie gemaakt voor de Zehnder Comfofan o.b.v. de code van https://github.com/eelcohn/nRF905-API
Code is hier te vinden: https://github.com/srslynow/esphome-zehnder
Tot dusver werkt deze prima, wellicht dat ik iemand er een plezier mee doe.
Code is hier te vinden: https://github.com/srslynow/esphome-zehnder
Tot dusver werkt deze prima, wellicht dat ik iemand er een plezier mee doe.
Ooh interessant om ook deze eens te checken. Hoe vergelijkt dit met de bestaande ESPHome oplossing?kvs schreef op zondag 17 augustus 2025 @ 22:08:
Ha mede-tweakers, ik heb een ESPHome implementatie gemaakt voor de Zehnder Comfofan o.b.v. de code van https://github.com/eelcohn/nRF905-API
Code is hier te vinden: https://github.com/srslynow/esphome-zehnder
Tot dusver werkt deze prima, wellicht dat ik iemand er een plezier mee doe.
Geen idee. Ik heb een versie die eerder in dit topic voorbij kwam geprobeerd en die crashde. De Arduino C++ code van Eelcohn werkte wel, maar ongeveer ~24h tot een reset nodig was. Toen ben ik aan mijn eigen variant begonnen. Een geforkte ESPHome die ik hier in de laatste comments voorbij zie komen heb ik nooit geprobeerd.JPtjeeNL schreef op maandag 18 augustus 2025 @ 07:05:
[...]
Ooh interessant om ook deze eens te checken. Hoe vergelijkt dit met de bestaande ESPHome oplossing?
Uitgangspunt van mijn code: zo simpel en minimaal mogelijk. Er zijn eigenlijk maar twee controls: pairing en fan speed settings. Geavanceerder gebruik zoals fan-speed na een bepaalde tijd terugzetten regel ik via Home Assistant automations.
Wat screenshots:
:strip_exif()/f/image/WIh15grUIbA6v2avBuf7Wurq.png?f=user_large)
:strip_exif()/f/image/JDls1Tst4BArSXIcSHUkJGdX.png?f=user_large)
@kvs Gaaf, dat ziet er heel goed uit!
Ik probeer de code aan de praat te krijgen maar krijg steeds de melding:
Mijn vermoeden is dat dit komt doordat ik de module niet goed aan heb gesloten. Ik heb hem als volgt aangesloten:
VCC 3.3V
TXEN GPIO40
PWR GPIO41
CE GPIO42
CSN GPIO39
MISO GPIO37
SCK GPIO36
MOSI GPIO35
DR GPIO38
GND GND
De "NRF905" is die van een eerdere link: https://nl.aliexpress.com/item/33058039894.html
/f/image/9yhaYSVZu2fCRpmjrkH5H48I.png?f=fotoalbum_large)
Het ESP boardje dat ik gebruik is de ESP32-S3 DevKitC-1 https://randomnerdtutoria...-s3-devkitc-pinout-guide/
Ik had een schematje gevonden via https://github.com/nopnop2002/esp-idf-nrf905 om hem aan te sluiten maar dat lijkt hem niet te worden.
Iemand een idee?
Ik probeer de code aan de praat te krijgen maar krijg steeds de melding:
code:
1
2
3
4
5
6
7
8
| [00:06:21][D][button:010]: 'Pair with Fan' Pressed. [00:06:21][I][zehnder_fan:479]: Pairing service called. Attempting to discover and pair with fan... [00:06:21][D][zehnder_fan:131]: Starting fan pairing discovery... [00:06:22][D][zehnder_fan:234]: Radio timeout, retrying (1/50) ........... [00:06:46][D][zehnder_fan:234]: Radio timeout, retrying (49/50) [00:06:47][W][zehnder_fan:237]: Radio operation failed after 50 retries [00:06:47][E][zehnder_fan:518]: Pairing failed. |
Mijn vermoeden is dat dit komt doordat ik de module niet goed aan heb gesloten. Ik heb hem als volgt aangesloten:
VCC 3.3V
TXEN GPIO40
PWR GPIO41
CE GPIO42
CSN GPIO39
MISO GPIO37
SCK GPIO36
MOSI GPIO35
DR GPIO38
GND GND
De "NRF905" is die van een eerdere link: https://nl.aliexpress.com/item/33058039894.html
/f/image/9yhaYSVZu2fCRpmjrkH5H48I.png?f=fotoalbum_large)
Het ESP boardje dat ik gebruik is de ESP32-S3 DevKitC-1 https://randomnerdtutoria...-s3-devkitc-pinout-guide/
Ik had een schematje gevonden via https://github.com/nopnop2002/esp-idf-nrf905 om hem aan te sluiten maar dat lijkt hem niet te worden.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| esphome: name: esphome-zehndercontrol friendly_name: ZehnderControl min_version: 2025.5.0 name_add_mac_suffix: false esp32: board: esp32-s3-devkitc-1 framework: type: esp-idf # Enable logging logger: # Enable Home Assistant API api: # Allow Over-The-Air updates ota: - platform: esphome wifi: ssid: <REDACTED> password: <REDACTED> # SPI configuration for nRF905 spi: id: spi_bus clk_pin: GPIO36 mosi_pin: GPIO35 miso_pin: GPIO37 # External components external_components: - source: type: git url: https://github.com/srslynow/esphome-zehnder ref: main refresh: 60sec components: [zehnder_fan] # Fan configuration fan: - platform: zehnder_fan id: ventilation_fan name: "Mechanical Ventilation" spi_id: spi_bus # Required Pin Configuration cs_pin: GPIO39 pwr_pin: GPIO41 ce_pin: GPIO42 txen_pin: GPIO40 dr_pin: GPIO38 button: - platform: restart name: "Restart Controller" - platform: template name: "Pair with Fan" icon: "mdi:wifi" on_press: - lambda: |- id(ventilation_fan).start_pairing(); |
Iemand een idee?
Leuk dat je mijn code gebruikt! Volgens mij klopt je wiring. De esp32 kan praten met je nrf905. Anders had je al een exception in de logs langs zien komen tijdens de setup-fase.Donserdal schreef op dinsdag 9 september 2025 @ 00:18:
@kvs Gaaf, dat ziet er heel goed uit!
Ik probeer de code aan de praat te krijgen maar krijg steeds de melding:
code:
1 2 3 4 5 6 7 8 [00:06:21][D][button:010]: 'Pair with Fan' Pressed. [00:06:21][I][zehnder_fan:479]: Pairing service called. Attempting to discover and pair with fan... [00:06:21][D][zehnder_fan:131]: Starting fan pairing discovery... [00:06:22][D][zehnder_fan:234]: Radio timeout, retrying (1/50) ........... [00:06:46][D][zehnder_fan:234]: Radio timeout, retrying (49/50) [00:06:47][W][zehnder_fan:237]: Radio operation failed after 50 retries [00:06:47][E][zehnder_fan:518]: Pairing failed.
Mijn vermoeden is dat dit komt doordat ik de module niet goed aan heb gesloten. Ik heb hem als volgt aangesloten:
VCC 3.3V
TXEN GPIO40
PWR GPIO41
CE GPIO42
CSN GPIO39
MISO GPIO37
SCK GPIO36
MOSI GPIO35
DR GPIO38
GND GND
De "NRF905" is die van een eerdere link: https://nl.aliexpress.com/item/33058039894.html
[Afbeelding]
Het ESP boardje dat ik gebruik is de ESP32-S3 DevKitC-1 https://randomnerdtutoria...-s3-devkitc-pinout-guide/
Ik had een schematje gevonden via https://github.com/nopnop2002/esp-idf-nrf905 om hem aan te sluiten maar dat lijkt hem niet te worden.
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 esphome: name: esphome-zehndercontrol friendly_name: ZehnderControl min_version: 2025.5.0 name_add_mac_suffix: false esp32: board: esp32-s3-devkitc-1 framework: type: esp-idf # Enable logging logger: # Enable Home Assistant API api: # Allow Over-The-Air updates ota: - platform: esphome wifi: ssid: <REDACTED> password: <REDACTED> # SPI configuration for nRF905 spi: id: spi_bus clk_pin: GPIO36 mosi_pin: GPIO35 miso_pin: GPIO37 # External components external_components: - source: type: git url: https://github.com/srslynow/esphome-zehnder ref: main refresh: 60sec components: [zehnder_fan] # Fan configuration fan: - platform: zehnder_fan id: ventilation_fan name: "Mechanical Ventilation" spi_id: spi_bus # Required Pin Configuration cs_pin: GPIO39 pwr_pin: GPIO41 ce_pin: GPIO42 txen_pin: GPIO40 dr_pin: GPIO38 button: - platform: restart name: "Restart Controller" - platform: template name: "Pair with Fan" icon: "mdi:wifi" on_press: - lambda: |- id(ventilation_fan).start_pairing();
Iemand een idee?
Misschien een domme vraag maar heb je de nrf905 zender wel dicht bij de unit? Die van mij ligt er precies bovenop. Dat is nodig om er enigzins betrouwbaar mee te communiceren. Ik heb hetzelfde nrf905 bordje van aliexpress, er zit een rf-filter op voor 433 mhz, waardoor hij slecht werkt op 868 mhz. Vandaar ook 50 retries by default..
Als je de wiring verder wilt debuggen:
Ik heb hier ook een tijd aan zitten pielen. Wat ik gedaan heb is twee setups maken van esp32 + nrf905's. De een geladen met firmware die constant pakketjes uitstuurt en de ander om te ontvangen. De ontvanger print zijn debug-informatie op de console. Toen ik daar info zag verschijnen wist ik zeker dat de wiring klopte. Je kan het ontvangen ook doen met een RTL-SDR als je die toevallig hebt liggen.
Andere route die je kan nemen is precies dezelfde esp32C6 kopen als in mijn setup en mijn wiring 1-op-1 overnemen. Ik wil je best een foto sturen van mijn esp32 + nrf905 setup als je wilt?
TX_EN | 7 |
TRX_CE | 5 |
PWR_UP | 15 |
DR | 23 |
MISO | 20 |
MOSI | 19 |
SCK | 21 |
CSN | 18 |
Thanks! Ik ga dat eens proberen, ik had de afstandsbediening ernaast liggen.
Die error die ik krijg doet suggereren dat het een fail of exception is? Maar ik ga dat eens proberen laat het je weten!
Die error die ik krijg doet suggereren dat het een fail of exception is? Maar ik ga dat eens proberen laat het je weten!
[ Voor 7% gewijzigd door Donserdal op 09-09-2025 17:48 ]
Dat is een melding dat het pairen niet gelukt is na 50 pogingen. A.k.a. geen bevesting van het pairen ontvangen van de unit. Dit is geen foutmelding dat de communicatie tussen esp32 - nrf905 niet werkt.Donserdal schreef op dinsdag 9 september 2025 @ 17:47:
Thanks! Ik ga dat eens proberen, ik had de afstandsbediening ernaast liggen.
Die error die ik krijg doet suggereren dat het een fail of exception is? Maar ik ga dat eens proberen laat het je weten!
By the way, had je de stroom even van de unit afgehaald? Dat moet om hem in pairing-mode te zetten.
Het lijkt erop dat er gepaired is, het enige dat nog niet werkt is de "speeds" doorgeven?
Kan het zijn dat jij een afstandsbediening hebt met alleen maar een "1,2,3,off"? Ik heb er eentje met "10minuten, 30minuten, 60 minuten, off"
In de documentatie van Eelco zie ik iets staan over een timer(offset 0C), maar deze lijk je volgens mij in je code ook te zetten? pending_op_.data.set_speed.timer_minutes = timer_minutes;
Weet jij wat het mogelijk kan zijn?
code:
1
2
3
4
5
| [00:02:20][D][zehnder_fan:221]: Set speed command acknowledged. [00:02:20][D][fan:129]: 'Mechanical Ventilation' - Sending state: [00:02:20][D][fan:130]: State: ON [00:02:20][D][fan:132]: Speed: 3 [00:02:20][D][zehnder_fan:503]: Fan speed set successfully |
code:
1
2
3
4
| [00:03:20][D][fan:129]: 'Mechanical Ventilation' - Sending state: [00:03:20][D][fan:130]: State: OFF [00:03:20][D][fan:132]: Speed: 3 [00:03:20][D][zehnder_fan:503]: Fan speed set successfully |
Kan het zijn dat jij een afstandsbediening hebt met alleen maar een "1,2,3,off"? Ik heb er eentje met "10minuten, 30minuten, 60 minuten, off"
In de documentatie van Eelco zie ik iets staan over een timer(offset 0C), maar deze lijk je volgens mij in je code ook te zetten? pending_op_.data.set_speed.timer_minutes = timer_minutes;
Weet jij wat het mogelijk kan zijn?
De unit helemaal uitzetten via de remote kan niet, dan zet de unit zichzelf toch automatisch op de low stand. Daarom heb ik de "off" knop maar gelaten voor wat hij is, hij doet niets als je erop drukt. De low, medium en high knoppen doen het wel.Donserdal schreef op woensdag 10 september 2025 @ 00:10:
Het lijkt erop dat er gepaired is, het enige dat nog niet werkt is de "speeds" doorgeven?
code:
1 2 3 4 5 [00:02:20][D][zehnder_fan:221]: Set speed command acknowledged. [00:02:20][D][fan:129]: 'Mechanical Ventilation' - Sending state: [00:02:20][D][fan:130]: State: ON [00:02:20][D][fan:132]: Speed: 3 [00:02:20][D][zehnder_fan:503]: Fan speed set successfully
code:
1 2 3 4 [00:03:20][D][fan:129]: 'Mechanical Ventilation' - Sending state: [00:03:20][D][fan:130]: State: OFF [00:03:20][D][fan:132]: Speed: 3 [00:03:20][D][zehnder_fan:503]: Fan speed set successfully
Kan het zijn dat jij een afstandsbediening hebt met alleen maar een "1,2,3,off"? Ik heb er eentje met "10minuten, 30minuten, 60 minuten, off"
In de documentatie van Eelco zie ik iets staan over een timer(offset 0C), maar deze lijk je volgens mij in je code ook te zetten? pending_op_.data.set_speed.timer_minutes = timer_minutes;
Weet jij wat het mogelijk kan zijn?
Ik heb deze afstandsbediening: https://intovent.nl/en/pr...ler-zehnder-rfz-itv050850
Timer staat op 0 seconden in de code: https://github.com/srslyn..._fan/zehnder_fan.cpp#L469, hierdoor is er effectief geen timer ingesteld.
Dat is bewust, geavanceerder gebruik regel ik via home assistant automations: timers en aanspringen bij bepaalde luchtvochtigheid . Dat werkt m.i. beter en houd deze code overzichtelijk.
Ahh ja die heb ik inderdaad niet ik heb zoiets:
https://www.ventilatiesho...-comfofan-cmfe-655000780/
Wat zou dit dan kunnen zijn? Wellicht een idee, maar kun je die timer variabel maken? Mijn vermoeden is namelijk dat die van mij hem verwacht? En wellicht stand “4”, dat is Max toch?
https://www.ventilatiesho...-comfofan-cmfe-655000780/
Wat zou dit dan kunnen zijn? Wellicht een idee, maar kun je die timer variabel maken? Mijn vermoeden is namelijk dat die van mij hem verwacht? En wellicht stand “4”, dat is Max toch?
@kvs Volgens mij heb ik het gevonden. In de installatie handleiding van de Comfofan S heb ik het volgens mij gevonden.
https://zehndernl.zendesk..._attachments/360001147857
Als ik kijk naar pagina 6 dan lees ik "Niet alle combinaties van schakelaars en sensoren zijn mogelijk.". Volgens mij mag je als je een Timer hebt geen gebruik maken van een RFZ ( een remote met de standen 1,2,3,off ).
Met de documentatie van @EelCapone (https://github.com/eelcohn/ZehnderComfoair) heb ik een fork gemaakt van je code en eens zitten spelen met de payload die je verzend.
https://github.com/donser...hnder_fan/zehnder_fan.cpp
https://github.com/donser...zehnder_fan/zehnder_fan.h
PS: Sorry voor de git chaos, maar daar ben ik nog niet zo handig mee
Ik heb vooral de "ZehnderFanProtocol::start_set_speed" functie aangepast en de FAN_TYPE_REMOTE_CONTROL veranderd in een Timer ipv een RFZ. Als laatste heb ik ook de "speed" waarden aangepast naar de timer waarden. (FAN_SPEED_* in zehnder_fan.h)
Helaas doet hij het nog niet, maar ik zie niet waarom, volgens de documentatie van Eelco zou deze goed moeten zijn.... (kijkende naar Command 0x03: Set timer op https://github.com/eelcohn/ZehnderComfoair)
Hopelijk heeft iemand een idee, ik loop nu wel redelijk vast..
https://zehndernl.zendesk..._attachments/360001147857
Als ik kijk naar pagina 6 dan lees ik "Niet alle combinaties van schakelaars en sensoren zijn mogelijk.". Volgens mij mag je als je een Timer hebt geen gebruik maken van een RFZ ( een remote met de standen 1,2,3,off ).
Met de documentatie van @EelCapone (https://github.com/eelcohn/ZehnderComfoair) heb ik een fork gemaakt van je code en eens zitten spelen met de payload die je verzend.
https://github.com/donser...hnder_fan/zehnder_fan.cpp
https://github.com/donser...zehnder_fan/zehnder_fan.h
PS: Sorry voor de git chaos, maar daar ben ik nog niet zo handig mee
Ik heb vooral de "ZehnderFanProtocol::start_set_speed" functie aangepast en de FAN_TYPE_REMOTE_CONTROL veranderd in een Timer ipv een RFZ. Als laatste heb ik ook de "speed" waarden aangepast naar de timer waarden. (FAN_SPEED_* in zehnder_fan.h)
Helaas doet hij het nog niet, maar ik zie niet waarom, volgens de documentatie van Eelco zou deze goed moeten zijn.... (kijkende naar Command 0x03: Set timer op https://github.com/eelcohn/ZehnderComfoair)
Hopelijk heeft iemand een idee, ik loop nu wel redelijk vast..
@Donserdal Waarschijnlijk kan je het beste met een RTL-SDR checken wat voor data je afstandsbediening daadwerkelijk naar je unit stuurt. Het heeft niet veel zin om mijn code aan te passen op basis van een gok.