Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Erledigt]BME280 mit ESP8266 von MQTT auf Webserver als Text

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Erledigt]BME280 mit ESP8266 von MQTT auf Webserver als Text

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @jabba76 last edited by mickym

      @jabba76 sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

      @mickym

      Hallo danke dir für die gute Arbeit war leider lange nicht da aus Zeitmangel.

      Dein Flow so wie er ist funktioniert wunderbar das was da ausgegeben wird wird auch richtig Angezeigt.
      Jetzt wollte ich die inject node durch meine iobroker in node ersetzen damit die Daten vom Sensor einfliessen können leider funktioniert das nicht, die ausgebe kann nicht gebaut werden.

      Fehler Meldung:

      Message missing key property 'msg.topic' - cannot add to object
      

      Meine Sensoren geben sowas raus

      temperatur
      {"val":23.16,"ack":true,"ts":1637513514166,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1637513514166}
      
      Luftdruck
      {"val":1004.75,"ack":true,"ts":1637513514168,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1637513514168}
      
      Luftfeuchte
      {"val":42.69,"ack":true,"ts":1637513514169,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1637513514169}
      
      

      könntest du noch mal drüber schauen wie ich das anpassen kann/soll damit die Daten übernomen werden und auch Angezeigt werden können dafür wäre ich dir sehr dankbar.
      Es wird erst ausgabe gebaut wenn alle Sensoren alle Daten gesendet haben? weil jeder sendet alle 15 min wenn der erste gesendet hat und der zweite noch 5 min hat wird die ausgabe erst in 20min Online richtig?

      @PeterHansen soory das so spät erst ja das sind D1 und D2 Pins. bei Youtube das eingeben ESP8266 Deep-Sleep, BME280 Daten über MQTT senden

      mfg

      Ja ursprünglich wolltest Du ja den Flow über HTTP mit NodeRed als WebServer ansprechen. Mit den iobroker In Nodes ist es eigentlich einfach.

      Klar (s. Fehlermeldung) musst Du den Topic noch ergänzen, aber wichtig ist (hängt davon ab, wieviele Flows Du schon hast), wie ist Deine NodeRed Adapter Konfig eingestellt. Also:

      1. Hast Du schon viele Flows die mit iobroker In NOdes arbeiten?
      2. Wenn nicht - auf jeden Fall Zeichenkonvertierung in der Adapterkonfig ausschalten (empfehle ich immer zuerst)
      3. Wenn nicht musst Du alle Strings ggf. wieder umwandeln.

      Am Besten ist Du postest hier mal direkt die Ausgabe Deines Strings - Objektes - das aus Deiner iobroker in Node rauskommt und zwar des kompleten NAchrichtenobjektes - die iobroker In Nodes setzen den msg.topic den vollständigen Pfad des Datenpunktes im iobroker und nicht die Objekte sondern den Value rausholen - wofür nimmst Du das Objekt????:

      Also hier wieder auf value umstellen!

      8c94f229-6a09-45e7-9d98-b233e0137aba-image.png

      Entweder das komplette Nachricht als Screenshot oder wenn als JSON - dann bitte im Debugfenster auf Wert kopieren gehen und den JSON hier posten:

      {"topic":"0_userdata/0/testType","payload":19.5,"acknowledged":false,"timestamp":1636835207813,"lastchange":1636835207813,"from":"system.adapter.node-red.0","_msgid":"2465ec6b.e48df4"}
      
      J 1 Reply Last reply Reply Quote 0
      • J
        jabba76 @mickym last edited by jabba76

        @mickym

        Dann habe ich micht wohl nicht richtig ausgedrückt

        esp mit sensoren senden an MQTT die werte wollte ich über NodeRed im Browser als Text nicht HTML das hast du ja gemacht so würde das auf LCD4Linux funktionieren, nur jetzt wollte ich in denem Flow die sensoren einbinden und Zonk.

        ok die Object ausgebe steht schon oben mehr kommt da nicht raus "val" sind ja die Wrte und mein system ist sagen wir mal ganz frisch 🙂 ist noch nicht so viel drin

        thx

        das kommt dabei raus

        23.52
        
        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @jabba76 last edited by

          @jabba76 sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

          @mickym

          Dann habe ich micht wohl nicht richtig ausgedrückt

          esp mit sensoren senden an MQTT die werte wollte ich über NodeRed im Browser als Text nicht HTML das hast du ja gemacht so würde das auf LCD4Linux funktionieren, nur jetzt wollte ich in denem Flow die sensoren einbinden und Zonk.

          ok die Object ausgebe steht schon oben mehr kommt da nicht raus "val" sind ja die Wrte und mein system ist sagen wir mal ganz frisch 🙂 ist noch nicht so viel drin

          thx

          das kommt dabei raus

          23.52
          

          Das komplette Nachrichtenobjekt bitte: 😉

          93c1a548-b4c8-4f8d-adfc-da01204f5ec7-image.png

          J 1 Reply Last reply Reply Quote 0
          • J
            jabba76 @mickym last edited by jabba76

            @mickym sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

            @jabba76 sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

            @mickym

            Dann habe ich micht wohl nicht richtig ausgedrückt

            esp mit sensoren senden an MQTT die werte wollte ich über NodeRed im Browser als Text nicht HTML das hast du ja gemacht so würde das auf LCD4Linux funktionieren, nur jetzt wollte ich in denem Flow die sensoren einbinden und Zonk.

            ok die Object ausgebe steht schon oben mehr kommt da nicht raus "val" sind ja die Wrte und mein system ist sagen wir mal ganz frisch 🙂 ist noch nicht so viel drin

            thx

            das kommt dabei raus

            23.52
            

            Das komplette Nachrichtenobjekt bitte: 😉

            93c1a548-b4c8-4f8d-adfc-da01204f5ec7-image.png

            hee soorki habe ich vergessen umzustellen hier bitt

            Temperatur
            {"topic":"mqtt/0/esp1/temperature","payload":"23.29","acknowledged":true,"timestamp":1637516687490,"lastchange":1637516687490,"from":"system.adapter.mqtt.0","_msgid":"f040134c.cbdcc"}
            
            Luftdruck
            {"topic":"mqtt/0/esp1/pressure","payload":"1005.47","acknowledged":true,"timestamp":1637516998692,"lastchange":1637516998692,"from":"system.adapter.mqtt.0","_msgid":"dbf9aa3b.50ede8"}
            
            Luftfeuchte
            {"topic":"mqtt/0/esp1/humidity","payload":"46.25","acknowledged":true,"timestamp":1637516998692,"lastchange":1637516998692,"from":"system.adapter.mqtt.0","_msgid":"f94a5ec3.dd7da"}
            
            
            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @jabba76 last edited by

              @jabba76 Super kannst Du mit das noch für die anderen 2 Parameter machen? - Also Feuchte und Druck?

              J mickym 2 Replies Last reply Reply Quote 0
              • J
                jabba76 @mickym last edited by

                @mickym sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

                @jabba76 Super kannst Du mit das noch für die anderen 2 Parameter machen? - Also Feuchte und Druck?

                
                
                Temperatur
                
                {"topic":"mqtt/0/esp1/temperature","payload":"23.29","acknowledged":true,"timestamp":1637516687490,"lastchange":1637516687490,"from":"system.adapter.mqtt.0","_msgid":"f040134c.cbdcc"}
                
                Luftdruck
                
                {"topic":"mqtt/0/esp1/pressure","payload":"1005.47","acknowledged":true,"timestamp":1637516998692,"lastchange":1637516998692,"from":"system.adapter.mqtt.0","_msgid":"dbf9aa3b.50ede8"}
                
                Luftfeuchte
                
                {"topic":"mqtt/0/esp1/humidity","payload":"46.25","acknowledged":true,"timestamp":1637516998692,"lastchange":1637516998692,"from":"system.adapter.mqtt.0","_msgid":"f94a5ec3.dd7da"}
                
                
                1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @mickym last edited by mickym

                  @mickym
                  Also Du hast immer noch Strings drin - hast Du die Adapterkonfig geändert - na auch egal. Ich empfehle aber ggf. die Option auszumachen - aber wahrscheinlich sind die DP im mqtt bereits Zeichenketten - aber egal.

                  Ich habs anhand des flows nun rekonstruiert:

                  Diesen Teil ersetzt Du

                  a95a2ec7-a8df-4302-9b99-242e771dc898-image.png

                  durch durch folgede Change Node und setzt die iobroker In Nodes davor:

                  [
                      {
                          "id": "e57670f8.9fc1c",
                          "type": "change",
                          "z": "1e875092.14ea4f",
                          "name": "",
                          "rules": [
                              {
                                  "t": "change",
                                  "p": "topic",
                                  "pt": "msg",
                                  "from": ".*\\/(.*)",
                                  "fromt": "re",
                                  "to": "$1",
                                  "tot": "str"
                              }
                          ],
                          "action": "",
                          "property": "",
                          "from": "",
                          "to": "",
                          "reg": false,
                          "x": 490,
                          "y": 2100,
                          "wires": [
                              [
                                  "11884a7.8ea81b6"
                              ]
                          ]
                      }
                  ]
                  

                  68f13bb4-454a-463b-a651-187a84b5915b-image.png

                  Ach und schau dass Deine iobroker In Nodes auf

                  b3059401-b31a-455f-9312-ca9241b99041-image.png

                  Du bekommst erst was raus, wenn alle Parameter einmal geschickt wurden, dann immer bei jeder Änderung - egal von welchem Parameter.

                  J 1 Reply Last reply Reply Quote 0
                  • J
                    jabba76 @mickym last edited by

                    @mickym sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

                    @mickym
                    Also Du hast immer noch Strings drin - hast Du die Adapterkonfig geändert - na auch egal. Ich empfehle aber ggf. die Option auszumachen - aber wahrscheinlich sind die DP im mqtt bereits Zeichenketten - aber egal.

                    Ich habs anhand des flows nun rekonstruiert:

                    Diesen Teil ersetzt Du

                    a95a2ec7-a8df-4302-9b99-242e771dc898-image.png

                    durch durch folgede Change Node und setzt die iobroker In Nodes davor:

                    [
                        {
                            "id": "e57670f8.9fc1c",
                            "type": "change",
                            "z": "1e875092.14ea4f",
                            "name": "",
                            "rules": [
                                {
                                    "t": "change",
                                    "p": "topic",
                                    "pt": "msg",
                                    "from": ".*\\/(.*)",
                                    "fromt": "re",
                                    "to": "$1",
                                    "tot": "str"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 490,
                            "y": 2100,
                            "wires": [
                                [
                                    "11884a7.8ea81b6"
                                ]
                            ]
                        }
                    ]
                    

                    68f13bb4-454a-463b-a651-187a84b5915b-image.png

                    Ach und schau dass Deine iobroker In Nodes auf

                    b3059401-b31a-455f-9312-ca9241b99041-image.png

                    Du bekommst erst was raus, wenn alle Parameter einmal geschickt wurden, dann immer bei jeder Änderung - egal von welchem Parameter.

                    wenn ich importiern möchte zeigt er mit das: Error: Eingabe ist kein JSON-Array ? und zeichenkette ist jetzt aus.

                    Das mit dem Parameter schon nicht schlecht also der Text wird sich dann ändern wenn sich der Wert ändert ok.

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @jabba76 last edited by mickym

                      @jabba76 Nein die Eingabe rauskommen sind normale skalare Werte Du musst aber aufhören Objekte einzugeben:

                      9a14c75d-a16e-4613-a6fa-361ea906a8ac-image.png

                      also bitte auf value und sende msg bei start in deinen iobroker in NOdes umstellen.

                      {"topic":"0_userdata/0/testType","payload":19.5,"acknowledged":false,"timestamp":1636835207813,"lastchange":1636835207813,"from":"system.adapter.node-red.0","_msgid":"2465ec6b.e48df4"}
                      

                      Wenn Du auf value einstellst, dann wird die payload genau 19.5. Also ein normaler nummerischer Wert kein JSON oder sonst was.

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        jabba76 @mickym last edited by

                        @mickym sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

                        @jabba76 Nein die Eingabe rauskommen sind normale skalare Werte Du musst aber aufhören Objekte einzugeben:

                        9a14c75d-a16e-4613-a6fa-361ea906a8ac-image.png

                        also bitte auf value und sende msg bei start in deinen iobroker in NOdes umstellen.

                        ok verstanden das mache ich, aber dein spoiler kann ich nicht importieren Error: Eingabe ist kein JSON-Array ? makieren kopieren importieren geht nicht

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @jabba76 last edited by mickym

                          @jabba76 sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

                          @mickym sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

                          @jabba76 Nein die Eingabe rauskommen sind normale skalare Werte Du musst aber aufhören Objekte einzugeben:

                          9a14c75d-a16e-4613-a6fa-361ea906a8ac-image.png

                          also bitte auf value und sende msg bei start in deinen iobroker in NOdes umstellen.

                          ok verstanden das mache ich, aber dein spoiler kann ich nicht importieren Error: Eingabe ist kein JSON-Array ? makieren kopieren importieren geht nicht

                          Dann hast Du nicht alles kopiert - und es fehlt entweder die ECKIGE Klammer oben oder unten beim Import. 😉

                          Ist eh nur eine Change Node - kannst auch selbst machen - ist ja relativ einfach:

                          a0fe2ab2-8bcb-447a-acff-3083edef9efd-image.png

                          J 1 Reply Last reply Reply Quote 0
                          • J
                            jabba76 @mickym last edited by

                            @mickym sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

                            @jabba76 sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

                            @mickym sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

                            @jabba76 Nein die Eingabe rauskommen sind normale skalare Werte Du musst aber aufhören Objekte einzugeben:

                            9a14c75d-a16e-4613-a6fa-361ea906a8ac-image.png

                            also bitte auf value und sende msg bei start in deinen iobroker in NOdes umstellen.

                            ok verstanden das mache ich, aber dein spoiler kann ich nicht importieren Error: Eingabe ist kein JSON-Array ? makieren kopieren importieren geht nicht

                            Dann hast Du nicht alles kopiert - und es fehlt entweder die ECKIGE Klammer oben oder unten beim Import. 😉

                            Ist eh nur eine Change Node - kannst auch selbst machen - ist ja relativ einfach:

                            a0fe2ab2-8bcb-447a-acff-3083edef9efd-image.png

                            hast du recht gehabt nicht richtig kopiert 😠 obwohl select all gedrückt
                            das funktioniert mit dem esp1 jetzt habe ich noch esp2 ist aber noch nicht angeschlossen muss ich das genauso machen wie für den ersten ? bin mal gespannt ob sich die Werte aktualisieren werden

                            mickym 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @jabba76 last edited by

                              @jabba76 Ja geht genauso. siehst ja dass Du noch mal topic setzen musst im originalen Flow - wenn das dann in eine Ausgabe soll. Ich habe die nächsten paar Stunden bissi wenig Zeit - kann nur sporadisch helfen. Wie gesagt die Ausgabe solltest Du bereits bekommen, wenn Du sende msg bei Start.

                              J 1 Reply Last reply Reply Quote 0
                              • J
                                jabba76 @mickym last edited by

                                @mickym sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

                                @jabba76 Ja geht genauso. siehst ja dass Du noch mal topic setzen musst im originalen Flow - wenn das dann in eine Ausgabe soll. Ich habe die nächsten paar Stunden bissi wenig Zeit - kann nur sporadisch helfen. Wie gesagt die Ausgabe solltest Du bereits bekommen, wenn Du sende msg bei Start.

                                ok noch eine Frage wozu ist das unten im Bild ? 1614608359280-621e31f9-f39a-4f99-8ff3-139c616dc572-image.png
                                da steht was von esp3 usw brauche ich das

                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @jabba76 last edited by

                                  @jabba76 nein esp03 nicht.

                                  J 1 Reply Last reply Reply Quote 0
                                  • J
                                    jabba76 @mickym last edited by

                                    @mickym
                                    ok wenn ich den esp2 noch nicht habe sollten sich die werte auch jetzt schon automatisch ändern ?
                                    oder funktioniert das dann erst wenn alles da ist?

                                    mfg

                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @jabba76 last edited by mickym

                                      @jabba76 Na in der Template node für den 1. sollte schon was rauskommen. Die Ergebnisse siehst ja immer im Kontextmenü in den Flowvariablen und können dann ja via HTTP abgerufen werden.

                                      97c1a507-a96c-4887-a3b6-0d7de0722cf0-image.png

                                      Du kannst auch immer eine Debug Node an alle Deine 3 iobroker in Nodes und an die JOIN Node machen - um zu sehen, ob jeder Datenpunkt geliefert hat und wie das zusammengesetzte Objekt aussieht.

                                      J 1 Reply Last reply Reply Quote 0
                                      • J
                                        jabba76 @mickym last edited by

                                        @mickym sagte in BME280 mit ESP8266 von MQTT auf Webserver als Text:

                                        @jabba76 Na in der Template node für den 1. sollte schon was rauskommen. Die Ergebnisse siehst ja immer im Kontextmenü in den Flowvariablen und können dann ja via HTTP abgerufen werden.

                                        97c1a507-a96c-4887-a3b6-0d7de0722cf0-image.png

                                        Du kannst auch immer eine Debug Node an alle Deine 3 iobroker in Nodes und an die JOIN Node machen - um zu sehen, ob jeder Datenpunkt geliefert hat und wie das zusammengesetzte Objekt aussieht.

                                        Hallo ja es funktioniert! hast du gut gemacht ohne dich hätte ich das nicht geschafft habe das nicht so richtig verstanden was zb die change node macht also die Grundfunktion weiss ich schon aber was man da reinschreiben muss/soll K.a 🙂
                                        Habe auch schon den zweiten Sensor angeschlossen 👍 👍

                                        ein kleines Bild:
                                        Lcdfertig.jpeg

                                        Danke nochmal bin dir Bier/Kaffee schuldig 👍

                                        mickym 1 Reply Last reply Reply Quote 0
                                        • mickym
                                          mickym Most Active @jabba76 last edited by

                                          @jabba76 Na das freut mich. 🙂 - Deine Freude darüber ist mir Lohn genug. 🙂 Also viel Spaß.

                                          J 1 Reply Last reply Reply Quote 0
                                          • J
                                            jabba76 @mickym last edited by jabba76

                                            Hallo und Frohe nach Weihnachten hoffe habt Ihr alle alles gut überstanden 🙂

                                            @mickym

                                            Es funktioniert alles Prima habe aber eine Frage die Sensoren senden auch Status (Zeitstempel) den würde ich gerne auch auf dem Display haben wollen weil dadurch weiß ich dann ob der/die Sensoren noch leben falls der Akku Tod ist.

                                            Ausgabe vom Sensor

                                            {"topic":"mqtt/0/esp1/status","payload":"ESP01 alive","acknowledged":true,"timestamp":1640703212978,"lastchange":1640703212978,"from":"system.adapter.mqtt.0","_msgid":"87ba97f9.24cca8"}
                                            

                                            könntest du mir nochmal helfen wenn du Zeit hast? es ist schon etwas schwierig für mich das da einzubinden vor allem muß diese Zeitstempel wohl noch umformatiert werden 😧 😰

                                            Danke mfg

                                            Update: hab da etwas rum gefummelt

                                            habe Funktion node eingesetzt mit:

                                            msg.payload = new Date().toString();
                                            return msg;
                                            

                                            ausgabe ist jetzt so:

                                            Temperatur Terrasse:
                                            Temperatur: 5.74 °C
                                            Feuchtigkeit: 87.62 %
                                            Luftdruck: 986.13 hPa
                                            Status: Tue Dec 28 2021 16:36:47 GMT+0100 (Central European Standard Time)
                                            Temperatur Kinderzimmer:
                                            Temperatur: 22.75 °C
                                            Feuchtigkeit: 49.7 %
                                            

                                            was muss ich in der node ändern damit "GMT+0100 (Central European Standard Time)" nicht angezeigt wird?
                                            den Luftdruck vom Kinderzimmer habe ich weggelassen brauche ich nicht zwei mal 🙂

                                            am Bilderrahmen sieht schon ziemlich gut aus 🙂

                                            bilderrahmen.jpeg

                                            mfg

                                            mickym 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            56
                                            2947
                                            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