NEWS
[ESPHome] Beta release
-
@a200 sagte in [ESPHome] Beta release:
@dutchman Es wäre sehr praktisch. Bis dahin ist eine Reinstallation des Adapters die Lösung. Es wäre gut, wenn du eine Versionsprüfung einbauen könntest. Vielleicht im Footer. Ansonsten bin ich von deinem Adapter begeistert.
im Layout vom dashboard kan ich leider nix hinzufügen/ändern das kommt 1:1 aus dem ESPHome python dashboard Process.
Wohl könnte ich schaue ob es möglich ist eine log Meldung aus zu geben oder in der Instanz config wen eine neue version verfügbar ist -
Bei mir steigt die Installation an der Stelle aus:
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
Dazu hab ich aber schon ein github Issue eröffnet.
Was mich aber vorab interessieren würde: Kann ich mit dem Adapter einen Servo steuern? https://esphome.io/components/servo.html
-
@maxpd sagte in [ESPHome] Beta release:
Bei mir steigt die Installation an der Stelle aus:
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
Dazu hab ich aber schon ein github Issue eröffnet.
Was mich aber vorab interessieren würde: Kann ich mit dem Adapter einen Servo steuern? https://esphome.io/components/servo.html
Hab das issue gesehen konnte es mir nur noch nicht erklären da knallt was bei den Abhängigkeiten
Servo habe ich noch nie probiert eventuell kleine Änderung/Ergänzung nötig im code
-
-
@a200 sagte in [ESPHome] Beta release:
Kommen die states den over den Adapter in ioBroker rein ? Für type Servo hatte ich noch nichts spezifisches programmiert
-
@dutchman Sorry. Da waren die Finger schneller als der Kopf. In meinem Fall habe ich den NODEMCU über Iobroker-Esphome nur programmiert und nur über Buttons auf der Website gesteuert. Nicht direkt vom IoBroker aus. Sorry für die Verwirrung.
Es werden keinen Stats geschrieben!servo: - id: my_servo output: pwm_output output: - platform: esp8266_pwm id: pwm_output pin: D1 frequency: 50 Hz
-
@a200 sagte in [ESPHome] Beta release:
Es werden keinen Stats geschrieben!
dan kommt da aber bestimmt was im. log was man an den developer schicken soll
-
@dutchman - schaue mal, dass ich dir was zusammenstelle. Danke!
-
@a200
Du musst irgendetwas mit name= hinzufügen bevor überhaupt etwas im webif oder an den Adapter übergeben wird.
Ein switch oder sowas in der Art müsste als input dazu. -
@e-s hier komplett:
damit werden entsprechende Buttons von -100 bis 100 und STOP über die Web-GUI verfügbar.web_server: port: 80 button: - platform: template name: "0" on_press: - servo.write: id: my_servo level: 0.0% - platform: template name: "10" on_press: - servo.write: id: my_servo level: 10% - platform: template name: "20" on_press: - servo.write: id: my_servo level: 20% - platform: template name: "30" on_press: - servo.write: id: my_servo level: 30% - platform: template name: "40" on_press: - servo.write: id: my_servo level: 40% - platform: template name: "50" on_press: - servo.write: id: my_servo level: 50% - platform: template name: "60" on_press: - servo.write: id: my_servo level: 60% - platform: template name: "70" on_press: - servo.write: id: my_servo level: 70% - platform: template name: "80" on_press: - servo.write: id: my_servo level: 80% - platform: template name: "90" on_press: - servo.write: id: my_servo level: 90% - platform: template name: "100" on_press: - servo.write: id: my_servo level: 100% - platform: template name: "-10" on_press: - servo.write: id: my_servo level: -10% - platform: template name: "-20" on_press: - servo.write: id: my_servo level: -20% - platform: template name: "-30" on_press: - servo.write: id: my_servo level: -30% - platform: template name: "-40" on_press: - servo.write: id: my_servo level: -40% - platform: template name: "-50" on_press: - servo.write: id: my_servo level: -50% - platform: template name: "-60" on_press: - servo.write: id: my_servo level: -60% - platform: template name: "-70" on_press: - servo.write: id: my_servo level: -70% - platform: template name: "-80" on_press: - servo.write: id: my_servo level: -80% - platform: template name: "-90" on_press: - servo.write: id: my_servo level: -90% - platform: template name: "-100" on_press: - servo.write: id: my_servo level: -100% - platform: template name: "Stop" on_press: - servo.detach: my_servo servo: - id: my_servo output: pwm_output output: - platform: esp8266_pwm id: pwm_output pin: D1 frequency: 50 Hz
-
@a200 said in [ESPHome] Beta release:
entsprechende Buttons von -100 bis 100
wahrscheinlich eignet sich hier ein select template besser anstelle der 20 buttons
-
@opensourcenomad wie sähe es aus, wenn man den servo 1 minute (36000 Grad) am stück laufen lassen möchte und anschließend zurück? Ich denke über die Zeit gesteuert ist das besser als über die Anzahl der Grad?
-
@maxpd said in [ESPHome] Beta release:
wenn man den servo 1 minute (36000 Grad) am stück laufen lassen möchte und anschließend zurück?
Das ist mit Sicherheit was für eine automation , welche wiederum durch einen template button gestartet werden kann wenn gewünscht
-
@opensourcenomad puhh, crazy, viel zu lernen, merci
-
-
Ich hab meinen Servo, der bisher nur die Level Variable hat eingebunden.
Das ist das esp script:
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
Das ist das Debug Log hierzu.
esphome.0 2022-03-17 15:42:40.693 debug Create_state called for : C45BBEDDA7E1.info._online with value : true esphome.0 2022-03-17 15:42:40.661 debug MODIFY to hasDeepSleep: "" esphome.0 2022-03-17 15:42:40.660 debug Create_state called for : C45BBEDDA7E1.info.hasDeepSleep with value : false esphome.0 2022-03-17 15:42:40.660 debug create id C45BBEDDA7E1.info.hasDeepSleep with value false and name hasDeepSleep esphome.0 2022-03-17 15:42:40.598 debug MODIFY to model: "" esphome.0 2022-03-17 15:42:40.597 debug Create_state called for : C45BBEDDA7E1.info.model with value : d1_mini esphome.0 2022-03-17 15:42:40.597 debug create id C45BBEDDA7E1.info.model with value d1_mini and name model esphome.0 2022-03-17 15:42:40.573 debug MODIFY to compilationTime: "" esphome.0 2022-03-17 15:42:40.572 debug Create_state called for : C45BBEDDA7E1.info.compilationTime with value : Mar 17 2022, 15:38:01 esphome.0 2022-03-17 15:42:40.572 debug create id C45BBEDDA7E1.info.compilationTime with value Mar 17 2022, 15:38:01 and name compilationTime esphome.0 2022-03-17 15:42:40.551 debug MODIFY to esphomeVersion: "" esphome.0 2022-03-17 15:42:40.551 debug Create_state called for : C45BBEDDA7E1.info.esphomeVersion with value : 2022.3.0 esphome.0 2022-03-17 15:42:40.550 debug create id C45BBEDDA7E1.info.esphomeVersion with value 2022.3.0 and name esphomeVersion esphome.0 2022-03-17 15:42:40.475 info ESPHome client little_wemos on ip 192.168.178.53 initialized esphome.0 2022-03-17 15:42:40.474 debug 192.168.178.53 client log ListEntitiesDoneResponse esphome.0 2022-03-17 15:42:40.472 debug 192.168.178.53 client data esphome.0 2022-03-17 15:42:40.460 debug MODIFY to macAddress: "" esphome.0 2022-03-17 15:42:40.459 debug Create_state called for : C45BBEDDA7E1.info.macAddress with value : C4:5B:BE:DD:A7:E1 esphome.0 2022-03-17 15:42:40.459 debug create id C45BBEDDA7E1.info.macAddress with value C4:5B:BE:DD:A7:E1 and name macAddress esphome.0 2022-03-17 15:42:40.436 debug MODIFY to name: "" esphome.0 2022-03-17 15:42:40.435 debug Create_state called for : C45BBEDDA7E1.info.name with value : little_wemos esphome.0 2022-03-17 15:42:40.434 debug create id C45BBEDDA7E1.info.name with value little_wemos and name name esphome.0 2022-03-17 15:42:40.430 debug 192.168.178.53 client log ListEntitiesServicesResponse esphome.0 2022-03-17 15:42:40.426 debug 192.168.178.53 client data ) control_servo>�S� level esphome.0 2022-03-17 15:42:40.406 debug MODIFY to usesPassword: "" esphome.0 2022-03-17 15:42:40.405 debug Create_state called for : C45BBEDDA7E1.info.usesPassword with value : false esphome.0 2022-03-17 15:42:40.404 debug create id C45BBEDDA7E1.info.usesPassword with value false and name usesPassword esphome.0 2022-03-17 15:42:40.384 debug 192.168.178.53 client log DeviceInfoResponse esphome.0 2022-03-17 15:42:40.380 debug DeviceInfo little_wemos: {"192.168.178.53":{"ip":"192.168.178.53","mac":"C4:5B:BE:DD:A7:E1","deviceInfo":{"usesPassword":false,"name":"little_wemos","macAddress":"C4:5B:BE:DD:A7:E1","esphomeVersion":"2022.3.0","compilationTime":"Mar 17 2022, 15:38:01","model":"d1_mini","hasDeepSleep":false},"deviceName":"C45BBEDDA7E1","deviceInfoName":"little_wemos","passWord":""}} esphome.0 2022-03-17 15:42:40.378 debug DeviceData: {"usesPassword":false,"name":"little_wemos","macAddress":"C4:5B:BE:DD:A7:E1","esphomeVersion":"2022.3.0","compilationTime":"Mar 17 2022, 15:38:01","model":"d1_mini","hasDeepSleep":false} esphome.0 2022-03-17 15:42:40.378 info ESPHome Device info received for little_wemos esphome.0 2022-03-17 15:42:40.375 debug 192.168.178.53 client data Klittle_wemosC4:5B:BE:DD:A7:E1"2022.3.0*Mar 17 2022, 15:38:012d1_mini esphome.0 2022-03-17 15:42:40.359 info ESPHome client 192.168.178.53 connected esphome.0 2022-03-17 15:42:40.358 debug 192.168.178.53 client log ConnectResponse esphome.0 2022-03-17 15:42:40.356 debug 192.168.178.53 client data esphome.0 2022-03-17 15:42:40.341 debug 192.168.178.53 client log HelloResponse esphome.0 2022-03-17 15:42:40.337 debug 192.168.178.53 client data 4 little_wemos (esphome v2022.3.0)"little_wemos esphome.0 2022-03-17 15:42:40.323 debug 192.168.178.53 client log PingResponse esphome.0 2022-03-17 15:42:40.320 debug 192.168.178.53 client data esphome.0 2022-03-17 15:42:40.286 debug espHomeDashboard_Process {"_events":{},"_eventsCount":0,"_maxListeners":100,"_closesNeeded":3,"_closesGot":0,"connected":false,"signalCode":null,"exitCode":null,"killed":false,"spawnfile":"npm","_handle":{"pid":16308},"spawnargs":["npm","run","-s","nopy","/opt/iobroker/node_modules/iobroker.esphome/python_modules/bin/esphome","dashboard","/opt/iobroker/iobroker-data/esphome.0"],"pid":16308,"stdin":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"dataEmitted":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":1,"_maxListeners":100,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdout":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"dataEmitted":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":2,"_maxListeners":100,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stderr":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"dataEmitted":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":2,"_maxListeners":100,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdio":[{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"dataEmitted":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":1,"_maxListeners":100,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"dataEmitted":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":2,"_maxListeners":100,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"dataEmitted":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":2,"_maxListeners":100,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null}]} esphome.0 2022-03-17 15:42:40.272 info Native Integration of ESPHome Dashboard enabled esphome.0 2022-03-17 15:42:40.268 info Auto Discovery startet, new devices (or IP changes) will be detected automatically
-
@opensourcenomad hast du das schon umgesetzt? Das letzte Update des Adapters liegt noch vor 12.2021.
Home Assistant Core 2021.12 or higher is required for ESPHome button entities to work.
Und kommt das Template nicht in die configuration.yaml oder template.yaml im Home Assistant? Aber die gibt es im iobroker esphome Adapter nicht. Habe die Ordnerstruktur durchwühlt.
-
@maxpd said in [ESPHome] Beta release:
Das letzte Update des Adapters liegt noch vor 12.2021.
Du kannst lokal die aktuellste Version (2022.03) mittels pip oder docker installieren.
Home Assistant Core 2021.12 or higher is required for ESPHome button entities to work.
Allerdings wird dir das in diesem Fall wohl nicht weiterhelfen weil esphome für die buttons vom iobroker eine neuere Version verlangt.
Und kommt das Template nicht in die configuration.yaml oder template.yaml im Home Assistant?
Nein.
-
einfach unter "Adapter -> eine bestimmte Version" die aktuelle Version 0.2.4 nochmal installieren. Dabei zieht er sich die aktuelle ESPhome-Version 2022.03
-
@steimi Ja, lokal habe ich die 2022.03 im ESP.
Hatte nur die Änderungsdaten der Files im ESPHome Adapter geprüft und die waren alle älter.
also genau das was @OpenSourceNomad bestätigt hat.