FHEM Forum

FHEM - Anwendungen => Heizungssteuerung/Raumklima => Thema gestartet von: joker4791 am 26 Juni 2019, 07:52:04

Titel: Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 26 Juni 2019, 07:52:04
Hi,

hier ist eine Panasonic Split-Klimaanlage vom Typ Etherea CS-E12QKEW (Innen-Einheit) verbaut. Für das Gerät wurde eine WLAN-Einheit vom Typ CZ-TACG1 angeschafft und über den CN-CNT Connector angeschlossen. Der Einbau in der QKEW-Serie ist etwas tricky, Panasonic hat zu dem Zeitpunkt wohl die Möglichkeit einer Erweiterung vorgesehen, die ist aber leider hier (noch) nicht besonders benutzerfreundlich ausgeführt. Das Erweitungsmodul funktioniert jedoch einwandfrei und wird über die Panasonic Comfort Cloud verwaltet, so dass Statusabfrage und Steuerung per Internet möglich sind. Für die API hat der user lostfields hier (https://github.com/lostfields/python-panasonic-comfort-cloud) eine Python-Implementation entwickelt. Jetzt ist meine Frage, wie man diese in FHEM integrieren kann? Ich selbst habe leider von Python und PERL keine Ahnung...
Wärmepumpenanlagen von Panasonic kann man über die API wohl auch verwalten.

Grüße,
j.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: CoolTux am 26 Juni 2019, 08:03:59
Habe mal reingeschaut. Sieht relativ einfach aus, ich denke das kann man gut nach Perl bringen.
Jetzt müsstest nur noch Perl lernen. Oder Du findest einen anderen Weg. Man kann sicherlich das Python Skript über FHEM auf rufen und die Werte übergeben oder auslesen.


Grüße
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: woerni1701 am 12 Juli 2019, 09:39:06
Würde mich auch dafür interessieren (: Kann ich irgendwie unterstützen? Kenn mich allerdings weder mit Python noch Perl wirklich aus.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: ritter_runkel am 11 August 2019, 18:45:54
Hier in Leipzig besteht auch Interesse  ;D
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: gadget am 03 Oktober 2019, 16:40:14
Ich denke auch gerade an die Anschaffung einer Panasonic Multisplit. Bin eigentlich kein Fan von Cloud. Wäre sowas hier ggf. eine Alternative ?

https://www.voltus.de/hausautomation/knx-eib/nach-hersteller/intesis-o/enocean/intesis-pa-ac-eno-1i-schnittstelle-enocean-868-mhz-europa.html (https://www.voltus.de/hausautomation/knx-eib/nach-hersteller/intesis-o/enocean/intesis-pa-ac-eno-1i-schnittstelle-enocean-868-mhz-europa.html)

Enocean habe ich sowieso schon mit fhem im Einsatz ...

Grüße,

gadget
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: der-Lolo am 03 Oktober 2019, 16:50:20
Vorsicht bei Intesis - hier geht ohne Cloud auch nix...
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: gadget am 03 Oktober 2019, 16:52:53
sicher ? Für mich sieht das so aus als ob damit eine direkte fhem Anbindung via enocean funk machbar wäre.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 08 Oktober 2019, 09:53:49
Alternative wäre vielleicht noch eine IR-Schnittstelle, falls im Raum in der Nähe z. B. ohnehin schon ein RPi steht. Da müsste aber auch noch softwaretechnisch einiges gebastelt werden, dafür ist man unabhängig von der Fremd-Cloud.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: TomS85 am 11 Oktober 2019, 10:12:52
Ich hätte auch Interesse an einem Modul für die Panasonic Cloud in Perl - leider mangels Programmierkenntnisse für mich derzeit nicht realisierbar :(

Ich habe das Python Script mal auf meinem RaspberryPi installiert - funktioniert auch super. Vielleicht lassen sich die Werte dort ja durch FHEM auslesen? Über die Shell kann ich damit folgende Werte anzeigen lassen:
airSwingVertical     : Auto
temperature          : 20.0
power                : Off
eco                  : Auto
temperatureInside    : 12
temperatureOutside   : 8
airSwingHorizontal   : Auto
mode                 : Heat
fanSpeed             : Auto

Ebenso lässt sich das Teil über Shell Aufrufe steuern. Das sollte sich ja über FHEM abbilden lassen, vermute ich mal (also ein Scriptaufruf starten). Wenn man die angezeigten Werte auch noch importieren könnte, wäre das natürlich super. Dann könnte man die Wärmepumpe z.B. bei unterschreiten einer Innentemperatur einschalten bzw. wieder abschalten, wenn die Temperatur hoch genug ist.

Gruß,
Tom
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: TomS85 am 20 Oktober 2019, 10:17:05
Ich habe nun das Python Script nun mal notdürftig in FHEM eingebunden, indem ich die Ausgaben in eine Textdatei schreibe und diese dann per at alle 5 Minuten in FHEM auslese und die Werte in Readings schreibe. So habe ich nun zumindest mal die Einstellungen und Temperaturen im FHEM vorliegen. Über Shellcommands kann ich die Panasonic Heizung nun auch ein- und ausschalten (mache ich aktuell über Whatsapp/yowsup und über ein at prüfe ich alle 30 Minuten, ob die Innenraumtemperatur unter 5°C fällt, um so automatisiert die Heizung einzuschalten, um eine Frostschutzfunktion sicherzustellen. Bei 16°C wird die Heizung dann wieder ausgeschaltet, bis die Temperatur wieder unter 5°C fällt. Muss im Winter dann mal testen, ob das so funktioniert, wie es soll.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: amenomade am 20 Oktober 2019, 13:41:26
Wenn die Requests tatsächlich so einfach sind, als hier beschrieben: https://community.home-assistant.io/t/panasonic-comfort-cloud-to-control-heatpumps-and-airconditions/79388/2

sollte man es über HTTPMOD schaffen.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: TomS85 am 21 Oktober 2019, 17:30:36
Ich habe aktuell ein Problem mit dem Aufruf der Python Pcomfortapi über FHEM. Beim auslesen (-get) funktioniert alles einwandfrei. Beim schreiben der Werte, d.h. einschalten der Heizung bekomme ich im FHEM Logfile folgende Meldung und der Befehl wird nicht ausgeführt:
Traceback (most recent call last):
  File "/usr/local/bin/pcomfortcloud", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3191, in <module>
    @_call_aside
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3175, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3204, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 794, in resolve
    new_requirements = dist.requires(req.extras)[::-1]
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2700, in requires
    dm = self._dep_map
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2666, in _dep_map
    self.__dep_map = self._filter_extras(self._build_dep_map())
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2681, in _filter_extras
    invalid_marker(marker)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1360, in invalid_marker
    evaluate_marker(text)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1378, in evaluate_marker
    return marker.evaluate()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/_vendor/packaging/markers.py", line 297, in evaluate
    current_environment = default_environment()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/_vendor/packaging/markers.py", line 261, in default_environment
    "platform_machine": platform.machine(),
  File "/usr/lib/python2.7/platform.py", line 1358, in machine
    return uname()[4]
  File "/usr/lib/python2.7/platform.py", line 1288, in uname
    processor = _syscmd_uname('-p','')
  File "/usr/lib/python2.7/platform.py", line 1023, in _syscmd_uname
    rc = f.close()
IOError: [Errno 10] No child processes


Jemand eine Idee?

Ich rufe das Programm über Perl mit folgendem Befehl auf:
system('pcomfortcloud user passwort set -p On 1');

Wenn ich das Tool über die Konsole direkt (mit gleichem Befehl) ausführe, läuft es jedoch...
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: MCh76 am 04 Juni 2020, 16:14:28
Hallo Tom,

dürfte ich nach dem Ausgang deines Projekts fragen? Ich würde ebenfalls eine über die Comfort Cloud steuerbare Pana Klimaanlage (CS-Z50VKEW) in FHEM anbinden.
Hast du es denn hinbekommen oder gab es irgendwo unüberwindbare Hindernisse?

VG,
Chris
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 18 Juni 2020, 16:19:33
Hi,

das Python-Skript wurde installiert und liefert auf der Konsole folgende Ausgaben:
root@S720:/usr/local/src/python-panasonic-comfort-cloud# ls
LICENSE  pcomfortcloud  pcomfortcloud.py  README.md  requests.http  setup.py
root@S720:/usr/local/src/python-panasonic-comfort-cloud# python3 ./pcomfortcloud.py -s 1 -r 1 xxx@xxx xxx list
--- token found
--- _get_groups()
--- raw beginning ---
{"groupCount":1,"groupList":[{"groupId":25030,"groupName":"My House","deviceIdList":[{"deviceGuid":"C420435xxx","deviceType":"1","deviceName":"CS-E12QKEW","permission":3,"summerHouse":0,"iAutoX":false,"nanoe":false,"autoMode":true,"heatMode":true,"fanMode":false,"dryMode":true,"coolMode":true,"ecoNavi":false,"powerfulMode":true,"quietMode":true,"airSwingLR":true,"ecoFunction":0,"temperatureUnit":0,"modeAvlList":{"autoMode":1,"fanMode":1},"parameters":{"operate":0,"operationMode":2,"temperatureSet":20.0,"fanSpeed":0,"fanAutoMode":1,"airSwingLR":2,"airSwingUD":0,"ecoMode":0,"ecoNavi":1,"nanoe":0,"iAuto":0,"actualNanoe":0,"airDirection":0,"ecoFunctionData":0}}]}]}
--- raw ending    ---

list of devices and its device id (1-x)
device #1
    group                : My House
    id                   : 979bef0b5188aa59be996e6a9251xxxx
    model                :
    name                 : CS-E12QKEW

root@S720:/usr/local/src/python-panasonic-comfort-cloud# python3 ./pcomfortcloud.py -s 1 -r 1 xxx@xxx xxx get 1
--- token found
--- _get_groups()
--- raw beginning ---
{"groupCount":1,"groupList":[{"groupId":25030,"groupName":"My House","deviceIdList":[{"deviceGuid":"C420435xxx","deviceType":"1","deviceName":"CS-E12QKEW","permission":3,"summerHouse":0,"iAutoX":false,"nanoe":false,"autoMode":true,"heatMode":true,"fanMode":false,"dryMode":true,"coolMode":true,"ecoNavi":false,"powerfulMode":true,"quietMode":true,"airSwingLR":true,"ecoFunction":0,"temperatureUnit":0,"modeAvlList":{"autoMode":1,"fanMode":1},"parameters":{"operate":1,"operationMode":2,"temperatureSet":20.0,"fanSpeed":0,"fanAutoMode":1,"airSwingLR":2,"airSwingUD":0,"ecoMode":0,"ecoNavi":1,"nanoe":0,"iAuto":0,"actualNanoe":0,"airDirection":0,"ecoFunctionData":0}}]}]}
--- raw ending    ---

reading from device 'CS-E12QKEW' (979bef0b5188aa59be996e6a9251xxxx)
--- get_device()
--- raw beginning ---
{"deviceGuid":"C420435xxx","timestamp":1592489463514,"summerHouse":0,"iAutoX":false,"nanoe":false,"autoMode":true,"heatMode":true,"fanMode":false,"dryMode":true,"coolMode":true,"ecoNavi":false,"powerfulMode":true,"permission":3,"quietMode":true,"airSwingLR":true,"ecoFunction":0,"temperatureUnit":0,"modeAvlList":{"autoMode":1,"fanMode":1},"parameters":{"devGuid":"C420435xxx","eventTime":null,"online":true,"operate":1,"operationMode":2,"temperatureSet":20.0,"fanSpeed":0,"fanAutoMode":1,"airSwingLR":2,"airSwingUD":0,"airDirection":0,"ecoMode":0,"ecoNavi":1,"nanoe":0,"iAuto":0,"defrosting":-255,"errorCode":"KgAACwEBRjAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==","errorCodeStr":"F00","insideTemperature":126,"outTemperature":28,"devRacCommunicateStatus":-255,"errorStatus":-255,"errorStatusFlg":false,"httpErrorCode":-255,"actualNanoe":0,"airQuality":0,"ecoFunctionData":0,"updateTime":null},"autoTempMax":-1,"dryTempMax":-1,"heatTempMax":-1,"coolTempMax":-1,"autoTempMin":-1,"dryTempMin":-1,"heatTempMin":-1,"coolTempMin":-1,"fanSpeedMode":-1,"fanDirectionMode":-1}
--- raw ending    ---
parameters
    eco                  : Auto
    temperatureInside    : 126
    temperature          : 20.0
    airSwingHorizontal   : Mid
    airSwingVertical     : Up
    nanoe                : Unavailable
    temperatureOutside   : 28
    fanSpeed             : Auto
    mode                 : Cool
    power                : On
id                       : 979bef0b5188aa59be996e6a9251xxxx

Einstellungen mit On / 20.0 / Mid / Up passen auch.
Nun müssen diese Werte nur noch irgendwie als readings nach FHEM gebracht werden.

Bedienung auf der Kommandozeile zum Ausschalten:
root@S720:/usr/local/src/python-panasonic-comfort-cloud# python3 ./pcomfortcloud.py -s 1 -r 1 xxx@xxx xxx set 1 -p Off

Grüße,
j.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: MCh76 am 20 November 2020, 21:14:02
Ich habe es nun geschafft, mit Hilfe von HTTMOD meine Panasonic Klimaanlage zu steuern.
Vielleicht kann es ja der ein oder andere gebrauchen.

Für die Kontrolle der Klimaanlage per FHEM habe ich folgendes erstellt:

Wird am Dummy-Device eine Einstellung vorgenommen, setzt die myUtils Funktion die Parameterliste zusammen, die dann als POST request im BODY an das HTTPMOD und von dort an die Comfort Cloud übergeben wird. Jede Minute wird zudem mit "get wz_klima Status" der aktuelle Status der Klimaanlage beschafft und so ggf. Änderungen außerhalb FHEMs (z.B. mittels App oder FB) in das Dummy Device zurückgeschrieben.

Hier im Detail die Bestandteile:

HTTPMOD:

mit dem Befehl "get Devicegroup" und ExtractAllJSON auf 1 kann man sich im ersten Schritt Modell und Device-ID etc. beschaffen.


defmod wz_klima HTTPMOD https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID] 0
attr wz_klima DbLogExclude .*
attr wz_klima disable 0
attr wz_klima enableCookies 1
attr wz_klima event-on-change-reading actual_.*
attr wz_klima get01Name Devicegroup
attr wz_klima get01URL https://accsmart.panasonic.com/device/group
attr wz_klima get02ExtractAllJSON 0
attr wz_klima get02Name Status
attr wz_klima get02URL https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
attr wz_klima getHeader1 X-APP-TYPE: 1
attr wz_klima getHeader2 X-APP-VERSION: 2.0.0
attr wz_klima getHeader3 Accept: application/json
attr wz_klima getHeader4 Content-Type: application/json
attr wz_klima getHeader5 User-Agent: G-RAC
attr wz_klima getHeader6 X-User-Authorization: $sid
attr wz_klima group Klimaanlage
attr wz_klima httpVersion 1.1
attr wz_klima reAuthJSON message
attr wz_klima reAuthRegex Token expires
attr wz_klima reading01JSON parameters_operate
attr wz_klima reading01Name actual_operate
attr wz_klima reading02JSON parameters_temperatureSet
attr wz_klima reading02Name actual_desired-temp
attr wz_klima reading03JSON parameters_actualNanoe
attr wz_klima reading03Name actual_nanoe
attr wz_klima reading04JSON parameters_ecoMode
attr wz_klima reading04Name actual_ecomode
attr wz_klima reading05JSON parameters_operationMode
attr wz_klima reading05Name actual_operationmode
attr wz_klima replacement01Mode reading
attr wz_klima replacement01Regex ##PARAMS##
attr wz_klima requestHeader01 X-APP-TYPE: 1
attr wz_klima requestHeader02 X-APP-VERSION: 2.0.0
attr wz_klima requestHeader03 Accept: application/json
attr wz_klima requestHeader04 Content-Type: application/json
attr wz_klima requestHeader05 User-Agent: G-RAC
attr wz_klima requestHeader06 X-User-Authorization: $sid
attr wz_klima room 01_Wohnzimmer
attr wz_klima set01Data {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {"operate": 1}}
attr wz_klima set01Name PowerOn
attr wz_klima set01URL https://accsmart.panasonic.com/deviceStatus/control
attr wz_klima set02Data {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {"operate": 0}}
attr wz_klima set02Name PowerOff
attr wz_klima set02URL https://accsmart.panasonic.com/deviceStatus/control
attr wz_klima set03Data {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {##PARAMS##}}
attr wz_klima set03Name Control
attr wz_klima set03Replacement01Value wz_d_klima:params
attr wz_klima set03URL https://accsmart.panasonic.com/deviceStatus/control
attr wz_klima setHeader1 X-APP-TYPE: 1
attr wz_klima setHeader2 X-APP-VERSION: 2.0.0
attr wz_klima setHeader3 Accept: application/json
attr wz_klima setHeader4 Content-Type: application/json
attr wz_klima setHeader5 User-Agent: G-RAC
attr wz_klima setHeader6 X-User-Authorization: $sid
attr wz_klima sid01Data {"language": "0","loginId": "[MAILADRESSE_PANASONIC_ID]","password": "[meinPASSWORD]"}
attr wz_klima sid01Header1 X-APP-TYPE: 1
attr wz_klima sid01Header2 X-APP-VERSION: 2.0.0
attr wz_klima sid01Header3 Accept: application/json
attr wz_klima sid01Header4 Content-Type: application/json
attr wz_klima sid01Header5 User-Agent: G-RAC
attr wz_klima sid01IdJSON uToken
attr wz_klima sid01URL https://accsmart.panasonic.com/auth/login
attr wz_klima stateFormat {InternalVal("wz_d_klima", "STATE", "")}


Dummy-Device:

defmod wz_d_klima dummy
attr wz_d_klima DbLogExclude .*
attr wz_d_klima event-on-change-reading params
attr wz_d_klima group Klimaanlage
attr wz_d_klima readingList state desired-temp nanoe operationmode ecomode
attr wz_d_klima room 01_Wohnzimmer
attr wz_d_klima setList state:1,0 desired-temp nanoe:2,1 operationmode:0,1,2,3,4 ecomode:0,1,2
attr wz_d_klima stateFormat {\
if (ReadingsVal("wz_d_klima","state","") eq "1" ) {\
my $state_info = "Eingeschaltet";;\
\
my $temperature = ReadingsVal("wz_d_klima","desired-temp","");;\
$temperature .= "°C";;\
\
\
my $ecomode;;\
if (ReadingsVal("wz_d_klima","ecomode","") eq "0" ){\
$ecomode = "EcoMode Auto";;\
}\
elsif (ReadingsVal("wz_d_klima","ecomode","") eq "1" ){\
$ecomode = "EcoMode Powerful";;\
}\
elsif (ReadingsVal("wz_d_klima","ecomode","") eq "2" ){\
$ecomode = "EcoMode Quiet";; \
}\
\
\
my $operationmode;;\
if (ReadingsVal("wz_d_klima","operationmode","") eq "0" ){\
$operationmode = "Modus Auto";;\
}\
elsif (ReadingsVal("wz_d_klima","operationmode","") eq "1" ){\
$operationmode = "Modus Dry";;\
}\
elsif (ReadingsVal("wz_d_klima","operationmode","") eq "2" ){\
$operationmode = "Modus Cool";; \
}\
elsif (ReadingsVal("wz_d_klima","operationmode","") eq "3" ){\
$operationmode = "Modus Heat";;\
}\
elsif (ReadingsVal("wz_d_klima","operationmode","") eq "4" ){\
$operationmode = "Modus NANOE";;\
}\
\
my $nanoe;;\
if (ReadingsVal("wz_d_klima","nanoe","") eq "1" ){\
$nanoe = "Nanoe Aus";;\
}\
elsif (ReadingsVal("wz_d_klima","nanoe","") eq "2" ){\
$nanoe = "Nanoe An";;\
}\
else {\
$nanoe = "Nanoe Aus";;\
}\
\
$state_info = join(" / ", $state_info, $temperature, $nanoe, $operationmode, $ecomode);;\
\
}\
else {\
return "Ausgeschaltet";; \
}\
}
attr wz_d_klima userReadings params {wz_klima_control()}
attr wz_d_klima widgetOverride desired-temp:slider,16.0,0.5,30.0,1


myUtilsFunktion zum Setzen der Parameter-Kommandos an das HTTPMOD:

sub wz_klima_control {
my $operate;
my $temperature;
my $nanoe;
my $operationmode;
my $ecomode;
my $paramslist;
#fhem("get wz_klima Status");
if (ReadingsVal("wz_d_klima", "state", "0") eq "1"){
   # operate: 1: An
   $operate = '"operate": 1';
   
   #temperatureSet: Temperatur setzen
   $temperature = '"temperatureSet": ';
   $temperature .= ReadingsVal("wz_d_klima","desired-temp",23.0);
   
   # nanoe -> 1:Aus / 2:An
   $nanoe = '"nanoe": ';
   $nanoe .= ReadingsVal("wz_d_klima","nanoe",2);
   
   #ecoMode -> "Auto": 0, "Powerful": 1, "Quiet": 2
   $ecomode = '"ecoMode": ';
   $ecomode .= ReadingsVal("wz_d_klima","ecomode",0);
   
   # operationMode -> "Auto": 0, "Dry": 1, "Cool": 2, "Heat": 3, "Nanoe": 4
   $operationmode = '"operationMode": ';
   $operationmode .= ReadingsVal("wz_d_klima","operationmode",0); 
   
   $paramslist = join(',', $operate,$temperature, $ecomode, $operationmode, $nanoe);
   
    #Log3('Klimaanlage',3,"Parameterliste: $paramslist ");
}
else{
   # operate: 0: Aus
   $operate = '"operate": 0';
   $paramslist = $operate;
}
return $paramslist;
}


Notify welches auf Einstellungen vom Dummy-Device reagiert:

defmod n.wz_d_klima_notify notify wz_d_klima:params.* {\
fhem("define at_trigger_klima at +00:00:03 set wz_klima Control 1");;\
fhem("defmod at_trigger_klima_status_update at +00:00:10 get wz_klima Status");;\
fhem("defmod at_trigger_klima_status_update_cycle at +*00:01:00 get wz_klima Status");;\
}
attr n.wz_d_klima_notify DbLogExclude .*


Notify, welches evtl. per Fernbedienung oder Handy App gemachte Einstellungen ins Dummy Device zurückschreibt:

defmod n.wz_klima_update_dummy notify wz_klima.* {\
#fhem('setreading wz_d_klima actual_operate [wz_klima:actual_operate]');;\
#fhem('setreading wz_d_klima actual_desired-temp [wz_klima:actual_desired-temp]');;\
if (ReadingsVal("wz_klima", "actual_operate", "0") eq "1"){\
fhem('setreading wz_d_klima state 1');;\
}\
elsif (ReadingsVal("wz_klima", "actual_operate", "0") eq "0") {\
fhem('setreading wz_d_klima state 0');;\
}\
fhem('setreading wz_d_klima nanoe [wz_klima:actual_nanoe]');;\
fhem('setreading wz_d_klima desired-temp [wz_klima:actual_desired-temp]');;\
fhem('setreading wz_d_klima operationmode [wz_klima:actual_operationmode]');;\
fhem('setreading wz_d_klima ecomode [wz_klima:actual_ecomode]');;\
}
attr n.wz_klima_update_dummy DbLogExclude .*

Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 27 Januar 2021, 13:52:39
@MCh76: Bin nach deiner Anleitung vorgegangen, das Device antwortet wie folgt:
code 4106
message New version app has been published


Hat sich mittlerweile was an deiner Definiton geändert? Muss was im Header ändern?
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 27 Januar 2021, 14:19:14
Läuft!

Habe den Header wie folgt geändert:
X-APP-VERSION: 1.10.0

Gruß
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 10 Februar 2021, 18:55:41
Kann man mit den HTTMOD-Befehlen auch 3 Geräte steuern, die an einem User hinterlegt sind?
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 11 Februar 2021, 07:01:02
ZitatKann man mit den HTTMOD-Befehlen auch 3 Geräte steuern, die an einem User hinterlegt sind?

Ja, das was du in der App siehst, kannst du auch steuern.

Gruß
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: MCh76 am 11 Februar 2021, 07:36:05
ja ich denke auch dass mehr als ein gerät kein problem sein sollten.
mit dem GET befehl "get Devicegroup" müsstest du eigentlich alle relevanten geräte die in der app auch zu finden sind beschafft bekommen.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 11 Februar 2021, 19:59:15
So, habe bei mir auch mal das Gerät angelegt, leider erhalte bei get DeviceGroup wohl offenbar nur einen Fehler (in httpheader):
HTTP/1.1 401
Server: nginx
Date: Thu, 11 Feb 2021 18:54:35 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 60
Connection: close
Cache-Control: no-cache, must-revalidate

Irgendeine Idee was da falsch läuft?
Die Device-ID hätte ich ansonsten auch manuell vorhanden...
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: MCh76 am 12 Februar 2021, 07:39:50
Zitat von: joker4791 am 11 Februar 2021, 19:59:15
So, habe bei mir auch mal das Gerät angelegt, leider erhalte bei get DeviceGroup wohl offenbar nur einen Fehler (in httpheader):
HTTP/1.1 401
Server: nginx
Date: Thu, 11 Feb 2021 18:54:35 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 60
Connection: close
Cache-Control: no-cache, must-revalidate

Irgendeine Idee was da falsch läuft?
Die Device-ID hätte ich ansonsten auch manuell vorhanden...

versuch am besten den request mal in Postman abzusetzen. Da bekommt man auch eine entsprechende Fehlermeldung zurück.
Habe ich mit allen Requests so gemacht.

alternativ kannst du ja auch Device Id direkt in den Befehlen verwenden.
wichtig ist wie hier schon angemerkt die X-APP-VERSION auf den aktuellen wert zu setzen (aktuell 1.10.0).
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 12 Februar 2021, 12:03:29
habe gerade eben zwei readings erhalten:
code  4106  2021-02-12 11:59:30
message  New version app has been published  2021-02-12 11:59:30

Und unter "header":
X-APP-TYPE: 1
X-APP-VERSION: 2.0.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: $sid

Also scheint sich da doch was geändert zu haben?
Jedenfalls erhalte ich immer noch Fehler 401.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: MCh76 am 12 Februar 2021, 13:05:34
Zitat von: joker4791 am 12 Februar 2021, 12:03:29
habe gerade eben zwei readings erhalten:
code  4106  2021-02-12 11:59:30
message  New version app has been published  2021-02-12 11:59:30

Und unter "header":
X-APP-TYPE: 1
X-APP-VERSION: 2.0.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: $sid

Also scheint sich da doch was geändert zu haben?
Jedenfalls erhalte ich immer noch Fehler 401.

mach mal X-APP-VERSION: 1.10.0 in den header parametern rein
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 12 Februar 2021, 14:15:09
Hatte ich gemacht, der Abzug oben ist mit dieser Einstellung.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: MCh76 am 12 Februar 2021, 14:46:04
auch bei den sid Headern für den Login (sid01Header2 X-APP-VERSION: 1.10.0)? bei mir klappt das einwandfrei.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 12 Februar 2021, 15:52:00
Ja, auch dort (insgesamt an vier Stellen)
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 12 Februar 2021, 15:59:51
Es gibt aber auch immer unterschiedliche Fehlermeldungen:
code  4300  2021-02-12 15:56:29
message  Have no authority to the request  2021-02-12 15:56:29


HTTP/1.1 200
Server: nginx
Date: Fri, 12 Feb 2021 15:09:21 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: no-store
Pragma: no-cache
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1;mode=block
Strict-Transport-Security: max-age=31536000;includeSubdomains


Wie bereits geschrieben, hätte ich die Device-ID bereits vorhanden, was muss denn eigentlich unter [MODELL] eingetragen werden? Kann man das in der App auslesen?
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: MCh76 am 12 Februar 2021, 23:24:05
also das modell bekommst du über das auslesen der devicegroup.
mach doch mal ein list von deinem klima device
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 13 Februar 2021, 10:56:56
Internals:
   BUSY       1
   CFGFN     
   CHANGED   
   DEF        https://accsmart.panasonic.com/deviceStatus/[MODELL]+C420435793 0
   FD         38
   FUUID      602589c5-f33f-c47d-e5e1-6734b712d0555855
   Interval   0
   JSONEnabled 1
   LASTSEND   1613210068.51946
   LastAuthTry 2021-02-12 12:01:21
   MainURL    https://accsmart.panasonic.com/deviceStatus/[MODELL]+C420435793
   ModuleVersion 3.5.9 - 13.2.2019
   NAME       wz_klima
   NOTIFYDEV  global
   NR         142051
   NTFY_ORDER 50-wz_klima
   ReplacementEnabled 1
   STATE      Ausgeschaltet
   TRIGGERTIME 0
   TRIGGERTIME_FMT
   TYPE       HTTPMOD
   addr       https://accsmart.panasonic.com:443
   auth       0
   buf       
   code       400
   compress   1
   data       
   displayurl https://accsmart.panasonic.com/deviceStatus/[MODELL]+C420435793
   header     X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: ****
   host       accsmart.panasonic.com
   httpversion 1.1
   hu_blocking 0
   hu_filecount 1907
   hu_port    443
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /deviceStatus/[MODELL]+C420435793
   protocol   https
   redirects  0
   sid        ****
   timeout    2
   url        https://accsmart.panasonic.com/deviceStatus/[MODELL]+C420435793
   value      0
   QUEUE:
   READINGS:
     2021-02-12 15:56:29   code            4300
     2021-02-12 15:56:29   message         Have no authority to the request
   REQUEST:
     data       
     header     X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: $sid
     ignoreredirects 0
     retryCount 0
     type       get02
     url        https://accsmart.panasonic.com/deviceStatus/[MODELL]+C420435793
     value      0
   defptr:
     readingBase:
       code       get
       message    get
     readingNum:
       code       02
       message    02
     readingOutdated:
     requestReadings:
       get02:
         code       get 02
         message    get 02
   sslargs:
Attributes:
   disable    0
   enableCookies 1
   event-on-change-reading actual_.*
   get01Name  Devicegroup
   get01URL   https://accsmart.panasonic.com/device/group
   get02ExtractAllJSON 1
   get02Name  Status
   get02URL   https://accsmart.panasonic.com/deviceStatus/[MODELL]+C420435793
   getHeader1 X-APP-TYPE: 1
   getHeader2 X-APP-VERSION: 1.10.0
   getHeader3 Accept: application/json
   getHeader4 Content-Type: application/json
   getHeader5 User-Agent: G-RAC
   getHeader6 X-User-Authorization: $sid
   group      Klimaanlage
   httpVersion 1.1
   reAuthJSON message
   reAuthRegex Token expires
   reading01JSON parameters_operate
   reading01Name actual_operate
   reading02JSON parameters_temperatureSet
   reading02Name actual_desired-temp
   reading03JSON parameters_actualNanoe
   reading03Name actual_nanoe
   reading04JSON parameters_ecoMode
   reading04Name actual_ecomode
   reading05JSON parameters_operationMode
   reading05Name actual_operationmode
   replacement01Mode reading
   replacement01Regex ##PARAMS##
   requestHeader01 X-APP-TYPE: 1
   requestHeader02 X-APP-VERSION: 1.10.0
   requestHeader03 Accept: application/json
   requestHeader04 Content-Type: application/json
   requestHeader05 User-Agent: G-RAC
   requestHeader06 X-User-Authorization: $sid
   room       Wohnzimmer->Klimaanlage
   set01Data  {"deviceGuid": "[MODELL]+C420435793","parameters": {"operate": 1}}
   set01Name  PowerOn
   set01URL   https://accsmart.panasonic.com/deviceStatus/control
   set02Data  {"deviceGuid": "[MODELL]+C420435793","parameters": {"operate": 0}}
   set02Name  PowerOff
   set02URL   https://accsmart.panasonic.com/deviceStatus/control
   set03Data  {"deviceGuid": "[MODELL]+C420435793","parameters": {##PARAMS##}}
   set03Name  Control
   set03Replacement01Value wz_d_klima:params
   set03URL   https://accsmart.panasonic.com/deviceStatus/control
   setHeader1 X-APP-TYPE: 1
   setHeader2 X-APP-VERSION: 1.10.0
   setHeader3 Accept: application/json
   setHeader4 Content-Type: application/json
   setHeader5 User-Agent: G-RAC
   setHeader6 X-User-Authorization: $sid
   sid01Data  {"language": "0","loginId": "****","password": "****"}
   sid01Header1 X-APP-TYPE: 1
   sid01Header2 X-APP-VERSION: 1.10.0
   sid01Header3 Accept: application/json
   sid01Header4 Content-Type: application/json
   sid01Header5 User-Agent: G-RAC
   sid01IdJSON uToken
   sid01URL   https://accsmart.panasonic.com/auth/login
   stateFormat {InternalVal("wz_d_klima", "STATE", "")}
   userattr   get01Name get01URL get02ExtractAllJSON:0,1,2 get02Name get02URL getHeader1 getHeader2 getHeader3 getHeader4 getHeader5 getHeader6 reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name reading05JSON reading05Name replacement01Mode:reading,internal,text,expression,key replacement01Regex requestHeader01 requestHeader02 requestHeader03 requestHeader04 requestHeader05 requestHeader06 set01Data set01Name set01URL set02Data set02Name set02URL set03Data set03Name set03Replacement01Value set03URL setHeader1 setHeader2 setHeader3 setHeader4 setHeader5 setHeader6 sid01Data sid01Header1 sid01Header2 sid01Header3 sid01Header4 sid01Header5 sid01IdJSON sid01URL

Benutzername, Passwort und sid habe ich mal rauseditiert.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 14 Februar 2021, 12:41:08
ZitatWie bereits geschrieben, hätte ich die Device-ID bereits vorhanden, was muss denn eigentlich unter [MODELL] eingetragen werden? Kann man das in der App auslesen?

Ich musste nichts unter MODELL eintragen Device ID reicht. Mach doch mal ein List von deinem HTTPMOD und poste hier
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 14 Februar 2021, 13:42:04
Zitat von: EinEinfach am 14 Februar 2021, 12:41:08Mach doch mal ein List von deinem HTTPMOD und poste hier
Das List ist im letzten Post, eine Seite vorher.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 15 Februar 2021, 09:36:28
Ändere bitte die Definition URL und Intervall wie folgt:

https://accsmart.panasonic.com/device/group 180

Kommen dann die Daten?
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 15 Februar 2021, 09:40:41
Nachdem in mal HTTPMOD und den Rest des FHEM geupdated habe, kommen erstmal gar keine Readings mehr :( ...
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 15 Februar 2021, 09:43:42
Setze den verbose Level vom HTTPMOD-Device auf 5 und schaue bitte im fhem Log warum der Authentifizierungsversuch scheitert
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 15 Februar 2021, 10:57:28
Hier eine Fehlermeldung die ich gefunden habe:
2021.02.15 10:35:31 3: wz_klima: error while parsing JSON data: Wide character in subroutine entry at lib/FHEM/HTTPMOD/Utils.pm line 668.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 15 Februar 2021, 11:03:08
Poste mal den gesamten Log, sowas hatte ich auch. Irgendwas stimmt mit deinem Header nicht
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 15 Februar 2021, 11:19:05
Hier mal ein bisschen log zum Gucken:
2021.02.15 11:07:30 5: wz_klima: get called with Status
2021.02.15 11:07:30 5: wz_klima: get found option Status in attribute get02Name
2021.02.15 11:07:30 4: wz_klima: get will now request Status, no optional value
2021.02.15 11:07:30 5: wz_klima: AddToQueue adds type get02 to URL https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], no data, header X-APP-TYPE: 1
2021.02.15 11:07:30 5: wz_klima: HandleSendQueue called from AddToSendQueue, qlen = 1
2021.02.15 11:07:30 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
2021.02.15 11:07:30 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input:
2021.02.15 11:07:30 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
2021.02.15 11:07:30 4: wz_klima: HandleSendQueue sends get02 with timeout 2 to https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], No Data,
2021.02.15 11:07:31 5: wz_klima: ReadCallback called from __ANON__
2021.02.15 11:07:31 4: wz_klima: Read callback: request type was get02 retry 0,
2021.02.15 11:07:31 5: wz_klima: Read callback: body
2021.02.15 11:07:31 4: wz_klima: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2021.02.15 11:07:31 4: wz_klima: BodyDecode is decoding the response body as utf-8
2021.02.15 11:07:31 3: wz_klima: error while parsing JSON data: Wide character in subroutine entry at lib/FHEM/HTTPMOD/Utils.pm line 668.
2021.02.15 11:07:31 5: wz_klima: GetCookies is looking for Cookies
2021.02.15 11:07:31 5: wz_klima: ExtractSid called, context get, num 02
2021.02.15 11:07:31 4: wz_klima: checking for redirects, code=400, ignore=0
2021.02.15 11:07:31 4: wz_klima: no redirects to handle
2021.02.15 11:07:31 5: wz_klima: Read callback sets LAST_REQUEST to get02
2021.02.15 11:07:31 5: wz_klima: Checking Auth with JSON message
2021.02.15 11:07:31 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.02.15 11:07:31 5: wz_klima: CheckAuth decided no authentication required
2021.02.15 11:07:31 5: wz_klima: ExtractReading for context get, num 02 - no individual parse definition
2021.02.15 11:07:31 5: wz_klima: Read starts parsing response to get02 with defined readings: 01,02,03,04,05
2021.02.15 11:07:31 5: wz_klima: ExtractReading actual_operate with json parameters_operate ...
2021.02.15 11:07:31 5: wz_klima: ExtractReading actual_operate did not match
2021.02.15 11:07:31 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet ...
2021.02.15 11:07:31 5: wz_klima: ExtractReading actual_desired-temp did not match
2021.02.15 11:07:31 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe ...
2021.02.15 11:07:31 5: wz_klima: ExtractReading actual_nanoe did not match
2021.02.15 11:07:31 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode ...
2021.02.15 11:07:31 5: wz_klima: ExtractReading actual_ecomode did not match
2021.02.15 11:07:31 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode ...
2021.02.15 11:07:31 5: wz_klima: ExtractReading actual_operationmode did not match
2021.02.15 11:07:31 4: wz_klima: Read response to get02 didn't match any Reading
2021.02.15 11:07:31 5: wz_klima: HandleSendQueue called from ReadCallback, qlen = 0
2021.02.15 11:07:31 5: wz_klima: HandleSendQueue found no usable entry in queue
2021.02.15 11:08:29 5: wz_klima: get called with Status
2021.02.15 11:08:29 5: wz_klima: get found option Status in attribute get02Name
2021.02.15 11:08:29 4: wz_klima: get will now request Status, no optional value
2021.02.15 11:08:29 5: wz_klima: AddToQueue adds type get02 to URL https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], no data, header X-APP-TYPE: 1
2021.02.15 11:08:29 5: wz_klima: HandleSendQueue called from AddToSendQueue, qlen = 1
2021.02.15 11:08:29 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
2021.02.15 11:08:29 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input:
2021.02.15 11:08:29 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
2021.02.15 11:08:29 4: wz_klima: HandleSendQueue sends get02 with timeout 2 to https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], No Data,
2021.02.15 11:08:31 5: wz_klima: ReadCallback called from __ANON__
2021.02.15 11:08:31 4: wz_klima: Read callback: request type was get02 retry 0,
2021.02.15 11:08:31 5: wz_klima: Read callback: body
2021.02.15 11:08:31 4: wz_klima: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2021.02.15 11:08:31 4: wz_klima: BodyDecode is decoding the response body as utf-8
2021.02.15 11:08:31 3: wz_klima: error while parsing JSON data: Wide character in subroutine entry at lib/FHEM/HTTPMOD/Utils.pm line 668.
2021.02.15 11:08:31 5: wz_klima: GetCookies is looking for Cookies
2021.02.15 11:08:31 5: wz_klima: ExtractSid called, context get, num 02
2021.02.15 11:08:31 4: wz_klima: checking for redirects, code=400, ignore=0
2021.02.15 11:08:31 4: wz_klima: no redirects to handle
2021.02.15 11:08:31 5: wz_klima: Read callback sets LAST_REQUEST to get02
2021.02.15 11:08:31 5: wz_klima: Checking Auth with JSON message
2021.02.15 11:08:31 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.02.15 11:08:31 5: wz_klima: CheckAuth decided no authentication required
2021.02.15 11:08:31 5: wz_klima: ExtractReading for context get, num 02 - no individual parse definition
2021.02.15 11:08:31 5: wz_klima: Read starts parsing response to get02 with defined readings: 01,02,03,04,05
2021.02.15 11:08:31 5: wz_klima: ExtractReading actual_operate with json parameters_operate ...
2021.02.15 11:08:31 5: wz_klima: ExtractReading actual_operate did not match
2021.02.15 11:08:31 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet ...
2021.02.15 11:08:31 5: wz_klima: ExtractReading actual_desired-temp did not match
2021.02.15 11:08:31 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe ...
2021.02.15 11:08:31 5: wz_klima: ExtractReading actual_nanoe did not match
2021.02.15 11:08:31 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode ...
2021.02.15 11:08:31 5: wz_klima: ExtractReading actual_ecomode did not match
2021.02.15 11:08:31 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode ...
2021.02.15 11:08:31 5: wz_klima: ExtractReading actual_operationmode did not match
2021.02.15 11:08:31 4: wz_klima: Read response to get02 didn't match any Reading
2021.02.15 11:08:31 5: wz_klima: HandleSendQueue called from ReadCallback, qlen = 0
2021.02.15 11:08:31 5: wz_klima: HandleSendQueue found no usable entry in queue
2021.02.15 11:08:55 4: wz_klima: GetUpdate called (update)
2021.02.15 11:08:55 4: wz_klima: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 180.0 sec at 11:11:55.585, interval 180
2021.02.15 11:08:55 5: wz_klima: AddToQueue adds type update to URL https://accsmart.panasonic.com/device/group, no data, header X-APP-TYPE: 1
2021.02.15 11:08:55 5: wz_klima: HandleSendQueue called from AddToSendQueue, qlen = 1
2021.02.15 11:08:55 5: wz_klima: Replace called for type update, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
2021.02.15 11:08:55 5: wz_klima: Replace called for type update, regex (?^:##PARAMS##), mode reading, empty value input:
2021.02.15 11:08:55 5: wz_klima: Replace called for type update, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/device/group
2021.02.15 11:08:55 4: wz_klima: HandleSendQueue sends update with timeout 2 to https://accsmart.panasonic.com/device/group, No Data,
2021.02.15 11:08:57 5: wz_klima: ReadCallback called from __ANON__
2021.02.15 11:08:57 4: wz_klima: Read callback: request type was update retry 0,
2021.02.15 11:08:57 5: wz_klima: Read callback: body
2021.02.15 11:08:57 4: wz_klima: BodyDecode found charset header and set decoding to UTF-8 (bodyDecode was set to auto)
2021.02.15 11:08:57 4: wz_klima: BodyDecode is decoding the response body as UTF-8
2021.02.15 11:08:57 4: wz_klima: extracted JSON values to internal
2021.02.15 11:08:57 5: wz_klima: GetCookies is looking for Cookies
2021.02.15 11:08:57 5: wz_klima: ExtractSid called, context reading, num 0
2021.02.15 11:08:57 4: wz_klima: checking for redirects, code=200, ignore=0
2021.02.15 11:08:57 4: wz_klima: no redirects to handle
2021.02.15 11:08:57 5: wz_klima: Read callback sets LAST_REQUEST to update
2021.02.15 11:08:57 5: wz_klima: Checking Auth with JSON message
2021.02.15 11:08:57 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.02.15 11:08:57 5: wz_klima: CheckAuth decided no authentication required
2021.02.15 11:08:57 5: wz_klima: Read starts parsing response to update with defined readings: 01,02,03,04,05
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_operate with json parameters_operate ...
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_operate with json parameters_operate did not match a key directly - trying regex match to create a list
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_operate with json /^parameters_operate/ got keylist
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_operate did not match
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet ...
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet did not match a key directly - trying regex match to create a list
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_desired-temp with json /^parameters_temperatureSet/ got keylist
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_desired-temp did not match
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe ...
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe did not match a key directly - trying regex match to create a list
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_nanoe with json /^parameters_actualNanoe/ got keylist
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_nanoe did not match
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode ...
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode did not match a key directly - trying regex match to create a list
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_ecomode with json /^parameters_ecoMode/ got keylist
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_ecomode did not match
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode ...
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode did not match a key directly - trying regex match to create a list
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_operationmode with json /^parameters_operationMode/ got keylist
2021.02.15 11:08:57 5: wz_klima: ExtractReading actual_operationmode did not match
2021.02.15 11:08:57 4: wz_klima: Read response to update didn't match any Reading
2021.02.15 11:08:57 5: wz_klima: HandleSendQueue called from ReadCallback, qlen = 0
2021.02.15 11:08:57 5: wz_klima: HandleSendQueue found no usable entry in queue
2021.02.15 11:09:29 5: wz_klima: get called with Status
2021.02.15 11:09:29 5: wz_klima: get found option Status in attribute get02Name
2021.02.15 11:09:29 4: wz_klima: get will now request Status, no optional value
2021.02.15 11:09:29 5: wz_klima: AddToQueue adds type get02 to URL https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], no data, header X-APP-TYPE: 1
2021.02.15 11:09:30 5: wz_klima: HandleSendQueue called from AddToSendQueue, qlen = 1
2021.02.15 11:09:30 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
2021.02.15 11:09:30 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input:
2021.02.15 11:09:30 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
2021.02.15 11:09:30 4: wz_klima: HandleSendQueue sends get02 with timeout 2 to https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], No Data,
2021.02.15 11:09:31 5: wz_klima: ReadCallback called from __ANON__
2021.02.15 11:09:31 4: wz_klima: Read callback: request type was get02 retry 0,
2021.02.15 11:09:31 5: wz_klima: Read callback: body
2021.02.15 11:09:31 4: wz_klima: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2021.02.15 11:09:31 4: wz_klima: BodyDecode is decoding the response body as utf-8
2021.02.15 11:09:31 3: wz_klima: error while parsing JSON data: Wide character in subroutine entry at lib/FHEM/HTTPMOD/Utils.pm line 668.
2021.02.15 11:09:31 5: wz_klima: GetCookies is looking for Cookies
2021.02.15 11:09:31 5: wz_klima: ExtractSid called, context get, num 02
2021.02.15 11:09:31 4: wz_klima: checking for redirects, code=400, ignore=0
2021.02.15 11:09:31 4: wz_klima: no redirects to handle
2021.02.15 11:09:31 5: wz_klima: Read callback sets LAST_REQUEST to get02
2021.02.15 11:09:31 5: wz_klima: Checking Auth with JSON message
2021.02.15 11:09:31 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.02.15 11:09:31 5: wz_klima: CheckAuth decided no authentication required
2021.02.15 11:09:31 5: wz_klima: ExtractReading for context get, num 02 - no individual parse definition
2021.02.15 11:09:31 5: wz_klima: Read starts parsing response to get02 with defined readings: 01,02,03,04,05
2021.02.15 11:09:31 5: wz_klima: ExtractReading actual_operate with json parameters_operate ...
2021.02.15 11:09:31 5: wz_klima: ExtractReading actual_operate did not match
2021.02.15 11:09:31 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet ...
2021.02.15 11:09:31 5: wz_klima: ExtractReading actual_desired-temp did not match
2021.02.15 11:09:31 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe ...
2021.02.15 11:09:31 5: wz_klima: ExtractReading actual_nanoe did not match
2021.02.15 11:09:31 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode ...
2021.02.15 11:09:31 5: wz_klima: ExtractReading actual_ecomode did not match
2021.02.15 11:09:31 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode ...
2021.02.15 11:09:31 5: wz_klima: ExtractReading actual_operationmode did not match
2021.02.15 11:09:31 4: wz_klima: Read response to get02 didn't match any Reading
2021.02.15 11:09:31 5: wz_klima: HandleSendQueue called from ReadCallback, qlen = 0
2021.02.15 11:09:31 5: wz_klima: HandleSendQueue found no usable entry in queue
2021.02.15 11:10:29 5: wz_klima: get called with Status
2021.02.15 11:10:29 5: wz_klima: get found option Status in attribute get02Name
2021.02.15 11:10:29 4: wz_klima: get will now request Status, no optional value
2021.02.15 11:10:29 5: wz_klima: AddToQueue adds type get02 to URL https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], no data, header X-APP-TYPE: 1
2021.02.15 11:10:29 5: wz_klima: HandleSendQueue called from AddToSendQueue, qlen = 1
2021.02.15 11:10:29 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
2021.02.15 11:10:29 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input:
2021.02.15 11:10:29 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
2021.02.15 11:10:29 4: wz_klima: HandleSendQueue sends get02 with timeout 2 to https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], No Data,
2021.02.15 11:10:31 5: wz_klima: ReadCallback called from __ANON__
2021.02.15 11:10:31 4: wz_klima: Read callback: request type was get02 retry 0,
2021.02.15 11:10:31 5: wz_klima: Read callback: body
2021.02.15 11:10:31 4: wz_klima: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2021.02.15 11:10:31 4: wz_klima: BodyDecode is decoding the response body as utf-8
2021.02.15 11:10:31 3: wz_klima: error while parsing JSON data: Wide character in subroutine entry at lib/FHEM/HTTPMOD/Utils.pm line 668.
2021.02.15 11:10:31 5: wz_klima: GetCookies is looking for Cookies
2021.02.15 11:10:31 5: wz_klima: ExtractSid called, context get, num 02
2021.02.15 11:10:31 4: wz_klima: checking for redirects, code=400, ignore=0
2021.02.15 11:10:31 4: wz_klima: no redirects to handle
2021.02.15 11:10:31 5: wz_klima: Read callback sets LAST_REQUEST to get02
2021.02.15 11:10:31 5: wz_klima: Checking Auth with JSON message
2021.02.15 11:10:31 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.02.15 11:10:31 5: wz_klima: CheckAuth decided no authentication required
2021.02.15 11:10:31 5: wz_klima: ExtractReading for context get, num 02 - no individual parse definition
2021.02.15 11:10:31 5: wz_klima: Read starts parsing response to get02 with defined readings: 01,02,03,04,05
2021.02.15 11:10:31 5: wz_klima: ExtractReading actual_operate with json parameters_operate ...
2021.02.15 11:10:31 5: wz_klima: ExtractReading actual_operate did not match
2021.02.15 11:10:31 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet ...
2021.02.15 11:10:31 5: wz_klima: ExtractReading actual_desired-temp did not match
2021.02.15 11:10:31 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe ...
2021.02.15 11:10:31 5: wz_klima: ExtractReading actual_nanoe did not match
2021.02.15 11:10:31 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode ...
2021.02.15 11:10:31 5: wz_klima: ExtractReading actual_ecomode did not match
2021.02.15 11:10:31 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode ...
2021.02.15 11:10:31 5: wz_klima: ExtractReading actual_operationmode did not match
2021.02.15 11:10:31 4: wz_klima: Read response to get02 didn't match any Reading
2021.02.15 11:10:31 5: wz_klima: HandleSendQueue called from ReadCallback, qlen = 0
2021.02.15 11:10:31 5: wz_klima: HandleSendQueue found no usable entry in queue
2021.02.15 11:11:29 5: wz_klima: get called with Status
2021.02.15 11:11:29 5: wz_klima: get found option Status in attribute get02Name
2021.02.15 11:11:29 4: wz_klima: get will now request Status, no optional value
2021.02.15 11:11:29 5: wz_klima: AddToQueue adds type get02 to URL https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], no data, header X-APP-TYPE: 1
2021.02.15 11:11:29 5: wz_klima: HandleSendQueue called from AddToSendQueue, qlen = 1
2021.02.15 11:11:29 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
2021.02.15 11:11:29 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input:
2021.02.15 11:11:29 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
2021.02.15 11:11:30 4: wz_klima: HandleSendQueue sends get02 with timeout 2 to https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], No Data,
2021.02.15 11:11:31 5: wz_klima: ReadCallback called from __ANON__
2021.02.15 11:11:31 4: wz_klima: Read callback: request type was get02 retry 0,
2021.02.15 11:11:31 5: wz_klima: Read callback: body
2021.02.15 11:11:31 4: wz_klima: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2021.02.15 11:11:31 4: wz_klima: BodyDecode is decoding the response body as utf-8
2021.02.15 11:11:31 3: wz_klima: error while parsing JSON data: Wide character in subroutine entry at lib/FHEM/HTTPMOD/Utils.pm line 668.
2021.02.15 11:11:31 5: wz_klima: GetCookies is looking for Cookies
2021.02.15 11:11:31 5: wz_klima: ExtractSid called, context get, num 02
2021.02.15 11:11:31 4: wz_klima: checking for redirects, code=400, ignore=0
2021.02.15 11:11:31 4: wz_klima: no redirects to handle
2021.02.15 11:11:31 5: wz_klima: Read callback sets LAST_REQUEST to get02
2021.02.15 11:11:31 5: wz_klima: Checking Auth with JSON message
2021.02.15 11:11:31 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.02.15 11:11:31 5: wz_klima: CheckAuth decided no authentication required
2021.02.15 11:11:31 5: wz_klima: ExtractReading for context get, num 02 - no individual parse definition
2021.02.15 11:11:31 5: wz_klima: Read starts parsing response to get02 with defined readings: 01,02,03,04,05
2021.02.15 11:11:31 5: wz_klima: ExtractReading actual_operate with json parameters_operate ...
2021.02.15 11:11:31 5: wz_klima: ExtractReading actual_operate did not match
2021.02.15 11:11:31 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet ...
2021.02.15 11:11:31 5: wz_klima: ExtractReading actual_desired-temp did not match
2021.02.15 11:11:31 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe ...
2021.02.15 11:11:31 5: wz_klima: ExtractReading actual_nanoe did not match
2021.02.15 11:11:31 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode ...
2021.02.15 11:11:31 5: wz_klima: ExtractReading actual_ecomode did not match
2021.02.15 11:11:31 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode ...
2021.02.15 11:11:31 5: wz_klima: ExtractReading actual_operationmode did not match
2021.02.15 11:11:31 4: wz_klima: Read response to get02 didn't match any Reading
2021.02.15 11:11:31 5: wz_klima: HandleSendQueue called from ReadCallback, qlen = 0
2021.02.15 11:11:31 5: wz_klima: HandleSendQueue found no usable entry in queue
2021.02.15 11:11:55 4: wz_klima: GetUpdate called (update)
2021.02.15 11:11:55 4: wz_klima: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 180.0 sec at 11:14:55.589, interval 180
2021.02.15 11:11:55 5: wz_klima: AddToQueue adds type update to URL https://accsmart.panasonic.com/device/group, no data, header X-APP-TYPE: 1
2021.02.15 11:11:55 5: wz_klima: HandleSendQueue called from AddToSendQueue, qlen = 1
2021.02.15 11:11:55 5: wz_klima: Replace called for type update, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
2021.02.15 11:11:55 5: wz_klima: Replace called for type update, regex (?^:##PARAMS##), mode reading, empty value input:
2021.02.15 11:11:55 5: wz_klima: Replace called for type update, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/device/group
2021.02.15 11:11:55 4: wz_klima: HandleSendQueue sends update with timeout 2 to https://accsmart.panasonic.com/device/group, No Data,
2021.02.15 11:11:56 5: wz_klima: ReadCallback called from __ANON__
2021.02.15 11:11:56 4: wz_klima: Read callback: request type was update retry 0,
2021.02.15 11:11:56 5: wz_klima: Read callback: body
2021.02.15 11:11:56 4: wz_klima: BodyDecode found charset header and set decoding to UTF-8 (bodyDecode was set to auto)
2021.02.15 11:11:56 4: wz_klima: BodyDecode is decoding the response body as UTF-8
2021.02.15 11:11:56 4: wz_klima: extracted JSON values to internal
2021.02.15 11:11:56 5: wz_klima: GetCookies is looking for Cookies
2021.02.15 11:11:56 5: wz_klima: ExtractSid called, context reading, num 0
2021.02.15 11:11:56 4: wz_klima: checking for redirects, code=200, ignore=0
2021.02.15 11:11:56 4: wz_klima: no redirects to handle
2021.02.15 11:11:56 5: wz_klima: Read callback sets LAST_REQUEST to update
2021.02.15 11:11:56 5: wz_klima: Checking Auth with JSON message
2021.02.15 11:11:56 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.02.15 11:11:56 5: wz_klima: CheckAuth decided no authentication required
2021.02.15 11:11:56 5: wz_klima: Read starts parsing response to update with defined readings: 01,02,03,04,05
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_operate with json parameters_operate ...
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_operate with json parameters_operate did not match a key directly - trying regex match to create a list
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_operate with json /^parameters_operate/ got keylist
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_operate did not match
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet ...
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet did not match a key directly - trying regex match to create a list
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_desired-temp with json /^parameters_temperatureSet/ got keylist
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_desired-temp did not match
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe ...
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe did not match a key directly - trying regex match to create a list
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_nanoe with json /^parameters_actualNanoe/ got keylist
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_nanoe did not match
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode ...
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode did not match a key directly - trying regex match to create a list
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_ecomode with json /^parameters_ecoMode/ got keylist
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_ecomode did not match
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode ...
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode did not match a key directly - trying regex match to create a list
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_operationmode with json /^parameters_operationMode/ got keylist
2021.02.15 11:11:56 5: wz_klima: ExtractReading actual_operationmode did not match
2021.02.15 11:11:56 4: wz_klima: Read response to update didn't match any Reading
2021.02.15 11:11:56 5: wz_klima: HandleSendQueue called from ReadCallback, qlen = 0
2021.02.15 11:11:56 5: wz_klima: HandleSendQueue found no usable entry in queue
2021.02.15 11:12:30 5: wz_klima: get called with Status
2021.02.15 11:12:30 5: wz_klima: get found option Status in attribute get02Name
2021.02.15 11:12:30 4: wz_klima: get will now request Status, no optional value
2021.02.15 11:12:30 5: wz_klima: AddToQueue adds type get02 to URL https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], no data, header X-APP-TYPE: 1
2021.02.15 11:12:30 5: wz_klima: HandleSendQueue called from AddToSendQueue, qlen = 1
2021.02.15 11:12:30 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
2021.02.15 11:12:30 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input:
2021.02.15 11:12:30 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
2021.02.15 11:12:30 4: wz_klima: HandleSendQueue sends get02 with timeout 2 to https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], No Data,
2021.02.15 11:12:31 5: wz_klima: ReadCallback called from __ANON__
2021.02.15 11:12:31 4: wz_klima: Read callback: request type was get02 retry 0,
2021.02.15 11:12:31 5: wz_klima: Read callback: body
2021.02.15 11:12:31 4: wz_klima: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2021.02.15 11:12:31 4: wz_klima: BodyDecode is decoding the response body as utf-8
2021.02.15 11:12:31 3: wz_klima: error while parsing JSON data: Wide character in subroutine entry at lib/FHEM/HTTPMOD/Utils.pm line 668.
2021.02.15 11:12:31 5: wz_klima: GetCookies is looking for Cookies
2021.02.15 11:12:31 5: wz_klima: ExtractSid called, context get, num 02
2021.02.15 11:12:31 4: wz_klima: checking for redirects, code=400, ignore=0
2021.02.15 11:12:31 4: wz_klima: no redirects to handle
2021.02.15 11:12:31 5: wz_klima: Read callback sets LAST_REQUEST to get02
2021.02.15 11:12:31 5: wz_klima: Checking Auth with JSON message
2021.02.15 11:12:31 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.02.15 11:12:31 5: wz_klima: CheckAuth decided no authentication required
2021.02.15 11:12:31 5: wz_klima: ExtractReading for context get, num 02 - no individual parse definition
2021.02.15 11:12:31 5: wz_klima: Read starts parsing response to get02 with defined readings: 01,02,03,04,05
2021.02.15 11:12:31 5: wz_klima: ExtractReading actual_operate with json parameters_operate ...
2021.02.15 11:12:31 5: wz_klima: ExtractReading actual_operate did not match
2021.02.15 11:12:31 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet ...
2021.02.15 11:12:31 5: wz_klima: ExtractReading actual_desired-temp did not match
2021.02.15 11:12:31 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe ...
2021.02.15 11:12:31 5: wz_klima: ExtractReading actual_nanoe did not match
2021.02.15 11:12:31 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode ...
2021.02.15 11:12:31 5: wz_klima: ExtractReading actual_ecomode did not match
2021.02.15 11:12:31 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode ...
2021.02.15 11:12:31 5: wz_klima: ExtractReading actual_operationmode did not match
2021.02.15 11:12:31 4: wz_klima: Read response to get02 didn't match any Reading
2021.02.15 11:12:31 5: wz_klima: HandleSendQueue called from ReadCallback, qlen = 0
2021.02.15 11:12:31 5: wz_klima: HandleSendQueue found no usable entry in queue
2021.02.15 11:13:29 5: wz_klima: get called with Status
2021.02.15 11:13:29 5: wz_klima: get found option Status in attribute get02Name
2021.02.15 11:13:29 4: wz_klima: get will now request Status, no optional value
2021.02.15 11:13:29 5: wz_klima: AddToQueue adds type get02 to URL https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], no data, header X-APP-TYPE: 1
2021.02.15 11:13:29 5: wz_klima: HandleSendQueue called from AddToSendQueue, qlen = 1
2021.02.15 11:13:29 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
2021.02.15 11:13:29 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input:
2021.02.15 11:13:29 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
2021.02.15 11:13:29 4: wz_klima: HandleSendQueue sends get02 with timeout 2 to https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], No Data,
2021.02.15 11:13:31 5: wz_klima: ReadCallback called from __ANON__
2021.02.15 11:13:31 4: wz_klima: Read callback: request type was get02 retry 0,
2021.02.15 11:13:31 5: wz_klima: Read callback: body
2021.02.15 11:13:31 4: wz_klima: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2021.02.15 11:13:31 4: wz_klima: BodyDecode is decoding the response body as utf-8
2021.02.15 11:13:31 3: wz_klima: error while parsing JSON data: Wide character in subroutine entry at lib/FHEM/HTTPMOD/Utils.pm line 668.
2021.02.15 11:13:31 5: wz_klima: GetCookies is looking for Cookies
2021.02.15 11:13:31 5: wz_klima: ExtractSid called, context get, num 02
2021.02.15 11:13:31 4: wz_klima: checking for redirects, code=400, ignore=0
2021.02.15 11:13:31 4: wz_klima: no redirects to handle
2021.02.15 11:13:31 5: wz_klima: Read callback sets LAST_REQUEST to get02
2021.02.15 11:13:31 5: wz_klima: Checking Auth with JSON message
2021.02.15 11:13:31 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.02.15 11:13:31 5: wz_klima: CheckAuth decided no authentication required
2021.02.15 11:13:31 5: wz_klima: ExtractReading for context get, num 02 - no individual parse definition
2021.02.15 11:13:31 5: wz_klima: Read starts parsing response to get02 with defined readings: 01,02,03,04,05
2021.02.15 11:13:31 5: wz_klima: ExtractReading actual_operate with json parameters_operate ...
2021.02.15 11:13:31 5: wz_klima: ExtractReading actual_operate did not match
2021.02.15 11:13:31 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet ...
2021.02.15 11:13:31 5: wz_klima: ExtractReading actual_desired-temp did not match
2021.02.15 11:13:31 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe ...
2021.02.15 11:13:31 5: wz_klima: ExtractReading actual_nanoe did not match
2021.02.15 11:13:31 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode ...
2021.02.15 11:13:31 5: wz_klima: ExtractReading actual_ecomode did not match
2021.02.15 11:13:31 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode ...
2021.02.15 11:13:31 5: wz_klima: ExtractReading actual_operationmode did not match
2021.02.15 11:13:31 4: wz_klima: Read response to get02 didn't match any Reading
2021.02.15 11:13:31 5: wz_klima: HandleSendQueue called from ReadCallback, qlen = 0
2021.02.15 11:13:31 5: wz_klima: HandleSendQueue found no usable entry in queue
2021.02.15 11:14:29 5: wz_klima: get called with Status
2021.02.15 11:14:29 5: wz_klima: get found option Status in attribute get02Name
2021.02.15 11:14:29 4: wz_klima: get will now request Status, no optional value
2021.02.15 11:14:29 5: wz_klima: AddToQueue adds type get02 to URL https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], no data, header X-APP-TYPE: 1
2021.02.15 11:14:29 5: wz_klima: HandleSendQueue called from AddToSendQueue, qlen = 1
2021.02.15 11:14:30 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
2021.02.15 11:14:30 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input:
2021.02.15 11:14:30 5: wz_klima: Replace called for type get02, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
2021.02.15 11:14:30 4: wz_klima: HandleSendQueue sends get02 with timeout 2 to https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID], No Data,
2021.02.15 11:14:31 5: wz_klima: ReadCallback called from __ANON__
2021.02.15 11:14:31 4: wz_klima: Read callback: request type was get02 retry 0,
2021.02.15 11:14:31 5: wz_klima: Read callback: body
2021.02.15 11:14:31 4: wz_klima: BodyDecode found charset header and set decoding to utf-8 (bodyDecode was set to auto)
2021.02.15 11:14:31 4: wz_klima: BodyDecode is decoding the response body as utf-8
2021.02.15 11:14:31 3: wz_klima: error while parsing JSON data: Wide character in subroutine entry at lib/FHEM/HTTPMOD/Utils.pm line 668.
2021.02.15 11:14:31 5: wz_klima: GetCookies is looking for Cookies
2021.02.15 11:14:31 5: wz_klima: ExtractSid called, context get, num 02
2021.02.15 11:14:31 4: wz_klima: checking for redirects, code=400, ignore=0
2021.02.15 11:14:31 4: wz_klima: no redirects to handle
2021.02.15 11:14:31 5: wz_klima: Read callback sets LAST_REQUEST to get02
2021.02.15 11:14:31 5: wz_klima: Checking Auth with JSON message
2021.02.15 11:14:31 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.02.15 11:14:31 5: wz_klima: CheckAuth decided no authentication required
2021.02.15 11:14:31 5: wz_klima: ExtractReading for context get, num 02 - no individual parse definition
2021.02.15 11:14:31 5: wz_klima: Read starts parsing response to get02 with defined readings: 01,02,03,04,05
2021.02.15 11:14:31 5: wz_klima: ExtractReading actual_operate with json parameters_operate ...
2021.02.15 11:14:31 5: wz_klima: ExtractReading actual_operate did not match
2021.02.15 11:14:31 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet ...
2021.02.15 11:14:31 5: wz_klima: ExtractReading actual_desired-temp did not match
2021.02.15 11:14:31 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe ...
2021.02.15 11:14:31 5: wz_klima: ExtractReading actual_nanoe did not match
2021.02.15 11:14:31 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode ...
2021.02.15 11:14:31 5: wz_klima: ExtractReading actual_ecomode did not match
2021.02.15 11:14:31 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode ...
2021.02.15 11:14:31 5: wz_klima: ExtractReading actual_operationmode did not match
2021.02.15 11:14:31 4: wz_klima: Read response to get02 didn't match any Reading
2021.02.15 11:14:31 5: wz_klima: HandleSendQueue called from ReadCallback, qlen = 0
2021.02.15 11:14:31 5: wz_klima: HandleSendQueue found no usable entry in queue
2021.02.15 11:14:55 4: wz_klima: GetUpdate called (update)
2021.02.15 11:14:55 4: wz_klima: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 180.0 sec at 11:17:55.593, interval 180
2021.02.15 11:14:55 5: wz_klima: AddToQueue adds type update to URL https://accsmart.panasonic.com/device/group, no data, header X-APP-TYPE: 1
2021.02.15 11:14:55 5: wz_klima: HandleSendQueue called from AddToSendQueue, qlen = 1
2021.02.15 11:14:55 5: wz_klima: Replace called for type update, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
2021.02.15 11:14:55 5: wz_klima: Replace called for type update, regex (?^:##PARAMS##), mode reading, empty value input:
2021.02.15 11:14:55 5: wz_klima: Replace called for type update, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/device/group
2021.02.15 11:14:55 4: wz_klima: HandleSendQueue sends update with timeout 2 to https://accsmart.panasonic.com/device/group, No Data,
2021.02.15 11:14:57 5: wz_klima: ReadCallback called from __ANON__
2021.02.15 11:14:57 4: wz_klima: Read callback: request type was update retry 0,
2021.02.15 11:14:57 5: wz_klima: Read callback: body
2021.02.15 11:14:57 4: wz_klima: BodyDecode found charset header and set decoding to UTF-8 (bodyDecode was set to auto)
2021.02.15 11:14:57 4: wz_klima: BodyDecode is decoding the response body as UTF-8
2021.02.15 11:14:57 4: wz_klima: extracted JSON values to internal
2021.02.15 11:14:57 5: wz_klima: GetCookies is looking for Cookies
2021.02.15 11:14:57 5: wz_klima: ExtractSid called, context reading, num 0
2021.02.15 11:14:57 4: wz_klima: checking for redirects, code=200, ignore=0
2021.02.15 11:14:57 4: wz_klima: no redirects to handle
2021.02.15 11:14:57 5: wz_klima: Read callback sets LAST_REQUEST to update
2021.02.15 11:14:57 5: wz_klima: Checking Auth with JSON message
2021.02.15 11:14:57 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.02.15 11:14:57 5: wz_klima: CheckAuth decided no authentication required
2021.02.15 11:14:57 5: wz_klima: Read starts parsing response to update with defined readings: 01,02,03,04,05
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_operate with json parameters_operate ...
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_operate with json parameters_operate did not match a key directly - trying regex match to create a list
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_operate with json /^parameters_operate/ got keylist
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_operate did not match
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet ...
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet did not match a key directly - trying regex match to create a list
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_desired-temp with json /^parameters_temperatureSet/ got keylist
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_desired-temp did not match
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe ...
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe did not match a key directly - trying regex match to create a list
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_nanoe with json /^parameters_actualNanoe/ got keylist
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_nanoe did not match
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode ...
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode did not match a key directly - trying regex match to create a list
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_ecomode with json /^parameters_ecoMode/ got keylist
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_ecomode did not match
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode ...
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode did not match a key directly - trying regex match to create a list
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_operationmode with json /^parameters_operationMode/ got keylist
2021.02.15 11:14:57 5: wz_klima: ExtractReading actual_operationmode did not match
2021.02.15 11:14:57 4: wz_klima: Read response to update didn't match any Reading
2021.02.15 11:14:57 5: wz_klima: HandleSendQueue called from ReadCallback, qlen = 0
2021.02.15 11:14:57 5: wz_klima: HandleSendQueue found no usable entry in queue
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 15 Februar 2021, 11:32:12
Versuche deine Defintion, bevor es läuft, so lean wie möglich zu halten. Also parse erstmal keine bestimmten Readings. Ich sehe im Log dass er nicht parsen kann, aber warum (JSON fehlt, Authentifizierung fehlerhaft, das sieht man leider nicht.)

Mache wie ich bereits unten geschrieben die Definition mit
https://accsmart.panasonic.com/device/group 180
Vorteil hier, die URL ist immer richtig, hier musst du keine speziellen Anpassungen (Device ID etc.) machen
und setze bitte den Attribut
attr DeinHTTPMODDevice extractAllJSON 1
und dann schauen wir mal was alles als Readings ankommt.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 15 Februar 2021, 11:47:09
OK, habe das Gerät jetzt mal neu angelegt. Welche der Attribute sind denn jetzt zwingend erforderlich? Ich muss zugeben, bin nur Anwender und habe von HTTPMOD gar keine Ahnung...
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 15 Februar 2021, 11:55:53
Brauchst kein neues Device. Schreib doch einfach in die Definition die URL, die ich dir zwei mal geschickt habe und setze das Attribut aus meinem letzten Post. Weil der Rest mit der Authentifizierung und Header was soweit in Ordnung.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 15 Februar 2021, 12:02:34
OK, jetzt sind auf einmal Readings gekommen. Keine Ahnung, aber diese Definition hatte ich jetzt bestimmt schon 10x so  ???
Wie jetzt weiter? Soll ich dann die ursprüngliche Definition wieder eintragen und Model sowie DeviceID ergänzen?
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 15 Februar 2021, 13:23:51
OK, jetzt sind auf einmal Readings gekommen.

Das ist gut. Dann ist die Authentifizierung und Get Header richtig. Jetzt lässt du die Basisdefinition so, und spielst mit deinen get bzw. set-URLs und wenn was nicht funktioniert, weißt du dass das nicht an deiner Basisdefintion liegt.

Wie schon oben erwähnt ich habe keinen Reading mit dem Model, habe nur die Device ID. Die devicespezifischen get-URLs nutze ich nicht, deswegen weiß ich nicht in wie weit sich die Defintion ohne Model ändert. Bei den set-URLs sieht der set01Data Attribut z.B. wie folgt aus:
{"deviceGuid": "CXXXXXXXXX", "parameters": {"operate": $val}}
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 15 Februar 2021, 13:30:40
ZitatDie devicespezifischen get-URLs nutze ich nicht, deswegen weiß ich nicht in wie weit sich die Defintion ohne Model ändert.

Habe gerade ausprobiert, reicht einfach nur die Device ID zu nehmen:
https://accsmart.panasonic.com/deviceStatus/CXXXXXXXXX
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 15 Februar 2021, 14:05:24
Super, vielen Dank für die Hilfe!
Ich bin nun in der Lage die Klimaanlage von FHEM aus einzuschalten  ;D 8) . Jetzt kann der Sommer kommen...
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 18 Februar 2021, 14:52:32
Hallo zusammen,

