Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] Daten von iobroker direkt an esphome senden??

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Daten von iobroker direkt an esphome senden??

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

      Gibt es eine Möglichkeit Daten (z.B Text) von iobroker direkt an esphome zu senden? Oder bleibt hier nur der Weg über mqtt?
      Evtl. per Template oder Custom Sensor??

      Für Homeassistant funktioniert das offensichtlich sehr einfach per esphome Text Sensor:

      text_sensor:
        - platform: homeassistant
      

      Hintergrund:
      Ich will Daten aus iobroker an ein unter esphome angebundenes Display senden.

      edit [gelöst] - siehe Beiträge unten:
      Derzeit können keine Textdaten direkt an esphome gesendet werden.
      Als workaround kleines Tutorial zur Konfiguration von mqtt.

      haselchen liv-in-sky 2 Replies Last reply Reply Quote 0
      • haselchen
        haselchen Most Active @katt last edited by

        @katt

        Hab auf die Schnelle auch nix anderes erstmal gefunden als MQTT.
        Es soll aber auch mit Node Red funktionieren.
        Da kann Dir dann aber nur unser Mr.Brain @mickym helfen 🙂

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

          Na ich versuche zwar zu helfen - aber alles verstehe ich auch nicht.

          Nur aus der Doku: https://esphome.io/components/api.html

          geht eigentlich eindeutig hervor, dass die API nur von Home Assistant genutzt wird. Eine Node habe ich nicht gefunden.

          1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @katt last edited by

            @katt

            habe da auch keine bzw zu wenig ahnung von esphome

            je nach display - ich nutze 7-segment - ginge es auch mit tasmota und einem http-get befehl

            1 Reply Last reply Reply Quote 0
            • K
              katt last edited by

              Vielen Dank für Eure schnellen Antworten. Da ich schon lange suche, wollte ich nur abklären, ob ich evt. etwas übesehen habe. Die Frage wurde auch hier schon gestellt, aber nicht wirklich beantwortet: link text.

              @haselchen
              Node Red: Kenn mich da nur rudimentär aus, aber wie ich das verstehe, komuniziert Nod Red auch nur per mqtt mit esphome.

              @mickym
              API-Schnittstelle: Prinzipiell ist esphome ja wunderbar an iobroker angebunden. Switches z.B. lassen sich direkt von iobroker steuern - aber leider können hier nur die Zustände true/false übergeben werden.

              @liv-in-sky
              Tasmota habe ich auch am laufen. Versuche in letzter Zeit aber alles in esphome zu realisieren. Wie eingangs erwähnt, könnte ich die Daten/Texte für das Display auch per mqtt an esphome senden.

              Vielleicht kann sich hier doch noch jemand melden, der zumindest bestätigen kann, dass es definitiv nicht geht - das würde mir weiteres Suchen ersparen.

              1 Reply Last reply Reply Quote 0
              • K
                katt last edited by

                Möchte meine Frage nochmal kurz präzisieren:
                Wenn ich in esphome die Switch Komponente verwende, z.B.:

                switch:
                  - platform: gpio
                    pin: D1
                    name: "Schalter"
                

                dann wird in iobroker automatisch ein Datenpunkt "Schalter" vom Typ boolean angelegt. Dieser ist beschreibbar. Das heist, mit true oder false kann ich in iobroker direkt den Switch in esphome schalten und damit z.B. ein Relais ansteuern. Funktioniert offensichtlich direkt über die api.

                Meine Frage ist einfach: Gibt es in esphome irgendeine Komponente die in iobroker einen beschreibbaren Datenpunkt vom Typ string oder number erzeugt??

                liv-in-sky 2 Replies Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @katt last edited by

                  @katt

                  es gab mal einen spezialisten @OpenSourceNomad - aber der hat seit monaten nix mehr gepostet

                  sowas ? https://esphome.io/components/text_sensor/index.html

                  dann vielleicht mqtt:

                  mqtt:
                    # ...
                    on_message:
                      topic: my/custom/topic
                      qos: 0
                      then:
                        - switch.turn_on: some_switch
                  

                  oder so ähnlich 😞

                  1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @katt last edited by

                    @katt

                    ich habe das noch irgendwo her - war mir zu viel arbeit, daher habe ich wieder mit tasmota weitergemacht

                    villeicht hilft das was:

                    esphome:
                     name: esp7segment
                     platform: ESP8266
                     board: nodemcu
                    
                    wifi:
                     ssid: "xxxx"
                     password: "xxx"
                    
                     # Enable fallback hotspot (captive portal) in case wifi connection fails
                     ap:
                       ssid: "Esp7Segment Fallback Hotspot"
                       password: "TrE6m9BRZ9Ge"
                    
                    captive_portal:
                    
                    # Enable logging
                    logger:
                    
                    # Enable Home Assistant API
                    api:
                    
                    ota:
                    
                    web_server:
                     port: 80
                     
                    time:
                     - platform: homeassistant
                       on_time:
                         - seconds: 0
                           minutes: 0
                           hours: 4
                           days_of_week: MON-SUN
                           then:
                              - switch.toggle: re_switch
                    switch:
                     - platform: restart
                       name: "ESP_Erdgeschoss Restart"
                       id: re_switch
                    
                    sensor:
                     - platform: mqtt_subscribe
                       name: "Data from topic"
                       id: mysensor
                       topic: esp7segment/value
                      
                    mqtt:
                     broker: 192.168.178.59
                     port: 1506
                     topic_prefix: esp7segment/sensors
                     id: mqtt_client
                     on_message:
                      - topic: esp7segment/value
                        then:
                           - logger.log: id(mysensor).state
                    
                    
                    text_sensor:
                       - platform: wifi_info
                         ip_address:
                          name: "ESP IP Address"
                         mac_address:
                          name: "ESP Mac Wifi Address"
                    
                    
                    display:
                       platform: tm1637
                       id: tm1637_display
                       clk_pin: D6
                       dio_pin: D5
                       lambda: |-
                          it.printf("%3.0f ", id(mysensor).state);
                    
                    
                    

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      katt @liv-in-sky last edited by

                      @liv-in-sky
                      Den Text Sensor hatte ich auch schon ewig versucht - die Kommunikation geht leider nur oneway: von esphome zu iobroker.
                      Auch mit der esphome Web Server Komponente (via web api) kann man leider nur einen Switch steuern siehe : Web Server API.

                      Habe heute aber auf github endlich eine klare Aussage von Dutchman gefunden: Text lässt sich derzeit nicht direkt von iobroker an esphome senden,
                      siehe hier: github DrozmotiX.

                      Liegt also tatsächlich an der Native API Komponente von esphome. Wenn ich die Aussage von Dutchman richtig verstehe, wird bei esphome aber offensichtlich an einer Lösung gearbeitet. Bin gespannt wie sich das entwickelt.

                      Euch allen nochmal besten Dank für die Unterstützung. Ich ändere den Thread jetzt auf "gelöst".

                      1 Reply Last reply Reply Quote 0
                      • K
                        katt last edited by

                        Da die Einrichtung zum senden von Daten an esphome per mqtt etwas tricky ist möchte ich das hier noch kurz an folgendem Beispiel zeigen:

                        Text aus iobroker an esphome per mqtt senden und auf Display anzeigen.

                        1. In iobroker MQTT Broker/Client installieren und grundlegend einrichten.
                          Wichtig:
                          Unter MQTT-Einstellungen -> Maske zum Bekanntgeben eigener States "mqtt.0.*" (ohne Anführungszeichen) eintragen und Enter drücken (Achtung: ohne "Enter" lässt sich der Eintrag nicht speichern).

                        2. Esphome:
                          Zum ersten Testen z.B. folgenden Code installieren (wichtig: loglevel auf verbose):

                        esphome:
                          name: mc-esp-test
                        
                        esp8266:
                          board: d1_mini
                        
                        logger:
                          level: verbose
                        
                        api:
                          password: !secret api_password
                          
                        
                        ota:
                          password: "geheim"
                        
                        wifi:
                          ssid: !secret wifi_ssid
                          password: !secret wifi_password
                          
                        
                          ap:
                            ssid: "Mc-Esp-Test Fallback Hotspot"
                            password: "geheim"
                        
                        
                        captive_portal:
                        
                        mqtt:
                          broker: 192.168.188.110
                        
                        text_sensor:
                          - platform: mqtt_subscribe
                            name: "Test"
                            id: test
                            topic: mc-esp-test/sensor/test/state
                        
                        

                        Nach dem Starten von esphome wird in iobroker automatisch ein Datenpunkt unter "mqtt" angelegt.
                        Achtung:
                        Das im Text Sensor angegebene Topic muss exakt mit dem Pfad des Datenpunktes übereinstimmen.
                        In meinem Fall wurde ein Datenpunkt vom Typ "number" erstellt. Hier gegebenenfalls noch manuell auf Typ "string" ändern.

                        Zum Testen in den Datenpunkt einfach Text eingeben. Wenn alles funktioniert wird dieser im esphome log angezeigt.

                        Hier noch der vollständige code für folgendes Display: HD44780 1602 LCD module Display Bundle with I2C interface 2x16 characters.

                        esphome:
                          name: mc-esp-test
                        
                        esp8266:
                          board: d1_mini
                        
                        logger:
                        
                        api:
                          password: !secret api_password
                          
                        
                        ota:
                          password: "geheim"
                        
                        wifi:
                          ssid: !secret wifi_ssid
                          password: !secret wifi_password
                          
                        
                          ap:
                            ssid: "Mc-Esp-Test Fallback Hotspot"
                            password: "geheim"
                        
                        
                        captive_portal:
                        
                        mqtt:
                          broker: 192.168.188.110
                        
                        
                        i2c:
                          sda: D1
                          scl: D2
                        
                        
                        display:
                          - platform: lcd_pcf8574
                            dimensions: 16x2
                            address: 0x27
                            lambda: |-
                              it.printf(id(test).state.c_str());
                        
                        
                        text_sensor:
                          - platform: mqtt_subscribe
                            name: "Test"
                            id: test
                            topic: mc-esp-test/sensor/test/state
                        
                        

                        Die ganze Konfiguration ist eigenlich simpel. Allerdings haben mich die o.g. Fallstricke sehr viel Zeit gekostet.
                        Daten vom Typ "number" kann man natürlich ebenfalls senden: Anstelle "text_sensor" einfach "sensor" verwenden.

                        OK - vielleicht hilft das noch dem einen oder anderen....

                        1 Reply Last reply Reply Quote 1
                        • K
                          katt last edited by katt

                          Ergänzung: Daten vom Typ "Number" per mqtt an esphome senden. Vielleicht kann es ja noch irgenwer gebrauchen......

                          Beispiel: Temperatur eines Homematic Sensors an esphome senden.

                          1. Einstellungen im mqtt-Adapter:

                          mqttadapter.JPG

                          Um auf die Homematic Geräte zugreifen zu können muss die "Maske zum Bekanntgeben eigener States" um "hm-rpc.*" ergänzt werden.
                          "Nur bei Änderung puplizieren" sollte man anfangs nicht anhaken, da es sonst evtl. lange dauert, bis überhaupt ein Wert gesendet wird.

                          "Keine neuen Zustände erstellen" sollte man generell anhaken. Iobroker legt sonst bei jedem flashen von esphome automatisch Datenpunkte an, was bei mir zu ziemlich viel Durcheinander in der Datenstruktur führte. Bei Bedarf Datenpunkte einfach manuell anlegen.

                          2. Esphome:
                          Z.B. folgenden Sensor anlegen:

                          sensor:
                            - platform: mqtt_subscribe
                              id: temp_aussen
                              topic: hm-rpc/1/000xxxxxxxxxxxx/1/ACTUAL_TEMPERATURE
                          

                          Das topic muss dem Objektpfad entsprechen. Kann man sich aus den Objektdaten kopieren (unter Objekte rechts das Bleistift-Symbol anklicken, Achtung: alle Punkte müssen durch Slash ersetzt werden).

                          Der Sensor liefert jetzt den numerischen Wert, den man z.B. auf einem Display ausgeben kann.

                          Übrigens:
                          Ich teste derzeit mit einem Waveshare 4.2 epaper Display an einem ESP32. Das funktioniert unter esphome einwandfrei. Die größte Hürde war halt, die Daten auf den ESP zu bekommen.

                          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

                          382
                          Online

                          32.0k
                          Users

                          80.4k
                          Topics

                          1.3m
                          Posts

                          4
                          11
                          1402
                          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