YahooWeather Modul Fehlermeldung

Begonnen von smart.builder, 14 Mai 2017, 21:13:15

Vorheriges Thema - Nächstes Thema

smart.builder

Hallo Zusammen,

bei mir erzeugt das YahooWeather Modul folgende Fehlermeldung:


JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at FHEM/YahooWeatherAPI.pm line 247.


Leider finde ich den Konfigurationsfehler nicht.

list:

Internals:
   API        YahooWeatherAPI
   APIOPTIONS transport:https,cachemaxage:600
   DEF        697740 600 de
   INTERVAL   600
   LANG       de
   LOCATION   697740
   NAME       Wetter
   NOTIFYDEV  global
   NR         25
   NTFY_ORDER 50-Wetter
   STATE      T: 6  H: 73  W: 7  P: 976
   TYPE       Weather
   UNITS      c
   Readings:
     2017-05-09 22:41:11   city            Straubing
     2017-05-09 22:41:11   code            27
     2017-05-09 22:41:11   condition       überwiegend wolkig
     2017-05-09 22:41:11   country         Germany
     2017-05-10 22:11:21   current_date_time none
     2017-05-09 22:41:11   day_of_week     Di
     2017-05-09 22:41:11   description     Yahoo! Weather for Straubing, BY, DE
     2017-05-09 22:41:11   fc10_code       28
     2017-05-09 22:41:11   fc10_condition  überwiegend wolkig
     2017-05-09 22:41:11   fc10_date       18 May 2017
     2017-05-09 22:41:11   fc10_day_of_week Do
     2017-05-09 22:41:11   fc10_high_c     20
     2017-05-09 22:41:11   fc10_icon       mostlycloudy
     2017-05-09 22:41:11   fc10_low_c      10
     2017-05-09 22:41:11   fc1_code        28
     2017-05-09 22:41:11   fc1_condition   überwiegend wolkig
     2017-05-09 22:41:11   fc1_date        09 May 2017
     2017-05-09 22:41:11   fc1_day_of_week Di
     2017-05-09 22:41:11   fc1_high_c      10
     2017-05-09 22:41:11   fc1_icon        mostlycloudy
     2017-05-09 22:41:11   fc1_low_c       6
     2017-05-09 22:41:11   fc2_code        30
     2017-05-09 22:41:11   fc2_condition   teilweise wolkig
     2017-05-09 22:41:11   fc2_date        10 May 2017
     2017-05-09 22:41:11   fc2_day_of_week Mi
     2017-05-09 22:41:11   fc2_high_c      13
     2017-05-09 22:41:11   fc2_icon        partly_cloudy
     2017-05-09 22:41:11   fc2_low_c       3
     2017-05-09 22:41:11   fc3_code        30
     2017-05-09 22:41:11   fc3_condition   teilweise wolkig
     2017-05-09 22:41:11   fc3_date        11 May 2017
     2017-05-09 22:41:11   fc3_day_of_week Do
     2017-05-09 22:41:11   fc3_high_c      20
     2017-05-09 22:41:11   fc3_icon        partly_cloudy
     2017-05-09 22:41:11   fc3_low_c       3
     2017-05-09 22:41:11   fc4_code        47
     2017-05-09 22:41:11   fc4_condition   vereinzelt Gewitter
     2017-05-09 22:41:11   fc4_date        12 May 2017
     2017-05-09 22:41:11   fc4_day_of_week Fr
     2017-05-09 22:41:11   fc4_high_c      19
     2017-05-09 22:41:11   fc4_icon        scatteredshowers
     2017-05-09 22:41:11   fc4_low_c       11
     2017-05-09 22:41:11   fc5_code        11
     2017-05-09 22:41:11   fc5_condition   Schauer
     2017-05-09 22:41:11   fc5_date        13 May 2017
     2017-05-09 22:41:11   fc5_day_of_week Sa
     2017-05-09 22:41:11   fc5_high_c      16
     2017-05-09 22:41:11   fc5_icon        chance_of_rain
     2017-05-09 22:41:11   fc5_low_c       11
     2017-05-09 22:41:11   fc6_code        30
     2017-05-09 22:41:11   fc6_condition   teilweise wolkig
     2017-05-09 22:41:11   fc6_date        14 May 2017
     2017-05-09 22:41:11   fc6_day_of_week So
     2017-05-09 22:41:11   fc6_high_c      18
     2017-05-09 22:41:11   fc6_icon        partly_cloudy
     2017-05-09 22:41:11   fc6_low_c       11
     2017-05-09 22:41:11   fc7_code        28
     2017-05-09 22:41:11   fc7_condition   überwiegend wolkig
     2017-05-09 22:41:11   fc7_date        15 May 2017
     2017-05-09 22:41:11   fc7_day_of_week Mo
     2017-05-09 22:41:11   fc7_high_c      19
     2017-05-09 22:41:11   fc7_icon        mostlycloudy
     2017-05-09 22:41:11   fc7_low_c       11
     2017-05-09 22:41:11   fc8_code        28
     2017-05-09 22:41:11   fc8_condition   überwiegend wolkig
     2017-05-09 22:41:11   fc8_date        16 May 2017
     2017-05-09 22:41:11   fc8_day_of_week Di
     2017-05-09 22:41:11   fc8_high_c      20
     2017-05-09 22:41:11   fc8_icon        mostlycloudy
     2017-05-09 22:41:11   fc8_low_c       11
     2017-05-09 22:41:11   fc9_code        30
     2017-05-09 22:41:11   fc9_condition   teilweise wolkig
     2017-05-09 22:41:11   fc9_date        17 May 2017
     2017-05-09 22:41:11   fc9_day_of_week Mi
     2017-05-09 22:41:11   fc9_high_c      21
     2017-05-09 22:41:11   fc9_icon        partly_cloudy
     2017-05-09 22:41:11   fc9_low_c       12
     2017-05-09 22:41:11   humidity        73
     2017-05-09 22:41:11   icon            mostlycloudy_night
     2017-05-09 22:41:11   isConverted     0
     2017-05-10 22:16:39   lastError       JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at FHEM/YahooWeatherAPI.pm line 247.

     2017-05-09 22:41:11   lat             48.881432
     2017-05-09 22:41:11   long            12.57372
     2017-05-09 22:41:11   pressure        976
     2017-05-09 22:41:11   pressure_trend  0
     2017-05-09 22:41:11   pressure_trend_sym =
     2017-05-09 22:41:11   pressure_trend_txt gleichbleibend
     2017-05-09 22:41:11   pubDate         Tue, 09 May 2017 09:00 PM CEST
     2017-05-09 22:41:11   pubDateComment  okay
     2017-05-09 22:41:11   pubDateRemote   Tue, 09 May 2017 09:00 PM CEST
     2017-05-09 22:41:11   pubDateTs       1494356400
     2017-05-09 22:41:11   region          BY
     2017-05-09 22:41:11   state           T: 6  H: 73  W: 7  P: 976
     2017-05-09 22:41:11   temp_c          6
     2017-05-09 22:41:11   temperature     6
     2017-05-10 22:16:39   validity        stale
     2017-05-09 22:41:11   visibility      16
     2017-05-09 22:41:11   wind            7
     2017-05-09 22:41:11   wind_chill      5
     2017-05-09 22:41:11   wind_condition  Wind: N 7 km/h
     2017-05-09 22:41:11   wind_direction  0
     2017-05-09 22:41:11   wind_speed      7
   Fhem:
     allowCache 0
     interfaces temperature;humidity;wind
