NEWS
Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **
-
@tontechniker said in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:
Mit status_led möchte ich die blaue LED blinken lassen.
Die Status Led hat eine eigenen Logik und blinkt normalerweise wenn keine WLAN und/oder API Verbindung vorhanden ist oder ein anderer Fehler, z.B. wenn ein Sensor nicht gelesen werden kann. Wenn alles "passt" dann bleibt diese aus.
The status_led hooks into all ESPHome components and can indicate the status of the device. Specifically, it will:
Blink slowly (about every second) when a warning is active. Warnings are active when for example reading a sensor value fails temporarily or the WiFi/MQTT connections are disrupted.
Blink quickly (multiple times per second) when an error is active. Errors indicate that ESPHome has found an error while setting up. In most cases, ESPHome will still try to recover from the error and continue with all other operations.
Stay off otherwise.
Nachzulesen hier https://esphome.io/components/status_led.html
Was ist genau dein Ziel? Möchtest du auf die Statusfunktion komplett verzichten und stattdessen die Led permanenten blinken lassen wenn der esp unter Strom steht? Oder willst du das "kombiniert", was ein bisschen schwierig ist weil du dann schlecht den Grund des blinken auseinander halten kannst Eventuell reicht es dir die LED einfach permanent an zu haben wenn es keine Fehler gibt? Wenn ja reicht es einfach das
inverted:
bei dir auftrue
zu stellenstatus_led: pin: number: GPIO02 inverted: true
-
gibt es einen Trick, wie man den ESPHome Adapter installiert?
$ iobroker url https://github.com/DrozmotiX/ioBroker.esphome/archive/refs/tags/v0.2.4.zip --host raspberrypi install DrozmotiX/ioBroker.esphome#refs/tags/v0.2.4 NPM version: 6.14.17 Installing DrozmotiX/ioBroker.esphome#refs/tags/v0.2.4... (System call)
Danach passiert leider nichts mehr...
-
@fir3drag0n Falls Du direkt von Github installierst, da hat NPM6 einen „Bug“, das kann dann gute 10min dauern bis es abschließt.
Gruss, Jürgen
-
@wildbill sonst finde ich den Adapter auch nicht...
-
@fir3drag0n Dann mujsst Du einfach ein paar Minuten warten (nichts machen in der Zeit, Fenster geöffnet lassen) dann wird installiert und gut.
Gruss, Jürgen
-
@opensourcenomad Danke für Deine Antwort!
Ich habe noch ein Verständnisproblem.
Mit einem ESP32 und einem ESP8266 habe ich zwei Geräte angelegt. Wie schaffe ich es, die beiden Geräte mit identischer WLAN-Einstellung mit ADD Device hinzu zu fügen. Ich schaffe es manchmal maximal, dass beide Geräte eingefügt werden, ein Geräte "grün" das andere "rot". Funktioniert das so nicht, oder was mache ich etwas falsch?? -
@tontechniker said in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:
Mit einem ESP32 und einem ESP8266 habe ich zwei Geräte angelegt. Wie schaffe ich es, die beiden Geräte mit identischer WLAN-Einstellung
Identische WLAN-Einstellungen sind OK (und die habe ich auch bei meinen etwa 80 esphome nodes), aber jeder esphome node muss einen anderen Namen haben
esphome: name: test01
Wenn bei dir beide test01 heißen wir dies das mit Sicherheit das Problem sein!
-
@opensourcenomad Ich zeige Dir mal meine Programme. Es wäre nett, wenn Du mal drüber schaust:
esphome: name: test01 esp32: board: nodemcu-32s framework: type: arduino # I²C Bus i2c: sda: GPIO21 scl: GPIO22 scan: true frequency: 100kHz status_led: pin: number: GPIO02 inverted: true # Enable logging logger: # Enable Home Assistant API api: password: "mein Passwort" ota: password: "mein Passwort" wifi: ssid: "meine ssid" password: "mein Passwort" # Optional manual IP manual_ip: static_ip: 192.168.178.xxx gateway: 192.168.178.1 subnet: 255.255.255.0 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Test01 Fallback Hotspot" password: "mein Passwort" captive_portal: web_server: # Example configuration entry sensor: - platform: hdc1080 temperature: name: "Wintergarten Temperature" humidity: name: "Wintergarten Feuchte" update_interval: 60s
und das andere:
esphome: name: temp-pres-01 esp8266: board: nodemcuv2 # I²C Bus i2c: sda: D2 scl: D1 scan: true frequency: 100kHz # Enable logging logger: # Enable Home Assistant API api: password: "mein Passwort" ota: password: "mein Passwort" wifi: ssid: "meine ssid" password: "mein Passwort" # Optional manual IP manual_ip: static_ip: 192.168.178.xxx gateway: 192.168.178.1 subnet: 255.255.255.0 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Temp-Pres-02 Fallback Hotspot" password: "mein Passwort" captive_portal: # Example configuration entry sensor: - platform: bmp280 temperature: name: "Aussentemperatur" oversampling: 16x pressure: name: "Luftdruck" address: 0x76 update_interval: 10s
-
@tontechniker die haben einen Fehler bei
static_ip
, die erst yaml in Zeile 37 und die zweite in Zeile 30? Oder nicht, wenn das von dir getilgt wurde um das hier rein zustellen.Sieht alles soweit plausibel für mich aus. Wie fügst du denn Geräte mit "Add Device" hinzu? Mittels IP oder mDNS hostname?
-
@opensourcenomad Da stehen bei mir natürlich Zahlen (jetzt xxx)!
Mittels IP. -
@tontechniker siehst du irgendwas unanständiges in dem log von adapter bzw. in esphome logs?
-
@opensourcenomad Ich hab mal den Programmiervorgang protokolliert. Wenn ich die Oberfläche von ESPhome mit der Darstellung beider Geräte anschaue und da den Log anwähle, sind beide gleich??
Using 'COM7' as serial port. Connecting.... Detecting chip type... Unsupported detection protocol, switching and trying again... Connecting.... Detecting chip type... ESP8266 Connecting. (94 %)Writing at 0x00061200... (100 %)Wrote 415328 bytes (290163 compressed) at 0x00000000 in 6.8 seconds (effective 489.8 kbit/s)... Hash of data verified. Leaving... Hard Resetting... Hard resetting via RTS pin... Done! Flashing is complete! Showing logs: [21:49:52][I][logger:242]: Log initialized [21:49:52][C][ota:461]: There have been 0 suspected unsuccessful boot attempts. [21:49:52][I][app:029]: Running through setup()... [21:49:52][I][i2c.arduino:161]: Performing I2C bus recovery [21:49:52][C][bmp280.sensor:056]: Setting up BMP280... [21:49:52][C][wifi:037]: Setting up WiFi... [21:49:52][D][wifi:373]: Starting scan... [21:49:52][D][bmp280.sensor:149]: Got temperature=27.1°C pressure=991.4hPa [21:49:52][D][sensor:124]: 'Aussentemperatur': Sending state 27.07000 °C with 1 decimals of accuracy [21:49:52][D][sensor:124]: 'Luftdruck': Sending state 991.35236 hPa with 1 decimals of accuracy [21:49:58][D][wifi:388]: Found networks: [21:49:58][I][wifi:431]: - 'Eisenbahn' (F0:B0:14:B0:E8:97) ▂▄▆█ [21:49:58][D][wifi:433]: Channel: 1 [21:49:58][D][wifi:434]: RSSI: -68 dB [21:49:58][I][wifi:431]: - 'Eisenbahn' (C8:0E:14:5B:01:ED) ▂▄▆█ [21:49:58][D][wifi:433]: Channel: 1 [21:49:58][D][wifi:434]: RSSI: -70 dB [21:49:58][D][wifi:436]: - 'Eisenbahn Gastzugang' (F2:B0:14:B0:E8:97) ▂▄▆█ [21:49:58][D][wifi:436]: - 'Eisenbahn Gastzugang' (CA:0E:14:5B:01:ED) ▂▄▆█ [21:49:58][D][wifi:436]: - 'FRITZ!Box 7560 XH' (DC:15:C8:D7:BB:66) ▂▄▆█ [21:49:58][D][wifi:436]: - 'Ansorge' (E8:DF:70:33:48:E6) ▂▄▆█ [21:49:58][D][wifi:436]: - 'Ansorge Gastzugang' (EA:DF:70:33:48:E6) ▂▄▆█ [21:49:58][I][wifi:248]: WiFi Connecting to 'Eisenbahn'... [21:49:59][I][wifi:505]: WiFi Connected! [21:49:59][C][wifi:353]: Local MAC: 3C:71:BF:32:7E:26 [21:49:59][C][wifi:354]: SSID: 'Eisenbahn' [21:49:59][C][wifi:355]: IP Address: 192.168.178.100 [21:49:59][C][wifi:356]: BSSID: F0:B0:14:B0:E8:97 [21:49:59][C][wifi:358]: Hostname: 'temp-pres-01' [21:49:59][C][wifi:360]: Signal strength: -70 dB ▂▄▆█ [21:49:59][C][wifi:364]: Channel: 1 [21:49:59][C][wifi:365]: Subnet: 255.255.255.0 [21:49:59][C][wifi:366]: Gateway: 192.168.178.1 [21:49:59][C][wifi:367]: DNS1: 0.0.0.0 [21:49:59][C][wifi:368]: DNS2: 0.0.0.0 [21:49:59][D][wifi:514]: Disabling AP... [21:49:59][C][ota:085]: Over-The-Air Updates: [21:49:59][C][ota:086]: Address: 192.168.178.100:8266 [21:49:59][C][ota:089]: Using Password. [21:49:59][C][api:025]: Setting up Home Assistant API server... [21:49:59][I][app:062]: setup() finished successfully! [21:49:59][I][app:102]: ESPHome version 2022.5.1 compiled on Jun 15 2022, 21:27:44 [21:49:59][C][wifi:491]: WiFi: [21:49:59][C][wifi:353]: Local MAC: 3C:71:BF:32:7E:26 [21:49:59][C][wifi:354]: SSID: 'Eisenbahn' [21:49:59][C][wifi:355]: IP Address: 192.168.178.100 [21:49:59][C][wifi:356]: BSSID: F0:B0:14:B0:E8:97 [21:49:59][C][wifi:358]: Hostname: 'temp-pres-01' [21:49:59][C][wifi:360]: Signal strength: -70 dB ▂▄▆█ [21:49:59][C][wifi:364]: Channel: 1 [21:49:59][C][wifi:365]: Subnet: 255.255.255.0 [21:49:59][C][wifi:366]: Gateway: 192.168.178.1 [21:49:59][C][wifi:367]: DNS1: 0.0.0.0 [21:49:59][C][wifi:368]: DNS2: 0.0.0.0 [21:49:59][C][logger:274]: Logger: [21:49:59][C][logger:275]: Level: DEBUG [21:49:59][C][logger:276]: Log Baud Rate: 115200 [21:49:59][C][logger:277]: Hardware UART: UART0 [21:49:59][C][i2c.arduino:038]: I2C Bus: [21:49:59][C][i2c.arduino:039]: SDA Pin: GPIO4 [21:49:59][C][i2c.arduino:040]: SCL Pin: GPIO5 [21:49:59][C][i2c.arduino:041]: Frequency: 100000 Hz [21:49:59][C][i2c.arduino:044]: Recovery: bus successfully recovered [21:49:59][I][i2c.arduino:054]: Results from i2c bus scan: [21:49:59][I][i2c.arduino:060]: Found i2c device at address 0x76 [21:49:59][C][bmp280.sensor:098]: BMP280: [21:49:59][C][bmp280.sensor:099]: Address: 0x76 [21:49:59][C][bmp280.sensor:111]: IIR Filter: OFF [21:49:59][C][bmp280.sensor:112]: Update Interval: 10.0s [21:49:59][C][bmp280.sensor:114]: Temperature 'Aussentemperatur' [21:49:59][C][bmp280.sensor:114]: Device Class: 'temperature' [21:49:59][C][bmp280.sensor:114]: State Class: 'measurement' [21:49:59][C][bmp280.sensor:114]: Unit of Measurement: '°C' [21:49:59][C][bmp280.sensor:114]: Accuracy Decimals: 1 [21:49:59][C][bmp280.sensor:115]: Oversampling: 16x [21:49:59][C][bmp280.sensor:116]: Pressure 'Luftdruck' [21:49:59][C][bmp280.sensor:116]: Device Class: 'pressure' [21:49:59][C][bmp280.sensor:116]: State Class: 'measurement' [21:49:59][C][bmp280.sensor:116]: Unit of Measurement: 'hPa' [21:49:59][C][bmp280.sensor:116]: Accuracy Decimals: 1 [21:49:59][C][bmp280.sensor:117]: Oversampling: 16x [21:49:59][C][captive_portal:088]: Captive Portal: [21:49:59][C][mdns:084]: mDNS: [21:49:59][C][mdns:085]: Hostname: temp-pres-01 [21:49:59][C][ota:085]: Over-The-Air Updates: [21:49:59][C][ota:086]: Address: 192.168.178.100:8266 [21:49:59][C][ota:089]: Using Password. [21:49:59][C][api:138]: API Server: [21:49:59][C][api:139]: Address: 192.168.178.100:6053 [21:49:59][C][api:143]: Using noise encryption: NO [21:50:00][D][bmp280.sensor:149]: Got temperature=27.0°C pressure=991.3hPa [21:50:00][D][sensor:124]: 'Aussentemperatur': Sending state 27.04000 °C with 1 decimals of accuracy [21:50:00][D][sensor:124]: 'Luftdruck': Sending state 991.28705 hPa with 1 decimals of accuracy [21:50:10][D][bmp280.sensor:149]: Got temperature=27.3°C pressure=991.7hPa [21:50:10][D][sensor:124]: 'Aussentemperatur': Sending state 27.26000 °C with 1 decimals of accuracy [21:50:10][D][sensor:124]: 'Luftdruck': Sending state 991.69330 hPa with 1 decimals of accuracy [21:50:20][D][bmp280.sensor:149]: Got temperature=27.2°C pressure=991.7hPa [21:50:20][D][sensor:124]: 'Aussentemperatur': Sending state 27.25000 °C with 1 decimals of accuracy [21:50:20][D][sensor:124]: 'Luftdruck': Sending state 991.65674 hPa with 1 decimals of accuracy [21:50:30][D][bmp280.sensor:149]: Got temperature=27.3°C pressure=991.7hPa [21:50:30][D][sensor:124]: 'Aussentemperatur': Sending state 27.30000 °C with 1 decimals of accuracy [21:50:30][D][sensor:124]: 'Luftdruck': Sending state 991.68585 hPa with 1 decimals of accuracy [21:50:40][D][bmp280.sensor:149]: Got temperature=27.3°C pressure=991.7hPa [21:50:40][D][sensor:124]: 'Aussentemperatur': Sending state 27.30000 °C with 1 decimals of accuracy [21:50:40][D][sensor:124]: 'Luftdruck': Sending state 991.67389 hPa with 1 decimals of accuracy
Und der andere (ist der "normale" Log:
INFO Reading configuration /opt/iobroker/iobroker-data/esphome.0/test01.yaml... WARNING GPIO2 is a Strapping PIN and should be avoided. Attaching external pullup/down resistors to strapping pins can cause unexpected failures. See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins INFO Starting log output from 192.168.178.100 using esphome API INFO Successfully connected to 192.168.178.100 [21:42:06][I][app:102]: ESPHome version 2022.5.1 compiled on Jun 14 2022, 20:35:50 [21:42:06][C][status_led:019]: Status LED: [21:42:06][C][status_led:020]: Pin: GPIO2 [21:42:06][C][wifi:491]: WiFi: [21:42:06][C][wifi:353]: Local MAC: 3C:71:BF:AA:80:80 [21:42:06][C][wifi:354]: SSID: [redacted] [21:42:06][C][wifi:355]: IP Address: 192.168.178.100 [21:42:06][C][wifi:357]: BSSID: [redacted] [21:42:06][C][wifi:358]: Hostname: 'test01' [21:42:06][C][wifi:360]: Signal strength: -73 dB ▂▄▆█ [21:42:06][C][wifi:364]: Channel: 1 [21:42:06][C][wifi:365]: Subnet: 255.255.255.0 [21:42:06][C][wifi:366]: Gateway: 192.168.178.1 [21:42:06][C][wifi:367]: DNS1: 0.0.0.0 [21:42:06][C][wifi:368]: DNS2: 0.0.0.0 [21:42:06][C][logger:274]: Logger: [21:42:06][C][logger:275]: Level: DEBUG [21:42:06][C][logger:276]: Log Baud Rate: 115200 [21:42:06][C][logger:277]: Hardware UART: UART0 [21:42:06][C][i2c.arduino:038]: I2C Bus: [21:42:06][C][i2c.arduino:039]: SDA Pin: GPIO21 [21:42:06][C][i2c.arduino:040]: SCL Pin: GPIO22 [21:42:06][C][i2c.arduino:041]: Frequency: 100000 Hz [21:42:06][C][i2c.arduino:044]: Recovery: bus successfully recovered [21:42:06][I][i2c.arduino:054]: Results from i2c bus scan: [21:42:06][I][i2c.arduino:060]: Found i2c device at address 0x40 [21:42:06][C][hdc1080:031]: HDC1080: [21:42:06][C][hdc1080:032]: Address: 0x40 [21:42:06][C][hdc1080:036]: Update Interval: 60.0s [21:42:06][C][hdc1080:037]: Temperature 'Wintergarten Temperature' [21:42:06][C][hdc1080:037]: Device Class: 'temperature' [21:42:06][C][hdc1080:037]: State Class: 'measurement' [21:42:06][C][hdc1080:037]: Unit of Measurement: '°C' [21:42:06][C][hdc1080:037]: Accuracy Decimals: 1 [21:42:06][C][hdc1080:038]: Humidity 'Wintergarten Feuchte' [21:42:06][C][hdc1080:038]: Device Class: 'humidity' [21:42:06][C][hdc1080:038]: State Class: 'measurement' [21:42:06][C][hdc1080:038]: Unit of Measurement: '%' [21:42:06][C][hdc1080:038]: Accuracy Decimals: 0 [21:42:06][C][captive_portal:088]: Captive Portal: [21:42:06][C][web_server:129]: Web Server: [21:42:06][C][web_server:130]: Address: 192.168.178.100:80 [21:42:06][C][mdns:084]: mDNS: [21:42:06][C][mdns:085]: Hostname: test01 [21:42:06][C][ota:085]: Over-The-Air Updates: [21:42:06][C][ota:086]: Address: 192.168.178.100:3232 [21:42:06][C][ota:089]: Using Password. [21:42:06][C][api:138]: API Server: [21:42:06][C][api:139]: Address: 192.168.178.100:6053 [21:42:06][C][api:143]: Using noise encryption: NO [21:42:13][D][sensor:125]: 'Wintergarten Temperature': Sending state 26.44714 °C with 1 decimals of accuracy [21:42:13][D][sensor:125]: 'Wintergarten Feuchte': Sending state 54.81568 % with 0 decimals of accuracy [21:42:13][D][hdc1080:069]: Got temperature=26.4°C humidity=54.8%
Endlich fertig!
-
@tontechniker said in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:
sind beide gleich??
also die haben zwei verschiedene Namen und sind offensichtlich auch zwei verschiedene Geräte aber die haben die gleiche statische IP Adresse konfiguriert?
-
@opensourcenomad Manche Dinge sind soooo einfach!!!
Danke für Deine Hilfe!
Ich hatte im Laufe meiner Versuche schon mal ohne Erfolg eine andere Webadresse eingegeben. Da war aber bestimmt noch etwas anderes nicht O.K.!
Dir noch einen schönen Abend!
Hans -
@opensourcenomad Hast Du mal ein yaml-Beispiel für mich, um eine LED auf dem Board blinken zu lassen? Habe schon einiges getestet, aber leider nicht erfolgreich.
-
@tontechniker said in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:
um eine LED auf dem Board blinken zu lassen?
Einfach so permanent direkt nach dem start oder soll es irgendeinen "Auslöser" (z.B. wenn er mit der Zentrale verbunden ist) geben?
-
@opensourcenomad Ohne Auslöser,nach dem Start.
-
@tontechniker said in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:
Ohne Auslöser,nach dem Start.
Okay, sprich wir machen das
on_boot
, dieser gehört in deinen vorhandenesphome:
block# https://esphome.io/components/esphome.html#on-boot esphome: # ... on_boot: then: - light.turn_on: id: meinetolleled effect: pulse
Aber natürlich brauchen wir auch noch das light (monochromatic) mit der id
meinetolleled
(und den passenden output hier muss du deinen Pin definieren an dem die LED hängt!)# https://esphome.io/components/light/monochromatic.html light: - platform: monochromatic name: "Meine tolle LED" id: meinetolleled output: led_output effects: - pulse: # Example output entry output: - platform: esp8266_pwm id: led_output pin: D1
-
@opensourcenomad Vielen Dank! Es funktioniert bei der esp8266, aber wie mache ich das bei der esp32 (er meckert "8266_pwm" an). Habe in esphome.io gesucht und habe nicht das Richtige gefunden.
-
@tontechniker said in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:
aber wie mache ich das bei der esp32
Der esp32 macht pwm in hardware, die passende Komponente hierfür schimpt sich ledc (zu finden unter den output components).