Coder Social home page Coder Social logo

drozmotix / iobroker.esphome Goto Github PK

View Code? Open in Web Editor NEW
30.0 13.0 23.0 2.33 MB

Control your ESP8266/ESP32 with simple yet powerful configuration files created and managed by ESPHome

License: MIT License

HTML 87.65% CSS 7.10% JavaScript 4.83% Dockerfile 0.42%
esphome esp32 esp iobroker-adapter

iobroker.esphome's Introduction

ioBroker.esphome

NPM version Downloads Number of Installations (latest) Number of Installations (stable) Dependency Status Translation status Known Vulnerabilities

NPM

Tests: Test and Release

This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers. For more details and for information how to disable the error reporting see Sentry-Plugin Documentation! Sentry reporting is used starting with js-controller 3.0.

ESPHome adapter for ioBroker

Control your ESP8266/ESP32 with simple yet powerful configuration files created and managed by ESPHome. Native integration of ESPHome managed device (Including Dashboard) by its native API and ensures all data is synchronized (live-event handling, no data polling ! :)

Logo

This adapter uses the esphome-native-api with all credits to @Nafaya to interact with ESPHome API!

Prerequisites

* NodeJS >= 18.x
* API is activated in YAML
* For admin tabs (optional)
    * ESPHome Dashboard IP is provided in instance settings

Using the built-in ESPHome Dashboard

You can either use an external installation of ESPHome (like docker) or activate the ESPHome Dashboard process included in this adapter.
In any case, it is possible to integrate the dashboard into ioBroker Admin interface, for this purpose you must specify the ip where the Dashboard is running

Logo

Important

is currently not possible to show the ESPHome DashBoard integrated in ioBroker when https is enabled, see #159

How to use this adapter

Activate API in YAML

Important

ioBroker ESPHome allows to integrate Devices by Encryption Key (recommended) or API-Password (legacy), you must specify your authentication settings accordingly, see ESPHome Documentation Please only configure Encryption Key (preferable) or API-Password (legacy)

Example Encryption Key configuration entry

api:
  encryption:
    key: "DyDfEgDzmA9GlK6ZuLkj3qgFcjXiZUzUf4chnIcjQto="

Example API configuration entry

api:
  password: 'MyPassword'

Add / Modify / Remove ESPHome devices to ioBroker

Important

This adapter integrates communication with ESPHome capable devices and (if activated) an integrated version of ESPHome Dashboard. You must configure and upload your ESP configuration by yourself, either by using the integrated Dashboard or an external alternative (like Docker) before they can be integrated to ioBroker

