Autor Thema: Warnungen von warnung.bund.de in FHEM einbinden  (Gelesen 22764 mal)

Online KölnSolar

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3645
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #180 am: 15 Juli 2019, 12:18:28 »
Zitat
gerade weil sich urls auch gern mal ändern.
Das würden wir im Log durch eine Fehlermeldung verbose=1 sehen.

Zitat
sind eventuell einige funktionsnamen nicht modulspezifisch?
Genau einer, der das evtl. verursacht. Lösch bitte das MoWaS-device. In der nächsten Version ist das dann raus, damit die Gefahr von Überschneidungen mit anderen Modulen gebannt ist.

Im Norden gibt es nun eine neue Meldung mit Category Infra. Bisher habe ich Safety, Fire, Other und met(dwd) "gesammelt". Scheint also gar nichts zu bringen, außer als Reading zur Verfügung zu stellen.

Interessanter wäre vielleicht "Event". Das liefert in diesem Fall 17. Dei Badeseewarnungen haben 8. Ich hab leider nichts gefunden, wie man das übersetzen könnte/sollte.  :'( Hat einer von Euch was dazu ?
RPi3/2 Stretch-STV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-CUL868-FS20A4-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty-Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)

Online frank

  • Hero Member
  • *****
  • Beiträge: 7944
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #181 am: 16 Juli 2019, 09:42:42 »
moin,

die events bei newwarnings sind immer noch falsch.
diese dürfen nicht nur bei change kommen, sondern müssen bei jedem update des readings kommen, sonst gibt es keinen trigger, wenn hintereinander die selbe anzahl erscheint.

inhaltlich passt es natürlich auch noch nicht.
damit es hier deutlich besser passt, möchte ich gerne weiterhin die bereits angesprochene umsortierung (reverse).

eine echte erkennung neuer meldungen, wie von florian beschrieben wäre natürlich vor zu ziehen.

als wichtigstes aber bitte erst einmal die events auf update korrigieren.

gruss frank
FHEM: 5.8(SVN) => Pi3(jessie)
IO: CUL433_V3.3(1.00.01B53)|CUL868_V3.3(1.58)|HMLAN(0.965)|HMUSB2(0.967)|HMUART(1.4.1)
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500

Online KölnSolar

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3645
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #182 am: 16 Juli 2019, 14:36:19 »
kann mich Deiner Meinung nicht anschließen.

Ich versuch es ein letztes Mal mit den Anwendungsfällen zu beschreiben, die mir in den Sinn kommen. Wenn es dann noch andere gibt, musst Du die bitte endlich mal aufzeigen.

Der wesentlichste Fall(wie bei Florian, curt und mir):
Ich möchte einen trigger für "neue Warnung", um eine message zu senden oder etwas anderes auszulösen, ggfs. differenziert nach WarnLevelMax. Dazu lässt sich das event auf NewWarnings nutzen. Funktioniert bei mir perfekt. Dabei lässt sich dann noch differenzieren:
a) einmaliges event genügt(so nutze ich das und ignoriere bis zu einer manuellen Aktion jegliches weitere event[Alarm-Modul])
b) man nutzt alle events. Dann löst es halt wiederholt aus. (speziell bei dwd-Warnungen wohl eher nervend)
    Da NewWarnings beim nächsten run-zyklus, sofern nicht zwischenzeitlich eine neue Warnung vorliegt, auf 0 gesetzt wird, erhält man ein eher "unsinniges" event, das eine Aktion auslöst.
    Das lässt sich durch Beschränkung auf events mit NewWarnings > 0 verhindern.
Das Ganze funktioniert auch, wenn latitude/longitude/distance verändert werden.
Den von Dir geschilderten Fall, dass NewWarnings gleich bliebe, gibt es quasi nie bzw. nur wenn im run-Zyklus(bei mir 60s) eine neue Warnung herausgegeben wurde. Was man in einem solchen Ausnahmefall(kurz nachdem man eine Info erhalten hat) vom System automatisch erledigt haben möchte, verschließt sich mir.

Dann gibt es den Fall, dass ich mir ohne einen Trigger den aktuellen Zustand des devices auf was auch immer ausgeben möchte. Das ist keine Frage von events, sondern von readings und deren Inhalten.

Dann der für mich grundsätzlich letzte nachvollziehbare Fall, dass ich vor einem Frontend sitze und mir in der Details-Ansicht die Meldungen ansehe und dabei bewusst die Sortierreihenfolge verändere. Hier führt NewWarnings zu Fehlauslösungen, weil NewWarnings aus technischen Gründen nicht wirklich neue Warnungen ermittelt, sondern  auch Positionsveränderungen bei der Sortierreihenfolge. Das ist, wenn man drauf triggert, unschön, wenn sich inhaltlich nichts an den Warnungen verändert hat. Aber ich frag mich schon, wie oft man das macht bzw. was, bei jemandem der es macht, für automatische Aktionen ablaufen. Zum jetzigen Zeitpunkt sehe ich daher keinen Handlungsbedarf. Wenn wir dann aber mal ein Beta-Stadium erreicht haben, überlege ich mir gerne, wie ich diese Fehlauslösungen abstellen kann.

Schließlich noch, dass wir jetzt beim Test evtl. ein abweichendes von dem grundsätzlichen Verhalten haben möchten. Ich sehe da jetzt keinen Fall, hab aber auch kein Problem damit vorübergehend bis zum Beta-Stadium erst einmal ohne ifchanged und mit events für alle readings  zu arbeiten. Hat dann nur den Nachteil, dass sich manche Alpha-Tester Konstrukte bauen, die dann "plötzlich" nicht mehr funktionieren werden.

Schlussendlich noch zu der allgemeinen Floskel "der User muss selber bestimmen können.....":
userReadings sind des Glückes Schmied. Wer außergewöhnliches will, der muss außergewöhnliches tun und nicht umgekehrt.
Bsp.: (sinnfreies) event für logging von Warn_xy_Category
attr NinaTest userReadings eventWarn_00_Instruction:Warn_00_EventID.* {ReadingsVal($name,"Warn_00_Instruction,"")}
erzeugt bei neuer Warnung aktuell folgende events
2019-07-16 14:08:06 Nina NinaTest Warn_01_EventID: BIWAPP-35949
 2019-07-16 14:08:06 Nina NinaTest Warn_00_EventID: BIWAPP-36637
 2019-07-16 14:08:06 Nina NinaTest WarnCount: 2
 2019-07-16 14:08:06 Nina NinaTest WarnLevelMax: 4
 2019-07-16 14:08:06 Nina NinaTest NewWarnings: 2
 2019-07-16 14:08:06 Nina NinaTest Warnungen: 2 Lokal: 0
 2019-07-16 14:08:06 Nina NinaTest lastConnection: 31 values captured in 1.00 s
 2019-07-16 14:08:06 Nina NinaTest eventWarn_00_Category: Safety
RPi3/2 Stretch-STV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-CUL868-FS20A4-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty-Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)

Offline Florian_GT

  • Developer
  • Full Member
  • ****
  • Beiträge: 311
    • Florian-Asche
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #183 am: 16 Juli 2019, 17:11:46 »
kann mich Deiner Meinung nicht anschließen.

Ich versuch es ein letztes Mal mit den Anwendungsfällen zu beschreiben, die mir in den Sinn kommen. Wenn es dann noch andere gibt, musst Du die bitte endlich mal aufzeigen.

Der wesentlichste Fall(wie bei Florian, curt und mir):
Ich möchte einen trigger für "neue Warnung", um eine message zu senden oder etwas anderes auszulösen, ggfs. differenziert nach WarnLevelMax. Dazu lässt sich das event auf NewWarnings nutzen. Funktioniert bei mir perfekt. Dabei lässt sich dann noch differenzieren:
a) einmaliges event genügt(so nutze ich das und ignoriere bis zu einer manuellen Aktion jegliches weitere event[Alarm-Modul])
b) man nutzt alle events. Dann löst es halt wiederholt aus. (speziell bei dwd-Warnungen wohl eher nervend)
    Da NewWarnings beim nächsten run-zyklus, sofern nicht zwischenzeitlich eine neue Warnung vorliegt, auf 0 gesetzt wird, erhält man ein eher "unsinniges" event, das eine Aktion auslöst.
    Das lässt sich durch Beschränkung auf events mit NewWarnings > 0 verhindern.
Das Ganze funktioniert auch, wenn latitude/longitude/distance verändert werden.
Den von Dir geschilderten Fall, dass NewWarnings gleich bliebe, gibt es quasi nie bzw. nur wenn im run-Zyklus(bei mir 60s) eine neue Warnung herausgegeben wurde. Was man in einem solchen Ausnahmefall(kurz nachdem man eine Info erhalten hat) vom System automatisch erledigt haben möchte, verschließt sich mir.

Dann gibt es den Fall, dass ich mir ohne einen Trigger den aktuellen Zustand des devices auf was auch immer ausgeben möchte. Das ist keine Frage von events, sondern von readings und deren Inhalten.

Dann der für mich grundsätzlich letzte nachvollziehbare Fall, dass ich vor einem Frontend sitze und mir in der Details-Ansicht die Meldungen ansehe und dabei bewusst die Sortierreihenfolge verändere. Hier führt NewWarnings zu Fehlauslösungen, weil NewWarnings aus technischen Gründen nicht wirklich neue Warnungen ermittelt, sondern  auch Positionsveränderungen bei der Sortierreihenfolge. Das ist, wenn man drauf triggert, unschön, wenn sich inhaltlich nichts an den Warnungen verändert hat. Aber ich frag mich schon, wie oft man das macht bzw. was, bei jemandem der es macht, für automatische Aktionen ablaufen. Zum jetzigen Zeitpunkt sehe ich daher keinen Handlungsbedarf. Wenn wir dann aber mal ein Beta-Stadium erreicht haben, überlege ich mir gerne, wie ich diese Fehlauslösungen abstellen kann.

Schließlich noch, dass wir jetzt beim Test evtl. ein abweichendes von dem grundsätzlichen Verhalten haben möchten. Ich sehe da jetzt keinen Fall, hab aber auch kein Problem damit vorübergehend bis zum Beta-Stadium erst einmal ohne ifchanged und mit events für alle readings  zu arbeiten. Hat dann nur den Nachteil, dass sich manche Alpha-Tester Konstrukte bauen, die dann "plötzlich" nicht mehr funktionieren werden.

Schlussendlich noch zu der allgemeinen Floskel "der User muss selber bestimmen können.....":
userReadings sind des Glückes Schmied. Wer außergewöhnliches will, der muss außergewöhnliches tun und nicht umgekehrt.
Bsp.: (sinnfreies) event für logging von Warn_xy_Category
attr NinaTest userReadings eventWarn_00_Instruction:Warn_00_EventID.* {ReadingsVal($name,"Warn_00_Instruction,"")}
erzeugt bei neuer Warnung aktuell folgende events
2019-07-16 14:08:06 Nina NinaTest Warn_01_EventID: BIWAPP-35949
 2019-07-16 14:08:06 Nina NinaTest Warn_00_EventID: BIWAPP-36637
 2019-07-16 14:08:06 Nina NinaTest WarnCount: 2
 2019-07-16 14:08:06 Nina NinaTest WarnLevelMax: 4
 2019-07-16 14:08:06 Nina NinaTest NewWarnings: 2
 2019-07-16 14:08:06 Nina NinaTest Warnungen: 2 Lokal: 0
 2019-07-16 14:08:06 Nina NinaTest lastConnection: 31 values captured in 1.00 s
 2019-07-16 14:08:06 Nina NinaTest eventWarn_00_Category: Safety

Mit NewWarnings kann ich nicht wirklich arbeiten. Ich weiß durch NewWarnings nur, dass es eine neue Warnung gibt, nicht welche. Es wäre also hilfreich, noch ein Feld zu haben, dass für jede neue Warnung einmal ein update bekommt, und z.B. "Warn_00_" ausgibt. Dafür wäre natürlich wichtig, das die Sortierung sich nicht ändert.
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), SONOFF, SONOFF POW, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera)

Development: Luftdaten - 60_airquality.pm (non-commit)

Online frank

  • Hero Member
  • *****
  • Beiträge: 7944
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #184 am: 16 Juli 2019, 17:55:51 »
im letzten post ging es mir ausschliesslich um das reading NewWarnings, wie auch jetzt.

Zitat
Den von Dir geschilderten Fall, dass NewWarnings gleich bliebe, gibt es quasi nie bzw. nur wenn im run-Zyklus(bei mir 60s) eine neue Warnung herausgegeben wurde. Was man in einem solchen Ausnahmefall(kurz nachdem man eine Info erhalten hat) vom System automatisch erledigt haben möchte, verschließt sich mir.
ich triggere meine benachrichtigungen ebenfalls auf newwarnings grösser null. also bei jeder neuen meldung eine benachrichtigung. mein zyklus beträgt zur zeit 5min.

wenn in den 5min wieder eine 2. meldung kommt, gibt es keine mitteilung über diese neue meldung.
nur wenn zufällig eine weitere 3. meldung nach mehr als 5min kommt, gibt es die chance, die "verlorene" 2. meldung zu bemerken. kommt die 3. triggernde meldung tage später, ist die 2. "verlorene" meldung eventuell wirklich verloren, da sie bereits nicht mehr existiert (ist dann im prinzip auch egal). auf jeden fall ist es dann zu spät.
je grösser der zyklus, desto grösser die wahrscheinlichkeit. auch weitere meldungen, die nach und nach in den folgenden zyklen erscheinen, gehen ebenso verloren. oder 2x2 hintereinander, oder, oder, ...


