Acties:
  • +1 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
De handleiding heeft het over de 'Smartwares FGA-13900' (even genoteerd voor de zoekmachine). pricewatch unsorted: Smartwares - Luchtkwaliteitsalarm en - Sensor - Detectee...
This product has a high precision carbon dioxide infrared sensor,
Dat scheelt, qua CO2 zal hij dus waarschijnlijk wel vrij betrouwbaar zijn. Hij voldoet ook aan een Europese standaard: 'BS EN 50543-2011 AC-2014'. Als ik daar op zoek dan moet je voor de documentatie hierover betalen helaas. Was wel benieuwd naar de testmethodes. Maar lijkt dus best een redelijke sensor te zijn. Zoekende op die norm zie ik dat hij ook verkocht wordt onder de naam 'Resideo R200C2'. Zal een whitelabel Chinees apparaatje zijn.

Ik kan in de handleiding alleen niks vinden over kalibratie. Als je hem koopt zet hem dan eerst een poosje buiten in je tuin om te zien of je rond de 420-430ppm uit komt (tenzij je aan een drukke weg of naast industrie woont).

Misschien kan er een ESP8266 in worden gestopt, kun je hem mooi in je home automation integreren.

[ Voor 35% gewijzigd door ThinkPad op 19-04-2022 18:29 ]


Acties:
  • 0 Henk 'm!

  • Frappuccino
  • Registratie: Maart 2015
  • Laatst online: 01:18
Matched: Resideo
ThinkPad schreef op dinsdag 19 april 2022 @ 11:52:

Zoekende op die norm zie ik dat hij ook verkocht wordt onder de naam 'Resideo R200C2'. Zal een whitelabel Chinees apparaatje zijn.
Wikipedia: Resideo

"Resideo Technologies, Inc. is a publicly traded U.S.-based company formed in 2018 out of a spin off from Honeywell."

Acties:
  • 0 Henk 'm!

  • VantageR
  • Registratie: Oktober 2004
  • Niet online
Matched: Resideo
ThinkPad schreef op dinsdag 19 april 2022 @ 11:52:
Zoekende op die norm zie ik dat hij ook verkocht wordt onder de naam 'Resideo R200C2'. Zal een whitelabel Chinees apparaatje zijn.
Het valt me wel op dat Resideo een levensduur van 10 jaar specificeert en de Action 5 jaar.

Acties:
  • +1 Henk 'm!

  • Daiov97
  • Registratie: Augustus 2012
  • Laatst online: 11-06 20:15
Matched: Resideo
ThinkPad schreef op dinsdag 19 april 2022 @ 11:52:
De handleiding heeft het over de 'Smartwares FGA-13900' (even genoteerd voor de zoekmachine). pricewatch unsorted: Smartwares - Luchtkwaliteitsalarm en - Sensor - Detectee...


[...]

Dat scheelt, qua CO2 zal hij dus waarschijnlijk wel vrij betrouwbaar zijn. Hij voldoet ook aan een Europese standaard: 'BS EN 50543-2011 AC-2014'. Als ik daar op zoek dan moet je voor de documentatie hierover betalen helaas. Was wel benieuwd naar de testmethodes. Maar lijkt dus best een redelijke sensor te zijn. Zoekende op die norm zie ik dat hij ook verkocht wordt onder de naam 'Resideo R200C2'. Zal een whitelabel Chinees apparaatje zijn.

Ik kan in de handleiding alleen niks vinden over kalibratie. Als je hem koopt zet hem dan eerst een poosje buiten in je tuin om te zien of je rond de 420-430ppm uit komt (tenzij je aan een drukke weg of naast industrie woont).

Misschien kan er een ESP8266 in worden gestopt, kun je hem mooi in je home automation integreren.
Volgens mij is deze Resideo vandaag in de aanbieding op iBood. Twee stuks voor €40: https://www.ibood.com/nl/...&utm_campaign=webgains_nl

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
Daiov97 schreef op dinsdag 5 september 2023 @ 15:34:
[...]


Volgens mij is deze Resideo vandaag in de aanbieding op iBood. Twee stuks voor €40: https://www.ibood.com/nl/...2-monitor-detector/877671
Lijkt mij een goede deal voor een NDIR-sensor (y) Zelf zou ik er een ESP in stoppen zodat je hem via home automation kunt uitlezen. Anders kun je hem alleen stand-alone via het display aflezen.

[ Voor 23% gewijzigd door ThinkPad op 05-09-2023 15:46 ]


Acties:
  • +1 Henk 'm!

  • Erik1
  • Registratie: Juni 2001
  • Niet online
Matched: Resideo
Daiov97 schreef op dinsdag 5 september 2023 @ 15:34:
[...]


Volgens mij is deze Resideo vandaag in de aanbieding op iBood. Twee stuks voor €40: https://www.ibood.com/nl/...&utm_campaign=webgains_nl
Ik heb deze besteld en de 2 meters die ik heb ontvangen geven verschillende waardes. De precisie zou "± 50PPM ± 5%" moeten zijn. Vanmorgen in goed geventileerde ruimte gaven ze 512 en 400 aan. Dat zou nog net binnen de toleranties kunnen vallen, maar 400 is de bodemwaarde. Nu in een minder geventileerde ruimte waar ik zelf ben meet ik 906 en 594. Eentje lijkt dus in ieder geval te weinig aan te geven. Misschien corrigeert het zich nog als ze een tijdje staan...

Acties:
  • 0 Henk 'm!

  • NicoHF
  • Registratie: Mei 2022
  • Niet online
Matched: Resideo
Deze komt kennelijk ook steeds terug voor €40 voor twee stuks en is kant en klaar

plaspvd in "Awair element en andere CO2 meter kortingscodes"

2x Honeywell (Resideo) CO2-Monitor & -Detector voor 4 tientjes.

[ Voor 16% gewijzigd door NicoHF op 05-10-2023 10:15 ]


Acties:
  • 0 Henk 'm!

  • Mars Warrior
  • Registratie: Oktober 2003
  • Laatst online: 02:34

Mars Warrior

Earth, the final frontier

Matched: Resideo
NicoHF schreef op donderdag 5 oktober 2023 @ 10:15:
Deze komt kennelijk ook steeds terug voor €40 voor twee stuks en is kant en klaar

plaspvd in "Awair element en andere CO2 meter kortingscodes"

2x Honeywell (Resideo) CO2-Monitor & -Detector voor 4 tientjes.
Let wel op dat zo’n Honeywell tot 1000ppm groen blijgt aangeven, waar andere meters zoals de Awair dat tot 600ppm doen. Bij waardes van 1000ppm gaat die al naar rood!

Material 3 Thema's voor HA | Swiss Army Knife custom card voor HA | AmoebeLabs


Acties:
  • 0 Henk 'm!

  • HallonRubus
  • Registratie: Mei 2011
  • Laatst online: 11-06 17:13
Matched: Resideo
Die Resideo CO2 meter is nu in de aanbieding voor €55 bij Bol

https://www.bol.com/nl/nl...dioxide/9300000069437524/

Acties:
  • 0 Henk 'm!

  • Superbeagle
  • Registratie: Juli 2000
  • Laatst online: 30-05 19:32

Superbeagle

Always smile

Matched: Resideo
Niet een heel goede aanbiedingen als je ze in het verleden 2 voor €40 kon halen.

Acties:
  • +2 Henk 'm!

  • Superbeagle
  • Registratie: Juli 2000
  • Laatst online: 30-05 19:32

Superbeagle

Always smile

Matched: Resideo
De Resideo’s zijn tot vanavond 23:59 weer in de aanbieding op iBOOD voor 2 voor net geen €40.
Afbeeldingslocatie: https://tweakers.net/i/EdVnfhadtPztq30fXpuTPlshgCE=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/3Ou0ps68eubvQxcAtefiQIa2.jpg?f=user_large

Acties:
  • 0 Henk 'm!

  • Andrehj
  • Registratie: Juni 2002
  • Nu online
Matched: Resideo
Superbeagle schreef op zaterdag 30 december 2023 @ 10:59:
De Resideo’s zijn tot vanavond 23:59 weer in de aanbieding op iBOOD voor 2 voor net geen €40.
[Afbeelding]
Link zou wel handig zijn...
https://www.ibood.com/nl/...2-monitor-detector/920372

Mooie aanbieding. Zou helemaal fantastisch zijn als er een 0-10V uitgang op zou zitten. Die heeft ie helaas niet. En de voedingsspanning is ook wat vaag. Volgens iBood draait op op 12V, maar volgens de manual die ik online vond op 5V....

[ Voor 24% gewijzigd door Andrehj op 30-12-2023 12:36 ]

WP: ME PUHZ-SW75YAA + ERSD-VM2D + EV-WP-TWS-1W 300; AC: ME MXZ-2F42VF + 2x MSZ-LN25VGV; PV: 14.08 kWp O/W + SMA STP 8.0; Vent: Zehnder Q600 ERV + Ubbink AirExcellent.


Acties:
  • 0 Henk 'm!

  • Strontvlieg
  • Registratie: September 2006
  • Laatst online: 11-06 20:08
Matched: Resideo
Superbeagle schreef op zaterdag 30 december 2023 @ 10:59:
De Resideo’s zijn tot vanavond 23:59 weer in de aanbieding op iBOOD voor 2 voor net geen €40.
[Afbeelding]
Dit apparaat werkt alleen stand alone als ik het goed begrijp. Geen interfaces met de buitenwereld behalve het display en de speaker?

Acties:
  • +3 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
Die Resideo (Honeywell) R200C2-A is volgens mij identiek aan de Smartwares FGA-13900 die vorig jaar april bij Action te koop was (prijs kan ik zo niet terugvinden). Denk dat het een whitelabel Chinees product is wat onder meerdere merken verkocht wordt.

Zie hier teardown/reverse-engineering foto's:
hapklaar in "CO2-meters voor in huis"
4alexi in "CO2-meters voor in huis"
4alexi in "CO2-meters voor in huis"
ranjo in "CO2-meters voor in huis"

Denk dat de CO2-sensor wel op een ESP kan worden aangesloten, is gewoon serieel en protocol staat in de datasheet (als ze nog dezelfde sensor gebruiken als wat @hapklaar toen aangaf in zijn post. Display wordt wat lastiger, ik zie zo voor de TM1652 display chip geen ondersteuning in bijv. ESPHome, maar wel voor andere TM16xx chips.

Ik ga er eentje bestellen.

@hapklaar en @Anoniem: 1808420 nog tevreden erover? En @ranjo kun je bevestigen dat het je destijds gelukt is om de CO2-sensor met ESPHome uit te lezen? Ben ook wel benieuwd of je het display aan de gang hebt gekregen via ESPHome/Tasmota o.i.d.

[ Voor 18% gewijzigd door ThinkPad op 30-12-2023 17:26 ]


Acties:
  • 0 Henk 'm!

  • HallonRubus
  • Registratie: Mei 2011
  • Laatst online: 11-06 17:13
Matched: Resideo
ThinkPad schreef op zaterdag 30 december 2023 @ 17:18:
Die Resideo (Honeywell) R200C2-A is volgens mij identiek aan de Smartwares FGA-13900 die vorig jaar april bij Action te koop was (prijs kan ik zo niet terugvinden).
€50 heeft die destijds gekost voorzover ik kan terugvinden.

https://www.1folders.nl/i...htkwaliteitsmelder-772780

https://manly.nl/lidl-action-aldi-deals-week-15-2022

Ik weet ook niet hoe iBood er 2 voor €40 kan aanbieden als een beetje CO2 sensor al richting de €15 gaat, maar ik klaag niet :D

[ Voor 5% gewijzigd door HallonRubus op 30-12-2023 17:26 ]


Acties:
  • +1 Henk 'm!

  • Soepstengel
  • Registratie: April 2006
  • Laatst online: 11-06 13:38
Matched: Resideo
ThinkPad schreef op zaterdag 30 december 2023 @ 17:18:
Die Resideo (Honeywell) R200C2-A is volgens mij identiek aan de Smartwares FGA-13900 die vorig jaar april bij Action te koop was (prijs kan ik zo niet terugvinden). Denk dat het een whitelabel Chinees product is wat onder meerdere merken verkocht wordt.

Zie hier teardown/reverse-engineering foto's:
hapklaar in "CO2-meters voor in huis"
4alexi in "CO2-meters voor in huis"
4alexi in "CO2-meters voor in huis"
ranjo in "CO2-meters voor in huis"

Denk dat de CO2-sensor wel op een ESP kan worden aangesloten, is gewoon serieel en protocol staat in de datasheet (als ze nog dezelfde sensor gebruiken als wat @hapklaar toen aangaf in zijn post. Display wordt wat lastiger, ik zie zo voor de TM1652 display chip geen ondersteuning in bijv. ESPHome, maar wel voor andere TM16xx chips.

Ik ga er eentje bestellen.

@hapklaar en @Anoniem: 1808420 nog tevreden erover? En @ranjo kun je bevestigen dat het je destijds gelukt is om de CO2-sensor met ESPHome uit te lezen? Ben ook wel benieuwd of je het display aan de gang hebt gekregen via ESPHome/Tasmota o.i.d.
Mooie verzameling aan linkjes en bevindingen hier, dank daarvoor!

Heb deze vanochtend ook besteld en hoop met wat soldeer werk en een ESP dingetje het geheel in HA te krijgen, als eventueel het display daarom niet meer gaat werken is dat acceptabel. Mooi dat het er ook twee zijn, kan ik er met eentje kuntselen en de andere heel houden ;)

Desktop: Ryzen 7 7800X3D | 32 GB | Radeon RX 6800


Acties:
  • +5 Henk 'm!

  • wuniek
  • Registratie: Juli 2005
  • Laatst online: 02-06 19:14
Matched: Resideo
Hier gaat ie dan, eerste post ;-)

afgelopen dagen een seriële monitor aan de TX ping van de CM1106 gehangen die in de Honeywell Resideo zit. Dit geeft precies de informatie terug die in de datasheet te vinden is voor deze module. Blijkt dus dat de microcontroller die op de display print zit het na 150s regelmatig via serieel 9600n81 het opvraagt. De output van de sensor is dan ook volgens de documentatie:

16 05 01 02 B1 00 D6 5B
02 B1 = CO2 measured result = DF1*256+DF2 = 2*256 + 177 = 689 CO2 waarde (is hoog, maar lijkt me normaal als je met je neus er hoven hangt ;) )

Die kun je natuurlijk ook met ESPHOME uitlezen met bv een ESP8266.
De ESP8266 hangt aan de 5V (niet aan de 3V3), TX ping van de sensor hangt aan D2, gnd aan gnd.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Honeywell Resideo CM1106 serial CO2 sensor
uart:
  rx_pin: D2
  baud_rate: 9600
  debug:
    direction: RX
    dummy_receiver: true
    after:
      delimiter: "\r\n"
    sequence:
      - lambda: |-
          UARTDebug::log_hex(direction, bytes, ':');
          UARTDebug::log_string(direction, bytes);
          // Hier moet nog iets gebeuren waar:
          // - de eerste 3 bytes worden getest op 16 05 01
          // - eventueel de checksum controleren van het bericht voor stabiliteit van de metingen.
          // - de byte 4 en 5 worden gebruikt om het CO2 gehalte naar een interger om te zetten.
          // - publish de waarde naar Home assistant.


code:
1
2
Debug output:
[uart_debug:114]: <<< 16:05:01:02:4B:00:70:27


Het laatste stukje is lastig omdat ik geen ster ben in C++ programmeren...

Temperatuur en %RH gaat iets gelijks zijn door de I2C bus te monitoren.

Overigens, de grote PCB heeft ook een soort bus die wellicht bruikbaar is om met het apparaat te praten. de aansluitingen D C G V lijken te duiden op Data/Clock/Ground/+V.
Ben er nog niet achter wat voor soort protocol die zou moeten zijn en of het wel in gebruik is op de PCB. Er mist nog een printplaatje op de PCB dat waarschijnlijk bij sommige andere modellen door Honeywell gebruikt wordt voor WiFi communicatie.
.

Acties:
  • 0 Henk 'm!

  • wuniek
  • Registratie: Juli 2005
  • Laatst online: 02-06 19:14
Matched: Resideo
Ben nog in tweestrijd hoe dit aan te pakken met de Resideo doosjes.

1. alle bestaande electronica in tact laten en met een esp8266 de UART en I2C bussen monitoren en exporteren met ESPHome naar Home Assistant. Dan kan het display niet veranderd worden in gebruik.
Dit is moeilijker te programmeren omdat bestaande libraries niet gebruikt kunnen worden.
De doosjes kunnen dan wel nog los gebruikt worden.

2. de sensoren en display los koppelen van de microcontroller en alle controle overnemen met een esp8266/esp32. Op deze manier kunnen bestaande libraries gebruikt worden, maar dan gaat het lastig worden om alles aan te sturen (andere LEDs dan het display).
Ook het schema van de accu en lader moet dan uitgezocht worden of dit nog wel zin heeft of voldoende (piek) stroom kan leveren.

Beste methode zou een PCB maken voor optie 2, maar dat is een berg werk.

Voorlopig zal het bij optie 1 blijven denk ik gezien tekort aan tijd.
Als ik de ESPHome code voor UART/I2C monitor voor elkaar heb zal ik hem hier en/of op github posten.

Acties:
  • +3 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
Andrehj schreef op zaterdag 30 december 2023 @ 12:29:
[...]
En de voedingsspanning is ook wat vaag. Volgens iBood draait op op 12V, maar volgens de manual die ik online vond op 5V....
Ik heb mijne zojuist ontvangen. Er zit een 5V 1A adapter bij. Helaas wel met een (hele kleine) DC-barrel connector. Ik had liever USB-C gezien.

Afbeeldingslocatie: https://tweakers.net/i/C0Ctsm3rxD64GeiXQRIvpLmt6Dg=/800x/filters:strip_exif()/f/image/xKT6kumKapJnh4cRNljc1Agz.png?f=fotoalbum_large
Door de compressie is rechts niet goed leesbaar, maar ze gaven beiden 841 ppm. aan. De MH-Z19 een meter verderop aan de muur gaf 877 ppm aan. De Resideo's waren hier net 3 min. aangesloten, ik zal over een uurtje nog eens vergelijken. Maar lijkt prima vooralsnog. Na een halfuur in de schuur met deur open gaven ze beiden 400 ppm aan en de Aranet4 gaf 423 ppm aan.

De speaker ga ik wel loskoppelen denk ik, dat gebrabbel ("Thank you for choosing our product", "Now calibrating") bij aansluiten heb ik liever niet.

@Raymond P Ik vind juist een schermpje om ze standalone te kunnen bekijken ook wel handig. Dan hoef ik niet altijd op PC/telefoon de waarde op te zoeken ergens in een dashboardje.

[ Voor 58% gewijzigd door ThinkPad op 03-01-2024 17:36 ]


Acties:
  • +1 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
hapklaar schreef op woensdag 3 januari 2024 @ 15:21:
[...]


Doet het nog altijd prima en blijkt ook nog eens zeer nauwkeurig. Zeker een aanrader!
Heb je hem nog smart gemaakt met een ESP of gebruik je hem standalone?
Raymond P schreef op woensdag 3 januari 2024 @ 15:24:
[...]


Komt dat dan voort uit nieuwsgierigheid of kijk je voor je gemoedsrust?
Ik snap best dat je kijkt als het scherm er is (doe ik ook), maar dat is hier dus deels de reden dat ik displays et al hier liever niet meer doe.
Voor gemoedsrust, nieuwsgierigheid is niet echt sprake meer van na al een aantal jaren een CO2-sensor in bezit te hebben. Als ik in een ruimte ga zitten met ramen/deuren dicht dan weet ik dat na één uur de luchtkwaliteit al >800 ppm gaat.

Deze Resideo komt in m'n thuiswerkkantoor. Ik ga hem achter mij hangen, want de meetinterval (en daarmee dus wijzigen van het scherm) is te hoog om in blikveld te hebben hangen. In de woonkamer hangt een MH-Z19 om de mechanische ventilatie aan te sturen en nog een Aranet4 op het dressoir voor inzicht. Maar die heeft een e-ink schermpje en ververst maar om de 5 min. dus dat kijkt veel rustiger.

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 08:03

orf

Matched: Resideo
ThinkPad schreef op woensdag 3 januari 2024 @ 13:52:
[...]

Ik heb mijne zojuist ontvangen. Er zit een 5V 1A adapter bij. Helaas wel met een (hele kleine) DC-barrel connector. Ik had liever USB-C gezien.

[Afbeelding]
Door de compressie is rechts niet goed leesbaar, maar ze gaven beiden 841 ppm. aan. De MH-Z19 een meter verderop aan de muur gaf 877 ppm aan. De Resideo's waren hier net 3 min. aangesloten, ik zal over een uurtje nog eens vergelijken. Maar lijkt prima vooralsnog. Na een halfuur in de schuur met deur open gaven ze beiden 400 ppm aan en de Aranet4 gaf 423 ppm aan.

De speaker ga ik wel loskoppelen denk ik, dat gebrabbel ("Thank you for choosing our product", "Now calibrating") bij aansluiten heb ik liever niet.

@Raymond P Ik vind juist een schermpje om ze standalone te kunnen bekijken ook wel handig. Dan hoef ik niet altijd op PC/telefoon de waarde op te zoeken ergens in een dashboardje.
Ik heb ze sinds vanmiddag ook binnen. De CO2 kan ik niet vergelijken, maar de temperatuur wordt 2 graden te hoog weergegeven volgens mij ( ten opzichte van thermostaat en losse thermometer in de woonkamer). Heb jij dat ook? 2 graden vind ik nogal fors. Al heb ik ze daar niet voor gekocht, ik weet niet of het iets zegt over de andere sensors.

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
Welke library doel je dan op? Kun je wellicht (een deel van) je config posten wat je hebt? :)

En in jouw geval (gezien je polling noemt) mag de ESP dus wel met de CO2-sensor praten (doordat TX van ESP aan RX van CO2 hangt?). Ik probeer dat eigenlijk te voorkomen, dingen als kalibratie blijf ik liefste ver weg van als het niet nodig is, doet vaak meer kwaad dan goed omdat ze in fabriek al goed gekalibreerd worden.

Hoe gaat de CPU van de Resideo er mee om als de ESP ook tegen de CO2-sensor praat? Heb je dan niet dat er updates vlak na elkaar kunnen komen?

Acties:
  • 0 Henk 'm!

  • wuniek
  • Registratie: Juli 2005
  • Laatst online: 02-06 19:14
Matched: Resideo
Ter verduidelijking:
De ESP hangt met D2 aan de TX van de sensor. De RX is niet verbonden.
De library is die van LeoDJ, voor de cm1106:
https://github.com/LeoDJ/...ee/main/CM1106_CO2_Sensor
Ik geloof dat je die zelf ook gebruikt.
Yaml stuk is vrijwel gelijk aan die van LeoDJ:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Honeywell Resideo CM1106 serial CO2 sensor
uart:
  rx_pin: D2
  tx_pin: D3
  baud_rate: 9600
  id: cm1106_uart

sensor:
- platform: custom
  lambda: |-
    auto cm1106Sensor = new CM1106Sensor(id(cm1106_uart), 3000);
    App.register_component(cm1106Sensor);
    return {cm1106Sensor};
  sensors:
  - name: "CO₂ Sensor"
    accuracy_decimals: 0
    unit_of_measurement: "ppm"
    icon: "mdi:molecule-co2"


Je hebt gelijk dat met twee controllers naar dezelfde sensor praten vast fout gaat.
Verwijderen van lijnen 10-32, 61,62,75-84,116-135 is uit de cm1106.h.

[ Voor 4% gewijzigd door wuniek op 03-01-2024 22:31 ]


Acties:
  • +2 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
@TD-er @hsmade Fijn dat jullie wilden meedenken. Het werkt nu stabiel voor mij _O_ CO2 metingen lijken elke 3 seconden langs te komen in de ESPHome logs. Dat is blijkbaar de interval waarop de interne CPU van de Resideo de sensor raadpleegt? Opzich hoeft elke 3s van mij ook weer niet, als ik bijv. elke 5 min. de waarde doorkrijg in HASS is voor mij vaak genoeg. Jullie daar nog ideeën over?

Nu de temperatuur-/luchtvochtigheidssensor nog in ESPHome krijgen. Heb je daar nog vorderingen mee gemaakt @hsmade ? Ik heb net met een loep nog even gekeken, de opdruk op het zwarte componentje is S8305
036T1V

Die S is twijfel, het staat in een vierkantje: [S], zou ook een logotje kunnen zijn. Het witte componentje zal de lichtsensor zijn, die is ook I2C ?

Kunnen we hier wat mee? https://github.com/sensylink/CHT8305 al lijken ze voor temp/humidity dezelfde berekening te gebruiken als in die hdc1080 library...

@ranjo Je geeft hier aan dat je de formule voor temp en hum. hebt aangepast, welke waardes reken jij nu mee? ranjo in "CO2-meters voor in huis"

[ Voor 115% gewijzigd door ThinkPad op 04-01-2024 15:05 ]


Acties:
  • +2 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
Voor de volledigheid nog even de werkende cm1106.h die @hsmade op de GitHub gist had gezet (met suggestie van @TD-er erin verwerkt) voor iemand die hier ook mee aan de slag wil:

Ik gebruik een Wemos D1 Mini, deze voed ik met 5V & GND van de DC-connector en de RX pin hangt aan de TX pin van de CO2-sensor. Met onderstaande code luistert de ESP mee en stuurt niet zelf de CO2-sensor aan.
C++:
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
// put this file in your esphome folder
// protocol implemented as described in https://en.gassensor.com.cn/Product_files/Specifications/CM1106-C%20Single%20Beam%20NDIR%20CO2%20Sensor%20Module%20Specification.pdf

#include "esphome.h"

class CM1106 : public UARTDevice {
public:
    CM1106(UARTComponent *parent) : UARTDevice(parent) {}

    int16_t getCo2PPM() {
        byte expectedBytes[] = {0x16, 0x05, 0x01};
        int currentPos = 0;
        uint8_t response[8] = {0};

        while (readUartResponse(response+currentPos, 1)) {
          if (response[currentPos] == expectedBytes[currentPos]) {
              currentPos++;
          }

          if (currentPos != sizeof(expectedBytes)) continue; // haven't read them all yet
          readUartResponse(response+3, sizeof(response)-3);
          uint8_t checksum = calcCRC(response, sizeof(response));
          int16_t ppm = response[3] << 8 | response[4];
          if (response[7] == checksum) {
              ESP_LOGD(TAG, "CM1106 Received CO₂=%uppm DF3=%02X DF4=%02X", ppm, response[5], response[6]);
              return ppm;
          } else {
              ESP_LOGW(TAG, "Got wrong UART checksum: 0x%02X - Calculated: 0x%02X, ppm data: %u", response[7], checksum, ppm);
              return -1;
          }
        }
        return -1;
    }

private:
    const char *TAG = "cm1106";

    // Checksum: 256-(HEAD+LEN+CMD+DATA)%256
    uint8_t calcCRC(uint8_t* response, size_t len) {
        uint8_t crc = 0;
        // last byte of response is checksum, don't calculate it
        for (int i = 0; i < len - 1; i++) {
            crc -= response[i];
        }
        return crc;
    }

    bool readUartResponse(uint8_t *response, size_t responseLen) {
        return read_array(response, responseLen);
    }
};

class CM1106Sensor : public PollingComponent, public Sensor {
private:
    CM1106 *cm1106;

public:
    CM1106Sensor(UARTComponent *parent, uint32_t update_interval) : PollingComponent(update_interval) {
        cm1106 = new CM1106(parent);
    }

    float get_setup_priority() const { return setup_priority::DATA; }

    void setup() override {
        // Perform an initial measurement during setup
        delay(5000);
        int16_t ppm = cm1106->getCo2PPM();
        if (ppm > -1) {
            publish_state(ppm);
        }
    }

    void update() override {
        int16_t ppm = cm1106->getCo2PPM();
        if (ppm > -1) {
            publish_state(ppm);
        }
    }
  
    virtual ~CM1106Sensor() { delete cm1106; }
};
En een deel van m'n YAML code:
YAML:
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
esphome:
  name: resideo-co2
  platform: ESP8266
  board: d1_mini
  includes:
    - "cm1106.h"
    
logger:
  baud_rate: 0 #disable serial logging, because we need RX/TX for the sensor.

uart:
  rx_pin: RX
  baud_rate: 9600
  id: cm1106_uart


- platform: custom
  lambda: |-
    auto cm1106Sensor = new CM1106Sensor(id(cm1106_uart), 3000);
    App.register_component(cm1106Sensor);
    return {cm1106Sensor};
  sensors:
  - name: "CO₂ Sensor"
    accuracy_decimals: 0
    unit_of_measurement: "ppm"
    state_class: measurement
    device_class: carbon_dioxide
    icon: "mdi:molecule-co2"

[ Voor 105% gewijzigd door ThinkPad op 05-01-2024 14:07 ]


Acties:
  • 0 Henk 'm!

  • Soepstengel
  • Registratie: April 2006
  • Laatst online: 11-06 13:38
Matched: Resideo
Ik hem de Resideo R200C2-A binnen en ze lijken goede waardes te geven. Maar ik krijg regelmatig nu door de speaker te horen "Low battery" terwijl het ding gewoon in het stopcontact zit. De installatie en setup guide zegt er niets over, iemand een idee hoe ik uberhaubt die stem uit kan zetten?

Desktop: Ryzen 7 7800X3D | 32 GB | Radeon RX 6800


Acties:
  • +3 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
Hier overigens nog vergelijking van de Resideo (paars) met een MH-Z19 (blauw) in dezelfde kamer:

Afbeeldingslocatie: https://tweakers.net/i/OdtndukV2QW548cBfX2GMclupvk=/800x/filters:strip_exif()/f/image/2QyIIiJgQRNw7UaM9QM9XrZv.png?f=fotoalbum_large
De MH-Z19 staat ABC uit en heeft al een aantal jaren geen buitenlucht meer geroken, dus ik denk dat die inmiddels ook wel wat hoog aangeeft.
ThinkPad schreef op donderdag 4 januari 2024 @ 13:58:
[...]
CO2 metingen lijken elke 3 seconden langs te komen in de ESPHome logs. Dat is blijkbaar de interval waarop de interne CPU van de Resideo de sensor raadpleegt? Opzich hoeft elke 3s van mij ook weer niet, als ik bijv. elke 5 min. de waarde doorkrijg in HASS is voor mij vaak genoeg. Jullie daar nog ideeën over?
Dit heb ik ook al gevonden, dat is de '3000' die in de YAML staat bij het CM1106 component. Als ik dat aanpas naar 300000 dan komen de metingen elke 5 min. door, wat voor mij prima is.

