NEWS
ESPHome: Reinstallation aber wie?
-
@thomas-braun ,
verdammt aus diesem Grund hatte ich vor ein paar Monaten ESPHome aufgegeben.
Und jetzt kommst du und holst mich auf den Boden der Tatsachen zurück, danke Thomas.Edit: @thomas-braun, habs gefunden wir hatten schon einmal ....
-
@dieter_p,
hatten im August letzten Jahres schon mal einen ESPHome Thread.
Meine Erkenntnis damals war, das bei einer Neuinstallation von ioBroker auf einem frischen 64Bit System ESPHome funktioniert, aber nicht mit meiner von Stretch auf Bullseye hochgezogenen Installation.
Siehe hier. -
@wal
Das System aus dem Issue ist von bullseye auf bookworm gehoben worden. Ich denke aber, das wird auf einer frischen Debian-Installation nicht anders aussehen. -
@wal Danke. Klingt für mich sehr ähnlich. Mein Ursprung kommt von einem 32-Bit Buster und ob das Kompilieren jemals danach auf Bullseye 32 oder 64 Bit funktioniert hat möchte ich fast bezweifeln, da ich nur einen ESP32 mit ESPHome nutze wo es nicht anders geht.
Wenn ich da aber irgendwas wie log files etc zur Verfügung stellen kann und sei es nur um einem Workaround zu schaffen, sag gerne Bescheid
-
@dieter_p ,
habe eben auf meinem Test ioBroker Debian 64bit den ESPHome-Adapter installiert und eine ESP32 Firmware ohne Probleme übersetzt.
Es muss kein ESPHome extra installiert werden, ich denke bei dir gibt es das oben genannte Problem. -
auf meinem Test ioBroker Debian 64bit den ESPHome-Adapter installiert
Mit welchen Versionen? Auf meinen 64 Raspberry OS 'Bookworm / Debian 12 mit
Python 3.11.2
nodejs v19.8.1
bekomme ich den Adapter nicht installiert, weil2321 verbose stack Error: command failed 2321 verbose stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:53:27) 2321 verbose stack at ChildProcess.emit (node:events:512:28) 2321 verbose stack at maybeClose (node:internal/child_process:1098:16) 2321 verbose stack at ChildProcess._handle.onexit (node:internal/child_process:304:5) 2322 verbose pkgid iobroker.esphome@0.2.4 2323 verbose cwd /home/iobroker/.npm/_cacache/tmp/git-cloneCYLSE9 2324 verbose Linux 6.1.19-v8+ 2325 verbose node v19.8.1 2326 verbose npm v9.5.1 2327 error code 1 2328 error path /home/iobroker/.npm/_cacache/tmp/git-cloneCYLSE9 2329 error command failed 2330 error command sh -c npip install 2331 verbose exit 1
-
iobroker@iobroker:~$ python3 --version Python 3.9.2 iobroker@iobroker:~$ node -v v18.15.0 iobroker@iobroker:~$ npm -v 9.5.0 iobroker@iobroker:~$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye
-
@thomas-braun ,
das ist genau der Fehler den ich auf einem hochgezogenen Debian hatte. -
@wal
Ja, das System ist vonstable - Bullseye
auftesting - Bookworm
gehoben worden. -
@wal said in ESPHome: Reinstallation aber wie?:
iobroker@iobroker:~$ python3 --version Python 3.9.2 iobroker@iobroker:~$ node -v v18.15.0 iobroker@iobroker:~$ npm -v 9.5.0 iobroker@iobroker:~$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye
bei mir identisch und ergänzent auch mit einer aktuellsten nodejs 16er version.
Neuinstallation kein Problem. Sobald ich das Restore einspiele was intitial mit 32-Bit Buster in Berührung war fangen die Probleme an.
Würde es helfen über den Austausch der Backitup Datei iobroker (nicht influxdb, javascript etc.) nachzudenken? Hilft das was?
-
@dieter_p ,
es wird dir nichts anderes übrig bleiben das zu testen. -
@wal said in ESPHome: Reinstallation aber wie?:
@dieter_p ,
es wird dir nichts anderes übrig bleiben das zu testen.Ich stehe auf dem Schlauch? Was meinst Du?
Ich meine die Datei Euch zu geben, damit ihr besser sehen könnt warum ausgerechnet da genau das Problem auftritt. Stecken natürlich einigen Infos in der Datei....
-
@dieter_p ,
ich dachte nur das Einspielen des Backups vom ESPHome-Adapter den Rest erst mal auf neu belassen.
Nicht das ganze Backup einspielen, wenn das geht. -
@wal said in ESPHome: Reinstallation aber wie?:
@dieter_p ,
ich dachte nur das Einspielen des Backups vom ESPHome-Adapter den Rest erst mal auf neu belassen.
Nicht das ganze Backup einspielen, wenn das geht.Oh daran wäre ich sehr interessiert. Wenn ich genau diese Logik umdrehe also alles außer ESPHome mit einem Restore zurück spielen, dann hätte ich nach meiner Logik einen Ist-Zustand der eine voll funktionierende Installation mit einer Neuinstallation von ESPHome ermöglicht. Das wäre ein Workaround der mir gefällt.
Andersherum, gib mir mir bitte einen Tip wie das geht und ich bin dabei
Edit: Vermutungsweise:
Man nehme eine frische Installation, mache ein komplett Restore, Lösche alle Infos außer ESPHome, prüfe die Fehlfunktion von ESPHome, mache ein Backup und gebe es Euch? So korreckt? -
Scheint eine recht aktuelle Änderung zu sein:
https://github.com/python/cpython/issues/102134
Ich weiß jetzt nur nicht, wie man im node-tree so ein venv anlegen könnte.
So freihändig bekomme ich ja esphome installiert, nur im node/iobroker-Kontext fällt die Installation auf die Nase. -
@thomas-braun sagte in ESPHome: Reinstallation aber wie?:
So freihändig bekomme ich ja esphome installiert, nur im node/iobroker-Kontext fällt die Installation auf die Nase.
Damit wäre in etwa so arbeitsfähig wie ich. Unelegant aber pragmatisch funktional: ESPHome auf dem normalen Office Rechner installieren und dort übersetzen und ESPs flashen. MQTT im yaml als Interface einstellen und erst mal auf den ioBroker ESPHome Adapter verzichten.
Die Daten kommen dann im MQTT Adapter raus und sehen etwa so aus (Ausschnitt aus einem Sensor mit etlichen DS18B20, SHT35 und einigen Berechnungen wie z.B. Wandfeuchte.
-
@thomas-braun ,
werde heute Nacht noch mal mit Debian 12 testen.@Dieter_P,
es könnte das Problem sein das Backitup den Ordner iobroker-data sichert.
Darin gibt es den Unterordner esphome.0 und wenn dort Tools in Stretch erstellt wurden, werden die in Bullseye nicht mehr funktionieren. In dem Order müssten auch deine yaml Dateien liegen die du sichern könntest.
Mach doch ein Image von deinem funktionierendem Stretch System, danach deinstallierst du den ESPHome-Adapter und machst mit Backitup ein Backup. Das spielst du in deine virtuelle Maschine ein. -
@wal sagte in ESPHome: Reinstallation aber wie?:
werde heute Nacht noch mal mit Debian 12 testen.
Hab es jetzt installiert bekommen. Man muss die Sperrdatei
EXTERNALLY-MANAGED
kurz beiseite räumen:sudo mv /usr/lib/python3.11/EXTERNALLY-MANAGED ~ iobroker add esphome --debug sudo mv ~/EXTERNALLY-MANAGED /usr/lib/python3.11/
Ob das danach noch weiter funktioniert kann ich aber mangels Verwendung für esphome nicht testen. Das ist wohl vor wenigen Wochen bei einigen Distributionen eingeführt worden, weil es möglich war per ''pip install'' das System zu crashen, wenn da python code systemweit reingebügelt wurde.
Insbesondere wenn das dann auch noch als root oder per sudo gemacht wurde. -
@thomas-braun ,
der Workaround geht bei mir nicht:iobroker@testbroker:/opt/iobroker$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm iobroker@testbroker:/opt/iobroker$ sudo mv /usr/lib/python3.11/EXTERNALLY-MANAGED ~ iobroker@testbroker:/opt/iobroker$ iobroker add esphome --debug NPM version: 9.5.0 Installing iobroker.esphome@0.2.4... (System call) npm ERR! code 127 npm ERR! path /opt/iobroker/node_modules/iobroker.esphome npm ERR! command failed npm ERR! command sh -c npip install npm ERR! sh: 1: npip: Permission denied npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2023-03-25T22_21_18_492Z-debug-0.log host.testbroker Cannot install iobroker.esphome@0.2.4: 127 iobroker@testbroker:/opt/iobroker$
von Bullseye auf bookworm hochgezogen.
-
@wal sagte in ESPHome: Reinstallation aber wie?:
npm ERR! sh: 1: npip: Permission denied
Bei mir waren die Links broken.
Schau mal wo der hingeht:echad@chet:~ $ ls -la /opt/iobroker/node_modules/.bin/npip lrwxrwxrwx 1 iobroker iobroker 19 Mar 25 10:23 /opt/iobroker/node_modules/.bin/npip -> ../nopy/src/npip.js echad@chet:~ $ ls -la /opt/iobroker/node_modules/nopy/src/ total 2656 drwxrwxr-x+ 3 iobroker iobroker 4096 Mar 25 14:37 . drwxrwxr-x+ 4 iobroker iobroker 4096 Mar 25 14:37 .. -rwxrwxr-x+ 1 iobroker iobroker 7536 Mar 25 14:37 api.js -rwxrwxr-x+ 1 iobroker iobroker 2680354 Mar 25 14:37 get-pip.py -rwxrwxr-x+ 1 iobroker iobroker 530 Mar 25 14:37 nopenv.js -rwxrwxr-x+ 1 iobroker iobroker 397 Mar 25 14:37 nopy.js -rwxrwxr-x+ 1 iobroker iobroker 3091 Mar 25 14:37 npip.js drwxrwxr-x+ 2 iobroker iobroker 4096 Mar 25 14:37 test -rwxrwxr-x+ 1 iobroker iobroker 822 Mar 25 14:37 utils.js
Ich musste npip.js nopy.js nopenv.js noch ausführbar machen.