Zitat
kann mich Deiner Meinung nicht anschließen.
ich verstehe nicht, was so schlimm daran ist, jede neue meldung triggern zu lassen.
schon die möglichkeit einer "verlorenen" meldung empfinde ich als unzuverlässig und zudem völlig unnötig.
hm ..., die gefahr eines bombenfundes, dessen meldung vom bundesamt für bevölkerungsschutz "nur" mit minor eingestuft wird, erscheint dir so gross, dass du die meldung lieber höher bewerten möchtest, aber die zuverlässige zustellung der meldung ist dir scheinbar egal.


Zitat
Dann der für mich grundsätzlich letzte nachvollziehbare Fall, dass ich vor einem Frontend sitze und mir in der Details-Ansicht die Meldungen ansehe und dabei bewusst die Sortierreihenfolge verändere. Hier führt NewWarnings zu Fehlauslösungen, weil NewWarnings aus technischen Gründen nicht wirklich neue Warnungen ermittelt, sondern  auch Positionsveränderungen bei der Sortierreihenfolge. Das ist, wenn man drauf triggert, unschön, wenn sich inhaltlich nichts an den Warnungen verändert hat. Aber ich frag mich schon, wie oft man das macht bzw. was, bei jemandem der es macht, für automatische Aktionen ablaufen. Zum jetzigen Zeitpunkt sehe ich daher keinen Handlungsbedarf. Wenn wir dann aber mal ein Beta-Stadium erreicht haben, überlege ich mir gerne, wie ich diese Fehlauslösungen abstellen kann.
nicht nur vor dem frontend und auch ohne die attribute zu ändern:
jede echte neue meldung ergibt NewWarnings=WarnCount, da sie an listenplatz 00 einsortiert wird (sort=creation).

wenn newwarning inhaltlich korrekt wäre, könnte ich die echten neuen meldungen ausführlicher als alte meldungen auf dem begrenzten platz des ausgabegerätes darstellen.

ausserdem könnte ich dann endlich die wettermeldungen eleminieren. es ist zur zeit unmöglich neue "nicht_wetter_meldungen" zu erkennen.
FHEM: 5.8(SVN) => Pi3(jessie)
IO: CUL433_V3.3(1.00.01B53)|CUL868_V3.3(1.58)|HMLAN(0.965)|HMUSB2(0.967)|HMUART(1.4.1)
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500

Online frank

  • Hero Member
  • *****
  • Beiträge: 7944
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #185 am: 16 Juli 2019, 20:29:38 »
Zitat
Den von Dir geschilderten Fall, dass NewWarnings gleich bliebe, gibt es quasi nie
nur weil es gerade so gut passt und noch nicht mal konstruiert ist:  8)

1. neue meldung: 16.7.2019 - 18:31:18 Uhr
erhalten durch mein zyklus: 2019-07-16 18:32:27 => newwarnings hat event gefeuert

2. neue meldung: 16.7.2019 - 18:33:16 Uhr
erhalten durch mein zyklus: 2019-07-16 18:37:27 => newwarnings hat kein event gefeuert

seitdem (ca 2std) noch keine neue meldung. nur durch zufall gerade entdeckt.
wenn keine meldungen mehr kommen, sieht es sogar so aus, dass die 2. "verpasste" meldung noch vor der 1. gelöscht wird (wegen end_time). das löst dann zumindestens noch einen "verwunderungstrigger" aus, da keine änderungen zu erkennen sein werden.

zum glück war es nur die entwarnung zum notrufausfall in wiesbaden und nicht ein absichtlich herbeigeführter flugzeugabsturz in eine nahegelegene wellblechhütte in gorleben.
FHEM: 5.8(SVN) => Pi3(jessie)
IO: CUL433_V3.3(1.00.01B53)|CUL868_V3.3(1.58)|HMLAN(0.965)|HMUSB2(0.967)|HMUART(1.4.1)
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500

Online KölnSolar

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3645
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #186 am: 16 Juli 2019, 21:15:43 »
Zitat
wenn in den 5min wieder eine 2. meldung kommt, gibt es keine mitteilung über diese neue meldung.
Ja, hab ich ja so beschrieben. Auch, wenn ich den Fall für äußerst unwahrscheinlich halte, dass eine Badeseewarnung und innerhalb von 5 Minuten die Bombenwarnung kommt(wahrscheinlich hätte ich noch nicht einmal auf die erste Meldung reagiert/gelesen  ;D) stimme ich Dir zu, dass das mindestens ein Schönheitsfehler ist. Aber da ist doch nicht die Lösung immer bei update ein event zu senden. Ein event mit 0 lässt sich dann überhaupt nicht mehr nutzen. Wäre jetzt z.B. für das Rücksetzen eines Alarmierungsautomatismus nutzbar.  Ich guck mal, ob ich eine alternative Lösung finde, dass für diesen Fall ein update und event ausgelöst wird. Aber nachrangig.
Zitat
nicht nur vor dem frontend und auch ohne die attribute zu ändern:
jede echte neue meldung ergibt NewWarnings=WarnCount, da sie an listenplatz 00 einsortiert wird (sort=creation).
Stimmt. Ich hab die Sortierung auf distance. Da hab ich das natürlich nicht. In dem Monat der Modulentwicklung hatte ich bisher 1 lokale dwd Warnung. Jetzt verstehe ich aber, was Du meinst. Das ist dann, wenn man zuviel will. Ursprünglich sollte es nur ein Flag als Trigger " Neue Meldungen" werden. Wenn das besser ist, weil inhaltlich korrekter.  :-\ Aber ich schrieb ja auch schon, dass ich mal gucke, was sich da machen lässt. Aber auch nachrangig.
Zitat
wenn newwarning inhaltlich korrekt wäre, könnte ich die echten neuen meldungen ausführlicher als alte meldungen auf dem begrenzten platz des ausgabegerätes darstellen.
Das versteh ich nicht. Wenn richtigerweise 10 neue Warnungen kommen, was dann ? Bei begrenztem Platz kannst Du doch nur ausgeben, was auf das Gerät passt. Da nimmt man dann doch die, die seiner Meinung nach die wichtigsten sind. Nach warnlevel, creation oder distance(Gerne auch andere sinnvolle, aber nach meinen Erkenntnissen gibt es da nicht viel). Hier würde definitiv ein 2. level Sortierkriterium weiter helfen, aber da hat mein Hilferuf noch keine Ergebnisse zu Tage gefördert.  :'(
Zitat
ausserdem könnte ich dann endlich die wettermeldungen eleminieren. es ist zur zeit unmöglich neue "nicht_wetter_meldungen" zu erkennen.
Naja, violette dwd-Meldungen gab es sehr selten. Und wenn man distance nicht gerade auf 99 km setzt wird sich das vermutlich auch in Grenzen halten mit den dwd-Warnungen mit level4. Ich denke, dass das sich noch einpendeln muss, wie man sinnvoll die distance bestimmt. Ich hab jetzt 2 devices. eins "produktiv" mit 25km und mir wurde sehr schön der Stromausfall in Bonn gemeldet. Ein anderes zum Test. Da hab ich 99km. Latitude/longitude ändere ich dort je nach Warnlage, damit ich überhaupt mal Warnungen für Tests einfange. dwd gibt es seit Tagen keine.

