Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. [ESPHome] Beta release

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

[ESPHome] Beta release

Scheduled Pinned Locked Moved Tester
591 Posts 48 Posters 155.3k Views 39 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T tloeffel

    @e-s
    Hi hatte die gleiche Idee! Mit Tasmotizer kann ich die BIN von meiner Sysnolgy/iobroker auf den D1 mini laden. Dann zeigt er auch eine Verbindung auf der Oberfläche an. Es wird über die VM auf der Synology der richtige USB Port angesteuert. Sonst würde der angeschlossene D1 mini ja nicht blinken. Geht aber nicht..... Habe ein 3 Meter langes USB 3.0 an der USB 3.0 Buchse der Synology.

    Habe keine Ahnung was ich da machen soll.....

    Wenn ich den Umweg über Tasmotizer nehme geht es. Wie verwalte ich nun MQTT? Bin da noch ein bisschen am lernen :-).

    Gruß Thomas

    DutchmanD Offline
    DutchmanD Offline
    Dutchman
    Developer Most Active Administrators
    wrote on last edited by
    #347

    @tloeffel sagte in [ESPHome] Beta release:

    Wenn ich den Umweg über Tasmotizer nehme geht es. Wie verwalte ich nun MQTT? Bin da noch ein bisschen am lernen :-).

    wieso MQTT ? Du erstellt die bin mit ESPHome, do trägst du API usw ein wie in der doku beschrieben und das wars der Adapter macht den rest da brauchst du kein MQTT.

    Habe dein isssue auf git gesehen, kann da leider nix mit anfangen die port Weiterleitung ist ne Synology/VM Sache wie auf da erwähnt als Workarround die bin mit de PC flachen und danach alles weitere per OTA und ESPHome

    T 1 Reply Last reply
    0
    • DutchmanD Dutchman

      @tloeffel sagte in [ESPHome] Beta release:

      Wenn ich den Umweg über Tasmotizer nehme geht es. Wie verwalte ich nun MQTT? Bin da noch ein bisschen am lernen :-).

      wieso MQTT ? Du erstellt die bin mit ESPHome, do trägst du API usw ein wie in der doku beschrieben und das wars der Adapter macht den rest da brauchst du kein MQTT.

      Habe dein isssue auf git gesehen, kann da leider nix mit anfangen die port Weiterleitung ist ne Synology/VM Sache wie auf da erwähnt als Workarround die bin mit de PC flachen und danach alles weitere per OTA und ESPHome

      T Offline
      T Offline
      tloeffel
      wrote on last edited by
      #348

      @dutchman

      Hallo dutchman,

      danke für Deine schnelle Antwort. Habe den Github Eintrag geschlossen.
      Bin Neuling und teste mal weiter :-).

      Ist dieses das richtige Forum für Neulinge, oder nerve ich Euch?
      Gruß Thomas

      HomoranH 1 Reply Last reply
      0
      • T tloeffel

        @dutchman

        Hallo dutchman,

        danke für Deine schnelle Antwort. Habe den Github Eintrag geschlossen.
        Bin Neuling und teste mal weiter :-).

        Ist dieses das richtige Forum für Neulinge, oder nerve ich Euch?
        Gruß Thomas

        HomoranH Do not disturb
        HomoranH Do not disturb
        Homoran
        Global Moderator Administrators
        wrote on last edited by Homoran
        #349

        @tloeffel sagte in [ESPHome] Beta release:

        Ist dieses das richtige Forum für Neulinge, oder nerve ich Euch?

        Ja 😂

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        T 1 Reply Last reply
        1
        • HomoranH Homoran

          @tloeffel sagte in [ESPHome] Beta release:

          Ist dieses das richtige Forum für Neulinge, oder nerve ich Euch?

          Ja 😂

          T Offline
          T Offline
          tloeffel
          wrote on last edited by
          #350

          @homoran

          Ok da bin ich ja beruhigt.

          Ich komme von Tasmota, benutze da einige Projekte mit MQTT. Warum brauche ich das hier nicht? Weil die Datenpunkte in iobroker angezeigt werden?

          Gruß Thomas

          1 Reply Last reply
          0
          • K Offline
            K Offline
            klassisch
            Most Active
            wrote on last edited by
            #351

            ESPHome ist zur Übermittlung und Integration der Daten in ein Automatisierungssytem gemacht - und zwar für Home Assistent. Dafür gibt es die API. @Dutchman hat mit dem ioBroker ESPHome Adapter (um den es hier im Thread geht) diesen direkten Datenweg "in der vollen Bandbreite" für ioBroker nutzbar gemacht.
            Damit landen die Daten direkt in der ioBroker Struktur und man hat u.U. noch andere Vorteile wie das Dashboard.
            Noch bevor es diesen ioBroker Adapter gab, habe ich und andere bereits ESPHome punktuell genutzt und dabei die Daten über MQTT übertragen. Das geht auch. Ist halt ein Umweg. So eine Art universeller und weitverbreiteter Datenpfad.

            T 1 Reply Last reply
            0
            • K klassisch

              ESPHome ist zur Übermittlung und Integration der Daten in ein Automatisierungssytem gemacht - und zwar für Home Assistent. Dafür gibt es die API. @Dutchman hat mit dem ioBroker ESPHome Adapter (um den es hier im Thread geht) diesen direkten Datenweg "in der vollen Bandbreite" für ioBroker nutzbar gemacht.
              Damit landen die Daten direkt in der ioBroker Struktur und man hat u.U. noch andere Vorteile wie das Dashboard.
              Noch bevor es diesen ioBroker Adapter gab, habe ich und andere bereits ESPHome punktuell genutzt und dabei die Daten über MQTT übertragen. Das geht auch. Ist halt ein Umweg. So eine Art universeller und weitverbreiteter Datenpfad.

              T Offline
              T Offline
              tloeffel
              wrote on last edited by tloeffel
              #352

              @klassisch

              Danke für die super Erklärung.

              8d24da4f-90d3-48af-af6e-ceeabd4938d2-image.png

              Was mache ich hier falsch? Da es auf einer VM läuft habe ich eine IP angegeben und nicht localhost. Liegt das daran?

              Gruß Thomas

              PS. Beim Ausführen "Install" über Wifi

              T 1 Reply Last reply
              0
              • T tloeffel

                @klassisch

                Danke für die super Erklärung.

                8d24da4f-90d3-48af-af6e-ceeabd4938d2-image.png

                Was mache ich hier falsch? Da es auf einer VM läuft habe ich eine IP angegeben und nicht localhost. Liegt das daran?

                Gruß Thomas

                PS. Beim Ausführen "Install" über Wifi

                T Offline
                T Offline
                tloeffel
                wrote on last edited by tloeffel
                #353

                @tloeffel
                ..... und später zeigt er das an.....

                8dafa2d0-d19b-4aaf-bcf1-ab7bf7996e6a-image.png

                Gruß Thomas

                PS: Nachdem der Wemos etwas länger läuft....

                DutchmanD 1 Reply Last reply
                0
                • K Offline
                  K Offline
                  klassisch
                  Most Active
                  wrote on last edited by klassisch
                  #354

                  Es gibt mehrere Möglichkeiten zu flashen oder OTA zu nutzen. Zumindest bei mir. Aber meine Installation ist auch ein Sonderfall, weil mein ioBroker unter Windows läuft und ich meine ymals auch auf einem Win Rechner erstelle und compiliere. (Dadurch kann ich das ESPHOme Dashboard nicht nutzen. Habe aber auch keine USB Probleme und ein sehr stabiles System mit geringem Wartungsaufwand.)

                  • Urflashen mache ich über USB am Win Rechner. Also neuer Wemos zum ersten mal mit ESPHome versorgen
                  • Wiederholungs-OTA-Flashen bei gleichem Sensornamen geht bei mir automatisch beim compilieren des YAML
                  • Einen Sensor umwidmen, also mit einem anderen Namen oder YAML versehen, geht bei mir nicht automatisch. Der Compilerlauf endet nach der Programmerzeugung und findet den neu benamten Sensor nicht. Klar den gibt es auch nicht, der hat ja noch den alten Namen. In diesem Fall rufe ich die Website des umzuwidmenden Sensors auf und nutze OTA via upload. Das zugehörige Uploadfile heißt firmware.bin und findet sich auch meinem PC im Verzeichnis mit dem neuen Namen
                    fc8e1204-e6ab-450d-8894-bcf8d2c823ba-grafik.png

                  Wenn im yaml "logging" aktiviert ist, dann versucht sich die Entwicklungsumgebung nach dem OTA Flashen mit dem ESP zu verbinden. Der ist aber noch im Reset und orientiert sich noch in der WLAN Welt, meldet sich an etc. Das dauert. Deshalb kann es zu einigen Timeout Meldungen kommen. Ab und an braucht ein ESP auch mal einen zusätzlichen manuellen Reset nach dem OTA, was besonders lästig ist,
                  Wenn der ESP dann gebootet hat, im WLAN angekommen ist, connected er sich mit dem Rechner und das logging kann beginnen.
                  Das logging nutze ich nur während der Entwicklung. Bei den Produktivteilen kommentiere ich das aus. Dann gibt es auch die timeout Meldungen nicht mehr.
                  Wichtig ist dann die Ansicht in der Instanz des ioBroker ESPHome Adapters. Dort muß der ESP sichtbar und grün sein.
                  Dann liefert er auch Daten in die ioBroker Datenstruktur.

                  1 Reply Last reply
                  0
                  • T tloeffel

                    @tloeffel
                    ..... und später zeigt er das an.....

                    8dafa2d0-d19b-4aaf-bcf1-ab7bf7996e6a-image.png

                    Gruß Thomas

                    PS: Nachdem der Wemos etwas länger läuft....

                    DutchmanD Offline
                    DutchmanD Offline
                    Dutchman
                    Developer Most Active Administrators
                    wrote on last edited by Dutchman
                    #355

                    @tloeffel sagte in [ESPHome] Beta release:

                    @tloeffel
                    ..... und später zeigt er das an.....

                    8dafa2d0-d19b-4aaf-bcf1-ab7bf7996e6a-image.png

                    Gruß Thomas

                    PS: Nachdem der Wemos etwas länger läuft....

                    das ist normal, wen du den Wemos Flasht per OTA startet er neu in dieser zeit ist er nicht erreichbar. Beim niesten versuch ist er dan in der Luft und klappt die Verbindung auch

                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      tloeffel
                      wrote on last edited by
                      #356

                      Hallo Zusammen,

                      danke für die super Erklärungen!!

                      Habe heute ein bisschen experimentiert. Macht richtig Freude :-). Habe meinen ersten DHT22 und SW420 integriert. Klappt super.
                      Da ich nicht der Yaml Programmierer bin, freue ich mich über jeden kleinen Erfolg. Ist der Code aus Eurer Sicht ok, oder gibt es Verbesserungen?

                      Gruß Thomas

                      sensor:
                        - platform: dht
                          pin: GPIO14
                          temperature:
                            name: "Dachgeschoss Temperatur01"
                          humidity:
                            name: "Dachgeschoss Luftfeuchtigkeit01"
                          update_interval: 60s
                          
                      binary_sensor:  
                        - platform: gpio  
                          name: "Dachgeschoss_Vibration01"  
                          pin:
                            number: GPIO0
                            inverted: true
                            mode: INPUT
                          device_class: vibration
                          
                          filters:
                           delayed_off: 2s
                      
                      1 Reply Last reply
                      1
                      • T Offline
                        T Offline
                        tloeffel
                        wrote on last edited by
                        #357

                        Hallo Zusammen,

                        ich habe leider fast erfolglos folgendes probiert.

                        Projekt:
                        Ich möchte bei Änderung einen Temperaturwert in meine Homematic CCU Variable schreiben. Dieses klappte mit "on_value" als Trigger und dann "then" mit dem "http_request.get: http://192.168.xxx.xxx:8181/egal.exe?x=dom.GetObject("_httptest").State(420)".

                        Problem:
                        Ich kann eine Zahl, bei mir hier "420", übertragen. Aber wie übertrage ich den Wert des Sensors?

                        Danke für Eure Hilfe.
                        Gruß Thomas

                        sensor:
                          - platform: dht
                            pin: GPIO14
                            temperature:
                              name: "Dachgeschoss Temperatur01"
                              id: Wert_1
                              on_value:
                                then:
                                 http_request.get: http://192.168.xxx.xxx:8181/egal.exe?x=dom.GetObject("_httptest").State(420)
                        
                        1 Reply Last reply
                        0
                        • DutchmanD Offline
                          DutchmanD Offline
                          Dutchman
                          Developer Most Active Administrators
                          wrote on last edited by
                          #358

                          @tloeffel sagte in [ESPHome] Beta release:

                          Hallo Zusammen,

                          ich habe leider fast erfolglos folgendes probiert.

                          Projekt:
                          Ich möchte bei Änderung einen Temperaturwert in meine Homematic CCU Variable schreiben. Dieses klappte mit "on_value" als Trigger und dann "then" mit dem "http_request.get: http://192.168.xxx.xxx:8181/egal.exe?x=dom.GetObject("_httptest").State(420)".

                          Problem:
                          Ich kann eine Zahl, bei mir hier "420", übertragen. Aber wie übertrage ich den Wert des Sensors?

                          Danke für Eure Hilfe.
                          Gruß Thomas

                          sensor:
                            - platform: dht
                              pin: GPIO14
                              temperature:
                                name: "Dachgeschoss Temperatur01"
                                id: Wert_1
                                on_value:
                                  then:
                                   http_request.get: http://192.168.xxx.xxx:8181/egal.exe?x=dom.GetObject("_httptest").State(420)
                          

                          Einen de sensor Wert kan man nicht schreiben, währe es nicht einfacher das im ioBroker zu lösen ?

                          T 1 Reply Last reply
                          0
                          • DutchmanD Dutchman

                            @tloeffel sagte in [ESPHome] Beta release:

                            Hallo Zusammen,

                            ich habe leider fast erfolglos folgendes probiert.

                            Projekt:
                            Ich möchte bei Änderung einen Temperaturwert in meine Homematic CCU Variable schreiben. Dieses klappte mit "on_value" als Trigger und dann "then" mit dem "http_request.get: http://192.168.xxx.xxx:8181/egal.exe?x=dom.GetObject("_httptest").State(420)".

                            Problem:
                            Ich kann eine Zahl, bei mir hier "420", übertragen. Aber wie übertrage ich den Wert des Sensors?

                            Danke für Eure Hilfe.
                            Gruß Thomas

                            sensor:
                              - platform: dht
                                pin: GPIO14
                                temperature:
                                  name: "Dachgeschoss Temperatur01"
                                  id: Wert_1
                                  on_value:
                                    then:
                                     http_request.get: http://192.168.xxx.xxx:8181/egal.exe?x=dom.GetObject("_httptest").State(420)
                            

                            Einen de sensor Wert kan man nicht schreiben, währe es nicht einfacher das im ioBroker zu lösen ?

                            T Offline
                            T Offline
                            tloeffel
                            wrote on last edited by
                            #359

                            @dutchman

                            Danke für die schnelle Antwort. In welcher Variable wird den der z.B. Temperaturwert abgespeichert. Kann man auf den zugreifen? Ich habe ein Beispiel unten angefügt, dort scheint es zu gehen. Leider verstehe ich es nicht vollkommen. Den Ausschnitt und den vollen Code habe ich angehängt. Daher weiss ich auch wie man über Http-get direkt in die Homematic CCU schreibt.

                            Dieser Bereich scheint den Wert formatiert zu übergeben.

                            State(" + esphome::to_string(static_cast<uint16_t>(x)) + ")
                            

                            Danke und Gruß Thomas

                            sensor:
                              - platform: scd4x
                                id: scd41
                                i2c_id: bus_a
                                altitude_compensation: 418m
                                co2:
                                  name: co2
                                  id: co2
                                  on_value:
                                    then:
                                      - lambda: |-
                                          if (x > 400 ) id(led_g1).turn_on() ; else id(led_g1).turn_off();
                                          if (x > 650 ) id(led_g2).turn_on() ; else id(led_g2).turn_off();
                                          if (x > 800 ) id(led_y1).turn_on() ; else id(led_y1).turn_off();
                                          if (x > 1050 ) id(led_y2).turn_on() ; else id(led_y2).turn_off();
                                          if (x > 1300 ) id(led_r1).turn_on() ; else id(led_r1).turn_off();
                                          if (x > 1550 ) id(led_r2).turn_on() ; else id(led_r2).turn_off();
                            
                                      - http_request.get:
                                          url: !lambda |-
                                            return ((std::string) "http://${hm_host}:8181/any.exe?x=dom.GetObject('${hm_sysvar_co2}').State(" + esphome::to_string(static_cast<uint16_t>(x)) + ")" );
                            
                            
                            substitutions:
                              updates: 30s
                              devicename: co2-sensor
                              hm_host: 192.168.1.58
                              hm_sysvar_co2: scd41-co2
                            
                            esphome:
                              name: ${devicename}
                            
                            esp32:
                              board: esp32dev
                              framework:
                                type: arduino
                            
                            wifi:
                              ssid: !secret wifi_sid
                              password: !secret wifi_password
                            
                            time:
                              - platform: sntp
                                id: sntp_time
                                timezone: "CET-1CEST,M3.5.0,M10.5.0/3"
                                servers: "de.pool.ntp.org"
                            
                            # Enable logging
                            logger:
                              level: DEBUG
                            ## Optional 
                            api:
                              password: !secret api_password
                              reboot_timeout: 0s
                            
                            ota:
                              password: !secret ota_password
                            
                            ## Optional
                            mqtt:
                              broker: 192.168.1.114
                            
                            i2c:
                              - id: bus_a
                                sda: 21
                                scl: 22
                                scan: True
                            
                            http_request:
                              useragent: esphome/device
                              id: httpget
                              timeout: 10s
                            
                            sensor:
                              - platform: scd4x
                                id: scd41
                                i2c_id: bus_a
                                altitude_compensation: 418m
                                co2:
                                  name: co2
                                  id: co2
                                  on_value:
                                    then:
                                      - lambda: |-
                                          if (x > 400 ) id(led_g1).turn_on() ; else id(led_g1).turn_off();
                                          if (x > 650 ) id(led_g2).turn_on() ; else id(led_g2).turn_off();
                                          if (x > 800 ) id(led_y1).turn_on() ; else id(led_y1).turn_off();
                                          if (x > 1050 ) id(led_y2).turn_on() ; else id(led_y2).turn_off();
                                          if (x > 1300 ) id(led_r1).turn_on() ; else id(led_r1).turn_off();
                                          if (x > 1550 ) id(led_r2).turn_on() ; else id(led_r2).turn_off();
                            
                                      - http_request.get:
                                          url: !lambda |-
                                            return ((std::string) "http://${hm_host}:8181/any.exe?x=dom.GetObject('${hm_sysvar_co2}').State(" + esphome::to_string(static_cast<uint16_t>(x)) + ")" );
                            
                                humidity:
                                  name: "Luftfeuchtigkeit"
                                  id: humidity
                                temperature:
                                  name: "Raumtemperatur"
                                  id: temperature
                                ambient_pressure_compensation_source: bme280_pressure
                                update_interval: ${updates}
                            
                              - platform: bme280
                                setup_priority: -15
                                temperature:
                                  name: "BME280-Temperature"
                                  id: bme280_temperature
                                  oversampling: 1x
                                pressure:
                                  name: "BME280-Pressure"
                                  id: bme280_pressure
                                  oversampling: 1x
                            
                                humidity:
                                  name: "BME280-Humidity"
                                  id: bme280_humidity
                                  oversampling: 1x
                                address: 0x76
                                update_interval: ${updates}
                            
                              - platform: wifi_signal
                                name: "WiFi Signal"
                                id: wifisignal
                                update_interval: ${updates}
                            
                            output:
                              - platform: gpio
                                pin: 23
                                id: led_g1
                              - platform: gpio
                                pin: 19
                                id: led_g2
                              - platform: gpio
                                pin: 18
                                id: led_y1
                              - platform: gpio
                                pin: 32
                                id: led_y2
                              - platform: gpio
                                pin: 25
                                id: led_r1
                              - platform: gpio
                                pin: 26
                                id: led_r2
                            
                            # Example configuration entry
                            switch:
                              - platform: restart
                                name: "CO² Sensor Restart"
                            
                            web_server:
                              port:80
                            
                            K T 2 Replies Last reply
                            0
                            • T tloeffel

                              @dutchman

                              Danke für die schnelle Antwort. In welcher Variable wird den der z.B. Temperaturwert abgespeichert. Kann man auf den zugreifen? Ich habe ein Beispiel unten angefügt, dort scheint es zu gehen. Leider verstehe ich es nicht vollkommen. Den Ausschnitt und den vollen Code habe ich angehängt. Daher weiss ich auch wie man über Http-get direkt in die Homematic CCU schreibt.

                              Dieser Bereich scheint den Wert formatiert zu übergeben.

                              State(" + esphome::to_string(static_cast<uint16_t>(x)) + ")
                              

                              Danke und Gruß Thomas

                              sensor:
                                - platform: scd4x
                                  id: scd41
                                  i2c_id: bus_a
                                  altitude_compensation: 418m
                                  co2:
                                    name: co2
                                    id: co2
                                    on_value:
                                      then:
                                        - lambda: |-
                                            if (x > 400 ) id(led_g1).turn_on() ; else id(led_g1).turn_off();
                                            if (x > 650 ) id(led_g2).turn_on() ; else id(led_g2).turn_off();
                                            if (x > 800 ) id(led_y1).turn_on() ; else id(led_y1).turn_off();
                                            if (x > 1050 ) id(led_y2).turn_on() ; else id(led_y2).turn_off();
                                            if (x > 1300 ) id(led_r1).turn_on() ; else id(led_r1).turn_off();
                                            if (x > 1550 ) id(led_r2).turn_on() ; else id(led_r2).turn_off();
                              
                                        - http_request.get:
                                            url: !lambda |-
                                              return ((std::string) "http://${hm_host}:8181/any.exe?x=dom.GetObject('${hm_sysvar_co2}').State(" + esphome::to_string(static_cast<uint16_t>(x)) + ")" );
                              
                              
                              substitutions:
                                updates: 30s
                                devicename: co2-sensor
                                hm_host: 192.168.1.58
                                hm_sysvar_co2: scd41-co2
                              
                              esphome:
                                name: ${devicename}
                              
                              esp32:
                                board: esp32dev
                                framework:
                                  type: arduino
                              
                              wifi:
                                ssid: !secret wifi_sid
                                password: !secret wifi_password
                              
                              time:
                                - platform: sntp
                                  id: sntp_time
                                  timezone: "CET-1CEST,M3.5.0,M10.5.0/3"
                                  servers: "de.pool.ntp.org"
                              
                              # Enable logging
                              logger:
                                level: DEBUG
                              ## Optional 
                              api:
                                password: !secret api_password
                                reboot_timeout: 0s
                              
                              ota:
                                password: !secret ota_password
                              
                              ## Optional
                              mqtt:
                                broker: 192.168.1.114
                              
                              i2c:
                                - id: bus_a
                                  sda: 21
                                  scl: 22
                                  scan: True
                              
                              http_request:
                                useragent: esphome/device
                                id: httpget
                                timeout: 10s
                              
                              sensor:
                                - platform: scd4x
                                  id: scd41
                                  i2c_id: bus_a
                                  altitude_compensation: 418m
                                  co2:
                                    name: co2
                                    id: co2
                                    on_value:
                                      then:
                                        - lambda: |-
                                            if (x > 400 ) id(led_g1).turn_on() ; else id(led_g1).turn_off();
                                            if (x > 650 ) id(led_g2).turn_on() ; else id(led_g2).turn_off();
                                            if (x > 800 ) id(led_y1).turn_on() ; else id(led_y1).turn_off();
                                            if (x > 1050 ) id(led_y2).turn_on() ; else id(led_y2).turn_off();
                                            if (x > 1300 ) id(led_r1).turn_on() ; else id(led_r1).turn_off();
                                            if (x > 1550 ) id(led_r2).turn_on() ; else id(led_r2).turn_off();
                              
                                        - http_request.get:
                                            url: !lambda |-
                                              return ((std::string) "http://${hm_host}:8181/any.exe?x=dom.GetObject('${hm_sysvar_co2}').State(" + esphome::to_string(static_cast<uint16_t>(x)) + ")" );
                              
                                  humidity:
                                    name: "Luftfeuchtigkeit"
                                    id: humidity
                                  temperature:
                                    name: "Raumtemperatur"
                                    id: temperature
                                  ambient_pressure_compensation_source: bme280_pressure
                                  update_interval: ${updates}
                              
                                - platform: bme280
                                  setup_priority: -15
                                  temperature:
                                    name: "BME280-Temperature"
                                    id: bme280_temperature
                                    oversampling: 1x
                                  pressure:
                                    name: "BME280-Pressure"
                                    id: bme280_pressure
                                    oversampling: 1x
                              
                                  humidity:
                                    name: "BME280-Humidity"
                                    id: bme280_humidity
                                    oversampling: 1x
                                  address: 0x76
                                  update_interval: ${updates}
                              
                                - platform: wifi_signal
                                  name: "WiFi Signal"
                                  id: wifisignal
                                  update_interval: ${updates}
                              
                              output:
                                - platform: gpio
                                  pin: 23
                                  id: led_g1
                                - platform: gpio
                                  pin: 19
                                  id: led_g2
                                - platform: gpio
                                  pin: 18
                                  id: led_y1
                                - platform: gpio
                                  pin: 32
                                  id: led_y2
                                - platform: gpio
                                  pin: 25
                                  id: led_r1
                                - platform: gpio
                                  pin: 26
                                  id: led_r2
                              
                              # Example configuration entry
                              switch:
                                - platform: restart
                                  name: "CO² Sensor Restart"
                              
                              web_server:
                                port:80
                              
                              K Offline
                              K Offline
                              klassisch
                              Most Active
                              wrote on last edited by klassisch
                              #360

                              @tloeffel Ich bin kein großer YAML Programmierer und nutze nur, was ich dringend brauche.
                              Werte die eine id haben, referenziere ich innerhalb von lambda so:

                              id(<idname>).state
                              

                              Beispiel:

                               
                              # sht3x supports SHT31 and SHT35
                                - platform: sht3xd
                                  temperature:
                                    name: "Temp-SHT31"
                                    id: temperature
                              #     id is needed to identify the value in calculations (lambda)      
                                    accuracy_decimals: 2
                              
                                  humidity:
                                    name: "Hum-SHT31"
                                    id: rel_humidity
                              #     id is needed to identify the value in calculations (lambda)      
                                    accuracy_decimals: 2
                                  address: 0x44
                                  update_interval: ${updates}
                              
                              
                                - platform: template
                                  name: "p-vaporSaturated"
                                  id: p_vaporSatur
                                  lambda: |-
                                    return (611*powf(10,7.5*id(temperature).state/(237.3+id(temperature).state)));
                                  accuracy_decimals: 2
                                  update_interval: ${updates}
                                  icon: 'mdi:water'
                                  unit_of_measurement: 'Pa'
                              
                              

                              P.S.: der DHT11 mißt die Feuchte suboptimal und ist somit Zeitverschwendung. SHT31 macht das deutlich besser.

                              1 Reply Last reply
                              0
                              • C Offline
                                C Offline
                                ChrisXY
                                wrote on last edited by ChrisXY
                                #361

                                hatte erst ESPHome unter HA laufen. Klappte super alles wurde grün. Nun wollte ich umziehen.
                                Leider klappt die .local auflösung nicht .. Okay iobroker 192.168.2.* und HA und die ESPs sind 192.168.4.* ...

                                Hab die Passwörter und Manuelle IP in der Config gesetzt Verbinden usw. klappt aber leider bleiben die immer als "OFFLINE" stehen ..

                                Ich muss auch erst die IPs Manuell im Adapter bei Geräten hinzufügen dann tauchen diese unter Objekte auf.
                                Aber im ESPHome Dashboard leider nicht. Hier leg ich dann ein Gerät an und Kopier den Inhalt der alten Config in die neue.

                                K DutchmanD 2 Replies Last reply
                                0
                                • C ChrisXY

                                  hatte erst ESPHome unter HA laufen. Klappte super alles wurde grün. Nun wollte ich umziehen.
                                  Leider klappt die .local auflösung nicht .. Okay iobroker 192.168.2.* und HA und die ESPs sind 192.168.4.* ...

                                  Hab die Passwörter und Manuelle IP in der Config gesetzt Verbinden usw. klappt aber leider bleiben die immer als "OFFLINE" stehen ..

                                  Ich muss auch erst die IPs Manuell im Adapter bei Geräten hinzufügen dann tauchen diese unter Objekte auf.
                                  Aber im ESPHome Dashboard leider nicht. Hier leg ich dann ein Gerät an und Kopier den Inhalt der alten Config in die neue.

                                  K Offline
                                  K Offline
                                  klassisch
                                  Most Active
                                  wrote on last edited by
                                  #362

                                  @chrisxy bin nicht sicher, ob wir vom gleichen reden. Aber es erinnert mich an einen Eintrag in meiner credentials includes datei

                                  wifi:
                                    ssid: "homesweethome"
                                    password: "topSecret"
                                    domain: .
                                  # domain . may be not correct, but works with firtzbox
                                  # the domain is to support mDNS for flashing and logging
                                  #  domain: .fritz.box
                                  # .fritz.box worked for me, the default .local did not   
                                    
                                  #  use_address: fine-particle-garden
                                  # use use_address if having trouble after renaming the unit and getting mDNS error
                                  # refer to https://esphome.io/components/esphome.html#changing-esphome-node-name 
                                  
                                  
                                  C 1 Reply Last reply
                                  0
                                  • K klassisch

                                    @chrisxy bin nicht sicher, ob wir vom gleichen reden. Aber es erinnert mich an einen Eintrag in meiner credentials includes datei

                                    wifi:
                                      ssid: "homesweethome"
                                      password: "topSecret"
                                      domain: .
                                    # domain . may be not correct, but works with firtzbox
                                    # the domain is to support mDNS for flashing and logging
                                    #  domain: .fritz.box
                                    # .fritz.box worked for me, the default .local did not   
                                      
                                    #  use_address: fine-particle-garden
                                    # use use_address if having trouble after renaming the unit and getting mDNS error
                                    # refer to https://esphome.io/components/esphome.html#changing-esphome-node-name 
                                    
                                    
                                    C Offline
                                    C Offline
                                    ChrisXY
                                    wrote on last edited by
                                    #363

                                    @klassisch hmm kannst du das etwas ausführen und wo finde ich diese Datei?

                                    K 1 Reply Last reply
                                    0
                                    • C ChrisXY

                                      @klassisch hmm kannst du das etwas ausführen und wo finde ich diese Datei?

                                      K Offline
                                      K Offline
                                      klassisch
                                      Most Active
                                      wrote on last edited by klassisch
                                      #364

                                      @chrisxy sagte in [ESPHome] Beta release:

                                      @klassisch und wo finde ich diese Datei?

                                      Wenn Du keine Includes Datei nutzt, dann hast Du die Datei nicht, sondern den Eintrag in Deinem yaml.
                                      Zu den WiFi Einstellungen habe ich nach einigem Lesen und Experimentieren diesen domain: . hinzugefügt und der ESP wurde gefunden.
                                      Die includes Datei habe ich einmal mit den credentials angelegt und verweise in meinen verschiedenen Anwendungs-yamls darauf. So vermeide ich es, meine geheimen credentials in zig yamls zu implementieren. Einmal reicht.
                                      referenziert wird das mit

                                      <<: !include includes.yaml
                                      
                                      

                                      Ein Beispiel findest Du im Thread ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen

                                      hmm kannst du das etwas ausführen

                                      Wo ich fündig wurde habe ich im Kommentar referenziert und das domain: . habe ich experimentell ermittelt, weil das .local nicht funktioniert hat. Verstanden und ergründet habe ich das nicht. Es hat mir gereicht, daß es zuverlässig funktioniert. Sorry, Pragmatismus.

                                      1 Reply Last reply
                                      0
                                      • T tloeffel

                                        @dutchman

                                        Danke für die schnelle Antwort. In welcher Variable wird den der z.B. Temperaturwert abgespeichert. Kann man auf den zugreifen? Ich habe ein Beispiel unten angefügt, dort scheint es zu gehen. Leider verstehe ich es nicht vollkommen. Den Ausschnitt und den vollen Code habe ich angehängt. Daher weiss ich auch wie man über Http-get direkt in die Homematic CCU schreibt.

                                        Dieser Bereich scheint den Wert formatiert zu übergeben.

                                        State(" + esphome::to_string(static_cast<uint16_t>(x)) + ")
                                        

                                        Danke und Gruß Thomas

                                        sensor:
                                          - platform: scd4x
                                            id: scd41
                                            i2c_id: bus_a
                                            altitude_compensation: 418m
                                            co2:
                                              name: co2
                                              id: co2
                                              on_value:
                                                then:
                                                  - lambda: |-
                                                      if (x > 400 ) id(led_g1).turn_on() ; else id(led_g1).turn_off();
                                                      if (x > 650 ) id(led_g2).turn_on() ; else id(led_g2).turn_off();
                                                      if (x > 800 ) id(led_y1).turn_on() ; else id(led_y1).turn_off();
                                                      if (x > 1050 ) id(led_y2).turn_on() ; else id(led_y2).turn_off();
                                                      if (x > 1300 ) id(led_r1).turn_on() ; else id(led_r1).turn_off();
                                                      if (x > 1550 ) id(led_r2).turn_on() ; else id(led_r2).turn_off();
                                        
                                                  - http_request.get:
                                                      url: !lambda |-
                                                        return ((std::string) "http://${hm_host}:8181/any.exe?x=dom.GetObject('${hm_sysvar_co2}').State(" + esphome::to_string(static_cast<uint16_t>(x)) + ")" );
                                        
                                        
                                        substitutions:
                                          updates: 30s
                                          devicename: co2-sensor
                                          hm_host: 192.168.1.58
                                          hm_sysvar_co2: scd41-co2
                                        
                                        esphome:
                                          name: ${devicename}
                                        
                                        esp32:
                                          board: esp32dev
                                          framework:
                                            type: arduino
                                        
                                        wifi:
                                          ssid: !secret wifi_sid
                                          password: !secret wifi_password
                                        
                                        time:
                                          - platform: sntp
                                            id: sntp_time
                                            timezone: "CET-1CEST,M3.5.0,M10.5.0/3"
                                            servers: "de.pool.ntp.org"
                                        
                                        # Enable logging
                                        logger:
                                          level: DEBUG
                                        ## Optional 
                                        api:
                                          password: !secret api_password
                                          reboot_timeout: 0s
                                        
                                        ota:
                                          password: !secret ota_password
                                        
                                        ## Optional
                                        mqtt:
                                          broker: 192.168.1.114
                                        
                                        i2c:
                                          - id: bus_a
                                            sda: 21
                                            scl: 22
                                            scan: True
                                        
                                        http_request:
                                          useragent: esphome/device
                                          id: httpget
                                          timeout: 10s
                                        
                                        sensor:
                                          - platform: scd4x
                                            id: scd41
                                            i2c_id: bus_a
                                            altitude_compensation: 418m
                                            co2:
                                              name: co2
                                              id: co2
                                              on_value:
                                                then:
                                                  - lambda: |-
                                                      if (x > 400 ) id(led_g1).turn_on() ; else id(led_g1).turn_off();
                                                      if (x > 650 ) id(led_g2).turn_on() ; else id(led_g2).turn_off();
                                                      if (x > 800 ) id(led_y1).turn_on() ; else id(led_y1).turn_off();
                                                      if (x > 1050 ) id(led_y2).turn_on() ; else id(led_y2).turn_off();
                                                      if (x > 1300 ) id(led_r1).turn_on() ; else id(led_r1).turn_off();
                                                      if (x > 1550 ) id(led_r2).turn_on() ; else id(led_r2).turn_off();
                                        
                                                  - http_request.get:
                                                      url: !lambda |-
                                                        return ((std::string) "http://${hm_host}:8181/any.exe?x=dom.GetObject('${hm_sysvar_co2}').State(" + esphome::to_string(static_cast<uint16_t>(x)) + ")" );
                                        
                                            humidity:
                                              name: "Luftfeuchtigkeit"
                                              id: humidity
                                            temperature:
                                              name: "Raumtemperatur"
                                              id: temperature
                                            ambient_pressure_compensation_source: bme280_pressure
                                            update_interval: ${updates}
                                        
                                          - platform: bme280
                                            setup_priority: -15
                                            temperature:
                                              name: "BME280-Temperature"
                                              id: bme280_temperature
                                              oversampling: 1x
                                            pressure:
                                              name: "BME280-Pressure"
                                              id: bme280_pressure
                                              oversampling: 1x
                                        
                                            humidity:
                                              name: "BME280-Humidity"
                                              id: bme280_humidity
                                              oversampling: 1x
                                            address: 0x76
                                            update_interval: ${updates}
                                        
                                          - platform: wifi_signal
                                            name: "WiFi Signal"
                                            id: wifisignal
                                            update_interval: ${updates}
                                        
                                        output:
                                          - platform: gpio
                                            pin: 23
                                            id: led_g1
                                          - platform: gpio
                                            pin: 19
                                            id: led_g2
                                          - platform: gpio
                                            pin: 18
                                            id: led_y1
                                          - platform: gpio
                                            pin: 32
                                            id: led_y2
                                          - platform: gpio
                                            pin: 25
                                            id: led_r1
                                          - platform: gpio
                                            pin: 26
                                            id: led_r2
                                        
                                        # Example configuration entry
                                        switch:
                                          - platform: restart
                                            name: "CO² Sensor Restart"
                                        
                                        web_server:
                                          port:80
                                        
                                        T Offline
                                        T Offline
                                        tloeffel
                                        wrote on last edited by
                                        #365

                                        @tloeffel

                                        Hallo Zusammen,

                                        habe es hinbekommen.

                                        substitutions:
                                          hm_host: 192.168.xx.xx
                                          hm_sysvar_co2: _httptest 
                                        
                                        humidity:
                                              name: "Dachgeschoss Luftfeuchtigkeit01"
                                              on_value:
                                                then:
                                                   - http_request.get:
                                                      url: !lambda |-
                                                        return ((std::string) "http://${hm_host}:8181/any.exe?x=dom.GetObject('${hm_sysvar_co2}').State(" + esphome::to_string(x) + ")" );
                                        

                                        Nun sendet er an die Homematic CCU3 in eine Variable den Wert.

                                        Wie Runde ich einen Wert aus ESPhome ?

                                        Gruß Thomas

                                        K B 2 Replies Last reply
                                        0
                                        • T tloeffel

                                          @tloeffel

                                          Hallo Zusammen,

                                          habe es hinbekommen.

                                          substitutions:
                                            hm_host: 192.168.xx.xx
                                            hm_sysvar_co2: _httptest 
                                          
                                          humidity:
                                                name: "Dachgeschoss Luftfeuchtigkeit01"
                                                on_value:
                                                  then:
                                                     - http_request.get:
                                                        url: !lambda |-
                                                          return ((std::string) "http://${hm_host}:8181/any.exe?x=dom.GetObject('${hm_sysvar_co2}').State(" + esphome::to_string(x) + ")" );
                                          

                                          Nun sendet er an die Homematic CCU3 in eine Variable den Wert.

                                          Wie Runde ich einen Wert aus ESPhome ?

                                          Gruß Thomas

                                          K Offline
                                          K Offline
                                          klassisch
                                          Most Active
                                          wrote on last edited by
                                          #366

                                          @tloeffel sagte in [ESPHome] Beta release:

                                          habe es hinbekommen.

                                          Danke für die RM. Aber verstenden habe ich das Beispiel nicht

                                          Wie Runde ich einen Wert aus ESPhome ?

                                          In ESPHome gebe ich accuracy_decimals an
                                          Beispiel:

                                          # sht3x supports SHT31 and SHT35
                                            - platform: sht3xd
                                              temperature:
                                                name: "Temp-SHT31"
                                                id: temperature
                                          #     id is needed to identify the value in calculations (lambda)      
                                                accuracy_decimals: 2
                                          
                                          

                                          Dann landet in ioBroker der Wert mit 2 Nachkommastellen

                                          In HM CCU rechne ich nicht. Zum Rechnen verwende ich ioBroker

                                          Aber im HM Forum gibt es etwas dazu ToString() Nachkomma und runden

                                          T 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          528

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe