Diskussions-Thread zum RSS-Workshop

Begonnen von betateilchen, 15 April 2014, 19:54:33

Vorheriges Thema - Nächstes Thema

betateilchen

Kann es sein, dass Du schlichtweg ein fhem benutzt, das nicht auf dem aktuellsten Stand ist?

Hast Du irgendwelche Fehlermeldungen im Logfile stehen?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

moonsorrox

#301
ich habe zu diesen Wetterkarten mal einige Fragen...

Ich kann ja für meinen Bereich die Karten auf verschiedene rssjpg darstellen ich habe mir z.B. map.layout, map1.layout, map3.layout erstellt um die aktuelle also von heute zu sehen, die Karte von Morgen und die Karte von  Übermorgen, also alles in allem immer3 Tage Vorschau.
Dazu habe ich mir in rss folgendes angelegt

img  .5 290 h490 jpeg file { fhem("get resse conditionsmap Nordwest"); "/tmp/resse_conditionsmap.jpg" }

img  .5 290 h490 jpeg file { fhem("get resse forecastsmap Nordwest"); "/tmp/resse_forecastsmap.jpg" }


das funktioniert auch super...

Aber wie bekomme ich jetzt
1. immer die aktuelle Karte rein um nicht immer von Hand zu aktualisieren, d.h. er soll dies automatisch machen
und
2. wie bekomme ich die dann von übermorgen da gibt es ja dann die Unterteilung "Nordost_ueberm_frueh" und "Nordost_ueberm_spaet" und auch die Aktualisierung dazu.

ich habe da schon einige Zeit mit verbracht und dachte es geht so z.B. aber leider nicht

img  .5 290 h490 jpeg file { fhem("get resse forecastsmap Nordost_ueberm_frueh"); "/tmp/resse_forecastsmap.jpg" }


Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

betateilchen

Frage 1: verstehe ich nicht, die Karte wird bei jedem get automatisch neu vom Server geladen. Was meinst Du mit "manuell aktualisieren"?

Deine Codeschnipsel sind ziemlich sinnlos. Du rufst mit get permanent die conditionsmap ab, versuchst aber dann, eine forecastmap anzuzeigen, die überhaupt nicht existiert, weil Du sie gar nicht abgerufen hast.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

moonsorrox

#303
Zitat von: betateilchen am 09 Juni 2014, 18:13:32
Frage 1: verstehe ich nicht, die Karte wird bei jedem get automatisch neu vom Server geladen. Was meinst Du mit "manuell aktualisieren"?

ich könnte jede einzelne Seite einen refresh machen lassen so wie die Erste Seite die index.html es tut..!

z.B. am PC zum testen muss ich immer F5 drücken oder auf dem Tablett die Seite aktualisieren, dass meinte ich mit "manuell"

macht fhem das get denn selber..?
wenn ich die readings anschaue sind die teilweise rot bis ich sie aktualisiere..!

Zitat von: betateilchen am 09 Juni 2014, 18:13:32
Deine Codeschnipsel sind ziemlich sinnlos. Du rufst mit get permanent die conditionsmap ab, versuchst aber dann, eine forecastmap anzuzeigen, die überhaupt nicht existiert, weil Du sie gar nicht abgerufen hast.

Oh ja ich bin schon total blind, habe ich nicht gesehen...!  :(
ändere ich mal gleich auch hier im Thread

wenn ich jetzt also etwas von morgen/übermorgen sehen möchte muss ich mich entscheiden ob nun "Nordwest_morgen_frueh" oder "forecastsmap Nordwest_morgen_spaet" entsprechend dann für übermorgen

Kann man das aktualisieren lassen so das er selbstständig dann zu spät übergeht, oder macht er das allein ab einer bestimmten Uhrzeit..?
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

betateilchen

du redest für mich etwas wirr...

Rote Readings bedeuten, DASS sie automatisch aktualisiert wurden.

Das get wird jedesmal dann ausgeführt, wenn das RSS Bild neu generiert wird und die Zeile im Layout verarbeitet wird. Wenn Du also das RSS Bild in eine Webseite eingebaut hast, wird das Bild automatisch bei der Webseitenaktualisierung neu aufgebaut.

Es wird immer genau die Karte abgerufen, die Du im get angibst. Es wird dabei nichts automatisch bestimmt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

moonsorrox

Ich weiß nicht wie ich es anders beschreiben soll...!
Diese roten Readins habe ich in Fhem, wenn ich diese Seite mit den Readings offen habe, da aktualisiere ich dann mit F5... dann werden sie wieder weiß...

Und das Webseitenbild zeigt eben oft nicht das aktualisierte Bild an, meistens liegt es in der Zeit um eine Std. zurück...

OK wichtig es sollte funktionieren ohne das ich etwas einbauen muss damit dies automatisch aktualisiert wird, also werde ich das beobachten
Werde das mal mit Screenshots dokumentieren...
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

betateilchen

Zitat von: moonsorrox am 09 Juni 2014, 21:48:34
Diese roten Readins habe ich in Fhem, wenn ich diese Seite mit den Readings offen habe, da aktualisiere ich dann mit F5... dann werden sie wieder weiß...

Nochmal: weiße Readings werden rot, wenn sie während der Seitenanzeige von fhem aktualisiert wurden. Die rote Farbe ist der Indikator dafür, dass sich ein Reading geändert hat. Du brauchst das nicht manuell zu machen. Achte doch einfach mal auf die Zeitangaben hinter den Readings! Nennt sich "longpoll" und ist eine der grundlegendsten Funktionen von fhem.

Zitat von: moonsorrox am 09 Juni 2014, 21:48:34
Und das Webseitenbild zeigt eben oft nicht das aktualisierte Bild an, meistens liegt es in der Zeit um eine Std. zurück...

Die Wetterkarten werden von DWD nicht alle paar Minuten aktualisiert. Es ist durchaus möglich, dass Du eine Stunde lang vom DWD Server die gleiche Karte geliefert bekommst, egal, wie oft Du sie abrufst.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

moonsorrox

Zitat von: betateilchen am 09 Juni 2014, 22:38:21
Nochmal: weiße Readings werden rot, wenn sie während der Seitenanzeige von fhem aktualisiert wurden. Die rote Farbe ist der Indikator dafür, dass sich ein Reading geändert hat. Du brauchst das nicht manuell zu machen.
OK dann werde ich das mal beobachten

Zitat von: betateilchen am 09 Juni 2014, 22:38:21
Die Wetterkarten werden von DWD nicht alle paar Minuten aktualisiert.
das weiß ich, es ist immer nach ca. einer Stunde.. ;)