Zitat
zum glück war es nur die entwarnung zum notrufausfall in wiesbaden und nicht ein absichtlich herbeigeführter flugzeugabsturz in eine nahegelegene wellblechhütte in gorleben.
Mich wundern Deine Reaktionszeiten. Deine fiktive Warnung, wäre sicherlich nicht schnell verschwunden.  ;D
Zitat
das löst dann zumindestens noch einen "verwunderungstrigger" aus, da keine änderungen zu erkennen sein werden.
Sagt der, der für alles events haben möchte.  ;) Ich versteh das aber gar nicht. Löschung von Warnungen dürften überhaupt kein NewWarnings event auslösen. Es werden ja nur alle aktuellen Meldungen nach ihrer Sortierung per EventID gegen den dann festgelegten "Speicherplatz" geprüft. keine Warnung, keine Prüfung, keine Veränderung des Counters, kein event. Wohl aber ein event für WarnCount und ggfs.  WarnCountInArea, denn die haben sich verkleinert. Verguckt ?

@all: abgesehen von den Fragestellungen von frank: keine Wünsche für weitere Readings, optische Gestaltung von readings, Attribute(no dwd, hab ich auf dem Schirm), die etwas besonderes bewirken, set-, get-Befehle......sprich, das Modul ist optisch vollendet ?   ???
Kein Entwickler, der  einen Tipp hat, wie man technisch 2 Sortierungen in Perl ausführt, also z.B. nach distance UND warnlevel ?
Edit: Wie sieht es mit Mehrsprachigkeit aus ? Macht in meinen Augen wenig Sinn, da die Warntext ja eh nur in deutsch geliefert werden. Ebenso die "Überregionalität" wie bei UWZ. Und das weblink-Gedöns vom UWZ ? Hab mich da noch nicht viel mit auseinandergesetzt. Ist so etwas erstrebenswert ?
« Letzte Änderung: 16 Juli 2019, 21:26:55 von KölnSolar »
RPi3/2 Stretch-STV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-CUL868-FS20A4-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty-Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)

Offline curt

  • Hero Member
  • *****
  • Beiträge: 1020
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #187 am: 16 Juli 2019, 21:36:23 »
Auf den ersten Blick macht das Modul (bei mir) noch ganz anderen Ärger:

Error https://warnung.bund.de/bbk.mowas/gefahrendurchsagen.json: Can't connect(2) to https://warnung.bund.de:443:  SSL connect attempt failed error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failureError

Warum nun hier bei mir SSLv3 am Start ist - keine Ahnung. Das hätte ich nun am Wenigsten erwartet.

Das Problem habe ich (derzeit) so gelöst, dass Deinem Modul mitgegeben wird, welches SSL-Protokoll genutzt werden soll:

my $param = {
                url        => "$URL",
                timeout    => 5,
                hash       => $hash,
                method     => "GET",
                header     => "",
                sslargs => { SSL_version => 'TLSv12' },
                };

Baue das bitte aber noch nicht ein, Begründung: Anschließend fliegt der Hälfte der Nutzer das Modul weg, weil ein Perl-Modul fehlt. - Schöner wäre wohl "TLSv12:TLSv11:SSLv23:!SSLv3:!SSLv2" - aber das tat nicht, das muss ich nochmal genauer ansehen.

Ich denke, dass das sich noch einpendeln muss, wie man sinnvoll die distance bestimmt.

Da ist ja die Frage, was man überhaupt möchte: Unterstellt, man nutzt das openDWD-Modul, dann fallen die Wetterwarnungen schon mal raus, besser als direkt über DWD wird es ja nicht. Dann würde es primär um Sicherheitswarnungen und Kat(katastrophen)-Meldungen gehen. Also wäre das dann das eigene Wohn- sowie Arbeits- und Lebensgebiet.

Kein Entwickler, der  einen Tipp hat, wie man technisch 2 Sortierungen in Perl ausführt, also z.B. nach distance UND warnlevel ?

Diese Richtung?
https://www.perl-community.de/bat/poard/thread/18011

@all: abgesehen von den Fragestellungen von frank: keine Wünsche für weitere Readings, optische Gestaltung von readings, Attribute(no dwd, hab ich auf dem Schirm), die etwas besonderes bewirken, set-, get-Befehle......sprich, das Modul ist optisch vollendet ?   ???

Dazu müsste ich es erstmal schaffen, Ergebnisse ordentlich in der FHEM-Webbrowserdarstellung (bzw. auch FTUI) zu sehen: Derzeit sehe ich nur das Device selbst.

@KölnSolar Darf ich Dich denn freundlich bitten, mir zu zeigen, wie Du das bei Dir aufbereitest und darstellst? (Und wenn andere das anders/schöner haben, bitte die auch). Ich tue mich bei so etwas immer irre schwer.
RPI 3 Busware-CC1101 Jeelink HomeMatic Z-Wave (USB) + viele RPI Zero W

Online KölnSolar

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3645
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #188 am: 16 Juli 2019, 22:34:44 »
Zitat
Das Problem habe ich (derzeit) so gelöst, dass Deinem Modul mitgegeben wird, welches SSL-Protokoll genutzt werden soll:
Find ich echt komisch. Ich kenne einige Module, die da gar keine generelle Schwierigkeiten haben. Einzelfall ? Aber prima, dass es jetzt bei Dir funktioniert.
Zitat
Diese Richtung?
Danke, guck ich mir an.
Zitat
Darf ich Dich denn freundlich bitten, mir zu zeigen, wie Du das bei Dir aufbereitest und darstellst?
Ich mach da nicht viel. Bin nicht so der Klicki-Bunti-Typ.  :-X Ich nutze das Alarm-Modul. Dort das quasi-notify myNina:NewWarnings:.[^0]Beim event löst das Alarm-Modul aus und schickt mir (bei Abwesenheit) eine Mail. Als Inhalt ($subject eq "Katastrophe Gefahrenalarm") {
fhem ("set myMail add   !!! ACHTUNG !!! Warnung bei Katastrophenfall" );
fhem ("set myMail add Status: ".ReadingsVal("myNina","state","") ) ; # Katastrophenwarnungen
fhem ("set myMail add Level:  ".ReadingsVal("myNina","WarnLevelMax","n.a.") ) ; # warnlevel
fhem ("set myMail add 1. Warnung ".ReadingsVal("myNina","Warn_00_Distance",0)."km entfernt: ".ReadingsVal("myNina","Warn_00_ShortText","shorttext not found") ); # 1. Warnung shorttext
fhem ("set myMail add 2. Warnung ".ReadingsVal("myNina","Warn_01_Distance",0)."km entfernt: ".ReadingsVal("myNina","Warn_01_ShortText","shorttext not found") ); # 2. Warnung shorttext

Die Alarmierung muss ich aktiv im Modul canceln, damit das dahinterliegende notify wieder aktiviert wird.
Und ansonsten hab ich ein InfoPanel(FHEM-Modul), wo ich alle wichtigen Infos anzeige. Entweder über Browser oder auf dem TV. Dort zeige ich mir bei WarnCount > 0 die kurze Meldung
"Katastrophenwarnungen: "
text 75 570 550 {ReadingsVal('myNina','WarnCount',0)}
text 751 600 550 "Level: "
text 76 665 550 {ReadingsVal('myNina','WarnLevelMax',"catastrophe warn level not found")}
in rot  an.
Ab warnlevel 3 soll mir zukünftig dann noch meine Freundin A. eine Voice-message bei Anwesenheit ausgeben.
Ich hoffe, Du bist nicht zu sehr enttäuscht. :-\

Edit: Achso, und für die detaillierten Info gucke ich tatsächlich einfach nur in die details des device.
« Letzte Änderung: 16 Juli 2019, 22:38:20 von KölnSolar »
RPi3/2 Stretch-STV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-CUL868-FS20A4-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty-Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)

Offline curt

  • Hero Member
  • *****
  • Beiträge: 1020
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #189 am: 16 Juli 2019, 22:50:12 »
Hmmm.

@frank
Könntest Du bitte zeigen, wie Du das einbindest?
RPI 3 Busware-CC1101 Jeelink HomeMatic Z-Wave (USB) + viele RPI Zero W

Online KölnSolar

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3645
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #190 am: 16 Juli 2019, 23:31:57 »
Bei dwd-Ausschluss dachte ich ja erst an ein Attribut. Aber irgendwie kann ich mich nun mit einem set device disable_dwd/enable_dwd mehr anfreunden. Dabei denke ich an meinen Einsatz. Ich nutze kein opendwd und möchte daher die dwd-Warnungen. Aber im Falle einer Warnung möchte ich sie vorübergehend(automatisiert für 4h ?) abschalten. Oder nur den warnlevel auf 0 setzen(zur Info bleibt ja color/severity).
Was meint ihr ?
RPi3/2 Stretch-STV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-CUL868-FS20A4-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty-Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)

Offline curt

  • Hero Member
  • *****
  • Beiträge: 1020
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #191 am: 16 Juli 2019, 23:40:37 »
Bei dwd-Ausschluss dachte ich ja erst an ein Attribut.

Nun müsste man erstmal wissen, wie der Definitionskatalog von deren JSON-Inferface eigentlich aussieht - kennst Du den? Oder ist das jetzt alles reverse engineering? (Im Zweifel würde ich die anschreiben - das kann gern ich übernehmen. Allerdings ist da nicht ITZ Bund dabei - sondern Telekom.)

Das hier lief mir auch über den Weg - unklar, was das eigentlich ist: Die meisten sind 404. https://warnung.bund.de/bbk.config/config_rel.json

Zu Deiner Frage:
Ich würde mir den Ausschluss in einem Attribut wünschen - und zwar als Liste. Begründung: Vielleicht wollen wir noch weitere Sachen filtern, wissen das aber jetzt noch nicht.
RPI 3 Busware-CC1101 Jeelink HomeMatic Z-Wave (USB) + viele RPI Zero W

Online frank

  • Hero Member
  • *****
  • Beiträge: 7944
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #192 am: 17 Juli 2019, 00:43:05 »
Hmmm.

@frank
Könntest Du bitte zeigen, wie Du das einbindest?
warum stöhnst du, oder was sagt das hmmm?

ich streame bei jedem eingang neuer meldungen das bild (mit RSS modul erstellt) im anhang auf den tv, falls der tv bereits angeschaltet ist (streamingstart über userreading). das streaming bleibt, bis jemand auf der fernbedienung manuel exit drückt, um sicher zu stellen, dass die meldung ankommt. bei weiteren neuen meldungen wird das bild neu erstellt.

hier werden immer die ersten 5 meldungen angezeigt, die erste mit long_text. werden die texte zu lang, verschwinden die unteren meldungen entsprechend wegen zu kleinem bildschirm.

die icons stellen im augenblick nur den severity level (orange, rot, violett) dar, oder bei entwarnung grau, wie im original.
hier sollen später noch gefahrenschilder mit entsprechenden bildchen rein (bombe, trinkwasserhahn, feuer, telefon, sirene, akw, .....).

die 2 karten sind eigentlich nur platzhalter, da ich noch nichts besseres habe. oben: uwz niedersachsen, unten dwd, jeweils wetterwarnungen.
 
mein wunsch: ich stelle mir eine karte mit den geokoordinaten im mittelpunkt vor. drum herum einen kreis eingezeichnet, der automatisch den radius distance hat. der kartenausschnitt/zoom soll dann eventuell 50% mehr darstellen, als die homezone gross ist. zusätzlich sollen dann natürlich noch alle relevanten polygone mit entsprechenden farbflächen zu sehen sein, ähnlich, wie im original. jede fläche hat im idealfall noch eine markierung mit der listennummer, der entsprechenden meldung. also könnte ich eventuell irgend wann noch die polygondaten in einem reading gebrauchen.

gibt es eventuell jemanden, der so ein bildchen (png, jpg, gif) aus dem ärmel schütteln kann?


hier noch die layout datei für das rss
# This template file can be used for layout creation
# needed by 02_RSS.pm and 55_InfoPanel.pm
#
# Use "save as" once to create the file with your desired name
#

#font /usr/share/fonts/truetype/msttcorefonts/Arial_Bold.ttf
font /usr/share/fonts/truetype/liberation/LiberationMono-Bold.ttf

rgb "cccccc"
rect 0 0 1919 60 1
rgb "000000"
pt 40
text 20 45 {\
my $title = AttrVal("rss_tv_07","itemtitle","");\
my $nw = ReadingsVal("nina","NewWarnings",0);\
my $wc = ReadingsVal("nina","WarnCount",0);\
return $title." - ".$nw." von ".$wc." neu";\
}
thalign "right"
time 1500 45
date 1900 45
thalign "left"

img 0 90 h480 png url "http://www.unwetterzentrale.de/images/map/niedersachsen_index.png"
img 0 600 h480 png url "http://www.wettergefahren.de/DWD/warnungen/warnapp_gemeinden/warnungen_gemeinde_map_de.png"


# unwettermeldungen ###############################################################
rgb "ffffff"
pt 20
moveto 510 90