The device Tab will show all current known devices; you can either wait for Devices to be autodetect (currently disabled, see #175) or add them manually by providing their IP-Address and credentials

DevicesTab

Note

Buttons to add/modify/remove devices and load device table are only available if adapter is running! You must refresh the device table manually by pressing "Refresh device Overview", all devices and their connection state will be shown

Please enter IP-Address (if a device is already known, you can select it from the dropdown) and choose the proper actions:

  • ADD / Modify Devices

    • Will send IP address and credentials to the backend and try to establish a connection
    • When an encryption Key is provided, API-Password is ignored, please ensure proper YAML configuration!
  • Delete Device

    • Will send a message to the backend to remove this device

Warning

This action will remove a selected device and all its related states from ioBroker!

Note

After a device has been added, a message will be indicated if successfully or error, you can refresh the table to show current devices and their connection status

DevicesError DevicesOK

If connection was successfully, the Device will be initiated and all related states created to control their attributes.
When making any changes to your YAML configuration, reboot of the ESP will disconnect and initiate a new connection.
During this process, states not part anymore of YAML configuration will be automatically removed.

DevicesOK

Example config

Example config, for more examples see The DrozmotiX Docu Page or ESPHome Documentation

Show example config
esphome:
  name: sensor_badkamer
  platform: ESP32
  board: esp-wrover-kit

wifi:
  use_address: 192.168.10.122
  ssid: "xxxxx"
  password: "xxxxxx"
          
# Enable ESPHome API
api:
    password: 'MyPassword'
# Activate i2c bus  
i2c:
  sda: 21
  scl: 22
  scan: True
  id: bus_a
  
# Example configuration for bh1750
sensor:
  - platform: bh1750
    name: "Hal_Illuminance"
    address: 0x23
    measurement_time: 69
    update_interval: 10s
    
# Example configuration for an GPIO output    
output:
  - platform: gpio
    pin: 12
    inverted: true
    id: gpio_12
    
# Example configuration linking a switch to the previous defined output
switch:
  - platform: output
    name: "Generic Output"
    output: 'gpio_12'

Tasmota / ESPEasy migration

Migrating from previous Sonoff Tasmota or ESPEasy setups is very easy. You just need to have ESPHome create a binary for you and then upload that in the web interface.
See for more details on our Docu Page

NOTE: Generated yaml files are stored at ```/opt/iobroker/iobroker-data/iobroker.esphome.>instance</>device<.yaml

Support me

If you like my work, please consider a personal donation
(this is a personal Donate link for DutchmanNL, no relation to the ioBroker Project !)
Donate

Changelog

WORK IN PROGRESS

  • (ticaki) Optimize admin configuration interface
  • (DutchmanNL) Optimize backend handling of device discovery
  • (DutchmanNL) Capability to select ESPHome Dashboard version added, resolves #118

0.5.0-beta.8 (2023-11-24)

  • (DutchmanNL) Capability to automatically detect new devices added
  • (DutchmanNL) Ensures a compatible pillow version is used (10.0.1)
  • (SimonFischer04) Add pillow python package by default, resolves #188

0.5.0-beta.4 (2023-11-15)

  • (DutchmanNL) Refactor memory caching of device data, resolves #189

0.5.0-beta.1 (2023-11-12)

  • (DutchmanNL) Only show error messages once for unreachable devices

0.5.0-beta.0 (2023-11-12) - Rebuild Admin Interface & Connection handler

  • (DutchmanNL) Admin interface redesigned to JSON-Config relates #171
  • (DutchmanNL) Backend massages implemented to Add/Modify/Delete devices
  • (DutchmanNL) Device connection handling and visibility of devices improved
  • (DutchmanNL) Auto device discovery temporary disabled due to external bug, relates #175
  • (DutchmanNL) Possibility added to exclude IP-Addresses from device discovery, relates #175
  • (DutchmanNL) Allow Selection to listen on specific interface or all for device discovery resolves #67
  • (DutchmanNL) State implemented to show current connection status (unreachable/disconnected/connected) to improve management of devices
  • (DutchmanNL) Several bugfixes, resolves #181 resolves #

0.4.1 (2023-11-05)

  • (DutchmanNL) Bugfix: Password / connection issues in previous beta resolves #179
  • (DutchmanNL) Bugfix: Allow individual API password or encryption keys for devices, resolves #174
  • (DutchmanNL) Support ESPHome device Encryption Key (you should migrate from API password to Encryption Key ! resolves #152)

License

MIT License

Copyright (c) 2023 DutchmanNL [email protected]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

iobroker.esphome's People

Contributors

anzic23 avatar apollon77 avatar dependabot[bot] avatar dutchmannl avatar fat-fred avatar feurer98 avatar fredf63 avatar germanbluefox avatar grossmas avatar jey-cee avatar ldittmar81 avatar maag-da avatar mcm1957 avatar palmmaniac avatar santa81 avatar schmakus avatar simonfischer04 avatar sneak-l8 avatar unclesamswiss avatar xxbjxx avatar yazgoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iobroker.esphome's Issues

Deep Sleep Error Meldung

Ich nutze die Deep Sleep Funktion. Dementsprechend habe ich Error Meldungen im ioBroker Log das der ESP nicht erreichbar ist.
Kann man das unterbinden? Eventuell durch eine Auswahlmöglichkeit in der Administration das dieser Error nicht ausgegeben werden soll?

Compatibility check and testing for Node.js 14 and 16

Dear Adapter develop,

Node.js 14 is now available for a year and Node.js 16 was release just some days ago and will become LTS by October 2021. We plan to update the ioBroker Node.js recommendation (currently 12.x) to 14.x later this year.

Please check your adapter with Node.js 14 especially, and ideally also directly with Node.js 16

Please add both versions to the adapter testing which is executed on commits.

If your adapter requires a certain minimum version of Node.js please set the 'engine' setting in package.json accordingly! Please also do this if the adapter is not able to work in certain Node.js versions, so that ioBroker can prevent users from installing te adapter if not compatible!

On questions please talk to us at ioBroker/ioBroker.js-controller#1138

Please close the issue after you checked it.

Thank you very much for your support!

Light component state not changed

If i change object
esphome.0.6001946F9380.Light.3610127206.state
false or true my light not change state.

I dovngrade to version 0.1.5 , and change state is working.
After version 0.1.5 , change state not working.

transitionLength is not working

The transitionLength is not used when controlling a lamp from ioBroker. In the log you can see what I mean. The first trigger is from the webserver. The second is from ioBroker via state. The transitionLength in ioBroker is set to 1 s, but turns red after change.

[D][light:035]: 'esstisch ambient light' Setting:
[D][light:046]: State: ON
[D][light:084]: Transition length: 1.0s
[D][light:084]: Transition length: 1.0s
[D][power_supply:034]: Enabling power supply.
[D][light:035]: 'esstisch ambient light' Setting:
[D][light:046]: State: OFF
[D][light:046]: State: OFF
[D][light:050]: Brightness: 100%
[D][light:050]: Brightness: 100%
[D][light:058]: Red: 100%, Green: 34%, Blue: 62%
[D][light:058]: Red: 100%, Green: 34%, Blue: 62%
[D][light:084]: Transition length: 0.0s
[D][power_supply:052]: Disabling power supply.

image

keine installation möglich

Adapter lässt sich nicht installieren, bekomme immer folgende fehlermeldung im log: `$ iobroker url https://github.com/DrozmotiX/ioBroker.esphome.git --host raspberrypi

install DrozmotiX/ioBroker.esphome#86201d5e87abede6071e84b38299bb72f699fef0

NPM version: 6.14.15

npm install DrozmotiX/ioBroker.esphome#86201d5e87abede6071e84b38299bb72f699fef0 --loglevel error --prefix "/opt/iobroker" (System call)

Cache entry deserialization failed, entry ignored

Cache entry deserialization failed, entry ignored

error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> [70 lines of output] Collecting setuptools>=40.6.0 Using cached setuptools-60.9.1-py3-none-any.whl (1.1 MB) Collecting wheel Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB) Collecting cffi>=1.12 Using cached cffi-1.15.0.tar.gz (484 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting setuptools-rust>=0.11.4 Using cached setuptools_rust-1.1.2-py3-none-any.whl (21 kB) Collecting pycparser Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB) Collecting typing-extensions>=3.7.4.3 Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB) Collecting semantic-version<3,>=2.8.2 Using cached semantic_version-2.9.0-py2.py3-none-any.whl (15 kB) Building wheels for collected packages: cffi Building wheel for cffi (setup.py): started Building wheel for cffi (setup.py): finished with status 'error' error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [10 lines of output] running bdist_wheel running build running build_py running build_ext building '_cffi_backend' extension c/_cffi_backend.c:2:10: fatal error: Python.h: Datei oder Verzeichnis nicht gefunden 2 | #include <Python.h> | ^~~~~~~~~~ compilation terminated. error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for cffi Running setup.py clean for cffi Failed to build cffi Installing collected packages: wheel, typing-extensions, setuptools, semantic-version, pycparser, setuptools-rust, cffi Running setup.py install for cffi: started Running setup.py install for cffi: finished with status 'error' error: subprocess-exited-with-error × Running setup.py install for cffi did not run successfully. │ exit code: 1 ╰─> [12 lines of output] running install /opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( running build running build_py running build_ext building '_cffi_backend' extension c/_cffi_backend.c:2:10: fatal error: Python.h: Datei oder Verzeichnis nicht gefunden 2 | #include <Python.h> | ^~~~~~~~~~ compilation terminated. error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure × Encountered error while trying to install package. ╰─> cffi note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure. [end of output] note: This error originates from a subprocess, and is likely not a problem with pip.

