[Modul] Panasonic Comfort Cloud

Panasonic Comfort Cloud
Es gibt nun ein Modul zum Steuern von Klimageräten, die in der Panasonic Comfort Cloud registriert sind

  1. Voraussetzungen
  • mindestens IP-Symcon 6.0
  • Account in der Panasonic Comfort Cloud
  1. Enthaltene Module
    PanasonicCloudIO, PanasonicCloudConfig, PanasonicCloudDevice

  2. Installation
    Über den Module Store!
    Zur Zeit noch Beta, also direkt nach Panasonic ComfortCloud suchen.

  3. Dokumentation
    IPSymconPanasonicComfortCloud

Getestet mit zwei Klimageräten (CS-TZ25WKEW bzw CS-TZ35WKEW).
Bei Bedarf meldet euch bei mir…

1 „Gefällt mir“

Habe seit gestern eine Z35XKEW und dein Modul probiert. Es funktioniert gut, was mir aufgefallen ist, bei „letzte Änderung“ habe ich „11.05.54488“ stehen und bei Luftstromrichtungswechsel wähle ich vertikal und horizontal aus, jedoch speichert er es nicht. Hast du eine Idee?

Liebe Grüße Sebastian

Bzl. „letzte Änderung“: ja sehe ich gerade auch bei mir, wobei das bei mir ein Daten ist in 2053. Ich habe da einfach ein Feld „timestamp“ aus dem Datensatz genommen. Schaue ich mir nachher an.
Bzl. des Bewegungsmodus: das war irgendwie tricky …

  1. welche Modulversion hast du (Instanz-Konfiguration → Information)?
  2. kannst du bei dem Klimagerät denn beide Richtungen einstellen? ich kann bei mir TZ…XKEW) den Luftstrom nur auf/ab ändern, links/rechts ist fix

Nachtrag: zu dem Zeitstempel habe ich was gefunden - der gelieferte Wert ist in Millisekunden. Korrektur ist im Modulstore/Beta

Ich kann per Fernbedienung und per Panasonic Cloud App beide Richtungen einstellen

Was mir noch aufgefallen ist, manchmal ist die Außentemp und die Innentemp vertauscht. Oder der Wert kommt so an

Danke schon mal für die schnelle Reaktion!

Ok, das mit dem Zeitstempel solle dann ja mit der 1.4 (Modulstore/Beta) erledigt sein.

Zu den weiteren Punkte - da brauche ich einen Debuglog von dem Device-instanz, bitte ausreichend groß („Limitierung“ deutlich anheben und per Mail an demel42@web.de)
Und das Information, um das zu identifizieren, den Zeitstempel aus dem Log.

Zu dem Schwenken: da ich ja bei meinem nur vertikal schwenken kann, habe ich das nicht testen können in beide Richtungen, daher müssen wir uns dem versuchsweise nähern.
Bitte nochmal genau sagen, was passier/nicht passiert, wenn Du was genau machst?
Und das bitte durchführen, den jew. Zeitstempel aus dem Log (zur Identifizierung) und bitte zwischen den Schritten mal abwarten bis der nächste Datenabruf gelaufen ist - vielleicht gibt es ein Problem bei der Rückmeldung bzw meiner Interpretation

Für die Temperatur dito, bitte - wenn es auftritt - auch ein Debug mit den Angabe, wie es denn korrekt wäre.

Aber unbedingt auf die Limitierung der Ausgabe denken - der Debug ist schneller weg, als man denkt …

Der Zeitstempel funktioniert nun, prima.

Also wenn man bei den Einstellungen die Option „vertikal und horizontal“ setzt, die Änderungen übernimmt, kommt Änderungen übernommen und in den Einstellungen steht weiterhin „nur vertikal“. Bei Debug steht:

Ich lasse nun mal ein Debug laufen und die Temperaturen loggen und schicke dann bei Gelegenheit was.

Mir ist noch eine (Kleinigkeit) aufgefallen. Wenn ich per FB oder Handy die Temperaturen auf .5 Temps einstelle, zeigt er es mir in dem Modul an, ich kann aber vom Modul keine .5 Temperaturen setzen (steht kurz .5 in der Variable und wird sofort ohne .5 überschrieben. Vermutlich ein INT/FLOAT Problem?)

Edit:

Zeile 513 / PanasonicCloudDevice:

case ‚TargetTemperature‘:
$r = $this->SetTargetTemperature((int) $value);
break;

Wenn man dort das int > float macht, funktioniert es.

Zu dem Horizont/vertikal: aus dem Snap kann ich nichts erkennen, da brauch ich wie geschrieben einen Test mit dem passende Debug.

Bzgl. Temperatur-Einstellung: ja danke, das ist falsch; gefixed (als 1.4.1 mit Modulstore/Beta)

Bei dem neusten Update funktioniert nun horizontal/vertikal. Allerdings wäre eine getrennte Bedienung der beiden Einstellungen super. Aktuell kann man nur eine verändern/einstellen.

Momentan bekomme ich keine Verbindung, es kommt immer die Meldung „ungültige Anmeldedaten“ Habe auch mal alles entfernt und neu gemacht. Im Debug kommt:

15.07.2022, 14:07:04 |       GetAccessToken | no saved access_token
15.07.2022, 14:07:04 |       do_HttpRequest | http-post, url=https://accsmart.panasonic.com/auth/login/
15.07.2022, 14:07:04 |       do_HttpRequest | ... header=Array<LF>(<LF>    [0] => Accept: application/json<LF>    [1] => Content-Type: application/json<LF>    [2] => User-Agent: G-RAC<LF>    [3] => X-APP-TYPE: 1<LF>    [4] => X-APP-VERSION: 1.20.0<LF>)<LF>
15.07.2022, 14:07:04 |       do_HttpRequest | ... postfields=Array<LF>(<LF>    [language] => 0<LF>    [loginId] => XXX<LF>    [password] => XXX<LF>)<LF>
15.07.2022, 14:07:05 |       do_HttpRequest |  => errno=0, httpcode=403, duration=1,04s
15.07.2022, 14:07:05 |       do_HttpRequest |     statuscode=210, err=got http-code 403 (forbidden)
15.07.2022, 14:07:49 |          CheckUpdate | equal version (old=1.4.2 (12.07.2022 17:48:40), new=1.4.2 (12.07.2022 17:48:40))
15.07.2022, 14:07:49 |       MaintainStatus | change status to 102(Instance is active)
15.07.2022, 14:07:49 |         InstanceInfo | module=PanasonicCloudIO, version=1.4.2, date=12.07.2022 17:48:40, source=ModuleStore/Beta

Das Passwort wurde natürlich nicht verändert und in der App geht alles noch.

Edit: Gerade dein Update gesehen und getestet, geht wieder :slightly_smiling_face:

Da ich das ja nicht simulieren kann, wäre es ganz hilfreich, wenn du mal mit der Panasonic-App Äderungen machst und aufzeichnets, das im Debug drin steht.
Natürlich Änderung nach Änderung (1. nur hor., 2. nur vert. 3. beides) und jeweils den nächsten Datenabruf abwarten. Bite die Zeitpunkt und genau angeben, was du geändert hast. Dann kann ich versuchen daraus zu erraten, was die API erwartet.
Debug wieder per Mail

Moin Zusammen,

ich scheine wieder auf den Kopf gefallen zu sein, oder es ist zu warm und die Klima hat mir den Gehirnzellen eingefroren.
Ich habe vor 2 Tagen meine neue Klimaanlage bekomme, über APP alles erreichbar und habe nun heute das Panasonic Modul in IPS eingebunden, bekomme aber keine Anmeldung zur Comfort Cloud hin.

Ich habe keine Ahnung wo ich den Hostnamen oder IP des WebControl eintragen soll. Was soll das WebControl sein?
Zugangsdaten alles kein Ding, aber er findet die Comfort Cloud ja nicht.

„In IP-Symcon nun unterhalb von I/O Instanzen die Funktion Instanz hinzufügen auswählen und als Hersteller Panasonic angeben. In der IO-Instanz muss nur der Hostname/die IP-Adresse des WebControl angegeben werden. Mittels Zugriff prüfen kann getestet werden (Hinweis: dauert ein paar Sekunden)“

Kurzer Screenshot würde mir wahrscheinlich schon reichen.

Schon mal herzlichen Dank im Voraus.
Björn

Oha, das ist ein Fehler im README, das stammt aus einem anderen Modul (copy & paste)
Also einfach die Anmeldedaten zur PanasonicCloud (Benutzerkennung und Passwort, also die gleichen Angaben wie in der Panasonic-App) eingeben

Ich habe das README korrigiert und im Modulstore/beta eingestellt (Version 1.7.4)
Sollte so oder so auf jeden Fall im Modulstore das Modul auf Beta wechseln, da ggü. der stable ein paar Anpassungen gelaufen sind.

