FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: stgeran am 05 April 2014, 17:42:33

Titel: 98_openweathermap.pm
Beitrag von: stgeran am 05 April 2014, 17:42:33
Warum kann ich das Modul nicht laden? Es steht im gleichen Verzeichniss und hat die selben Eigenschaften und Rechte wie z.B.
99_UtilsMaxScan.pm
Der Teil der fhem.cfg ist
define owo openweathermap
set owo stationByName XYZ
get owo stationByName XYZ
attr owo openweathermap room TEST

Was auch immer dabei noch falsch ist, ich denke das Modul sollte zumindestens geladen werden.
In der command.ref fehlt mir auch ein Beispiel wie ich es in fhem auslesen kann.
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 05 April 2014, 20:47:15
ZitatIn der command.ref fehlt mir auch ein Beispiel wie ich es in fhem auslesen kann.

Stimmt nicht. In der commandref stehen Beispiele für alle 3 möglichen Aufrufmöglichkeiten einer Wetterstation.

Warum Du das Modul nicht laden kannst, kann Dir hier niemand beantworten. Du solltest einfach mal ins fhem Logfile schauen, das sollte eine Fehlermeldung zu finden sein, die weiterhilft.

Und Du bist hier im falschen Forumbereich. Fragen zu 98_openweathermap gehören in das Unterforum "Unterstützende Dienste" - so wie es in der Maintainer.txt vorgegeben ist.
Titel: Antw:98_openweathermap.pm
Beitrag von: stgeran am 05 April 2014, 20:57:17
Sorry, dann bitte verschieben!
Ich habe die drei Beispiele sehr wohl gefunden aber ohne geladenes Modul geht da nichts.
2014.04.05 21:00:46 1: reload: Error:Modul 98_openweathermap deactivated:
Can't locate XML/Simple.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/98_openweathermap.pm line 73, <$fh> line 220.
BEGIN failed--compilation aborted at ./FHEM/98_openweathermap.pm line 73, <$fh> line 220.

Wo bekomme ich den fehlenden Teil her?
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 05 April 2014, 21:17:20
Ohne geladenes Modul funktioniert selbstverständlich keines der genannten Beispiele - das erklärt sich doch eigentlich von selbst.

Welche (möglicherweise) zusätzlichen perl-Module gebraucht werden, steht explizit in der commandref, in Deinem Fall fehlt mindestens XML::Simple.

Entweder Du installierst das fehlende Modul über CPAN oder Du findest ein passendes Paket zu Deiner eingesetzten Linux Distribution, das Du verwenden kannst.

Titel: Antw:98_openweathermap.pm
Beitrag von: stgeran am 05 April 2014, 21:51:03
Ich habe das
sudo perl -MCPAN -e 'install XML::Simple'
ausgeführt.
Der Erfolg bleibt auch nach einem reboot aus.
Titel: Antw:98_openweathermap.pm
Beitrag von: Puschel74 am 05 April 2014, 23:03:27
Hallo,

etwas dürftige Beschreibung des Fehlers  8)

Ich hab heute owo bei mir lt. Forumsbeitrag eingerichtet und es klappt einwandfrei - soweit ich das bisher sehen kann.

Ich musste XML und JSON nachinstallieren aber das war es auch.

Grüße
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 06 April 2014, 09:47:11
Zitat von: stgeran am 05 April 2014, 21:51:03
Der Erfolg bleibt auch nach einem reboot aus.

wie schonmal gesagt:

ZitatDu solltest einfach mal ins fhem Logfile schauen, das sollte eine Fehlermeldung zu finden sein, die weiterhilft.

Man kann übrigens auch ein "reload 98_openweathermap" im Frontend eingeben, dann sieht man die Fehlermeldungen direkt.
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 06 April 2014, 12:37:28
hey Puschel, Beiträge löschen und damit einen ganzen Thread nicht nachvollziehbar zu machen ist feige.
Titel: Antw:98_openweathermap.pm
Beitrag von: Puschel74 am 06 April 2014, 12:41:19
Ich will hier keine Beiträge kapern oder anderen unnötig zu Last fallen mit meinen dummen Fragen.
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 06 April 2014, 12:47:05
Deine Frage war nicht dumm, aber Du hast mit openweathermap ein völlig anderes Problem als der Eröffner dieses Threads, der owo nicht zum Laufen bekommt.

Wir können auch Dein Problem lösen, aber dann mach dafür bitte einen eigenen Thread auf - ich denke, das wäre nicht weiter als fair.
Titel: Antw:98_openweathermap.pm
Beitrag von: stgeran am 06 April 2014, 21:27:12
Ich habe auch XML nachinstalliert und owo jetzt auch in meinem room "Test". Wenn ich allerdings drauklicke verliert fhem die Verbindung über den webhost und ich kann nur mit einem reboot des raspberry über SSH das Ganze wieder starten.
Wie stelle ich die Daten in fhem dar?
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 06 April 2014, 21:47:22
Du stellst die Daten gar nicht dar. Das macht das korrekt definierte owo-Device selbst. Die Wetterwerte tauchen alle als readings auf.

(http://up.picr.de/17885245wm.png)
Titel: Antw:98_openweathermap.pm
Beitrag von: stgeran am 06 April 2014, 23:16:27
OK, solange ich nach meinem Klick auf das owo device keine Reaktion bekomme sehe ich natürlich nichts.
Eine Frage: ich hatte
set owo stationByName XYZ und
get owo stationByName XYZ hintereinander in der config stehen. Könnte das der Auslöser für den Verbindungsabruch gewesen sein?
Ohne den "get" Teil geht es jetzt. Nur zum Verständnis.
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 07 April 2014, 08:51:24
set und get Befehle gehören überhaupt nicht in die config.

Titel: Antw:98_openweathermap.pm
Beitrag von: stgeran am 07 April 2014, 14:12:26
Dann verstehe ich nicht, wie ich owo den stationsname beibringe.
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 07 April 2014, 17:06:02
Jedenfalls nicht in der Konfigurationsdatei.

Zur Laufzeit mit set ... stationByDingenskirchen ...
Titel: Antw:98_openweathermap.pm
Beitrag von: stgeran am 09 April 2014, 20:41:10
Jetzt hab ich doch noch ein Problem:
Ich hab das device owo. Bei "set owo stationBy Name Leimen" oder "Hamburg; Cuxhaven" bekomme ich eine Anzeige.
Gebe ich als Name "Rüsselsheim" ein bricht die Verbindung mit Seitenladefehler ab.
Auf der openweathermap Seite gibt es aber eine Station Rüsselsheim.
Was läuft da falsch?
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 09 April 2014, 20:51:21
Vermutlich ein Umlaute-Problem. Entweder Du probierst es mal mit ue anstatt ü oder Du nimmst einfach

set owo stationById 2842884

Und bitte nicht rummaulen, dass in der Anzeige das ü vielleicht nicht richtig dargestellt wird  8)

(http://up.picr.de/17912920nf.png)
Titel: Antw:98_openweathermap.pm
Beitrag von: stgeran am 09 April 2014, 21:36:59
Danke, ue und ü hatte ich schon durch. Es klappt mit der Stationsnummer UND mit Russelsheim.
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 09 April 2014, 22:47:20
bei mir klappt es auch mit Ruesselsheim.

Das Update für die korrekte Umlautdarstellung gibts morgen automatisch, ich hab das schon für die Verteilung eingecheckt. Für die Suche werden Umlaute aber auch weiterhin nicht funktionieren.
Titel: Antw:98_openweathermap.pm
Beitrag von: stgeran am 18 April 2014, 22:38:44
Ich poste mein Problem mal hier, es hat nichts mit dem workshop zu tun.
Ich "aktiviere" owo, es kommem Daten und dann mit schöner Regelmässigkeit schlägt die nächste Verbindung fehl
Internals:
   NAME       owo
   NR         325
   STATE      active
   TYPE       openweathermap
   Readings:
     2014-04-18 20:31:37   _dataSource     www.openweathermap.org
     2014-04-18 20:31:37   _decodedWith    XML
     2014-04-18 20:41:43   _httpResponse_c 500 Can't connect to api.openweathermap.org:80 (Bad hostname)
     2014-04-18 20:31:37   state           active
   Helper:
     AVAILABLE  1
     INTERVAL   600
Attributes:
   owoDebug   1
   owoGetUrl  http://api.openweathermap.org/data/2.5/weather
   owoInterval 600
   owoSendUrl http://openweathermap.org/data/post
   owoUseXml  1
   room       TEST

Ich habe fhem völlig in Ruhe gelassen. Auf diese Weise bekomme ich keine gescheiten Daten bez. einen Plot hin.
Ich kann doch nicht alle 10 Minuten ein "list owo" machen, um zu sehen, ob es neue Daten gibt.
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 18 April 2014, 22:56:42
Der http Error 500 deutet auf ein Problem auf der Serverseite hin - an und für sich keine Seltenheit bei openweathermap.

Aber das habe ich Dir heute an anderer Stelle schon mehrfach geschrieben, warum Du das jetzt hier nochmal aufwärmen musst - keine Ahnung. Es ist kein Problem, das mit fhem zu tun hat. Daran wird sich auch nichts ändern, wenn Du die Frage noch 300 Mal stellst.

Titel: Antw:98_openweathermap.pm
Beitrag von: stgeran am 18 April 2014, 23:25:17
Dann ist aber die ganze Sache mit der Verwendung von owo sehr instabil und mMn nicht zu gebrauchen. Ein schönes Gimmik aber sonst nichts.
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 18 April 2014, 23:46:28
Die Hauptaufgabe von openweathermap ist eigentlich auch nicht, Wetterdaten abzurufen, sondern Daten von der eigenen Wetterstation dorthin zu übertragen. Es war für den Workshop die einfachste Möglichkeit, Daten für einen Plot zu bekommen und ein paar Readings zu generieren, mit denen man im Workshop arbeiten kann.

Davon abgesehen: Bei mir läuft owo seit vielen Wochen störungsfrei durch.
Titel: Antw:98_openweathermap.pm
Beitrag von: stgeran am 19 April 2014, 00:07:47
Ah, ok. Wenn das die Hauptaufgabe ist dann ist das eine andere Sache. Aber wer ist der Nutznieser dieses Dienstes? Nur Daten in die Welt zu setzen um Mitglied einer großen Gemeinschaft zu sein ist ja auch nicht das gelbe vom Ei (passt gut zu Ostern). Na gut, ever how, es geht Dir ja auch sicher darum, mit dem workshop uns Usern Möglichkeiten einer Darstellung aufzuzeigen. Und dazu diente owo als Datenquelle.
PS: Macht es Sinn, den Abfragezyklus zu erhöhen, um nicht in die 10 Minutenfalle zu kommen? Kann man z.B. auch intervall 700 eingeben oder sind nur die gegebenen Vorlagen möglich?
Titel: Antw:98_openweathermap.pm
Beitrag von: Martin Schmid am 19 April 2014, 01:56:25
Hallo zusammen,
um bei mir die seltenen Verbindungsabbrüche abzufangen, habe ich mir folgenden Watchdog gesetzt:
define owoWatch watchdog global:INITIALIZED|global:REREADCFG|owo._httpResponse_c:.(?!200).* 00:05:00 owo._httpResponse_c:.200.* \
    define owoResetAt at +00:00:02 set owo stationByName Julich,DE;;\
    trigger owoWatch .;;


Damit wird nach einem Neustart und nach einem Verbindungsabbruch das Openweathermap-Modul wieder auf Kurs gebracht.

Frohe Feiertage
Martin Schmid
Titel: Antw:98_openweathermap.pm
Beitrag von: stgeran am 19 April 2014, 10:08:33
Prima, das probiere ich aus. Danke.
Titel: Antw:98_openweathermap.pm
Beitrag von: Klaus Rubik am 19 April 2014, 10:23:03
Zitat von: Martin Schmid am 19 April 2014, 01:56:25
Hallo zusammen,
um bei mir die seltenen Verbindungsabbrüche abzufangen, habe ich mir folgenden Watchdog gesetzt:
define owoWatch watchdog global:INITIALIZED|global:REREADCFG|owo._httpResponse_c:.(?!200).* 00:05:00 owo._httpResponse_c:.200.* \
    define owoResetAt at +00:00:02 set owo stationByName Julich,DE;;\
    trigger owoWatch .;;


Damit wird nach einem Neustart und nach einem Verbindungsabbruch das Openweathermap-Modul wieder auf Kurs gebracht.

Frohe Feiertage
Martin Schmid

Hallo Martin,

das ist eine super Idee, aber warum machst du das "set" nicht gleich als Aktion im Watchdog?

define owoWatch watchdog global:INITIALIZED|global:REREADCFG|owo._httpResponse_c:.(?!200).* 00:05:00 owo._httpResponse_c:.200.* \
    set owo stationByName Julich,DE


Gruß

Klaus
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 19 April 2014, 11:18:51
Zitat von: stgeran am 19 April 2014, 00:07:47
PS: Macht es Sinn, den Abfragezyklus zu erhöhen, um nicht in die 10 Minutenfalle zu kommen? Kann man z.B. auch intervall 700 eingeben oder sind nur die gegebenen Vorlagen möglich?

Du kannst das Intervall auf jeden beliebigen Wert >= 600 setzen. Aber glaube mir, bei der Programmierung des openweathermoduls habe ich die Untergrenze von 600 schon ganz bewusst so gewählt, dass man damit nicht in die 10-Minuten-Grenze fällt.
Titel: Antw:98_openweathermap.pm
Beitrag von: stgeran am 19 April 2014, 12:41:22
OK, dann bleibts dabei. Was bei Dir geht muss auch bei anderen funktionieren. Das wär doch gelacht, wenn das nicht auch mal bei mir klappen würde.
Titel: Antw:98_openweathermap.pm
Beitrag von: Martin Schmid am 19 April 2014, 17:50:38
Hallo Klaus,
das AT im Watchdog habe ich definiert, damit der Watchdog bereits wieder scharf geschaltet ist, bevor der Set-Befehl wirksam wird.
Wenn dann wieder eine negative Antwort kommt, kann der Watchdog wen Set-Befehl sooft wiederholen bis ein Respons 200 kommt.

Viele Grüße
Martin Schmid
Titel: Antw:98_openweathermap.pm
Beitrag von: Klaus Rubik am 19 April 2014, 18:19:20
Hallo Martin,

ok, verstanden. Ich warte dann aber lieber doch nochmal 5 Minuten bis zum nächsten Watchdogdurchlauf  :)

