Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  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.8k

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

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

[ESPHome] Beta release

Geplant Angeheftet Gesperrt Verschoben Tester
591 Beiträge 48 Kommentatoren 158.0k Aufrufe 39 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Offline
    K Offline
    klassisch
    Most Active
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        0
        • K Offline
          K Offline
          klassisch
          Most Active
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            0
            • T Offline
              T Offline
              tloeffel
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              1
              • T Offline
                T Offline
                tloeffel
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • DutchmanD Offline
                  DutchmanD Offline
                  Dutchman
                  Developer Most Active Administrators
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antworten Letzte Antwort
                    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
                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                      0
                      • C Offline
                        C Offline
                        ChrisXY
                        schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #363

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

                            K 1 Antwort Letzte Antwort
                            0
                            • C ChrisXY

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

                              K Offline
                              K Offline
                              klassisch
                              Most Active
                              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antworten Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • K klassisch

                                    @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 Offline
                                    T Offline
                                    tloeffel
                                    schrieb am zuletzt editiert von
                                    #367

                                    @klassisch

                                    Ah wieder was gelernt. Danke, probiere das aus.

                                    Gruß Thomas

                                    1 Antwort Letzte Antwort
                                    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.

                                      DutchmanD Offline
                                      DutchmanD Offline
                                      Dutchman
                                      Developer Most Active Administrators
                                      schrieb am zuletzt editiert von
                                      #368

                                      @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 Antwort Letzte Antwort
                                      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

                                        B Offline
                                        B Offline
                                        bernd33-1
                                        schrieb am zuletzt editiert von
                                        #369

                                        @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 BauerstatterJ 1 Antwort Letzte Antwort
                                        0
                                        • B bernd33-1

                                          @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 BauerstatterJ Offline
                                          Johannes BauerstatterJ Offline
                                          Johannes Bauerstatter
                                          schrieb am zuletzt editiert von
                                          #370

                                          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.

                                          DutchmanD 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          811

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe