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.
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
Würde mich auch dafür interessieren (: Kann ich irgendwie unterstützen? Kenn mich allerdings weder mit Python noch Perl wirklich aus.
Hier in Leipzig besteht auch Interesse ;D
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
Vorsicht bei Intesis - hier geht ohne Cloud auch nix...
sicher ? Für mich sieht das so aus als ob damit eine direkte fhem Anbindung via enocean funk machbar wäre.
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.
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
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.
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.
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...
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
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.
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:
- HTTPMOD Device für die Kommunikation zur Klimaanlage
- Dummy-Device für das Steuern der Werte
- 2 Notify's für den Abgleich zwischen Dummy Device und HTTPMOD
- eine Funktion in der 99_myUtils
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 .*
@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?
Läuft!
Habe den Header wie folgt geändert:
X-APP-VERSION: 1.10.0
Gruß
Kann man mit den HTTMOD-Befehlen auch 3 Geräte steuern, die an einem User hinterlegt sind?
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ß
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.
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...
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).
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.
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
Hatte ich gemacht, der Abzug oben ist mit dieser Einstellung.
auch bei den sid Headern für den Login (sid01Header2 X-APP-VERSION: 1.10.0)? bei mir klappt das einwandfrei.
Ja, auch dort (insgesamt an vier Stellen)
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?
also das modell bekommst du über das auslesen der devicegroup.
mach doch mal ein list von deinem klima device
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.
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
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.
Ändere bitte die Definition URL und Intervall wie folgt:
https://accsmart.panasonic.com/device/group 180
Kommen dann die Daten?
Nachdem in mal HTTPMOD und den Rest des FHEM geupdated habe, kommen erstmal gar keine Readings mehr :( ...
Setze den verbose Level vom HTTPMOD-Device auf 5 und schaue bitte im fhem Log warum der Authentifizierungsversuch scheitert
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.
Poste mal den gesamten Log, sowas hatte ich auch. Irgendwas stimmt mit deinem Header nicht
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
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.
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...
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.
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?
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}}
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
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...
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
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)
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", "")}
was sagt
get sz_klima Devicegroup
Wenn ich das eingebe, erscheint Folgendes:
Devicegroup requested, watch readings
Ich sehe nirgendwo readings... Wo wird das angezeigt? Im Log steht nichts.
in deinem HTTPMOD Device müssten jetzt haufen readings auftauchen
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?
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
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?
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 :-(
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ß
Übrigens erscheint bei set sz_klima PowerOn
der Fehler
"set value is not numeric "
Probier's mal so:
set sz_klima PowerOn 1
Ist zwar doppelt gemoppelt und nicht schön/logisch, aber so versteht es die Maschine :) ...
Zitatset value is not numeric
Setze den folgenden Attribut, dann klappt es
attr sz_klima set01TextArg 1
Danke für die Unterstützung !!!
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
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?
...
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
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.
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.
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
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.
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.
Das war es - Danke. Aber wie kommt man darauf?
Durch rumspielen mit den Attributen und durch die Diskussion in vorherigen Antworten (:
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... ::)
Falls bei jemandem der Zugang nicht funktionieren sollten, ich musste die X-App-Version im Header wieder ändern:
X-APP-VERSION: 1.14.0
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