Wenn die Zugangsdaten in der IO-Instanz eigegeben wurde, sollte die Aktion „Zugang testen“ auch funktionieren. Wenn nicht, bitte Debug Aufnahmen, Limitierung (der Zeilen im Debug) erhöhen und nochmal versuchen.
Da steht aber auch im Screenshot was von „Authorisierung fehlerhaft“, das deutet darauf hin, das in den Anmeldedaten was nicht funktioniert. Ich kann nicht zu mindestens nicht erinnern, das man bei der Anlage der Daten in der PanasonicCloud noch was machen musste.

Hi demel42,

danke für die prompte Antwort!

Also Benutzer und Passwort sind korrekt und wurden korrekt übergeben. Habe auch gerade den Alexa Skill eingerichtet, von daher ist das PW definitiv OK. Über einen Browser kann ich es nicht testen, da kommt bei der URL auch ein „403 Forbidden“ wie im Debug Log.

Vielleicht sagt dir das Debug Log etwas.

Ein Sonderzeichen im PW ist ein !
Dürfte dem Code ja nichts anhaben, oder?

Guß
Björn

Ich sehe am Output, das du nicht die aktuelle Modulversion im Einsatz hast, daher lehnt die PanasonicCloud das Login ab.
Stell das bitte auf „beta“ um (im Modulstore, auf der Modulseite, ganz unter unter „Weitere Optionen“), dann sollte es funktionieren.

Und nein, ein Sonderzeichen sollte nix machen, ich habe zwar kein „!“ aber andere „Sonderzeichen“ im Passwort.

welche Version du installiert hast kannst du bei meinen Module auf der Instanz-Konfigurationsseite sehen unter dem Panel „Information“

Passt und läuft!

Herzlichen Dank!

Dachte ich bekomme alle Betas angezeigt, weil ich noch die ein oder andere Beta im Betrieb habe…

Wieder was gelernt.

Dann habe ich nun was zum Spielen.

Schönes WE!

gerne.
nzi - welches Klimaanlagen-Modell hast du?

Die Innengeräte sind folgende:
image

Außengerät

CU-4Z80TBE

1 „Gefällt mir“

Hallo!
Tolles Modul, funktionierte bei unseren -XKEW Anlagen sofort.
Eine Frage habe ich zu dem Nanoex-Modus. Weiß jemand was der „Modus G“ ist? Einstellen kann ich den nicht, die Selektion springt dann immer auf Aus zurück.

Philip

nein, keine Ahnung. ich habe das so in den diversen Implementierungen gesehen und nirgendwo im Internet eine wirklich Erklärung gefunden,

Danke für die flotte Antwort.
Eine Sache ist mir noch aufgefallen. Der Modus Lüften kann nicht eingestellt werden um zB nur nanoex einzuschalten ohne Klimatisierung. Mit der App geht das und wird auch korrekt von deinem Modul erkannt bei neuen Status-Abfragen.
Beim einstellen mit deinem Modul kommt im Debug diese Meldung:

SetOperateMode | mode 4(Lüften) is not allowed on this device/in this context

In den Options ist auch keine 1 beim FanMode:

UpdateStatus | options=Array( [autoMode] => 1 [coolMode] => 1 [dryMode] => 1 [fanMode] => [heatMode] => 1 [powerfulMode] => 1 [quietMode] => 1 [nanoe] => 1 [airSwingLR] => 1 [autoSwingUD] => 1 [fanDirectionMode] => [fanSpeedMode] => [nanoeStandAlone] => 1)

Wenn ich in deinem Modul in der Methode SetOperateMode den Check auf die gültigen Modi auskommentiere, dann frisst Panasonic den Befehl und stellt brav den Nanoex-Only-Modus ein.
Vielleicht diesen Modus einfach immer erlauben, wenn die Property with_nanoe aktiviert wurde oder in den Options nanoeStandAlone=1 kommt?

Viele Grüße
Philip

So ganz ist mir der Ablauf noch nicht klar: bei aktivieren von NanoeX (via Variable NanoeMode) wird doch nur SetNanoeMode() aufgerufen. Wie kommt da das Lüften ins Spiel?

Diese „Options“ kommen ja aus den empfangenen Daten und sind nach meinem Verständnis (ist ja alles ein Reverse Engineering) dafür da, zu sagen, was das Gerät gerade machen könnte.

Ändert sich der Wert von fanMode bei dem nächsten Datenempfang?

Was wäre, wenn Du eine Änderung in SetNanoeMode() anbringst (ich versehe das so, das die die Source nicht fremd sind?)

 $parameters = [
            'nanoe' => $value,
        ];

ersetzen durch

 $parameters = [
            'nanoe' => $value,
            'operationMode' => 'fanMode',
        ];