Fehler in 01_FHEMWEB.pm bei Benutzung von HTTPMOD und extractAllJSON

Begonnen von Andy89, 11 April 2016, 18:47:20

Vorheriges Thema - Nächstes Thema

Andy89

Servus,
ich wollte meine koubachi Seite mittels HTTPMOD mit extractAllJSON extrahieren. Beim Start vom httpmod wurde die Seite weiß, und im Log stand folgendes:
Zitat2016.04.11 17:45:39 1: memGzip: Wide character in memGzip at ./FHEM/01_FHEMWEB.pm line 459.

Nach einer Suche im Internet bin ich auf folgende Seite gestoßen: http://www.perlmonks.org/?node_id=702320

Als ich Zeile 459 in der aktuellen 01_FHEMWEB.pm:
eval { $FW_RET = Compress::Zlib::memGzip($FW_RET); };
durch folgende 2 Zeilen ersetzt habe:
use Encode qw(encode decode);
eval { $FW_RET = Compress::Zlib::memGzip(encode("utf8",$FW_RET)); };

funktionierte das extrahieren der JSON Werte per HTTPMOD ohne Probleme. Wahrscheinlich geht es sogar ohne das decode in der ersten neuen Zeile.

Vielleicht hilft es irgendwem  ;)

Beste Grüße
Andy

Edit: scheinbar sind dann aber keine deutschen Sonderzeichen mehr möglich in FHEM  :-\

Edit: Vielleicht sieht ja jemand woran es liegen könnte. Im Buffer liegt folgendes, wenn man eine Teilseite per HTTPMOD abruft:
[{"device":{"id":"00066680f358",
"virtual_battery_level":0.3801203154562245,
"ssid":null,
"last_transmission":"2016-04-11T18:51:27+02:00",
"next_transmission":"2016-04-12T18:51:27+02:00",
"associated_since":"2015-01-02T21:10:42+01:00",
"recent_soilmoisture_reading_value":"58 %",
"recent_soilmoisture_reading_time":"2016-04-11T18:46:34+02:00",
"recent_soilmoisture_reading_si_value":13329.4971570411,
"recent_temperature_reading_value":"20.6\u202f\u00b0C",
"recent_temperature_reading_time":"2016-04-11T17:50:55+02:00",
"recent_temperature_reading_si_value":293.774111965741,
"temperature_polling_interval":3600,
"recent_light_reading_value":"182.7\u202flx",
"recent_light_reading_time":"2016-04-11T17:50:55+02:00",
"recent_light_reading_si_value":182.721572785701,
"light_polling_interval":3600,
"hardware_product_type":"outdoor",
"mac_address":"00066666f366",
"plants":[{"id":212393}]}}]


der header sieht so aus:
HTTP/1.1 200 OK Server: nginx Date: Mon, 11 Apr 2016 16:55:50 GMT Content-Type: application/json; charset=utf-8 Content-Length: 870 Connection: close Status: 200 OK X-UA-Compatible: IE=Edge,chrome=1 ETag: "164e51b7e8312f06bf10a3ee34fc5ea5" Cache-Control: max-age=0, private, must-revalidate Set-Cookie: user_credentials=; domain=.koubachi.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT X-Request-Id: f0c0102e-dfa7-4d4f-a0dd-99d131d0052d X-Runtime: 0.044057 X-Rack-Cache: miss
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD