@thomasv je zou haast de hele MV box opensource gaan produceren. De controller heb je al, de rest is een standaard motor en veel plastic en schuim 😌
Ik ben eens flink aan het klussen gegaan met mijn nieuwe OpenAir Mini in mijn Orcon, samen met het setje van 4 sensoren.
Mijn uitgangspunten:
Disclaimer: ik ben beginner met ESPHome, ESP32, YAML en ik ben al helemaal geen c++ developer, onderstaande code heb ik grotendeels met Claude eruit geperst (en gevalideerd met andere models en roestige oude matige dev skills van lang geleden).
Voor mij werkt dit nu en ben ik best tevreden, maar: er is nu heel veel functionaliteit in de c++ Lambda gekomen, wat natuurlijk een beetje voorbij gaat aan het ESPhome concept. Pak ik het te complex aan?
Opmerkingen, correcties, aanvullingen en alles wat er tussen zit meer dan welkom.
Edit: bugfixes, code optimalisatie en commentaren gefikst
Edit2: Nu met een configureerbare day/night mode waarin naar wens de auto high speed en hold speed gedurende de dag en nacht anders gezet kunnen worden. Omdat mijn Orcon boven de 50% redelijk hoorbaar is in een stil huis vind ik dat gedurende de nacht minder acceptabel.
Edit3: meer bugfixes, er stond oude foute code op de sensors in de on_value.
Mijn uitgangspunten:
- Ik wil dat de Orcon zelfs zonder HA en HomeKit (mijn primaire interface) sensorgestuurd kan draaien
- Ik wil naast een auto-mode ook een off-mode en manual-3-standen modus hebben, waarin sensordata niet meer leidend is
- Ik wil de manual mode zowel vanuit HA als HK kunnen aansturen
- Ik wil dat ik eventueel nog automatiseringen in HA of HK kan maken op basis van weetikveel, maar daarmee dus de logica op het ESP bordje buiten spel kan zetten
- De handmatige bediening in HomeKit is nodig omdat ik daar twee 4 remotes in keuken en badkamer gebruik, als ik weet dat ik fors ga koken of k*kken dan wil ik meteen naar standje 'paniek' kunnen met een druk op de knop
- Ik wil een configureerbare day/night stand voor auto mode, waarbij naar keuze de high en auto speed in de nacht anders (lager) gezet kunnen worden ivm geluid van de installatie.
Disclaimer: ik ben beginner met ESPHome, ESP32, YAML en ik ben al helemaal geen c++ developer, onderstaande code heb ik grotendeels met Claude eruit geperst (en gevalideerd met andere models en roestige oude matige dev skills van lang geleden).
Voor mij werkt dit nu en ben ik best tevreden, maar: er is nu heel veel functionaliteit in de c++ Lambda gekomen, wat natuurlijk een beetje voorbij gaat aan het ESPhome concept. Pak ik het te complex aan?
Opmerkingen, correcties, aanvullingen en alles wat er tussen zit meer dan welkom.
Edit: bugfixes, code optimalisatie en commentaren gefikst
Edit2: Nu met een configureerbare day/night mode waarin naar wens de auto high speed en hold speed gedurende de dag en nacht anders gezet kunnen worden. Omdat mijn Orcon boven de 50% redelijk hoorbaar is in een stil huis vind ik dat gedurende de nacht minder acceptabel.
Edit3: meer bugfixes, er stond oude foute code op de sensors in de on_value.
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
| esphome: name: orcon friendly_name: Orcon on_boot: then: - delay: 15s # After reboot >> Auto mode - select.set: id: ventilation_manual_control option: "AUTO" - script.execute: evaluate_air_quality esp32: board: esp32dev framework: type: esp-idf logger: level: DEBUG wifi: ssid: !secret wifi_ssid password: !secret wifi_password ap: ssid: "Orcon_Fallback" password: !secret wifi_password api: encryption: key: !secret api_encryption_key ota: - platform: esphome password: !secret ota_password captive_portal: time: - platform: homeassistant id: homeassistant_time substitutions: # Night mode configuration night_mode_start: 22 # hour in 24h format, start of night night_mode_end: 7 # hour in 24h format, end of night # Thresholds for sensors voc_threshold: "200" co2_threshold: "800" humidity_threshold: "60" nox_threshold: "5" # Fan speeds in auto mode fan_speed_high_day: "40" # Fan speed when triggered by sensor thresholds during day window fan_speed_high_night: "30" #Fan speed when triggered by sensor thresholds during night window fan_speed_hold_day: "35" # Fanspeed when in Hold mode during day window fan_speed_hold_night: "25" # Fanspeed when in Hold mode during day window fan_speed_low: "15" # Default idle speed # Fan speeds in manual mode manual_idle: "15" manual_low: "35" manual_medium: "55" manual_high: "85" # Timing (seconds) hold_time_seconds: "300" # hold duration after high state cooldown_seconds: "30" # min seconds between evaluations # Global vars for auto mode globals: - id: fan_hold_until type: time_t initial_value: '0' - id: last_evaluation_time type: time_t initial_value: '0' - id: current_target_speed type: int initial_value: '15' - id: auto_mode_active type: bool initial_value: 'true' # Select function for manual control in Home Assistant and HomeKit (exported via HomeBridge) select: - platform: template name: "Manual Control" id: ventilation_manual_control optimistic: true options: - "UIT" - "AUTO" - "RUST" - "LAAG" - "MEDIUM" - "HOOG" initial_option: "RUST" icon: "mdi:fan" on_value: - logger.log: format: "Manual control changed to: %s" args: ['x.c_str()'] level: INFO - script.execute: evaluate_air_quality status_led: pin: number: GPIO33 # From V1.4.0 The Sensor pins on the Open AIR Mini are swapped. Correct example is below: uart: #UART For Sensor 2 - rx_pin: GPIO13 tx_pin: GPIO12 baud_rate: 9600 id: uart_sensor_2 #UART For Sensor 1 - rx_pin: GPIO25 tx_pin: GPIO26 baud_rate: 9600 id: uart_sensor_1 i2c: #I2C For Sensor 2 - id: i2c_sensor_2 sda: GPIO19 scl: GPIO18 scan: false frequency: 400kHz #I2C For Sensor 1 - id: i2c_sensor_1 sda: GPIO16 scl: GPIO4 scan: false frequency: 400kHz script: - id: evaluate_air_quality mode: single then: - lambda: |- auto now = id(homeassistant_time).now(); auto ts = now.timestamp; std::string current_mode = id(ventilation_manual_control).state; ESP_LOGD("air_quality", "Evaluation start: VOC=%.0f CO2=%.0f RH=%.0f NOx=%.0f", id(sgp4x_voc_index).state, id(scd4x_co2).state, id(sht4x_air_humidity).state, id(sgp4x_nox_index).state); // === DAY/NIGHT PROFILE === int current_hour = now.hour; bool is_night; if (${night_mode_start} < ${night_mode_end}) { is_night = (current_hour >= ${night_mode_start} && current_hour < ${night_mode_end}); } else { // night passes midnight (e.g. 22 -> 07) is_night = (current_hour >= ${night_mode_start} || current_hour < ${night_mode_end}); } int high_speed = is_night ? ${fan_speed_high_night} : ${fan_speed_high_day}; int hold_speed = is_night ? ${fan_speed_hold_night} : ${fan_speed_hold_day}; ESP_LOGI("air_quality", "Profile active: %s (high=%d%%, hold=%d%%)", is_night ? "NIGHT" : "DAY", high_speed, hold_speed); // === MANUAL MODES === if (!id(auto_mode_active)) { int manual_speed = 0; if (current_mode == "UIT") manual_speed = 0; else if (current_mode == "RUST") manual_speed = ${manual_idle}; else if (current_mode == "LAAG") manual_speed = ${manual_low}; else if (current_mode == "MEDIUM") manual_speed = ${manual_medium}; else if (current_mode == "HOOG") manual_speed = ${manual_high}; if (id(current_target_speed) != manual_speed || (manual_speed == 0 && id(fan_motor).state) || (manual_speed > 0 && !id(fan_motor).state)) { ESP_LOGI("manual_control", "Manual mode '%s' - setting fan to %d%%", current_mode.c_str(), manual_speed); if (manual_speed == 0) { auto call = id(fan_motor).make_call(); call.set_state(false); call.perform(); } else { auto call = id(fan_motor).turn_on(); call.set_speed(manual_speed); call.perform(); } id(current_target_speed) = manual_speed; } return; } // === AUTO MODE === ESP_LOGD("air_quality", "AUTO mode active"); // Reset only if current target is not one of the valid AUTO values if (id(current_target_speed) != ${fan_speed_low} && id(current_target_speed) != high_speed && id(current_target_speed) != hold_speed) { ESP_LOGI("air_quality", "Switch to AUTO - fan to %d%% (clean start)", ${fan_speed_low}); auto call = id(fan_motor).turn_on(); call.set_speed(${fan_speed_low}); call.perform(); id(current_target_speed) = ${fan_speed_low}; id(fan_hold_until) = 0; // reset any old hold timer } // cooldown check if (ts - id(last_evaluation_time) < ${cooldown_seconds}) { ESP_LOGV("air_quality", "Cooldown active, evaluation skipped"); return; } id(last_evaluation_time) = ts; // read sensor values float voc = id(sgp4x_voc_index).state; float co2 = id(scd4x_co2).state; float humidity = id(sht4x_air_humidity).state; float nox = id(sgp4x_nox_index).state; if (isnan(voc) || isnan(co2) || isnan(humidity) || isnan(nox)) { ESP_LOGW("air_quality", "One or more sensors have invalid values"); return; } // threshold check bool voc_high = (voc > ${voc_threshold}); bool co2_high = (co2 > ${co2_threshold}); bool humidity_high = (humidity > ${humidity_threshold}); bool nox_high = (nox > ${nox_threshold}); bool any_high = voc_high || co2_high || humidity_high || nox_high; ESP_LOGD("air_quality", "Thresholds: VOC %s (%.0f>%s) CO2 %s (%.0f>%s) RH %s (%.0f>%s) NOx %s (%.0f>%s)", voc_high ? "HIGH" : "ok", voc, "${voc_threshold}", co2_high ? "HIGH" : "ok", co2, "${co2_threshold}", humidity_high ? "HIGH" : "ok", humidity, "${humidity_threshold}", nox_high ? "HIGH" : "ok", nox, "${nox_threshold}"); int current_speed = id(current_target_speed); if (any_high) { if (current_speed != high_speed) { std::string high_sensors = ""; if (voc_high) high_sensors += "VOC(" + to_string((int)voc) + ") "; if (co2_high) high_sensors += "CO2(" + to_string((int)co2) + ") "; if (humidity_high) high_sensors += "RH(" + to_string((int)humidity) + "%) "; if (nox_high) high_sensors += "NOx(" + to_string((int)nox) + ") "; ESP_LOGI("air_quality", "Sensors too high: %s - fan to %d%%", high_sensors.c_str(), high_speed); auto call = id(fan_motor).turn_on(); call.set_speed(high_speed); call.perform(); id(current_target_speed) = high_speed; id(fan_hold_until) = 0; } } else { if (current_speed == high_speed) { ESP_LOGI("air_quality", "Sensors normal - start %d min hold at %d%%", ${hold_time_seconds}/60, hold_speed); auto call = id(fan_motor).turn_on(); call.set_speed(hold_speed); call.perform(); id(current_target_speed) = hold_speed; id(fan_hold_until) = ts + ${hold_time_seconds}; } else if (current_speed == hold_speed) { if (ts >= id(fan_hold_until)) { ESP_LOGI("air_quality", "Hold done - fan to %d%%", ${fan_speed_low}); auto call = id(fan_motor).turn_on(); call.set_speed(${fan_speed_low}); call.perform(); id(current_target_speed) = ${fan_speed_low}; } else { long time_left = id(fan_hold_until) - ts; ESP_LOGD("air_quality", "Hold active - %ld sec left", time_left); } } } sensor: - platform: pulse_counter #reports the fan tacho pin: GPIO14 unit_of_measurement: "rpm" name: 'Fan Tacho' id: orcon_rpm update_interval: 5s - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB name: "WiFi Signal dB" id: wifi_signal_db update_interval: 30s entity_category: "diagnostic" device_class: "signal_strength" - platform: copy # Reports the WiFi signal strength in % source_id: wifi_signal_db name: "WiFi Signal Percent" filters: - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0); unit_of_measurement: "%" entity_category: "diagnostic" device_class: "signal_strength" - platform: sht4x i2c_id: i2c_sensor_1 # check for need of co2 heater, these are conservative values #heater_max_duty: 0.01 #heater_power: Low #heater_time: Short update_interval: 30s temperature: name: "SHT4x Temperature" id: sht4x_air_temperature accuracy_decimals: 2 state_class: measurement device_class: temperature # No delta filters and on_value trigger, sensor not part of automation humidity: name: "SHT4x Humidity" id: sht4x_air_humidity accuracy_decimals: 2 state_class: measurement device_class: humidity # Trigger central evaluation at new value that is >2% filters: - delta: 2% on_value: - script.execute: id: evaluate_air_quality - platform: sgp4x i2c_id: i2c_sensor_1 update_interval: 30s compensation: temperature_source: sht4x_air_temperature humidity_source: sht4x_air_humidity voc: name: "SGP4x VOC Index" id: sgp4x_voc_index state_class: measurement device_class: volatile_organic_compounds # Trigger central evaluation at new value that is >5% filters: - delta: 5% on_value: - script.execute: id: evaluate_air_quality nox: name: "SGP4x NOx Index" id: sgp4x_nox_index state_class: measurement device_class: nitrous_oxide # Trigger central evaluation at new value that is >2% filters: - delta: 2% on_value: - script.execute: id: evaluate_air_quality - platform: scd4x i2c_id: i2c_sensor_1 update_interval: 30s co2: name: "SCD4x CO2" id: scd4x_co2 state_class: measurement device_class: carbon_dioxide # Trigger central evaluation at new value that is >25ppm filters: - delta: 25 on_value: - script.execute: id: evaluate_air_quality temperature: name: "SCD4x Temperature" id: scd4x_temperature accuracy_decimals: 2 state_class: measurement device_class: temperature # No delta filters and on_value trigger, sensor not part of automation humidity: name: "SCD4x Humidity" id: scd4x_humidity accuracy_decimals: 2 state_class: measurement device_class: humidity # No delta filters and on_value trigger, sensor not part of automation output: - id: orcon_fan platform: ledc pin: GPIO15 inverted: true # Slow rise of values -due to delta- may cause no triggering of evaluation, so running every 2 minutes regardless interval: - interval: 2min then: - script.execute: id: evaluate_air_quality trigger_source: "watchdog" fan: - id: fan_motor name: "Fan" platform: speed output: orcon_fan |
[ Voor 15% gewijzigd door Odie op 11-09-2025 16:16 . Reden: Nog een bugfix ]
Voor zover ik weet: Gewoon niet.djuro499 schreef op zaterdag 6 september 2025 @ 11:33:
[...]
Zou je kunnen uitleggen hoe de Open AIR mini precies werkt i.c.m. een perilex schakelaar? Werkt de override van beide kanten en kan je b.v. de schakelaar gebruiken als de wifi of HA uitvalt?
Perilex werd gebruikt om oude boxen te regelen. Ik weet het niet zeker, maar het zou me niets verbazen als ze gewoon direct op de spoelen van de motor zijn aangesloten, want de echte ouderwetse systemen hebben natuurlijk geen enkele electronische regeling.Ik zit te kijken naar Silent/Reno met perilex (bv. the last resort of als ik ga verhuizen) of naar de gewone randaarde variant als er geen toegevoegde waarde is.
Nog een punt, ik probeer zo veel mogelijk ethernet te gebruiken, maar met de valve's ben ik sowieso afhankelijk van de wifi.
Nieuwe boxen kunnen een motor traploos regelen.
De Open Air gaat daar nog overheen door er wifi besturing aan toe te voegen.
Een perilex is dan echt niet meer nodig. Als je een standaard box koopt zit er meestal een afstandsbediening bij.
En sturing via OpenAir gaat nog beter, omdat je hem kunt programmeren om te reageren op vochtpercentages, op tijden en op meerdere knoppen.
De afstandsbediening die je bij een box krijgt werkt niet met OA. Reden is dat OA de hele printplaat vervangt, inclusief de radio-ontvanger van de afstandsbediening.
Als HA uitvalt gaat de OpenAir naar een 'disconnected mode'. Het is programmeerbaar wat hij dan doet.
Hij kan bv gewoon basic op vochtigheidslevels reageren: veel vocht=hard draaien.
Wel heeft de OpenAir een web-interface. In geval van nood kun je er naartoe met een browser en zelf de instellingen & fanspeed veranderen.
Echter je wilt wel zsm je HA weer aan de praat krijgen, dat klopt.
In het geval van perilex komt ook nog bij dat de indeling van de stekkerdoos anders is per merk. Even een Duco perilex box aansluiten op een doos waar voorheen een Orcon zat gaat dus niet werken. Zal je eerst de stekkerdoos open moeten maken en twee of drie draadjes anders moeten lussen.
Perilex zelf heeft namelijk wel een standaard, maar dat is voor vermogen aanleveren in de keuken aan een kookplaat bijv. Voor ventilatieboxen wordt het gebruikt als handige interface voor regeling met een driestandenschakelaar en dan gaan blijkbaar alle standaarden overboord.
En als je het dan toch al open moet maken, waarom niet gewoon meteen die doos vervangen voor een reguliere stekkerdoos en de driestandenschakelaar van de muur halen en op die plek een draadloos bedieningspaneel plaatsen? Heb ik hier in ieder geval wel gedaan en nog geen moment spijt van gehad.
Perilex zelf heeft namelijk wel een standaard, maar dat is voor vermogen aanleveren in de keuken aan een kookplaat bijv. Voor ventilatieboxen wordt het gebruikt als handige interface voor regeling met een driestandenschakelaar en dan gaan blijkbaar alle standaarden overboord.
En als je het dan toch al open moet maken, waarom niet gewoon meteen die doos vervangen voor een reguliere stekkerdoos en de driestandenschakelaar van de muur halen en op die plek een draadloos bedieningspaneel plaatsen? Heb ik hier in ieder geval wel gedaan en nog geen moment spijt van gehad.
Dat had ik inderdaad ook. In de fotos op GitHub lijkt hij ook op een andere locatie te zitten.mrwiggs schreef op donderdag 11 september 2025 @ 14:44:
Kan het kloppen dat dit schroefgaatje op de verkeerde plek zit?
[Afbeelding]
@The_ Mad_Ping heb je nog tijd om mijn vragen te beantwoorden? Onder andere over bovenstaande schroefgas, maar ook over de firmware: Ik zou namelijk graag een eigen ESPHome firmware maken en erop zetten, maar het apparaat wordt helaas niet herkend door ESPHome device builder..
Volgens mij ligt dat aan je systeem. Bij Orcon dient de perilex simpelweg om een stand te signaleren. Drie pinnen voeren de L, N en PE aan en twee pinnen signaleren afwijking van 'laag' naar 'midden' en 'hoog' door stroom van L op een van beide pinnen te zetten. Die komt binnen op de Orcon controller.
Op de controller zit 'gewoon' de motor met een eigen L+N aansluiting en een motor-controller kabel zoals ik die ook in mijn RF versie had waar een 0-10v of PWM signaal wordt gezet en waar je een tacho op terug leest.
Aangezien de OpenAir die hele controller vervangt zou deze versie dus ook gewoon geschikt zijn voor OpenAir: je gooit de Perilexstekker, de driestanden schakelaar en de Orcon controller bij het grof vuil, sluit een normale 230V stekker op de OpenAir aan en prikt de motor met voeding en aansturing ook op de OpenAir.
Met deze oplossing is de Perilex serie ook geschikt voor RF, wat wel blijkt uit de RF ontvanger die er ook in lijkt te zitten.
*note: tot zover de theorie, gebaseerd op de MVS-15-xxxP handleiding https://community.homey.a...met-perilex-stekker/29653
Maar ik had vroeger een MV die middels perilex keihard de motor aanstuurde door de 230V op een andere set windingen te zetten. Niets traploos aan. Het zal dus erg aan de leeftijd en merk van je box liggen. De hamvraag: wat voor soort motor zit er in je box, de rest is bijvangst.
Dat kan dus alleen als je systeem geen directe koppeling tussen de driestanden schakelaar heeft qua voeding, oudere systemen hebben dat wel zijn niet niet geschikt om later te retrofitten met RF en variabele aansturing.Caelorum schreef op donderdag 11 september 2025 @ 15:04:
En als je het dan toch al open moet maken, waarom niet gewoon meteen die doos vervangen voor een reguliere stekkerdoos en de driestandenschakelaar van de muur halen en op die plek een draadloos bedieningspaneel plaatsen? Heb ik hier in ieder geval wel gedaan en nog geen moment spijt van gehad.
@Odie hoe bedoel je dit? In mijn geval gingen alle kabels naar de badkamer waar de box hing en van daaruit de voeding naar de driestandenschakelaar een verdieping lager, om weer drie voedingsdraden terug te krijgen. Elk van die waren op een aparte ingang van de box aangesloten. (De box kwam uit 1989 en was echt een enorm oud ding. Ook rechtstreeks 230v op de goede ingang voor een andere snelheid).
In zo'n systeem krijgt de box wel enkel voeding vanuit de driestandenschakelaar, maar kan je deze ook vrij eenvoudig compleet ombouwen.
En mocht het draad niet eerst via de goede ruimte gaan kan je ook vanaf de driestandenschakelaar 1 van de draden opnieuw trekken en direct doorlussen.
In zo'n systeem krijgt de box wel enkel voeding vanuit de driestandenschakelaar, maar kan je deze ook vrij eenvoudig compleet ombouwen.
En mocht het draad niet eerst via de goede ruimte gaan kan je ook vanaf de driestandenschakelaar 1 van de draden opnieuw trekken en direct doorlussen.
[ Voor 9% gewijzigd door Caelorum op 11-09-2025 22:10 ]
Er zijn twee manieren om een motor op verschillende snelheden aan te sturen: via een stuursignaal (meestal 0-10v of een pwm signaal dat de motor zelf vertaalt in een traploze snelheid via spannings- of frequentie regeling) of door de 230v direct naar de motor te sturen maar naar gelang de wenste snelheid een andere set windingen aan te spreken (Dahlander- of meerwikkelmotor). De eerste methode is traploos, de tweede niet.
MVs van het eerste type zijn makkelijk te converteren van perilex aansluiting met driestanden schakelaar naar iets traploos en draadloos, de tweede niet.
Of je dus kan ombouwen hangt heel erg af van de leeftijd van de box en hoe hij intern werkt. Van de Orcon MVS serie weet ik zeker dat je makkelijk om kunt met minimale aanpassingen omdat bij de perilex uitvoering de keuze simpelweg vertaald wordt door de controller naar een PWM signaal op de motor. Controller eruit, Open Air erin, standaars 230v stekker eraan en klaar.
MVs van het eerste type zijn makkelijk te converteren van perilex aansluiting met driestanden schakelaar naar iets traploos en draadloos, de tweede niet.
Of je dus kan ombouwen hangt heel erg af van de leeftijd van de box en hoe hij intern werkt. Van de Orcon MVS serie weet ik zeker dat je makkelijk om kunt met minimale aanpassingen omdat bij de perilex uitvoering de keuze simpelweg vertaald wordt door de controller naar een PWM signaal op de motor. Controller eruit, Open Air erin, standaars 230v stekker eraan en klaar.
Oh ok, ik denk dat we hier langs elkaar heen praten. Ik had het over het ombouwen van de perilexdoos naar een schukodoos. Zodat een moderne MV met 'normale' stekker gebruikt kan worden incl afstandsbediening. En deze kan worden omgebouwd. Niet het ombouwen van de oude MV zelf.
Ik ging er vanuit dat die dusdanig oud was dat een nieuwe MV box sowieso efficiënter en stiller zal werken.
Ik ging er vanuit dat die dusdanig oud was dat een nieuwe MV box sowieso efficiënter en stiller zal werken.
[ Voor 23% gewijzigd door Caelorum op 12-09-2025 07:32 ]
Een aantal maanden terug heb ik een OpenAIR Sense Pro besteld. Ik gebruikte al een OpenAIR mini met twee OpenAIR valves voor de aansturing van de mechanische ventilatie. Op verzoek van @The_ Mad_Ping heb ik een review geschreven over mijn eigen ervaringen met de Sense Pro, in combinatie met de OpenAIR mini en de twee kleppen. Om het ook relevant te maken voor mensen die niet op dit forum komen, maar de Sense Pro zien op het Tindie platform, heb ik de review in het Engels geschreven. Het is een aardig verhaal geworden, maar de TL/DR is dat ik super tevreden ben en dat de huidige setup 10x beter is dan hoe ons huis werd opgeleverd (proprietary CO2 sensor, draadloos verbonden met ventilatie, drempelwaardes niet in te stellen, etc.).
:strip_exif()/f/image/rlFBkE79jquNbfsZwal0kIAd.jpg?f=fotoalbum_large)
The 3D-printed housing feels sturdy and purposeful, not some flimsy prototype. The fit is tight, screw points line up well, and there’s enough airflow through the design that the sensors aren’t suffocated. You will need a small allen key to disassemble the housing.
Pop the lid and it’s tidy inside!
Housing removed
:strip_exif()/f/image/0bW5nxv72UPHON8WLeXVV2CG.jpg?f=fotoalbum_large)
Overview of PCB
:strip_exif()/f/image/YaOWR6VsBekE74xdv4w6qMeV.jpg?f=fotoalbum_large)
Sensors
:strip_exif()/f/image/48tkEtrJC83XrEFBT3xQlhLC.jpg?f=fotoalbum_large)
Espressif ESP32 board
:strip_exif()/f/image/Mo8DJfRfV4OB82lCnfIXlxfC.jpg?f=fotoalbum_large)
You can clearly see the ESP32 at the heart of it and a well-laid-out PCB. Sensor placement looks deliberate (good for airflow and heat isolation), and the cable routing is neat. Exactly what I would expect from a “Pro” unit. Finally there are leds at the bottom which can be set to a specific color.
OpenAIR Sense Pro entities
/f/image/p9pAs2fuVpppCRwWplouqZNr.png?f=fotoalbum_large)
OpenAIR light toggle
/f/image/b1LBa51qfvcrLNBiMeI8CcxD.png?f=fotoalbum_large)
Automation example
/f/image/CHVGM4m8O2ElHRvlQBBdMYTz.png?f=fotoalbum_large)
I love using the device’s light as a subtle air quality indicator. In the example it's based on VOC, but you can of course combine several metrics. Green when air is fresh, orange when it’s getting stale, red when it’s time to take action.
Here’s the exact automation I’m running, using the VOC index sensor from the OpenAIR Sense Pro and driving its light accordingly:
My hands-on with the Open AIR Sense Pro
Short version: This thing is a little powerhouse of an air monitor. It’s ESP32-based, crammed with very accurate sensors, and wrapped in a clean 3D-printed shell. It looks good on a shelf, and it plays super nicely with Home Assistant.Unboxing and build
:strip_exif()/f/image/rlFBkE79jquNbfsZwal0kIAd.jpg?f=fotoalbum_large)
The 3D-printed housing feels sturdy and purposeful, not some flimsy prototype. The fit is tight, screw points line up well, and there’s enough airflow through the design that the sensors aren’t suffocated. You will need a small allen key to disassemble the housing.
Pop the lid and it’s tidy inside!
Housing removed
:strip_exif()/f/image/0bW5nxv72UPHON8WLeXVV2CG.jpg?f=fotoalbum_large)
Overview of PCB
:strip_exif()/f/image/YaOWR6VsBekE74xdv4w6qMeV.jpg?f=fotoalbum_large)
Sensors
:strip_exif()/f/image/48tkEtrJC83XrEFBT3xQlhLC.jpg?f=fotoalbum_large)
Espressif ESP32 board
:strip_exif()/f/image/Mo8DJfRfV4OB82lCnfIXlxfC.jpg?f=fotoalbum_large)
You can clearly see the ESP32 at the heart of it and a well-laid-out PCB. Sensor placement looks deliberate (good for airflow and heat isolation), and the cable routing is neat. Exactly what I would expect from a “Pro” unit. Finally there are leds at the bottom which can be set to a specific color.
Sensors
You have a couple of options when it comes to the sensors that will be installed. All of them are from Senserion with high accuracy.- Temperature and humidity
- Additionally: CO2
- Additionally: VOC and NOx
- Additionally: SPS30 particle sensor
Home Assistant integration
Adding it to Home Assistant is painless with ESPHome auto-discovery, and you immediately get a bunch of useful entities. I'm primarily using the CO2 and VOC metrics to monitor air quality. I've built some simple automations to use the controllable light entity that’s perfect for ambient feedback.OpenAIR Sense Pro entities
/f/image/p9pAs2fuVpppCRwWplouqZNr.png?f=fotoalbum_large)
OpenAIR light toggle
/f/image/b1LBa51qfvcrLNBiMeI8CcxD.png?f=fotoalbum_large)
Automation example
/f/image/CHVGM4m8O2ElHRvlQBBdMYTz.png?f=fotoalbum_large)
I love using the device’s light as a subtle air quality indicator. In the example it's based on VOC, but you can of course combine several metrics. Green when air is fresh, orange when it’s getting stale, red when it’s time to take action.
Here’s the exact automation I’m running, using the VOC index sensor from the OpenAIR Sense Pro and driving its light accordingly:
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
| alias: "Climate: Air quality (VOC) ground floor" description: "" triggers: - trigger: numeric_state entity_id: - sensor.open_air_sense_pro_5328e0_voc_index below: 150 id: voc_green - trigger: numeric_state entity_id: - sensor.open_air_sense_pro_5328e0_voc_index above: 150 below: 350 id: voc_orange - trigger: numeric_state entity_id: - sensor.open_air_sense_pro_5328e0_voc_index above: 350 id: voc_red - trigger: time at: "23:00:00" id: night_mode conditions: [] actions: - choose: - conditions: - condition: trigger id: - voc_green - condition: time before: "23:00:00" after: "07:00:00" sequence: - action: light.turn_on metadata: {} data: rgb_color: - 40 - 148 - 25 brightness_pct: 50 target: device_id: cc9911744abac6684f3ea1a363b6098a - conditions: - condition: time before: "23:00:00" after: "07:00:00" - condition: trigger id: - voc_orange sequence: - action: light.turn_on metadata: {} data: rgb_color: - 242 - 157 - 38 brightness_pct: 50 target: device_id: cc9911744abac6684f3ea1a363b6098a - conditions: - condition: trigger id: - voc_red - condition: time before: "23:00:00" after: "07:00:00" sequence: - action: light.turn_on metadata: {} data: rgb_color: - 213 - 20 - 7 brightness_pct: 100 target: device_id: cc9911744abac6684f3ea1a363b6098a - conditions: - condition: trigger id: - night_mode sequence: - action: light.turn_off metadata: {} data: {} target: device_id: cc9911744abac6684f3ea1a363b6098a mode: single |
Combining the Sense Pro with other OpenAIR devices
My setup is a combination of the Sense Pro for monitoring CO2, VOC and NOx, the OpenAIR mini to control mechanical ventilation and two OpenAIR valves to open or close valves. The valves are optional, but help with conserving energy. E.g. when somebody is taking a shower (first floor), an automation will set the ventilation to max speed and will set the valve that is connected to the ground floor to only 20% open. That helps to preserve the heat downstairs, while quickly bringing the humidity down in the bathroom. The overall goal is to make this as "set-and-forget" as possible. The air quality should be healthy, energy should be conserved (maintaining the air quality) and all of that needs to happen without manual intervention. I've written a couple of automations with some helpers in Home Assistant to make that happen.Day-to-day impressions
- The Sense Pro readings are stable and react quickly to cooking, aerosols, or a closed room.
- The ambient light feedback is surprisingly useful; And you can also decide to let it respond to other triggers.
- 3D-printed shell looks “maker-y” in a good way. Clean lines, not rough. Of course you can also make your own case, just keep in mind the device needs some airflow, so don't put it in a sealed box.
Verdict:
This is a high-accuracy air quality monitor that plugs straight into Home Assistant and gives you the option to run practical automations out of the box. I'm very happy with the OpenAIR Sense Pro and would definitely recommend it. Solid build, thoughtful internals, and a great HA experience.
Bedankt allemaal voor jullie reacties!
De bedoeling is inderdaad om een nieuwe MV te plaatsen en ik vroeg me af of ik de 3-standen schakelaar met perilex toch zou kunnen gebruiken in het geval dat mijn netwerk platligt.
En trouwens, het schema van die van mij ziet er zo uit:
:strip_exif()/f/image/YPZ5sjMj7JVK9wXuApesdxC9.jpg?f=fotoalbum_large)
Misschien maak ik het onnodig ingewikkeld, maar ik dacht even aan een scenario als het te lang duurt om mijn netwerk te herstellen. Een goed geprogrammeerde 'disconnected mode' zou voldoende moeten zijn.
Ik vind de OA met ethernet port heel interessant en de compacte Duco Reno zou goed passen bij mij want ik heb maar 3 afzuigkanalen (wel met minder vermogen 325 m³/h t.o.v. 400 m³/h van de Silent). Daarnaast ondersteunt hij een perilex-schakelaar. Dit sluit aan bij mijn vragen aan @The_ Mad_Ping, aangezien ik de volgende scenario's in gedachten heb:
De 3-standenschakelaar/perilex zou daarachter kunnen, als 'last resort', maar misschien niet de moeite waard.
De bedoeling is inderdaad om een nieuwe MV te plaatsen en ik vroeg me af of ik de 3-standen schakelaar met perilex toch zou kunnen gebruiken in het geval dat mijn netwerk platligt.
Als de stand van de Perilex-schakelaar uit te lezen is, verwacht ik dat alle draden op de OA printplaat aangesloten zijn.The_ Mad_Ping schreef op woensdag 21 mei 2025 @ 14:50:
Oh ja, bijna vergeten! De Reno ondersteunt ook de Perilex-connector.
Dus als je een variant met Perilex gebruikt, kun je die gewoon blijven gebruiken. Extra handig: de stand van de Perilex-schakelaar is ook uit te lezen in Home Assistant!
En trouwens, het schema van die van mij ziet er zo uit:
:strip_exif()/f/image/YPZ5sjMj7JVK9wXuApesdxC9.jpg?f=fotoalbum_large)
Dat is goed om te weten!Tarquin schreef op donderdag 11 september 2025 @ 14:31:
Als HA uitvalt gaat de OpenAir naar een 'disconnected mode'. Het is programmeerbaar wat hij dan doet.
Hij kan bv gewoon basic op vochtigheidslevels reageren: veel vocht=hard draaien.
Bedoel je OpenAir als een wifi access point of gewoon als een wifi client?Tarquin schreef op donderdag 11 september 2025 @ 14:31:
Wel heeft de OpenAir een web-interface. In geval van nood kun je er naartoe met een browser en zelf de instellingen & fanspeed veranderen.
Misschien maak ik het onnodig ingewikkeld, maar ik dacht even aan een scenario als het te lang duurt om mijn netwerk te herstellen. Een goed geprogrammeerde 'disconnected mode' zou voldoende moeten zijn.
Ik vind de OA met ethernet port heel interessant en de compacte Duco Reno zou goed passen bij mij want ik heb maar 3 afzuigkanalen (wel met minder vermogen 325 m³/h t.o.v. 400 m³/h van de Silent). Daarnaast ondersteunt hij een perilex-schakelaar. Dit sluit aan bij mijn vragen aan @The_ Mad_Ping, aangezien ik de volgende scenario's in gedachten heb:
- HA-besturing, via ethernet of wifi.
- Autonome 'disconnected mode', als het netwerk niet beschikbaar is.
- 3-standenschakelaar/perilex, als een 'override' van de 'disconnected mode'.
De 3-standenschakelaar/perilex zou daarachter kunnen, als 'last resort', maar misschien niet de moeite waard.
Kleine nuance, dat is maar hoe je hem configureert he. Het kán. Ik heb juist voor een “ESP-centric” opzet gekozen waarbij de OpenAir autonoom werkt maar altijd van buiten af te overriden is.Als HA uitvalt gaat de OpenAir naar een 'disconnected mode'.
Overigens bevat mijn bovenstaande config een bug die ik bij de (poging tot een andere) laatste bugfix juist geïntroduceerd heb. Hij is bij mij gefikst, maar ik mag m’n post niet meer editen. Aangezien ik nog verder ga refinen de komende tijd (ik wil het ventilatie gedrag nog iets meer vraaggestuurd maken waarbij de mate van luchtvervuiling stapsgewijs meer of minder ventilatie vraagt) dus als je interesse in de laatste versie hebt, let me know.
De ESP kan je optioneel een web interface geven waarmee hij direct te besturen is, dat is dus in cliënt mode. De AP mode kickt in als hij geen verbinding kan maken met de geconfigureerde wifi. Dat staat weer los van de “disconnected” mode, wat slaat op of de ESP verbinding met HA heeft over de API.
En als je het bont wil maken kan je ook nog API calls vanuit andere software of systemen direct op de ESP doen, ik heb even zitten spelen met JSON calls direct uit HomeKit op de ESP, maar uiteindelijk vind ik m’n huidige aanpak de beste omdat daarmee ook een feedback loop terug naar HomeKit is (die toont daadwerkelijk in welke stand mijn ventilatie staat).
Ik ben in hele korte tijd fanboy van ESPHome en ook zeker de Open Air geworden, leuk spul…
Ik zou persoonlijk de perilex ditchen en wellicht vervangen door iets draadloos, genoeg opties (inclusief draadloze schakelaars die in een standaard frame moeten passen). Maar als je hem wil behouden, je zou hem kunnen aansluiten op twee GPIO pinnen van de ESP OpenAir, maar dat wordt een beetje knutselen. Je zou van een van de sensor headers de SCL/SDA pinnen als digitale input kunnen configureren met daar de twee perilex schakelstanden eraan.
[ Voor 12% gewijzigd door Odie op 12-09-2025 19:04 ]
Zodra ik de 230v motor aansluitingen op de Open Air mini aansluit klapt de Glaszekering. Kan het zijn dat de ComfoFan anders aangesloten moet worden?The_ Mad_Ping schreef op woensdag 10 augustus 2022 @ 10:47:
[...]
Adapter printje is gemaakt en je kan de Open Duco print gebruiken in je zehnder Comfo, Bevestiging van de print is iets minder optimaal dan bij een ducobox, Dubbelzeidige tape ipv schroeven.
@Carino heel gek, ik heb net offline met je mee zitten loeren en je lijkt alles correct te doen. Hoe moeilijk kan het zijn, zonder aangesloten motor krijgt je esp32 netjes prik en brandt je esp32 ledje. Je sluit de motor netjes aan en dat geeft somehow kortsluiting. Ik vrees dat @The_ Mad_Ping even z’n blik er over moet laten gaan. Ben wel heel benieuwd wat we over het hoofd zien.
oi!
Het heeft door allerlei omstandigheden (veel bestellingen & vakanties & werk) even geduurd, maar we zijn weer bij met alle bestellingen! Ik zal morgen de tijd nemen om alle openstaande vragen te beantwoorden
Bedankt voor al het geduld!
Het heeft door allerlei omstandigheden (veel bestellingen & vakanties & werk) even geduurd, maar we zijn weer bij met alle bestellingen! Ik zal morgen de tijd nemen om alle openstaande vragen te beantwoorden
Bedankt voor al het geduld!
Ik heb het inmiddels ook al via email gemeld, maar het lijkt alsof er meer aan de hand is met mijn bordje... Captive portal komt niet omhoog en er is 0,0 chatter over de seriële aansluiting.
Hier zijn we nog mee bezig, we willen voor het einde van het jaar nog de hardware afgerond hebben! Probleem waar we nu tegen aan lopen is dat de software niet heel vlotjes gaat. Mogelijk dat we hier later in het jaar jullie hulp voor nodig hebben! Ik wil de hardware sponsoren als mensen willen/kunnen helpen met het schrijven van de firmware ^^!Timshort87 schreef op vrijdag 6 juni 2025 @ 18:28:
Hallo,
Is er een update te geven over ondersteuning voor de DucoBox Energy Comfort WTW-unit?
Komt de ondersteuning er? Wij hebben momenteel alle plafonds open dus dit zou het perfecte moment zijn om het systeem te integreren.
Ik zou dit inderdaad gewoon fixen in je automation! (Ik gok dat je dit inmiddels ook al hebt gedaan). Hopelijk is alles gelukt.mrwiggs schreef op zondag 20 juli 2025 @ 16:10:
Ik combineer twee Ducobox aansluitingen naar 1 kanaal van 160 mm. is het mogelijk om 2 valves te "koppelen", zodat ze altijd hetzelfde doen? Ik moet dit gewoon zorgen dat ik ze altijd beide selecteer voor automatiseringen?
Nee, je moet echt een RH sensor hebben, ofwel in de doos , ofwel extern in de juiste plek in huis. Er is de disconnected mode die je kan configureren om iets te doen als er geen HA verbinding meer is. Ik adviseer hier wel een RH sensor voor!Erasmo schreef op vrijdag 8 augustus 2025 @ 08:30:
Ik heb een beetje lopen zoeken in het topic maar kon het antwoord niet echt vinden, als ik de open air in mijn Orcon 15RH hang en je niet actief stuurt dan gaat de Orcon nog steeds automatisch optoeren als hij zelf een verhoogde LV detecteerd?
Nee hier zijn we nog mee bezig! Waar we een Open AIR Valve pakken en deze in een externe behuizing schuiven, willen we voor de nieuwe externe kleppen iets schaalbaarders hebben. De "nieuwe" externe kleppen zal ook veel meer mogelijkheden voor voeden/IO hebben. Ik verwacht voor het einde van het jaar deze te kunnen releasen :)! We zoeken dan ook nog testers!manusjevanalles schreef op donderdag 14 augustus 2025 @ 17:52:
Ik worstel nog met het volgende: er loopt vanaf de begane grond een 160mm buis naar zolder. Op de begane grond vertakt deze naar de keuken, bijkeuken en wc. Op zolder sluit de badkamer via 125mm op deze buis aan, en het geheel is dan aangesloten op de ventilator (dus 1 buis). Vanaf de ventilator gaat het middels 125mm naar buiten. Ik wil de badkamer beter ventileren, maar een eigen ventilator past waarschijnlijk niet. Ik kan een klep zetten op de buis naar de begane grond, maar die is er alleen in 125mm. Dan zou ik de buis van de begane op zolder kunnen vernauwen naar 125mm, en er een klep op zetten. Zie ik daar iets over het hoofd? Enige wat ik kan bedenken waarom beneden 160mm is en de badkamer 125mm, is dat de begane meer geventileerd wordt omdat de weerstand over die buis minder is. En daar hebben we bij het douchen dus last van, omdat alle warmte uit de woonkamer wordt getrokken.
@The_ Mad_Ping of is er al zicht op de klep voor 160mm?
Dat klopt, we hebben de behuizing volledig herontworpen. Hierdoor zijn ze makkelijker te recyclen (zonder metalen inserts). Een bijkomend voordeel is dat ze ook eenvoudiger te assembleren zijn voor mensen die de DIY-versie kopen."jongbj schreef op zaterdag 16 augustus 2025 @ 18:26:
Ik heb 2 valves met sensoren en 1 zonder. Heb niets hoeven toevoegen en/of veranderen om alle gegevens in Home Assistant in te lezen. Eigenlijk werkte alles direct en met alle gegevens. Heb later wel de yaml gedownload om de esphome versie te kunnen updaten via de builder, maar ook dat werkte eigenlijk zonder aanpassingen. Zie trouwens wel dat de huidige versies een stuk gelikter zijn dan die ik heb.
We gaan dit weekend onze config op GITHUB updaten :)! Wat ik al wel zag is dat we wat problemen hadden met een van de sensoren en de laatste versie van ESPHOME. Ik zou misschien terughoudend zijn met updaten naar de laatste versie. Dit weekend meer!brewmark schreef op zondag 24 augustus 2025 @ 10:53:
Bij het updaten naar de nieuwere ESP home versies krijg ik onderstaande foutmelding. Kan ik dit zonder problemen toevoegen aan de config?
[Afbeelding]
Deze vraag is al vaker gesteld, maar Duco maakt gewoon heel nette ventilatieboxen. Ik zou die zonder twijfel verkiezen boven de concurrentie.tlpeter schreef op maandag 25 augustus 2025 @ 10:03:
Als je de unit nog moet kopen zou ik voor de Duco gaan. Daar is het toch mee begonnen
Er zijn wel wat Tweakers die met Homey werken, maar helaas heeft niemand van ons zelf een Homey-systeem. We kunnen je dus niet direct helpen met supportvragen. Misschien dat andere Tweakers je wel verder kunnen helpenchrisroijens schreef op woensdag 27 augustus 2025 @ 16:54:
Twee vraagjes, werkt dit met Homey? Anderzijds, ik heb verwarming die op lucht werkt waarvan de buizen door de kelder lopen. Deze hebben een draaiknop om ze open en dicht te doen. Is er een optie waarbij ik deze kan retrofitten met de open air valve zonder de externe behuizing? Ik heb namelijk net 3 verschillende buizen bij ons gemeten met elk een eigen diameter (31CM, 28CM en 22CM).
[Afbeelding]
Top! Ik ga kijken of we dit weekend kunnen migreren naar het valve-component. Ik moet dit eerst nog testen, maar we gaan zeker proberen het te integreren. Mocht iemand dit al gedaan hebben , hou ik mij aanbevolenTazzios schreef op donderdag 4 september 2025 @ 08:57:
In 2025.9 is er de tegel optie 'Valve open/close and position controls' bij gekomen, maar mijn openair valves worden herkend als numeriek of als 'bedekking'.
Dit is inderdaad een goede tip! We gaan de installatiehandleidingen updaten. Bij alle producten komt ook een QR-code met een link naar de laatste versie van de handleiding. Nog even voor de zekerheid: haal het witte deel niet van je sensor, anders gaat hij stuk!Odie schreef op donderdag 4 september 2025 @ 14:52:
Vandaag mijn setje binnen gehad, dank! Ik zat alleen even te staren naar de sensor, ik meende gezien te hebben dat het printje een klein “kopje” had dat je door het gleufje onder de print door kon steken (zoals de originele orcon sensor) maar de 4-in-1 sensor ziet er anders uit. Ik zie wel dat er een steunplaatje met een stuk tape op zit. Wat is de aanbevolen methode om hem in een orcon te monteren? Verder lijkt er op de sensor een witte sticker te zitten, moet die eraf voor ingebruikname of hoort ie zo (voor ik in het wilde weg dingen eraf piel).
Edit: ik zie na wat zoeken dat @The_ Mad_Ping dit vorig jaar al eens beschreven had!
Nee hoor, dit zijn goede vragen! Wij gebruiken zelf nog een oudere versie van ESPHome, waardoor we die keuze destijds niet hoefden te maken. Dit weekend gaan we de configs updaten zodat alles werkt met de laatste versie. Daarnaast zal ik in de softwaretemplates ook vermelden welke versie wij gebruiken. Dat kan in de toekomst helpen om verwarring te voorkomen.Odie schreef op donderdag 4 september 2025 @ 22:01:
[...]
Wat is hier nu aanbevolen? Ik zag in een wat oudere blog juist het Arduino platform gebruiken. In de GitHub van @The_ Mad_Ping staat heelmaal geen framework. (ik ben een redelijke noob met ESPHome, dus vergeef me als ik domme vragen stel).
Super, dan stel ik de aanpassingen bij mij nog even uit in afwachting hiervan!The_ Mad_Ping schreef op maandag 22 september 2025 @ 20:16:
[...]
Nee hier zijn we nog mee bezig! Waar we een Open AIR Valve pakken en deze in een externe behuizing schuiven, willen we voor de nieuwe externe kleppen iets schaalbaarders hebben. De "nieuwe" externe kleppen zal ook veel meer mogelijkheden voor voeden/IO hebben. Ik verwacht voor het einde van het jaar deze te kunnen releasen :)! We zoeken dan ook nog testers!
☀️ 6440 Wp zuid | 🌡️ Stiebel Eltron WPL 15 ACS, HM Trend | Home Assistant
Dat was bij mij gebeurd door de sensor housing. Het klepje was omlaag geschoven tijdens transport en door terugschuiven kwam het witte deel los. Heb het terug kunnen plakken maar nu is het hopen dat het gee invloed heeft.The_ Mad_Ping schreef op maandag 22 september 2025 @ 20:27:
[...]
haal het witte deel niet van je sensor, anders gaat hij stuk!
Dag @nairolf Bedankt voor je uitgebreide feedback!nairolf schreef op vrijdag 5 september 2025 @ 16:44:
De OpenAIR is op dinsdag binnengekomen, maar ik heb vandaag pas tijd gehad om hem in bedrijf te stellen. Bij deze mijn feedback:Alles bij elkaar een heel positieve ervaring, goed geregeld @The_ Mad_Ping en @thomasv! Nu nog 1 punt waar ik hulp bij kan gebruiken:
- Geen problemen met de levering, netjes in ESD zakjes, pluspunten daarvoor
- Installatie ging makkelijk door de installatie instructies op GitHub te volgen. Hierbij wel 2 opmerkingen:
- Het derde gat in het PCB (bij de main power supply) zit niet op de juiste locatie, waardoor ik hem maar met 2 schroeven vast kon zetten. Gezien de schroefgaten geen aardings-functie o.i.d. lijken te hebben is dat denk ik geen probleem. Het was alleen onhandig bij het controleren van de ingestoken kabels, omdat dan het PCB mee boog bij het trekken aan de kabels.
- Bij het invoeren van het SSID + ww van de beoogde WiFi kwam er daarna vrij weinig feedback, waardoor ik hem niet kon vinden in mijn router in de lijst van connected devices, omdat er blijkbaar iets mis was gegaan. Daarna nogmaals met de Fallback WiFi verbonden en invullen zorgde dat het wel werkte. Geen idee of er aan die feedback iets aan te verbeteren is. Zo niet, dan is het is slechts een observatie.
- Nadat HA hem herkende was het binnen no-time klaar en bruikbaar, alleen even zoeken naar de mogelijkheid om de PWM in te stellen. Op de webpagina van het device zelf was er mooi een slider te inden. Hierover kan wellicht een korte paragraaf toegevoegd worden op GitHub om te beschrijven dat dit een action is die bij een automation gebruikt kan worden, dus dat er geen automatisch beschikbare entity (lees: slider) is die bij verandering van waarde die action gebruikt. Duurde even voordat ik me dat realiseerde.
Nu wil ik graag wat gaan werken met de firmware, maar ik heb nog nooit gewerkt met ESPHome. Ik heb slechts 1 ESP device tot nu toe wat "fabriek-af" (ook bij iemand uit de garage vandaan waarschijnlijk) goede firmware had, dus nooit mee gewerkt. Echter, als ik de ESPHome Device Builder open dan herkent hij maar 1 device, en dat is die andere, niet de OpenAIR Mini. Kan iemand me vertellen wat ik verkeerd doe? Had ik misschien niet de pre-programmed versie moeten kopen? Zo ja, wat moet ik doen om hem alsnog te kunnen bewerken met eigen ESPHome-firmware?
Edit: Nog een kleine opmerking: De installatie guide mag best beschrijven dat een eventuele sensor (zoals bij mij) best meteen geplaatst kan worden. Gelukkig heb ik met mijn eigenwijze kop dat wel meteen gedaan. Anders had ik na de volledige installatie nogmaals achter het knieschot mogen kruipen alleen om de sensor te plaatsen.. Dat scheelt toch weer wat gedoe
Het derde gat is niet voor de Ducobox, maar voor de Orcon-box. Omdat we hiervoor dezelfde formfactor gebruiken, zit daar een extra gat. Dit heb je dus niet nodig tijdens de installatie in je Ducobox. In een eerdere versie zat hier wel een schroefgat, maar in de laatste versie hebben we die ruimte gebruikt om een waarschuwing voor hoge spanning te plaatsen. In principe zit de print stevig genoeg met de andere twee schroefgaten.
WiFi: Dit blijft inderdaad soms een issue. Het succes verschilt per gebruiker en lijkt vaak afhankelijk van de telefoon die wordt gebruikt voor de registratie. Helaas hebben wij hier weinig invloed (en kennis) op, omdat we de standaardoptie gebruiken die ESPHome biedt.
Overigens hebben we nog niemand gehad bij wie het echt niet lukte! Zolang de verbinding niet tot stand komt, zal de fallback-hotspot na 3 minuten altijd weer terugkomen.
We gaan kijken of we dit adopten wat makkelijker kunnen maken door de YAML aan te passen. Dit vergt wel wat testen, hier gaan we in de komende periode mee aan de slag!
Sensoren: Goede opmerking! Deze hadden we eigenlijk buiten beschouwing gelaten in de installatiehandleiding. We gaan ze er voortaan in opnemen.
Hey @djuro499 De Silent en de Reno zijn twee verschillende producten van Duco.djuro499 schreef op zaterdag 6 september 2025 @ 11:33:
[...]
Zou je kunnen uitleggen hoe de Open AIR mini precies werkt i.c.m. een perilex schakelaar? Werkt de override van beide kanten en kan je b.v. de schakelaar gebruiken als de wifi of HA uitvalt?
Ik kan nog niks vinden over Reno variant van Open AIR mini, kan je uitleggen wat de verschillen zijn (vooral het ethernet port)?
Ik heb namelijk een oude Storkair met een perilex schakelaar die ik wil vervangen door een Duco box + Open AIR mini + Open AIR valve's.
Ik zit te kijken naar Silent/Reno met perilex (bv. the last resort of als ik ga verhuizen) of naar de gewone randaarde variant als er geen toegevoegde waarde is.
Nog een punt, ik probeer zo veel mogelijk ethernet te gebruiken, maar met de valve's ben ik sowieso afhankelijk van de wifi.
Alvast bedankt!
De Silent is , als je het mij vraagt ,meer premium (dus ook wat duurder). Hij biedt extra opties, zoals kleppen en foam-inserts om het systeem stiller te maken. De Reno heeft deze opties niet.
Voor de Silent gebruiken wij de Open AIR Mini. Deze heeft geen ethernet, maar wél ruimte voor twee sensoren en de optie om later kleppen toe te voegen. Als je de ruimte hebt, geen bezwaar hebt tegen wifi, het prijsverschil kunt betalen én meerdere aansluitingen wilt gebruiken, dan zou ik altijd voor de Silent kiezen.
De Reno is wat kleiner en goedkoper. De Open AIR-variant hiervan heeft wél ethernet als toevoeging, maar je moet kiezen tussen ethernet óf wifi. Beide tegelijk kan niet, en wil je wisselen, dan moet je herprogrammeren. De Reno heeft daarnaast een geïntegreerde RH-sensor. Houd er wel rekening mee dat deze beïnvloed wordt door de temperatuur van de print zelf, wat afwijkingen kan geven in je metingen en dus in je automations.
Een voordeel van de Reno is dat hij de stand van de driestandenschakelaar/Perilex-stekker kan uitlezen. Je moet dan nog wel zelf een automation maken om de ventilator sneller of langzamer te laten draaien.
Dit is inderdaad iets wat we willen gaan doen: volledig open-source en 3D-printbaar. Wat ik alvast kan verklappen, is dat er contact is met EBM en dat we een mogelijke selectie van ventilatoren hebben :D! Dit proces gaat nog wel even duren (zeker met alles waar we verder mee bezig zijn :’)). Maar hé, niet te veel ideeën verklappen hier hè!Odie schreef op zaterdag 6 september 2025 @ 15:41:
@thomasv je zou haast de hele MV box opensource gaan produceren. De controller heb je al, de rest is een standaard motor en veel plastic en schuim 😌
@Odie Super vet :D! Thanks voor het delenOdie schreef op dinsdag 9 september 2025 @ 16:52:
Ik ben eens flink aan het klussen gegaan met mijn nieuwe OpenAir Mini in mijn Orcon, samen met het setje van 4 sensoren.
Mijn uitgangspunten:Verder wilde ik: als een sensor verhoogde ventilatie triggert dan moet een daling niet direct ervoor zorgen dat de ventilatie stopt maar een configurable hold timer gaan tellen, bij mij 5 minuten. In die hold gaat de ventilatie wel iets achter draaien. Ik doe dit omdat ik merk dat het aanzuigen van meer lucht (alles komt bij mij via 1 pijp op zolder) direct een verlaging van vocht, co2 of voc veroorzaakt, die weer oploopt als ik te vroeg stop met extra ventileren.
- Ik wil dat de Orcon zelfs zonder HA en HomeKit (mijn primaire interface) sensorgestuurd kan draaien
- Ik wil naast een auto-mode ook een off-mode en manual-3-standen modus hebben, waarin sensordata niet meer leidend is
- Ik wil de manual mode zowel vanuit HA als HK kunnen aansturen
- Ik wil dat ik eventueel nog automatiseringen in HA of HK kan maken op basis van weetikveel, maar daarmee dus de logica op het ESP bordje buiten spel kan zetten
- De handmatige bediening in HomeKit is nodig omdat ik daar twee 4 remotes in keuken en badkamer gebruik, als ik weet dat ik fors ga koken of k*kken dan wil ik meteen naar standje 'paniek' kunnen met een druk op de knop
- Ik wil een configureerbare day/night stand voor auto mode, waarbij naar keuze de high en auto speed in de nacht anders (lager) gezet kunnen worden ivm geluid van de installatie.
Disclaimer: ik ben beginner met ESPHome, ESP32, YAML en ik ben al helemaal geen c++ developer, onderstaande code heb ik grotendeels met Claude eruit geperst (en gevalideerd met andere models en roestige oude matige dev skills van lang geleden).
Voor mij werkt dit nu en ben ik best tevreden, maar: er is nu heel veel functionaliteit in de c++ Lambda gekomen, wat natuurlijk een beetje voorbij gaat aan het ESPhome concept. Pak ik het te complex aan?
Opmerkingen, correcties, aanvullingen en alles wat er tussen zit meer dan welkom.
Edit: bugfixes, code optimalisatie en commentaren gefikst
Edit2: Nu met een configureerbare day/night mode waarin naar wens de auto high speed en hold speed gedurende de dag en nacht anders gezet kunnen worden. Omdat mijn Orcon boven de 50% redelijk hoorbaar is in een stil huis vind ik dat gedurende de nacht minder acceptabel.
Edit3: meer bugfixes, er stond oude foute code op de sensors in de on_value.
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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 esphome: name: orcon friendly_name: Orcon on_boot: then: - delay: 15s # After reboot >> Auto mode - select.set: id: ventilation_manual_control option: "AUTO" - script.execute: evaluate_air_quality esp32: board: esp32dev framework: type: esp-idf logger: level: DEBUG wifi: ssid: !secret wifi_ssid password: !secret wifi_password ap: ssid: "Orcon_Fallback" password: !secret wifi_password api: encryption: key: !secret api_encryption_key ota: - platform: esphome password: !secret ota_password captive_portal: time: - platform: homeassistant id: homeassistant_time substitutions: # Night mode configuration night_mode_start: 22 # hour in 24h format, start of night night_mode_end: 7 # hour in 24h format, end of night # Thresholds for sensors voc_threshold: "200" co2_threshold: "800" humidity_threshold: "60" nox_threshold: "5" # Fan speeds in auto mode fan_speed_high_day: "40" # Fan speed when triggered by sensor thresholds during day window fan_speed_high_night: "30" #Fan speed when triggered by sensor thresholds during night window fan_speed_hold_day: "35" # Fanspeed when in Hold mode during day window fan_speed_hold_night: "25" # Fanspeed when in Hold mode during day window fan_speed_low: "15" # Default idle speed # Fan speeds in manual mode manual_idle: "15" manual_low: "35" manual_medium: "55" manual_high: "85" # Timing (seconds) hold_time_seconds: "300" # hold duration after high state cooldown_seconds: "30" # min seconds between evaluations # Global vars for auto mode globals: - id: fan_hold_until type: time_t initial_value: '0' - id: last_evaluation_time type: time_t initial_value: '0' - id: current_target_speed type: int initial_value: '15' - id: auto_mode_active type: bool initial_value: 'true' # Select function for manual control in Home Assistant and HomeKit (exported via HomeBridge) select: - platform: template name: "Manual Control" id: ventilation_manual_control optimistic: true options: - "UIT" - "AUTO" - "RUST" - "LAAG" - "MEDIUM" - "HOOG" initial_option: "RUST" icon: "mdi:fan" on_value: - logger.log: format: "Manual control changed to: %s" args: ['x.c_str()'] level: INFO - script.execute: evaluate_air_quality status_led: pin: number: GPIO33 # From V1.4.0 The Sensor pins on the Open AIR Mini are swapped. Correct example is below: uart: #UART For Sensor 2 - rx_pin: GPIO13 tx_pin: GPIO12 baud_rate: 9600 id: uart_sensor_2 #UART For Sensor 1 - rx_pin: GPIO25 tx_pin: GPIO26 baud_rate: 9600 id: uart_sensor_1 i2c: #I2C For Sensor 2 - id: i2c_sensor_2 sda: GPIO19 scl: GPIO18 scan: false frequency: 400kHz #I2C For Sensor 1 - id: i2c_sensor_1 sda: GPIO16 scl: GPIO4 scan: false frequency: 400kHz script: - id: evaluate_air_quality mode: single then: - lambda: |- auto now = id(homeassistant_time).now(); auto ts = now.timestamp; std::string current_mode = id(ventilation_manual_control).state; ESP_LOGD("air_quality", "Evaluation start: VOC=%.0f CO2=%.0f RH=%.0f NOx=%.0f", id(sgp4x_voc_index).state, id(scd4x_co2).state, id(sht4x_air_humidity).state, id(sgp4x_nox_index).state); // === DAY/NIGHT PROFILE === int current_hour = now.hour; bool is_night; if (${night_mode_start} < ${night_mode_end}) { is_night = (current_hour >= ${night_mode_start} && current_hour < ${night_mode_end}); } else { // night passes midnight (e.g. 22 -> 07) is_night = (current_hour >= ${night_mode_start} || current_hour < ${night_mode_end}); } int high_speed = is_night ? ${fan_speed_high_night} : ${fan_speed_high_day}; int hold_speed = is_night ? ${fan_speed_hold_night} : ${fan_speed_hold_day}; ESP_LOGI("air_quality", "Profile active: %s (high=%d%%, hold=%d%%)", is_night ? "NIGHT" : "DAY", high_speed, hold_speed); // === MANUAL MODES === if (!id(auto_mode_active)) { int manual_speed = 0; if (current_mode == "UIT") manual_speed = 0; else if (current_mode == "RUST") manual_speed = ${manual_idle}; else if (current_mode == "LAAG") manual_speed = ${manual_low}; else if (current_mode == "MEDIUM") manual_speed = ${manual_medium}; else if (current_mode == "HOOG") manual_speed = ${manual_high}; if (id(current_target_speed) != manual_speed || (manual_speed == 0 && id(fan_motor).state) || (manual_speed > 0 && !id(fan_motor).state)) { ESP_LOGI("manual_control", "Manual mode '%s' - setting fan to %d%%", current_mode.c_str(), manual_speed); if (manual_speed == 0) { auto call = id(fan_motor).make_call(); call.set_state(false); call.perform(); } else { auto call = id(fan_motor).turn_on(); call.set_speed(manual_speed); call.perform(); } id(current_target_speed) = manual_speed; } return; } // === AUTO MODE === ESP_LOGD("air_quality", "AUTO mode active"); // Reset only if current target is not one of the valid AUTO values if (id(current_target_speed) != ${fan_speed_low} && id(current_target_speed) != high_speed && id(current_target_speed) != hold_speed) { ESP_LOGI("air_quality", "Switch to AUTO - fan to %d%% (clean start)", ${fan_speed_low}); auto call = id(fan_motor).turn_on(); call.set_speed(${fan_speed_low}); call.perform(); id(current_target_speed) = ${fan_speed_low}; id(fan_hold_until) = 0; // reset any old hold timer } // cooldown check if (ts - id(last_evaluation_time) < ${cooldown_seconds}) { ESP_LOGV("air_quality", "Cooldown active, evaluation skipped"); return; } id(last_evaluation_time) = ts; // read sensor values float voc = id(sgp4x_voc_index).state; float co2 = id(scd4x_co2).state; float humidity = id(sht4x_air_humidity).state; float nox = id(sgp4x_nox_index).state; if (isnan(voc) || isnan(co2) || isnan(humidity) || isnan(nox)) { ESP_LOGW("air_quality", "One or more sensors have invalid values"); return; } // threshold check bool voc_high = (voc > ${voc_threshold}); bool co2_high = (co2 > ${co2_threshold}); bool humidity_high = (humidity > ${humidity_threshold}); bool nox_high = (nox > ${nox_threshold}); bool any_high = voc_high || co2_high || humidity_high || nox_high; ESP_LOGD("air_quality", "Thresholds: VOC %s (%.0f>%s) CO2 %s (%.0f>%s) RH %s (%.0f>%s) NOx %s (%.0f>%s)", voc_high ? "HIGH" : "ok", voc, "${voc_threshold}", co2_high ? "HIGH" : "ok", co2, "${co2_threshold}", humidity_high ? "HIGH" : "ok", humidity, "${humidity_threshold}", nox_high ? "HIGH" : "ok", nox, "${nox_threshold}"); int current_speed = id(current_target_speed); if (any_high) { if (current_speed != high_speed) { std::string high_sensors = ""; if (voc_high) high_sensors += "VOC(" + to_string((int)voc) + ") "; if (co2_high) high_sensors += "CO2(" + to_string((int)co2) + ") "; if (humidity_high) high_sensors += "RH(" + to_string((int)humidity) + "%) "; if (nox_high) high_sensors += "NOx(" + to_string((int)nox) + ") "; ESP_LOGI("air_quality", "Sensors too high: %s - fan to %d%%", high_sensors.c_str(), high_speed); auto call = id(fan_motor).turn_on(); call.set_speed(high_speed); call.perform(); id(current_target_speed) = high_speed; id(fan_hold_until) = 0; } } else { if (current_speed == high_speed) { ESP_LOGI("air_quality", "Sensors normal - start %d min hold at %d%%", ${hold_time_seconds}/60, hold_speed); auto call = id(fan_motor).turn_on(); call.set_speed(hold_speed); call.perform(); id(current_target_speed) = hold_speed; id(fan_hold_until) = ts + ${hold_time_seconds}; } else if (current_speed == hold_speed) { if (ts >= id(fan_hold_until)) { ESP_LOGI("air_quality", "Hold done - fan to %d%%", ${fan_speed_low}); auto call = id(fan_motor).turn_on(); call.set_speed(${fan_speed_low}); call.perform(); id(current_target_speed) = ${fan_speed_low}; } else { long time_left = id(fan_hold_until) - ts; ESP_LOGD("air_quality", "Hold active - %ld sec left", time_left); } } } sensor: - platform: pulse_counter #reports the fan tacho pin: GPIO14 unit_of_measurement: "rpm" name: 'Fan Tacho' id: orcon_rpm update_interval: 5s - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB name: "WiFi Signal dB" id: wifi_signal_db update_interval: 30s entity_category: "diagnostic" device_class: "signal_strength" - platform: copy # Reports the WiFi signal strength in % source_id: wifi_signal_db name: "WiFi Signal Percent" filters: - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0); unit_of_measurement: "%" entity_category: "diagnostic" device_class: "signal_strength" - platform: sht4x i2c_id: i2c_sensor_1 # check for need of co2 heater, these are conservative values #heater_max_duty: 0.01 #heater_power: Low #heater_time: Short update_interval: 30s temperature: name: "SHT4x Temperature" id: sht4x_air_temperature accuracy_decimals: 2 state_class: measurement device_class: temperature # No delta filters and on_value trigger, sensor not part of automation humidity: name: "SHT4x Humidity" id: sht4x_air_humidity accuracy_decimals: 2 state_class: measurement device_class: humidity # Trigger central evaluation at new value that is >2% filters: - delta: 2% on_value: - script.execute: id: evaluate_air_quality - platform: sgp4x i2c_id: i2c_sensor_1 update_interval: 30s compensation: temperature_source: sht4x_air_temperature humidity_source: sht4x_air_humidity voc: name: "SGP4x VOC Index" id: sgp4x_voc_index state_class: measurement device_class: volatile_organic_compounds # Trigger central evaluation at new value that is >5% filters: - delta: 5% on_value: - script.execute: id: evaluate_air_quality nox: name: "SGP4x NOx Index" id: sgp4x_nox_index state_class: measurement device_class: nitrous_oxide # Trigger central evaluation at new value that is >2% filters: - delta: 2% on_value: - script.execute: id: evaluate_air_quality - platform: scd4x i2c_id: i2c_sensor_1 update_interval: 30s co2: name: "SCD4x CO2" id: scd4x_co2 state_class: measurement device_class: carbon_dioxide # Trigger central evaluation at new value that is >25ppm filters: - delta: 25 on_value: - script.execute: id: evaluate_air_quality temperature: name: "SCD4x Temperature" id: scd4x_temperature accuracy_decimals: 2 state_class: measurement device_class: temperature # No delta filters and on_value trigger, sensor not part of automation humidity: name: "SCD4x Humidity" id: scd4x_humidity accuracy_decimals: 2 state_class: measurement device_class: humidity # No delta filters and on_value trigger, sensor not part of automation output: - id: orcon_fan platform: ledc pin: GPIO15 inverted: true # Slow rise of values -due to delta- may cause no triggering of evaluation, so running every 2 minutes regardless interval: - interval: 2min then: - script.execute: id: evaluate_air_quality trigger_source: "watchdog" fan: - id: fan_motor name: "Fan" platform: speed output: orcon_fan
Nope, hij zit goed! Er zaten daar ooit twee gaten: het buitenste gat is voor de Orcon-box. Het andere hebben we verwijderd om ruimte te maken voor een waarschuwingstekst, zodat mensen niet met hun vingers aan de 230V zouden komenmrwiggs schreef op donderdag 11 september 2025 @ 14:44:
Kan het kloppen dat dit schroefgaatje op de verkeerde plek zit?
[Afbeelding]
Dit is inderdaad ook wat wij zouden adviseren: weg met Perilex! (Al ondersteunen we dit nog wel voor de Reno, en mogelijk straks ook voor de silent.)Caelorum schreef op donderdag 11 september 2025 @ 15:04:
In het geval van perilex komt ook nog bij dat de indeling van de stekkerdoos anders is per merk. Even een Duco perilex box aansluiten op een doos waar voorheen een Orcon zat gaat dus niet werken. Zal je eerst de stekkerdoos open moeten maken en twee of drie draadjes anders moeten lussen.
Perilex zelf heeft namelijk wel een standaard, maar dat is voor vermogen aanleveren in de keuken aan een kookplaat bijv. Voor ventilatieboxen wordt het gebruikt als handige interface voor regeling met een driestandenschakelaar en dan gaan blijkbaar alle standaarden overboord.
En als je het dan toch al open moet maken, waarom niet gewoon meteen die doos vervangen voor een reguliere stekkerdoos en de driestandenschakelaar van de muur halen en op die plek een draadloos bedieningspaneel plaatsen? Heb ik hier in ieder geval wel gedaan en nog geen moment spijt van gehad.
Bedankt voor je uitgebreide review :D! De Open AIR Sense Pro is voor ons ook wel een beetje het paradepaardje van het afgelopen jaar. We hebben er veel tijd, prototypes, liefde en validatie in gestoken. Van de behuizing heb ik zo’n 4 à 5 varianten gemaakt en van de PCB’s ongeveer evenveel. Het heeft even geduurd voordat we hem zelf goed genoeg vonden.MattMax schreef op vrijdag 12 september 2025 @ 16:53:
Een aantal maanden terug heb ik een OpenAIR Sense Pro besteld. Ik gebruikte al een OpenAIR mini met twee OpenAIR valves voor de aansturing van de mechanische ventilatie. Op verzoek van @The_ Mad_Ping heb ik een review geschreven over mijn eigen ervaringen met de Sense Pro, in combinatie met de OpenAIR mini en de twee kleppen. Om het ook relevant te maken voor mensen die niet op dit forum komen, maar de Sense Pro zien op het Tindie platform, heb ik de review in het Engels geschreven. Het is een aardig verhaal geworden, maar de TL/DR is dat ik super tevreden ben en dat de huidige setup 10x beter is dan hoe ons huis werd opgeleverd (proprietary CO2 sensor, draadloos verbonden met ventilatie, drempelwaardes niet in te stellen, etc.).
My hands-on with the Open AIR Sense Pro
Short version: This thing is a little powerhouse of an air monitor. It’s ESP32-based, crammed with very accurate sensors, and wrapped in a clean 3D-printed shell. It looks good on a shelf, and it plays super nicely with Home Assistant.
Unboxing and build
[Afbeelding]
The 3D-printed housing feels sturdy and purposeful, not some flimsy prototype. The fit is tight, screw points line up well, and there’s enough airflow through the design that the sensors aren’t suffocated. You will need a small allen key to disassemble the housing.
Pop the lid and it’s tidy inside!
Housing removed
[Afbeelding]
Overview of PCB
[Afbeelding]
Sensors
[Afbeelding]
Espressif ESP32 board
[Afbeelding]
You can clearly see the ESP32 at the heart of it and a well-laid-out PCB. Sensor placement looks deliberate (good for airflow and heat isolation), and the cable routing is neat. Exactly what I would expect from a “Pro” unit. Finally there are leds at the bottom which can be set to a specific color.
Sensors
You have a couple of options when it comes to the sensors that will be installed. All of them are from Senserion with high accuracy.I'm using the Sense Pro with all of the listed sensors, so please keep in mind that you only have access to certain metrics if the required sensors are present in your device. More information about all options can be found on Tindie.
- Temperature and humidity
- Additionally: CO2
- Additionally: VOC and NOx
- Additionally: SPS30 particle sensor
Home Assistant integration
Adding it to Home Assistant is painless with ESPHome auto-discovery, and you immediately get a bunch of useful entities. I'm primarily using the CO2 and VOC metrics to monitor air quality. I've built some simple automations to use the controllable light entity that’s perfect for ambient feedback.
OpenAIR Sense Pro entities
[Afbeelding]
OpenAIR light toggle
[Afbeelding]
Automation example
[Afbeelding]
I love using the device’s light as a subtle air quality indicator. In the example it's based on VOC, but you can of course combine several metrics. Green when air is fresh, orange when it’s getting stale, red when it’s time to take action.
Here’s the exact automation I’m running, using the VOC index sensor from the OpenAIR Sense Pro and driving its light accordingly:
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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 alias: "Climate: Air quality (VOC) ground floor" description: "" triggers: - trigger: numeric_state entity_id: - sensor.open_air_sense_pro_5328e0_voc_index below: 150 id: voc_green - trigger: numeric_state entity_id: - sensor.open_air_sense_pro_5328e0_voc_index above: 150 below: 350 id: voc_orange - trigger: numeric_state entity_id: - sensor.open_air_sense_pro_5328e0_voc_index above: 350 id: voc_red - trigger: time at: "23:00:00" id: night_mode conditions: [] actions: - choose: - conditions: - condition: trigger id: - voc_green - condition: time before: "23:00:00" after: "07:00:00" sequence: - action: light.turn_on metadata: {} data: rgb_color: - 40 - 148 - 25 brightness_pct: 50 target: device_id: cc9911744abac6684f3ea1a363b6098a - conditions: - condition: time before: "23:00:00" after: "07:00:00" - condition: trigger id: - voc_orange sequence: - action: light.turn_on metadata: {} data: rgb_color: - 242 - 157 - 38 brightness_pct: 50 target: device_id: cc9911744abac6684f3ea1a363b6098a - conditions: - condition: trigger id: - voc_red - condition: time before: "23:00:00" after: "07:00:00" sequence: - action: light.turn_on metadata: {} data: rgb_color: - 213 - 20 - 7 brightness_pct: 100 target: device_id: cc9911744abac6684f3ea1a363b6098a - conditions: - condition: trigger id: - night_mode sequence: - action: light.turn_off metadata: {} data: {} target: device_id: cc9911744abac6684f3ea1a363b6098a mode: single
Combining the Sense Pro with other OpenAIR devices
My setup is a combination of the Sense Pro for monitoring CO2, VOC and NOx, the OpenAIR mini to control mechanical ventilation and two OpenAIR valves to open or close valves. The valves are optional, but help with conserving energy. E.g. when somebody is taking a shower (first floor), an automation will set the ventilation to max speed and will set the valve that is connected to the ground floor to only 20% open. That helps to preserve the heat downstairs, while quickly bringing the humidity down in the bathroom. The overall goal is to make this as "set-and-forget" as possible. The air quality should be healthy, energy should be conserved (maintaining the air quality) and all of that needs to happen without manual intervention. I've written a couple of automations with some helpers in Home Assistant to make that happen.
Day-to-day impressions
- The Sense Pro readings are stable and react quickly to cooking, aerosols, or a closed room.
- The ambient light feedback is surprisingly useful; And you can also decide to let it respond to other triggers.
- 3D-printed shell looks “maker-y” in a good way. Clean lines, not rough. Of course you can also make your own case, just keep in mind the device needs some airflow, so don't put it in a sealed box.
Verdict:
This is a high-accuracy air quality monitor that plugs straight into Home Assistant and gives you the option to run practical automations out of the box. I'm very happy with the OpenAIR Sense Pro and would definitely recommend it. Solid build, thoughtful internals, and a great HA experience.
Oei, dat is absoluut niet de bedoeling! Mocht dit onderdeel stuk gaan of je er geen goed gevoel bij hebben, laat het ons even weten. Dan vervangen we het gewoon onder garantie!Carino schreef op maandag 22 september 2025 @ 20:32:
[...]
Dat was bij mij gebeurd door de sensor housing. Het klepje was omlaag geschoven tijdens transport en door terugschuiven kwam het witte deel los. Heb het terug kunnen plakken maar nu is het hopen dat het gee invloed heeft.
Oei 2 ! Mogelijk een gesprongen zekering? Volgens mij gaf je in een latere post aan dat je ook had gemaild. We sturen je een nieuw boardje toe en handelen dit verder via de mail af. Komt goed :D!Carino schreef op maandag 22 september 2025 @ 08:27:
Ik heb het inmiddels ook al via email gemeld, maar het lijkt alsof er meer aan de hand is met mijn bordje... Captive portal komt niet omhoog en er is 0,0 chatter over de seriële aansluiting.
Oke mand!
Zonder gekheid: volgens mij heb ik mijn inhaalslag gemaakt. Mocht je het gevoel hebben dat ik je vraag nog niet voldoende heb beantwoord, of dat ik je per ongeluk heb overgeslagen, roep gerust nog een keer!
Nog een kleine mededeling: we gaan onze eigen webshop openen! Niet omdat we Tindie stom vinden, maar omdat we minder afhankelijk willen zijn van o.a. Amerikaanse betaalmogelijkheden (zoals alleen PayPal) en überhaupt van het platform van iemand anders. De politieke grilligheid heeft ons ook wel een beetje de ogen geopend. Waar we eerst alles per se open-source wilden doen (zelfs de webshop), hebben we nu een iets pragmatischer optie gekozen: we werken momenteel aan een Shopify-site.
We zijn nog druk bezig de puntjes op de i te zetten. Aangezien we geen websitebouwers zijn, is jullie feedback/hulp super welkom! Mocht je toevallig een turboheld zijn in Shopify en feedback hebben, dan kunnen we mogelijk iets regelen.
Door de rampzalige dollarkoers moeten we de prijzen op Tindie helaas verhogen. Op dat platform betalen we bijna 10% fee aan Tindie en merken we ook nog eens dat de dollar 15% minder waard is geworden. Ons nieuwe platform zal uitsluitend in euro’s werken, en we moedigen iedereen aan lekker met iDEAL te betalen.
Een bijkomend voordeel: de Reno wordt in onze eigen webshop 10 euro goedkoper (die optie hadden we niet op Tindie). Heb je een Reno-variant via Tindie gekocht? Dan kun je een refund van 10 euro krijgen door mij even een PM te sturen.
Om jullie verder tegemoet te komen, komt er bij de opening van de site een kortingscode van 10%! Let op: wie de afgelopen weken op Tindie heeft besteld, heeft dit voordeel feitelijk al gehad door de gunstige dollarkoers.
We verwachten dat de website over twee weken live gaat met nieuwe voorraad. Tindie zullen we nog wel blijven ondersteunen, maar alle nieuwe producten zullen uitsluitend via onze eigen webshop beschikbaar zijn!
Zonder gekheid: volgens mij heb ik mijn inhaalslag gemaakt. Mocht je het gevoel hebben dat ik je vraag nog niet voldoende heb beantwoord, of dat ik je per ongeluk heb overgeslagen, roep gerust nog een keer!
Nog een kleine mededeling: we gaan onze eigen webshop openen! Niet omdat we Tindie stom vinden, maar omdat we minder afhankelijk willen zijn van o.a. Amerikaanse betaalmogelijkheden (zoals alleen PayPal) en überhaupt van het platform van iemand anders. De politieke grilligheid heeft ons ook wel een beetje de ogen geopend. Waar we eerst alles per se open-source wilden doen (zelfs de webshop), hebben we nu een iets pragmatischer optie gekozen: we werken momenteel aan een Shopify-site.
We zijn nog druk bezig de puntjes op de i te zetten. Aangezien we geen websitebouwers zijn, is jullie feedback/hulp super welkom! Mocht je toevallig een turboheld zijn in Shopify en feedback hebben, dan kunnen we mogelijk iets regelen.
Door de rampzalige dollarkoers moeten we de prijzen op Tindie helaas verhogen. Op dat platform betalen we bijna 10% fee aan Tindie en merken we ook nog eens dat de dollar 15% minder waard is geworden. Ons nieuwe platform zal uitsluitend in euro’s werken, en we moedigen iedereen aan lekker met iDEAL te betalen.
Een bijkomend voordeel: de Reno wordt in onze eigen webshop 10 euro goedkoper (die optie hadden we niet op Tindie). Heb je een Reno-variant via Tindie gekocht? Dan kun je een refund van 10 euro krijgen door mij even een PM te sturen.
Om jullie verder tegemoet te komen, komt er bij de opening van de site een kortingscode van 10%! Let op: wie de afgelopen weken op Tindie heeft besteld, heeft dit voordeel feitelijk al gehad door de gunstige dollarkoers.
We verwachten dat de website over twee weken live gaat met nieuwe voorraad. Tindie zullen we nog wel blijven ondersteunen, maar alle nieuwe producten zullen uitsluitend via onze eigen webshop beschikbaar zijn!
Bedankt dat je overal nog op gereageerd hebt! Erg netjes! Leuk dat jullie zo druk bezig zijn met allerlei nieuwe dingen!The_ Mad_Ping schreef op maandag 22 september 2025 @ 20:40:
[...]
Dag @nairolf Bedankt voor je uitgebreide feedback!
Het derde gat is niet voor de Ducobox, maar voor de Orcon-box. Omdat we hiervoor dezelfde formfactor gebruiken, zit daar een extra gat. Dit heb je dus niet nodig tijdens de installatie in je Ducobox. In een eerdere versie zat hier wel een schroefgat, maar in de laatste versie hebben we die ruimte gebruikt om een waarschuwing voor hoge spanning te plaatsen. In principe zit de print stevig genoeg met de andere twee schroefgaten.
WiFi: Dit blijft inderdaad soms een issue. Het succes verschilt per gebruiker en lijkt vaak afhankelijk van de telefoon die wordt gebruikt voor de registratie. Helaas hebben wij hier weinig invloed (en kennis) op, omdat we de standaardoptie gebruiken die ESPHome biedt.
Overigens hebben we nog niemand gehad bij wie het echt niet lukte! Zolang de verbinding niet tot stand komt, zal de fallback-hotspot na 3 minuten altijd weer terugkomen.
We gaan kijken of we dit adopten wat makkelijker kunnen maken door de YAML aan te passen. Dit vergt wel wat testen, hier gaan we in de komende periode mee aan de slag!
Sensoren: Goede opmerking! Deze hadden we eigenlijk buiten beschouwing gelaten in de installatiehandleiding. We gaan ze er voortaan in opnemen.
Gat: duidelijk, wel verwarrend dat op oude foto op GitHub het gat anders zit. Kleine update van foto en text zou denk ik helpen
Adopten: Heb je hier nog tips voor hoe ik dit wel werkend kan krijgen? Anders ga ik eens in het ESPHome topic hulp vragen. Ik wil namelijk erg graag eigen firmware schrijven. Ik hou van HA, maar ik vind standalone operatie erg belangrijk. (En ik ben na inlezen ook binnen no time fanboy geworden, net als @Odie )
@nairolf ik heb inmiddels nog twee esphome devices in huis die ik van scratch heb ingericht. Een gebruik ik voor m’n airco en een smart plug van IoTorero. Die laatste kwam met een firmware en kwam netjes in m’n builder adoptable.
Maar ook zonder adopten kan je gewoon een eigen image gaan maken, desnoods (als je een usb-stick to serial converter hebt) flash je even een verse kale image via de ESPhome webinstaller, je moet de Open Air mini dan wel effe met de prog en reset knop open zetten.
Maar ik vermoed dat als je een YAML aanmaakt met de juiste hostname en ota keys dat de builder je eigen build er ook via ota op wil knallen, dat de originele image niet van jou is zou niet moeten uitmaken.
En er kunnen nooit genoeg fanboys en girls zijn haha. Ik heb nog wat kleine tweaks aangebracht hier maar de OpenAir draait hier echt vrijwel zoals ik wil.
@The_ Mad_Ping is er een reden dat je geen usb poort op de Mini hebt opgenomen of was het puur prijstechnisch? Dat zou hem weer net iets toegankelijker maken voor een aantal mensen denk ik.
Maar ook zonder adopten kan je gewoon een eigen image gaan maken, desnoods (als je een usb-stick to serial converter hebt) flash je even een verse kale image via de ESPhome webinstaller, je moet de Open Air mini dan wel effe met de prog en reset knop open zetten.
Maar ik vermoed dat als je een YAML aanmaakt met de juiste hostname en ota keys dat de builder je eigen build er ook via ota op wil knallen, dat de originele image niet van jou is zou niet moeten uitmaken.
En er kunnen nooit genoeg fanboys en girls zijn haha. Ik heb nog wat kleine tweaks aangebracht hier maar de OpenAir draait hier echt vrijwel zoals ik wil.
@The_ Mad_Ping is er een reden dat je geen usb poort op de Mini hebt opgenomen of was het puur prijstechnisch? Dat zou hem weer net iets toegankelijker maken voor een aantal mensen denk ik.
[ Voor 21% gewijzigd door Odie op 22-09-2025 22:33 ]
Hey @Odie De meeste mensen adopten via Wi-Fi en zullen dus nooit een USB poort nodig hebben. Voor een werkende USB poort moet naast de poort, een UART -> USB Bridge aanwezig zijn. Aangezien deze 99.9999999% van de tijd als het goed is ongebruikt blijft vond ik het zonde om dit op alle boardjes te zetten.Odie schreef op maandag 22 september 2025 @ 22:29:
@nairolf ik heb inmiddels nog twee esphome devices in huis die ik van scratch heb ingericht. Een gebruik ik voor m’n airco en een smart plug van IoTorero. Die laatste kwam met een firmware en kwam netjes in m’n builder adoptable.
Maar ook zonder adopten kan je gewoon een eigen image gaan maken, desnoods (als je een usb-stick to serial converter hebt) flash je even een verse kale image via de ESPhome webinstaller, je moet de Open Air mini dan wel effe met de prog en reset knop open zetten.
Maar ik vermoed dat als je een YAML aanmaakt met de juiste hostname en ota keys dat de builder je eigen build er ook via ota op wil knallen, dat de originele image niet van jou is zou niet moeten uitmaken.
En er kunnen nooit genoeg fanboys en girls zijn haha. Ik heb nog wat kleine tweaks aangebracht hier maar de OpenAir draait hier echt vrijwel zoals ik wil.
@The_ Mad_Ping is er een reden dat je geen usb poort op de Mini hebt opgenomen of was het puur prijstechnisch? Dat zou hem weer net iets toegankelijker maken voor een aantal mensen denk ik.
Mogelijk als we naar een andere ESP gaan migreren dit gaat veranderen
Oke nog een update:
We hebben de Open AIR Valve firmware aangepast : https://github.com/Flamin...en%20AIR%20Valve/Software
Deze is nu geupdate naar software versie: V1.1.0! Let op als je update, werken je oude automations niet meer!
Wijzigingen die gedaan zijn:
Changed:
:strip_exif()/f/image/ksYeKzoSEb06PNAKTE3JWDMh.png?f=user_large)
Daarnaast zijn we overgestapt van het cover-component naar het nieuwe valve-component:
:strip_exif()/f/image/0Xv9jJuZLnFKCWUL0XUTxAlF.png?f=user_large)
Zoals je in de changelog kunt zien, zijn er nog meer wijzigingen doorgevoerd. Neem dus de tijd om deze update uit te voeren ,als je dat wilt natuurlijk, want voor de meeste gebruikers werkt de huidige versie nog steeds prima.
We hebben de Open AIR Valve firmware aangepast : https://github.com/Flamin...en%20AIR%20Valve/Software
Deze is nu geupdate naar software versie: V1.1.0! Let op als je update, werken je oude automations niet meer!
Wijzigingen die gedaan zijn:
Changed:
- Changed to Valve component instead of blinds <-- Will break automations!!
- Moved old config in OLD YAML folder
- Added support for ESPHOME Version: 2025.9.1
- Added ESP-IDF instead of Arduino framework
- Added Version to Diagnostic tab in HA
- Added MCU Temperature in diagnostic tab in HA
- Added Uptime to diagnostic tab in HA
- Added WiFi IP in diagnostic tab in HA
- Added Re-home button, no need to reboot the whole controller
- Added Encryption support for API connection. KEY IS IN SECRETS.YAML Reprogram with your own generated key for proper security.
- Added substitutions for naming conventions for easier naming!
:strip_exif()/f/image/ksYeKzoSEb06PNAKTE3JWDMh.png?f=user_large)
Daarnaast zijn we overgestapt van het cover-component naar het nieuwe valve-component:
:strip_exif()/f/image/0Xv9jJuZLnFKCWUL0XUTxAlF.png?f=user_large)
Zoals je in de changelog kunt zien, zijn er nog meer wijzigingen doorgevoerd. Neem dus de tijd om deze update uit te voeren ,als je dat wilt natuurlijk, want voor de meeste gebruikers werkt de huidige versie nog steeds prima.
[ Voor 22% gewijzigd door The_ Mad_Ping op 28-09-2025 13:10 ]
Snap ik, maar voor de kosten van componenten hoef je het denk ik niet te laten, zou dat de verkoopsprijs erg veel opdrijven? En als je toch aan een revisie werkt: een Athom CSE7766 voor her meten van stroom, spanning, verbruik en opgenomen vermogen? (zit ook in mijn ESPhome smart plugs van Athom IoTorero).The_ Mad_Ping schreef op zondag 28 september 2025 @ 12:55:
[...]
Hey @Odie De meeste mensen adopten via Wi-Fi en zullen dus nooit een USB poort nodig hebben. Voor een werkende USB poort moet naast de poort, een UART -> USB Bridge aanwezig zijn. Aangezien deze 99.9999999% van de tijd als het goed is ongebruikt blijft vond ik het zonde om dit op alle boardjes te zetten.
Mogelijk als we naar een andere ESP gaan migreren dit gaat veranderen
Het gaat niet om de kostprijs, maar ik vind het zonde om functionaliteit toe te voegen die (bijna) niemand gebruikt. Waar trek je anders de grens tussen wat er wel en niet op de print komt? Bovendien is het extra functionaliteit die stuk kan gaan en getest moet worden voordat het product naar een tweaker gaat. Voor die specifieke usecase zit er al een connector op waar tweakers zelf een adapter op kunnen aansluiten. Ik vermoed dat de mensen die dit echt willen gebruiken zo’n adapter al hebben (of weten hoe ze eraan moeten komen). Dat was mijn overweging om het nu niet te implementeren.Odie schreef op zondag 28 september 2025 @ 16:52:
[...]
Snap ik, maar voor de kosten van componenten hoef je het denk ik niet te laten, zou dat de verkoopsprijs erg veel opdrijven? En als je toch aan een revisie werkt: een Athom CSE7766 voor her meten van stroom, spanning, verbruik en opgenomen vermogen? (zit ook in mijn ESPhome smart plugs van Athom IoTorero).
Als we overstappen naar de C6-variant van de ESP, komt er wél een USB-poort op.
Wat betreft de CSE7766: ik heb geen betrouwbare bron gevonden om dit IC in te kopen (denk aan Mouser, Farnell, enzovoort). Het is wel een leuk idee om daar in de toekomst iets mee te doen!
Volgens mij ontbreekt er een stukje code in de nieuwe YAML voor de Open AIR Valve. Er staat nu een sensor met als platform "copy", maar de input voor deze sensor bestaat niet. Door het volgende stukje code toe te voegen, werkt het wel.The_ Mad_Ping schreef op zondag 28 september 2025 @ 12:59:
[...]
Zoals je in de changelog kunt zien, zijn er nog meer wijzigingen doorgevoerd. Neem dus de tijd om deze update uit te voeren ,als je dat wilt natuurlijk, want voor de meeste gebruikers werkt de huidige versie nog steeds prima.
code:
1
2
3
4
5
| - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB name: "${upper_devicename} WiFi Signal dB" id: wifi_signal_db update_interval: 60s entity_category: "diagnostic" |
Edit:
En bij mij blijft de status op "OPENING" staan als ik de klep helemaal open laat gaan. Als ik 'm instel op 99%, verandert de status wel naar "IDLE" (in plaats van "OPENING").
/f/image/oJBH1HKp0Hs382Wd9yBBSNlC.png?f=fotoalbum_large)
[ Voor 23% gewijzigd door MattMax op 29-09-2025 16:24 ]
@The_ Mad_Ping
Hoi,
Wellicht heb je iets aan deze topic. Hier heeft iemand de duco 325 werkend gekregen met ESP32
Hoi,
Wellicht heb je iets aan deze topic. Hier heeft iemand de duco 325 werkend gekregen met ESP32
Met de kanttekening zo te zien dat je dan wel de communicatie print nodig hebt voor de duco.laurens362 schreef op woensdag 1 oktober 2025 @ 15:22:
@The_ Mad_Ping
Hoi,
Wellicht heb je iets aan deze topic. Hier heeft iemand de duco 325 werkend gekregen met ESP32
Volgens mij niet toch? Althans het gaat over het gedeelte wat kokx heeft gemaakt.thomasv schreef op woensdag 1 oktober 2025 @ 16:07:
[...]
Met de kanttekening zo te zien dat je dan wel de communicatie print nodig hebt voor de duco.
Dat heb ik zo snel niet gezien, verder naar beneden scrollend zie ik nu wat je bedoeld in het topic daar. Maar aangezien het eerst over communicatie print ging nam ik aan dat je die bedoeldelaurens362 schreef op woensdag 1 oktober 2025 @ 16:10:
[...]
Volgens mij niet toch? Althans het gaat over het gedeelte wat kokx heeft gemaakt.
Vraag over de "Open AIR Valve", ik ben eigenlijk tevreden met de werking van de originele vochtdetectie van de DUCO box (silent), m.b.t douchen.
Maar zou in dat geval, dan automatische 2 kleppen willen sluiten.
Wat is het minimale benodigde? Of kom je dan ook op een complete print?
Maar zou in dat geval, dan automatische 2 kleppen willen sluiten.
Wat is het minimale benodigde? Of kom je dan ook op een complete print?
[ Voor 8% gewijzigd door Tick op 01-10-2025 21:17 ]
There are many mysteries in this universe, including me!
Dag @TickTick schreef op woensdag 1 oktober 2025 @ 21:16:
Vraag over de "Open AIR Valve", ik ben eigenlijk tevreden met de werking van de originele vochtdetectie van de DUCO box (silent), m.b.t douchen.
Maar zou in dat geval, dan automatische 2 kleppen willen sluiten.
Wat is het minimale benodigde? Of kom je dan ook op een complete print?
Je hebt een voeding nodig en twee kleppen! Let je moet die dan aansturen met HA! Deze werken niet zonder HA aansturing.
Er zal zonder Open AIR mini geen verbinding zijn met de sensor. Dus daar moet je dan iets creatiefs op verzinnen. (Als in je kan de RH niet uitlezen, dus hoe weet je dan wanneer je kleppen open en dicht moeten?)
Ik persoonlijk, maargoed wij van wc eend en wc eend enzo... Zou de boel vervangen
Edit: Je kan natuurlijk ook je kleppen sturen op je verlichting of andere seintjes dat er mensen onder de douce staan. (anders sensoren oid)
[ Voor 8% gewijzigd door The_ Mad_Ping op 01-10-2025 22:07 ]
Ik denk leuk nieuws!
Er is weer stock, maar nu via onze eigen website:
https://flamingo-shop.nl/password
Password: Tweakers_Test
Kortingscode: Tweakers10%
We zijn nog druk bezig met de puntjes op de i maar de basis staat er op!
Er is weer stock, maar nu via onze eigen website:
https://flamingo-shop.nl/password
Password: Tweakers_Test
Kortingscode: Tweakers10%
We zijn nog druk bezig met de puntjes op de i maar de basis staat er op!
Evt tussen mo tags plaatsen zodat het niet geïndexeerd/vindbaar is voor Google? Of maakt dat niet zo uitThe_ Mad_Ping schreef op woensdag 1 oktober 2025 @ 21:51:
Ik denk leuk nieuws!
Er is weer stock, maar nu via onze eigen website:
We zijn nog druk bezig met de puntjes op de i maar de basis staat er op!
Mijn reviews al gezien?
Ik heb geprobeerd de nieuwe firmware erop te krijgen maar gaat niet zonder slag of stoot.
Naam device = open-air-valve-1-232f18
Commando om te updaten:
Eerste error: Unable to find action with the name 'cover.open'. . Ik moest hiervoor disconnected-mode.yaml updaten naar:
Toen error: SSID can't be longer than 32 characters. omdat de SSID open-air-valve-1-232f18 Config AP te lang is, dus aangepast naar open-air-valve-1-232f18-cfg-ap.
Toen error: Couldn't find ID 'wifi_signal_db'. Please check you have defined an ID with that name in your configuration. en die wist ik zo 1, 2, 3 even niet op te lossen. ID toevoegen bij de WiFi Signal sensor? Maar snap even niet dat ik al deze aanpassingen zou moeten doen.
Doe ik wat fout?
Naam device = open-air-valve-1-232f18
Commando om te updaten:
code:
1
| esphome run open-air-valve-1-232f18.yaml |
Eerste error: Unable to find action with the name 'cover.open'. . Ik moest hiervoor disconnected-mode.yaml updaten naar:
code:
1
2
3
4
5
6
7
| --- - id: disconnected_mode mode: single then: - logger.log: format: "Disconnected Mode Triggered" - valve.open: air_valve |
Toen error: SSID can't be longer than 32 characters. omdat de SSID open-air-valve-1-232f18 Config AP te lang is, dus aangepast naar open-air-valve-1-232f18-cfg-ap.
Toen error: Couldn't find ID 'wifi_signal_db'. Please check you have defined an ID with that name in your configuration. en die wist ik zo 1, 2, 3 even niet op te lossen. ID toevoegen bij de WiFi Signal sensor? Maar snap even niet dat ik al deze aanpassingen zou moeten doen.
Doe ik wat fout?
[ Voor 10% gewijzigd door mrwiggs op 01-10-2025 21:56 ]
Nope, wij zaten fout! Zoals @MattMax al aangaf, missen er een paar stukjes in onze config. Deze is zojuist bijgewerkt op GitHub. Haal je code daar dus even opnieuw op. Excuses voor het ongemak!mrwiggs schreef op woensdag 1 oktober 2025 @ 21:53:
Ik heb geprobeerd de nieuwe firmware erop te krijgen maar gaat niet zonder slag of stoot.
Naam device = open-air-valve-1-232f18
Commando om te updaten:
code:
1 esphome run open-air-valve-1-232f18.yaml
Eerste error: Unable to find action with the name 'cover.open'. . Ik moest hiervoor disconnected-mode.yaml updaten naar:
code:
1 2 3 4 5 6 7 --- - id: disconnected_mode mode: single then: - logger.log: format: "Disconnected Mode Triggered" - valve.open: air_valve
Toen error: SSID can't be longer than 32 characters. omdat de SSID open-air-valve-1-232f18 Config AP te lang is, dus aangepast naar open-air-valve-1-232f18-cfg-ap.
Toen error: Couldn't find ID 'wifi_signal_db'. Please check you have defined an ID with that name in your configuration. en die wist ik zo 1, 2, 3 even niet op te lossen. ID toevoegen bij de WiFi Signal sensor? Maar snap even niet dat ik al deze aanpassingen zou moeten doen.
Doe ik wat fout?
Je hebt helemaal gelijk! Dit is inmiddels als het goed is gefixed! Er wordt nu eens per minuut een update verstuurd. Dus het duurt even voordat de correcte status te zien is in HA. Maar de juiste statussen zijn "Open" "Closed" en dan "Open XX%"MattMax schreef op maandag 29 september 2025 @ 15:54:
[...]
Volgens mij ontbreekt er een stukje code in de nieuwe YAML voor de Open AIR Valve. Er staat nu een sensor met als platform "copy", maar de input voor deze sensor bestaat niet. Door het volgende stukje code toe te voegen, werkt het wel.
code:
1 2 3 4 5 - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB name: "${upper_devicename} WiFi Signal dB" id: wifi_signal_db update_interval: 60s entity_category: "diagnostic"
Edit:
En bij mij blijft de status op "OPENING" staan als ik de klep helemaal open laat gaan. Als ik 'm instel op 99%, verandert de status wel naar "IDLE" (in plaats van "OPENING").
[Afbeelding]
Nah google doet zijn ding maar, ak weekend gaat het wachtwoord er toch vanafPeacekeeperNL schreef op woensdag 1 oktober 2025 @ 21:53:
[...]
Evt tussen mo tags plaatsen zodat het niet geïndexeerd/vindbaar is voor Google? Of maakt dat niet zo uit
Edit: Bedankt voor de headsup :D!
[ Voor 5% gewijzigd door The_ Mad_Ping op 01-10-2025 22:13 ]
Thanks, werkt!The_ Mad_Ping schreef op woensdag 1 oktober 2025 @ 22:02:
[...]
Nope, wij zaten fout! Zoals @MattMax al aangaf, missen er een paar stukjes in onze config. Deze is zojuist bijgewerkt op GitHub. Haal je code daar dus even opnieuw op. Excuses voor het ongemak!
Hm, het lijkt er wel op dat ik de temperatuur- en luchtvochtigheidssensor kwijt ben in HomeAssistant:
:strip_exif()/f/image/xPhRVHihDpzjvVAtQ6fYE1vF.png?f=user_large)
Ik heb deze instructies gevolgd.
@The_ Mad_Ping zou je mij anders de meegeleverde YAMLs kunnen toesturen? Dan kom ik er wellicht zelf uit
[ Voor 9% gewijzigd door mrwiggs op 01-10-2025 22:52 ]
Dank voor je snelle reactie, dan kom ik bijna op €340,- en we gebruiken de originele afstandsbediening ook. Dat is dan ook niet meer mogelijk.The_ Mad_Ping schreef op woensdag 1 oktober 2025 @ 21:48:
[...]
Dag @Tick
Je hebt een voeding nodig en twee kleppen! Let je moet die dan aansturen met HA! Deze werken niet zonder HA aansturing.
Er zal zonder Open AIR mini geen verbinding zijn met de sensor. Dus daar moet je dan iets creatiefs op verzinnen. (Als in je kan de RH niet uitlezen, dus hoe weet je dan wanneer je kleppen open en dicht moeten?)
Ik persoonlijk, maargoed wij van wc eend en wc eend enzo... Zou de boel vervangen
Edit: Je kan natuurlijk ook je kleppen sturen op je verlichting of andere seintjes dat er mensen onder de douce staan. (anders sensoren oid)
Tenzij we je print er los bij naast monteren, en daar weer een losse vocht sensor op aansluiten en op deze input alleen de kleppen laten sluiten.....?
Er is geen OPEN Air voeding / regeling mogelijk zonder HA, als een soort "Light versie" met zijn eigen directe aansluitmogelijkheid voor jullie vocht sensor? Dat ik deze parallel, naast het originele systeem laat draaien...alleen voor openen en sluiten van de kleppen tijdens het douchen.
We gaan er eens over denken.
There are many mysteries in this universe, including me!
Ik heb de nieuwe versie getest, maar t.o.v. de vorige (Arduino-based) versie duurt het erg lang voordat de status wordt geüpdatet. Status blijft bijv. lang op "Opening" staan (zie screenshot).The_ Mad_Ping schreef op woensdag 1 oktober 2025 @ 22:05:
[...]
Je hebt helemaal gelijk! Dit is inmiddels als het goed is gefixed! Er wordt nu eens per minuut een update verstuurd. Dus het duurt even voordat de correcte status te zien is in HA. Maar de juiste statussen zijn "Open" "Closed" en dan "Open XX%"
De binary sensor die aangeeft of de klep dicht is, gaat bij mij ook niet naar "on" op het moment dat ik de klep dicht heb gezet. Dit werkt wel prima met de vorige versie.
/f/image/oEtRmMKp5rWJntk3JL5468ys.png?f=fotoalbum_large)