Before:
YAML:
1
auto cm1106Sensor = new CM1106Sensor(id(cm1106_uart), 3000);

After:
YAML:
1
auto cm1106Sensor = new CM1106Sensor(id(cm1106_uart), 300000);


Na een herstart van de ESP duurde het dan wel 5 min. voor ik de eerste meting doorkreeg. Dat heb ik ook gefixed, door in de setup() in de cm1106.h eerst een delay van 5s te zetten (om de boel even wat tijd te geven, anders werkte het alsnog niet) en daarna een uitlezing van de sensor te doen. Nu is er na het herstarten ook gelijk weer een sensorwaarde beschikbaar. Ik heb de cm1106.h bijgewerkt in m'n eerdere bericht.

@hsmade wat voor apparatuur gebruik je om die signalen zo uit te lezen? Is dat een USB logic analyzer?

[ Voor 3% gewijzigd door ThinkPad op 05-01-2024 10:20 ]


Acties:
  • +7 Henk 'm!

  • hsmade
  • Registratie: December 2023
  • Laatst online: 28-09-2024
Matched: Resideo
Goed, het is me gelukt om de temperatuur en humidity uit te lezen, maar vraag me niet hoe.
In ieder geval heb ik nu iets wat werkt en wat ik kan proberen te 'refactoren'.
Het is erg timing gevoelig lijkt het, wat ook niet heel gek is, want ik doe reverse-bitbanging :D.

Wat ik als eerste probeerde, was om met 2 masters op de I2C bus te werken. Dus de esp als 2de master. Na veel proberen en meten lijkt het er op dat de I2C hardware in de ESP er niet goed tegen kan dat er nog een andere controller op de bus zit. Tijdens idle van de ESP, zie ik heel veel 'ruis' op de bus, waardoor zowel de originele master als de slave de weg kwijt raken.

Daarna probeerde ik om, met de print met het display (en dus de MCU) er af, de sensor te besturen met de ESP, dat gaat ook niet. Ik krijg steeds NACK terug, wat wijst op een hardere pull up op de bus dan de slave kan sinken, of hij 'hoort' me niet.
Ik heb weinig zin om daar aanpassingen aan te doen, aangezien ik de resideo zelf zo min mogelijk wil aanpassen.

Dus, dan maar I2C 'lezen' met GPIO.. Het gaat allemaal erg traag (11-30 kHz), dus dat gaat nog wel. Maar ik merk wel dat je vooral niet te veel dingen tussen twee bytes moet uitvoeren.
Hoe ik het nu gedaan heb is eerst alle 36 bits uitlezen en dan de data er uit plukken. Niet heel netjes, erg verbose en omslachtig, maar het lijkt wel consistent te werken.
Ik wil wel kijken of ik dat nog netter en leesbaarder kan maken.

De code wacht nu op een I2C bericht van de master (de MCU) om te lezen uit adres 0x40, en begint dan mee te lezen. Afhankelijk van hoe je het interval zet in de yaml file, kan het dus zijn dat ie 1 of 2 berichten mist, maar uiteindelijk pakt ie 't wel gewoon weer op.

Code:

C++: cht8305_sensor.h
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
#include "esphome.h"
#define SDA_PIN D2
#define SCL_PIN D1

class Cht8305Sensor : public PollingComponent, public Sensor {
private:

public:
    Sensor *temperature_sensor = new Sensor();
    Sensor *humidity_sensor = new Sensor();
    Cht8305Sensor(uint32_t update_interval) : PollingComponent(update_interval) {

    }

    float get_setup_priority() const { return setup_priority::DATA; }

    void setup() override {
        pinMode(SDA_PIN, INPUT);
        pinMode(SCL_PIN, INPUT);
    }

    void update() override {

        // Check for a possible start of a new transaction
        while(digitalRead(SDA_PIN) == HIGH && digitalRead(SCL_PIN) == HIGH) {}
        ESP_LOGD("I2C", "wait for pins to be high");
        if (digitalRead(SDA_PIN) == HIGH && digitalRead(SCL_PIN) == HIGH) {
            delayMicroseconds(5); // Wait a short time to ensure stability after start condition

            // Check again to see if the bus is still idle
            if (digitalRead(SDA_PIN) == HIGH && digitalRead(SCL_PIN) == HIGH) {
                // Now, it's likely the bus is idle, start listening
                while (digitalRead(SCL_PIN) == HIGH) {} // Wait for the start of a new byte

                // Assume that the bus is stable; start reading bits
                byte receivedByte = 0;
                for (int i = 0; i < 7; i++) {
                    while (digitalRead(SCL_PIN) == LOW) {} // Wait for clock pulse
                    receivedByte = (receivedByte << 1) | digitalRead(SDA_PIN);
                    while (digitalRead(SCL_PIN) == HIGH) {} // Wait for SCL to go low (end of bit)
                }

                // read operation bit
                bool ReadOp;
                while (digitalRead(SCL_PIN) == LOW) {} // Wait for clock pulse
                ReadOp = digitalRead(SDA_PIN) == HIGH?true:false;
                while (digitalRead(SCL_PIN) == HIGH) {} // Wait for SCL to go low (end of bit)

                // read ACK/NACK
                bool ACK;
                while (digitalRead(SCL_PIN) == LOW) {} // Wait for clock pulse
                ACK = digitalRead(SDA_PIN) == LOW?true:false;
                while (digitalRead(SCL_PIN) == HIGH) {} // Wait for SCL to go low (end of bit)


                // this should be the address
//                ESP_LOGD("I2C", "received address %02X, op:%s result:%s", receivedByte, ReadOp?"R":"W", ACK?"ACK":"NACK");
                if (receivedByte != 0x40 || !ReadOp || !ACK) {
                    ESP_LOGW("I2C", "invalid data, breaking off. addr=%02X, read=%u, ack=%u", receivedByte, ReadOp, ACK);
                    return;
                }

                bool bits[36];
                for (int i = 0; i < 36; i++) {
                    while (digitalRead(SCL_PIN) == LOW) {} // Wait for clock pulse
                    bits[i] = digitalRead(SDA_PIN);
                    while (digitalRead(SCL_PIN) == HIGH) {} // Wait for SCL to go low (end of bit)
                }

                uint16_t temp_raw = bits[0];
                for (int i=1; i<8; i++) {
                    temp_raw = (temp_raw << 1) | bits[i];
                }
                //i=8 is ack
                for (int i=9; i<17; i++) {
                    temp_raw = (temp_raw << 1) | bits[i];
                }
                double temperature = 165 * (temp_raw / 65535.0) - 40;
                temperature -= 1.4; // as seen on the display
                ESP_LOGD("cht8305", "temperature: %f raw:%i", temperature, temp_raw);
                temperature_sensor->publish_state(temperature);

                // i=17 is ack
                uint16_t hum_raw = bits[18];
                for (int i=19; i<26; i++) {
                    hum_raw = (hum_raw << 1) | bits[i];
                }
                // i=26 is ack
                for (int i=27; i<35; i++) {
                    hum_raw = (hum_raw << 1) | bits[i];
                }
                double humidity = (hum_raw / 65535.0) * 100;
                humidity += 2; // as seen on the display
                ESP_LOGD("cht8305", "humidity: %f raw:%i", humidity, hum_raw);
                humidity_sensor->publish_state(humidity);
            }
        }
    }
};


C++: cm1106_sensor.h
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
// put this file in your esphome folder
// protocol implemented as described in https://en.gassensor.com.cn/Product_files/Specifications/CM1106-C%20Single%20Beam%20NDIR%20CO2%20Sensor%20Module%20Specification.pdf

#include "esphome.h"

class CM1106 : public UARTDevice {
public:
    CM1106(UARTComponent *parent) : UARTDevice(parent) {}

    int16_t getCo2PPM() {
        byte expectedBytes[] = {0x16, 0x05, 0x01};
        int currentPos = 0;
        uint8_t response[8] = {0};

        while (readUartResponse(response+currentPos, 1)) {
          if (response[currentPos] == expectedBytes[currentPos]) {
              currentPos++;
          }

          if (currentPos != sizeof(expectedBytes)) continue; // haven't read them all yet
          readUartResponse(response+3, sizeof(response)-3);
          uint8_t checksum = calcCRC(response, sizeof(response));
          int16_t ppm = response[3] << 8 | response[4];
          if (response[7] == checksum) {
              ESP_LOGD(TAG, "CM1106 Received CO₂=%uppm DF3=%02X DF4=%02X", ppm, response[5], response[6]);
              return ppm;
          } else {
              ESP_LOGW(TAG, "Got wrong UART checksum: 0x%02X - Calculated: 0x%02X, ppm data: %u", response[7], checksum, ppm);
              return -1;
          }
        }
        return -1;
    }

private:
    const char *TAG = "cm1106";

    // Checksum: 256-(HEAD+LEN+CMD+DATA)%256
    uint8_t calcCRC(uint8_t* response, size_t len) {
        uint8_t crc = 0;
        // last byte of response is checksum, don't calculate it
        for (int i = 0; i < len - 1; i++) {
            crc -= response[i];
        }
        return crc;
    }

    bool readUartResponse(uint8_t *response, size_t responseLen) {
        return read_array(response, responseLen);
    }
};

class CM1106Sensor : public PollingComponent, public Sensor {
private:
    CM1106 *cm1106;

public:
    CM1106Sensor(UARTComponent *parent, uint32_t update_interval) : PollingComponent(update_interval) {
        cm1106 = new CM1106(parent);
    }

    float get_setup_priority() const { return setup_priority::DATA; }

    void setup() override {
    }

    void update() override {
        int16_t ppm = cm1106->getCo2PPM();
        if (ppm > -1) {
            publish_state(ppm);
        }
    }

    virtual ~CM1106Sensor() { delete cm1106; }

};


YAML: resideo.yaml
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
esphome:
  name: resideo
  includes:
    - cm1106_sensor.h
    - cht8305_sensor.h

esp8266:
  board: d1_mini

uart:
  rx_pin: D6
  baud_rate: 9600
  id: cm1106_uart

sensor:
- platform: custom
  lambda: |-
    auto cm1106Sensor = new CM1106Sensor(id(cm1106_uart), 1000);
    App.register_component(cm1106Sensor);
    return {cm1106Sensor};
  sensors:
  - name: "CO₂ Sensor"
    accuracy_decimals: 0
    unit_of_measurement: "ppm"
    icon: "mdi:molecule-co2"

- platform: custom
  lambda: |-
    auto cht8305Sensor = new Cht8305Sensor(2000);
    App.register_component(cht8305Sensor);
    return {cht8305Sensor->temperature_sensor, cht8305Sensor->humidity_sensor};
  sensors:
  - name: "Temperature"
    accuracy_decimals: 1
    unit_of_measurement: "°C"
  - name: "Humidity"
    accuracy_decimals: 1
    unit_of_measurement: "%"

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
hsmade schreef op vrijdag 5 januari 2024 @ 21:52:
Goed, het is me gelukt om de temperatuur en humidity uit te lezen, maar vraag me niet hoe.
Respect _/-\o_

Ik zie dat je van de Wemos de D1 en D2 gebruikt voor SCL/SDA. Kun je aangeven waar op de PCB van de Resideo ik moet inhaken op de I2C aansluiting?

En even ter verificatie: er is in de CM1106 driver niks gewijzigd om dit te kunnen doen? (aangezien je die ook post, maar is vermoedelijk om een complete instructie te hebben staan voor iemand die er mee aan de slag wil).

Toevallig ook nog naar de voeding gekeken, of de ESP ook met de accu gevoed kan worden? Ik wil er graag mee verder en o.a. dit uitzoeken maar gebrek aan tijd :-(

[ Voor 31% gewijzigd door ThinkPad op 05-01-2024 22:31 ]


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
Temperatuur en luchtvochtigheid uitlezen lukt hier nu ook, dankjewel @hsmade _O_

Ik zag trouwens dat als je het display eraf haalt, dat daaronder op het hoofd PCB ook al ruimte lijkt te zijn voor iets van een ESP-10/ESP-11 device, zit ook een soldeerpad bij 'ANT'. Weet niet of je die pins ook had bekeken met logic analyzer? Wellicht stuurt de CPU via die pins ook al de CO2/temp./hum. door?

En het hoofd PCB heeft de opdruk "GS241T-H02-A1-V1.25". De Resideo/Smartwares meter blijkt de Siterwell GS241T te zijn.

[ Voor 16% gewijzigd door ThinkPad op 06-01-2024 14:50 ]


Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 22:02

Gizz

Dunder-Mifflin, Inc.

Matched: Resideo
Over de Resideo, ik heb er nu ook twee! Maar niet om een ESP aan toe te voegen; elke logische ruimte thuis wordt al gemeten met o.a. CO2-sensoren aan een ESP. Ik heb ze gekocht voor op kantoor bij mijn huidige opdrachtgever en eentje om mee te nemen op vakantie of uit te lenen aan vrienden/familie.

Sinds afgelopen maandag heb ik nummer 1 ingeplugd op mijn werk en.. 2x per werkdag roept de Resideo "Low battery!". Wat is dat nou voor een raar gedrag voor een apparaat dat permanent gevoed wordt? :P Heb ik een model met een gare batterij of herkennen anderen ook het semi-willekeurig melden dat de batterij leeg is en is het een bug in de firmware?

Canon EOS 5Dm3 + 5D + 7D + 300D + 1000FN + EF 17-40 4L + EF 35 1.4L + EF 50 1.8 + EF 80-200 2.8L + 550EX


Acties:
  • +1 Henk 'm!

  • VVVJeroen
  • Registratie: Juni 2007
  • Niet online
Matched: Resideo
Gizz schreef op donderdag 11 januari 2024 @ 15:04:
Over de Resideo, ik heb er nu ook twee! Maar niet om een ESP aan toe te voegen; elke logische ruimte thuis wordt al gemeten met o.a. CO2-sensoren aan een ESP. Ik heb ze gekocht voor op kantoor bij mijn huidige opdrachtgever en eentje om mee te nemen op vakantie of uit te lenen aan vrienden/familie.

Sinds afgelopen maandag heb ik nummer 1 ingeplugd op mijn werk en.. 2x per werkdag roept de Resideo "Low battery!". Wat is dat nou voor een raar gedrag voor een apparaat dat permanent gevoed wordt? :P Heb ik een model met een gare batterij of herkennen anderen ook het semi-willekeurig melden dat de batterij leeg is en is het een bug in de firmware?
Dit schijnt op te lossen te zijn door het aan/uit knopje op "On" te zetten, dan blijft hij het ook doen als hij niet in de stekker zit, waardoor je hem makkelijker even buiten kan leggen om te kalibreren naar 400.
ThinkPad schreef op donderdag 4 januari 2024 @ 14:26:
@Soepstengel Handleiding gelezen? Je moet het schakelaartje achterop naar 'on' zetten zodat de interne batterij kan worden opgeladen (ik vermoed dat hij door het schakelaartje fysiek wordt losgekoppeld om battery drain te voorkomen).

Acties:
  • +1 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
@Soepstengel De derde van links als je vanaf de pin met opdruk '3' gaat tellen. De pin met aanduiding 'T' .
De middelste in het rijtje dus eigenlijk, precies boven het 6-potige zwarte chipje.

Sorry heb momenteel geen mogelijkheid om te tekenen zodat ik het kan aanwijzen op je foto :P

CO2-uitlezing werkt hier al dagenlang betrouwbaar. De temperatuur/luchtvochtigheid werkt niet stabiel met ESPHome, staat hier op 'NA' en gebruik ik niet (sorry @hsmade ). Maar was met de ESP erbij in de behuizing ook niet betrouwbaar meer (iig. temperatuur niet, luchtvochtigheid zou minder uit moeten maken zou je zeggen).

Prima apparaatje zo, die Resideo. Mocht er nog iemand van zijn tweede meter af willen, PM sturen mag ;) Had al een familielid die interesse toonde :P

[ Voor 98% gewijzigd door ThinkPad op 19-01-2024 22:04 ]


Acties:
  • +4 Henk 'm!

  • Soepstengel
  • Registratie: April 2006
  • Laatst online: 11-06 13:38
Matched: Resideo
ThinkPad schreef op vrijdag 19 januari 2024 @ 21:59:
@Soepstengel De derde van links als je vanaf de pin met opdruk '3' gaat tellen. De pin met aanduiding 'T' .
De middelste in het rijtje dus eigenlijk, precies boven het 6-potige zwarte chipje.

Sorry heb momenteel geen mogelijkheid om te tekenen zodat ik het kan aanwijzen op je foto :P

CO2-uitlezing werkt hier al dagenlang betrouwbaar. De temperatuur/luchtvochtigheid werkt niet stabiel met ESPHome, staat hier op 'NA' en gebruik ik niet (sorry @hsmade ). Maar was met de ESP erbij in de behuizing ook niet betrouwbaar meer (iig. temperatuur niet, luchtvochtigheid zou minder uit moeten maken zou je zeggen).

Prima apparaatje zo, die Resideo. Mocht er nog iemand van zijn tweede meter af willen, PM sturen mag ;) Had al een familielid die interesse toonde :P
Yes, het werkt! Heeft met wel een avond gekost in totaal, maar dat is vooral te wijten aan mijn niet bestaande soldeer skills (inmiddels wel wat beter). Leuk projectje!

Voor mij moest de yaml wel iets anders, iets met een wrappend sensor block ofzo (ik ben nog steeds geen fan van yaml...)
YAML:
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
esphome:
  name: resideo-01
  friendly_name: Resideo 01
  includes:
    - "cm1106.h"

esp8266:
  board: nodemcuv2

# Enable logging
logger:
  baud_rate: 0 #disable serial logging, because we need RX/TX for the sensor.
    
uart:
  rx_pin: RX
  baud_rate: 9600
  id: cm1106_uart

# hieronder is iets anders
sensor:
- platform: custom
  lambda: |-
    auto cm1106Sensor = new CM1106Sensor(id(cm1106_uart), 3000);
    App.register_component(cm1106Sensor);
    return {cm1106Sensor};
  sensors:
  - name: "CO₂ Sensor"
    accuracy_decimals: 0
    unit_of_measurement: "ppm"
    state_class: measurement
    device_class: carbon_dioxide
    icon: "mdi:molecule-co2"


Overigens ontzettend bedankt voor het delen van de code en alle info @ThinkPad, @hsmade en @TD-er _/-\o_

Desktop: Ryzen 7 7800X3D | 32 GB | Radeon RX 6800


Acties:
  • +4 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
Nog een tip: de Resideo's staan ook betaalbaar (€30) op Marktplaats trouwens, nieuw in doos (y)
Ben er eentje aan het regelen voor familielid :)

[ Voor 20% gewijzigd door ThinkPad op 25-01-2024 13:56 ]


Acties:
  • +1 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
De Resideo van iBood die hier onlangs besproken werd heb je in 10 min. omgebouwd met een ESP8266 erin als je weet aan welke kant je een soldeerbout moet vasthouden :+

Op iBood nu uitverkocht, maar Marktplaats staat er ook vol mee. Ben je voor €25-30 klaar en kun je hem lokaal uitlezen. Zit een CM1106 NDIR sensor in die prima accuraat is vergeleken met een Aranet4 of vergeleken met MH-Z19.

[ Voor 6% gewijzigd door ThinkPad op 12-02-2024 16:18 ]


Acties:
  • 0 Henk 'm!

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 03-06 00:24
Matched: Resideo
Hmm, geen off the shelve oplossing dus. Jammer :)

Maar dat is behoorlijk betaalbaar via Marktplaats. Dan toch maar even knutselen, dank voor de suggestie :)

Ik heb hier geen Home Assistant in gebruik, ESP Home is dus niet heel bruikbaar, maar het lijkt erop dat dit niet super ingewikkeld is om in vanilla Arduino aan de praat te krijgen. Heb ook vooral interesse in de CO2 sensor, dus alleen het UART deel aan de praat krijgen is goed genoeg voor mij.

Paar vraagjes; heb net een van de Resideos uit de doos gehaald, een tijd buiten gezet (paar uur) en daarna ingeschakeld. Hij gaat dan aan het calibreren maar aan het eind van de rit (ver na het calibreren, na iets van een uur) gaf hij een waarde van 600ppm CO2 aan. Dat is een stuk hoger dan ik had verwacht buiten?

Volgende stap is het verbinden van een ESP. Heb hier vooral ESP32-WROOMs liggen. Voor zover ik weet doen die alleen aan 3,3V TTL. Hoe hebben jullie dat opgelost, of valt er niets op te lossen en gebruikt de Resideo ook 3.3V? Op de foto's zitten de ESPs rechtstreeks aan de UART contacten op de prints. De scope zit hier nog in een verhuisdoos :)

Acties:
  • 0 Henk 'm!

  • ZonnigY
  • Registratie: Mei 2022
  • Laatst online: 21:07
Matched: Resideo
Ik heb de resideo's van ibood binnen. Ze vonden het hier bij het aanzetten 1500+ ppm. Mijn gekalibreerde meter zat op 850... Nu even kijken of de auto kalibratie werkt. De handleiding zegt niets over buiten of in een zeer goed gekalibreerde ruimte zetten (zoals bij mijn oude co2 meter), maar vind dat ik hem 24 uur in de ruimte moet laten staan. Dat maar eens testen. Gelukkig kan het alarm uit :)

Bosch 5800i 10, vloerverwarming & fancoils, Zehnder Q600


Acties:
  • 0 Henk 'm!

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 03-06 00:24
Matched: Resideo
Ik heb hier ook zitten kijken bij mijn Steinel Multisensor (KNX aanwezigheidsmelder) en daar staat in de handleiding ook niets over calibreren. Vreemd. Zelfde met de Gira CO2 KNX sensoren die ik hier heb hangen:
https://partner.gira.de/data2/21043290.pdf

In die handleiding staat alleen:
CO2 sensor module
The integrated CO2 sensor module is responsible for measuring the CO2. It is maintenance-free
due to the automatic calibration method (dual beam measuring cell). It has excellent long-term
stability.
After switch-on, the CO2 sensor module requires a warm-up period of up to 5 minutes, until
normal operation is reached.
The automatic calibration method is only available in the case of permanent bus voltage
and after 24 hours for the first time.
Mij lijkt dat die auto calibratie alleen werkt als je regelmatig 400ppm (of iets in die buurt) in de ruimte hebt waar de sensor hangt. Dit is wat die sensoren nu doen:

Afbeeldingslocatie: https://tweakers.net/i/fQLH0606DhzdZT5TMBCsD-4XptE=/800x/filters:strip_exif()/f/image/1a7xtnDZPFTemOSgdqW9I063.png?f=fotoalbum_large

Iedere keer twee sensoren in 1 ruimte. Je ziet dat ze wel dezelfde trend volgen, maar ze zijn het niet bepaald eens over de absolute waarde...

De Steinel is het overigens behoorlijk eens met de Resideo's die nu op mijn bureau staan in het kantoor. Steinel zegt 975ppm, Resideo's zeggen 1025 en 1040 ppm.

Lijkt erop dat ik hier wat meer moet gaan ventileren. Volgende project is de Zehnder Q600 WTW-unit traploos in toerental laten varieren op basis van CO2. Heb ook een klep in het systeem zitten waardoor ik de ventilatievoud op de benedenverdiepingen kan verlagen als we allemaal op de slaapverdieping zijn. Er valt genoeg te spelen met de CO2 waardes dus.


@Raymond P Haha, ik had de Resideo's natuurlijk wel aangezet. Maar hoge luchtvochtigheid kan best het probleem zijn geweest hier. Dank voor de datasheet!

[ Voor 14% gewijzigd door bartvb op 14-02-2024 22:09 ]


Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 07:07
Matched: Resideo
@TD-er Is het een idee om die resideo ondersteuning mee te nemen in ESPEasy? (climate build)
Ik heb nu een Resideo omgebouwd zoals velen hier, heb nog een RF chipje liggen voor besturing van een Orcon MVS15RHB. Zou mooi zijn als ik die besturing in de resideo kan proppen, scheelt me een controller (en 5V adapter)

Echter is Orcon ondersteuning alleen in de Itho plugin van ESPEasy gebouwd, is niet meegenomen naar de port voor ESPHome.

Acties:
  • 0 Henk 'm!

  • OcGuru
  • Registratie: Juni 2004
  • Laatst online: 22:15

OcGuru

Giulietta Qv

Matched: Resideo
Hier ook aan het stoeien met een van de Resideo van Ibood.

Heb nu een draad aan de D aansluiting zitten de de G.

de D gaat uiteraard naar de Rx van de esp8266. en de G naar de ground toe van de esp.

Maar zodra ik deze inplug op de esp stopt de communicatie tussen de co2 module en display. Tevens krijg ik geen data binnen dan. Haal ik hem weer los dan werkt weer alles als vanouds. Heb er nu een logic analyzer op zitten en dit werkt prima.

Moet de seriële poort van de esp eerst nog geconfigureerd worden ofzo ? Dacht dat een hardware matige Rx pin gewoon direct zou moeten werken.

Bl44t


Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 07:07
Matched: Resideo
De RX van de ESP is standaard een seriele console, die moet je uitschakelen. Tevens is de RX hoog tijdens boot. Misschien toch handiger om een andere pin te kiezen hiervoor?

Hier werkt ie inmiddels. Gisteren een halfuur buiten gelegd (daarom is de accu handig), is nu gecalibreerd. Gaf buiten 575 of iets in die richting aan, dus was ook wel nodig.

Geeft wel bewustwording zo'n ding. We ventileren meer inmiddels.

Orcon inmiddels ook aan de praat, maar nog met 2 losse modules. Nu de boel nog samen laten werken in HA.
Heb nog een resideo liggen en een extra RF module, dus mogelijk ga ik nog kijken of ik een plugin voor espeasy kan maken of de Orcon support alsnog naar esphome krijgen.

Acties:
  • +1 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 07:07
Matched: Resideo
Nog een andere plek gevonden in de resideo behuizing: op z'n kant naast de print. Moeten er wel 2 nokjes van het deksel gesneden worden en misschien even een tussenschotje maken.
Voordeel is dat ik dan de RF module in het verlengde van de ESP binnenin de behuizing kwijt kan.

Orcon RF support ga ik naar ESPHome trekken. Integreert net wat makkelijker met HA dan ESPEasy.

Overigens debiel wat houtkachels in de lucht gooien. Had vanavond 1570ppm te pakken, zet het raam open en liep alleen maar op :X. Halve straat heeft houtkachels en het is windstil.

[ Voor 19% gewijzigd door _JGC_ op 17-02-2024 23:07 ]


Acties:
  • 0 Henk 'm!

Anoniem: 1221402

Matched: Resideo
Hier nu ook 2 Resideo co2 meters in huis. De waardes lijken mij toch redelijk wat hoog. Half dagje in de buitenlucht gehad gisteren en veel lager dan 600ppm komen ze niet. Kwestie van tijd? Kan niet echt vinden hoe deze sensoren zichzelf kalibreren.

Acties:
  • +2 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 07:07
Matched: Resideo
De sensor in de resideo doet automatische calibratie. De eerste 24 uur wordt de laagste waarde op 400 gezet, vervolgens wordt dat elke 7 dagen gedaan.

Als je dat ding de eerste 24 uur een tijdje buiten legt of in een extreem goed geventileerde ruimte is dat de waarde die als 400 gezet wordt.

Leg je dat ding neer in een slecht geventileerde ruimte die altijd op 1500 zit, is die 1500 na een dag de nieuwe 400 waarde en geeft je meter altijd 400 aan.

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
De CO2-sensor in de Resideo is een CM1106 waar een datasheet van beschikbaar is. Hier staat in beschreven hoe je de sensor kan kalibreren:

- De 'CA' pin een aantal seconden verbinden (maar of dat met GND of 3V3 is staat er dan weer niet bij :S )
- Een commando tot kalibratie sturen over serial

Voor dat tweede kun je het beste de sensor even demonteren van de Resideo en standalone met een ESP o.i.d. verbinden, dan weet je zeker dat de CPU van de Resideo zich er niet mee loopt te bemoeien. En dan kun je ook zien wat voor reply de CO2-sensor teruggeeft.

[ Voor 7% gewijzigd door ThinkPad op 18-02-2024 09:49 ]


Acties:
  • 0 Henk 'm!

  • Raymond P
  • Registratie: September 2006
  • Laatst online: 07:15
Matched: Resideo
_JGC_ schreef op zaterdag 17 februari 2024 @ 23:05:
Nog een andere plek gevonden in de resideo behuizing: op z'n kant naast de print. Moeten er wel 2 nokjes van het deksel gesneden worden en misschien even een tussenschotje maken.
Voordeel is dat ik dan de RF module in het verlengde van de ESP binnenin de behuizing kwijt kan.

Orcon RF support ga ik naar ESPHome trekken. Integreert net wat makkelijker met HA dan ESPEasy.

Overigens debiel wat houtkachels in de lucht gooien. Had vanavond 1570ppm te pakken, zet het raam open en liep alleen maar op :X. Halve straat heeft houtkachels en het is windstil.
Ik denk dat je dan ook heel erg blij wordt van een fijnstofmeter. :p Hier ook last van als de wind verkeerd staat.
Ikea heeft een unit voor een paar tientjes, daar zit een Sen54 in.

---

Over een paar maandjes komt Sensirion overigens met een (erg kleine) sensor waar onder andere een fijnstof, nox én ndir co2 sensor in zit (sen6x).

- knip -


Acties:
  • +1 Henk 'm!

  • Ingelogd
  • Registratie: April 2010
  • Laatst online: 10-06 08:53
Matched: Resideo
_JGC_ schreef op zondag 18 februari 2024 @ 09:18:
De sensor in de resideo doet automatische calibratie. De eerste 24 uur wordt de laagste waarde op 400 gezet, vervolgens wordt dat elke 7 dagen gedaan.

Als je dat ding de eerste 24 uur een tijdje buiten legt of in een extreem goed geventileerde ruimte is dat de waarde die als 400 gezet wordt.

Leg je dat ding neer in een slecht geventileerde ruimte die altijd op 1500 zit, is die 1500 na een dag de nieuwe 400 waarde en geeft je meter altijd 400 aan.
400ppm klopt eigenlijk ook niet meer. In 2015 zat het rond de 400ppm, gemiddeld in 2023 was het 420ppm. Eigenlijk zou er een optie moeten zijn dat de 1-punts kalibratie waarde van de sensor handmatig aangepast kan worden.

[ Voor 4% gewijzigd door Ingelogd op 18-02-2024 14:11 ]


Acties:
  • 0 Henk 'm!

  • OcGuru
  • Registratie: Juni 2004
  • Laatst online: 22:15

OcGuru

Giulietta Qv

Matched: Resideo
TD-er schreef op zaterdag 17 februari 2024 @ 16:49:
Hoe is de power van je ESP en de sensor geregeld?
Als je beide GNDs met elkaar verbind, maar ze hebben elk een eigen voeding, dan kun je hele vreemde dingen krijgen.

Het beste is om alles uit dezelfde voeding te doen (mits deze dat trekt en alle kabeltjes niet te dun zijn uiteraard)
Welk signaal-niveau voor de serial data heeft de sensor nodig?
Als dit 5V level is, dan kan het zijn dat de interne diodes in de ESP dit naar 3V3 trekken en daardoor de levels te laag worden vor je display met z'n eigen controller.
Esp word door de usb gevoed dor de pc. En de resideo door zn accu. Ik zou toch moeten werken als je beide gnd aan elkaar koppelt zodat de allebei dezelfde 0v- referentie hebben. Vaak genoeg verschillende dingen gevoed via deze manier :P


Maar goed. Hij doet het inmiddels naar veel try & error :o. Er stonden een paar spaties verkeerd en daardoor kreeg ik een shitload aan compile errors met de meest wazige waarschuwingen cq foutmeldingen. Lekker makkelijk |:( :P


Afbeeldingslocatie: https://tweakers.net/fotoalbum/image/pST3U5brV0spQKZqyUh5dHKp.png


De mensen in de topic super bedankt voor de aangepaste cm1106.h file en alle informatie en uitzoekwerk _/-\o_

Bl44t


Acties:
  • 0 Henk 'm!

  • Driek
  • Registratie: Maart 2002
  • Laatst online: 21:42
Matched: Resideo
ThinkPad schreef op maandag 12 februari 2024 @ 16:17:
De Resideo van iBood die hier onlangs besproken werd heb je in 10 min. omgebouwd met een ESP8266 erin als je weet aan welke kant je een soldeerbout moet vasthouden :+

Op iBood nu uitverkocht, maar Marktplaats staat er ook vol mee. Ben je voor €25-30 klaar en kun je hem lokaal uitlezen. Zit een CM1106 NDIR sensor in die prima accuraat is vergeleken met een Aranet4 of vergeleken met MH-Z19.
Is er nog een specifieke esp8266? Ik verdwaal altijd in de versie die er zijn.

Er is een resideo onderweg, daarna uiteraard aan de slag om te koppelen aan ha.

Tijd van werken, tijd van rusten


Acties:
  • +1 Henk 'm!

  • TD-er
  • Registratie: Januari 2000
  • Laatst online: 31-05 11:50
Matched: Resideo
@_JGC_ Evengoed zou een PR, of een GitHub issue met de benodigde info voor implementatie van de resideo in ESPEasy nog steeds welkom zijn hoor :)

Een goedkope voeding is als een lot in de loterij, je maakt kans op een paar tientjes korting, maar meestal betaal je de hoofdprijs. mijn posts (nodig wegens nieuwe layout)


Acties:
  • 0 Henk 'm!

  • Driek
  • Registratie: Maart 2002
  • Laatst online: 21:42
Matched: Resideo
is er ergens een goede how to om de esp aan de resideo te hangen, en de esp te programmeren/flashen?

Tijd van werken, tijd van rusten


Acties:
  • 0 Henk 'm!

  • Cadezo
  • Registratie: Februari 2006
  • Niet online
Matched: Resideo
Ik heb ook de Resideo geüpgraded met een Wemos D1 Mini (5V/GND van de DC barrel; Tx naar Rx). Het valt me alleen op dat de waarde in Home Assistant achterloopt op de waarde op het display (op de Resideo zelf). Als ik bijvoorbeeld kunstmatig hoeveelheid CO2 verhoog dan wordt dit vrijwel direct weergegeven op het diplay, terwijl de waarde in Home Assistant pas later omhoog schiet. Meer mensen die dit opvalt?

Nvm, opnieuw compiled (met korter update interval van 1sec/1000ms in de yaml) en nu is het realtime.

[ Voor 16% gewijzigd door Cadezo op 20-02-2024 18:35 ]


Acties:
  • 0 Henk 'm!

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 03-06 00:24
Matched: Resideo
Driek schreef op dinsdag 20 februari 2024 @ 09:37:
is er ergens een goede how to om de esp aan de resideo te hangen, en de esp te programmeren/flashen?
Er staat behoorlijk wat informatie in dit topic. Maar het hangt er nogal vanaf wat je wil doen. Met de posts in dit topic zou het moeten lukken om de waardes in Home Assistant te krijgen.

Een gestructureerde HowTo is er, voor zover ik weet, niet.

  • Cadezo
  • Registratie: Februari 2006
  • Niet online
Matched: Resideo
Cadezo schreef op dinsdag 20 februari 2024 @ 18:22:
Ik heb ook de Resideo geüpgraded met een Wemos D1 Mini (5V/GND van de DC barrel; Tx naar Rx). Het valt me alleen op dat de waarde in Home Assistant achterloopt op de waarde op het display (op de Resideo zelf). Als ik bijvoorbeeld kunstmatig hoeveelheid CO2 verhoog dan wordt dit vrijwel direct weergegeven op het diplay, terwijl de waarde in Home Assistant pas later omhoog schiet. Meer mensen die dit opvalt?

Nvm, opnieuw compiled (met korter update interval van 1sec/1000ms in de yaml) en nu is het realtime.
Toch even hier terugkomend... Gaat dus om de Resideo-ESP mod.

Ik merk dat als ik het update interval op 3000ms laat staan in de yaml, dat er een mismatch is tussen de waarde op het display en de waarde in Home Assistant. Zeker bij een plotseling stijging of daling van de CO2-waarde wordt dit vrijwel direct weergegeven op het display, maar wordt dit pas beduidend later weergegeven in Home Assistant.

Als ik het update interval op 1500ms of 1000ms zet dan merk ik dat de CO2-waarde in Home Assistant wel realtime is (en soms zelfs heel kort lijkt voor te lopen op de waarde op het display). Enige is dat er errors en warnings in de ESPhome log komen:

code:
1
2
3
[19:20:24][E][uart:015]: Reading from UART timed out at byte 0!
[19:20:24][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).
[19:20:24][W][component:215]: Components should block for at most 20-30ms.


Verder lijkt het prima te werken. Ik kan alleen even niet goed de impact van de error/warnings inschatten. Iemand die hier meer verstand van heeft?

Gaat dus om deze regel in de yaml:
C++:
1
auto cm1106Sensor = new CM1106Sensor(id(cm1106_uart), 3000);

Acties:
  • +2 Henk 'm!

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 03-06 00:24
Matched: Resideo
Misschien helpt mijn geprutst nog wat?

Zoals gezegd heb ik geen Home Assistant en dus ook geen ESPhome. Heb net een ESP32 C3 Super Mini aan de Resideo gehangen. Heb de contacten die bereikbaar zijn aan de achterkant (bij de voeding) gebruikt. Heb het stukje plastic met de gaatjes weggeknipt.

V = 3,3V op de ESP32
G = Ground
D = pin 20 (RX op de ESP)
C = pin 21 (TX op de ESP)

Met die TX doe ik (nog) niets. Maar in theorie zou het mogelijk moeten zijn om b.v. de sensor te laten calibreren. Als je maar zorgt dat je niet door de communicatie van de MCU van de Resideo heen zit maar dat is vrij voorspelbaar.

Dit is de Arduino code:


*** Code verwijderd. Zie 2 posts verder ***


Werkt (tijdens mijn minimale testen ;) ) perfect. Heb je ook geen gehackte CH1106 library nodig :)

Ik moet hier nog even een MQTT library in hangen en dan is dit projectje weer klaar.

Afbeeldingslocatie: https://tweakers.net/i/2x6HPUsTeM2wG6gZMfUcu13AAvU=/x800/filters:strip_icc():strip_exif()/f/image/CGPIFUDIn9fFgxsCXCR2HIc9.jpg?f=fotoalbum_large

[ Voor 61% gewijzigd door bartvb op 23-02-2024 15:51 ]


Acties:
  • +1 Henk 'm!

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 03-06 00:24
Matched: Resideo
Allereerst en niet te vergeten; iedereen in dit topic ontzettend veel dank voor het uitpluizen van hardware/software en het tippen van de Resideo!


Mijn eerste code was niet helemaal OK, hield er na een paar uur mee op. Verbeterde (en wat strakkere) versie die ook de statusbits uitleest:

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
#include <map>

// Pins for external UART
#define RXD1 20
#define TXD1 21

void processCM106(HardwareSerial& serial);
void sendCO2(int co2level, bool statusBits[], std::map<int, const char*>& statusLabels);

void setup() {
  wifiSetup();

  Log.begin();

  // External UART
  Serial1.begin(9600, SERIAL_8N1, RXD1, TXD1);
}

void loop() {
  processCM1106(Serial1);
  delay(20);  // Save some energy

  Log.loop();
}


void processCM1106(HardwareSerial& serial) {
  const byte startByte1 = 0x16;
  const byte startByte2 = 0x05;
  const byte startByte3 = 0x01;
  const int packetLength = 8;

  static byte buffer[packetLength];
  static int index = 0;

  // Define and populate the statusLabels map
  std::map<int, const char*> statusLabels;
  statusLabels[0] = "preheating";
  statusLabels[1] = "sensor_error";
  statusLabels[2] = "over_measurement";
  statusLabels[3] = "under_measurement";
  statusLabels[4] = "non_calibrated";
  statusLabels[5] = "light_aging";
  statusLabels[6] = "drift";
  statusLabels[7] = "reserved";

  while (serial.available()) {
    byte receivedByte = serial.read();
    if (index == 0 && receivedByte != startByte1) {
      continue;  // Skip if the first byte doesn't match
    }
    buffer[index] = receivedByte;
    index++;

    if (index == packetLength) {
      if (buffer[0] == startByte1 && buffer[1] == startByte2 && buffer[2] == startByte3) {
        // Packet found, process it
        int co2level = buffer[3] * 256 + buffer[4];
        byte status_byte = buffer[5];

      bool statusBits[8];
      for (int i = 0; i < 8; i++) {
        statusBits[i] = (status_byte >> i) & 0x01;
      }

      // Call sendCO2 with CO2 level, statusBits array, and statusLabels map
      sendCO2(co2level, statusBits, statusLabels);

      }
      index = 0;  // Reset index for the next packet
    }
  }
}


void sendCO2(int co2level, bool statusBits[], std::map<int, const char*>& statusLabels) {
  // Print CO2 level
  Log.print("CO2 Level: ");
  Log.println(co2level);

  // Print status labels and values
  Log.println("Status:");
  for (int i = 0; i < 8; i++) {
    Log.print(statusLabels[i]);
    Log.print(": ");
    Log.println(statusBits[i] ? "true" : "false");
  }
}


Niet 1 op 1 copy/pastebaar. Je moet even je eigen Wifi code hierin zetten ipv `wifiSetup();` en ik gebruik een Logging library. Je kan `Log.` vervangen door `Serial.` als je in je `setup()` even `Serial.begin(115200)` doet.

Verbeteringen/opmerkingen zeer welkom.

[ Voor 10% gewijzigd door bartvb op 23-02-2024 16:26 ]


Acties:
  • +2 Henk 'm!

  • jj85
  • Registratie: Januari 2002
  • Laatst online: 08:08
Matched: Resideo
offtopic:
Resideo CO2 meter, nieuw voor ongeveer 30 euro nu https://www.amazon.nl/Res...xidesensor/dp/B09HKKSKZ1/

Acties:
  • 0 Henk 'm!

  • jweetje
  • Registratie: Februari 2022
  • Laatst online: 22:27
Matched: Resideo
Dankzij de leuke hacks hier ook twee Resideo's aangeschaft. De mod met ESP en Ha staat op de planning. Bij het proberen van de sensors met mij stomme kop 8)7 unit-1 in huis aangezet en die de calibratie laten doorlopen. Unit-1 heeft wat waarde weergegegevn maar blijft nu eigenlijk standaard op 400ppm staan. Heb accu al los gehad en daarna buiten laten staan voor uurtje en de calibratie laten doorlopen tegelijk met unit-2. Geen effect, uni-2 geeft geeft realistische waarde aan binnen maar unit-1 blijft 400ppm aangeven. De handleiding is erg beperkt. Kan ik nog een factory reset doen of is unit-1 gewoon niet good?

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
Dat voorbeeld van @bartvb luistert naar de pins van de Resideo processor, die herhaalt namelijk wat hij vanuit de CO₂-sensor ontvangt. Dat is pas later in dit topic ontdekt dat de data ook op die pins te vinden is.

Ik heb het zoals hier: Soepstengel in "CO2-meters voor in huis" aangesloten, rechtstreeks op de “T”-pin van de CO₂-module en ergens een 5V en GND voor de ESP gepakt.

Werkt bij mij prima, welke methode nou beter is weet ik niet. Zal liggen aan de kwaliteit van de drivers die de vertaalslag in ESPHome doen.
Ze doen als ik zo gauw kijk beiden grotendeels hetzelfde: wachten tot het juiste patroon van hexadecimale data voorbijkomt en dat ontcijferen. Bij de code van @hsmade zie ik nog wat staan over CRC, wat altijd handig is om rare waardes eruit te filteren. Maar misschien is er in de code van @bartvb ook een dergelijk mechanisme aanwezig, dat vind ik lastig beoordelen omdat ik geen (C++) programmeur ben.

[ Voor 37% gewijzigd door ThinkPad op 10-03-2024 07:13 ]


Acties:
  • +7 Henk 'm!

  • Skix_Aces
  • Registratie: Oktober 2015
  • Laatst online: 11-06 19:46
Matched: Resideo
Ik heb recent ook 2x resideo's aangeschaft. Op aliexpress heb ik vervolgens een aantal ESP32 C3 Mini's gehaald om de boel aan te sturen.

Bij de eerste resideo heb ik de Esp32 gevoed vanuit de 5V van de adapter. Het CO2 signaal haal ik rechtstreeks van de CM1106 af, en ik heb ook de I2C bus verbonden. Op de afbeelding hieronder zie je hoe ik het gesoldeerd heb.

Afbeeldingslocatie: https://tweakers.net/i/lbfNQGL3ND9RPnLKBE1oc9Vd-hc=/x800/filters:strip_icc():strip_exif()/f/image/2On99P42grMDz1yFYxNHdrNl.jpg?f=fotoalbum_large

Het nadeel van deze oplossing is dat als de 5V voeding niet verbonden is, de ESP32 niet meer werkt (Duhh). Vandaar dat ik bij de 2e resideo, de ESP32 op de 3V3 van het bordje heb aangesloten. Dit heb ik als volgt gedaan.

Rode draad: 3V3
Zwarte draad: gnd
Blauw gestreept linksboven: UART voor CO2
Groen gestreept linksonder: SCL van I2C voor temp/hum
Blauw gestreept linksonder: SDA van I2C voor temp/hum

Afbeeldingslocatie: https://tweakers.net/i/m3gEcyhfb-aToXpLABk0bPJAg64=/x800/filters:strip_icc():strip_exif()/f/image/7VUnqnHzdgb5l0lFCIur4P7G.jpg?f=fotoalbum_large

