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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

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

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

      @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

      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

        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
                                            • First post
                                              Last post

                                            Support us

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

                                            868
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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