ioBroker / AdapterRequests

This Place is used to track the status of new Adapter-Requests.
248 stars 36 forks source link

Panasonic Comfort Cloud Adapter Klimaanlage #357

Closed Renegade1988 closed 3 years ago

Renegade1988 commented 4 years ago

Hallo, letzten Sommer, haben wir uns eine Klima-Multisplitanlage von Panasonic installieren lassen. Dazu gibt es eine passende App, von der man die einzelnen Innengeräte steuern bzw. auch auslesen kann. (Temperatur, Stromverbrauch, Statistiken, Wochenschaltuhren) Ich weiß nicht wie viele eine Klimaanlage von Panasonic besitzen und wie groß der Aufwand ist, um einen Adapter zu entwickeln, da ich mich mit der Adapterprogrammierung überhaupt nicht auskenne. Vielleicht finden sich genug um einen Adapter zu entwickeln und daran mitzuwirken.

DutchmanNL commented 4 years ago

waehre hilfreich wen es irgendwelche infos zu einer API oder dergleichen geben wuerde

Renegade1988 commented 4 years ago

Hallo auf GitHub hat sich schon mal jemand damit beschäftigt. Hilft euch das weiter? Ich hab die Links mal eingefügt.

https://github.com/lostfields/python-panasonic-comfort-cloud

https://pypi.org/project/pcomfortcloud/

Wäre Cool wenn das was wird.

Hansi1989 commented 4 years ago

Hallo ich bin auch schon seit letzten Jahr auf der Suche. Anscheinend wird daran gearbeit https://github.com/marc2016/ioBroker.panasonic-comfort-cloud

marc2016 commented 4 years ago

Hallo zusammen, ich hatte auch seit letztem Jahr den Bedarf und habe einen Adapter dafür entwickelt. Die Kommunikation mit der Panasonic Comfort Cloud habe ich in diesem Projekt realisiert https://github.com/marc2016/panasonic-comfort-cloud-client und mich dabei an den bisher bekannten Lösungen orientiert. Der Adapter funktioniert bei mir, hat aber sicher noch ein paar Macken. Über Tests, Anregungen und Mitarbeit freue ich mich :-)

NoFakMiha commented 4 years ago

Hi hi danke dir, ich würde den Adapter sehr gern testen aber weiß ich nicht wie man es installieren kann. Muss ich es via Linux terminal installieren und wenn Ja wie kann ich den Adapter in Iobroker verwenden?

chibitz commented 4 years ago

Mir geht es ähnlich... Würde ihn gerne testen, verstehe aber die Installation nicht...

marc2016 commented 4 years ago

Hi, habe die Nachrichten erst jetzt hier gesehen. Man kann den Adapter manuell installieren. image image Und hier dann https://github.com/marc2016/ioBroker.panasonic-comfort-cloud eintragen. Damit kann man es testen. Danke! :-)

Renegade1988 commented 4 years ago

Hallo Marc, ich habe den Adapter gerade mal installiert. Die Klimaanlagen, die ich per App eingerichtet habe, hat der Adapter erkannt und entsprechende Datenpunkte angelegt. Folgende Fragen bzw. Sachen sind mir aufgefallen: -Welche Zeitspanne ist bei Refresh intervall hinterlegt? Standard ist eine 5 eingetragen. Sind das Minuten? -Wenn ich in der App etwas ändere, wird das nicht in den Objekten im IoBroker geändert. Ich hatte zum testen mal die Temp. von 25 Grad auf 24 Grad in der App verstellt. in den Objekten, hat sich nichts verändert. Erst nach neu laden des Adapters haben sich die Werte angepasst. -Umgedreht,scheint die Datenübertragung nicht zu funktionieren. Wenn ich in den Objekten die Temp. ändere, ändert sich in der App nichts. -Kann es sein, dass die Anmeldung des Adapters, die Anmeldung der App killt? Wenn ich den Adapter stoppe und dann neu starte, werde ich in der App ausgeloggt?! mfg

marc2016 commented 3 years ago

Hi, danke erstmal fürs testen :-)

Eine ordentliche Lösung wäre die Anmeldung über OAuth. Diese Möglichkeit scheint es in der Comfort Cloud zu geben (siehe Google Home App). Leider benötigt man dafür weitere Informationen vom Betreiber. Ist aus meiner Sicht leider erstmal nicht machbar.

Bitte versuch es mit dem zweiten Account. Ich bin auch offen für andere Ideen :-)

marc2016 commented 3 years ago

@Apollon77 Wenn Du möchtest, kannst Du bei Gelegenheit das Label dieser Issue auf "InProgress" setzen und auch mir zuweisen :-)

thilen commented 3 years ago

Hi, wäre auch sehr interessiert! Bin aber leider nicht mal in der Lage das Teil zum fliegen zu bringen .. Bin etwas verwirrt was genau benötigt wird (cleint oder nicht client?) ... bekomme immer folgenden Fehler: Error: Cannot find module 'panasonic-comfort-cloud-client'

Wen Client , wie bekomme ich den richtig installiert ?

Wäre für ein Tip sehr dankbar ... merci mfg

marc2016 commented 3 years ago

Hi, das Paket panasonic-comfort-cloud-client ist ein allgemeines NodeJS Paket. Dies wird von dem ioBroker Adapter iobroker.panasonic-comfort-cloud verwendet. Du musst also nur den ioBroker Adapter installieren. Dies funktioniert über die GitHub URL und ist ein paar Kommentare weiter oben beschrieben. https://github.com/ioBroker/AdapterRequests/issues/357#issuecomment-705154912

Falls es nicht funktioniert, melde Dich bitte nochmal.

Viele Grüße Marc

thilen commented 3 years ago

Hi, danke für die schnelle Antwort, ja genau wie in #357 (comment) beschrieben habe ich es installiert. Adapter nach der Konfiguration (User/Passwort) neu gestartet, dann erscheint im Log genanter Fehler. Connect to Host und Heartbeat bleiben auf false im Log looped:

host.alarm2 2020-12-14 18:24:05.648 error instance system.adapter.panasonic-comfort-cloud.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
host.alarm2 2020-12-14 18:24:05.648 error Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:585:3)
host.alarm2 2020-12-14 18:24:05.647 error Caught by controller[0]: at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
host.alarm2 2020-12-14 18:24:05.647 error Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:653:32)
host.alarm2 2020-12-14 18:24:05.646 error Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
host.alarm2 2020-12-14 18:24:05.646 error Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:778:30)
host.alarm2 2020-12-14 18:24:05.645 error Caught by controller[0]: at Object. (/opt/iobroker/node_modules/iobroker.panasonic-comfort-cloud/build/main.js:18:42)
host.alarm2 2020-12-14 18:24:05.645 error Caught by controller[0]: at require (internal/modules/cjs/helpers.js:25:18)
host.alarm2 2020-12-14 18:24:05.644 error Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:692:17)
host.alarm2 2020-12-14 18:24:05.643 error Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:562:25)
host.alarm2 2020-12-14 18:24:05.643 error Caught by controller[0]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
host.alarm2 2020-12-14 18:24:05.642 error Caught by controller[0]: Error: Cannot find module 'panasonic-comfort-cloud-client'
host.alarm2 2020-12-14 18:24:05.641 error Caught by controller[0]: ^
host.alarm2 2020-12-14 18:24:05.641 error Caught by controller[0]: throw err;
host.alarm2 2020-12-14 18:24:05.639 error Caught by controller[0]: internal/modules/cjs/loader.js:638
host.alarm2 2020-12-14 18:24:04.056 info instance system.adapter.panasonic-comfort-cloud.0 started with pid 21263

Auch eine "manuelle" installation von "https://github.com/marc2016/panasonic-comfort-cloud-client" führt nicht zum Erfolg, aber zeigt das panasonic-comfort-cloud-client "irgendwie" ja da ist ..

alarm2:/opt/iobroker# ./iobroker url "https://github.com/marc2016/panasonic-comfort-cloud-client" install --debug install https://github.com/marc2016/panasonic-comfort-cloud-client/tarball/f83669433c6b30e5fe0c3bca79372274509b65b3 NPM version: 6.14.8 npm install https://github.com/marc2016/panasonic-comfort-cloud-client/tarball/f83669433c6b30e5fe0c3bca79372274509b65b3 --loglevel error --prefix "/opt/iobroker" (System call)

45 packages are looking for funding run npm fund for details

host.alarm2 Cannot install https://github.com/marc2016/panasonic-comfort-cloud-client/tarball/f83669433c6b30e5fe0c3bca79372274509b65b3: 0

Danke & Viele Grüße Thilen

marc2016 commented 3 years ago

Hi Thilen,