# uwz0
condition {ReadingsVal("nina","WarnCount",0) == 0}
moveby 705 200
pt 40
thalign "center"
text x y "Keine Warnungen für Groß Oesingen"
pt 20
thalign "left"

# uwz1
condition {ReadingsVal("nina","WarnCount",0) > 0}
img x y h100 png file {\
my $wc = "00";\
my $level = ReadingsVal("nina","Warn_".$wc."_Level","?");\
my $img = "/home/pi/icons/117x104_grau.png";\
if ($level) {\
my $severity = ReadingsVal("nina","Warn_".$wc."_Severity","?");\
if ($severity eq "Minor") {\
$img = "/home/pi/icons/117x104_orange.png";\
} elsif ($severity eq "Severe") {\
$img = "/home/pi/icons/117x104_rot.png";\
} elsif ($severity eq "Extreme") {\
$img = "/home/pi/icons/117x104_violett.png";\
} else {\
$img = "/home/pi/icons/117x104_weiss.png";\
}\
}\
return $img;\
}
moveby 140 20
text x y {\
my $wc = "00";\
my $area = ReadingsVal("nina","Warn_".$wc."_Area","?");\
$area =~ s/^(Gemeinde|Landkreis)\/Stadt\:\s//;\
my $distance = sprintf("%.1f",ReadingsVal("nina","Warn_".$wc."_Distance","?"));\
my $creation = ReadingsVal("nina","Warn_".$wc."_Creation","?");\
my $end = ReadingsVal("nina","Warn_".$wc."_End","?");\
return "Ort: (".$distance." km) ".$area."\nStart: ".$creation."\nEnde:  ".$end;\
}
moveby -140 110
text x y {\
my $wc = "00";\
my $text = ReadingsVal("nina","Warn_".$wc."_ShortText","");\
return $text;\
}
moveby 0 15
pt 18
font /usr/share/fonts/truetype/liberation/LiberationMono-Regular.ttf
textbox x y 1399 {\
my $wc = "00";\
my $text = ReadingsVal("nina","Warn_".$wc."_LongText","");\
return $text;\
}
pt 20
font /usr/share/fonts/truetype/liberation/LiberationMono-Bold.ttf
moveby 0 30

# uwz2
condition {ReadingsVal("nina","WarnCount",0) > 1}
img x y h100 png file {\
my $wc = "01";\
my $level = ReadingsVal("nina","Warn_".$wc."_Level","?");\
my $img = "/home/pi/icons/117x104_grau.png";\
if ($level) {\
my $severity = ReadingsVal("nina","Warn_".$wc."_Severity","?");\
if ($severity eq "Minor") {\
$img = "/home/pi/icons/117x104_orange.png";\
} elsif ($severity eq "Severe") {\
$img = "/home/pi/icons/117x104_rot.png";\
} elsif ($severity eq "Extreme") {\
$img = "/home/pi/icons/117x104_violett.png";\
} else {\
$img = "/home/pi/icons/117x104_weiss.png";\
}\
}\
return $img;\
}
moveby 140 20
text x y {\
my $wc = "01";\
my $area = ReadingsVal("nina","Warn_".$wc."_Area","?");\
$area =~ s/^(Gemeinde|Landkreis)\/Stadt\:\s//;\
my $distance = sprintf("%.1f",ReadingsVal("nina","Warn_".$wc."_Distance","?"));\
my $creation = ReadingsVal("nina","Warn_".$wc."_Creation","?");\
my $end = ReadingsVal("nina","Warn_".$wc."_End","?");\
return "Ort: (".$distance." km) ".$area."\nStart: ".$creation."\nEnde:  ".$end;\
}
moveby -140 110
text x y {\
my $wc = "01";\
my $text = ReadingsVal("nina","Warn_".$wc."_ShortText","");\
return $text;\
}
moveby 0 30

# uwz3
condition {ReadingsVal("nina","WarnCount",0) > 2}
img x y h100 png file {\
my $wc = "02";\
my $level = ReadingsVal("nina","Warn_".$wc."_Level","?");\
my $img = "/home/pi/icons/117x104_grau.png";\
if ($level) {\
my $severity = ReadingsVal("nina","Warn_".$wc."_Severity","?");\
if ($severity eq "Minor") {\
$img = "/home/pi/icons/117x104_orange.png";\
} elsif ($severity eq "Severe") {\
$img = "/home/pi/icons/117x104_rot.png";\
} elsif ($severity eq "Extreme") {\
$img = "/home/pi/icons/117x104_violett.png";\
} else {\
$img = "/home/pi/icons/117x104_weiss.png";\
}\
}\
return $img;\
}
moveby 140 20
text x y {\
my $wc = "02";\
my $area = ReadingsVal("nina","Warn_".$wc."_Area","?");\
$area =~ s/^(Gemeinde|Landkreis)\/Stadt\:\s//;\
my $distance = sprintf("%.1f",ReadingsVal("nina","Warn_".$wc."_Distance","?"));\
my $creation = ReadingsVal("nina","Warn_".$wc."_Creation","?");\
my $end = ReadingsVal("nina","Warn_".$wc."_End","?");\
return "Ort: (".$distance." km) ".$area."\nStart: ".$creation."\nEnde:  ".$end;\
}
moveby -140 110
text x y {\
my $wc = "02";\
my $text = ReadingsVal("nina","Warn_".$wc."_ShortText","");\
return $text;\
}
moveby 0 30

# uwz4
condition {ReadingsVal("nina","WarnCount",0) > 3}
img x y h100 png file {\
my $wc = "03";\
my $level = ReadingsVal("nina","Warn_".$wc."_Level","?");\
my $img = "/home/pi/icons/117x104_grau.png";\
if ($level) {\
my $severity = ReadingsVal("nina","Warn_".$wc."_Severity","?");\
if ($severity eq "Minor") {\
$img = "/home/pi/icons/117x104_orange.png";\
} elsif ($severity eq "Severe") {\
$img = "/home/pi/icons/117x104_rot.png";\
} elsif ($severity eq "Extreme") {\
$img = "/home/pi/icons/117x104_violett.png";\
} else {\
$img = "/home/pi/icons/117x104_weiss.png";\
}\
}\
return $img;\
}
moveby 140 20
text x y {\
my $wc = "03";\
my $area = ReadingsVal("nina","Warn_".$wc."_Area","?");\
$area =~ s/^(Gemeinde|Landkreis)\/Stadt\:\s//;\
my $distance = sprintf("%.1f",ReadingsVal("nina","Warn_".$wc."_Distance","?"));\
my $creation = ReadingsVal("nina","Warn_".$wc."_Creation","?");\
my $end = ReadingsVal("nina","Warn_".$wc."_End","?");\
return "Ort: (".$distance." km) ".$area."\nStart: ".$creation."\nEnde:  ".$end;\
}
moveby -140 110
text x y {\
my $wc = "03";\
my $text = ReadingsVal("nina","Warn_".$wc."_ShortText","");\
return $text;\
}
moveby 0 30

