Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. [ESPHome] Beta release

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [ESPHome] Beta release

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dutchman
      Dutchman Developer Most Active Administrators @tloeffel last edited by Dutchman

      @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 Reply Quote 0
      • T
        tloeffel last edited by

        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 Reply Quote 1
        • T
          tloeffel last edited by

          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 Reply Quote 0
          • Dutchman
            Dutchman Developer Most Active Administrators last edited by

            @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 Reply Quote 0
            • T
              tloeffel @Dutchman last edited by

              @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 Reply Quote 0
              • K
                klassisch Most Active @tloeffel last edited by klassisch

                @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 Reply Quote 0
                • C
                  ChrisXY last edited by 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 Dutchman 2 Replies Last reply Reply Quote 0
                  • K
                    klassisch Most Active @ChrisXY last edited by

                    @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 Reply Quote 0
                    • C
                      ChrisXY @klassisch last edited by

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

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

                        @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 Reply Quote 0
                        • T
                          tloeffel @tloeffel last edited by

                          @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 Reply Quote 0
                          • K
                            klassisch Most Active @tloeffel last edited by

                            @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 Reply Quote 0
                            • T
                              tloeffel @klassisch last edited by

                              @klassisch

                              Ah wieder was gelernt. Danke, probiere das aus.

                              Gruß Thomas

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

                                @chrisxy sagte in [ESPHome] Beta release:

                                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.

                                Zu 1: ESPHome arbeitet mit mdns, wen du unterschiedlich Netzwerke hast wird das untereinander blockiert darum musst die ip eingeben

                                Zu2: die werden da niemals automatisch auftauchen sowohl in ioBroker als hass die yaml musste selber kopieren (steht auch in der Anleitung von ESPHome selber)

                                1 Reply Last reply Reply Quote 0
                                • B
                                  bernd33-1 @tloeffel last edited by

                                  @tloeffel said in [ESPHome] Beta release:

                                  @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

                                  Hallo Thomas,

                                  leider kann ich beim runden nicht helfen.

                                  Aber: Geht das auch umgekehrt? Also, dass ein Wert von der Homematic gelesen wird und dann z.B. in einer Variable abgelegt wird?

                                  Hintergrund: Ich hab ein Display an einen ESP-Home Node angeschlossen und meine Hoffnung ist, dass man so einfach Werte aus der CCU/IOBroker auf dem Display anzeigen könnte.

                                  Danke schon mal und Grüße, Bernd

                                  Johannes Bauerstatter 1 Reply Last reply Reply Quote 0
                                  • Johannes Bauerstatter
                                    Johannes Bauerstatter @bernd33-1 last edited by

                                    Hallo, hab 2 Iobroker Instanzen am Laufen (Alt und Neu) und habe die Files aus dem Ordner (und Unterordner):

                                    opt/iobroker/iobroker-data/Esphome.0
                                    

                                    aus dem Altsystem in das IobrokerNEU-System kopiert um im Dashboard des IobrokerNEU weiterarbeiten zu können.

                                    Leider bekomm ich folgenden Fehler:

                                    INFO Reading configuration /opt/iobroker/iobroker-data/esphome.0/Verbrauch_Keller_Garage.yaml...
                                    WARNING 'verbrauch_keller_garage': Using the '_' (underscore) character in the hostname is discouraged as it can cause problems with some DHCP and local name services. For more information, see https://esphome.io/guides/faq.html#why-shouldn-t-i-use-underscores-in-my-device-name
                                    INFO Generating C++ source...
                                    ERROR Error copying file /opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/esphome/core/component.h to /opt/iobroker/iobroker-data/esphome.0/verbrauch_keller_garage/src/esphome/core/component.h: [Errno 1] Operation not permitted: '/opt/iobroker/iobroker-data/esphome.0/verbrauch_keller_garage/src/esphome/core/component.h'
                                    

                                    oder wie könnte ich einen Wechsel machen? Die Datenpunkte landen bereits in der Datenstruktur nur die das Dashboard ist leer.

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

                                      @johannes-bauerstatter sagte in [ESPHome] Beta release:

                                      oder wie könnte ich einen Wechsel machen? Die Datenpunkte landen bereits in der Datenstruktur nur die das Dashboard ist leer.

                                      die underscores rausnehmen in der Datei

                                      1 Reply Last reply Reply Quote 0
                                      • draexler
                                        draexler @pboeck last edited by draexler

                                        @pboeck @pboeck said in [ESPHome] Beta release:
                                        Hi, bastle gerade auch ein bisschen. Für mich ist der MQTT komplett neu. Was ich schon habe ist die Verbindung zwischen MQTT und ESP Home. Das sehe ich auch in den Instanzeneinstellungen. Soweit so gut. Aber ab dann komme ich nicht weiter und finde auch nichts dazu was mir weiterhelfen kann. Wie bekomme ich nun Werte z.B. von einen Termometer nach ESPHome? Durch dein Blockly steige ich nicht so ganz durch... Wo schreibst du was hin? Bis jetzt ist sehe ich nur folgendes:
                                        Bildschirmfoto 2021-11-02 um 08.14.21.png

                                        Wahrscheinlich brauche ich nur einen "Stupser" in die richtige Richtung.

                                        Johannes Bauerstatter 1 Reply Last reply Reply Quote 0
                                        • Johannes Bauerstatter
                                          Johannes Bauerstatter @draexler last edited by

                                          @draexler Wenn du in deiner Yaml das Api aktivierst und den ESPHOME - Adapter installiert hast, erscheinen die Punkte autom. .
                                          Ich aktivier zudem gerne am Anfang den Webserver. So kannst du mit der ESP-IP:80 die Werte mal sehen, die ankommen sollten. Wenn hier nichts steht, ist ein Fehler in der Yaml.

                                          esphome:
                                            name: esp32_mini_heizung
                                            platform: ESP32
                                            board: wemos_d1_mini32
                                          
                                          wifi:
                                            ssid: "Geheim"
                                            password: "Geheim"
                                          
                                          # Enable Home Assistant API -> hiermit werden die Daten an den ESPHOME - Adapter übermittelt
                                          api:
                                          ota:
                                          
                                          # Web Server
                                          web_server:
                                            port: 80
                                          
                                          dallas:
                                            - pin: 4  
                                            
                                          sensor:
                                            - platform: wifi_signal
                                              name: "WiFi Signal Sensor"
                                              update_interval: 10s
                                          
                                            - platform: pzemac
                                          ......
                                          

                                          9f344a78-05c6-49a8-b4ec-6c5b254c9ad3-image.png

                                          draexler 1 Reply Last reply Reply Quote 0
                                          • draexler
                                            draexler @Johannes Bauerstatter last edited by

                                            @johannes-bauerstatter: Danke dir 🙂 Genau das war der richtige Stupser. Machmal ist es so einfach 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            958
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            48
                                            591
                                            113742
                                            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