NEWS
FF-Einsätze OÖ auswerten
-
ich hatte die beiden felder bereits entfernt, dir aber noch nicht gesendet.
dann ist das datum wegwie müsste es denn formatiert werden, das es gut vorgelesen wird?
das datum komplett ist wahrscheinlich langweiligfunction prepareMessages(einsaetze, kurz, alle) { let messages = []; einsaetze.map(einsatz => { if (!einsaetzeGesendet.includes(einsatz.id) || alle) { if (kurz) { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join('')); } else { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', 'Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join('')); } einsaetzeGesendet.push(einsatz.id); } }) return messages.join(";"); }@oliverio sagte in FF-Einsätze OÖ auswerten:
wie müsste es denn formatiert werden, das es gut vorgelesen wird?
ich forsche mal
das datum komplett ist wahrscheinlich langweilig
wie meinst du das?
-
@oliverio sagte in FF-Einsätze OÖ auswerten:
wie müsste es denn formatiert werden, das es gut vorgelesen wird?
ich forsche mal
das datum komplett ist wahrscheinlich langweilig
wie meinst du das?
@negalein sagte in FF-Einsätze OÖ auswerten:
wie müsste es denn formatiert werden, das es gut vorgelesen wird?
ich forsche mal
https://forum.iobroker.net/topic/74001/alexa-datum-sprachausgabe-speak?_=1726003267765
-
@oliverio sagte in FF-Einsätze OÖ auswerten:
wie müsste es denn formatiert werden, das es gut vorgelesen wird?
ich forsche mal
das datum komplett ist wahrscheinlich langweilig
wie meinst du das?
@negalein sagte in FF-Einsätze OÖ auswerten:
das datum komplett ist wahrscheinlich langweilig
wie meinst du das?
die einsätze sind ja eher aktuell und nicht von letzter woche.
daher ist das komplette datum nicht notwendig.
wahrscheinlich reicht der Wochentag alsoMontag, 10:45 Uhr oder
Dienstag, 13:32 Uhrhier mal als option noch mit modifizierter zeitausgabe
function prepareMessages(einsaetze, kurz, alle) { let messages = []; const dateOptions = { weekday: "long", }; const timeOptions = { hour: "2-digit", minute: "2-digit" }; einsaetze.map(einsatz => { if (!einsaetzeGesendet.includes(einsatz.id) || alle) { if (kurz) { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join('')); } else { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', `${new Date(einsatz.startzeit).toLocaleDateString("de", dateOptions)}, ${new Date(einsatz.startzeit).toLocaleTimeString("de", timeOptions)} Uhr`, ';', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join('')); } einsaetzeGesendet.push(einsatz.id); } }) return messages.join(";"); } -
@negalein sagte in FF-Einsätze OÖ auswerten:
das datum komplett ist wahrscheinlich langweilig
wie meinst du das?
die einsätze sind ja eher aktuell und nicht von letzter woche.
daher ist das komplette datum nicht notwendig.
wahrscheinlich reicht der Wochentag alsoMontag, 10:45 Uhr oder
Dienstag, 13:32 Uhrhier mal als option noch mit modifizierter zeitausgabe
function prepareMessages(einsaetze, kurz, alle) { let messages = []; const dateOptions = { weekday: "long", }; const timeOptions = { hour: "2-digit", minute: "2-digit" }; einsaetze.map(einsatz => { if (!einsaetzeGesendet.includes(einsatz.id) || alle) { if (kurz) { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join('')); } else { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', `${new Date(einsatz.startzeit).toLocaleDateString("de", dateOptions)}, ${new Date(einsatz.startzeit).toLocaleTimeString("de", timeOptions)} Uhr`, ';', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join('')); } einsaetzeGesendet.push(einsatz.id); } }) return messages.join(";"); }@oliverio sagte in FF-Einsätze OÖ auswerten:
hier mal als option noch mit modifizierter zeitausgabe
Danke, test ich morgen
-
@negalein sagte in FF-Einsätze OÖ auswerten:
das datum komplett ist wahrscheinlich langweilig
wie meinst du das?
die einsätze sind ja eher aktuell und nicht von letzter woche.
daher ist das komplette datum nicht notwendig.
wahrscheinlich reicht der Wochentag alsoMontag, 10:45 Uhr oder
Dienstag, 13:32 Uhrhier mal als option noch mit modifizierter zeitausgabe
function prepareMessages(einsaetze, kurz, alle) { let messages = []; const dateOptions = { weekday: "long", }; const timeOptions = { hour: "2-digit", minute: "2-digit" }; einsaetze.map(einsatz => { if (!einsaetzeGesendet.includes(einsatz.id) || alle) { if (kurz) { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join('')); } else { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', `${new Date(einsatz.startzeit).toLocaleDateString("de", dateOptions)}, ${new Date(einsatz.startzeit).toLocaleTimeString("de", timeOptions)} Uhr`, ';', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join('')); } einsaetzeGesendet.push(einsatz.id); } }) return messages.join(";"); }Gutn Morgen
gerade ist eine Meldung gekommen :)
Achtung
Feuerwehreinsatz in Taufkirchen an der Pram
Alarmstufe 0
Einsatz od. Einsatzübung
Mittwoch, 07:50 Uhr
Schärding
Anzahl Feuerwehren 1
Bitte noch Datum, Zeit entfernen & vor
einsatz.bezirk_namebitte das WortBezirkeinfügen.Achtung
Feuerwehreinsatz in Taufkirchen an der Pram
Bezirk Schärding
Alarmstufe 0
Einsatz od. Einsatzübung
Anzahl Feuerwehren 1 -
@negalein sagte in FF-Einsätze OÖ auswerten:
das datum komplett ist wahrscheinlich langweilig
wie meinst du das?
die einsätze sind ja eher aktuell und nicht von letzter woche.
daher ist das komplette datum nicht notwendig.
wahrscheinlich reicht der Wochentag alsoMontag, 10:45 Uhr oder
Dienstag, 13:32 Uhrhier mal als option noch mit modifizierter zeitausgabe
function prepareMessages(einsaetze, kurz, alle) { let messages = []; const dateOptions = { weekday: "long", }; const timeOptions = { hour: "2-digit", minute: "2-digit" }; einsaetze.map(einsatz => { if (!einsaetzeGesendet.includes(einsatz.id) || alle) { if (kurz) { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join('')); } else { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', `${new Date(einsatz.startzeit).toLocaleDateString("de", dateOptions)}, ${new Date(einsatz.startzeit).toLocaleTimeString("de", timeOptions)} Uhr`, ';', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join('')); } einsaetzeGesendet.push(einsatz.id); } }) return messages.join(";"); }Hallo,
gerade ein Einsatz, wo kann ich einstellen das Ansage Alexa und die E-Mail nur 1 mal kommt?
Edit:
Anscheinend da:
let messages = prepareMessages(einsaetze_bezirk, true, false);Das letzte false war es, hatte da trueEDIT2
Doch nicht
-
@negalein sagte in FF-Einsätze OÖ auswerten:
das datum komplett ist wahrscheinlich langweilig
wie meinst du das?
die einsätze sind ja eher aktuell und nicht von letzter woche.
daher ist das komplette datum nicht notwendig.
wahrscheinlich reicht der Wochentag alsoMontag, 10:45 Uhr oder
Dienstag, 13:32 Uhrhier mal als option noch mit modifizierter zeitausgabe
function prepareMessages(einsaetze, kurz, alle) { let messages = []; const dateOptions = { weekday: "long", }; const timeOptions = { hour: "2-digit", minute: "2-digit" }; einsaetze.map(einsatz => { if (!einsaetzeGesendet.includes(einsatz.id) || alle) { if (kurz) { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join('')); } else { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', `${new Date(einsatz.startzeit).toLocaleDateString("de", dateOptions)}, ${new Date(einsatz.startzeit).toLocaleTimeString("de", timeOptions)} Uhr`, ';', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join('')); } einsaetzeGesendet.push(einsatz.id); } }) return messages.join(";"); } -
Hallo Oliver
Danke schonmal :)
Also, dies ist die URL
https://cf-einsaetze.ooelfv.at/webext2/rss/webext2_laufend.xmlDie Seite (XML) soll alle 30 Sekunden abgefragt werden, ob bestimmte Feuerwehren (bei mir 2) aktuell einen Einsatz haben.
<einheit id="410321">
<einheit id="410327">Oder nach Bezirk
<bezirk id="10>Einheid oder Bezirk; beides nicht gleichzeitig nötig; aber wenn Einheit, dann sollten mehrere Angaben möglich sein
Intressant ist:
<alarmstufe>
<alarmtext>
<resource name="hier steht der Name" hier die ID"> ---> nicht ident mit einheit id; deshalb nur Name wichtig
<earea>
<lng>
<lat>Visualisierung:
über einzelne DP, damit VIS, Alexa und Telegramm gefüttert werden können.Hoffe es ist einigermassen Verständlich erklärt. ;)
Habe gerade deinen thread erstmalig gelesen.
Warum stellt ihr diese einsatzsensiblen Daten abrufbar ins Internet? Gibt es keine Intranet-Lösung?
-
Habe gerade deinen thread erstmalig gelesen.
Warum stellt ihr diese einsatzsensiblen Daten abrufbar ins Internet? Gibt es keine Intranet-Lösung?
@meister-mopper sagte in FF-Einsätze OÖ auswerten:
Warum stellt ihr diese einsatzsensiblen Daten abrufbar ins Internet? Gibt es keine Intranet-Lösung?
Doch, aber nur für FF-Mitglieder.
Diese Daten die ich abrufe, sind dank DSGVO nicht einsatzsensibel. Es ist der Einsatzort nicht ersichtlich.
-
@meister-mopper sagte in FF-Einsätze OÖ auswerten:
Warum stellt ihr diese einsatzsensiblen Daten abrufbar ins Internet? Gibt es keine Intranet-Lösung?
Doch, aber nur für FF-Mitglieder.
Diese Daten die ich abrufe, sind dank DSGVO nicht einsatzsensibel. Es ist der Einsatzort nicht ersichtlich.
@negalein sagte in FF-Einsätze OÖ auswerten:
Diese Daten die ich abrufe, sind dank DSGVO nicht einsatzsensibel. Es ist der Einsatzort nicht ersichtlich.
Ja, das schon, aber die Einsatzbelastung ist schon relevant.
Wenn jemand stören möchte, kann er es zu geeigneten Zeiten tun, um den größtmöglichen Schaden anzurichten.
Das sollte aus meiner Sicht bedacht werden.
-
@negalein sagte in FF-Einsätze OÖ auswerten:
Diese Daten die ich abrufe, sind dank DSGVO nicht einsatzsensibel. Es ist der Einsatzort nicht ersichtlich.
Ja, das schon, aber die Einsatzbelastung ist schon relevant.
Wenn jemand stören möchte, kann er es zu geeigneten Zeiten tun, um den größtmöglichen Schaden anzurichten.
Das sollte aus meiner Sicht bedacht werden.
@meister-mopper sagte in FF-Einsätze OÖ auswerten:
Das sollte aus meiner Sicht bedacht werden.
gibt bei uns GsD noch normale Menschen.
Wenn jemand stören möchte, kann er es zu geeigneten Zeiten tun, um den größtmöglichen Schaden anzurichten.
dann dürfte auch keine Sirene, usw. losgehn. Ein Einsatz ist normal weiträumig zu hören.
Zumindest bei uns. ;) -
@meister-mopper sagte in FF-Einsätze OÖ auswerten:
Das sollte aus meiner Sicht bedacht werden.
gibt bei uns GsD noch normale Menschen.
Wenn jemand stören möchte, kann er es zu geeigneten Zeiten tun, um den größtmöglichen Schaden anzurichten.
dann dürfte auch keine Sirene, usw. losgehn. Ein Einsatz ist normal weiträumig zu hören.
Zumindest bei uns. ;)@negalein sagte in FF-Einsätze OÖ auswerten:
dann dürfte auch keine Sirene, usw. losgehn. Ein Einsatz ist normal weiträumig zu hören.
Zumindest bei uns.Ja, das mag sein, aber bei geplanten Anschlägen von außen hilft die Sirene nüscht :man-shrugging: .
Ich zumindest würde die Thematik mal oben einwerfen.
-
Gutn Morgen
gerade ist eine Meldung gekommen :)
Achtung
Feuerwehreinsatz in Taufkirchen an der Pram
Alarmstufe 0
Einsatz od. Einsatzübung
Mittwoch, 07:50 Uhr
Schärding
Anzahl Feuerwehren 1
Bitte noch Datum, Zeit entfernen & vor
einsatz.bezirk_namebitte das WortBezirkeinfügen.Achtung
Feuerwehreinsatz in Taufkirchen an der Pram
Bezirk Schärding
Alarmstufe 0
Einsatz od. Einsatzübung
Anzahl Feuerwehren 1@negalein sagte in FF-Einsätze OÖ auswerten:
Bitte noch Datum, Zeit entfernen & vor einsatz.bezirk_name bitte das Wort Bezirk einfügen
function prepareMessages(einsaetze, kurz, alle) { let messages = []; const dateOptions = { weekday: "long", }; const timeOptions = { hour: "2-digit", minute: "2-digit" }; einsaetze.map(einsatz => { if (!einsaetzeGesendet.includes(einsatz.id) || alle) { if (kurz) { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join('')); } else { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', 'Bezirk ', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join('')); } einsaetzeGesendet.push(einsatz.id); } }) return messages.join(";"); } -
Hallo,
gerade ein Einsatz, wo kann ich einstellen das Ansage Alexa und die E-Mail nur 1 mal kommt?
Edit:
Anscheinend da:
let messages = prepareMessages(einsaetze_bezirk, true, false);Das letzte false war es, hatte da trueEDIT2
Doch nicht
@sigi234 sagte in FF-Einsätze OÖ auswerten:
EDIT2
Doch nichtwie weiter oben schon mal gesagt merkt sich das skript
die meldungen nur innerhalb eines starts.
nach dem nächsten start ist das wieder vergessen.
man könnte das gedächtnis in einen datenpunkt verlagern. dann überlebt dies auch den neustart eines skripts -
@negalein sagte in FF-Einsätze OÖ auswerten:
dann dürfte auch keine Sirene, usw. losgehn. Ein Einsatz ist normal weiträumig zu hören.
Zumindest bei uns.Ja, das mag sein, aber bei geplanten Anschlägen von außen hilft die Sirene nüscht :man-shrugging: .
Ich zumindest würde die Thematik mal oben einwerfen.
@meister-mopper sagte in FF-Einsätze OÖ auswerten:
Ja, das mag sein, aber bei geplanten Anschlägen von außen hilft die Sirene nüscht .
das würde jetzt hier zu OT werden.
Aber noch 1x OT ;)
Was meinst du mit "bei geplanten Anschlägen von außen hilft die Sirene nüscht"?
Gerne auch per PN weiter. -
@sigi234 sagte in FF-Einsätze OÖ auswerten:
EDIT2
Doch nichtwie weiter oben schon mal gesagt merkt sich das skript
die meldungen nur innerhalb eines starts.
nach dem nächsten start ist das wieder vergessen.
man könnte das gedächtnis in einen datenpunkt verlagern. dann überlebt dies auch den neustart eines skriptsIch kann mich noch erinnern als ein Sturm war da kamen Einsätze (300) im Minuten Takt rein.
Da stürzte das Blockly dann ab. Kann man das irgendwie abfangen? -
@sigi234 sagte in FF-Einsätze OÖ auswerten:
EDIT2
Doch nichtwie weiter oben schon mal gesagt merkt sich das skript
die meldungen nur innerhalb eines starts.
nach dem nächsten start ist das wieder vergessen.
man könnte das gedächtnis in einen datenpunkt verlagern. dann überlebt dies auch den neustart eines skripts@oliverio sagte in FF-Einsätze OÖ auswerten:
man könnte das gedächtnis in einen datenpunkt verlagern. dann überlebt dies auch den neustart eines skripts
Das wäre sicher eine Überlegung wert. :)
-
Ich kann mich noch erinnern als ein Sturm war da kamen Einsätze (300) im Minuten Takt rein.
Da stürzte das Blockly dann ab. Kann man das irgendwie abfangen?@sigi234 sagte in FF-Einsätze OÖ auswerten:
Ich kann mich noch erinnern als ein Sturm war da kamen Einsätze (300) im Minuten Takt rein.
Da stürzte das Blockly dann ab. Kann man das irgendwie abfangen?du fragst ja eigentlich nur alle 30 sekunden oder größer ab.
auch wenn es 1000 gemeldete einsätze gibt, dürfte es kein problem mit absturz oder speicher geben.
wenn, dann irgendeine code-konstellation, die nicht vorgesehen ist. aber wir haben da gar nicht soviel drin. evtl mal, das sich im quelldatenformat was änderteinen fehler findest du dann im iobroker log
-
@oliverio sagte in FF-Einsätze OÖ auswerten:
man könnte das gedächtnis in einen datenpunkt verlagern. dann überlebt dies auch den neustart eines skripts
Das wäre sicher eine Überlegung wert. :)
@negalein sagte in FF-Einsätze OÖ auswerten:
speichern der bereits gemeldeten einsätze in einem datenpunkt
Das wäre sicher eine Überlegung wertziemlich am anfang (zeile 3) folgendes einfügen
let savedEinsaetzeDP = "0_userdata.a";die folgende zeile, auch am anfang, bitte löschen
let einsaetzeGesendet ....folgende funktion bitte tauschen
async function prepareMessages(einsaetze, kurz, alle) { let messages = []; const dateOptions = { weekday: "long", }; const timeOptions = { hour: "2-digit", minute: "2-digit" }; let data = await getStateAsync(savedEinsaetzeDP); let einsaetzeGesendet = JSON.parse(data.val || "[]"); einsaetze.map(einsatz => { if (!einsaetzeGesendet.some(el => el.id == einsatz.id) || alle) { //if (!einsaetzeGesendet.includes(einsatz.id) || alle) { if (kurz) { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join('')); } else { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', 'Bezirk ', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join('')); } einsaetzeGesendet.push({ id: einsatz.id, time: new Date() }); } }) await setStateAsync(savedEinsaetzeDP, JSON.stringify(einsaetzeGesendet)); return messages.join(";"); }da prepareMessage nun eine async funktion ist, muss an jeder stelle wo diese aufgerufen wird nun await hinzugefügt werden. also so wie folgt
vorherlet messages = prepareMessages(einsaetze, false, false);nachher
let messages = await prepareMessages(einsaetze, false, false);falls irgendwas nicht funktioniert, bitte dann nochmal deinen kompletten code posten