Hast du für mich einen Einfall wie man das machen kann mit der "forecastsmap" an Morgen und Übermorgen..?
weil da gibt es ja immer zwei Möglichkeiten so z.B. bei
Morgen "Nordwest_morgen_frueh" und "Nordwest_morgen_spaet"
Übermorgen "Nordwest_ueberm_frueh" und "Nordwest_ueberm_spaet"

Ich mache das ja jetzt so in rss für Morgen

img  .5 290 h490 jpeg file { fhem("get resse forecastsmap Nordwest_morgen_frueh"); "/tmp/resse_forecastsmap.jpg" }


und für Übermorgen

img  .5 290 h490 jpeg file { fhem("get resse forecastsmap Nordwest_ueberm_frueh"); "/tmp/resse_forecastsmap.jpg" }


damit habe ich dann aber immer nur die Früh Karte..! Richtig..?
Und ab Nachmittag steht dann ja die zweite Karte zur Verfügung so z.B. "Nordwest_morgen_spaet" und "Nordwest_ueberm_spaet"

Bei der aktuellen Kartenanzeige von heute ist da ja ganz einfach die conditionsmap wird ja immer aktualisiert den Tag über hier ist ja mein Code
img  .5 290 h490 jpeg file { fhem("get resse conditionsmap Nordwest"); "/tmp/resse_conditionsmap.jpg" }

Deshalb weiß ich jetzt nicht wie ich das machen könnte
Ich hoffe ich habe das halbwegs beschrieben was ich meinte, ich hänge mal Screenshots ran
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

betateilchen

Zitat von: moonsorrox am 10 Juni 2014, 13:28:40
Hast du für mich einen Einfall wie man das machen kann mit der "forecastsmap" an Morgen und Übermorgen..?
weil da gibt es ja immer zwei Möglichkeiten so z.B. bei
Morgen "Nordwest_morgen_frueh" und "Nordwest_morgen_spaet"
Übermorgen "Nordwest_ueberm_frueh" und "Nordwest_ueberm_spaet"

Du kannst doch mit perl alles machen, sogar abfragen, ob gerade vormittag oder nachmittag ist (anhand der Uhrzeit) Wenn Du das weißt, kannst Du mit condition arbeiten. Schematisch sieht das dann so aus:


condition { $hour < 12 }
# hier wird jetzt das get für die "früh"-Karte ausgeführt
condition { $hour >= 12 }
# hier wird jetzt das get für die "spät"-Karte ausgeführt
condition 1
img  .5 290 h490 jpeg file "/tmp/resse_forecastsmap.jpg"


Ich hoffe, das Prinzip ist verständlich.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

moonsorrox

OK super das konnte ich umsetzen..! geht auch, war ja klar..  ;)


Ich habe hier mal ein Beispiel welches, meiner Meinung nicht richtig funktioniert...
Heute nun habe ich eine Warnmeldung vom Wetterdienst und trotzdem zeigt mir mein System OK an.
Kann es sein das der Wetterdienst da auch mal Fehler drin hat..?

1. Screenshot
zeigt mir "a_valid 0" also keine Warnmeldung, es steht aber "Amtliche Warnung vor Hitze" drin, die Meldung an sich sollte nur bis gestern 19.00 Uhr gehen

2. Screenshot
meine Wettermeldung mit dem OK Icon...

da steht dann natürlich das Warnicon nicht drin und damit das OK Icon welches aber falsch ist...
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

betateilchen

Oh mann...