error: subprocess-exited-with-error× pip subprocess to install build dependencies did not run successfully.│ exit code: 1╰─> See above for output.note: This error originates from a subprocess, and is likely not a problem with pip.

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! [email protected] install: npip installnpm ERR! Exit status 1

npm ERR! npm ERR! Failed at the [email protected] install script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:npm ERR! /home/iobroker/.npm/_logs/2022-02-15T17_05_33_774Z-debug.log

host.raspberrypi Cannot install DrozmotiX/ioBroker.esphome#86201d5e87abede6071e84b38299bb72f699fef0: 1

ERROR: Process exited with code 25`

Dashboard Update

Experimentally, I found out that the version of the ESPHome dashboard can only be updated by deleting and reinstalling the adapter...
iobroker del esphhome
iobroker add esphome
neither "download files" nor "restore" from the expert capabilities of the adapter work.
Now, if you remove it and install it again, then the latest version is pulled up (at the moment v2022.1.1)
but some objects have parameters set and they don't want to be lost along with the removal of the driver. How can I update the dashboard version without deleting the objects and their properties?

effect object in ioBroker not working

Changing the effect in ioBroker Object of the device, it is not working:

image

Changing

  • state
  • blue
  • brightness
  • white
  • etc.
    IS working. Except effect.

Using:

ESP yaml excerpt:

light:
  - platform: neopixelbus
    id: light_ring
    internal: False
    type: GRBW
    variant: SK6812 #WS2812X
    pin: GPIO5
    num_leds: "12"
    method: ESP32_I2S_1
    name: "LED Ring"
    effects:
      - addressable_scan:
      - addressable_color_wipe:
      - addressable_rainbow:
      - addressable_fireworks:

When starting the effect via boot on the esp device itself it works. The effect is also listed in the effectslist object.

on_boot:
--
  | priority: -10
  | then:
  | - light.turn_on:
  | id: light_ring
  | brightness: 40%
  | effect: "Scan"

Updating Adapter lose yaml files

After updating from 0.2.0.0 to 0.2.1-1 the yaml files in folder /opt/iobroker/node_modules/iobroker.esphome/config are deletet

Dashboard and admin with https

!!! Before you start !!!

  1. Verify if there is not already an issue requesting the same -> CHECK
  2. Is this really a bug of current code, or an enhancement request ? -> CHECK

Describe the bug
If the https feature in admin is enabled, the built in Dashboard of ESPHome can not be shown inside the admin.

To Reproduce
Steps to reproduce the behavior:

  1. Go to admin config
  2. Click on HTTPS
  3. Save and exit
  4. Try to open ESPHome in admin

Expected behavior
The EPSHome Dashboard should use also https, if the admin uses https.

Versions:

  • Adapter version: 0.2.4
  • JS-Controller version: 3.3.21
  • Node version: 14.18.2
  • Operating system: Ubuntu server

Additional context
The issue is a security policy problem, while a site with https can not load content from a http only site.

Dashboard does not work through a reverse proxy.

!!! Before you start !!!

  1. no
  2. bug

Describe the bug
Configured the transition to the dashboard via the reverse proxy. The dashboard opens, but when you try to view the logs, or compile the firmware, nothing happens. There are a lot of errors in the console.

To Reproduce
Steps to reproduce the behavior:

  1. Configured the transition to the dashboard via the reverse proxy
  2. Click on ' LOGS'
  3. Open console in Chrome
  4. See error

Expected behavior
work via a reverse proxy, if possible.

Screenshots & Logfiles
image

Versions:

  • Adapter version: 0.2.1-1
  • JS-Controller version: 3.2.16
  • Node version: v12.22.1
  • Operating system: docker

Object attributes not updated

The Online status is shown different in the instance view compared with object view:

the connection attribute is always indicated with true even if I turn of the ESP.
The _online attribute stays false even if esp is online and marked as online in instance view

image

The ESP script looks like this

`esphome:
name: little_wemos
platform: ESP8266
board: d1_mini

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password

Enable fallback hotspot (captive portal) in case wifi connection fails

ap:
ssid: "Little Wemos Fallback Hotspot"
password: "************"

captive_portal:

Enable logging

logger:

api:
services:
- service: control_servo
variables:
level: float
then:
- servo.write:
id: my_servo
level: !lambda 'return level / 1000.0;'

ota:

output:

  • platform: esp8266_pwm
    id: pwm_output
    pin: D3
    frequency: 50 Hz

servo:

  • id: my_servo
    output: pwm_output

