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.
    • 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

                        873
                        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