Attributes:
   room       z_FHEM



Danke im Voraus!

Grishn

Ich würde mich diesem Thread gerne mal anschließen.

Bekomme die selbe Meldung beim YahooWeather Modul und habe dies erst einmal deaktiviert.

Viel schlimmer aber ist, das ich die Meldung auch bei der HUEBridge bekomme und der ganze FHEm Server stoppt, sobald ich einen SET-Befehl an ein HUE Device absetze.

Also er wird wirklich einfach beendet ohne eine Meldung. Das Log ist ab dem Punkt einfach leer, so das ich nur diese Meldung als Anhaltspunkt bleibt:

ZitatHUEBRIDGE01: json error: JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/30_HUEBridge.pm line 1112.

Vielleicht muss ich dazu sagen, dass ich heute eine Homematic CCU2 eingebunden habe ( nach WIKI: https://wiki.fhem.de/wiki/HMCCU ) und daher  ein Update gemacht habe bzw. Pakete nachinstalliert habe.

sudo apt-get update && sudo apt-get install -y librpc-xml-perl

Habe überhaupt keine Idee was das sein könnte und bin etwas am Verzweifeln. Alles, bis auf HUE Devices funktionieren.

Danke schon mal für Eure Hilfe.

Barit

Benutzt ihr zufällig Raspbian Stretch?

pi@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.1 (stretch)
Release:        9.1
Codename:       stretch


Habe ich heute installiert und Fhem neu aufgespielt und meine alte Konfig-Dateien übernommen. Seither schmiert Fhem auch bei mir mit einer JSON Fehlermeldung ab.
Bei mir sind es allerdings die Module 72_FRITZBOX.pm, 34_ESPEasy.pm und 70_Pushover.pm.
Während die Fehler bei 72_FRITZBOX.pm und 34_ESPEasy.pm Fhem zumindest nicht zum Absturz bringen, geht nach dem laden der Konfig für Pushover garnicht mehr und Fhem beendet sich komplett. Sobald ich die Definition aus der Konfig lösche läuft es. Zumindest bis ich versuche sie neue anzulegen.

JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/72_FRITZBOX.pm line 4609.
2017.09.18 18:30:29 2: ESPEasy espBridge_192.168.2.110_11400: WARNING: Invalid JSON received. Check your ESP configuration (192.168.2.110).
JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/34_ESPEasy.pm line 736.
JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/70_Pushover.pm line 540.


Hat sich möglicherweise was bei dem JSON Package von Raspbian was geändert?  :o


justme1968

es gibt schon zwei oder drei threads zu diesem problem. es scheint weder mit dem hue noch mit dem hmccu modul direkt zu tun zu haben. es ist auch direkt mit {decode_json(...)} auf der kommandozeile reproduzierbar.

in mindestens zwei fällen hat es geholfen von von debian auf ubuntu zu wechseln. ich tippe also auf ein problem der mitgelieferten perl version oder der json lib.

da ich das problem bei mir nicht reproduzieren kann habe ich aktuell leider keine bessere idee.

vielleicht hilft auch das perl-json paket zu deinstallieren und per cpan zu installieren.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

smart.builder

Bei mir hat eine Neuinstallation geholfen. Seit dem auch keine JSON Fehlermeldungen mit der gleichen konfig, wie vorher. Ich verwende Docker. Als Destr. Debian Streich. Es liegt anscheinend an der Installationsreihenfolge. HMCCU Modul verwende ich übrigens auch.
Die CPAN Versionen haben bei mir damals nicht geholfen.
Wie gesagt : Alles neu aufsetzen kostet euch unter dem Strich vielleicht doch weniger Zeit und Nerven

Gruß

MarkBinary

Hab die gleichen Probleme mit JSON.
Es sind auch mehrere Module betroffen.

2017.09.17 15:01:26 2: ESPEasy espBridge_192.168.123.76_27291: WARNING: Invalid JSON received. Check your ESP configuration (192.168.123.76).
JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/34_ESPEasy.pm line 736.


JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/77_UWZ.pm line 742.


hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this) at ./FHEM/98_TRAFFIC.pm line 554.