`

Missing translations

I added the adapter to Weblate, but please make sure you add all strings from index_m.html to your JSON translation files. Currently multiple are missing (e.g. "Edit device", "API password", and some more).

Native integration of ESPHome web-front end into adapter instance

Describe wanted Enhancement !
Die Erstellungen der ESPHome Komponennten sollte in ioBroker integriert werden, wie es bei Home-Assistant möglich ist. Dies würde eine neuen, breiten Sektor für alle Benutzer zur Verfügung stellen.

Why should we put effort in it ?
Die Community könnte alles aus einem System verwalten und Programmieren. Egal ob es die eigenen Sensoren, Aktoren sind, oder die mit Javascript erstellte Hauptlogik ist.

Installing build dependencies: finished with status 'error'

Hi,

I also have the problem to Install the adapter.

$ iobroker url https://github.com/DrozmotiX/ioBroker.esphome.git --host iobroker

install DrozmotiX/ioBroker.esphome#86201d5e87abede6071e84b38299bb72f699fef0

NPM version: 6.14.15

Installing DrozmotiX/ioBroker.esphome#86201d5e87abede6071e84b38299bb72f699fef0... (System call)

> [email protected] install /opt/iobroker/node_modules/iobroker.esphome> npip install

No python_modules directory; installing pip locally if needed.

Successfully completed pip check.

Collecting esphome>=2021.8

Using cached esphome-2022.2.6-py2.py3-none-any.whl (2.1 MB)

Collecting tornado>=3.2

Using cached tornado-6.1.tar.gz (497 kB)

Preparing metadata (setup.py): started

Preparing metadata (setup.py): finished with status 'done'

Collecting colorama==0.4.4

Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)

Collecting click==8.0.3

Using cached click-8.0.3-py3-none-any.whl (97 kB)

Collecting esphome-dashboard==20220209.0

Using cached esphome_dashboard-20220209.0-py3-none-any.whl (592 kB)

Collecting paho-mqtt==1.6.1

Using cached paho-mqtt-1.6.1.tar.gz (99 kB)

Preparing metadata (setup.py): started

Preparing metadata (setup.py): finished with status 'done'

Collecting aioesphomeapi==10.8.2

Using cached aioesphomeapi-10.8.2-py2.py3-none-any.whl (49 kB)

Collecting zeroconf==0.38.3

Using cached zeroconf-0.38.3-py3-none-any.whl (106 kB)

Collecting tzdata>=2021.1

Using cached tzdata-2021.5-py2.py3-none-any.whl (339 kB)

Collecting voluptuous==0.12.2

Using cached voluptuous-0.12.2.tar.gz (48 kB)

Preparing metadata (setup.py): started

Preparing metadata (setup.py): finished with status 'done'

Collecting esptool==3.2

Using cached esptool-3.2.tar.gz (206 kB)

Preparing metadata (setup.py): started

Preparing metadata (setup.py): finished with status 'done'

Collecting kconfiglib==13.7.1

Using cached kconfiglib-13.7.1-py2.py3-none-any.whl (145 kB)

Collecting PyYAML==6.0

Using cached PyYAML-6.0.tar.gz (124 kB)

Installing build dependencies: started

Installing build dependencies: finished with status 'done'

Getting requirements to build wheel: started

Getting requirements to build wheel: finished with status 'done'

Preparing metadata (pyproject.toml): started

Preparing metadata (pyproject.toml): finished with status 'done'

Collecting platformio==5.2.5

Using cached platformio-5.2.5.tar.gz (218 kB)

Preparing metadata (setup.py): started

Preparing metadata (setup.py): finished with status 'done'

Collecting pyserial==3.5

Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB)

Collecting tzlocal==4.1

Using cached tzlocal-4.1-py3-none-any.whl (19 kB)

Collecting protobuf<4.0,>=3.12.2

Using cached protobuf-3.19.4-py2.py3-none-any.whl (162 kB)

Collecting noiseprotocol<1.0,>=0.3.1

Using cached noiseprotocol-0.3.1-py3-none-any.whl (20 kB)

Collecting importlib-metadata

Using cached importlib_metadata-4.11.2-py3-none-any.whl (17 kB)

Collecting bitstring>=3.1.6

Using cached bitstring-3.1.9-py3-none-any.whl (38 kB)

Collecting cryptography>=2.1.4

Using cached cryptography-36.0.1.tar.gz (572 kB)

Installing build dependencies: started

Installing build dependencies: finished with status 'error'

host.iobroker Cannot install DrozmotiX/ioBroker.esphome#86201d5e87abede6071e84b38299bb72f699fef0: 1

ERROR: Process exited with code 25`

My Python Version is 3.7
NodeJS 14.18

I don't think that PIP is the problem like in #120

Regards
maxpd

crash install with error 25

I will install this adpater on an raspi pi but It don't work.
Could somebody help me..

$ iobroker url https://github.com/DrozmotiX/ioBroker.esphome --host mospi

install DrozmotiX/ioBroker.esphome#86201d5e87abede6071e84b38299bb72f699fef0

NPM version: 6.14.15

npm install DrozmotiX/ioBroker.esphome#86201d5e87abede6071e84b38299bb72f699fef0 --loglevel error --prefix "/opt/iobroker" (System call)