Wenn die Meldung nur bis gestern 19:00 Uhr galt, ist es völlig logisch und korrekt, dass a_valid=0 rauskommt, weil a_valid aus den Gültigkeitsdaten errechnet (und nicht vom Wetterdienst geliefert!) wird.

Es kommt durchaus vor, dass eine abgelaufene Meldung noch eine Zeitlang in den alerts steht, aber so lange sollte das nicht der Fall sein. Die alerts hast Du aber schon regelmäßig aktualisiert? Bei mir stehen keine abgelaufenen Meldungen mehr drin.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

moonsorrox

#311
eben deshalb habe ich es hier gepostet, weil es nicht der Fall war trotz das a_valid 0 war.. was ich ja abfrage.
Ich habe ja dann die Seite aktualisiert aber die Warnmeldung blieb bestehen...

Ich bin ja nun einige Tage da dran und versuche es auch alles zu verstehen, aber so leicht ist das nun auch nicht gleich alles zu begreifen, was da von was abhängig ist... ;)
Ich bin ja froh das ich es soweit gebacken bekomme und es kann durchaus sein das ich noch Fehler im Code habe die ich so Stück für Stück versuche zu beseitigen...

Die alerts hast Du aber schon regelmäßig aktualisiert?

stehe da grad mal auf dem Schlauch... ich denke die aktualisieren sich in Fhem selbst durch longpoll... oder muss ich mir eine Anweisung erstellen die sagt Alarme löschen, wenn nicht hilf mir  ;)


Im Moment ist ja alles wieder so wie es sein soll, da erneut eine Warnmeldung kam die bis heute 14 Uhr ansteht...
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

betateilchen

Kannst Du nicht EINMAL genau lesen, was ich schreibe? Warum muss ich Dir alles fünfmal erklären?

Zitat von: moonsorrox am 11 Juni 2014, 13:21:20
eben deshalb habe ich es hier gepostet, weil es nicht der Fall war trotz das a_valid 0 war.. was ich ja abfrage.

Wenn a_valid=0 ist es völlig egal, was in den readings steht. Das a_valid ist das ERGEBNIS, das aus den Readings ermittelt wird. Und wenn in a_expires steht, dass die Meldung gestern um 19 Uhr endet, dann ist es völlig richtig, dass in a_valid eine 0 steht, weil die Warnmeldung nicht mehr gültig ist.

Was ist daran so schwer zu verstehen?


Zitat von: moonsorrox am 11 Juni 2014, 13:21:20
Ich habe ja dann die Seite aktualisiert aber die Warnmeldung blieb bestehen...

Durch eine Seitenaktualisierung werden die readings nicht der Warnmeldung nicht verändert und schon gar nicht gelöscht.

Zitat von: moonsorrox am 11 Juni 2014, 13:21:20
, aber so leicht ist das nun auch nicht gleich alles zu begreifen, was da von was abhängig ist... ;)

Du verstehst ja schon die einfachsten Dinge nicht. Die readings a_ werden exakt dann geschrieben, wenn Du ein "get <name> alerts..." ausführst und bleiben so lange stehen, bis das nächste "get alerts" durchgeführt wird. Wird bei diesem Folge-get festgestellt, dass es keine gültigen Warnmeldungen mehr gibt, werden die a_ readings automatisch gelöscht.


Zitat von: moonsorrox am 11 Juni 2014, 13:21:20
ZitatDie alerts hast Du aber schon regelmäßig aktualisiert?

stehe da grad mal auf dem Schlauch... ich denke die aktualisieren sich in Fhem selbst durch longpoll

Klar, readings aktualisieren sich automatisch durch longpoll - aber nur wenn sie sich auch verändern. Die Unwetterwarnungen erfordern aber zwei Schritte, um aktualisiert zu werden.

1. ein Neulesen des Alarmfiles vom DWD Server
2. ein get <name> alerts um aus dem neugelesenen Alarmfiles die Warnung zu extrahieren, falls es eine gibt.

Solange Du das Alarmfile nicht neu vom Server holst, wird der zweite Schritt immer die alte Datei auswerten, und so lange wirst Du die alte Unwetterwarnung in den Readings haben, aber a_valid=0 weil die Meldung längst abgelaufen ist.

Das Ganze habe ich doch wirklich schon oft genug HIER IM THREAD erklärt und beschrieben - einschließlich komplett funktionierender Code-Teile, die dazu nötig sind.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

moonsorrox

#313
Das mit dem "a_valid 0" habe ich ja verstanden und das habe ich auch kapiert... das hat ja auch funktioniert..! 8)

ich habe das nur nicht mit der Warnmeldung verstanden, ich werde mal hier im Thread danach suchen..! ;)


EDIT:
also hier habe ich es grad nicht gefunden, aber ich habe hier bei mir im Fhem geschaut

diese ist wohl damit gemeint...!

define readGDS at +*00:10:00 get resse rereadcfg
attr readGDS alignTime 12:30:00

define checkGDS at +*00:10:00 get resse alerts 103241000
attr checkGDS alignTime 12:35:00

Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

betateilchen

Himmel Arsch und Zwirn...

WAS verstehst Du denn daran nicht?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!