NEWS
[ESPHome] Beta release
-
@slowman sagte in [ESPHome] Beta release:
Habe jetzt so ne komische Fehlermeldung im ESPHome. Es funktioniert alles, so weit ich das erkennen kann.
esphome.0 (1276) [dashboardProcess ERROR] WARNING Calling ESPHome with the configuration before the command is deprecated and will be removed in the future. WARNING Please instead use:WARNING esphome dashboard /opt/iobroker/iobroker-data/esphome.0
Welche Adapter Version ?
-
-
Was macht eigentlich die Neuerung in V 0.2.4
option if config of ESPHome device should be shown as states
-
Sehe gerade das die .2.4 raus ist
-
@klassisch sagte in [ESPHome] Beta release:
Was macht eigentlich die Neuerung in V 0.2.4
option if config of ESPHome device should be shown as states
Momentan stehen bei jedem Channel auch ein Ordner mit 8states bezüglich der Configuration.
Mit dieser Option kann man das erstellen davon ausschalten@slowman sagte in [ESPHome] Beta release:
Sehe gerade das die .2.4 raus ist
Damit sollte der Fehler behoben sein hier der fix dazu
-
hmm... Update von 0.2.2 auf 0.2.4
npm install Drozmotix/ioBroker.esphome#a1f9adad9bfa6b6de20de3c8b293f26b6b44dff5 --loglevel error --prefix "/opt/iobroker" (System call) 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 82, in bootstrap import pip File "/tmp/tmp4tlzbwf7/pip.zip/pip/__init__.py", line 26, in <module> File "/tmp/tmp4tlzbwf7/pip.zip/pip/utils/__init__.py", line 23, in <module> File "/tmp/tmp4tlzbwf7/pip.zip/pip/locations.py", line 9, in <module>ImportError: cannot import name 'sysconfig' from 'distutils' (/usr/lib/python3.7/distutils/__init__.py) Error: Exited with code 1. at ChildProcess.<anonymous> (/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 ERR! code ELIFECYCLEnpm ERR! errno 1 npm ERR! iobroker.esphome@0.2.4 install: `npip install`npm ERR! Exit status 1npm ERR! npm ERR! Failed at the iobroker.esphome@0.2.4 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-08-30T18_41_53_478Z-debug.log host.ioBroker Cannot install Drozmotix/ioBroker.esphome#a1f9adad9bfa6b6de20de3c8b293f26b6b44dff5: 1 ERROR: Process exited with code 25
Habe jetzt eine Sicherung eingespielt Debian 10 Nodejs 12.x , da geht das Update ohne Probleme. Werde morgen nochmal auf Debian Bullseye plus Nodejs 14.x updaten und schauen, ob das Problem noch besteht.
-
Welche Python und js-Controller Version?
-
@dutchman sagte in [ESPHome] Beta release:
Momentan stehen bei jedem Channel auch ein Ordner mit 8states bezüglich der Configuration.
sind das diese hier?
-
Falls gestattet, hier noch eine Frage zu ESPHome an sich:
Wie kann man die Erfassung und Übertragung von Werten an den ioBroker synchronisieren?
Beispiel:
Gerät mit- 2 Sensoren
- 3 Messwerten aus den Sensoren
- 3 zusätzlich per "lambda" berechnete Werte
Alle update_ interval stehen auf 1 min
Dennoch kommen die Daten nicht gleichzeitig beim ioBroker an, sondern einzeln, nach und nach zu verschiedenen Zeiten.
Kann man den Ablauf innerhalb des ESP zeitlich synchronisieren oder steuern? -
@klassisch sagte in [ESPHome] Beta release:
@dutchman sagte in [ESPHome] Beta release:
Momentan stehen bei jedem Channel auch ein Ordner mit 8states bezüglich der Configuration.
sind das diese hier?
Nein Ordner conf
-
@klassisch sagte in [ESPHome] Beta release:
Kann man den Ablauf innerhalb des ESP zeitlich synchronisieren oder steuern?
Kan ich dir leider nicht beantworten
-
@dutchman diese?
-
@klassisch
Heute war im changelog von esphone das templates auch das change intervall nutzen sollen.
Also etwas abwarten auf die nächste esphome Version, alternativ dev Version installieren und im discord chat von esphome nachfragen. -
-
@e-s sagte in [ESPHome] Beta release:
Heute war im changelog von esphone das templates auch das change intervall nutzen sollen.
Vielen Dank für den Hinweis. Bin mal gespannt, ob dann das erwartete Verhalten eintritt. Mir ist unklar, was der ESP so lange rechnet. An der Rechenleistung kann das nicht liegen.
Es gibt zwar on_.. und then: Dazu finde ich Beispiele zum Triggern von switches. Vielleicht noch zum Ausführen eines Lambda aber leider nicht zum Starten eines Sensor read.Also etwas abwarten auf die nächste esphome Version
Werde ich tun. Bin sicher nicht der Einzige, der sich übr das dynamische Verhalten wundert
-
Vielen Dank für den Adapter. Ich bin durch diesen erst auf ESPHome aufmerksam geworden.
Bis jetzt habe ich meine ESP's immer mit Tasmota, EspEasy oder Spezial Iso's für RFID, Kamera usw. betrieben.
Ich habe jetzt mal einen Nodemcu genommen und einige Sensoren zum Test eingebunden. Soweit klappt alles und auch das übertragen der Werte an den Adapter bzw. MQTT klappt super.
Woran ich im Moment scheitere sind Rules mit denen ich einige Sensoren direkt "Onboard" verbinden kann. Zum testen wollte ich mit einem Touchsensor ein Relais steuern. Mit dem ioBroker über Blockly kein Problem. Aber mit "on_.. und then:" usw. bekomme ich es leider nicht hin.
Hier mal die "Nackten" Sensoreinträge, die auch alle funktionieren:esphome: name: lolin-esphometest platform: ESP8266 board: nodemcuv2 # Enable logging logger: # Enable Home Assistant API api: ota: password: "##########" wifi: ssid: "######" password: "########" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Lolin-Esphometest" password: "#########" captive_portal: mqtt: broker: 192.168.###.## username: #### password: ##### port: #### i2c: sda: 4 scl: 5 scan: true id: bus_a sensor: - platform: dht pin: D3 model: AM2302 temperature: name: "Temperaturtest" humidity: name: "Luftfeuchtetest" update_interval: 60s - platform: ultrasonic trigger_pin: D5 echo_pin: D6 name: "Ultraschallsensor" update_interval: 5s - platform: vl53l0x name: "VL53L0xDistance" address: 0x29 update_interval: 8s long_range: false enable_pin: D7 switch: - platform: gpio name: "Relais" id: relais pin: D7 binary_sensor: - platform: gpio name: "Touch" pin: D8 id: button_switch
Was muss ich eintragen um mit dem Switch (Touch) das Relais zu schalten?
-
@docgame Habe das bisher in ESPHome selber noch nicht gebraucht. Und ich kenne den nodemcu nicht, sondern nutze den Wemos D1 mini
Was mir aber auffällt:-
Beim Lidar Sensor nutzt Du enable_pin, der wohl für die Adressumschaltung gedacht ist. Das würde ich mal weglassen.
-
Pin D7 wird gleichzeitig als Relais und zur Adressumschaltung des Lidar-Sensors verwendet
Wenn Du das aufgeräumt hast, dann wäre mal das einen Versuch mit on_press innerhalb des binary sensor wert Zitat ESPHome Doku
on_press
This automation will be triggered when the button is first pressed down, or in other words on the leading edge of the signal.
binary_sensor: - platform: gpio # ... on_press: then: - switch.turn_on: relay_1
ich nehme an, daß relay_1 der id ist, bei Dir also relais
Wenn Du toggeln lassen willst, sollte auch das gehen:
Zitat ESPHome Doku
switch.toggle ActionThis action toggles a switch with the given ID when executed.
on_...: then: - switch.toggle: relay_1
Wie gesagt, in ESPHome habe ich es noch nicht gebraucht, weil ich in meiner "ESP-Zeit" den meisten Kram und u.a. auch das Relaistoggeln selbst zusammengefrickelt habe. Und was stabil läuft (z.B. 1146 Tage up), läuft erst mal weiter....
-
-
@docgame
Kleiner Hinweis, der Vorteil an esphome und dem Adapter ist, daß man kein mqtt braucht.
Das kannst du also weglassen, nur api rein und fertig. -
@docgame sagte in [ESPHome] Beta release:
Was muss ich eintragen um mit dem Switch (Touch) das Relais zu schalten?
Schau dir mal die yaml Beispiele auf meiner Doku Seite an, die Steckdosen haben im Grunde was du suchst (Button press/toggle und Relais schalten) zb die shp7
https://drozmotix.github.io/languages/de/Adapter/ESPHome/08.yamlTemplates.html#shp7
Hier werden zb per Button die Relais geschalten und je nach Status die led
binary_sensor: - platform: gpio id: hw_button1 name: hw_button1 internal: true pin: number: GPIO0 mode: INPUT_PULLUP inverted: true on_press: - switch.toggle: relay1 - platform: gpio id: hw_button2 name: hw_button2 internal: true pin: number: GPIO12 mode: INPUT_PULLUP inverted: true on_press: - switch.toggle: relay2 output: - platform: esp8266_pwm id: red_led1 pin: number: GPIO13 inverted: true - platform: esp8266_pwm id: red_led2 pin: number: GPIO2 inverted: true switch: - platform: gpio pin: GPIO14 id: relay1 name: ${friendly_name}_Relay_1 on_turn_on: - output.turn_on: red_led1 on_turn_off: - output.turn_off: red_led1 - platform: gpio pin: GPIO16 id: relay2 name: ${friendly_name}_Relay_2 on_turn_on: - output.turn_on: red_led2 on_turn_off: - output.turn_off: red_led2
-
@dutchman @klassisch @e-s
Danke für eure Antworten. Die Doppelte "D7" war noch von meinen unzähligen Versuchen versehentlich drin...haben aber komischerweise nicht gestört.
Die Fehlermeldungen kamen scheinbar nur durch ein falsches "Einrücken" in der Formatierung (Leerzeichen).switch: - platform: gpio name: "Relay" id: relay pin: D7 binary_sensor: - platform: gpio name: "Touch" pin: D8 id: button_switch on_press: then: - switch.toggle: relay
Jetzt teste ich mal weiter wie ich den Status des Relays abfrage und gezielt ein und ausschalte.
Denke, das ich die nächsten Probleme bekomme wenn ich jetzt ein LED-Display an den I2c h#nge und versuche einige Werte anzuzeigen. Bei ESPRasy war das noch kein Problem. Ich denke, wenn man sich einmal in die Materie reingedacht hat ist ESPHome schon nee feine Sache.