Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **

    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

    Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sticks @tourer4778 last edited by

      @tourer4778 said in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:

      Guten Morgen,
      Muss neue Hardware in ESPHome eigentlich auch in unserem System eingepflegt werden, damit Sie mit IoBroker funktioniert ? Ich habe versucht, einen Shelly Plus 2PM einzubinden, was leider nicht funktioniert hat.

      Shellys bindet man doch am Besten per Shelly-iobroker-Adapter ein !? - Warum willst du da auf ESPHOME gehen ?

      T 1 Reply Last reply Reply Quote 0
      • S
        sticks @Yoshi last edited by sticks

        Mhhh, also, ich bin schon ein paar Tage mit ESPHOME am Basteln und hänge nun auch an einem merkwürdigen ESPHOME-Problem in iobroker.
        (Edit einige Tage später: Es liegt daran das im Yaml der Type "number" verwendet wird, den der ESPHOME Adapter in iobroker (noch?) nicht supportet)

        Cannot read properties of undefined (reading 'deserializeBinary')
        

        *Wen es interessiert, hier mein kleines AC-Batteriespeicher-Projekt kurz vorgestellt: (die anderen einfach unten weiterlesen):
        Ich baue einen kleinen Do-It-Yourself 2,4kwh Lifepo4-AC-Batteriespeicher mit durch ESPHOME gesteuerter variabler Ladeleistung durch ein Riden RD6006 Labornetzteil.
        Ziel des Projektes ist, dass wenn meine kleine Balkonsolaranlage z.B. 600W erzeugt und mein Shelly 3EM an der Wurzel misst, dass ich gerade 500W an den Netzbetreiber verschenke, iobroker über eine ESPHOME-Modbus Ansteuerung mein Riden RD6006 exakt auf eine Ladeleistung von eben diesen ~500W einstellt (bißchen Puffer wird es geben). - Und das ganze immer fein nachregelt. - Soll heißen, verschenke ich laut Shelly 3EM Wurzelmessung 278W, regelt iobroker das Ladegerät eben auf diese 278W hoch. Geschützt wird das Ganze übrigens durch ein in die Batterie fest integriertes, unabhängiges BMS-System, was die Batterie komplett abschaltet sobald etwas dem BMS nicht schmeckt... - Über Nacht soll die Batterie dann z.B. durchgehend mit 100W wieder in mein Hausnetz einspeisen (Nachteinspeisung). *

        --

        Übrigens für die Leute hier im Thread die Probleme bei der Installation des ESPHOME-Adapters selbst haben, kleine Info zur Lösung:
        Erstmal für alle die wie ich an einem "Fehler 25" oder einem "Permission denied"-Fehler bei der ESPHOME-Adapterinstallation gescheitert sind: Scheinbar benötigt der aktuelle ESPHOME Adapter in Zusammenspiel mit dem aktuellen iobroker/npm/nodejs zwingend ein 64bit Betriebssystem auf dem Raspberry Pi. - Verschiedene User berichten, dass die ESPHOME Adapterinstallation immer auf frischen Raspberry Pi 4s mit 32bit OS scheitert, sobald man einen Raspi mit 64bit OS aufsetzt läuft die Installation in iobroker einfach durch. - Das hat mich zig Stunden Recherche und eine Raspberry Neuinstallation gekostet, die sich dank BackItUp-Adapter aber noch zeitlich in Grenzen gehalten hat.

        --

        Direkt am ESP über die API Abfrage sieht noch alles perfekt aus, ich kriege brav die Werte vom Labornetzteil ausgelesen:

        [22:01:23][I][app:102]: ESPHome version 2022.8.3 compiled on Sep 14 2022, 21:28:38
        [22:01:23][I][app:104]: Project wildekek.rd6006-controller version 1.0.0
        [22:01:23][C][status_led:019]: Status LED:
        [22:01:23][C][status_led:020]:   Pin: GPIO2
        [22:01:23][C][wifi:491]: WiFi:
        [22:01:23][C][wifi:353]:   Local MAC: A8:48:FA:C1:6A:B6
        [22:01:23][C][wifi:354]:   SSID: [redacted]
        [22:01:23][C][wifi:355]:   IP Address: 172.16.50.58
        [22:01:23][C][wifi:356]:   BSSID: [redacted]
        [22:01:23][C][wifi:358]:   Hostname: 'batterielader'
        b'[22:01:23][C][wifi:360]:   Signal strength: -57 dB \\xe2\x96\x82\xe2\x96\x84\xe2\x96\x86\\xe2\x96\x88\\'
        [22:01:23][C][wifi:364]:   Channel: 11
        [22:01:23][C][wifi:365]:   Subnet: 255.255.0.0
        [22:01:23][C][wifi:366]:   Gateway: 172.16.50.1
        [22:01:23][C][wifi:367]:   DNS1: 172.16.50.1
        [22:01:23][C][wifi:368]:   DNS2: 0.0.0.0
        [22:01:23][C][logger:275]: Logger:
        [22:01:23][C][logger:276]:   Level: DEBUG
        [22:01:23][C][logger:277]:   Log Baud Rate: 0
        [22:01:23][C][logger:278]:   Hardware UART: UART0
        [22:01:23][C][uart.arduino_esp8266:102]: UART Bus:
        [22:01:23][C][uart.arduino_esp8266:103]:   TX Pin: GPIO1
        [22:01:23][C][uart.arduino_esp8266:104]:   RX Pin: GPIO3
        [22:01:23][C][uart.arduino_esp8266:106]:   RX Buffer Size: 256
        [22:01:23][C][uart.arduino_esp8266:108]:   Baud Rate: 115200 baud
        [22:01:23][C][uart.arduino_esp8266:109]:   Data Bits: 8
        [22:01:23][C][uart.arduino_esp8266:110]:   Parity: NONE
        [22:01:23][C][uart.arduino_esp8266:111]:   Stop bits: 1
        [22:01:23][C][uart.arduino_esp8266:113]:   Using hardware serial interface.
        [22:01:23][C][modbus:155]: Modbus:
        [22:01:23][C][modbus:157]:   Send Wait Time: 250 ms
        [22:01:23][C][uptime.sensor:031]: Uptime Sensor 'RD6006 Uptime'
        [22:01:23][C][uptime.sensor:031]:   State Class: 'total_increasing'
        [22:01:23][C][uptime.sensor:031]:   Unit of Measurement: 's'
        [22:01:23][C][uptime.sensor:031]:   Accuracy Decimals: 0
        [22:01:23][C][uptime.sensor:031]:   Icon: 'mdi:timer-outline'
        [22:01:23][C][modbus.number:083]: modbus.numberModbus Number 'Backlight'
        [22:01:23][C][modbus.number:083]: modbus.number  Icon: 'mdi:lightbulb'
        [22:01:23][C][modbus.number:083]: modbus.numberModbus Number 'Output voltage'
        [22:01:23][C][modbus.number:083]: modbus.number  Icon: 'mdi:sine-wave'
        [22:01:23][C][modbus.number:083]: modbus.numberModbus Number 'Output current'
        [22:01:23][C][modbus.number:083]: modbus.number  Icon: 'mdi:current-dc'
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Model Number'
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: ''
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 0
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Firmware version'
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: ''
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 2
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Input voltage'
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'voltage'
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'V'
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 2
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Temperature'
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'temperature'
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: ''
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 0
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Temperature external'
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'temperature'
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: ''
        [22:01:23][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 0
        [22:01:23][C][version.text_sensor:021]: Version Text Sensor 'RD6006 Version'
        [22:01:23][C][version.text_sensor:021]:   Icon: 'mdi:new-box'
        [22:01:23][C][modbus_controller.binary_sensor:009]: Modbus Controller Binary Sensor 'Keypad lock'
        [22:01:23][C][modbus_controller.binary_sensor:009]:   Device Class: 'lock'
        [22:01:23][C][modbus_controller.switch:014]: modbus_controller.switchModbus Controller Switch 'Output'
        [22:01:23][C][captive_portal:088]: Captive Portal:
        [22:01:23][C][mdns:094]: mDNS:
        [22:01:23][C][mdns:095]:   Hostname: batterielader
        [22:01:23][C][ota:085]: Over-The-Air Updates:
        [22:01:23][C][ota:086]:   Address: batterielader.local:8266
        [22:01:23][C][api:138]: API Server:
        [22:01:23][C][api:139]:   Address: batterielader.local:6053
        [22:01:23][C][api:143]:   Using noise encryption: NO
        [22:01:23][C][wifi_signal.sensor:009]: WiFi Signal 'RD6006 Wi-Fi Signal'
        [22:01:23][C][wifi_signal.sensor:009]:   Device Class: 'signal_strength'
        [22:01:23][C][wifi_signal.sensor:009]:   State Class: 'measurement'
        [22:01:23][C][wifi_signal.sensor:009]:   Unit of Measurement: 'dBm'
        [22:01:23][C][wifi_signal.sensor:009]:   Accuracy Decimals: 0
        [22:01:23][C][wifi_info:009]: WifiInfo IPAddress 'RD6006 IP Address'
        [22:01:23][C][wifi_info:011]: WifiInfo SSID 'RD6006 Wi-Fi SSID'
        [22:01:23][C][wifi_info:012]: WifiInfo BSSID 'RD6006 Wi-Fi BSSID'
        [22:01:23][C][modbus_controller:275]: ModbusController:
        [22:01:23][C][modbus_controller:276]:   Address: 0x01
        [22:01:23][W][api.connection:080]: iobrokerpi (172.16.50.6): Connection closed
        [22:01:23][W][api.connection:080]: iobrokerpi (172.16.50.6): Connection closed
        [22:01:26][D][api:102]: Accepted 172.16.50.6
        [22:01:26][D][api:102]: Accepted 172.16.50.6
        [22:01:27][D][modbus_controller.sensor:025]: Sensor new state: 137.00
        [22:01:27][D][sensor:126]: 'Firmware version': Sending state 1.37000  with 2 decimals of accuracy
        [22:01:27][D][modbus_controller.sensor:025]: Sensor new state: 27.00
        [22:01:27][D][sensor:126]: 'Temperature': Sending state 27.00000  with 0 decimals of accuracy
        [22:01:27][D][modbus.number:023]: Number new state : 19.20
        [22:01:27][D][number:012]: 'Output voltage': Sending state 19.200001
        [22:01:27][D][modbus.number:023]: Number new state : 6.00
        [22:01:27][D][number:012]: 'Output current': Sending state 6.000000
        [22:01:27][D][modbus_controller.sensor:025]: Sensor new state: 6557.00
        [22:01:27][D][sensor:126]: 'Input voltage': Sending state 65.57000 V with 2 decimals of accuracy
        [22:01:27][D][modbus_controller.sensor:025]: Sensor new state: 23.00
        [22:01:27][D][sensor:126]: 'Temperature external': Sending state 23.00000  with 0 decimals of accuracy
        [22:01:27][D][modbus.number:023]: Number new state : 4.00
        [22:01:27][D][number:012]: 'Backlight': Sending state 4.000000
        [22:01:31][W][api.connection:080]: iobrokerpi (172.16.50.6): Connection closed
        [22:01:31][W][api.connection:080]: iobrokerpi (172.16.50.6): Connection closed
        [22:01:32][D][modbus_controller.sensor:025]: Sensor new state: 137.00
        [22:01:32][D][sensor:126]: 'Firmware version': Sending state 1.37000  with 2 decimals of accuracy
        [22:01:32][D][modbus_controller.sensor:025]: Sensor new state: 27.00
        [22:01:32][D][sensor:126]: 'Temperature': Sending state 27.00000  with 0 decimals of accuracy
        [22:01:32][D][modbus.number:023]: Number new state : 19.20
        [22:01:32][D][number:012]: 'Output voltage': Sending state 19.200001
        [22:01:32][D][modbus.number:023]: Number new state : 6.00
        [22:01:32][D][number:012]: 'Output current': Sending state 6.000000
        [22:01:32][D][modbus_controller.sensor:025]: Sensor new state: 6557.00
        [22:01:32][D][sensor:126]: 'Input voltage': Sending state 65.57000 V with 2 decimals of accuracy
        [22:01:32][D][modbus_controller.sensor:025]: Sensor new state: 23.00
        [22:01:32][D][sensor:126]: 'Temperature external': Sending state 23.00000  with 0 decimals of accuracy
        [22:01:32][D][modbus.number:023]: Number new state : 4.00
        [22:01:32][D][number:012]: 'Backlight': Sending state 4.000000
        [22:01:34][D][api:102]: Accepted 172.16.50.6
        [22:01:34][D][api:102]: Accepted 172.16.50.6
        

        In iobroker selbst, mit dem ESPHOME-Adapter bekomme ich aber merkwürdige Fehlermeldungen.
        Beim "Adden" meines Batterieladers erscheint eine Fehlermeldung:

        Cannot read properties of undefined (reading 'deserializeBinary')
        

        error_anlage.png

        Bestätige ich das ganze ist das Device doppelt drin, aber "grün", verbunden:
        doppelt.png

        Im Protokoll beginnt dann ein endloser Fehlerlauf:

        esphome.0
        	2022-09-14 22:20:52.949	warn	Client 172.16.50.58 Timeout, connection Lost, will reconnect automatically when device is available!
        esphome.0
        	2022-09-14 22:20:47.978	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:20:47.960	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:20:44.934	warn	Client 172.16.50.58 Timeout, connection Lost, will reconnect automatically when device is available!
        esphome.0
        	2022-09-14 22:20:39.945	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:20:39.940	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:20:36.920	warn	Client 172.16.50.58 Timeout, connection Lost, will reconnect automatically when device is available!
        esphome.0
        	2022-09-14 22:20:31.947	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:20:31.929	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:20:28.905	warn	Client 172.16.50.58 Timeout, connection Lost, will reconnect automatically when device is available!
        esphome.0
        	2022-09-14 22:20:23.917	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:20:23.910	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:20:20.892	warn	Client 172.16.50.58 Timeout, connection Lost, will reconnect automatically when device is available!
        esphome.0
        	2022-09-14 22:20:15.913	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:20:15.900	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:20:12.878	warn	Client 172.16.50.58 Timeout, connection Lost, will reconnect automatically when device is available!
        esphome.0
        	2022-09-14 22:20:07.896	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:20:07.891	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:20:04.865	warn	Client 172.16.50.58 Timeout, connection Lost, will reconnect automatically when device is available!
        esphome.0
        	2022-09-14 22:19:59.879	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:19:59.874	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:19:56.844	warn	Client 172.16.50.58 Timeout, connection Lost, will reconnect automatically when device is available!
        esphome.0
        	2022-09-14 22:19:51.865	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:19:51.856	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:19:48.831	warn	Client 172.16.50.58 Timeout, connection Lost, will reconnect automatically when device is available!
        esphome.0
        	2022-09-14 22:19:43.847	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:19:43.835	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:19:40.818	warn	Client 172.16.50.58 Timeout, connection Lost, will reconnect automatically when device is available!
        esphome.0
        	2022-09-14 22:19:35.835	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        esphome.0
        	2022-09-14 22:19:35.827	error	ESPHome client 172.16.50.58 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
        

        Das YAML Skript vom User Wildekek funktioniert in HomeAssistant problemlos, in iobroker ja scheinbar nicht, YAML:

        esphome:
          name: batterielader
          comment: Controls RD6006 PSU over MODBUS
          name_add_mac_suffix: false
          project:
            name: wildekek.rd6006-controller
            version: 1.0.0
          build_path: .esphome/build/batterielader
          platformio_options: {}
          includes: []
          libraries: []
        esp8266:
          board: esp01_1m
          framework:
            version: 3.0.2
            source: ~3.30002.0
            platform_version: platformio/espressif8266 @ 3.2.0
          restore_from_flash: false
          early_pin_init: true
          board_flash_mode: dout
        logger:
          level: DEBUG
          baud_rate: 0
          tx_buffer_size: 512
          deassert_rts_dtr: false
          hardware_uart: UART0
          logs: {}
          esp8266_store_log_strings_in_flash: true
        status_led:
          pin:
            number: 2
            inverted: true
            mode:
              output: true
              analog: false
              input: false
              open_drain: false
              pullup: false
              pulldown: false
        api:
          reboot_timeout: 1h
          port: 6053
          password: 'Geheim'
        ota:
          safe_mode: true
          port: 8266
          reboot_timeout: 5min
          num_attempts: 10
        wifi:
          ap:
            ssid: Rd6006 Fallback Hotspot
            password: Geheim
            ap_timeout: 1min
          domain: .local
          reboot_timeout: 15min
          power_save_mode: NONE
          fast_connect: false
          output_power: 20.0
          networks:
          - ssid: !secret 'wifi_ssid'
            password: !secret 'wifi_password'
            priority: 0.0
          use_address: batterielader.local
        captive_portal: {}
        uart:
        - id: mod_bus
          tx_pin:
            number: 1
            mode:
              output: true
              analog: false
              input: false
              open_drain: false
              pullup: false
              pulldown: false
            inverted: false
          rx_pin:
            number: 3
            mode:
              input: true
              analog: false
              output: false
              open_drain: false
              pullup: false
              pulldown: false
            inverted: false
          baud_rate: 115200
          data_bits: 8
          stop_bits: 1
          parity: NONE
          rx_buffer_size: 256
        modbus:
        - id: modbus1
          send_wait_time: 250ms
        modbus_controller:
        - id: powersupply
          address: 0x01
          modbus_id: modbus1
          setup_priority: -10.0
          update_interval: 5s
          command_throttle: 0ms
        sensor:
        - platform: modbus_controller
          name: Model Number
          entity_category: diagnostic
          modbus_controller_id: powersupply
          address: 0
          skip_updates: 10
          unit_of_measurement: ''
          register_type: holding
          value_type: U_WORD
          accuracy_decimals: 0
          disabled_by_default: false
          force_update: false
          bitmask: 0xFFFFFFFF
          force_new_range: false
          response_size: 0
          register_count: 0
        - platform: modbus_controller
          modbus_controller_id: powersupply
          address: 3
          name: Firmware version
          entity_category: diagnostic
          unit_of_measurement: ''
          register_type: holding
          value_type: U_WORD
          accuracy_decimals: 2
          filters:
          - multiply: 0.01
          disabled_by_default: false
          force_update: false
          bitmask: 0xFFFFFFFF
          skip_updates: 0
          force_new_range: false
          response_size: 0
          register_count: 0
        - platform: modbus_controller
          modbus_controller_id: powersupply
          address: 14
          name: Input voltage
          device_class: voltage
          unit_of_measurement: V
          register_type: holding
          value_type: U_WORD
          accuracy_decimals: 2
          filters:
          - multiply: 0.01
          disabled_by_default: false
          force_update: false
          bitmask: 0xFFFFFFFF
          skip_updates: 0
          force_new_range: false
          response_size: 0
          register_count: 0
        - platform: modbus_controller
          name: Temperature
          modbus_controller_id: powersupply
          device_class: temperature
          register_type: holding
          address: 4
          value_type: S_DWORD
          disabled_by_default: false
          force_update: false
          bitmask: 0xFFFFFFFF
          skip_updates: 0
          force_new_range: false
          response_size: 0
          register_count: 0
        - platform: modbus_controller
          name: Temperature external
          modbus_controller_id: powersupply
          register_type: holding
          address: 34
          value_type: S_DWORD
          device_class: temperature
          disabled_by_default: false
          force_update: false
          bitmask: 0xFFFFFFFF
          skip_updates: 0
          force_new_range: false
          response_size: 0
          register_count: 0
        - platform: uptime
          name: RD6006 Uptime
          disabled_by_default: false
          force_update: false
          unit_of_measurement: s
          icon: mdi:timer-outline
          accuracy_decimals: 0
          state_class: total_increasing
          entity_category: diagnostic
          update_interval: 60s
        - platform: wifi_signal
          name: RD6006 Wi-Fi Signal
          update_interval: 60s
          disabled_by_default: false
          force_update: false
          unit_of_measurement: dBm
          accuracy_decimals: 0
          device_class: signal_strength
          state_class: measurement
          entity_category: diagnostic
        text_sensor:
        - platform: wifi_info
          ip_address:
            name: RD6006 IP Address
            disabled_by_default: false
            entity_category: diagnostic
            update_interval: 1s
          ssid:
            name: RD6006 Wi-Fi SSID
            disabled_by_default: false
            entity_category: diagnostic
            update_interval: 1s
          bssid:
            name: RD6006 Wi-Fi BSSID
            disabled_by_default: false
            entity_category: diagnostic
            update_interval: 1s
        - platform: version
          name: RD6006 Version
          hide_timestamp: true
          disabled_by_default: false
          icon: mdi:new-box
          entity_category: diagnostic
        binary_sensor:
        - platform: modbus_controller
          name: Keypad lock
          modbus_controller_id: powersupply
          entity_category: diagnostic
          device_class: lock
          register_type: holding
          address: 15
          bitmask: 0x01
          disabled_by_default: false
          skip_updates: 0
          force_new_range: false
          response_size: 0
        number:
        - platform: modbus_controller
          name: Backlight
          modbus_controller_id: powersupply
          entity_category: config
          address: 72
          icon: mdi:lightbulb
          value_type: U_WORD
          min_value: 0.0
          max_value: 5.0
          disabled_by_default: false
          mode: AUTO
          bitmask: 0xFFFFFFFF
          skip_updates: 0
          force_new_range: false
          response_size: 0
          register_type: holding
          step: 1.0
          multiply: 1.0
          use_write_multiple: false
        - platform: modbus_controller
          modbus_controller_id: powersupply
          name: Output voltage
          address: 8
          entity_category: config
          icon: mdi:sine-wave
          value_type: U_WORD
          min_value: 0.0
          max_value: 60.0
          step: 0.01
          multiply: 100.0
          disabled_by_default: false
          mode: AUTO
          bitmask: 0xFFFFFFFF
          skip_updates: 0
          force_new_range: false
          response_size: 0
          register_type: holding
          use_write_multiple: false
        - platform: modbus_controller
          modbus_controller_id: powersupply
          name: Output current
          address: 9
          entity_category: config
          icon: mdi:current-dc
          value_type: U_WORD
          min_value: 0.0
          max_value: 6.0
          step: 0.01
          multiply: 1000.0
          disabled_by_default: false
          mode: AUTO
          bitmask: 0xFFFFFFFF
          skip_updates: 0
          force_new_range: false
          response_size: 0
          register_type: holding
          use_write_multiple: false
        switch:
        - platform: modbus_controller
          modbus_controller_id: powersupply
          name: Output
          address: 18
          register_type: holding
          bitmask: 0x01
          entity_category: config
          disabled_by_default: false
          skip_updates: 0
          force_new_range: false
          response_size: 0
          use_write_multiple: false
        

        In iobroker in den Objekten sieht das alles nicht so richtig aus, ich sehe zwar hier und da etwas, kann aber weder z.B. die Netzteilleistung sehen geschweige denn steuern. - Im Homeassistant funktionierte das bereits, aber da ich iobroker Nutzer bin und ich ungern nur für das Netzteil einen HomeAssistant Server betreiben will, hoffe ich auf eine Lösung in der iobroker Welt.
        objekte.png

        @Dutchman Ich würde als interessierter Laie nach ausführlicher Google- und Github-Recherche und durchlesen der DrozmotiX-OSS Docu Page zum ESPHOME-Adapter sagen, dass es vielleicht daran liegt das der ESPHOME Adapter den im YAML-Skript verwendeten Type "Number" nicht kennt ?

        https://drozmotix.github.io/languages/en/Adapter/ESPHome/02.supportedTypes.html

        Edit 2:
        Zwar ganz anderes ESPHOME-Projekt, aber auch dort wird der "Type" number verwendet, der scheinbar den ESPHOME-Adapter in iobroker zum Absturz bringt, bei HomeAssistant aber sauber verarbeitet wird.
        https://bytemeta.vip/repo/DrozmotiX/ioBroker.esphome/issues/136

        Edit 3:
        Yep, sobald ich den Type "number" aus dem YAML entferne sind alle 'deserializeBinary' Fehler weg. - Leider ist "number" aber prinzipiell das einzige was ich wirklich brauche / worauf ich nicht verzichten kann, da ich hierüber die Werte (Volt / Stromstärke) des Labornetzteils setzen könnte. 😞

        T 1 Reply Last reply Reply Quote 0
        • T
          tourer4778 @sticks last edited by

          @sticks sagte in

          Shellys bindet man doch am Besten per Shelly-iobroker-Adapter ein !? - Warum willst du da auf ESPHOME gehen ?

          Ja, mag sein, aber ich finde ESPHome einfach toll, wenn es funktioniert. Es macht nur das, was es soll und gut.
          Beantwortet meine Frage allerdings nicht. Muss jede Hardware beim IoBroker eingepflegt werden ?

          1 Reply Last reply Reply Quote 0
          • T
            tourer4778 @sticks last edited by

            @sticks sagte in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:

            Das YAML Skript vom User Wildekek funktioniert in HomeAssistant problemlos, in iobroker ja scheinbar nicht

            Interessantes Thema, ähnlich mache ich es auch, allerdings mit einer festen Leistung.
            Das würde meine Frage vielleicht schon beantworten, das man die Hardware im IoBroker auch nach pflegen muss.

            S 1 Reply Last reply Reply Quote 0
            • S
              sticks @tourer4778 last edited by sticks

              @tourer4778
              Ich kann dir echt nur empfehlen, sieh dir den Shelly Adapter mal an. - Da hat der Maintainer (Matthias Kleine ; https://haus-automatisierung.com ) wirklich viel Herzblut reingesteckt und der Adapter für die Shellys ist wirklich genial gut / stabil, super easy zu händeln und top aktuell gepflegt: Der tut dann auch nur das was du willst. 😉

              1 Reply Last reply Reply Quote 0
              • oberfragger
                oberfragger @BananaJoe last edited by

                @bananajoe Danke für den input. Portexpander ist schon da. Unter tasmota konnte ich den auch kompilieren... ja. Ich möchte genau auf den 2. Wemos verzichten! Ich bin mir sicher das geht. 😉

                1 Reply Last reply Reply Quote 0
                • david83
                  david83 last edited by

                  @Dutchman

                  Hallo zusammen, ich wollte esphome heute nach langer Zeit Mal wieder nutzen und habe probiert einen Wemos d1 mini zu Flashen. Leider kein Erfolg und ein Haufen Fehler. Vielleicht jemand eine Idee?

                  INFO Reading configuration /opt/iobroker/iobroker-data/esphome.0/energiecounter.yaml...
                  INFO Generating C++ source...
                  INFO Compiling app...
                  Processing energiecounter (board: esp01_1m; framework: arduino; platform: platformio/espressif8266 @ 3.2.0)
                  --------------------------------------------------------------------------------
                  HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
                  LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
                  Library Manager: Installing ottowinter/ESPAsyncTCP-esphome @ 1.2.3
                  Warning! Please upgrade to the PlatformIO Core 6
                  Library Manager: Installing esphome/ESPAsyncWebServer-esphome @ 2.1.0
                  Warning! Please upgrade to the PlatformIO Core 6
                  Dependency Graph
                  |-- <DNSServer> 1.1.1
                  |-- <ESP8266WiFi> 1.0
                  |-- <ESP8266mDNS> 1.2
                  Compiling .pioenvs/energiecounter/src/esphome/components/captive_portal/captive_portal.cpp.o
                  Compiling .pioenvs/energiecounter/src/esphome/components/esp8266/core.cpp.o
                  Compiling .pioenvs/energiecounter/src/esphome/components/esp8266/gpio.cpp.o
                  Compiling .pioenvs/energiecounter/src/esphome/components/esp8266/preferences.cpp.o
                  In file included from src/esphome/components/captive_portal/captive_portal.h:10,
                                   from src/esphome/components/captive_portal/captive_portal.cpp:3:
                  src/esphome/components/web_server_base/web_server_base.h:9:10: fatal error: ESPAsyncWebServer.h: No such file or directory
                  
                  ***************************************************************************
                  * Looking for ESPAsyncWebServer.h dependency? Check our library registry!
                  *
                  * CLI  > platformio lib search "header:ESPAsyncWebServer.h"
                  * Web  > https://registry.platformio.org/search?q=header:ESPAsyncWebServer.h
                  *
                  ***************************************************************************
                  
                      9 | #include <ESPAsyncWebServer.h>
                        |          ^~~~~~~~~~~~~~~~~~~~~
                  compilation terminated.
                  *** [.pioenvs/energiecounter/src/esphome/components/captive_portal/captive_portal.cpp.o] Error 1
                  ========================== [
                  

                  Bilder:

                  fehler1.png

                  fehler2.png

                  espvers.png

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

                    Hi,

                    ich hab das gleiche Problem wie David83. Beim compilieren kommt der Fehler mit dem Async Webserver. Hat jemand eine Idee wie man das beheben kann?

                    Grüße, Bernd

                    bf72583a-c89a-435f-9d98-03b6008b4784-image.png

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

                      Nochmal ich 🙂 Wenn ich ein älteres Projekt neu kompilieren will, dann kommen auch Fehler. Hat aber vor ein paar Monaten einwandfrei funktioniert. Ich hab in der Zwischenzeit aber keine Änderungen gemacht isch schwör 😉 Also beim ESPHome Adapter oder bei der Python Installation auf dem RPi.

                      Ein paar andere Adapter (Admin... hm...Kalender?, Alexa...) hab ich aber geupdated.

                      b447d89d-9742-45b0-a166-ad3624d85914-image.png

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

                        @bernd33-1 in einen anderen topic wurde geschrieben das gewisse Pakete die der Esp adapter benötigt nicht mehr unter 32 Bit laufen. Ich bin auf 64 Bit gewechselt und gleichzeitig auf Bullseye hoch und schon funktioniert wieder alles.

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

                          Hi Draexler,

                          hmmm....das sind keine schönen News. Wäre das erste mal, dass ich meinen IOB vom Backup wieder herstellen müsste.

                          Bakitup läuft... aber meine Histroy-Daten hätte ich z.B. schon gerne wieder auf dem neuen System. Kann man diese History-Daten einfach auf das neue System mitnehmen?

                          Was mach ich mit meinen laufenden ESPHome Controllen? Muss ich die neu erstellen? Oder werden die bei Backitup mitgenommen?

                          Danke soweit für die Infos und Grüße, Bernd

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

                            @bernd33-1 Beim mir war es auch das erste mal. Hat aber sehr gut geklappt das ganze. Die History Daten musste ich nachträglich einspielen, aber halt auch wieder über den Backitup Adapter.
                            ESP kann ich so gar nicht sagen, da ich den vorher deinstalliert hatte und nicht mehr installieren konnte. Habe aber alle YAML vorher gesichert und und wieder hinzugefügt. War aber auch kein Problem.
                            Check vorher nochmal ob du über den Backupadapter auch die History mitsicherst.

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

                              Hi Draexler,

                              Danke für die Unterstützung.

                              Ich muss jetzt erst mal überlegen, ob ich nicht gleich auf den Homeassistant umsteige. Klar ist der IOBroker ein offenen System das "for free" entwickelt und gepflegt wird. Großen Respekt dafür. Wirklich.

                              Aber ich hab an meinem System wirklich nichts geändert und aus heiteren Himmel heraus tut plötzlich ESPHome nichtmehr im IOB. Lösung? Neu installieren! Eyeyey... Da ist der Frustlevel echt groß 😕

                              Man kann ja den Raspi manuelll auf 64-Bit upgraden aber das löst das Problem nicht. Deinstalliert man dann den ESPHome Adapter und will ihn neu installieren kommt "ERROR 25". Gut...ok....und dann? Einfach alles neu installieren als Lösung?

                              Ich hab schon oft tief durchgeatmet wegen dem IOB aber jetzt ist der Frustlevel echt groß....

                              Grüße, Bernd

                              FredF Thomas Braun 2 Replies Last reply Reply Quote 0
                              • FredF
                                FredF Most Active Forum Testing @bernd33-1 last edited by FredF

                                Bevor du hier abtrünig wirst 😎
                                Lass dir doch hier helfen. Ich bezweifle mal stark, das du die auch bei den Kollegen in dieser Form bekommst. Neben der Offenheit des Systems ist das Forum eine der ganz großen Pluspunkte von ioBroker.

                                @bernd33-1 sagte in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:

                                "ERROR 25".

                                Das gab es schon häufiger....
                                @thomas-braun magst du helfen? Bevor hier jemand abwandert...

                                EDIT: Auf was läuft dein ioBroker?
                                ICH nutze Docker. Als Docker läuft auch ESPHome und der ESPHome Adapter des ioBroker greift darauf zu. Keine Probleme mit updates von ESPHome...

                                1 Reply Last reply Reply Quote 0
                                • Thomas Braun
                                  Thomas Braun Most Active @bernd33-1 last edited by

                                  @bernd33-1 sagte in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:

                                  Man kann ja den Raspi manuelll auf 64-Bit upgraden

                                  Nö, kann man nicht. Das Betriebssystem muss von vorneherein in der 64bit-Variante installiert werden, nachträglich aus 32bit ein reines 64bit-System zimmern funktioniert nicht.

                                  "ERROR 25"

                                  Kann alles mögliche sein. Naheliegend ist derzeitig:
                                  https://forum.iobroker.net/topic/57337/fehler-25-bei-adapter-install-update-mit-npm8
                                  Muss aber nicht der Auslöser sein. Ohne Installation mit aktiver --debug Option kann man dazu nix sagen.

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

                                    Ja...ne... ich lauf nicht weg. War heut Mittag halt n bischen frustig 🙄

                                    Manuell auf 64-Bit updaten ist so nicht korrekt. Stimmt. Hier beschreibt zwar einer den manuellen Modus aber das OS ist natürlich noch 32-Bit. https://www.tutonaut.de/raspberry-pi-von-32-auf-64-bit-umstellen/

                                    Das ganze jetzt versuchen zu reparieren ist iwi auch nicht die Beste Lösung. Ich werde also einen zweiten PI mit 64-Bit Bullseye einrichten und hoffen, dass ich danach mit meinen Backups alles wieder ans laufen bekomme.

                                    Grüße, Bernd

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

                                      @bernd33-1 wie schon gsagt, hat super funktioniert und eine cleaninstallation schadet ja nie 👍

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

                                        Also es mag ja sein das die 32 bit Version Probleme bei diesem Adapter zum Vorschein bringt, ich nutzte allerdings eine 64bit Variante unter Proxmox mit Debian Buster und hatte den Fehler trotzdem.
                                        Nun hab ich ein Dist-upgrade auf Bullseye gemacht. Leider noch der gleiche Fehler.

                                        david@Iobroker:~$ lsb_release -a
                                        No LSB modules are available.
                                        Distributor ID: Debian
                                        Description:    Debian GNU/Linux 11 (bullseye)
                                        Release:        11
                                        Codename:       bullseye
                                        
                                        david@Iobroker:~$ sudo uname -a
                                        Linux Iobroker 5.15.39-4-pve #1 SMP PVE 5.15.39-4 (Mon, 08 Aug 2022 15:11:15 +0200) x86_64 GNU/Linux
                                        david@Iobroker:~$
                                        

                                        Fehler:

                                        INFO Reading configuration /opt/iobroker/iobroker-data/esphome.0/energiecounter.yaml...
                                        INFO Generating C++ source...
                                        INFO Compiling app...
                                        Processing energiecounter (board: esp01_1m; framework: arduino; platform: platformio/espressif8266 @ 3.2.0)
                                        --------------------------------------------------------------------------------
                                        HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
                                        LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
                                        Library Manager: Installing ottowinter/ESPAsyncTCP-esphome @ 1.2.3
                                        Warning! Please upgrade to the PlatformIO Core 6
                                        Library Manager: Installing esphome/ESPAsyncWebServer-esphome @ 2.1.0
                                        Warning! Please upgrade to the PlatformIO Core 6
                                        Dependency Graph
                                        |-- <DNSServer> 1.1.1
                                        |-- <ESP8266WiFi> 1.0
                                        |-- <ESP8266mDNS> 1.2
                                        Compiling .pioenvs/energiecounter/src/esphome/components/captive_portal/captive_portal.cpp.o
                                        Compiling .pioenvs/energiecounter/src/esphome/components/mdns/mdns_esp32_arduino.cpp.o
                                        Compiling .pioenvs/energiecounter/src/esphome/components/mdns/mdns_esp8266.cpp.o
                                        Compiling .pioenvs/energiecounter/src/esphome/components/mdns/mdns_esp_idf.cpp.o
                                        Compiling .pioenvs/energiecounter/src/esphome/components/network/util.cpp.o
                                        In file included from src/esphome/components/captive_portal/captive_portal.h:10,
                                                         from src/esphome/components/captive_portal/captive_portal.cpp:3:
                                        src/esphome/components/web_server_base/web_server_base.h:9:10: fatal error: ESPAsyncWebServer.h: No such file or directory
                                        
                                        ***************************************************************************
                                        * Looking for ESPAsyncWebServer.h dependency? Check our library registry!
                                        *
                                        * CLI  > platformio lib search "header:ESPAsyncWebServer.h"
                                        * Web  > https://registry.platformio.org/search?q=header:ESPAsyncWebServer.h
                                        *
                                        ***************************************************************************
                                        
                                            9 | #include <ESPAsyncWebServer.h>
                                              |          ^~~~~~~~~~~~~~~~~~~~~
                                        Compiling .pioenvs/energiecounter/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
                                        compilation terminated.
                                        *** [.pioenvs/energiecounter/src/esphome/components/captive_portal/captive_portal.cpp.o] Error 1
                                        ========================== [FAILED] Took 4.27 seconds ==========================
                                        
                                        
                                        Thomas Braun B 2 Replies Last reply Reply Quote 0
                                        • Thomas Braun
                                          Thomas Braun Most Active @david83 last edited by

                                          @david83 sagte in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:

                                          ESPAsyncWebServer.h

                                          Da fehlen dir Dateien/Libs. Wo und wie das genau hier zu machen wäre weiß ich allerdings auch nicht, hab noch nie damit gebaut.

                                          https://stackoverflow.com/questions/61498846/espasyncwebserver-h-with-esp32

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

                                            Ok, bei mir geht es jetzt. Man muss die Libs in das yaml einbauen. So etwa:

                                            esphome:
                                              name: test943
                                              platformio_options:
                                                lib_deps:
                                                  - ArduinoJson-esphomelib@5.13.3
                                                  - https://github.com/OttoWinter/AsyncTCP
                                                  - https://github.com/OttoWinter/ESPAsyncWebServer
                                                  - https://github.com/bblanchon/ArduinoJson.git
                                                  - https://github.com/me-no-dev/ESPAsyncTCP.git
                                                  - https://github.com/OttoWinter/ESPAsyncTCP.git
                                            
                                            esp8266:
                                              board: esp01_1m
                                            
                                            # Enable logging
                                            logger:
                                            
                                            # Enable Home Assistant API
                                            api:
                                            
                                            web_server:
                                              port: 80
                                            
                                            ota:
                                              password: "e4ea9faa4b990ebf2820818741436ad2"
                                            
                                            wifi:
                                              ssid: !secret wifi_ssid
                                              password: !secret wifi_password
                                            
                                              # Enable fallback hotspot (captive portal) in case wifi connection fails
                                              ap:
                                                ssid: "Test943 Fallback Hotspot"
                                                password: "geheim"
                                            

                                            Beim Kompilieren des yaml-files kommt ja immer ein Fehler, dass eine Datei vermisst wird. Die fehlende Datei ist z.B. die ArduinoJson.h

                                            e32e96cb-41a8-4190-9f9e-516100384e6d-image.png

                                            Ok, dann geht man auf diese Webseite https://registry.platformio.org/search?q=espasynctcp.h und gibt oben im suchfeld ArduinoJson.h ein. Dan bekommt man eine Liste mit Treffern. Der erste Eintrag laute dann "bblanchon/ArduinoJson". Den anklicken.

                                            7d6ca728-8266-4ce9-9ba8-8cd80a1ba58a-image.png

                                            Auf der Folgeseite dann rechts den Repository-Link (kleines Katzensymbol) kopieren (Mit Maus rechtsklicke und im Menü "Link kopieren" auswählen).

                                            1f89148f-6316-4038-809b-497c519cc336-image.png

                                            Und den dann einfach in der yaml einfügen. Siehe oben mein bsp.

                                            Vermutlich rechicht es schon, wenn man meine "platformio_options" kopiert und in das eigene yaml einfügt.

                                            Ist kompliziert erklärt....vielleicht kann es jemand noch einfacher erklären 🙂 Aber so tut es dann weider.... Juhu....keine Neuinstallation 🙂

                                            Grüße, Bernd

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            380
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            esphome
                                            41
                                            165
                                            37915
                                            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