Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. CO2 Ampel mit MQTT und ESP8266

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    CO2 Ampel mit MQTT und ESP8266

    This topic has been deleted. Only users with topic management privileges can see it.
    • cvidal
      cvidal Forum Testing @Eisbaeeer last edited by

      @eisbaeeer Wenn ich es gleich noch schaffe löte ich kurz um und teste das mal.
      Danke für die schnelle Hilfe.

      1 Reply Last reply Reply Quote 1
      • cvidal
        cvidal Forum Testing @Eisbaeeer last edited by

        @eisbaeeer sagte in CO2 Ampel mit MQTT und ESP8266:

        Hier kommt die Lösung. Allerdings muss der Din Pin der WS2812 auf einen anderen Port angeschlossen werden. Bitte ab sofort nur noch den Pin GPIO3 dafür verwenden. Ich habe in der README jetzt auch einen Anschlussplan hinterlegt.

        Github: https://github.com/Eisbaeeer/CO2light/releases/tag/V2.2

        Gruß Eisbaeeer

        Habe es jetzt mal kurz umgelötet und die V2.2 aufgespielt. Läuft einwandfrei.

        Gruß Christian

        1 Reply Last reply Reply Quote 1
        • R
          r3 last edited by

          @Eisbaeeer Vielen Dank für das schöne Projekt!

          Ich habe das seit ca. 2 Wochen als Prototyp auf einem Breadboard am Laufen, vorher lief es > ein Jahr als ESPEasy, aber ohne LED.
          Ich hätte dazu ein paar Fragen:

          • Wie bzw. wo genau ist der Sensor verbaut? Er braucht ja "Luft" um die Messungen durchführen zu können und wenn ich die Bilder richtig interpretiere liegt er auf dem Boden auf und das Gehäuse ist komplett geschlossen?
          • Hält der Holzleim das Holz und das Plexiglas zusammen?

          und Anmerkungen:

          • Ich hatte zuerst ein 0,96" SSD1306-Display dran und habe mir dann bei AliExpress 1,3" Displays bestellt. Display getauscht --> nur Rauschen. Nach einiger Untersuchung habe ich rausgefunden: Die Displays wurden als SSD1306 verkauft, aber tatsächlich waren es SH110X. Habe die passende Library (#include <Adafruit_SH110X.h>) genommen und den Code (Initialisierung ist etwas anders) angepasst, sodass es dann auch damit funktionierte. Evtl. wäre es möglich das als Konfigurationsmöglichkeit (im Code) aufzunehmen.
          • Ich lasse die Werte per MQTT in FHEM einlaufen. Dort wird der CO2-Sensor als Device angelegt. Da die clientId einen zufälligen Bestandteil enthält, wurden immer neue Devices angelegt. Ich habe den Code angepasst um an der Stelle die MAC-Adresse zu verwenden, clientId += String(random(0xffff), HEX); habe ich mit clientId += WiFi.macAddress(); ersetzt. Könnte vielleicht auch aufgenommen werden, falls für andere interessant.
          • Ich würde gern noch den Sensor BME280 integrieren, da die Temperatur, die der MH-Z19 ausgibt, eher ein grober Schätzwert ist. Aber andere Sensorik steht ja eh auf der Agenda. 👍

          Viele Grüße, R3.

          hydrotec Eisbaeeer 2 Replies Last reply Reply Quote 0
          • hydrotec
            hydrotec @r3 last edited by

            @r3 sagte in CO2 Ampel mit MQTT und ESP8266:

            • Ich lasse die Werte per MQTT in FHEM einlaufen. Dort wird der CO2-Sensor als Device angelegt. Da die clientId einen zufälligen Bestandteil enthält, wurden immer neue Devices angelegt. Ich habe den Code angepasst um an der Stelle die MAC-Adresse zu verwenden, clientId += String(random(0xffff), HEX); habe ich mit clientId += WiFi.macAddress(); ersetzt. Könnte vielleicht auch aufgenommen werden, falls für andere interessant.

            Hallo R3,

            Nur interessehalber, warum zufälliger Bestandteil?
            Die ClientID kann man doch fest hinterlegen, oder geht das bei Arduino nicht?


            OT
            Kleiner Tip, bei FHEM hättest auch einfach mit MQTT2 und RegEx arbeiten können. 😉
            Und bei ioBroker ist es egal wie die ID zusammengestellt ist, da arbeitest du mit topics und Wildcards.
            Wenn du interesse hast, dann können wir uns gerne, in einem neuen Thread, austauschen.
            OT Ende


            Gruß, Karsten

            R 1 Reply Last reply Reply Quote 1
            • R
              r3 @hydrotec last edited by

              Hallo @hydrotec

              @hydrotec said in CO2 Ampel mit MQTT und ESP8266:

              Nur interessehalber, warum zufälliger Bestandteil?
              Die ClientID kann man doch fest hinterlegen, oder geht das bei Arduino nicht?

              @Eisbaeeer hat die clientId folgendermaßen zusammengebaut:

                  // Create a random client ID
                  String clientId = "CO2Light-";
                  clientId += String(random(0xffff), HEX);
              

              Also an CO2Light- wird noch eine Zufallszahl gehangen. Hatte dort auch erst eine feste Zahl hinterlegt, aber falls man mal mehrere CO2-Lampen hat ...

              OT
              Kleiner Tip, bei FHEM hättest auch einfach mit MQTT2 und RegEx arbeiten können. 😉
              Und bei ioBroker ist es egal wie die ID zusammengestellt ist, da arbeitest du mit topics und Wildcards.

              Habe das Gerät unter Verwendung von MQTT2mit dem Template MQTT2_CLIENT_general_bridge angelegt, hat dann eine recht umfangreiche RegEx. Für mehrere würde ich aber wieder eine Unterscheidung brauchen, deshalb die MAC-Adresse.

              Grüße, R3.

              hydrotec 1 Reply Last reply Reply Quote 0
              • Eisbaeeer
                Eisbaeeer Developer @r3 last edited by Eisbaeeer

                @r3 sagte in CO2 Ampel mit MQTT und ESP8266:

                @Eisbaeeer Vielen Dank für das schöne Projekt!

                Ich hätte dazu ein paar Fragen:

                • Wie bzw. wo genau ist der Sensor verbaut? Er braucht ja "Luft" um die Messungen durchführen zu können und wenn ich die Bilder richtig interpretiere liegt er auf dem Boden auf und das Gehäuse ist komplett geschlossen?

                Nein, der Sensor ist aussen am Boden angebracht.
                18477600-5977-4c36-b479-79d688cb568d-20220118_212649.jpg

                1965fc35-bd8d-45a4-8737-befe9e5f7158-20220119_214127.jpg

                • Hält der Holzleim das Holz und das Plexiglas zusammen?

                Ja bis jetzt schon. Bei den nächsten Würfeln (ab sofort) werde ich eine andere Methode verwenden. Die wird aber nicht verraten 😉

                • Ich hatte zuerst ein 0,96" SSD1306-Display dran und habe mir dann bei AliExpress 1,3" Displays bestellt. Display getauscht --> nur Rauschen. Nach einiger Untersuchung habe ich rausgefunden: Die Displays wurden als SSD1306 verkauft, aber tatsächlich waren es SH110X. Habe die passende Library (#include <Adafruit_SH110X.h>) genommen und den Code (Initialisierung ist etwas anders) angepasst, sodass es dann auch damit funktionierte. Evtl. wäre es möglich das als Konfigurationsmöglichkeit (im Code) aufzunehmen.

                So etwas am besten als "Issue" in Github erfassen. Oder im Code realisieren und als Pull-request in Github einkippen.

                • Ich lasse die Werte per MQTT in FHEM einlaufen. Dort wird der CO2-Sensor als Device angelegt. Da die clientId einen zufälligen Bestandteil enthält, wurden immer neue Devices angelegt. Ich habe den Code angepasst um an der Stelle die MAC-Adresse zu verwenden, clientId += String(random(0xffff), HEX); habe ich mit clientId += WiFi.macAddress(); ersetzt. Könnte vielleicht auch aufgenommen werden, falls für andere interessant.

                Issue in Github erfassen, dann wird es realisiert.

                • Ich würde gern noch den Sensor BME280 integrieren, da die Temperatur, die der MH-Z19 ausgibt, eher ein grober Schätzwert ist. Aber andere Sensorik steht ja eh auf der Agenda. 👍

                Ja, ich weiß nur noch nicht, ob ich weiterhin den DHT-22 verwende oder den BME280, der etwas teurer ist.
                Grüße Eisbaeeer

                Eisbaeeer hydrotec R 3 Replies Last reply Reply Quote 0
                • Eisbaeeer
                  Eisbaeeer Developer @Eisbaeeer last edited by Eisbaeeer

                  Wenn ihr Wünsche habt, sollten aber schon eher konkret sein, bitte als Issue erfassen. Die Client-ID habe ich mal exemplarisch erfasst. Hilft mir ungemein, da ich bei so vielen Projekten sonst eventuell das ein oder andere vergesse 😉
                  https://github.com/Eisbaeeer/CO2light/issues

                  S 1 Reply Last reply Reply Quote 1
                  • hydrotec
                    hydrotec @r3 last edited by

                    @r3

                    Danke für die Rückmeldung, jetzt hab es sogar ich, als Arduino-Noob, verstanden. 🙂

                    1 Reply Last reply Reply Quote 0
                    • S
                      skokarl @Eisbaeeer last edited by

                      @eisbaeeer

                      verzeih gerade mal die blöde Frage

                      brauche ich MQTT Wissen für Dein Projekt ? ( also, wenn ich es bestelle )
                      Davon hab ich nämlich null Ahnung .....

                      Eisbaeeer 1 Reply Last reply Reply Quote 0
                      • hydrotec
                        hydrotec @Eisbaeeer last edited by

                        @eisbaeeer

                        Die Bilder machen Lust auf mehr.
                        Sieht echt gut aus. 👍

                        1 Reply Last reply Reply Quote 1
                        • Eisbaeeer
                          Eisbaeeer Developer @skokarl last edited by Eisbaeeer

                          @skokarl Nö, MQTT ist nur ein Addon für Hausautomatisierung oder zur zentralen Erfassung der Messwerte. Der Würfel funktioniert so ...... einstecken, fertig 😉

                          20220118_221411_1_1_1.mp4

                          So sieht es aus, wenn er den CO2 Wert kalibriert. So für die Lust 😉

                          hydrotec 1 Reply Last reply Reply Quote 1
                          • R
                            r3 @Eisbaeeer last edited by

                            @Eisbaeeer Danke für die schnelle Antwort mit den erhellenden Bildern!

                            Ja bis jetzt schon. Bei den nächsten Würfeln (ab sofort) werde ich eine andere Methode verwenden. Die wird aber nicht verraten 😉

                            🙂 Versuch macht kluch!

                            • ... Evtl. wäre es möglich das als Konfigurationsmöglichkeit (im Code) aufzunehmen.

                            So etwas am besten als "Issue" in Github erfassen. Oder im Code realisieren und als Pull-request in Github einkippen.

                            Habe einen Issue erstellt, kann ihn aber nicht als Enh. labeln.

                            • ... clientId += WiFi.macAddress(); ersetzt. Könnte vielleicht auch aufgenommen werden, falls für andere interessant.

                            Issue in Github erfassen, dann wird es realisiert.

                            Danke!

                            Viele Grüße, R3.

                            1 Reply Last reply Reply Quote 1
                            • hydrotec
                              hydrotec @Eisbaeeer last edited by

                              @eisbaeeer

                              Kann mich nur wiederholen, der Würfel ist dir echt gelungen. 👍
                              Weißt du eigentlich, wie ich mich innerlich schon auf den Tag freue,
                              an dem ich eine Email, mit dem Text, "Ihr Paket wird heute im Laufe des Tages zugestellt", erhalte.
                              Das ist fast wie zweites Weihnachten. (und das in meinem Alter 😉 )

                              @skokarl sagte in CO2 Ampel mit MQTT und ESP8266:

                              brauche ich MQTT Wissen für Dein Projekt ? ( also, wenn ich es bestelle )
                              Davon hab ich nämlich null Ahnung .....

                              Keine Angst, wenn es soweit ist, und du möchtest die Ampel in ioBroker über MQTT integrieren, helfe ich dir.
                              Das ist einfacher, wie du es dir gerade vorstellst.
                              Wie heißt es so schön im American Football, "we're all one familiy" 🙂

                              1 Reply Last reply Reply Quote 1
                              • cvidal
                                cvidal Forum Testing last edited by

                                @Eisbaeeer
                                Du hast ja das Blinken in kürzeren Intervallen geändert.
                                Habe es gerade gesehen als ich dazu ein Issue aufgeben wollte.
                                Gefällt mir so sehr gut.

                                Gruß Christian

                                Eisbaeeer 1 Reply Last reply Reply Quote 0
                                • Eisbaeeer
                                  Eisbaeeer Developer @cvidal last edited by Eisbaeeer

                                  @cvidal Ja das war nicht so gewollt das er alle 15 Sekunden blinkt. Ist im falschen Task gewesen. Jetzt ist es im Sekundentakt.
                                  Jetzt kann auch eine manuelle Kalibrierung gemacht werden.
                                  Gruß Eisbaeeer

                                  Eisbaeeer cvidal 2 Replies Last reply Reply Quote 0
                                  • Eisbaeeer
                                    Eisbaeeer Developer @Eisbaeeer last edited by

                                    Heute fertig geworden. Weiter geht's mit den nächsten Bestellungen.

                                    CO2light

                                    1 Reply Last reply Reply Quote 2
                                    • cvidal
                                      cvidal Forum Testing @Eisbaeeer last edited by

                                      @eisbaeeer sagte in CO2 Ampel mit MQTT und ESP8266

                                      Jetzt kann auch eine manuelle Kalibrierung gemacht werden.

                                      Das teste ich morgen mal. Ich habe ohne Kalibrierung im Freien einen PPM Wert von 408 glaube das ist schon ganz ok. Ich denke auf 400PPM wird kalibriert oder?
                                      Leider habe ich meine CO, Gas etc. Sensoren noch nicht bekommen, muss ich mal Checken wie die Werte im Außenbereich sind um nen Vergleichswert zu haben.
                                      Kalibrieren kann ich mit anderen Sensoren ja denke ich nicht.

                                      Eisbaeeer 1 Reply Last reply Reply Quote 1
                                      • Eisbaeeer
                                        Eisbaeeer Developer @cvidal last edited by

                                        @cvidal sagte in CO2 Ampel mit MQTT und ESP8266:

                                        @eisbaeeer sagte in CO2 Ampel mit MQTT und ESP8266

                                        Jetzt kann auch eine manuelle Kalibrierung gemacht werden.

                                        Das teste ich morgen mal. Ich habe ohne Kalibrierung im Freien einen PPM Wert von 408 glaube das ist schon ganz ok. Ich denke auf 400PPM wird kalibriert oder?

                                        Ja, 400 bzw. 380 ist der "Null" Wert an der frischen Luft.

                                        Kalibrieren kann ich mit anderen Sensoren ja denke ich nicht.

                                        ich habe mir jetzt auch das komplett Set bestellt. Grundsätzlich sind die ja nicht kalibriert. Es gibt also keinen Anhaltswert, der einen definierten Zustand angibt. Man bekommt ja nur einen analogen Wert zurück. In der Software werde ich aber schon irgend einen Kalbrier Mechanismus einbauen. Ich habe gelesen, dass manche der Sensoren nur mit sehr teuren Gasen in einem geschlossenen System kalibriert werden kan.

                                        Wobei, als Gas Sensor (also Leck Alarm) braucht man keinen kalibrierten Wert.
                                        Gruß Eisbaeeer

                                        1 Reply Last reply Reply Quote 0
                                        • cvidal
                                          cvidal Forum Testing last edited by

                                          Ich habe jetzt mal Kalibriert, lief gut durch. Ich hatte den Sensor vorher 20min nach draußen gestellt, das ist anscheinend nicht nötig denke das die Kalibrierung deshalb ca.20min läuft. Einen Ablauftimer bei der Kalibrierung wäre noch Cool.

                                          Gruß Christian

                                          Eisbaeeer 1 Reply Last reply Reply Quote 0
                                          • Eisbaeeer
                                            Eisbaeeer Developer @cvidal last edited by Eisbaeeer

                                            @cvidal sagte in CO2 Ampel mit MQTT und ESP8266:
                                            Einen Ablauftimer bei der Kalibrierung wäre noch Cool.

                                            Den gibt es. Das wird auf dem Display angezeigt
                                            20220126_101351.jpg
                                            Gruß Eisbaeeer

                                            cvidal 1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            936
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            12
                                            100
                                            10870
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo