Log für Weather-Modul

Begonnen von Aerics, 02 November 2015, 16:10:17

Vorheriges Thema - Nächstes Thema

marvin78

Stellt dein Weather device mal auf verbose 5, mache ein update und schaue ins allgemeine Log. Das Update funktioniert offenbar nicht oder du machst es nicht korrekt ;)

Aerics

Kommt kein Eintrag in der normalen Log hinzu.
Sehe nur nach einem Serverneustart allgemeine Einträge.

Nicht das am Ende unter Windows Fhem ein Problem hat...

marvin78

Hast du denn

attr yWetter verbose 5

in die Kommandozeile eingegeben  oder das Attribut in der Detailansicht hinzugefügt, bevor du ein update gemacht hast?

Wie machst du das update des Weather-Devices?

Zu Windows und FHEM kann ich nichts sagen. Ich finde es nicht optimal, es auf Windows laufen zu lassen. Möglich wäre, dass das ein Problem ist. Ich würde aber davon ausgehen, dass bei verbose 5 Fehler im Log auftauchen würden.

Aerics

Über die Kommandozeile habe ich verbos hinzugefügt und kontrolliert, dass das atr gesetzt war.
Ein Update mache ich immer über set yWetter update. Interessant ist, dass bei einem restart des Servers die reading Timestamps geändert werden.

Wzut

#19
Zitat von: marvin78 am 03 November 2015, 10:17:25
Es stellt sich die Frage, warum die readings in deinem Weather-Device nicht aktualisiert werden.
Da schafft ein Blick ins Modul schnell Klarheit : Bei manuellem Update via Set wird BlockingGet  aufgerufen ohne Events auszulösen und bei Update durch abgelaufenes Intervall NonBlockingGet mit Events :)   
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

marvin78

#20
Hm. Nein. Ich habe gerade rein geschaut. Auch bei set Update wird NonBlockingGet verwendet.  Nur bei define/modify wird die Blocking Variante ohne Trigger verwendet.

@Aerics: Mach mal ein modify des Devices und/oder stelle testweise das Intervall kleiner und schaue, ob dann Events kommen.

Es ist durchaus möglich, dass non-Blocking bei Windows Installationen gar nicht funktioniert (da gibt es aber eventuell bessere Ansprechpartner). Oder hast du eventuell kein Telnet Device?

Aerics

Schon komisch das Ganze.
Selbst bei einem Intervall 60 passiert nix. Ich habe aber z.B. ein Dummy mit at +*00:01 was ständig ausgeführt wird.

Habe ja das Problem hier in der Firma bei einer Testinstallation, wie auch zu Hause.
Irgendwas funzt da nicht richtig^^

marvin78

Beides Windows?

Hast du ein telnet Device in deiner Installation?

list TYPE=telnet

Ich kenne mich mit FHEM auf Windows nicht aus. Da muss dann ein anderer ran.

Aerics

Ja, beides Windows.

Internals:
   DEF        7072 global
   FD         5
   NAME       telnetPort
   NR         3
   NTFY_ORDER 50-telnetPort
   PORT       7072
   STATE      Initialized
   TYPE       telnet
Attributes:

marvin78

Tut mir leid, aber ich bin dann raus (weil fast ohne weitere Idee). Die einzige Idee, die ich noch hätte, wäre mal global verbose 5 zu setzen und dann nach Fehlern im Hauptlog zu schauen, wenn ein update gemacht wurde (ein wenig warten, denn Non-blocking wird verzögert ausgeführt, wenn es denn unter Windows gemacht wird). Eventuell fehlen auch Perl Module. Wie gesagt, ich habe  keine Ahnung, von FHEM unter Windows. Ich weiß nur, dass es ein paar Einschränkungen geben muss.

Aerics

Habe mal global auf 5 gesetzt.
Interessant finde ich, dass mein at alle Minute einen Eintrag erzeugt, Wetter jedoch nie.

Wenn ich manuell anstoße kommt nur folgendes:
2015.11.03 11:54:15 5: Cmd: >set yWetter update<
2015.11.03 11:54:15 4: HttpUtils url=http://weather.yahooapis.com/forecastrss?w=654200&u=c
2015.11.03 11:54:15 5: Triggering yWetter (1 changes)
2015.11.03 11:54:15 5: Notify loop for yWetter update
2015.11.03 11:54:15 4: FHEMWEB:127.0.0.1:61101 GET /fhem?detail=yWetter; BUFLEN:0
2015.11.03 11:54:15 4: name: /fhem?detail=yWetter / RL:3662 / text/html; charset=UTF-8 / Content-Encoding: gzip

Aerics

So, ich habe hatte den ganzen Tag meinen kleinen Rechner zu Hause laufen lassen um zu schauen, ob die Log vom Wetter geschrieben wird.
Hier das Gleiche wie in der Firma, Log weiterhin leer und bei den readings letzter Timestamp von gestern Abend.

Mache ich ein manuelles update, so kommt in der Log wieder nur der Eintrag bezüglich Update, aber sonst nix.
2015.11.03 21:13:12 5: Cmd: >set Wetter update<
2015.11.03 21:13:12 4: HttpUtils url=http://weather.yahooapis.com/forecastrss?w=659797&u=c
2015.11.03 21:13:12 5: Triggering Wetter (1 changes)
2015.11.03 21:13:12 5: Notify loop for Wetter update
2015.11.03 21:13:12 4: FHEMWEB:192.168.1.2:49868 GET /fhem?detail=Wetter; BUFLEN:0
2015.11.03 21:13:12 4: name: /fhem?detail=Wetter / RL:3706 / text/html; charset=UTF-8 / Content-Encoding: gzip

/
2015.11.03 21:13:12 4: Connection closed for FHEMWEB:192.168.1.2:49851: EOF
2015.11.03 21:13:12 4: FHEMWEB:192.168.1.2:49868 GET /fhem?cmd={ReadingsVal(%22Wetter%22,%22update%22,%22%22)}&XHR=1; BUFLEN:0
2015.11.03 21:13:12 5: Cmd: >{ReadingsVal("Wetter","update","")}<
2015.11.03 21:13:12 4: name: /fhem?cmd={ReadingsVal(%22Wetter%22,%22update%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip

/
2015.11.03 21:13:12 4: FHEMWEB:192.168.1.2:49867 GET /fhem?cmd={AttrVal(%22Wetter%22,%22room%22,%22%22)}&XHR=1; BUFLEN:0
2015.11.03 21:13:12 5: Cmd: >{AttrVal("Wetter","room","")}<
2015.11.03 21:13:12 4: name: /fhem?cmd={AttrVal(%22Wetter%22,%22room%22,%22%22)}&XHR=1 / RL:27 / text/plain; charset=UTF-8 / Content-Encoding: gzip

/
2015.11.03 21:13:12 4: FHEMWEB:192.168.1.2:49867 GET /fhem?XHR=1&inform=type=status;filter=Wetter;since=1446581591;fmt=JSON×tamp=1446581586525; BUFLEN:0
2015.11.03 21:13:14 4: FHEMWEB:192.168.1.2:49868 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-11.log; BUFLEN:0


Bezüglich Installation unter Windows und dessen Perl-Module, so habe ich mich hier dran gehalten: http://fhem.de/HOWTO_Windows.html

Aerics

So, ich habe nochmal 1:1 FHEM so wie in der Anleitung in einer VMWare unter Windows 7 installiert. Ich dachte, dass es vielleicht an Windows 10 liegt, welches auf beiden anderen Systemen installiert ist.
Aber auch hier genau das gleiche. Nach einem update von Weather wird kein Timestamp/Wert angepasst.

Hier gibt es wohl ein ernstes Problem unter Windows.
Gibt es denn eine Anlaufstelle für solche Bugs?

Ich möchte nur zum Testen keine weitere Anschaffung tätigen, so dass das System zu Beginn unter Windows laufen muss.

Aerics

So, da bin ich mal wieder  8)

Ich habe mir nun mal die Arbeit gemacht und ein Debian unter VMWare hochgezogen.
Wieder wie auf der 1. Seite yWetter definiert und sofort wurden alle Einträge in die Log geschrieben.

Also ist das echt ein Problem unter Windows :(

marvin78

Such doch mal nach Hinweisen hier im Forum, ob die Httputils eventuell generell nicht unter Windows funktionieren.

Aber ganz ehrlich? Ein Raspi ist billig und auf Dauer ist Windows ohnehin nicht zu empfehlen ;)