durch die Installation des Adapters sollte der Client eigentlich direkt dazu installiert werden. Ich habe es gerade in einem frischen NPM Projekt getestet. Bitte lösche nochmal den Adapter und den Client aus dem node_modules Ordner des ioBroker und installiere den Adapter über die Benutzeroberfläche (URL: https://github.com/marc2016/ioBroker.panasonic-comfort-cloud). Danach prüfe bitte, ob es den folgenden Ordner gibt: /opt/iobroker/node_modules/panasonic-comfort-cloud-client

Gibt es diesen nicht, dann ist hier schon etwas schief gelaufen. Eine manuelle Installation sollte danach trotzdem funktionieren. Wichtig ist allerdings, dass Du nicht die Github URL dafür verwendest, sondern das NPM Paket selbst: https://www.npmjs.com/package/panasonic-comfort-cloud-client Folgender Befehl wäre dann der richtige: npm i panasonic-comfort-cloud-client

Unterschied ist, dass im git nicht die gebauten Javascript Dateien vorhanden sind. Diese habe ich nur in das Paket gepackt (das ist der dist Ordner im Paket). Wenn dann oder vorher der Ordner des Client vorhanden ist, dann muss dort auch ein dist Ordner mit Javascript Dateien sein.

Prüf dies bitte einmal und melde Dich gerne nochmal :-)

Viele Grüße Marc

christianpoorboy commented 3 years ago

Hallo Marc,

ich habe eben versucht über diese url: https://github.com/marc2016/panasonic-comfort-cloud-client deinen Panasonic Adapter im ioBroker zu installieren.

Ich wollte den Adapter wie beschrieben manuell installieren mit URL. Leider bekomme ich folgende Fehlermeldung:

Fertig mit Fehler: host.raspberrypi Cannot install https://github.com/marc2016/panasonic-comfort-cloud-client/tarball/f83669433c6b30e5fe0c3bca79372274509b65b3: 0

Die debug-Ausgabe kommt hier:

$ ./iobroker url "https://github.com/marc2016/panasonic-comfort-cloud-client" --debug install https://github.com/marc2016/panasonic-comfort-cloud-client/tarball/f83669433c6b30e5fe0c3bca79372274509b65b3 NPM version: 6.14.10 npm install https://github.com/marc2016/panasonic-comfort-cloud-client/tarball/f83669433c6b30e5fe0c3bca79372274509b65b3 --loglevel error --prefix "/opt/iobroker" (System call)

Kannst du mir da weiterhelfen?

Vielen Dank und Grüße

Christian

marc2016 commented 3 years ago

Hi Christian,

bitte verwende folgende URL dafür: https://github.com/marc2016/ioBroker.panasonic-comfort-cloud Das ist der ioBroker Adapter. Du hast die URL für den Client verwendet. Der Client ist ein NodeJS Paket, welches ich geschrieben habe, damit die Logik für die Ansteuerung der Comfort Cloud von der ioBroker Logik getrennt ist. Ich weiß nicht, ob Du den Client evtl. vorher wieder deinstallieren musst. Das könnte dann nur über die Kommandozeile gehen. Aber versuch es erstmal so.

Bitte probiere es mit der URL nochmal und gib mir dann ein Feedback :-)

Viele Grüße Marc

christianpoorboy commented 3 years ago

Hallo Marc,

hat geklappt, vielen Dank auch für die schnelle Antwort. Benutzername ist meine PanasonicID?

marc2016 commented 3 years ago

Genau, als Benutzernamen gibst Du die PanasonicID ein. Es handelt sich um dieselben Daten wie bei der Comfort Cloud App.

Wichtig zu wissen ist, dass man mit der Methode die ich für die Anmeldung verwende, nur mit einem Client gleichzeitig angemeldet sein kann. Meldest Du den Adapter an, dann wirst Du in der App abgemeldet und umgekehrt. Das ist sehr unschön, ich sehe aber leider gerade keine andere Möglichkeit (weiter oben mehr Details https://github.com/ioBroker/AdapterRequests/issues/357#issuecomment-716794897).

Ich hab das bei mir so gelöst, dass ich einen zweiten Account angelegt und diesem alle Geräte freigegeben habe. Das ist leider sehr umständlich in der App gelöst, aber man muss es nur einmal durchführen und kann dann Adapter und App parallel nutzen.

marc2016 commented 3 years ago

Es gab seit ein paar Tagen das Problem, dass die Verbindung zur Comfort Cloud aufgebaut werden konnte. Fehler ist in der Version 1.1.2 behoben. Mehr Details hier: https://github.com/marc2016/ioBroker.panasonic-comfort-cloud/issues/9

marc2016 commented 3 years ago

Aus meiner Sicht kann die Anfrage hier geschlossen werden. Ich habe den Adapter bereits seit mehreren Monaten erfolgreich im Einsatz und arbeite natürlich immer mal wieder an Verbesserungen. Aus den Rückmeldungen hier entnehme ich, dass er auch von einigen anderen genutzt wird und wir Probleme bisher immer lösen konnten.

Die initiale Entwicklung ist damit abgeschlossen. @Apollon77 Leider kann ich die Anfrage selber nicht schließen. Was meinst Du, wie gehen wir weiter vor?

Viele Grüße Marc

Renegade1988 commented 3 years ago

Ist geschlossen gute Arbeit