Met deze opstelling werkt hij ook nog op de backup batterij. Helemaal top :)

Ik heb de aansluiting naar de C3 mini als volgt gedaan:

Pin 20: UART RX (vanuit CM1106 TX)
Pin 8: I2C SDA
Pin 9: I2C SCL

Ik heb de esphome drivers van @hsmade gebruikt: https://gathering.tweaker...message/77705490#77705490. De CO2-meter uit lezen werkt perfect en gaat in real-time en synchroon met het scherm van de resideo. De temperatuur/vochtigheid uitlezen gaat echter minder goed. Deze wordt maar eens in de paar uur geüpdatet in Home Assistant. Ook nadat de temperatuur op de resideo is veranderd.

Als ik naar de driver kijk wordt deze om de 2000 (welke unit, ms, us??) gepolled, waarna er sowieso een transactie wordt uitgelezen. Als het niet het juiste adres is gaat hij uit de functie. Het is dus goed mogelijk dat hij elke keer op het verkeerde moment polled, en maar eens in de zoveel uur wel een geldige transactie ziet. Ik ga hier vanavond wat mee spelen.

In ieder geval een leuk projectje, waar ik uiteindelijk mijn WTW automatisch mee wil aansturen :D

[ Voor 4% gewijzigd door Skix_Aces op 12-03-2024 20:56 ]


Acties:
  • 0 Henk 'm!

  • The Fatal
  • Registratie: Maart 2009
  • Laatst online: 06:38
Matched: Resideo
huer ook begonnen met een resideo en een esp32-C3.

Krijg de waardes uitgelezen, maar wel veel errors op de UART in de esphome log:

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
[11:25:36][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).
[11:25:36][W][component:215]: Components should block for at most 20-30ms.
[11:25:37][E][uart:015]: Reading from UART timed out at byte 0!
[11:25:37][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).
[11:25:37][W][component:215]: Components should block for at most 20-30ms.
[11:25:38][E][uart:015]: Reading from UART timed out at byte 0!
[11:25:38][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).
[11:25:38][W][component:215]: Components should block for at most 20-30ms.
[11:25:39][D][cm1106:025]: CM1106 Received CO₂=969ppm DF3=00 DF4=A2
[11:25:39][D][sensor:094]: 'CO₂ Sensor': Sending state 969.00000 ppm with 0 decimals of accuracy
[11:25:39][W][component:214]: Component <unknown> took a long time for an operation (0.13 s).
[11:25:39][W][component:215]: Components should block for at most 20-30ms.
[11:25:40][E][uart:015]: Reading from UART timed out at byte 0!
[11:25:40][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).
[11:25:40][W][component:215]: Components should block for at most 20-30ms.
[11:25:41][D][cm1106:025]: CM1106 Received CO₂=970ppm DF3=00 DF4=A4
[11:25:41][D][sensor:094]: 'CO₂ Sensor': Sending state 970.00000 ppm with 0 decimals of accuracy
[11:25:41][W][component:214]: Component <unknown> took a long time for an operation (0.13 s).
[11:25:41][W][component:215]: Components should block for at most 20-30ms.
[11:25:42][E][uart:015]: Reading from UART timed out at byte 0!
[11:25:42][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).
[11:25:42][W][component:215]: Components should block for at most 20-30ms.
[11:25:43][E][uart:015]: Reading from UART timed out at byte 0!
[11:25:43][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).


deze krijg ik er niet uitgefilterd.
Krijgen jullie deze ook?
Zie verschillende versies van files voor de zelfde sensoren. Is het misschien handig om de goede werkende versies ergens centraler te verzamelen?

Acties:
  • +1 Henk 'm!

  • _CrookClaw_
  • Registratie: Mei 2015
  • Laatst online: 21-05 12:16
Matched: Resideo
@ThinkPad & @Skix_Aces bedankt voor jullie uitleg. Ik heb gisteren alles binnen gekregen en heb vandaag de eerste CO2 sensor gesoldeerd. Was met jullie aanwijzingen een fluitje van een cent.

@The Fatal Ik krijg deze errors ook binnen, hoewel de data netjes binnenkomt in HA, zijn het wel veel errors. Wellicht dat iemand hier weet hoe dat opgelost kan worden. In dat geval wil ik best een Github repo maken met uitleg welke punten op de printplaat je moet solderen en hoe je esp home moet instellen voor de Resideo, inclusief de code.

Acties:
  • 0 Henk 'm!

  • LarsMachiels
  • Registratie: November 2019
  • Laatst online: 19-05 11:41
Matched: Resideo
Het lijkt er op dat de sensor te vaak uitgelezen wordt. Meestal moet je zo'n 5 seconden tussen elke bevraging houden anders houdt de sensor het niet bij.
The Fatal schreef op zondag 17 maart 2024 @ 11:32:
huer ook begonnen met een resideo en een esp32-C3.

Krijg de waardes uitgelezen, maar wel veel errors op de UART in de esphome log:

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
[11:25:36][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).
[11:25:36][W][component:215]: Components should block for at most 20-30ms.
[11:25:37][E][uart:015]: Reading from UART timed out at byte 0!
[11:25:37][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).
[11:25:37][W][component:215]: Components should block for at most 20-30ms.
[11:25:38][E][uart:015]: Reading from UART timed out at byte 0!
[11:25:38][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).
[11:25:38][W][component:215]: Components should block for at most 20-30ms.
[11:25:39][D][cm1106:025]: CM1106 Received CO₂=969ppm DF3=00 DF4=A2
[11:25:39][D][sensor:094]: 'CO₂ Sensor': Sending state 969.00000 ppm with 0 decimals of accuracy
[11:25:39][W][component:214]: Component <unknown> took a long time for an operation (0.13 s).
[11:25:39][W][component:215]: Components should block for at most 20-30ms.
[11:25:40][E][uart:015]: Reading from UART timed out at byte 0!
[11:25:40][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).
[11:25:40][W][component:215]: Components should block for at most 20-30ms.
[11:25:41][D][cm1106:025]: CM1106 Received CO₂=970ppm DF3=00 DF4=A4
[11:25:41][D][sensor:094]: 'CO₂ Sensor': Sending state 970.00000 ppm with 0 decimals of accuracy
[11:25:41][W][component:214]: Component <unknown> took a long time for an operation (0.13 s).
[11:25:41][W][component:215]: Components should block for at most 20-30ms.
[11:25:42][E][uart:015]: Reading from UART timed out at byte 0!
[11:25:42][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).
[11:25:42][W][component:215]: Components should block for at most 20-30ms.
[11:25:43][E][uart:015]: Reading from UART timed out at byte 0!
[11:25:43][W][component:214]: Component <unknown> took a long time for an operation (0.10 s).


deze krijg ik er niet uitgefilterd.
Krijgen jullie deze ook?
Zie verschillende versies van files voor de zelfde sensoren. Is het misschien handig om de goede werkende versies ergens centraler te verzamelen?

Acties:
  • +6 Henk 'm!

  • Skix_Aces
  • Registratie: Oktober 2015
  • Laatst online: 11-06 19:46
Matched: Resideo
Ik zie dat er een aantal verkeerde aannames voorbij komen omtrent de UART bus.

Op het moment dat je de geintegreerde UART controller van je microcontroller gebruikt, is deze altijd data aan het lezen. Zodra de controller data ontvangt wordt dit in een buffer gestopt. Vervolgens is het aan de gebruiker om deze data uit de buffer te halen. Dit is ook wat de cm1106_sensor.h driver van @hsmade doet. De polling interval die je in de .yaml instelt geeft eigenlijk alleen maar aan hoevaak je die buffer gaat uitlezen. En dit is waar het mis gaat.

De driver die eerder gedeeld is checked niet of er daadwerkelijk data in de buffer klaar staat om gelezen te worden. Als de driver een read van de buffer doet, terwijl er geen data in zit, zal de onderliggende UART driver de volgende error geven:

code:
1
[E][uart:015]: Reading from UART timed out at byte 0!


Dit gebeurd dus als de polling interval kleiner is dan het interval waarmee de co2 sensor berichten uitstuurt.

Op het moment dat je de polling interval groter maakt krijg je ook een probleem. Uit mijn bevindingen stuurt de co2 sensor elke 2 seconde een bericht op de UART bus. Stel je leest de buffer elke 30 seconden uit omdat je dat genoeg lijkt. Dan wordt er voor elk bericht dat je uit de buffer leest, er 15 in geschreven. Je krijgt dus een delay op je meting die snel oploopt. Op een gegeven moment zit de buffer vol en heb je de maximale delay bereikt. Bij esphome staat de buffer grootte standaard op 256 bytes ingesteld. Een bericht van de Co2 sensor is 8 bytes groot wat betekend dat je er 32 van kan opslaan. Dan loop je op een gegeven moment 32*30=960 seconde = 16 minuten achter op de huidige waarde. Hoe groter de polling interval, hoe groter dit probleem wordt. Dit is niet wat je wil.

Gelukkig is er tegen beide problemen iets te doen. De UART driver heeft ondersteuning voor de volgende functie:

code:
1
int available()


Hiermee kun je zien hoeveel bytes er zijn opgeslagen in de buffer. Hiermee kan een conditie gemaakt worden dat de CM1106 driver de buffer niet moet uitlezen als hij leeg is. Ook is het mogelijk om erachter te komen hoeveel berichten er in de buffer zitten, zodat de laatste waarde is uit te lezen.

Verder is het mogelijk om in de .yaml config de UART buffer grootte aan te passen. Zoals eerder gezegd is deze 256 bytes groot. Dit betekent dat er 64 seconde aan berichten in past. Wil je een polling interval die groter is dan dat, moet je de buffer grootte zo instellen dat het past. Stel je wilt een polling interval van 15 minuten (900 seconde), dan heb je minimaal een buffer nodig van: (900 / 2) * 8 bytes = 3600 bytes.

Ik heb de CM1106 driver opgeschoond om deze features toe te voegen. Zie de source code hieronder. Ik ben nog van plan het netjes in github in te checken. Doe ik vanavond misschien wel.

(EDIT 23-03-2024): Toekomstige driver updates zullen voortaan in
deze github repository geplaatst worden. De onderstaande driver laat ik hier staan voor het geval de link ooit dood gaat, maar het is mogelijk dat er een nieuwere versie van de driver beschikbaar is!

C++: cm1106_sensor.h
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
// put this file in your esphome folder
// protocol implemented as described in https://en.gassensor.com.cn/Product_files/Specifications/CM1106-C%20Single%20Beam%20NDIR%20CO2%20Sensor%20Module%20Specification.pdf

#include "esphome.h"

class CM1106 : public UARTDevice {
public:
    CM1106(UARTComponent *parent) : UARTDevice(parent) {}

    int16_t getCo2PPM() {
        // The expected response consists of 8 bytes
        // | 0    | 1   | 2   | 3     | 4     | 5     | 6     | 7  |
        // | HEAD | LEN | CMD | DATA1 | DATA2 | DATA3 | DATA4 | CS |
        uint8_t response[NUM_MSG_BYTES] = {0};

        // All read responses start with 0x16
        // The payload length for the Co2 message is 0x05
        // The command for the Co2 message is 0x01
        uint8_t expectedHeader[] = {0x16, 0x05, 0x01};
        int currentPos = 0;

        int availableBytes = readUartFillLevel();
        
        if (availableBytes < NUM_MSG_BYTES) {
            return -1;
        }

        // We are only interested in the last message, drop all others
        while (availableBytes >= (2*NUM_MSG_BYTES)) {
            readUartResponse(response, NUM_MSG_BYTES);
            availableBytes = readUartFillLevel();
        }

        // Find the expected header
        while (currentPos < sizeof(expectedHeader)) {
            if (readUartFillLevel()) {
                readUartResponse(response+currentPos, 1);
            } else {
                return -1;
            }
            
            if (response[currentPos] == expectedHeader[currentPos]) {
                currentPos++;
            }
        }

        // If present, read the data and checksum
        if (readUartFillLevel() >= NUM_MSG_BYTES - sizeof(expectedHeader)) {
            readUartResponse(response+currentPos, NUM_MSG_BYTES - sizeof(expectedHeader));
        } else {
            ESP_LOGW(TAG, "The last message in the buffer was not complete");
            return -1;
        }

        // Process the Co2 value and checksum
        uint8_t checksum = calcCRC(response, sizeof(response));
        int16_t ppm = response[3] << 8 | response[4];
        if (response[7] == checksum) {
            ESP_LOGD(TAG, "CM1106 Received CO₂=%uppm DF3=%02X DF4=%02X", ppm, response[5], response[6]);
            return ppm;
        } else {
            ESP_LOGW(TAG, "Got wrong UART checksum: 0x%02X - Calculated: 0x%02X, ppm data: %u", response[7], checksum, ppm);
            return -1;
        }
        return -1;
    }

private:
    const char *TAG = "cm1106";
    const uint8_t NUM_MSG_BYTES = 8;

    // Checksum: 256-(HEAD+LEN+CMD+DATA)%256
    uint8_t calcCRC(uint8_t* response, size_t len) {
        uint8_t crc = 0;
        // last byte of response is checksum, don't calculate it
        for (int i = 0; i < len - 1; i++) {
            crc -= response[i];
        }
        return crc;
    }

    void readUartResponse(uint8_t *response, size_t responseLen) {
        read_array(response, responseLen);
    }

    // Returns the number of bytes currently in the UART RX Buffer
    int readUartFillLevel() {
        return available();
    }
};

class CM1106Sensor : public PollingComponent, public Sensor {
private:
    CM1106 *cm1106;

public:
    CM1106Sensor(UARTComponent *parent, uint32_t update_interval) : PollingComponent(update_interval) {
        cm1106 = new CM1106(parent);
    }

    float get_setup_priority() const { return setup_priority::DATA; }

    void setup() override {
    }

    void update() override {
        int16_t ppm = cm1106->getCo2PPM();
        if (ppm > -1) {
            publish_state(ppm);
        }
    }

    virtual ~CM1106Sensor() { delete cm1106; }

};


En hieronder het stukje .yaml dat je toe moet voegen om de buffer groter te maken

YAML: resideo.yaml
1
2
3
4
5
uart:
  rx_pin: 20
  baud_rate: 9600
  rx_buffer_size: 256
  id: cm1106_uart


Hopelijk hebben @The Fatal, @_CrookClaw_ en andere er iets aan 8)

EDIT:
- Bug in code opgelost die er voor kon zorgen dat er nooit een bericht werd gelezen
- Link naar Github repository toegevoegd waar alle toekomstige code changes voortaan geplaatst zullen worden

[ Voor 12% gewijzigd door Skix_Aces op 23-03-2024 17:55 ]


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
@Skix_Aces Kun je nog wat meer van je CM1106-gerelateerde yaml delen?

Ik heb in de YAML nog dit stuk:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
  - platform: custom
    lambda: |-
      auto cm1106Sensor = new CM1106Sensor(id(cm1106_uart), 300000);
      App.register_component(cm1106Sensor);
      return {cm1106Sensor};
    sensors:
    - name: "Resideo CO₂ Sensor"
      accuracy_decimals: 0
      unit_of_measurement: "ppm"
      state_class: measurement
      device_class: carbon_dioxide
      icon: "mdi:molecule-co2"


Maar na ruim een kwartier nog steeds geen metingen te zien op de webpagina van het device. Als ik de interval lager zet (naar 1 min.) dan werkt het wel. Is 5 min. te ruim genomen?