/usr/local/lib/python3.8/site-packages/_distutils_hack/__init__.py:24: UserWarning: Distutils was imported before Setuptools, but importing Setuptools also replaces the `distutils` module in `sys.modules`. This may lead to undesirable behaviors or errors. To avoid these issues, avoid using distutils directly, ensure that setuptools is installed in the traditional way (e.g. not an editable install), and/or make sure that setuptools is always imported before distutils. warnings.warn(/usr/local/lib/python3.8/site-packages/_distutils_hack/__init__.py:36: UserWarning: Setuptools is replacing distutils. warnings.warn("Setuptools is replacing distutils.")

Traceback (most recent call last): File "/opt/iobroker/node_modules/nopy/src/get-pip.py", line 20061, in <module>

main() File "/opt/iobroker/node_modules/nopy/src/get-pip.py", line 194, in main bootstrap(tmpdir=tmpdir) File "/opt/iobroker/node_modules/nopy/src/get-pip.py", line 119, in bootstrap import setuptools # noqa File "/usr/local/lib/python3.8/site-packages/setuptools/__init__.py", line 8, in <module> import _distutils_hack.override # noqa: F401 File "/usr/local/lib/python3.8/site-packages/_distutils_hack/override.py", line 1, in <module> __import__('_distutils_hack').do_override() File "/usr/local/lib/python3.8/site-packages/_distutils_hack/__init__.py", line 73, in do_override ensure_local_distutils() File "/usr/local/lib/python3.8/site-packages/_distutils_hack/__init__.py", line 61, in ensure_local_distutils assert '_distutils' in core.__file__, core.__file__AssertionError: /usr/local/lib/python3.8/distutils/core.py

Error: Exited with code 1.

at ChildProcess.<anonymous> (/opt/iobroker/node_modules/nopy/src/api.js:277:20) at ChildProcess.emit (events.js:314:20) at maybeClose (internal/child_process.js:1022:16) at Process.ChildProcess._handle.onexit (internal/child_process.js:287:5)

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! [email protected] install: `npip install`

npm ERR! Exit status 1

npm ERR! npm ERR! Failed at the [email protected] install script.

npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:

npm ERR! /home/iobroker/.npm/_logs/2022-01-02T09_31_37_844Z-debug.log

host.mospi Cannot install DrozmotiX/ioBroker.esphome#86201d5e87abede6071e84b38299bb72f699fef0: 1

ERROR: Process exited with code 25

2022-01-02T18_40_22_424Z-debug.log

status is wrong

online status is wrong in objects
grafik

wifi:
power_save_mode: none

Disabled Auto-Discovery - Modules not checked for adapter start

Wenn Auto-Discovery deaktiviert ist, dann werden alle bereits angemeldeten Module auf "nicht verbunden" gesetzt bei Adapter-Start. Ein reaktivieren erfordert einmalig die erneute Eingabe des API Passwortes und abspeichern damit die Module wieder verbunden werden.

File upload beispielsweise für TFT

Im ioBroker haben wir ja leider nicht die Möglichkeit einen Dateimanager zu nutzen wie beim HomeAssistant.
Wäre es möglich eine upload Funktion für Dateien einzubinden?
Hintergrund: ich arbeite an einem NSPanel von Sonoff und möchte eine eigene Oberfläche hochladen. Das klappt auf dem ioBroker aber nicht.

Request for integration - ESPHome Fan Component

Hello Dutchman,

i would like to ask for integration.

2021-03-01 17:31:09.722 - warn: esphome.0 (11706) DeviceType Fan not yet supported 2021-03-01 17:31:09.722 - warn: esphome.0 (11706) Please submit git issue with all information from next line 2021-03-01 17:31:09.722 - warn: esphome.0 (11706) DeviceType Fan | State-Keys {"key":4005520228,"state":false,"oscillating":false,"speed":2} | [entityStateConfig] {"config":{"objectId":"basement_ventilation_fan","key":4005520228,"name":"Basement Ventilation Fan","uniqueId":"esphome_developer_qlquad_dev4fanbasement_ventilation_fan","supportsOscillation":false,"supportsSpeed":true},"name":"Fan","type":"Fan","unit":""}

Thanks
Mario

Support for Displays

ESPHome Integration in ioBroker is already working very nicely and my preferred platform for new devices. However, the missing ability to use displays and send text to be displayed directly from ioBroker is one of the few features I am really missing for now.

Example:

`# SSD1306 Display

font:

  • file: "LiberationSans-Regular.ttf"
    id: font1
    size: 20

  • file: "LiberationSans-Regular.ttf"
    id: font2
    size: 14

display:

  • platform: ssd1306_i2c
    model: "SSD1306 128x64"
    address: 0x3C
    lambda: |-
    it.printf(64, 0, id(font1), TextAlign::TOP_CENTER, "Wetter");

    // Print temperature
    if (id(temperature).has_state()) {
    it.printf(100, 20, id(font1), TextAlign::TOP_RIGHT , "%.1f°", id(temperature).state);
    }

    // Print humidity
    if (id(humidity).has_state()) {
    it.printf(100, 40, id(font1), TextAlign::TOP_RIGHT , "%.1f%%", id(humidity).state);
    }`

In this example I am using a lambda to display values of sensors connected to the same ESP. But if the value could be populated directly via MQTT it would be even more flexible. For the fonts, we might go with one predefined font for now and add selection of fonts later.

Compatibility check to js-controller 4.0

Dear Adapter developer,

with js-controller 4.0 object definitions are now also checked that min/max in only provided for number/mixed objects and that the type of the default value matches to the object type.

If something is not correct this is logged as 'warning' or 'info' log.

Please also make sure to update to the lastest @iobroker/testing dependency 2.5.4 or to accept the PR from Apollon77 for legacy testing!

Please spent some time to verify your adapter by ideally starting with a fresh instance and do some actions and verify the log. If you see a warn or info log there from these checks please adjust the adapter and fix the relevant cases.

For questions please refer to ioBroker/ioBroker.js-controller#1749

Please close the issue after you checked it.

Thank you very much for your support to get the best experience for the growing numbers of ioBroker users!

Compatibility check to js-controller 3.3 and Admin5 React UI

Dear Adapter developer,

with js-controller 3.2 and js-controller 3.3 some additional checks were added to make sure that created objects match to the specifications and also written state values match to the object definition.

If something is not correct this is logged as 'warning' or 'info' log.

Please take the time to verify your adapter by ideally starting with a fresh instance and do some actions and verify the log. If you see a warn log there from these checks please adjust the adapter and fix the relevant cases.

For questions please refer to ioBroker/ioBroker.js-controller#1301

Additionally we are preparing Admin 5 which will have a completely rewritten UI. Please install Admin 5, activate that new UI and verify that the configuration of you adapter works as expected also there.

More informations on Admin 5 can be found in Forum https://forum.iobroker.net/topic/44282/test-adapter-admin-5-0-x-alpha-der-neuen-ui

Please close the issue after you checked it.

Thank you very much for your support!

Request for integration - ESPHome Light Component - state for transitionLength

Hello Dutchman,

i saw that the state "transitionLength" is specified under "async lightCommandService" in the Nafaya API. Is it possible to integrate this state?

Here is an example with the equivalent in the mqtt string.
{"effect":"None","state":"OFF","brightness":150,"transition":2,"color":{"r":0,"g":0,"b":0},"white_value":255}

Regards Mario

TypeError: Cannot read property 'deserializeBinary' of undefined

Describe the bug
When adding a configuration from the Nice_BusT4 repository, I get constant errors in the log. In the device log, there are also errors with reconnection from the side of the iobroker.
There is also no way to control the end device, the objects simply do not appear.

To Reproduce
Steps to reproduce the behavior:

  1. just install the config from the repository.
  2. See error

Expected behavior
I would like to be able to operate the garage door as a home assistant. Need objects in iobroker.

Screenshots & Logfiles
image

Versions:

  • Adapter version: 0.2.4
  • JS-Controller version: 3.3.22
  • Node version: v14.19.0
  • Operating system: docker

Additional context
my config:

#отправляет пакеты через uart в шину Nice BUS T4
#тест на Wemos D1 mini

esphome:
  name: garage-test
  platform: ESP8266
  board: nodemcuv2


external_components:
  - source:
      type: git
      url: https://github.com/pruwait/Nice_BusT4



# включаем отладку для поиска причины перезагрузки через лог
debug:
    
# Enable logging
logger:
  level: DEBUG
  baud_rate: 0
  
# Enable Home Assistant API
api:
  password: "pasds"
  services:
# для отправки hex команд на привод
  - service: raw_command
    variables:
        raw_cmd: string
    then:
      lambda: |-
         my_nice_cover -> NiceBusT4::send_raw_cmd(raw_cmd);
 
  reboot_timeout: 0s # иначе перезагружается при отключении от hassio  

ota:

# Set statul led for Wemos D1 mini
status_led:
  pin: 
    number: D4
    inverted: true
  


wifi:
  ssid: "Skynet_IoT"
  password:  "piy680zxc"

  
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "garage Hotspot"
    password: !secret ota_pass



captive_portal:


# Enable web server (can be disabled)
web_server:
  port: 80


button:
  - platform: template
    name: Open
    id: send_open
    on_press:
      lambda: |-
         my_nice_cover -> NiceBusT4::send_open();
        
        
cover:
- platform: bus_t4
  name: "Nice Wingo 5000"
  id: "my_nice_cover"

Request for integration - ESPHome Light Component - Differentiation RGB white -> "white channel" white

Hallo Dutchman,

optimal wäre dann noch eine weitere Funktion bzw. Abfrage im Adapter. Falls via Hex Value #ffffff (weiss) bzw. RGB Value jeweils 255 (weiss) eingegeben wird, automatisch der White Channel (State "white" in den Objekten) auf 1 geht und RGB jeweils auf 0. Das ganze natürlich auch umgekehrt. Wird eine Farbe eingegeben (nicht weiss), soll der White Channel wieder auf 0 und die RGB bzw. Hex Werte gesetzt werden. Da der White Channel nicht bei jedem Lichttyp verwendet wird müsste man eine Unterscheidung über die Config States vornehmen bzw. dieses Feature Ein/Aus schaltbar machen, via State.

Danke

SG
Mario

Request for integration - ESPHome Light Component (RGBW)

Hello Dutchman,

i would like to ask for integration.

2021-03-01 15:53:06.241 - warn: esphome.0 (11603) DeviceType Light | State-Keys {"key":3048698813,"state":false,"brightness":1,"red":1,"green":1,"blue":1,"white":1,"colorTemperature":0,"effect":"None"} | [entityStateConfig] {"config":{"objectId":"quinled_quad","key":3048698813,"name":"QuinLED_Quad","uniqueId":"esphome_developer_qlquad_dev4lightquinled_quad","supportsBrightness":true,"supportsRgb":true,"supportsWhiteValue":true,"supportsColorTemperature":false,"minMireds":0,"maxMireds":0,"effectsList":["None","My Slow Random Effect","My Fast Random Effect","My Insane Random Effect","Totally loco","Strobe Effect With Custom Values"]},"name":"Light","type":"Light","unit":""}

Thanks
Mario

Support for AZ-Delivery D1 R32

Describe wanted Enhancement !
I suggest to implemetn the Az-Delivery Board D1 R32 Wifi&Bluetooth R32 Based on ESP32 Wroom-32

Why should we put effort in it ?
With using one of the implemented Boards the D1 R32 will not connect to Wifi correctly.

nach update vom git sind die Geräte weg

na klasse

grafik

im adapter ist der nicht connected..

grafik

korrigiere .. nach erneuter psw eingabe ist der online..

wo werden die yaml's gespeichert ??
ich habs ... auf dem jeweiligen host unter
/opt/iobroker/node_modules/iobroker.esphome/config

dann ist ja klar dass die gelöscht werden...

du musst sicher stellen dass diese ein update überleben...

FileNotFoundError: [Errno 2] No such file or directory

Ich habe den den Adapter in der Version 0.2.4 erneut installiert um eine aktuelle ESPhome-Version zu bekommen. Dies hat bis zur Version 2022.3.0 funktioniert. Nun kann ich zwar den Adapter aktualisieren (aktuell auf die 2022.03.02, aber wenn ich im Dashboard ein Update der ESPs installieren will kommt nachfolgende Meldung.

`INFO Reading configuration /opt/iobroker/iobroker-data/esphome.0/wassertank.yaml...
INFO Generating C++ source...
INFO Compiling app...
sh: 0: getcwd() failed: No such file or directory
Error: Traceback (most recent call last):
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/platformio/main.py", line 121, in main
cli() # pylint: disable=no-value-for-parameter
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/click/core.py", line 1128, in call
return self.main(*args, **kwargs)
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/click/core.py", line 1053, in main
rv = self.invoke(ctx)
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/platformio/commands/init.py", line 44, in invoke
return super(PlatformioCLI, self).invoke(ctx)
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/click/core.py", line 1656, in invoke
super().invoke(ctx)
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/click/decorators.py", line 26, in new_func
return f(get_current_context(), *args, **kwargs)
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/platformio/main.py", line 60, in cli
maintenance.on_platformio_start(ctx, force, caller)
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/platformio/maintenance.py", line 44, in on_platformio_start
telemetry.on_command()
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/platformio/telemetry.py", line 292, in on_command
resend_backuped_reports()
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/platformio/telemetry.py", line 443, in resend_backuped_reports
tm = app.get_state_item("telemetry", {})
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/platformio/app.py", line 194, in get_state_item
with State() as state:
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/platformio/app.py", line 94, in init
core_dir = ProjectConfig.get_instance().get("platformio", "core_dir")
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/platformio/project/config.py", line 379, in get_instance
path = ProjectConfig.get_default_path() if path is None else path
File "/opt/iobroker/node_modules/iobroker.esphome/python_modules/lib/python3.9/site-packages/platformio/project/config.py", line 81, in get_default_path
os.getcwd(), "platformio.ini"
FileNotFoundError: [Errno 2] No such file or directory

============================================================

An unexpected error occurred. Further steps:

============================================================`

Text Sensors / Sensors - Category

Einige Einträge in der "Text Sensors" oder "Sensors" Kategorie wären besser aufgehoben unter Information:

Beispiele:

  • WIFI IP
  • WIFI Signalstärke
  • WIFI SSID
  • WIFI BSSID
  • Uptime des Moduls

Error Meldung Cannot read property 'connectError' of undefined`

Hi,
ich habe bei mir alles geupdatet und habe nun Massenweise folgende Error Meldungen im Log:

ESPHome error handling issue 192.168.1.63 TypeError: Cannot read property 'connectError' of undefined

ESPHOME Version: v2022.2.3
Adapterversion: v0.2.4

Zwischenzeitlich habe ich schon alles deinstalliert, neuinstalliert geflasht etc.

Integration von cover

Wenn man ein Rollo mit Cover erstellt kommt folgende Meldung:

2021-03-22 21:37:19.294 - warn: esphome.0 (9891) DeviceType Cover | State-Keys {"key":1113507517,"legacyState":0,"position":1,"tilt":0,"currentOperation":0} | [entityStateConfig] {"config":{"objectId":"my_endstop_cover","key":1113507517,"name":"My Endstop Cover","uniqueId":"testcovermy_endstop_cover","assumedState":false,"supportsPosition":true,"supportsTilt":false,"deviceClass":""},"name":"Cover","type":"Cover","unit":""}

Cannot read property 'deviceInfo' of undefined

Describe the bug
Error message on log when ESP is not reachable:
ESPHome error handling issue 192.168.0.99 TypeError: Cannot read property 'deviceInfo' of undefined

To Reproduce
Steps to reproduce the behavior:

  1. Disconnect the ESP from Wifi
  2. Go to configuration
  3. Add the device

Expected behavior
Only a info message that this device is not rechable.

Versions:

  • Adapter version: 0.2.1-1
  • JS-Controller version: 3.2.16
  • Node version: 14.16.1
  • Operating system: ubuntu

Request for integration - ESPHome Light Component - Additional state that accepts hex values

Hello Dutchman,

an additional state that accepts hex values would be ideal, e.g. # 00ff00. A function in the adapter breaks down the value into the RGB values and forwards them to ESPHome. So far I've always solved this externally with a script.

function hexToRgb(hex) {
  // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
  var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
  hex = hex.replace(shorthandRegex, function(m, r, g, b) {
    return r + r + g + g + b + b;
  });

  var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
  return result ? {
    r: parseInt(result[1], 16),
    g: parseInt(result[2], 16),
    b: parseInt(result[3], 16)
  } : null;
}

return (hexToRgb(hex).r) + "," + (hexToRgb(hex).g) + "," + (hexToRgb(hex).b);

Thanks
Mario

Template Button

Hi,

um zu ermöglichen, dass man ein ESPHome Script auf einem ESP antriggern kann (der vermutlich häufigste Anwendungsfall?) würde sich die Integration eines Template Buttons anbieten.

Mein Beispielscript:

esphome:
  name: little_wemos
  platform: ESP8266
  board: d1_mini
 
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
 
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Little Wemos Fallback Hotspot"
    password: "************"
 
captive_portal:
 
# Enable logging
logger:
 
api:
  services:
    - service: control_servo
      variables:
        level: float
      then:
        - servo.write:
            id: my_servo
            level: !lambda 'return level / 100.0;'
          
 
ota:
 
output:
  - platform: esp8266_pwm
    id: pwm_output
    pin: D3
    frequency: 50 Hz
 
 
servo:
  - id: my_servo
    output: pwm_output
    
button:
  - platform: template
    name: "Template Button"
    on_press:
      - logger.log: Button Pressed
      - cover.open: flying
      - delay: 8s
      - cover.close: flying
      - delay: 9s    
          
cover:
  - platform: time_based
    id: flying
    open_action:
#      then:
      - servo.write:
          id: my_servo
          level: 10.0%
    open_duration: 5s

    close_action:
#      then:
      - servo.write:
          id: my_servo
          level: -10.0%
    close_duration: 6s
    
    stop_action:
#      then:
      - servo.write:
          id: my_servo
          level: 0%
      - servo.detach: my_servo

Mein Log bei Erkennen des ESP:


esphome.0
2022-03-22 20:14:42.592	debug	192.168.178.53 client data 4������ little_wemos (esphome v2022.3.0)"little_wemos

esphome.0
2022-03-22 20:14:42.575	error	ESPHome client 192.168.178.53 TypeError: Cannot read property 'deserializeBinary' of undefined

esphome.0
2022-03-22 20:14:42.574	debug	192.168.178.53 client data �

esphome.0
2022-03-22 20:14:13.912	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:13,912 INFO 304 GET /devices (192.168.178.146) 1.62ms

esphome.0
2022-03-22 20:14:12.535	warn	Client 192.168.178.53 Timeout, connection Lost, will reconnect automatically when device is available!

esphome.0
2022-03-22 20:14:09.061	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:09,061 INFO Running command 'esphome --dashboard -q vscode --ace /opt/iobroker/iobroker-data/esphome.0'

esphome.0
2022-03-22 20:14:08.989	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,989 INFO 101 GET /ace (192.168.178.146) 1.17ms

esphome.0
2022-03-22 20:14:08.971	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,970 INFO 200 GET /static/fonts/material-icons/MaterialIcons-Regular.woff2 (192.168.178.146) 1.87ms

esphome.0
2022-03-22 20:14:08.913	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,913 INFO 304 GET /devices (192.168.178.146) 1.58ms

esphome.0
2022-03-22 20:14:08.877	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,876 INFO 200 GET /static/js/vendor/ace/mode-yaml.js (192.168.178.146) 2.07ms

esphome.0
2022-03-22 20:14:08.874	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,873 INFO 200 GET /static/js/vendor/ace/theme-dreamweaver.js (192.168.178.146) 1.69ms

esphome.0
2022-03-22 20:14:08.696	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,696 INFO 200 GET /static/js/vendor/jquery-ui/jquery-ui.min.js?hash=cab3392d (192.168.178.146) 189.47ms

esphome.0
2022-03-22 20:14:08.666	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,666 INFO 200 GET /static/js/vendor/materialize/materialize.min.js?hash=4be20daf (192.168.178.146) 158.14ms

esphome.0
2022-03-22 20:14:08.636	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,635 INFO 200 GET /static/js/esphome/index-92d154f2.js (192.168.178.146) 114.09ms

esphome.0
2022-03-22 20:14:08.633	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,633 INFO 200 GET /static/js/vendor/ace/ace.js?hash=65322f49 (192.168.178.146) 124.26ms

esphome.0
2022-03-22 20:14:08.516	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,515 INFO 200 GET /static/js/vendor/jquery-validate/jquery.validate.min.js?hash=aad785d4 (192.168.178.146) 8.16ms

esphome.0
2022-03-22 20:14:08.511	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,511 INFO 200 GET /static/js/vendor/jquery/jquery.min.js?hash=12108007 (192.168.178.146) 5.14ms

esphome.0
2022-03-22 20:14:08.462	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,461 INFO 200 GET /static/css/esphome-2.css?hash=b79b4733 (192.168.178.146) 7.20ms

esphome.0
2022-03-22 20:14:08.459	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,459 INFO 200 GET /static/css/vendor/materialize/materialize.min.css?hash=ec1df3ba (192.168.178.146) 5.40ms

esphome.0
2022-03-22 20:14:08.452	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,450 INFO 200 GET /static/fonts/material-icons/material-icons.css?hash=ead4c276 (192.168.178.146) 3.75ms

esphome.0
2022-03-22 20:14:08.449	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,449 INFO 200 GET /static/fonts/material-icons/MaterialIcons-Regular.woff2?hash=570eb838 (192.168.178.146) 2.71ms

esphome.0
2022-03-22 20:14:08.412	debug	esphome.0 (13292) [ESPHome - Console] 2022-03-22 20:14:08,411 INFO 304 GET /?instance=0&newReact=true&0&react=colored (192.168.178.146) 2.16ms

esphome.0
2022-03-22 20:14:07.562	error	ESPHome client 192.168.178.53 TypeError: Cannot read property 'deserializeBinary' of undefined

esphome.0
2022-03-22 20:14:07.561	debug	192.168.178.53 client data 4������ little_wemos (esphome v2022.3.0)"little_wemos

esphome.0
2022-03-22 20:14:07.543	error	ESPHome client 192.168.178.53 TypeError: Cannot read property 'deserializeBinary' of undefined

esphome.0
2022-03-22 20:14:07.542	debug	192.168.178.53 client data �

esphome.0
2022-03-22 20:13:37.521	warn	Client 192.168.178.53 Timeout, connection Lost, will reconnect automatically when device is available!

Datenpunkt name

Es wäre super wenn der Name vom state der gleiche Name wie der vom übergreifenden channel.
Oder eventuell zusätzlich einen zusammengefügten Namen wie in dem Beispiel also: switch - Relais 1

Screenshot_20210326-101607_Chrome Beta~2.jpg

reconnect Meldungen von error auf warn umstellen

einer meiner esps verbindet sich ab und zu neu.
Eigentlich ist aber kein error notwendig, ein warn reicht auch.
Zusätzlich sind beim reconnect nicht alle Infos notwendig (also welche states verbunden sind), es würden hier nur neue states reichen.

subnetz nicht erkennbar

wenn sich der ESP sich nicht im gleichen Netz befindet wie iobroker ist dieser nicht erkennbar

Fehler bei Installation

Bei der Installation kommt es zu folgenden Fehler:

$ iobroker url https://github.com/DrozmotiX/ioBroker.esphome --host legion-iobroker --debug

install DrozmotiX/ioBroker.esphome#a1f9adad9bfa6b6de20de3c8b293f26b6b44dff5

NPM version: 6.14.14

npm install DrozmotiX/ioBroker.esphome#a1f9adad9bfa6b6de20de3c8b293f26b6b44dff5 --prefix "/opt/iobroker" (System call)

[email protected] preinstall /opt/iobroker/node_modules/node-aead-crypto> node lib/preinstall.js

node-aead-crypto not needed on this system, since all ciphers are natively supported

[email protected] install /opt/iobroker/node_modules/iobroker.esphome> npip install

No python_modules directory; installing pip locally if needed.

Traceback (most recent call last): File "/opt/iobroker/node_modules/nopy/src/get-pip.py", line 20061, in

main() File "/opt/iobroker/node_modules/nopy/src/get-pip.py", line 194, in main bootstrap(tmpdir=tmpdir) File "/opt/iobroker/node_modules/nopy/src/get-pip.py", line 82, in bootstrap import pip File "/tmp/tmpiab1uogq/pip.zip/pip/init.py", line 26, in File "/tmp/tmpiab1uogq/pip.zip/pip/utils/init.py", line 23, in File "/tmp/tmpiab1uogq/pip.zip/pip/locations.py", line 9, in ImportError: cannot import name 'sysconfig' from 'distutils' (/usr/lib/python3.7/distutils/init.py)

Error: Exited with code 1. at ChildProcess. (/opt/iobroker/node_modules/nopy/src/api.js:277:20)

at ChildProcess.emit (events.js:400:28) at maybeClose (internal/child_process.js:1055:16) at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)

npm WARN [email protected] requires a peer of [email protected] || 4.0.x || 4.1.x but none is installed. You must install peer dependencies yourself.

npm WARN [email protected] requires a peer of [email protected] || 4.0.x || 4.1.x but none is installed. You must install peer dependencies yourself.

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/zigbee-herdsman/node_modules/fsevents):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/zigbee-herdsman-converters/node_modules/zigbee-herdsman/node_modules/fsevents):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/zigbee-herdsman-converters/node_modules/fsevents):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/osx-temperature-sensor):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/node-aead-crypto):

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] preinstall: node lib/preinstall.jsnpm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! [email protected] install: npip installnpm ERR! Exit status 1

npm ERR! npm ERR! Failed at the [email protected] install script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:npm ERR! /home/iobroker/.npm/_logs/2021-09-14T22_08_09_804Z-debug.log

host.legion-iobroker Cannot install DrozmotiX/ioBroker.esphome#a1f9adad9bfa6b6de20de3c8b293f26b6b44dff5: 1

ERROR: Process exited with code 25

Versions:

  • Adapter version: 0.2.4
  • JS-Controller version: 3.3.15
  • Node version: v14.17.5
  • Operating system: debian bullseye

Auszug aus IoBroker Systeminformationen:

Kernel-release 5.11.22-4-pve
Node.js version 14.17.5
v8-version 8.4.371.23-node.76
NPM version 6.14.14
Git-version 2.30.2
Postfix-version 3.5.6
Perl-version 5.32.1
Python version 2.7.16
Python 3 version 3.9.2
GCC version 10.2.1 20210110
Bash-Version 5.1.4
os.pip 20.3.4
os.pip3 20.3.4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.