# uwz5
condition {ReadingsVal("nina","WarnCount",0) > 4}
img x y h100 png file {\
my $wc = "04";\
my $level = ReadingsVal("nina","Warn_".$wc."_Level","?");\
my $img = "/home/pi/icons/117x104_grau.png";\
if ($level) {\
my $severity = ReadingsVal("nina","Warn_".$wc."_Severity","?");\
if ($severity eq "Minor") {\
$img = "/home/pi/icons/117x104_orange.png";\
} elsif ($severity eq "Severe") {\
$img = "/home/pi/icons/117x104_rot.png";\
} elsif ($severity eq "Extreme") {\
$img = "/home/pi/icons/117x104_violett.png";\
} else {\
$img = "/home/pi/icons/117x104_weiss.png";\
}\
}\
return $img;\
}
moveby 140 20
text x y {\
my $wc = "04";\
my $area = ReadingsVal("nina","Warn_".$wc."_Area","?");\
$area =~ s/^(Gemeinde|Landkreis)\/Stadt\:\s//;\
my $distance = sprintf("%.1f",ReadingsVal("nina","Warn_".$wc."_Distance","?"));\
my $creation = ReadingsVal("nina","Warn_".$wc."_Creation","?");\
my $end = ReadingsVal("nina","Warn_".$wc."_End","?");\
return "Ort: (".$distance." km) ".$area."\nStart: ".$creation."\nEnde:  ".$end;\
}
moveby -140 110
text x y {\
my $wc = "04";\
my $text = ReadingsVal("nina","Warn_".$wc."_ShortText","");\
return $text;\
}

condition 1



Ich würde mir den Ausschluss in einem Attribut wünschen - und zwar als Liste. Begründung: Vielleicht wollen wir noch weitere Sachen filtern, wissen das aber jetzt noch nicht.
genau so stelle ich mir das auch vor.  :)

es gibt doch eh nur 3? oder 4? quellen.
also ein listen attribut mit 1-3 elementen. und zusätzlich ein "set feed <feed1|feed2|feed3> <on|off>". die kombi von attr und set gibt es ja auch zb bei disable.
FHEM: 5.8(SVN) => Pi3(jessie)
IO: CUL433_V3.3(1.00.01B53)|CUL868_V3.3(1.58)|HMLAN(0.965)|HMUSB2(0.967)|HMUART(1.4.1)
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500

Offline curt

  • Hero Member
  • *****
  • Beiträge: 1020
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #193 am: 17 Juli 2019, 04:30:24 »
Zitat
Das Problem habe ich (derzeit) so gelöst, dass Deinem Modul mitgegeben wird, welches SSL-Protokoll genutzt werden soll:
Find ich echt komisch. Ich kenne einige Module, die da gar keine generelle Schwierigkeiten haben. Einzelfall ?

Im Moment ist mir das ein Rätsel. Ich habe mehrere Module im Einsatz, die https abrufen, die gehen alle. Auch httpUtils sollte eigentlich im default sslv3 ausschließen. Das spricht jetzt erstmal dafür, dass Dein Modul anders ist als die anderen Module. Trennung: Ich fuhr vorher Upgrade auf Raspian-10 buster. Trennung. Ich sollte wohl mal @rudolfkoenig fragen - er wäre genau der Richtige.

Zitat
warum stöhnst du, oder was sagt das hmmm?
warum stöhnst du, oder was sagt das hmmm?

Das war ein Seufzen. Sowohl Deinen Vorschlag als auch den von KölnSolar kann ich jetzt so einfach nicht umsetzen, da fehlt mir Wissen. Es läuft wohl darauf hinaus, dass ich für FTUI eine schnöde Tabelle bastele. Und wenn nichts da ist, wird die Tabelle weggeschaltet. Dafür fehlt ggf. ein Reading, aber da will ich mich noch nicht zu weit aus dem Fenster lehnen. Siehe nächster Absatz.

hier sollen später noch gefahrenschilder mit entsprechenden bildchen rein (bombe, trinkwasserhahn, feuer, telefon, sirene, akw, .....).

Schickfein. Ich habe anderes vor: Auf meiner Taktikseite von FTUI ein Symbol, wenn Meldungen>0 vorliegen. Wenn 0, dann Symbol weggeschaltet. Das Ganze als FTUI-Link, das kann ich.

mein wunsch: ich stelle mir eine karte mit den geokoordinaten im mittelpunkt vor. drum herum einen kreis eingezeichnet, der automatisch den radius distance hat. der kartenausschnitt/zoom soll dann eventuell 50% mehr darstellen, als die homezone gross ist. zusätzlich sollen dann natürlich noch alle relevanten polygone mit entsprechenden farbflächen zu sehen sein, ähnlich, wie im original. jede fläche hat im idealfall noch eine markierung mit der listennummer, der entsprechenden meldung. also könnte ich eventuell irgend wann noch die polygondaten in einem reading gebrauchen.
gibt es eventuell jemanden, der so ein bildchen (png, jpg, gif) aus dem ärmel schütteln kann?

In FTUI gibt es das (eher neue) Modul Maps. Das greift sich openstreetmap, zentriert/zoomt nach Vorgabe und stellt dar. Darüber kann man Overlays legen, leaflet habe ich im Hinterkopf abgespeichert. Der Wifget-Autor hatte das mit Feuerlöschern gezeigt, bei mir läuft Verkehrslage auf OSM. Das Ganze ist interaktiv zoombar. - Falls Du FTUI nicht nutzt, könnte trotzdem ein Blick auf die Methodik helfen.

Zitat
Ich würde mir den Ausschluss in einem Attribut wünschen - und zwar als Liste. Begründung: Vielleicht wollen wir noch weitere Sachen filtern, wissen das aber jetzt noch nicht.
es gibt doch eh nur 3? oder 4? quellen.

Naja, wir KENNEN 3 oder 4. Ich gehe eigentlich davon aus, dass die deutlich mehr haben. Daher Hinweis an @Kölnsolar auf Beitrag #191.

Eine weitere Frage: Abrufintervall.
Ist das im Modul derzeit fest codiert? Oder von mir einstellbar?

Das müsste überdacht werden - das geht in einem echten Kat-Fall schief. Hintergrund: Ich habe wie gesagt in den vergangenen 17 Jahren fünf Kat-Fälle recht nahe (allerdings noch ohne NINA/KatWarn) miterlebt, man verzeihe, dass ich nicht genau sage in welcher Funktion. Nun kann ich nicht einschätzen, was NINA im Falle des Falles so rausrotzt - weiß aber was damals auf anderen Wegen kommuniziert wurde.

Ganz kurzer Exkurs:
Es gibt zwei Arten von Katastrophen:
1) Flanke sofort auf 100%, dann weniger werdend (Flugzeugabsturz, Eisenbahnunglück, ABA-Unfall, Chemieunfall) - die sind häufiger
2) Flanke langsam ansteigend auf 100%, langsam abfallend (Hochwasser, Waldbrand)