Habe auch ein Device in der CCU2 hinzugefügt und die Pakete in FHEM aktualisiert.

FHEM 5.8 auf Pi2 Raspian Jessie

Barit

Mh du benutzt Rasbian Jessie. Ich hatte vermutet, dass es mit einer neuen Perl JSON-Lib unter Rasbian Stretch zu tun hat. Hast du in letzter Zeit ein Rasbian-Update installiert?

MarkBinary

Bislang bin ich mit Jessie gut unterwegs.
Stretch ist mir noch zu neu, sodass wenig Feedback zu finden ist.

Grishn

Konnte das Problem jetzt für mich soweit lösen.

https://forum.fhem.de/index.php/topic,76744.msg686584.html#msg686584

Es hängt wohl bei mir mit dem Thema HMCCU und RPC Server zusammen.
Auf jeden Fall hat das Umstellen auf den internen RPC Server dazu geführt, das ich keine JSON Fehler mehr erhalte.

MarkBinary

Ich habe in den letzten Tagen eine andere Strategie verfolgt.


  • Jessie update --> kein erfolg
  • Komplettes CPAN update --> kein erfolg
  • HMCCURPC stoppen und den RPCSERVER im Modul HMCCU auf intern stellen reichte bei mir nicht.
Erst das löschen des devices HMCCURPC und neustarten des Raspberry halfen.

Nun laufen meine restlichen Module wieder.
Betroffen waren https://forum.fhem.de/index.php/topic,71968.msg687729.html#msg687729:
34_ESPEasy.pm
77_UWZ.pm
98_TRAFFIC.pm

Ich weiß leider nicht, wie man die threads zum Thema JSON, HMCCURPC,HUEBridge bündeln kann.
https://forum.fhem.de/index.php/topic,71968.0.html
https://forum.fhem.de/index.php/topic,76744.0.html
https://forum.fhem.de/index.php/topic,76842.0.html
https://forum.fhem.de/index.php/topic,74943.0.html
https://forum.fhem.de/index.php/topic,71737.0.html

Stowel

Hallo Smart.Builder,

hatte das gleiche Problem. Ich habe kurzerhand YahooWeatherAPI.pm von JSON auf OO CPAN::JSON::XS geändert, danach wurde JSON wieder decodiert.

Anbei meine geänderte .\fhem\FHEM\YahooWeatherAPI.pm inkl. der Änderung, ggf. muss cpan install JSON::XS nachinstalliert werden, viel Erfolg.

Gruß