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.
    • T
      tloeffel @e-s last edited by

      Soll ich einen Fehler bei Github hinterlegen, oder was denkst Du?

      Gruß Thomas

      E 1 Reply Last reply Reply Quote 0
      • E
        e-s @tloeffel last edited by

        @tloeffel
        also wenn dann ist das ein esphome Fehler selbst und hat mit dem Adapter hier und iobroker wahrscheinlich nichts zu tun.
        Es kann aber auch ein Rechteproblem sein, was dann doch wieder nichts mit esphome zu tun hat. Da müsste man das alles genauer verfolgen. Kommt drauf an wie viel dir das jetzt Wert ist.

        1 Reply Last reply Reply Quote 0
        • ?
          A Former User @tloeffel last edited by A Former User

          @tloeffel , die Update-Warnung kannst du ignorieren. Die habe ich auf den rpi 4 auch mit einem anderen Inhalt. (anderes System)
          Für was willst du ein Issue auf dem Git-Hub öffnen? Ich habe zum flashen alles abgezogen am rpi. Vorher die dazu gehörenden Adapter gestoppt. (MaxCul, Ebus und Zigbee)
          Nach dem flashen wieder dran gesteckt und Adapter gestartet, danach wird alles nur noch über OTA gemacht. Eine API habe ich nicht eingetragen, wofür auch.

          T 1 Reply Last reply Reply Quote 0
          • T
            tloeffel @Guest last edited by

            Danke an alle 🙂

            Jetzt erst mal Schlafen. Für heute genug erreicht.

            Gruß Thomas

            1 Reply Last reply Reply Quote 0
            • ?
              A Former User last edited by A Former User

              @tloeffel , noch eine Frage....
              Warum betreibt man iobroker in einer VM wenn die Platform Ubuntu ist?
              Ich betreibe unter Debian auch keine VM. Beides ist Linux.....
              Kennen tu ich das eigentlich nur unter Windows....da ist mir das auch schlüssig.

              A 1 Reply Last reply Reply Quote 0
              • A
                Ahnungsbefreit @Guest last edited by Ahnungsbefreit

                @menne Ich glaube, Du bringst da ein paar Begriffe durcheinander. Eine VM ist eine (v)irtuell (m)achine also die Emulation von Hardware. Und die bietet sich an, wenn man auf einer Hardware mehrere voneinander unabhängige Applikationen laufen will. Dafür braucht es dann ein Host-OS wie z.B. Proxmox und das bietet dann die Infrastruktur, um auf der Hardware mehrere VMs (oder auch Container, je nach Anwendung) parallel laufen zu lassen. Z.B. eine für ioBroker, eine für Homematic usw. Und jede dieser VMs läuft dann unter einem Betriebssystem wie z.B. Ubuntu oder Debian.

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

                  @tloeffel sagte in [ESPHome] Beta release:

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

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

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

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    tloeffel @Dutchman last edited by

                    @dutchman

                    Hallo dutchman,

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

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

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @tloeffel last edited by Homoran

                      @tloeffel sagte in [ESPHome] Beta release:

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

                      Ja 😂

                      T 1 Reply Last reply Reply Quote 1
                      • T
                        tloeffel @Homoran last edited by

                        @homoran

                        Ok da bin ich ja beruhigt.

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

                        Gruß Thomas

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

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

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

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

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

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

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

                                1 Reply Last reply Reply Quote 0
                                • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            788
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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