habe seit gestern mein FHEM am Laufen und versuche nun, mit Hilfe der hier beschriebenen Anleitung meine 3 Klimaanlagen zu steuern.

Habe erst einmal ein für ein Gerät das Device, den Dummy und die notifys angelegt.

Bekomme aber die Devide-IDs nicht angezeigt, ob wohl ich die beiden genannten Parameter angepasst habe.

2021.02.18 14:47:47 3: sz_klima: error while parsing JSON data: Wide character in subroutine entry at lib/FHEM/HTTPMOD/Utils.pm line 668.

2021.02.18 14:47:47 3: sz_klima: no parsed JSON structure available


Was kann ich nun machen?

Vielen Dank für die Hilfe
Marco
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 18 Februar 2021, 14:57:20
Kann vieles sein... eins list des Devices würde helfen
https://forum.fhem.de/index.php/topic,71806.0.html (https://forum.fhem.de/index.php/topic,71806.0.html)
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 18 Februar 2021, 15:04:02
Habe Mail und PW mal editiert...

Internals:
   BUSY       0
   DEF        https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID] 180
   FUUID      602e6644-f33f-698a-dca2-ccc515cbe911af21
   Interval   180
   LastAuthTry 2021-02-18 15:01:23
   MainURL    https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
   ModuleVersion 4.1.02 - 4.2.2021
   NAME       sz_klima
   NOTIFYDEV  global
   NR         44
   NTFY_ORDER 50-sz_klima
   STATE      Ausgeschaltet
   TYPE       HTTPMOD
   sid        7YzUQIVmpC2xNOTuKTFZDdGXAcDAMrH4
   value     
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       https://accsmart.panasonic.com:443
     auth       0
     buf       
     code       400
     compress   1
     conn       
     data       
     displayurl https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
     header     X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: 7YzUQIVmpC2xNOTuKTFZDdGXAcDAMrH4
     host       accsmart.panasonic.com
     httpheader HTTP/1.1 400
Server: nginx
Date: Thu, 18 Feb 2021 14:02:55 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 435
Connection: close
Content-Language: en
     httpversion 1.1
     hu_blocking 0
     hu_filecount 1
     hu_port    443
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /deviceStatus/[MODELL]+[DEVICE-ID]
     protocol   https
     redirects  0
     timeout    2
     url        https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
     sslargs:
   QUEUE:
   READINGS:
   REQUEST:
     context    reading
     data       
     header     X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: $sid
     ignoreredirects 0
     num        0
     retryCount 0
     type       update
     url        https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
Attributes:
   disable    0
   enableCookies 1
   event-on-change-reading actual_.*
   extractAllJSON 1
   get01Name  Devicegroup
   get01URL   https://accsmart.panasonic.com/device/group
   get02ExtractAllJSON 0
   get02Name  Status
   get02URL   https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
   getHeader1 X-APP-TYPE: 1
   getHeader2 X-APP-VERSION: 1.10.0
   getHeader3 Accept: application/json
   getHeader4 Content-Type: application/json
   getHeader5 User-Agent: G-RAC
   getHeader6 X-User-Authorization: $sid
   group      Klimaanlage
   httpVersion 1.1
   reAuthJSON message
   reAuthRegex Token expires
   reading01JSON parameters_operate
   reading01Name actual_operate
   reading02JSON parameters_temperatureSet
   reading02Name actual_desired-temp
   reading03JSON parameters_actualNanoe
   reading03Name actual_nanoe
   reading04JSON parameters_ecoMode
   reading04Name actual_ecomode
   reading05JSON parameters_operationMode
   reading05Name actual_operationmode
   replacement01Mode reading
   replacement01Regex ##PARAMS##
   requestHeader01 X-APP-TYPE: 1
   requestHeader02 X-APP-VERSION: 1.10.0
   requestHeader03 Accept: application/json
   requestHeader04 Content-Type: application/json
   requestHeader05 User-Agent: G-RAC
   requestHeader06 X-User-Authorization: $sid
   room       20_Schlafzimmer
   set01Data  {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {"operate": 1}}
   set01Name  PowerOn
   set01URL   https://accsmart.panasonic.com/deviceStatus/control
   set02Data  {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {"operate": 0}}
   set02Name  PowerOff
   set02URL   https://accsmart.panasonic.com/deviceStatus/control
   set03Data  {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {##PARAMS##}}
   set03Name  Control
   set03Replacement01Value sz_d_klima:params
   set03URL   https://accsmart.panasonic.com/deviceStatus/control
   setHeader1 X-APP-TYPE: 1
   setHeader2 X-APP-VERSION: 1.10.0
   setHeader3 Accept: application/json
   setHeader4 Content-Type: application/json
   setHeader5 User-Agent: G-RAC
   setHeader6 X-User-Authorization: $sid
   sid01Data  {"language": "0","loginId": "XXX@XXX","password": "YYYY"}
   sid01Header1 X-APP-TYPE: 1
   sid01Header2 X-APP-VERSION: 1.10.0
   sid01Header3 Accept: application/json
   sid01Header4 Content-Type: application/json
   sid01Header5 User-Agent: G-RAC
   sid01IdJSON uToken
   sid01URL   https://accsmart.panasonic.com/auth/login
   stateFormat {InternalVal("sz_d_klima", "STATE", "")}
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 18 Februar 2021, 15:10:16
was sagt
get sz_klima Devicegroup
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 18 Februar 2021, 15:14:00
Wenn ich das eingebe, erscheint Folgendes:

Devicegroup requested, watch readings

Ich sehe nirgendwo readings... Wo wird das angezeigt? Im Log steht nichts.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 18 Februar 2021, 15:47:04
in deinem HTTPMOD Device müssten jetzt haufen readings auftauchen
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 18 Februar 2021, 15:58:33
Yepp. die Device-Ids stehen da jetzt drin.

Wo muss die Device-id jetzt hinterlegt werden?

Soll ich das: attr DeinHTTPMODDevice extractAllJSON 1 wieder ändern?
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 18 Februar 2021, 22:37:25
Hab noch ein bischen gelesen und rumprobiert:

Das Lesen der Parameter klappt nur, wenn ich den Parameter BodyDecode = None setze. Ansonsten keinen Zugriff und keine Readings. Jetzt holt FHEM die Werte ab. Allerdings kann die Anlage nicht gesteuert werden, im Log steht folgender Fehler:


2021.02.18 22:33:39 3: sz_klima: no parsed JSON structure available
2021.02.18 22:33:46 3: at_trigger_klima_status_update_cycle: Status requested, watch readings
2021.02.18 22:33:47 3: sz_klima: error while parsing JSON data: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<!doctype html><html...") at lib/FHEM/HTTPMOD/Utils.pm line 668.


Die Recherche im Forum hat mich da leider nicht weiter gebracht.

Vielleicht jemand einen Tipp?

Gruß
Marco
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 19 Februar 2021, 07:04:17
Schreib mal in das folgende Atrtribut anstatt xxxxx die Device ID des zu steuernden Geräts
set01Data  {"deviceGuid": "xxxxx","parameters": {"operate": 1}}

und dann mach folgendes:
set sz_klima PowerOn

was passiert dann?
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 19 Februar 2021, 09:30:47
Nachdem ich nun überall Modell+Device-ID eingetragen habe, geht auch bei mir die Steuerung.

Allerdings nur, wenn der Parameter BodyDecode = None setze.

Vielen Dank für die intensive Unterstützung.

Gruß
Marco

PS: Kann ich diesen Fehler 2021.02.18 22:33:47 3: sz_klima: error while parsing JSON data: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<!doctype html><html...") at lib/FHEM/HTTPMOD/Utils.pm line 668. ignorieren? Der ist immer noch da :-(
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 19 Februar 2021, 10:43:45
Ich habe den Fehler nicht, kann dir aber auch nicht sagen warum du den Fehler hast. Evtl. ist die Frage im HTTPMOD Thread besser plaziert.

Gruß
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 19 Februar 2021, 22:55:01
Übrigens erscheint bei set sz_klima PowerOn der Fehler

"set value is not numeric "
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: joker4791 am 20 Februar 2021, 20:25:50
Probier's mal so:
set sz_klima PowerOn 1
Ist zwar doppelt gemoppelt und nicht schön/logisch, aber so versteht es die Maschine :) ...
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 21 Februar 2021, 16:16:55
Zitatset value is not numeric

Setze den folgenden Attribut, dann klappt es

attr sz_klima set01TextArg 1

Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 22 Februar 2021, 15:25:54
Danke für die Unterstützung !!!
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 08 März 2021, 09:01:47
Nach nunmehr 2 Wochen und einigen Tests habe ich eine Frage zum Modul:

Sehe ich das richtig, dass in dem Moment, wenn eine Klimaanlage eingeschaltet wird, dessen Status über den AT-Befehl überwacht wird, da der AT-Befehl entsprechend modifiziert wird? Das läuft doch dann auseinander, wenn ich 2 Klimaanlagen gleichzeitig laufen habe, oder? Es wird doch dann immer nur die zuletzt eingeschaltete überwacht.

Gruß
Marco
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: teufelchen am 09 Juni 2021, 17:21:46
Hallo,

ich versuche gerade vergeblich meine Klimaanlagen in FHEM zu bringen.

Definiert habe ich es wie folgt:
defmod wz_klima HTTPMOD https://accsmart.panasonic.com/device/group 180
attr wz_klima disable 0
attr wz_klima enableCookies 1
attr wz_klima errLogLevelRegex 1
attr wz_klima event-on-change-reading actual_.*
attr wz_klima get01Name Devicegroup
attr wz_klima get01URL https://accsmart.panasonic.com/device/group
attr wz_klima get02ExtractAllJSON 0
attr wz_klima get02Name Status
attr wz_klima get02URL https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
attr wz_klima getHeader1 X-APP-TYPE: 1
attr wz_klima getHeader2 X-APP-VERSION: 1.10.0
attr wz_klima getHeader3 Accept: application/json
attr wz_klima getHeader4 Content-Type: application/json
attr wz_klima getHeader5 User-Agent: G-RAC
attr wz_klima getHeader6 X-User-Authorization: $sid
attr wz_klima group Klimaanlage
attr wz_klima httpVersion 1.1
attr wz_klima reAuthJSON message
attr wz_klima reAuthRegex Token expires
attr wz_klima reading01JSON parameters_operate
attr wz_klima reading01Name actual_operate
attr wz_klima reading02JSON parameters_temperatureSet
attr wz_klima reading02Name actual_desired-temp
attr wz_klima reading03JSON parameters_actualNanoe
attr wz_klima reading03Name actual_nanoe
attr wz_klima reading04JSON parameters_ecoMode
attr wz_klima reading04Name actual_ecomode
attr wz_klima reading05JSON parameters_operationMode
attr wz_klima reading05Name actual_operationmode
attr wz_klima replacement01Mode reading
attr wz_klima replacement01Regex ##PARAMS##
attr wz_klima requestHeader01 X-APP-TYPE: 1
attr wz_klima requestHeader02 X-APP-VERSION: 1.10.0
attr wz_klima requestHeader03 Accept: application/json
attr wz_klima requestHeader04 Content-Type: application/json
attr wz_klima requestHeader05 User-Agent: G-RAC
attr wz_klima requestHeader06 X-User-Authorization: $sid
attr wz_klima room Klimaanlage
attr wz_klima set01Data {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {"operate": 1}}
attr wz_klima set01Name PowerOn
attr wz_klima set01URL https://accsmart.panasonic.com/deviceStatus/control
attr wz_klima set02Data {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {"operate": 0}}
attr wz_klima set02Name PowerOff
attr wz_klima set02URL https://accsmart.panasonic.com/deviceStatus/control
attr wz_klima set03Data {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {##PARAMS##}}
attr wz_klima set03Name Control
attr wz_klima set03Replacement01Value wz_d_klima:params
attr wz_klima set03URL https://accsmart.panasonic.com/deviceStatus/control
attr wz_klima setHeader1 X-APP-TYPE: 1
attr wz_klima setHeader2 X-APP-VERSION: 1.10.0
attr wz_klima setHeader3 Accept: application/json
attr wz_klima setHeader4 Content-Type: application/json
attr wz_klima setHeader5 User-Agent: G-RAC
attr wz_klima setHeader6 X-User-Authorization: $sid
attr wz_klima sid01Data {"language": "0","loginId": "[Benutzer]","password": "[Passwort]"}
attr wz_klima sid01Header1 X-APP-TYPE: 1
attr wz_klima sid01Header2 X-APP-VERSION: 1.10.0
attr wz_klima sid01Header3 Accept: application/json
attr wz_klima sid01Header4 Content-Type: application/json
attr wz_klima sid01Header5 User-Agent: G-RAC
attr wz_klima sid01IdJSON uToken
attr wz_klima sid01URL https://accsmart.panasonic.com/auth/login
attr wz_klima stateFormat {InternalVal("wz_d_klima", "STATE", "")}
attr wz_klima verbose 5


ein get wz-klima Devicegroup bringt keine readings

Im Log ist folgendes:
2021.06.09 17:16:13 5: wz_klima: get called with Devicegroup
2021.06.09 17:16:13 5: wz_klima: get found option Devicegroup in attribute get01Name
2021.06.09 17:16:13 4: wz_klima: get will now request Devicegroup, no optional value
2021.06.09 17:16:13 5: wz_klima: AddToQueue adds type get01 to URL https://accsmart.panasonic.com/device/group, no data, header X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: $sid, retry 0, initial queue len: 0
2021.06.09 17:16:13 5: wz_klima: HandleSendQueue called from AddToSendQueue, qlen = 1
2021.06.09 17:16:13 5: wz_klima: Replace called for type get01, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: $sid
2021.06.09 17:16:13 5: wz_klima: Replace called for type get01, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/device/group
2021.06.09 17:16:13 4: wz_klima: HandleSendQueue sends get01 with timeout 2 to https://accsmart.panasonic.com/device/group, No Data,
header: X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: $sid
2021.06.09 17:16:14 5: wz_klima: ReadCallback called from __ANON__
2021.06.09 17:16:14 4: wz_klima: Read callback: request type was get01 retry 0,
header: HTTP/1.1 401
Date: Wed, 09 Jun 2021 15:16:14 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 39
Connection: close
Server: nginx
Cache-Control: no-cache, must-revalidate, body length 39
2021.06.09 17:16:14 5: wz_klima: Read callback: body
{"message":"Token expires","code":4100}
2021.06.09 17:16:14 4: wz_klima: BodyDecode is not decoding the response body (charset UTF-8, bodyDecode defaults to none)
2021.06.09 17:16:14 4: wz_klima: extracted JSON values to internal
2021.06.09 17:16:14 5: wz_klima: GetCookies is looking for Cookies
2021.06.09 17:16:14 5: wz_klima: ExtractSid called, context get, num 01
2021.06.09 17:16:14 4: wz_klima: checking for redirects, code=401, ignore=0
2021.06.09 17:16:14 4: wz_klima: no redirects to handle
2021.06.09 17:16:14 5: wz_klima: Read callback sets LAST_REQUEST to get01
2021.06.09 17:16:14 5: wz_klima: Checking Auth with JSON message
2021.06.09 17:16:14 5: wz_klima: CheckAuth is replacing buffer to check with match: Token expires
2021.06.09 17:16:14 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.06.09 17:16:14 4: wz_klima: CheckAuth decided new authentication required
2021.06.09 17:16:14 5: wz_klima: AddToQueue prepends type get01 to URL https://accsmart.panasonic.com/device/group, no data, header X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: $sid, retry 1, initial queue len: 0
2021.06.09 17:16:14 4: wz_klima: CheckAuth prepended request get01 again before auth, retryCount 0 ...
2021.06.09 17:16:14 4: wz_klima: DoAuth called with Steps: 01
2021.06.09 17:16:14 5: wz_klima: AddToQueue prepends type auth01 to URL https://accsmart.panasonic.com/auth/login, data {"language": "0","loginId": "[Benutzer]","password": "[Passwort]"}, header X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC, retry 0, initial queue len: 1
2021.06.09 17:16:14 5: wz_klima: HandleSendQueue called from DoAuth, qlen = 2
2021.06.09 17:16:14 5: wz_klima: Replace called for type auth01, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
2021.06.09 17:16:14 5: wz_klima: Replace called for type auth01, regex (?^:##PARAMS##), mode reading, empty value input: {"language": "0","loginId": "[Benutzer]","password": "[Passwort]"}
2021.06.09 17:16:14 5: wz_klima: Replace called for type auth01, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/auth/login
2021.06.09 17:16:14 4: wz_klima: HandleSendQueue sends auth01 with timeout 2 to https://accsmart.panasonic.com/auth/login,
data: {"language": "0","loginId": "[Benutzer]","password": "[Passwort]"},
header: X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
2021.06.09 17:16:14 5: wz_klima: StartQueueTimer called from HandleSendQueue sets internal timer to process queue in 1.000 seconds
2021.06.09 17:16:15 5: wz_klima: HandleSendQueue called from Fhem internal timer, qlen = 1
2021.06.09 17:16:15 5: wz_klima: StartQueueTimer called from ReadyForSending sets internal timer to process queue in 1.000 seconds, still waiting for reply to last request
2021.06.09 17:16:16 5: wz_klima: ReadCallback called from __ANON__
2021.06.09 17:16:16 4: wz_klima: Read callback: request type was auth01 retry 0,
header: HTTP/1.1 500
Date: Wed, 09 Jun 2021 15:16:16 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 47
Connection: close
Server: nginx
Cache-Control: no-cache, must-revalidate, body length 47
2021.06.09 17:16:16 5: wz_klima: Read callback: body
{"message":"Internal Server error","code":5000}
2021.06.09 17:16:16 4: wz_klima: BodyDecode is not decoding the response body (charset UTF-8, bodyDecode defaults to none)
2021.06.09 17:16:16 4: wz_klima: extracted JSON values to internal
2021.06.09 17:16:16 5: wz_klima: GetCookies is looking for Cookies
2021.06.09 17:16:16 5: wz_klima: ExtractSid called, context sid, num 01
2021.06.09 17:16:16 5: wz_klima: Checking SID with JSON uToken
2021.06.09 17:16:16 4: wz_klima: checking for redirects, code=500, ignore=0
2021.06.09 17:16:16 4: wz_klima: no redirects to handle
2021.06.09 17:16:16 5: wz_klima: Read callback sets LAST_REQUEST to auth01
2021.06.09 17:16:16 5: wz_klima: HandleSendQueue called from Fhem internal timer, qlen = 1
2021.06.09 17:16:16 5: wz_klima: Replace called for type get01, regex (?^:##PARAMS##), mode reading, empty value input: X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: $sid
2021.06.09 17:16:16 5: wz_klima: Replace called for type get01, regex (?^:##PARAMS##), mode reading, empty value input: https://accsmart.panasonic.com/device/group
2021.06.09 17:16:16 4: wz_klima: HandleSendQueue sends get01 with timeout 2 to https://accsmart.panasonic.com/device/group, No Data,
header: X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: $sid
2021.06.09 17:16:18 5: wz_klima: ReadCallback called from __ANON__
2021.06.09 17:16:18 4: wz_klima: Read callback: request type was get01 retry 1,
header: HTTP/1.1 401
Date: Wed, 09 Jun 2021 15:16:17 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 39
Connection: close
Server: nginx
Cache-Control: no-cache, must-revalidate, body length 39
2021.06.09 17:16:18 5: wz_klima: Read callback: body
{"message":"Token expires","code":4100}
2021.06.09 17:16:18 4: wz_klima: BodyDecode is not decoding the response body (charset UTF-8, bodyDecode defaults to none)
2021.06.09 17:16:18 4: wz_klima: extracted JSON values to internal
2021.06.09 17:16:18 5: wz_klima: GetCookies is looking for Cookies
2021.06.09 17:16:18 5: wz_klima: ExtractSid called, context get, num 01
2021.06.09 17:16:18 4: wz_klima: checking for redirects, code=401, ignore=0
2021.06.09 17:16:18 4: wz_klima: no redirects to handle
2021.06.09 17:16:18 5: wz_klima: Read callback sets LAST_REQUEST to get01
2021.06.09 17:16:18 5: wz_klima: Checking Auth with JSON message
2021.06.09 17:16:18 5: wz_klima: CheckAuth is replacing buffer to check with match: Token expires
2021.06.09 17:16:18 5: wz_klima: CheckAuth is checking buffer with ReAuthRegex (?^:Token expires)
2021.06.09 17:16:18 4: wz_klima: CheckAuth decided new authentication required
2021.06.09 17:16:18 4: wz_klima: Authentication still required but no retries left - did last authentication fail?
2021.06.09 17:16:18 5: wz_klima: ExtractReading for context get, num 01 - no individual parse definition
2021.06.09 17:16:18 5: wz_klima: Read starts parsing response to get01 with defined readings: 01,02,03,04,05
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_operate with json parameters_operate ...
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_operate with json parameters_operate did not match a key directly - trying regex match to create a list
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_operate with json /^parameters_operate/ got keylist
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_operate did not match
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet ...
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_desired-temp with json parameters_temperatureSet did not match a key directly - trying regex match to create a list
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_desired-temp with json /^parameters_temperatureSet/ got keylist
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_desired-temp did not match
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe ...
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_nanoe with json parameters_actualNanoe did not match a key directly - trying regex match to create a list
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_nanoe with json /^parameters_actualNanoe/ got keylist
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_nanoe did not match
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode ...
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_ecomode with json parameters_ecoMode did not match a key directly - trying regex match to create a list
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_ecomode with json /^parameters_ecoMode/ got keylist
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_ecomode did not match
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode ...
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_operationmode with json parameters_operationMode did not match a key directly - trying regex match to create a list
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_operationmode with json /^parameters_operationMode/ got keylist
2021.06.09 17:16:18 5: wz_klima: ExtractReading actual_operationmode did not match
2021.06.09 17:16:18 4: wz_klima: Read response to get01 didn't match any Reading
2021.06.09 17:16:18 5: wz_klima: HandleSendQueue called from ReadCallback, qlen = 0
2021.06.09 17:16:18 5: wz_klima: HandleSendQueue found no usable entry in queue


und dann noch das List:
Internals:
   BUSY       0
   CFGFN     
   DEF        https://accsmart.panasonic.com/device/group 180
   FUUID      60c0d850-f33f-08c6-1dd0-a671c6db1908a5ec
   Interval   180
   LastAuthTry 2021-06-09 17:18:39
   MainURL    https://accsmart.panasonic.com/device/group
   ModuleVersion 4.1.08 - 1.4.2021
   NAME       wz_klima
   NOTIFYDEV  global
   NR         2044
   NTFY_ORDER 50-wz_klima
   STATE      Ausgeschaltet
   TYPE       HTTPMOD
   value     
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       https://accsmart.panasonic.com:443
     auth       0
     buf       
     code       400
     compress   1
     conn       
     data       
     displayurl https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
     header     X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: $sid
     host       accsmart.panasonic.com
     httpheader HTTP/1.1 400
Date: Wed, 09 Jun 2021 15:19:29 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 435
Connection: close
Server: nginx
Content-Language: en
     httpversion 1.1
     hu_blocking 0
     hu_filecount 1
     hu_port    443
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /deviceStatus/[MODELL]+[DEVICE-ID]
     protocol   https
     redirects  0
     timeout    2
     url        https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
     sslargs:
   QUEUE:
   READINGS:
   REQUEST:
     context    get
     data       
     header     X-APP-TYPE: 1
X-APP-VERSION: 1.10.0
Accept: application/json
Content-Type: application/json
User-Agent: G-RAC
X-User-Authorization: $sid
     ignoreredirects 0
     num        02
     retryCount 0
     type       get02
     url        https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
     value     
Attributes:
   disable    0
   enableCookies 1
   errLogLevelRegex 1
   event-on-change-reading actual_.*
   get01Name  Devicegroup
   get01URL   https://accsmart.panasonic.com/device/group
   get02ExtractAllJSON 0
   get02Name  Status
   get02URL   https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
   getHeader1 X-APP-TYPE: 1
   getHeader2 X-APP-VERSION: 1.10.0
   getHeader3 Accept: application/json
   getHeader4 Content-Type: application/json
   getHeader5 User-Agent: G-RAC
   getHeader6 X-User-Authorization: $sid
   group      Klimaanlage
   httpVersion 1.1
   reAuthJSON message
   reAuthRegex Token expires
   reading01JSON parameters_operate
   reading01Name actual_operate
   reading02JSON parameters_temperatureSet
   reading02Name actual_desired-temp
   reading03JSON parameters_actualNanoe
   reading03Name actual_nanoe
   reading04JSON parameters_ecoMode
   reading04Name actual_ecomode
   reading05JSON parameters_operationMode
   reading05Name actual_operationmode
   replacement01Mode reading
   replacement01Regex ##PARAMS##
   requestHeader01 X-APP-TYPE: 1
   requestHeader02 X-APP-VERSION: 1.10.0
   requestHeader03 Accept: application/json
   requestHeader04 Content-Type: application/json
   requestHeader05 User-Agent: G-RAC
   requestHeader06 X-User-Authorization: $sid
   room       Klimaanlage
   set01Data  {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {"operate": 1}}
   set01Name  PowerOn
   set01URL   https://accsmart.panasonic.com/deviceStatus/control
   set02Data  {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {"operate": 0}}
   set02Name  PowerOff
   set02URL   https://accsmart.panasonic.com/deviceStatus/control
   set03Data  {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {##PARAMS##}}
   set03Name  Control
   set03Replacement01Value wz_d_klima:params
   set03URL   https://accsmart.panasonic.com/deviceStatus/control
   setHeader1 X-APP-TYPE: 1
   setHeader2 X-APP-VERSION: 1.10.0
   setHeader3 Accept: application/json
   setHeader4 Content-Type: application/json
   setHeader5 User-Agent: G-RAC
   setHeader6 X-User-Authorization: $sid
   sid01Data  {"language": "0","loginId": "[Benutzer]","password": "[Passwort]"}
   sid01Header1 X-APP-TYPE: 1
   sid01Header2 X-APP-VERSION: 1.10.0
   sid01Header3 Accept: application/json
   sid01Header4 Content-Type: application/json
   sid01Header5 User-Agent: G-RAC
   sid01IdJSON uToken
   sid01URL   https://accsmart.panasonic.com/auth/login
   stateFormat {InternalVal("wz_d_klima", "STATE", "")}
   verbose    5



Muss ich hier schon irgendwelche IDs eingeben oder wo starte ich die Fehlersuche?
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 09 Juni 2021, 22:02:13
...
attr wz_klima get02URL https://accsmart.panasonic.com/deviceStatus/[MODELL]+[DEVICE-ID]
...
attr wz_klima set01Data {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {"operate": 1}}
attr wz_klima set01Name PowerOn
attr wz_klima set01URL https://accsmart.panasonic.com/deviceStatus/control
attr wz_klima set02Data {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {"operate": 0}}
attr wz_klima set02Name PowerOff
attr wz_klima set02URL https://accsmart.panasonic.com/deviceStatus/control
attr wz_klima set03Data {"deviceGuid": "[MODELL]+[DEVICE-ID]","parameters": {##PARAMS##}}



Hi,

ich habe bei MODELL und DEVICE-ID die Werte des Geräts hinterlegt...

und hier müssen deine Zugangsdaten von Panasonic rein:

attr wz_klima sid01Data {"language": "0","loginId": "[Benutzer]","password": "[Passwort]"}

Gruß
Marco
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 10 Juni 2021, 11:02:18
Ich zitiere mich noch mal

ZitatVersuche deine Defintion, bevor es läuft, so lean wie möglich zu halten. Also parse erstmal keine bestimmten Readings. Ich sehe im Log dass er nicht parsen kann, aber warum (JSON fehlt, Authentifizierung fehlerhaft, das sieht man leider nicht.)

Mache wie ich bereits unten geschrieben die Definition mit

https://accsmart.panasonic.com/device/group 180

Vorteil hier, die URL ist immer richtig, hier musst du keine speziellen Anpassungen (Device ID etc.) machen
und setze bitte den Attribut

attr DeinHTTPMODDevice extractAllJSON 1

und dann schauen wir mal was alles als Readings ankommt.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: teufelchen am 10 Juni 2021, 11:26:28
Hallo,

danke für die schnelle Rückmeldung.

Ein Fehler von mir war, dass ich zwar meine Zugangsdaten eingegeben habe, jedoch nicht die eckigen Klammern entfernt habe.

Mit Verbose 5 konnte ich dann im Logfile meine Klimaanlagen schon mal sehen.

Bei set01Data, set02Data und set03Data habe ich nun das eingetragen was ich oben im Logfile bei deviceGuid steht, bei mir nur die ID ohne Modell
attr wz_klima set01Data {"deviceGuid": "C123456789","parameters": {"operate": 1}}

Damit Power on und Power off aus den Menü klappt, habe ich noch folgendes ergänzt:
attr wz_klima set01TextArg 1
attr wz_klima set02TextArg 1


Vielen Dank für die tolle Vorarbeit.

Da ich drei Anlagen habe, kommt als nächstes wie ich diese, möglichst ohne alles 3mal zu kopieren, definieren muss.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 06 August 2021, 18:17:24
Hallo zusammen,

bekomme seit einigen Tagen keinen Connect mehr zum Panasonic-Server. Hat noch jemand das Problem?

Error: connect to https://accsmart.panasonic.com:443

Gruß
Marco
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: monee am 12 August 2021, 17:38:00
Zitat von: marboj am 06 August 2021, 18:17:24
Hallo zusammen,

bekomme seit einigen Tagen keinen Connect mehr zum Panasonic-Server. Hat noch jemand das Problem?

Error: connect to https://accsmart.panasonic.com:443

Gruß
Marco

Ich habe zwar keinen Fehler, aber steuern kann ich die 3 Geräte auch nicht mehr über FHEM... Laut timestamps seit Mitte Juli nicht mehr, da hatte ich die letzten Readings.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: woerni1701 am 12 August 2021, 17:55:08
Bei mir kommen die Readings noch (Steuerung nutze ich nicht) - allerdings musste ich vor ein paar Tagen auf "X-APP-VERSION: 2.0.0" umstellen.
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 13 August 2021, 06:49:21
Das war es - Danke. Aber wie kommt man darauf?
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: woerni1701 am 13 August 2021, 08:30:18
Durch rumspielen mit den Attributen und durch die Diskussion in vorherigen Antworten (:
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: marboj am 19 November 2021, 11:36:13
Zitat von: woerni1701 am 12 August 2021, 17:55:08
Bei mir kommen die Readings noch (Steuerung nutze ich nicht) - allerdings musste ich vor ein paar Tagen auf "X-APP-VERSION: 2.0.0" umstellen.

Hallo zusammen,

mir ist aufgefallen, dass nach einem Neustart die X-APP-Version wieder auf 1.10.0 steht. Wo kommt das her? Vielleicht, weil X-APP-TYPE = 1.

Muss das auch auf 2 geändert werden?

Gruß
Marco

Ergänzung: hat sich erledigt, SD-Karte war defekt... ::)
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: EinEinfach am 12 April 2022, 11:36:52
Falls bei jemandem der Zugang nicht funktionieren sollten, ich musste die X-App-Version im Header wieder ändern:
X-APP-VERSION: 1.14.0
Titel: Antw:Modul für Panasonic Comfort Cloud API?
Beitrag von: Guybrush am 05 Juli 2022, 14:04:45
Hallo zusammen,

ich hab mich der Sache mal angenommen und ein Modul dafür geschrieben  :)

Näheres hier:
https://forum.fhem.de/index.php/topic,128288.0.html

Für Feedbacks/Fehlermeldungen wäre ich dankbar. Bei mir läuft das seit einigen Tagen jedenfalls stabil.

Grüße