Klimaanlage über Panasonic Comfort Cloud

Begonnen von Guybrush, 05 Juli 2022, 14:02:26

Vorheriges Thema - Nächstes Thema

teufelchen

Zitat von: leuschman am 19 Oktober 2022, 09:17:47
Du musst in der Datei "50_PanasonicAC.pm" nach 2 Einträgen "1.15.1" suchen und diese durch "1.16.0" ersetzen.
Dann FHEM reboot.
Danach steht 1.16.0 in der X-App-Version und die Kommunikation läuft wieder. ;D

Der Eintrag "attr version" funktioniert nicht. :-\

Gruß
leuschman

Vielen Dank, funktioniert wieder.
Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

knuddli

Hi,
ich habe die beiden Module bis zum Wochenende auch gern genutzt. Danke für die tolle Arbeit! Was mich störte war die Cloud! Zum Glück gibt es Abhilfe:
https://forum.fhem.de/index.php/topic,129528.0.html
Das bedeutet zwar, man muss an der Klimaanlage herumschrauben, aber danach ist nix mehr mit "Nachhausetelefonieren"...

marboj

Bei mir wieder kein Connect.  Nach Anpassung der Version auf 1.17 wieder ok...
meine FHEM-Konfiguration: Raspberry Pi4, BT-Dongle, CUL868, CeeBee II

Guybrush

Ich hab den Fehler behoben, dass das Attribut "version" nicht funktionierte. Ich hab in dem Zuge auch ein paar Umstellungen gemacht. U.a. gibt es nun im state des PanasonicAC Devices eine entsprechende Fehlermeldung, wenn die Version aktualisiert werden muss.

Außerdem kann man das Device nun per Attribute "disable" deaktivieren, so dass keine API Anfragen mehr gestellt werden.

Da ich auch internals geändert habe, muss fhem zwingend neu gestartet werden, nachdem das Modul aktualisiert wurde (nur 50_PanasonicAC, das 51_PanasonicACDevice wurde nicht aktualisiert).

Guybrush

Zitat von: EinEinfach am 15 Oktober 2022, 11:27:51
Ihr müsst mit wireshark oder ähnlichem Tool (einfacher mit Android) dem Anmeldevorgang der App mitlauschen, dann im Header schauen, welchen Wert die X-App-Version Größe hat, dann diese in den Attribut eintragen. Die Größe hat nichts mit App-Version zu tun.

ist leider etwas aufwendig das zu machen, da Zertifikate genutzt werden und der stream damit erstmal verschlüsselt ist... Es geht zwar, aber das bekommt man nur hin, wenn man sich damit etwas besser auskennt. Grundlegend tut das nur keine Not, dass die API lahm gelegt wird, da sich da selbst nichts dran ändert. Ich frag mich wirklich, wieso Panasonic derart rückständig agiert und nicht von sich aus die Schnittstelle frei verfügbar und dokumentiert anbietet. Die angebotene App finde ich persönlich jedenfalls echt dürftig und umständlich. Allein schon dass man da das Passwort nicht dauerhaft speichern kann...

marboj

Bei mir wieder kein Connect.  Nach Anpassung der Version auf 1.18 wieder ok...
meine FHEM-Konfiguration: Raspberry Pi4, BT-Dongle, CUL868, CeeBee II

FhemPiUser

Panasonic Comfort Cloud geht heute bei mir nicht, nichtmal mit der App. Bei Euch auch nicht? Scheint ja ein Panasonic Cloud Problem zu sein...

teufelchen

Zitat von: FhemPiUser am 05 November 2022, 12:22:49
Panasonic Comfort Cloud geht heute bei mir nicht, nichtmal mit der App. Bei Euch auch nicht? Scheint ja ein Panasonic Cloud Problem zu sein...

Das Problem hatte ich gestern Abend. Heute funktioniert es wieder.
Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

Guybrush

passiert leider recht oft, dass die api nicht erreichbar ist. ich persönlich kenne kaum andere Services, die eine so schlechte Verfügbarkeit haben... da kann ich jedenfalls leider nichts dran ändern.

ich werde mir aber bei gelegenheit mal anschauen, wie die panasonic geräte mit der cloud kommunizieren. wenn da kein strikter zertifikat check passiert, könnte man das ja über MitM abgreifen und lokal über fhem den cloudserver simulieren. die api müsste gleich sein, wenn die nicht ganz hirnverbrannt unterwegs waren. dann wären wir die instabile cloud los :P

Moli

#84
Guten Morgen,

bei mir zeigt er an Connected und sonst sieht auch alles gut aus, aber mein Gerät wird nicht erzeugt.

Irgendjemand eine Idee für mich?

Danke!

PS: autocreate ist an.

define PAC PanasonicAC
attr PAC delayAfterWrite 5
attr PAC interval 300
attr PAC loginId x@x.de
attr PAC room PanasonicAC
attr PAC version 1.18.1
#   CFGFN     
#   FUUID      63723a8a-f33f-18b8-8fbb-2d6d4e0a9f0330db
#   NAME       PAC
#   NR         407
#   NTFY_ORDER 50-PAC
#   STATE      connected
#   TYPE       PanasonicAC
#   clientId   xxxxxxxxxxx
#   eventCount 8
#   lastUpdateCycle 1668499041.42088
#   name       PAC
#   uToken     xxxxxxxxxx
#   READINGS:
#     2022-11-14 15:07:11   state           connected
#
setstate PAC connected
setstate PAC 2022-11-14 15:07:11 state connected


Guybrush

Lösche das device und leg es nochmal an. Bevor du dass Passwort setzt bitte loglevel 3 setzen und hier bitte den Auszug aus der FHEM log Datei posten. Hast du die Geräte vorher in der App angelegt und autocreate wirklich kontrolliert? Ich hab sonst keine Idee, was das sein kann

Moli

#86
Hi,

danke für die Rückmeldung.

Ja habe ich, ich habe auch MQTT Devices die sofort auftauchen, denke mal das ist dieselbe Funktion.
Mein Klima habe ich schon vor 6 Monaten in die App gebracht, direkt bei der Installation.
War schon Level 3.

Neu anlegen hat nichts gebraucht, stelle ich auf Debug bekomme ich diese Sachen zu dem Thema:

2022.11.15 10:15:39 4: WEB_192.168.2.51_61291 POST /fhem&fw_id=984&fwcsrf=csrf_561158777441804&cmd=define+PAC+PanasonicAC; BUFLEN:0
2022.11.15 10:15:39 5: Cmd: >define PAC PanasonicAC<
2022.11.15 10:15:39 4: PanasonicAC (PAC): PanasonicAC_Define() called by main::CallFn
2022.11.15 10:15:39 5: Starting notify loop for PAC, 1 event(s), first is defined
2022.11.15 10:15:39 4: PanasonicAC (PAC) PanasonicAC_Set() called by main::CallFn
2022.11.15 10:15:39 5: End notify loop for PAC
2022.11.15 10:15:39 4: PanasonicAC (PAC): PanasonicAC_Connect() called by main::PanasonicAC_Define
2022.11.15 10:15:39 5: Read PanasonicAC password from file
2022.11.15 10:15:39 5: No password in file
2022.11.15 10:15:39 5: Starting notify loop for PAC, 1 event(s), first is loginId missing
2022.11.15 10:15:39 4: PanasonicAC (PAC) PanasonicAC_Set() called by main::CallFn
2022.11.15 10:15:39 5: End notify loop for PAC
2022.11.15 10:15:39 4: PanasonicAC (PAC): PanasonicAC_Connect new interval with 60s
2022.11.15 10:15:39 5: Starting notify loop for global, 1 event(s), first is DEFINED PAC
2022.11.15 10:15:39 5: createNotifyHash
2022.11.15 10:15:39 5: End notify loop for global
2022.11.15 10:15:39 5: GET /fhem?detail=PAC&fw_id=984 HTTP/1.1

2022.11.15 10:15:39 4: WEB_192.168.2.51_61291 GET /fhem?detail=PAC&fw_id=984; BUFLEN:0
2022.11.15 10:15:39 4: PanasonicAC (PAC) PanasonicAC_Set() called by main::CallFn
2022.11.15 10:15:39 4: PanasonicAC (PAC) PanasonicAC_Set() called by main::CallFn
2022.11.15 10:15:39 4: WEB: /fhem?detail=PAC&fw_id=984 / RL:4177 / text/html; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

022.11.15 10:15:39 5: GET /fhem?cmd=%7BReadingsVal(%22PAC%22%2C%22password%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_561158777441804 HTTP/1.1
Host: xxxx.fritz.box:8083
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: */*
Accept-Language: de-DE,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Referer: http://xxxx.fritz.box:8083/fhem?detail=PAC&fw_id=984
Cookie: PHPSESSID=nqnpavvm3a3v87ne8nq8hcvu9f
2022.11.15 10:15:39 4: WEB_192.168.2.51_61291 GET /fhem?cmd=%7BReadingsVal(%22PAC%22%2C%22password%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_561158777441804; BUFLEN:0
2022.11.15 10:15:39 5: Cmd: >{ReadingsVal("PAC","password","")}<
2022.11.15 10:15:39 4: WEB: /fhem?cmd=%7BReadingsVal(%22PAC%22%2C%22password%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_561158777441804 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

2022.11.15 10:15:39 4: Connection accepted from WEB_192.168.188.51_61294
2022.11.15 10:15:39 5: GET /fhem?cmd=%7BAttrVal(%22PAC%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_561158777441804 HTTP/1.1
Host: xxxx.fritz.box:8083
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: */*
Accept-Language: de-DE,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Referer: http://xxxx.fritz.box:8083/fhem?detail=PAC&fw_id=984
Cookie: PHPSESSID=nqnpavvm3a3v87ne8nq8hcvu9f
2022.11.15 10:15:39 4: WEB_192.168.2.51_61294 GET /fhem?cmd=%7BAttrVal(%22PAC%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_561158447771804; BUFLEN:0
2022.11.15 10:15:39 5: Cmd: >{AttrVal("PAC","room","")}<
2022.11.15 10:15:39 4: WEB: /fhem?cmd=%7BAttrVal(%22PAC%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_561158777441804 / RL:32 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate



define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log
#   FUUID      5d7f7c9b-f33f-18b8-a962-37eb3775b6cce490
#   NAME       autocreate
#   NOTIFYDEV  global
#   NR         155
#   NTFY_ORDER 50-autocreate
#   STATE      active
#   TYPE       autocreate
#
setstate autocreate active


Guybrush

Der logausschnitt muss größer sein und ca. 1 min umfassen. Da tauchen jedenfalls keine requests auf. Nach einem connect wird der poll Interval von default 60sec gestartet, so dass die autocreates dann erst nach diesem Interval erstmals passieren.

Moli

OK, hier geht es weiter.

Upgrade-Insecure-Requests: 1
2022.11.15 10:15:39 4: WEB_192.168.2.51_61291 POST /fhem&fw_id=984&fwcsrf=csrf_561158777441804&cmd=define+PAC+PanasonicAC; BUFLEN:0
2022.11.15 10:15:39 5: Cmd: >define PAC PanasonicAC<
2022.11.15 10:15:39 4: PanasonicAC (PAC): PanasonicAC_Define() called by main::CallFn
2022.11.15 10:15:39 5: Starting notify loop for PAC, 1 event(s), first is defined
2022.11.15 10:15:39 4: PanasonicAC (PAC) PanasonicAC_Set() called by main::CallFn
2022.11.15 10:15:39 5: End notify loop for PAC
2022.11.15 10:15:39 4: PanasonicAC (PAC): PanasonicAC_Connect() called by main::PanasonicAC_Define
2022.11.15 10:15:39 5: Read PanasonicAC password from file
2022.11.15 10:15:39 5: No password in file
2022.11.15 10:15:39 5: Starting notify loop for PAC, 1 event(s), first is loginId missing
2022.11.15 10:15:39 4: PanasonicAC (PAC) PanasonicAC_Set() called by main::CallFn
2022.11.15 10:15:39 5: End notify loop for PAC
2022.11.15 10:15:39 4: PanasonicAC (PAC): PanasonicAC_Connect new interval with 60s
2022.11.15 10:15:39 5: Starting notify loop for global, 1 event(s), first is DEFINED PAC
2022.11.15 10:15:39 5: createNotifyHash
2022.11.15 10:15:39 5: End notify loop for global
2022.11.15 10:15:39 5: GET /fhem?detail=PAC&fw_id=984 HTTP/1.1
Host: xxxx.fritz.box:8083
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: de-DE,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://xxxx.fritz.box:8083/fhem?fw_id=984
DNT: 1
Connection: keep-alive
Cookie: PHPSESSID=nqnpavvmfdsv87ne8nq8hcvu9f
Upgrade-Insecure-Requests: 1
2022.11.15 10:15:39 4: WEB_192.168.2.51_61291 GET /fhem?detail=PAC&fw_id=984; BUFLEN:0
2022.11.15 10:15:39 4: PanasonicAC (PAC) PanasonicAC_Set() called by main::CallFn
2022.11.15 10:15:39 4: PanasonicAC (PAC) PanasonicAC_Set() called by main::CallFn
2022.11.15 10:15:39 4: WEB: /fhem?detail=PAC&fw_id=984 / RL:4177 / text/html; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

2022.11.15 10:15:39 5: GET /fhem?cmd=%7BReadingsVal(%22PAC%22%2C%22password%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_561158777441804 HTTP/1.1
Host: xxxx.fritz.box:8083
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: */*
Accept-Language: de-DE,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Referer: http://xxxx.fritz.box:8083/fhem?detail=PAC&fw_id=984
Cookie: PHPSESSID=nqnpavvmfdsv87ne8nq8hcvu9f
2022.11.15 10:15:39 4: WEB_192.168.2.51_61291 GET /fhem?cmd=%7BReadingsVal(%22PAC%22%2C%22password%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_561158777441804; BUFLEN:0
2022.11.15 10:15:39 5: Cmd: >{ReadingsVal("PAC","password","")}<
2022.11.15 10:15:39 4: WEB: /fhem?cmd=%7BReadingsVal(%22PAC%22%2C%22password%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_561158777441804 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

2022.11.15 10:15:39 4: Connection accepted from WEB_192.168.2.51_61294
2022.11.15 10:15:39 5: GET /fhem?cmd=%7BAttrVal(%22PAC%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_561158777441804 HTTP/1.1
Host: xxxx.fritz.box:8083
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: */*
Accept-Language: de-DE,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Referer: http://xxxx.fritz.box:8083/fhem?detail=PAC&fw_id=984
Cookie: PHPSESSID=nqnpavvmfdsv87ne8nq8hcvu9f
2022.11.15 10:15:39 4: WEB_192.168.2.51_61294 GET /fhem?cmd=%7BAttrVal(%22PAC%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_561158777441804; BUFLEN:0
2022.11.15 10:15:39 5: Cmd: >{AttrVal("PAC","room","")}<
2022.11.15 10:15:39 4: WEB: /fhem?cmd=%7BAttrVal(%22PAC%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_561158777441804 / RL:32 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

uli-bs

Ich habe auch ein sporadisches Problem, das Anmeldepasswort geht manchmal verlustig...
state ist dann "loginId missing", wobei unter loginId die korrekte Adresse steht, erneutes setzen des Passworts löst das Problem temporär.
Den Zeitpunkt, wann das Passwort "verschwindet", konnte ich noch nicht eingrenzen, nur, dass oft mehrere Tage dazwischen liegen.

Dazu sagen muss ich, dass ich aktuell an anderen Stellen im FHEM derzeitig etwas am Basteln bin, was aber ansich keinen Bezug zum PAC Modul hat, und, sofern wichtig, dass der PI regelmäßig nachts per Cron neu gestartet wird.