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 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).
-
@opensourcenomad
Ich habe mal das "Enable fallback hotspot (captive portal) in case wifi connection fails" getestet (falsche wifi-Adresse eingegeben). Nach einer Minute ist das entsprechende Gerät im wifi-Netzwerk zu sehen. Wenn ich mich dann einlogge, erscheint immer die msn-Seite (Microsoft-Network) im Browser. Es sollte doch das "captive portal" im Browser erscheinen?? -
@tontechniker said in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:
msn-Seite (Microsoft-Network)
Internet Explorer 6 vielleicht?
Es sollte doch das "captive portal" im Browser erscheinen??
Du solltest per DHCP eine IP bekommen (nach dem du dich mit dem Fallback AP verbunden hast) und im Browser dann die 192.168.4.1 auflösen können wo sich das captive portal befindet.
-
@opensourcenomad said in Benutzen von ESPHome an einem Beispiel **Update 05.01.22 **:
192.168.4.1
Auf meinem PC läuft Windows 10 und firefox. Habe als gateway die Adresse meiner FritzBox angegeben. Eben auch nochmal anstelle der FritzBox-Adresse mit 192.168.4.1 vesucht - keinen Erfolg! -
@tontechniker nein, nix an der Fritze doktorn.
Wenn ein ESP eine Fallback AP öffnet dann verbindest du dich aktiv mit deinem Endgerät (sprich Mobilfunkdelefen, Laptop, Computer) per WLAN mit genau diesem ESP. Du hast dann kein Internet (weil du nicht mehr mit deiner Fritze verbunden bist), aber dafür die Möglichkeit eben die WLAN Daten des esp's zu ändern.
-
@opensourcenomad Habe das entspr. Video auf youtube mehrfach angesehen und alles so gemacht wie angegeben. Leider keinen Erfolg!
EDIT:
Ursache der Fehlfunktion war eine falsche WLAN-Einstellung. -
@opensourcenomad @Tontechniker: Das verstehe ich nicht… Ich habe das nicht in meinen Code. Ich habe den ESP OTA geupdatet und seitdem bekomme ich ich diesen nicht mehr in die esphome.0 Instanz. Es kommt immer die Meldung: „Bad format. Expected 0 at the begin“
Was kann ich machen?
EDIT: hat sich erledigt. Problem war das ich einen Button eingebaut habe. Das wird nicht unterstützt. Habe einen Switch reingepackt und schon geht es.