Beiden ist gemein, dass ab Punkt 100% sehr häufig Meldungen kommen. Wenn man die Region auf 10km fasst, kann ich mir zeitweise 1/min vorstellen. Angenommen, Abfragefrequenz ist fix 600sec - wäre das DANN zu wenig. Das heißt (ähnlich wie GoogleBot, der sowas auch erkennt), dass das Modul folgende Mimik braucht: Wenn weniger als x Meldungen für meine definierte Region vorliegen, frage ich im vorgegebenen Wert ab (hier angenommen 600sec). Wenn aber mehr als x Meldungen vorliegen, wechselt das Modul und fragt häufiger ab. (Häufiger als 60sec scheint mir aber Quatsch).

Ggf. müsste es sodann ein Attribut geben, welches per Default diese Mimik AUS hat, ich sie aber anstellen kann.

Abschließend muss ich beim Thema fachlich dringend klugsheißern:
Wenn wir über Katastrophen(schutz) sprechen, darf nie mit "das ist unwahrscheinlich" bzw. "das wird nicht auftreten" argumentiert werden! Denn genau das ist im Grunde die Definition von Katastrophe - es war ganz unwahrscheinlich und wir haben es alle nicht erwartet. (Wenn es anders wäre, hieße es Regeldienst und wäre Dienstag vormittag.) [¹]

Wir müssen also genau diese unmöglichen Fälle besonders im Auge behalten. Und da wäre deren Doku wichtig - die sie ja eigentlich (Informationsfreiheitsgesetz!) sowieso rausrücken müssen. Ich würde das übernehmen, wenn @KölnSolar #191 entsprechend beantwortet.
(Danach können wir darüber nachdenken, ob/wie wir Meldungen simulieren.)

P.S: Irgendwann muss das Modul narrensicher werden: Erfahrungsgemäß interessiert sich niemand dafür ... bis es heftig knallt. Dann aber - soll es ganzganz schnell gehen.

PP.S:
[¹] Und eins der Probleme ist, dass man Katastrophen ganz schlecht simulieren kann. Auch das wird eines unserer Probleme werden. - Vorstellbar wäre ein Testserver (der NINA simuliert), und mit dem wir sowas durchspielen können. Aber davon sind wir im Moment noch sehrsehr weit entfernt.
« Letzte Änderung: 17 Juli 2019, 05:24:32 von curt »
RPI 3 Busware-CC1101 Jeelink HomeMatic Z-Wave (USB) + viele RPI Zero W

Online KölnSolar

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3645
Antw:Warnungen von warnung.bund.de in FHEM einbinden
« Antwort #194 am: 17 Juli 2019, 08:27:52 »
Zitat
Vielleicht wollen wir noch weitere Sachen filtern, wissen das aber jetzt noch nicht.
dachte ich auch schon dran, aber
Zitat
Nun müsste man erstmal wissen, wie der Definitionskatalog von deren JSON-Inferface eigentlich aussieht - kennst Du den?
ist ja recht simpel. Wir haben MoWaS, Katwarn, Biwapp(letztere gehen vielleicht mal ganz in MoWaS auf ?), dwd und Hochwassergefahren. Alle über eine eigene URL, deren JSON sehr ähnlich aufgebaut ist.
Zitat
Oder nur den warnlevel auf 0 setzen
Ist natürlich Blödsinn, das bringt ja nachts für die, die dwd komplett abschalten möchten. ::)
Zitat
also ein listen attribut mit 1-3 elementen. und zusätzlich ein "set feed <feed1|feed2|feed3> <on|off>".
Ich mag doch keine Redundanzen. Daher entweder oder.
Zitat
Das spricht jetzt erstmal dafür, dass Dein Modul anders ist als die anderen Module.
Da der Aufruf vom UWZ stammt, halte ich dagegen.  ;)
Zitat
ich stelle mir eine karte mit den geokoordinaten im mittelpunkt vor. drum herum einen kreis eingezeichnet, der automatisch den radius distance hat. der kartenausschnitt/zoom soll dann eventuell 50% mehr darstellen, als die homezone gross ist. zusätzlich sollen dann natürlich noch alle relevanten polygone mit entsprechenden farbflächen zu sehen sein, ähnlich, wie im original. jede fläche hat im idealfall noch eine markierung mit der listennummer, der entsprechenden meldung.
Dann befass ich mich mal näher mit der UWZ-Grafik. Mein Bauch sagt mir, dass das in der gewünschten Ausprägung seeeehr sportlich wird. Aber der Wunsch ist verständlich.
Zitat
also könnte ich eventuell irgend wann noch die polygondaten in einem reading gebrauchen.
Ich glaube nicht, dass wir das wollen. Aus Modulbetreuungssicht angenehm, weil dann lass ich den User selber Karten basteln.  ;D Aber die Detailsansicht ist dann ja aufgrund der Massendaten absolut nicht mehr zu gebrauchen.
Zitat
Sowohl Deinen Vorschlag als auch den von KölnSolar kann ich jetzt so einfach nicht umsetzen, da fehlt mir Wissen.
Das ist aber gar nicht so wild. frank nutzt RSS und ich den Nachfolger InfoPanel(die Module sind fast gleich, aber InfoPanel verlagert den Grafikaufbau auf das Frontend). Betatteilchen hat einen einfach nachvollziehbaren Thread "workshop zu RSS" erstellt. Durcharbeitung wenige Stunden und danach hat man sich recht fix eigene "messages" aufgebaut.
Zitat
Ist das im Modul derzeit fest codiert? Oder von mir einstellbar?
im define. In meiner lokalen Version habe ich bereits umgesetzt, dass je nach Warnlage die Zyklen verändert werden können.
Zitat
Nun kann ich nicht einschätzen, was NINA im Falle des Falles so rausrotzt - weiß aber was damals auf anderen Wegen kommuniziert wurde.
Bisher recht wenig. In der Regel genau eine Warnung. Vielleicht noch Ausdehnungen(Brand,Rauch) auf andere Regionen. Und (manchmal) Entwarnungsmeldungen. Nur dwd wütet permanent.
Zitat
Und eins der Probleme ist, dass man Katastrophen ganz schlecht simulieren kann. Auch das wird eines unserer Probleme werden. - Vorstellbar wäre ein Testserver (der NINA simuliert), und mit dem wir sowas durchspielen können.
Ich glaube Du hast aus Deiner fachlichen Sicht zu hohe Erwartungen an Nina. Ich sehe es "nur" als ersten Trigger.

btw. als Monopolistenhasser, bleibt mir die Nina-App verschlossen.  :'( Hat die jemand installiert und kann wichtige/schöne features beschreiben ?


RPi3/2 Stretch-STV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-CUL868-FS20A4-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty-Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)

 

decade-submarginal