Viele Grüße

Klaus
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 19 April 2014, 18:24:34
Ich finde den Weg von Martin definitiv zielführender.
Titel: Antw:98_openweathermap.pm
Beitrag von: Freibeuter am 14 Juni 2014, 09:02:49
Hallo,
wo ist denn das Modul hin ?
http://fhem.de/commandref.html#openweathermap
Gruß Peter F.
Titel: Antw:98_openweathermap.pm
Beitrag von: betateilchen am 14 Juni 2014, 11:47:12
http://forum.fhem.de/index.php/topic,24187.0.html
Titel: Antw:98_openweathermap.pm
Beitrag von: Mr. P am 16 Juni 2014, 01:41:23
Hej betateilchen,

ich hab den Verdacht, als hätte sich die OWM-Schnittstelle zum Upload von Daten geändert.
Mir ist aufgefallen, dass vorhin alle meine vier Messstellen ausgefallen waren und wollte einmal nachsehen.
Dabei ist mir ein unhübsches 'Authorization Required' in den Readings aufgefallen.
Ein kurzer Blick auf die Website von OWM eröffnete mir eine neue Oberfläche. Ist ok, muss noch nichts heißen. Anmelden musste ich mich dann aber plötzlich mit meiner Mailadresse anstelle meines Usernamens.
Wäre fein, wenn du dir das bei Gelegenheit einmal ansehen könntest!

Thx a lot! :-)

Edit:
Problem hat sich nach Ablauf von ${ZEIT} von selbst gelöst. ;-)