Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Daten von ESP32 (ESPHome) per MQTT an ioBroker

    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

    Daten von ESP32 (ESPHome) per MQTT an ioBroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Felias last edited by Felias

      Hallo zusammen,

      ich bin noch recht frisch in der Materie, habe aber großen Spaß am Reinfuchsen. Aktuell läuft ein ioBroker auf meinem Synology NAS, und ich ergänze freudig Sensoren und Geräte. 433Mhz-Geräte sind über eine RF Bridge angeschlossen, was auch super funktioniert.

      Auf meinem Balkon habe ich eine Bewässerung gebaut, die ich gerne über ioBroker steuern möchte. Ein Element davon sind mehrere Xiaomi Flower Care Geräte, die alle 30 Sekunden Werte per Bluetooth Low Energy senden (Temperatur, Feuchtigkeit, ...).

      Diese Werte würde ich gerne mit einem ESP32 (auf dem ESPHome drauf ist) empfangen und per MQTT zum ioBroker schicken.

      Der ESP32 ist auch schon eingerichtet und ESPHome funktioniert soweit auch. Die Werte werden eingelesen wie folgt:

      sensor:
        - platform: xiaomi_hhccjcy01
          mac_address: C4:7C:8D:62:DB:DA
          temperature:
            name: "Boden rechts Temperatur"
          moisture:
            name: "Boden rechts Feuchtigkeit"
          illuminance:
            name: "Boden rechts Licht"
          conductivity:
            name: "Boden rechts Leitfähigkeit"
          battery_level:
            name: "Boden rechts Batteriezustand"
      

      Wenn es um den Versand per MQTT geht, komme ich aber gerade nicht weiter. MQTT an sich ist soweit eingerichtet und ein Connect zum ioBroker kommt zu Stande. Aber wie kann ich jetzt regelmässig die Daten schicken? Die Dokumentation bei ESPHome ist dürftig, und auch das Einarbeiten in MQTT hat mich nicht schlauer gemacht. Es gibt einen mqtt.publish-Befehlt, der ein Topic und eine Payload braucht. Was ich aber genau reinschreiben muss in meinem Fall, verstehe ich nicht so ganz.

      Mein Ziel: ESPHome soll alle 30 Sekunden die Werte per MQTT an ioBroker schicken.

      Kennt sich hier zufällig jemand etwas mit ESPHome aus und kann helfen?

      1000 Dank im Voraus!

      PS: Ich war unsicher bezüglich des richtigen Unterforums. Sollte es falsch sein, bitte um Info.

      OpenSourceNomad G 2 Replies Last reply Reply Quote 0
      • OpenSourceNomad
        OpenSourceNomad Most Active @Felias last edited by OpenSourceNomad

        @Felias said in Daten von ESP32 (ESPHome) per MQTT an ioBroker:

        Die Dokumentation bei ESPHome ist dürftig

        Sprechen wir über das gleiche esphome? Eher wohl zu umfangreich, daran scheitern die meisten 😉 (Trick 17: Suchfunktion!)

        Wenn dein mqtt auf beiden Seiten schon steht purzeln wahrscheinlich schon munter die Daten von esphome zu deinem broker.

        Am besten mal dein logger von esphome auf VERBOSE stellen und dich darauf verbinden, entweder über die console oder den web server. Du solltest dann live deinen mqtt traffic beobachten können, genau wie hier im screenshot:

        alt text
        Quelle: https://esphome.io/components/logger.html#manual-tag-specific-log-levels

        Mein Ziel: ESPHome soll alle 30 Sekunden die Werte per MQTT an ioBroker schicken.

        Darum musst du dich gar nicht erst kümmern, esphome macht das für dich. Standardmäßig werden nach einer Aktualisierung von Sensoren direkt die neuen Werte gepusht.

        F 2 Replies Last reply Reply Quote 0
        • F
          Felias @OpenSourceNomad last edited by

          @OpenSourceNomad

          hab vielen lieben Danke für die Infos, das hat sehr geholfen 🙂 Ich habe den MQTT-Adapter auf Debug gestellt, und wie vermutet erscheinen hier die Werte in der StateEngine freu.

          Jetzt muss ich nur noch lernen, wie ich diese Daten weiter nutzen und aufbereiten kann 🙂

          Bezüglich der Suche: Ich war auf der Homepage von ESPHome, und bin dort im Wiki unterwegs gewesen. Die Infos dort haben mich aber nicht wirklich weitergebracht. Aus jetziger Sicht ja auch völlig richtig, es läuft ja an sich auch alles. Aber bei der Suche im Web habe ich jetzt noch allzuviel hilfreiche Dinge gefunden. Aber vermutlich eher ein Fehler in user.exe 🙂

          Auf jeden Fall vielen Dank für Deine Hilfe, jetzt bin ich schonmal weiter.

          1 Reply Last reply Reply Quote 1
          • F
            Felias @OpenSourceNomad last edited by Felias

            @OpenSourceNomad

            Jetzt muss ich doch nochmal fragen... ich sehe im ESPHome sehr schön, wie die Werte reinkommen:

            C85F0FCC-6BC0-4BC4-8717-7FD027CD5F39.jpeg

            Komisch ist, dass sich bei einem Gerät komischerweise die Daten über eine Minute Zeit lassen, beim anderen erscheinen sie alle paar Sekunden.

            Außerdem sehe ich bei Debug-Ausgabe des MQTT-Adapters in ioBroker, dass die Werte auch ankommen. Allerdings in dieser Form:

            (9074) onStateChange mqtt.0.balkonesp32.sensor.hochbeet_licht.state: {"val":9378,"ack":true,"ts":1588673237975,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1588673237975}
            

            Unter den Objekten sehe ich beim MQTT-Adapter jedoch nur die Eigenschaften der Datenpunkte an sich... aber keine Daten:

            F537C9B6-E508-4561-8C7D-B0207373C186.jpeg

            Meines Verständnisses nach werden MQTT-Pakete aber mit Topic und Payload geschickt.

            Daher weiss ich jetzt nicht so recht, wie ich die Werte weiterverarbeiten kann... könntest Du (oder ein anderer Leser) mir hier noch einen Tipp geben?

            OpenSourceNomad 1 Reply Last reply Reply Quote 0
            • OpenSourceNomad
              OpenSourceNomad Most Active @Felias last edited by OpenSourceNomad

              @Felias said in Daten von ESP32 (ESPHome) per MQTT an ioBroker:

              alt text
              Komisch ist, dass sich bei einem Gerät komischerweise die Daten über eine Minute Zeit lassen,

              Bezüglich der Anzeige von Sensordaten in der web server Komponente gibt es einen bekannten bug in der letzten Version.

              Kannst du über as logging bestätigen das die Daten später kommen oder werden diese intern zeitgerecht verarbeitet und mittels mqtt weitergegeben?

              Meines Verständnisses nach werden MQTT-Pakete aber mit Topic und Payload geschickt.

              Ich habe mich (glücklicherweise) schon länger her komplett von mqtt verabschiedet (20 Jahre sind dann auch mal genug 😉 ). Für iobroker allerdings ist die native api keine alternative weil es hierfür keinen Adapter gibt....

              Könnte es sein das es sich bei der mqtt message um einen json payload handelt?

              1 Reply Last reply Reply Quote 0
              • G
                gjo @Felias last edited by

                @Felias
                Hi,
                um die BLE Reichweite zu erweitern wollte ich auch einen ESP32 mit ESPhome als "verlängerte Antenne" nutzen und dann die Daten via WLAN MQTT dem ioBroker zur Verfügung stellen.

                So weit so gut und als trial and error user hangele ich mich durch so manche Suche und Foreneinträge. Beim ESPhome bin ich bisher auf nix passendes gestoßen. Bzw. wird immer der Weg über den Home assistant genannt... wie geht das ohne? Gibts da einen howto in dem das irgendwie erklärt wird?
                Bzw. kannst du mir da einen Tipp geben wie du das gemacht hast?

                Gruss und Danke
                Gernot

                OpenSourceNomad 1 Reply Last reply Reply Quote 0
                • OpenSourceNomad
                  OpenSourceNomad Most Active @gjo last edited by

                  @gjo said in Daten von ESP32 (ESPHome) per MQTT an ioBroker:

                  Gibts da einen howto in dem das irgendwie erklärt wird?

                  Also grundsätzlich ist die Dokumentation auf www.esphome.io mehr als nur umfangreich. Die Suchfunktion ist deswegen essentiell 😉

                  Bzw. kannst du mir da einen Tipp geben wie du das gemacht hast?

                  Du musst (solange iobroker die native api von esphome nicht unterstützt), einfach die mqtt Komponente verwenden.

                  Zum Start lohnt sich übrigens immer ein Blick in's Kochbuch 👨‍🍳

                  K 1 Reply Last reply Reply Quote 0
                  • K
                    klassisch Most Active @OpenSourceNomad last edited by

                    @OpenSourceNomad Hi, es scheint schon einen request auf github zu geben, siehe github. Daran wäre ich auch interessiert, damit die Daten dort landen, wo ich sie haben möchte und nicht im MQTT Adapter. Wobei ich offen gestanden keine Ahnung vom nativen ESPhome Protokoll habe

                    G Dutchman 2 Replies Last reply Reply Quote 0
                    • G
                      gjo @klassisch last edited by gjo

                      @klassisch mir ist erstmal geholfen wenn mir jemand einen Tipp geben kann wie man das ESPhome auf ein ESP32 nodeMCU bekommt. Ein Image dafür habe ich nicht gefunden und die sonst irgendwann erfolgreiche Suche nach todos / videos war erfolglos ... oder ich suche mit den falschen Stichworten.

                      OpenSourceNomad 1 Reply Last reply Reply Quote 0
                      • OpenSourceNomad
                        OpenSourceNomad Most Active @gjo last edited by OpenSourceNomad

                        @gjo said in Daten von ESP32 (ESPHome) per MQTT an ioBroker:

                        oder ich suche mit den falschen Stichworten.

                        Wie wäre es mit "Getting started"?
                        ad3f0ab2-9773-41a6-b120-ca9c19166155-image.png

                        Sieht den Wald vor lauter Bäumen nicht? 🌳

                        Die ganze Webseite von esphome ist übrigens ein ziemlich umfangreiches "how to ◀

                        1 Reply Last reply Reply Quote 0
                        • Dutchman
                          Dutchman Developer Most Active Administrators @klassisch last edited by

                          @klassisch sagte in Daten von ESP32 (ESPHome) per MQTT an ioBroker:

                          @OpenSourceNomad Hi, es scheint schon einen request auf github zu geben, siehe github. Daran wäre ich auch interessiert, damit die Daten dort landen, wo ich sie haben möchte und nicht im MQTT Adapter. Wobei ich offen gestanden keine Ahnung vom nativen ESPhome Protokoll habe

                          https://forum.iobroker.net/topic/42741/esphome-beta-release?_=1614497048346

                          K 1 Reply Last reply Reply Quote -1
                          • K
                            klassisch Most Active @Dutchman last edited by klassisch

                            @dutchman vielen Dank für den Adapter und für die Erinnerung!
                            Nachdem mein erster Installationsversuch letzte Woche fehlging, habe ich mein System gestern auf controller v3.2.16 upgedatet.
                            Die Installtion hat jetzt funktioniert, controller 3.1.16 node-js v10.17.0.
                            Jetzt muß ich noch meine ESP32 Umgebung wieder auf Vordermann bringen und werde dann am Beispiel eines CO2 Sensors testen.

                            Dutchman 1 Reply Last reply Reply Quote 0
                            • Dutchman
                              Dutchman Developer Most Active Administrators @klassisch last edited by

                              @klassisch sagte in Daten von ESP32 (ESPHome) per MQTT an ioBroker:

                              Jetzt muß ich noch meine ESP32 Umgebung wieder auf Vordermann bringen und werde dann am Beispiel eines CO2 Sensors testen.

                              das machen wir dan gerne in dem thread weiter, CO2 sensor ist ein Binary der sollte ohne weitere Probleme direkt laufen.
                              Api aktivieren nicht vergessen, siehe docu Der Adapter macht nix mit MQTT 🙂

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                klassisch Most Active @Dutchman last edited by

                                @dutchman sagte in Daten von ESP32 (ESPHome) per MQTT an ioBroker:

                                Api aktivieren nicht vergessen, siehe docu Der Adapter macht nix mit MQTT 🙂

                                Ja, das wäre mein ToDo. Der CO2 Sensor läuft schon auf ESPHome, aber eben noch über MQTT. Muß jetzt die ESPHome-Umgebung updaten. War das letzte Mal nicht ganz einfach, ohne HomeAssist (oder wie auch immer das heißt) und unter Windows.
                                Dann die API im Yaml aktivieren, neu bauen und flashen (OTA hat bei mir noch nicht funktioniert, warum auch immer.

                                1 Reply Last reply Reply Quote 0
                                • K
                                  klassisch Most Active last edited by

                                  Habe den Adapter installiert, noch nichts eingetragen und auch noch keine Aufgabe für ihn. log sagt:

                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	info	Restart adapter system.adapter.esphome.0 because enabled
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	instance system.adapter.esphome.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[26]: al/modules/cjs/loader.js:778:30)
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[25]: at Module._compile (intern
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[25]: js:3:40)
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[24]: ules\esphome-native-api\lib\connection.
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[23]: les\iobroker\ioBrMain026\node_mod
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[22]: ect.<anonymous> (C:\Program Fi
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[21]: at Obj
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[21]: /modules/cjs/helpers.js:25:18)
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[20]: at require (internal
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[20]: 17)
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[19]: ernal/modules/cjs/loader.js:692:
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[18]: at Module.require (int
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.011	error	Caught by controller[18]: .js:585:3)
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[17]: d (internal/modules/cjs/loader
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[16]: at Function.Module._loa
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[16]: :12)
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[15]: eLoad (internal/modules/cjs/loader.js:593
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[14]: at tryModul
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[14]: er.js:653:32)
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[13]: at Module.load (internal/modules/cjs/load
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[12]:
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[12]: al/modules/cjs/loader.js:789:10)
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[11]: Module._extensions..js (intern
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[10]: at Object.
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[10]: es/cjs/loader.js:778:30)
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[9]: at Module._compile (internal/modul
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[9]: :27)
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[8]: home-native-api\lib\utils\messages.js:55
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[7]: er\ioBrMain026\node_modules\esp
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[6]: at Object.<anonymous> (C:\Program Files\iobrok
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[6]: fromEntries is not a function
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[5]: TypeError: Object.
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[5]:
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[5]: ^
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[4]:
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[4]: , v]) => [v, k]));
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[3]: ect.entries(id_to_type).map(([k
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.010	error	Caught by controller[2]: onst type_to_id = Object.fromEntries(Obj
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.009	error	Caught by controller[1]: c
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.009	error	Caught by controller[1]: \iobroker\ioBrMain026\node_modules\esphome-native-api\lib\utils\messages.js:55
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:17.009	error	Caught by controller[0]: C:\Program Files
                                  host.DESKTOP-0UPK22M(ioBrMain2)	2021-02-28 11:28:16.542	info	instance system.adapter.esphome.0 started with pid 7576 
                                  

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  410
                                  Online

                                  31.8k
                                  Users

                                  79.9k
                                  Topics

                                  1.3m
                                  Posts

                                  ble esp32 esphome
                                  5
                                  15
                                  7638
                                  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