Acties:
  • +1 Henk 'm!

  • Skix_Aces
  • Registratie: Oktober 2015
  • Laatst online: 11-06 19:46
Matched: Resideo
ThinkPad schreef op vrijdag 22 maart 2024 @ 09:35:
@Skix_Aces Kun je nog wat meer van je CM1106-gerelateerde yaml delen?

Ik heb in de YAML nog dit stuk:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
  - platform: custom
    lambda: |-
      auto cm1106Sensor = new CM1106Sensor(id(cm1106_uart), 300000);
      App.register_component(cm1106Sensor);
      return {cm1106Sensor};
    sensors:
    - name: "Resideo CO₂ Sensor"
      accuracy_decimals: 0
      unit_of_measurement: "ppm"
      state_class: measurement
      device_class: carbon_dioxide
      icon: "mdi:molecule-co2"


Maar na ruim een kwartier nog steeds geen metingen te zien op de webpagina van het device. Als ik de interval lager zet (naar 1 min.) dan werkt het wel. Is 5 min. te ruim genomen?
Ik heb in de .yaml verder niks veranderd. Het stuk dat jij gedeeld hebt is bij mij hetzelfde (op de interval na). Als je een interval van 5 minuten instelt moet je de rx_buffer_size op minimaal 1200 instellen. Om veilig te zitten zou ik hem nog iets groter maken, bijvoorbeeld 1500.

Ik zie wel dat er nog een bug in de code zit die ik vanavond zal oplossen. Als de ESP32 wordt opgestart tijdens dat de CM1106 een bericht aan het sturen is, is het mogelijk dat het eerste bericht maar voor de helft in de buffer staat. De driver checked hier momenteel niet op, en hierdoor komt hij in een conditie terecht waarbij hij nooit valide berichten zal zien. Misschien is dat bij jou ook gebeurd, en had het wel gewerkt als je hem nog een keer opnieuw had opgestart.

Acties:
  • +4 Henk 'm!

  • Skix_Aces
  • Registratie: Oktober 2015
  • Laatst online: 11-06 19:46
Matched: Resideo
@ThinkPad Ik heb de code aangepast zodat dit niet meer zou moeten voorkomen. In de nieuwste versie gaat de driver naar de header zoeken, in plaats van er standaard vanuit te gaan dat deze al op plek 0 van de response staat.

De verbeterde driver, evenals een .yaml template en de driver voor de cht8305 die @hsmade heeft gemaakt, heb ik op een github repository gezet. Het idee is dat ik aan deze repository ook nog informatie toevoeg over het modden van de Resideo. Dat zal ik op een later moment doen.

De github repository waar ik alles neer heb gezet is hier te vinden.

Mochten mensen inbreng hebben dan hoor ik het graag!

Acties:
  • 0 Henk 'm!

  • Skix_Aces
  • Registratie: Oktober 2015
  • Laatst online: 11-06 19:46
Matched: Resideo
Raymond P schreef op zaterdag 23 maart 2024 @ 18:41:
@Skix_Aces Nice. Enkel de echo van command als de header zou nog een issue kunnen zijn als je parasitair meelift.
Maar van wat ik zo langs de zijlijn mee krijg is de master niet zo chatty.
Ik weet niet precies wat je hier bedoelt, maar in principe stuurt de CM1106 nooit iets uit zijn eigen. De processor op de resideo stuurt eerst een commando naar de CM1106 die zegt wat hij moet doen. Vervolgens stuurt de CM1106 hierop een response.

Ik heb het niet gechecked, maar mijn vermoeden is dat de resideo alleen maar de CO2 status opvraagt en verder geen commando's verstuurd. Ik verwacht dus ook dat de driver alleen maar Co2 berichten te verwerken krijgt, al wordt er uiteraard wel gechecked of de header klopt.
En in de cht8305 nog even een referentie naar de post van @ is ook wel zo netjes denk ik ;)
Goede opmerking @ThinkPad, zal ik doen!

[ Voor 6% gewijzigd door Skix_Aces op 23-03-2024 18:55 ]


Acties:
  • +1 Henk 'm!

  • TRD07
  • Registratie: Juli 2009
  • Laatst online: 11-06 16:50
Matched: Resideo
Skix_Aces schreef op zaterdag 23 maart 2024 @ 17:44:
@ThinkPad Ik heb de code aangepast zodat dit niet meer zou moeten voorkomen. In de nieuwste versie gaat de driver naar de header zoeken, in plaats van er standaard vanuit te gaan dat deze al op plek 0 van de response staat.

De verbeterde driver, evenals een .yaml template en de driver voor de cht8305 die @hsmade heeft gemaakt, heb ik op een github repository gezet. Het idee is dat ik aan deze repository ook nog informatie toevoeg over het modden van de Resideo. Dat zal ik op een later moment doen.

De github repository waar ik alles neer heb gezet is hier te vinden.

Mochten mensen inbreng hebben dan hoor ik het graag!
Benieuwd naar het modden van de Resideo en een step-by-step tutorial die zelfs voor noobs te doen is 8)

Acties:
  • +2 Henk 'm!

  • Skix_Aces
  • Registratie: Oktober 2015
  • Laatst online: 11-06 19:46
Matched: Resideo
Ik heb nog wat werk verricht om de code beter te maken. Helaas ben ik nog niet toegekomen aan een tutorial toevoegen maar dat komt nog.

De github repository is nogmaals hier te vinden

Ik had issues met de temperatuur en luchtvochtigheid uitlezen met de CHT8305 driver van @hsmade. Er was soms maar om de paar uur een update. Dit bleek te komen doordat de driver gaat wachten totdat hij een transactie op de I2C bus ziet. Als dit een read transactie is gaat de driver er vanuit dat het de temp en humidity zijn die vervolgens worden doorgegeven. Het probleem zit hem erin dat de master (de controller van de resideo zelf), eerst een write transactie uitvoert om de CHT8305 voor te bereiden op een read, en zo'n 20ms daarna de read daadwerkelijk uit te voeren. Bij mij werd alleen deze eerste write transactie gedecteerd, die niet aan de criteria voldeed, en waardoor de driver geen sensor data zag. Eens in de paar uur was de timing precies goed zodat hij de read transactie te zien kreeg.

Ik heb dit opgelost door eerst te wachten op de write transactie van de master, en achtereenvolgens op de read transactie te filteren. Hierdoor kan ik nu consequent waardes uitlezen. Het gaat echter nogsteeds niet helemaal goed, want soms lijkt de sensor een ander register terug te geven waardoor de temperatuur en humidity waardes niet kloppen. Helaas lijkt de communicatie die plaatsvind niet op de communicatie die gedefinieerd staat in de datasheet. Ik twijfel er daarom aan of we daadwerkelijk te maken hebben met een CHT8305 (heb het niet zelf gechecked). Er is dus nog wat werk aan de winkel wat betreft deze driver maar hij werkt voor mij al een stuk beter dan eerst.

Verder ben ik erachter gekomen dat er in de .yaml nog een aantal attributen aan de sensor toegevoegd moet worden om hem fatsoenlijk in home assistant te laten zien. Dit zijn specifiek:

code:
1
2
device_class: "temperature"
state_class: "measurement"


Voor de co2 sensor en humidity sensor is er ook een device_class. Door deze attributen toe te voegen wordt de grafiek een stuk overzichtelijker. De grafiek word hierdoor elke 5 minuten geüpdatet, met een min, max, en average waarde. De sensor word echter nogsteeds uitgelezen op de polling interval. Dit betekent dat je hem vaker kan pollen, zonder dat de geschiedenis vervuild raakt. Hieronder de graph van een sensor zonder de attributen, en met de attributen:

Afbeeldingslocatie: https://tweakers.net/i/lOBx5X0IEGPlWZ_jt5FCuNsHzdg=/800x/filters:strip_icc():strip_exif()/f/image/1jxjV7fqwRzOfZX5cepkYABv.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/dCN8nYFvnB0yJ03H3PeLuhzO4aU=/800x/filters:strip_icc():strip_exif()/f/image/7kApHuBY9YEmpc0LMoU80GId.jpg?f=fotoalbum_large

Acties:
  • +2 Henk 'm!

  • Raymond P
  • Registratie: September 2006
  • Laatst online: 07:15
Matched: Resideo
Veel simpeler dan die Resideo die hier nu populair is wordt het toch niet?

- knip -


Acties:
  • 0 Henk 'm!

  • SveGo
  • Registratie: Mei 2021
  • Laatst online: 17-04 22:33
Matched: Resideo
Il heb inmiddels de Resideo ook gemod en het uitlezen van de co2 waarde gaat prima. Echter het display is erg fel! Heeft iemand tips om deze wat te dimmen?

Acties:
  • 0 Henk 'm!

  • prakka
  • Registratie: Oktober 2009
  • Laatst online: 07:40
Matched: Resideo
SveGo schreef op zaterdag 30 maart 2024 @ 06:12:
Il heb inmiddels de Resideo ook gemod en het uitlezen van de co2 waarde gaat prima. Echter het display is erg fel! Heeft iemand tips om deze wat te dimmen?
Wit papier proberen?

Acties:
  • 0 Henk 'm!

  • OcGuru
  • Registratie: Juni 2004
  • Laatst online: 22:15

OcGuru

Giulietta Qv

Matched: Resideo
Skix_Aces schreef op vrijdag 29 maart 2024 @ 19:33:
Ik heb nog wat werk verricht om de code beter te maken. Helaas ben ik nog niet toegekomen aan een tutorial toevoegen maar dat komt nog.

De github repository is nogmaals hier te vinden

Ik had issues met de temperatuur en luchtvochtigheid uitlezen met de CHT8305 driver van @hsmade. Er was soms maar om de paar uur een update. Dit bleek te komen doordat de driver gaat wachten totdat hij een transactie op de I2C bus ziet. Als dit een read transactie is gaat de driver er vanuit dat het de temp en humidity zijn die vervolgens worden doorgegeven. Het probleem zit hem erin dat de master (de controller van de resideo zelf), eerst een write transactie uitvoert om de CHT8305 voor te bereiden op een read, en zo'n 20ms daarna de read daadwerkelijk uit te voeren. Bij mij werd alleen deze eerste write transactie gedecteerd, die niet aan de criteria voldeed, en waardoor de driver geen sensor data zag. Eens in de paar uur was de timing precies goed zodat hij de read transactie te zien kreeg.

Ik heb dit opgelost door eerst te wachten op de write transactie van de master, en achtereenvolgens op de read transactie te filteren. Hierdoor kan ik nu consequent waardes uitlezen. Het gaat echter nogsteeds niet helemaal goed, want soms lijkt de sensor een ander register terug te geven waardoor de temperatuur en humidity waardes niet kloppen. Helaas lijkt de communicatie die plaatsvind niet op de communicatie die gedefinieerd staat in de datasheet. Ik twijfel er daarom aan of we daadwerkelijk te maken hebben met een CHT8305 (heb het niet zelf gechecked). Er is dus nog wat werk aan de winkel wat betreft deze driver maar hij werkt voor mij al een stuk beter dan eerst.

Verder ben ik erachter gekomen dat er in de .yaml nog een aantal attributen aan de sensor toegevoegd moet worden om hem fatsoenlijk in home assistant te laten zien. Dit zijn specifiek:

code:
1
2
device_class: "temperature"
state_class: "measurement"


Voor de co2 sensor en humidity sensor is er ook een device_class. Door deze attributen toe te voegen wordt de grafiek een stuk overzichtelijker. De grafiek word hierdoor elke 5 minuten geüpdatet, met een min, max, en average waarde. De sensor word echter nogsteeds uitgelezen op de polling interval. Dit betekent dat je hem vaker kan pollen, zonder dat de geschiedenis vervuild raakt. Hieronder de graph van een sensor zonder de attributen, en met de attributen:

[Afbeelding]

[Afbeelding]
Top. Bedankt voor je uitzoekwerk. Kortste klap is natuurlijk om een eigen i2c temp/hum printje erin te drukken en die verbinden met de esp. Heb de accu eruit dus ruimte zat in principe. Maar dat is natuurlijk te simpel en niet tweaker waardig :P :+

Sinds vandaag mijn esp32 wroom omgezet naar een esp32 c3 super mini zodat deze in de behuizing kan gepropt worden.

Tijdje lopen hannesen aangezien Serial.print("test"); niet meer werkt maar geen foutmelding weergeeft ofzo.
Het moet USBSerial.print("test"); zijn

Bl44t


Acties:
  • +1 Henk 'm!

  • amiaima
  • Registratie: September 2003
  • Laatst online: 11-06 19:37
Matched: Resideo
Leuk project om die Resideo R200C2-A Kooldioxidemelder (CO2) te voorzien van een esp en uit te lezen middels homeassistant en top dat het project gedeeld wordt op github.
Na enthousiast te zijn geworden besloten om bij ibood in de aanbieding er een viertal te hebben gekocht.
Dit weekend ga ik er eens een aanpassen en proberen in ha werkend te krijgen. Uiteindelijke doel is de mechanische ventilatie hierop te laten sturen voor een C+ systeem met onderdruk klepjes op de ventilatie roosters.

Acties:
  • +1 Henk 'm!

  • Tazzios
  • Registratie: November 2001
  • Laatst online: 07:59

Tazzios

..

Matched: Resideo
amiaima schreef op woensdag 10 april 2024 @ 21:05:
Leuk project om die Resideo R200C2-A Kooldioxidemelder (CO2) te voorzien van een esp en uit te lezen middels homeassistant en top dat het project gedeeld wordt op github.
Na enthousiast te zijn geworden besloten om bij ibood in de aanbieding er een viertal te hebben gekocht.
Dit weekend ga ik er eens een aanpassen en proberen in ha werkend te krijgen. Uiteindelijke doel is de mechanische ventilatie hierop te laten sturen voor een C+ systeem met onderdruk klepjes op de ventilatie roosters.
Ik heb zelf ook zoiets gedaan.
een klep uit dit topic achter het rooster in mijn slaapkamer geplaatst: Open AIR (open source smart ventilatieaansturing)
En een awair element voor de co2 meting. Op basis van c02 en temperatuur verschil stuur ik de klep.

Acties:
  • +1 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
President schreef op zaterdag 13 april 2024 @ 08:13:
[...]

Die versie met datalogger is weer boven de 100 euro
Ik denk dat hij net als de Resideo die hier veel werd besproken, prima gemod kan worden door er een ESP32 in te stoppen zodat je kan parasiteren op de data van de CO₂-sensor en dat naar Home Assistant o.i.d. kan doorsluizen.

Meetwaardes zullen prima zijn met een SenseAir sensor. De rest ziet er vrij cheapo uit qua behuizing e.d.

[ Voor 11% gewijzigd door ThinkPad op 13-04-2024 09:26 ]


Acties:
  • +2 Henk 'm!

  • ephymerous
  • Registratie: Mei 2002
  • Laatst online: 08:06
Matched: Resideo
ThinkPad schreef op zaterdag 13 april 2024 @ 08:58:
[...]

Ik denk dat hij net als de Resideo die hier veel werd besproken, prima gemod kan worden door er een ESP32 in te stoppen zodat je kan parasiteren op de data van de CO₂-sensor en dat naar Home Assistant o.i.d. kan doorsluizen.

Meetwaardes zullen prima zijn met een SenseAir sensor. De rest ziet er vrij cheapo uit qua behuizing e.d.
Dat lijkt me ook. Ik heb ‘m besteld en het lijkt me een leuk knutselprojectje. Dit lijkt me een prima handleiding :)

XXXVI


Acties:
  • +7 Henk 'm!

  • Pluimvee
  • Registratie: Maart 2023
  • Laatst online: 10-06 23:24
Matched: Resideo
I also have my Resido mod ready. Based on ESP8266 and coded using MQTT interface to HA.
See the code here
https://github.com/Pluimvee/Resideo

Thanks for all tweakers on this topic for sharing their results and work. Special thanks to Bartvb, Soepstengel, Skix_Aces and ThinkPad.

See below the picture on how the EPS fits into the first proof of concept. I have another three Resideo's to modify and think I will place the ESP inside the unit.

Afbeeldingslocatie: https://tweakers.net/i/jaEH6TL8O6ArrH6Rnmo39AvVjEc=/x800/filters:strip_icc():strip_exif()/f/image/g8gE1hclJiHTI1sSNVd88s3x.jpg?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 07:07
Matched: Resideo
Leaguer schreef op maandag 15 april 2024 @ 21:36:
Was een outlet. Mijn vermoeden is dat ze erachter kwamen dat de temperatuursensor structureel een graad te hoog aangeeft (is bij mij in ieder geval zo). Vocht en CO2 lijken accuraat. Misschien dat ze alle versies met afwijkende temperatuursensor eruit hebben gedaan voor die dumpprijzen.

Nou ja, bij mij staat de BZ25 in ieder geval in de woonkamer voorlopig.
Zou dat bij de Resideo R200 ook het geval geweest zijn? Die geeft hier ook structureel afwijkende resultaten aan, zowel voor luchtvochtigheid als temperatuur (na het inbouwen van een ESP8266 wijkt het nog meer af).

Luchtvochtigheid heb ik 2 meters: een Xiaomi Mi en een analoge hygrometer die je van tijd tot tijd even moet kalibreren. Dat analoge ding heeft nog niet heel lang geleden een nacht in een gesloten pan met water gelegen, geeft dezelfde waarde aan als de Xiaomi Mi, zit misschien verschil 1% tussen. De R200 wijkt fors af van deze beide meters, zo'n 15%.

Acties:
  • 0 Henk 'm!

  • TD-er
  • Registratie: Januari 2000
  • Laatst online: 31-05 11:50
Matched: Resideo
Net de 2 Trotec units binnengekregen.
Zo maar even aansluiten en kijken of ze het eens zijn met de andere sensoren hier.

Net uit de doos lopen ze ruwweg 150 ppm uiteen.
De ene met laagste CO2 waarde is ongeveer 40 ppm lager dan de Resideo die ernaast staat.
Raam net open gezet hier dus ben benieuwd wat ze morgen en later deze week aangeven.

[ Voor 48% gewijzigd door TD-er op 16-04-2024 23:47 ]

Een goedkope voeding is als een lot in de loterij, je maakt kans op een paar tientjes korting, maar meestal betaal je de hoofdprijs. mijn posts (nodig wegens nieuwe layout)


Acties:
  • 0 Henk 'm!

  • amiaima
  • Registratie: September 2003
  • Laatst online: 11-06 19:37
Matched: Resideo
Springt de wifi aan? Ik merk met de Resideo R200C2 dat als mijn mobiel in de buurt komt hij van z'n padje gaat.

Acties:
  • 0 Henk 'm!

  • Vliegvlug
  • Registratie: Februari 2002
  • Laatst online: 00:44

Vliegvlug

Flight Simple

Matched: Resideo
amiaima schreef op donderdag 30 mei 2024 @ 09:26:
Springt de wifi aan? Ik merk met de Resideo R200C2 dat als mijn mobiel in de buurt komt hij van z'n padje gaat.
De awair element heeft een permanente wifi verbinding dus kan het niet zijn.
Wel vreemd dan een andere CO2 meter daardoor in de war raakt zeg! :?

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 07:07
Matched: Resideo
Hoe is die meter qua afwijking? Lees in de reviews bij Amazon dat er nogal wat variatie zit in gemeten temperatuur en luchtvochtigheid, CO2 lees ik niks over.

Ik moet nog een extra CO2 meter hebben, zit te twijfelen tussen nog een Resideo R200 van Marktplaats te vissen en weer een ESP8266 in solderen of gewoon zo'n switchbot unit. Luchtvochtigheid en temperatuur van een Resideo R200 klopt ook niks meer van na het integreren van een ESP8266 overigens, die dingen worden warm.

Heb voor temperatuur en luchtvochtigheid een zwik Xiaomi BT sensoren, die zitten allemaal vrij dicht opelkaar en komen overeen met wat mijn analoge geijkte hygrometer aangeeft.

  • TD-er
  • Registratie: Januari 2000
  • Laatst online: 31-05 11:50
Matched: Resideo
_JGC_ schreef op donderdag 14 november 2024 @ 12:45:
Hoe is die meter qua afwijking? Lees in de reviews bij Amazon dat er nogal wat variatie zit in gemeten temperatuur en luchtvochtigheid, CO2 lees ik niks over.

Ik moet nog een extra CO2 meter hebben, zit te twijfelen tussen nog een Resideo R200 van Marktplaats te vissen en weer een ESP8266 in solderen of gewoon zo'n switchbot unit. Luchtvochtigheid en temperatuur van een Resideo R200 klopt ook niks meer van na het integreren van een ESP8266 overigens, die dingen worden warm.

Heb voor temperatuur en luchtvochtigheid een zwik Xiaomi BT sensoren, die zitten allemaal vrij dicht opelkaar en komen overeen met wat mijn analoge geijkte hygrometer aangeeft.
Opzich zou je de hoeveelheid warmte die een ESP toevoegt als constant kunnen zien en de 'koelcapaciteit' van de behuizing is ook constant (bij niet teveel luchtstroom)
Dus wat dat betreft zal de temperatuur een redelijk constante offset laten zien, mits de omgevingstemperatuur niet heel sterk schommelt.
Als de temperatuur een vaste offset heeft, dan is de temperatuur-compensatie extreem simpel.
Luchtvochtigheid compenseren is een beetje lastiger.

Eerst bereken je de dauwpuntstemperatuur met de gemeten waarden, dan pas je de offset toe en bereken je met de dauwpuntstemperatuur en de gecorrigeerde temperatuur de relatieve luchtvochtigheid.
Zolang je niet in de buurt van de 100% luchtvochtigheid zit, zal dat prima werken. (doe ik ook in ESPEasy met bepaalde sensoren zoals de BME280)

Een goedkope voeding is als een lot in de loterij, je maakt kans op een paar tientjes korting, maar meestal betaal je de hoofdprijs. mijn posts (nodig wegens nieuwe layout)


  • mv_ak
  • Registratie: Juni 2013
  • Laatst online: 03:21
Matched: Resideo
_JGC_ schreef op donderdag 14 november 2024 @ 12:45:
Hoe is die meter qua afwijking? Lees in de reviews bij Amazon dat er nogal wat variatie zit in gemeten temperatuur en luchtvochtigheid, CO2 lees ik niks over.

Ik moet nog een extra CO2 meter hebben, zit te twijfelen tussen nog een Resideo R200 van Marktplaats te vissen en weer een ESP8266 in solderen of gewoon zo'n switchbot unit. Luchtvochtigheid en temperatuur van een Resideo R200 klopt ook niks meer van na het integreren van een ESP8266 overigens, die dingen worden warm.

Heb voor temperatuur en luchtvochtigheid een zwik Xiaomi BT sensoren, die zitten allemaal vrij dicht opelkaar en komen overeen met wat mijn analoge geijkte hygrometer aangeeft.
Ik kan alleen iets zeggen over de luchtvochtigheidsmeter van de Hub. Die staat vlak naast een analoge vochtigheidsmeter (zo'n wijzer ding) en die komt heel goed overeen! Binnen 1-2%. Ik dacht je kunt hem ook instellen op hele getallen, dat zou beter zijn want 1 cijfer achter de komma nauwkeurig, nou ja voor de temperatuurmeting misschien..

Let wel goed op de plaatsing van de sensor, als de zon erop schijnt krijg je spikes in zowel temp (spike omhoog) als luchtvochtigheid (spike omlaag). Maar dat is logisch natuurlijk. Misschien dat daar de klachten vandaan komen?

Acties:
  • 0 Henk 'm!

  • Batilan
  • Registratie: December 2009
  • Laatst online: 11-06 18:19
Matched: Resideo
nickvdruit schreef op vrijdag 15 november 2024 @ 14:55:
Hi,

Ik heb een beetje rondgezocht in dit topic maar kom er niet echt uit, ik zoek een CO2 meter voor in huis t.b.v. het inregelen van de ventilatie. Ik heb niks meer nodig dan een simpele meter waarvan ik de waarde op een display kan aflezen, dus verder geen smarthome integratie o.i.d. Welke heeft volgens jullie de beste prijs-kwaliteit verhouding? Alvast bedankt!
Zelf heb ik op basis van de verschillende posts in dit topic de Resideo R200 CO2 meter aangeschaft, meet ook temperatuur en luchtvochtigheid (al lijken die waardes wat minder betrouwbaar). Op dit moment bijvoorbeeld voordelig verkrijgbaar hier. In ieder geval een goede prijs/kwaliteit verhouding met deze prijs.

[ Voor 10% gewijzigd door Batilan op 15-11-2024 15:11 ]


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
@_JGC_ De Resideo is prima. Toont zo goed als gelijkwaardig aan een dure Aranet4 en ook aan MH-Z19: ThinkPad in "CO2-meters voor in huis"

Acties:
  • +2 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 07:07
Matched: Resideo
ThinkPad schreef op vrijdag 15 november 2024 @ 15:18:
@_JGC_ De Resideo is prima. Toont zo goed als gelijkwaardig aan een dure Aranet4 en ook aan MH-Z19: ThinkPad in "CO2-meters voor in huis"
Klopt, ik heb er hier 2 stuks met een ESP8266 erin. CO2 doen ze perfect, temperatuur en luchtvochtigheid wijken af door de warmte van de ESP8266.

Ik heb eentje in de woonkamer puur voor metingen en eentje op een slaapkamer die de mechanische ventilatie aanstuurt (RF module zit in de R200 gebouwd). Voor dat geld kan je bij Orcon geen CO2 regeling krijgen.

  • Pieter2
  • Registratie: December 2022
  • Laatst online: 20:24
Matched: Resideo
_JGC_ schreef op vrijdag 15 november 2024 @ 15:38:
[...]

Klopt, ik heb er hier 2 stuks met een ESP8266 erin. CO2 doen ze perfect, temperatuur en luchtvochtigheid wijken af door de warmte van de ESP8266.

Ik heb eentje in de woonkamer puur voor metingen en eentje op een slaapkamer die de mechanische ventilatie aanstuurt (RF module zit in de R200 gebouwd). Voor dat geld kan je bij Orcon geen CO2 regeling krijgen.
Zelf zoek ik ook nog een CO2 sensor om via HA de ventilatie aan te sturen. Gebruiken jullie de Resideo R200 via een integratie in HA?

En is de 69,99 een mooie aanbieding op Bol.com?

Acties:
  • +2 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 07:07
Matched: Resideo
Pieter2 schreef op donderdag 28 november 2024 @ 20:45:
[...]


Zelf zoek ik ook nog een CO2 sensor om via HA de ventilatie aan te sturen. Gebruiken jullie de Resideo R200 via een integratie in HA?

En is de 69,99 een mooie aanbieding op Bol.com?
Ik zou even op Marktplaats kijken. Die dingen waren 40 voor 2 stuks bij ibood. Veel mensen hebben ze gekocht om erachter te komen dat het ding geen wifi heeft. Als je er zelf een ESP in kunt solderen is dat ook zo klaar.

Acties:
  • +2 Henk 'm!

  • LarsMachiels
  • Registratie: November 2019
  • Laatst online: 19-05 11:41
Matched: Resideo
Pieter2 schreef op donderdag 28 november 2024 @ 20:45:
[...]


Zelf zoek ik ook nog een CO2 sensor om via HA de ventilatie aan te sturen. Gebruiken jullie de Resideo R200 via een integratie in HA?

En is de 69,99 een mooie aanbieding op Bol.com?
Misschien is dit wat?
https://link.marktplaats.nl/m2024133294

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
Is er al iemand die de Resideo (CM1106 sensor) met ESPHome 2025 code werkend heeft? Custom components werken daar niet meer in:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
  The "custom" component has been removed. Consider conversion to an external component.
  https://esphome.io/guides/contributing#a-note-about-custom-components.
  platform: custom
  lambda: |-
    auto cm1106Sensor = new CM1106Sensor(id(cm1106_uart), 300000);
    App.register_component(cm1106Sensor);
    return {cm1106Sensor};
  sensors: 
    - name: Luchtkwaliteit
      accuracy_decimals: 0
      unit_of_measurement: ppm
      state_class: measurement
      device_class: carbon_dioxide



@Skix_Aces @bartvb @wuniek @hsmade

Acties:
  • 0 Henk 'm!

  • Usue32
  • Registratie: Maart 2025
  • Laatst online: 04-03 16:05
Matched: Resideo
https://github.com/andrew...am-ndir-co2-sensor-module
ThinkPad schreef op zaterdag 1 maart 2025 @ 09:04:
Is er al iemand die de Resideo (CM1106 sensor) met ESPHome 2025 code werkend heeft? Custom components werken daar niet meer in:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
  The "custom" component has been removed. Consider conversion to an external component.
  https://esphome.io/guides/contributing#a-note-about-custom-components.
  platform: custom
  lambda: |-
    auto cm1106Sensor = new CM1106Sensor(id(cm1106_uart), 300000);
    App.register_component(cm1106Sensor);
    return {cm1106Sensor};
  sensors: 
    - name: Luchtkwaliteit
      accuracy_decimals: 0
      unit_of_measurement: ppm
      state_class: measurement
      device_class: carbon_dioxide



@Skix_Aces @bartvb @wuniek @hsmade

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 07:56
Matched: Resideo
Heb je het hiermee zelf werkende op de Resideo? Want ik begreep destijds dat er een zelfgeschreven driver is gebruikt omdat we meeluisteren met het verkeer tussen CPU van de Resideo en sensor. Dat is anders dan wanneer je met de ESP rechtstreeks met de sensor praat...

Acties:
  • 0 Henk 'm!

  • amiaima
  • Registratie: September 2003
  • Laatst online: 11-06 19:37
Matched: Resideo
ThinkPad schreef op zaterdag 1 maart 2025 @ 09:04:
Is er al iemand die de Resideo (CM1106 sensor) met ESPHome 2025 code werkend heeft? Custom components werken daar niet meer in:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
  The "custom" component has been removed. Consider conversion to an external component.
  https://esphome.io/guides/contributing#a-note-about-custom-components.
  platform: custom
  lambda: |-
    auto cm1106Sensor = new CM1106Sensor(id(cm1106_uart), 300000);
    App.register_component(cm1106Sensor);
    return {cm1106Sensor};
  sensors: 
    - name: Luchtkwaliteit
      accuracy_decimals: 0
      unit_of_measurement: ppm
      state_class: measurement
      device_class: carbon_dioxide



@Skix_Aces @bartvb @wuniek @hsmade
Ook ik heb het hier niet werkend gekregen, ook met de tip niet van Github robertklep. Tips zijn welkom
Pagina: 1

Let op:
Aanbiedingen graag in Awair element en andere CO2 meter kortingscodes