NEWS
FF-Einsätze OÖ auswerten
-
@oliverio sagte in FF-Einsätze OÖ auswerten:
Aktuell wird nur eine rohe html Tabelle ausgegeben.
Kann man es auch als JSON-Table ausgeben?
Edit:
So wie bei Lebensmittelwarnung
-
@sigi234 sagte in FF-Einsätze OÖ auswerten:
Kannst du den aktuellen Code mal raufladen?
Ausgabe schaut so aus:
Achtung
Feuerwehreinsatz in xxxxxx
Alarmstufe 0
Verkehrsunfall Aufräumarbeiten
Bezirk xxxxxx
Anzahl Feuerwehren 2 -
kann man den Log abschalten?
Wird sonst immer so 40 MB/Tag groß.Also, dass nicht immer zB so ins Log geschrieben wird.
javascript.0 2024-09-17 19:46:00.316 info script.js.Feuerwehr.FF-Alarm: <table> <tr> <th>Alarmstufe</th> <th>Alarmtext</th> <th>Einheiten</th> <th>EAREA</th> <th>lat</th> <th>lng</th> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Aurach am Hongar (50405)</td> <td>Aurach am Hongar</td> <td>47.9502</td> <td>13.6698</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Perwang am Grabensee (33215)</td> <td>Perwang am Grabensee</td> <td>48.009</td> <td>13.0879</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Hackenbuch (SD) (45306)</td> <td>St. Marienkirchen bei Schärding</td> <td>48.3879</td> <td>13.4698</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Neukirchen (36214)</td> <td>Altmünster</td> <td>47.8738</td> <td>13.7073</td> </tr> <tr> <td>0</td> <td>Sirenenprogramm FEUER von FW ausgelöst</td> <td>Feuerwehr/Florian Saxen (42110)</td> <td>Saxen</td> <td>48.2057</td> <td>14.793</td> </tr> <tr> <td>0</td> <td>Verkehrsunfall Aufräumarbeiten</td> <td>Feuerwehr/Florian Baumgartenberg (42304)</td> <td>Baumgartenberg</td> <td>48.2152</td> <td>14.7436</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Vöcklamarkt (50142)</td> <td>Vöcklamarkt</td> <td>48.0032</td> <td>13.4918</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Palting (33214)</td> <td>Palting</td> <td>48.0149</td> <td>13.1281</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Sankt Wolfgang im Salzkammergut (36118)</td> <td>St. Wolfgang im Salzkammergut</td> <td>47.7391</td> <td>13.4478</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Pupping (34116)</td> <td>Pupping</td> <td>48.3155</td> <td>14.0454</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Grieskirchen (37104)</td> <td>Grieskirchen</td> <td>48.2362</td> <td>13.8166</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Neukirchen bei Lambach (51112)</td> <td>Neukirchen bei Lambach</td> <td>48.1026</td> <td>13.8145</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Tal (37321)</td> <td>Natternbach</td> <td>48.4331</td> <td>13.7216</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Luftenberg an der Donau (42208)</td> <td>Luftenberg an der Donau</td> <td>48.2735</td> <td>14.429</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Lasberg (35112)</td> <td>Lasberg</td> <td>48.4737</td> <td>14.5302</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Dimbach (42102)</td> <td>Dimbach</td> <td>48.3037</td> <td>14.905</td> </tr> <tr> <td>0</td> <td>Keller überflutet</td> <td>Feuerwehr/Florian Pfaffstätt (33216)</td> <td>Pfaffstätt</td> <td>48.0756</td> <td>13.142</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Teichstätt (33223)</td> <td>Lengau</td> <td>48.0253</td> <td>13.2157</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Wiesen (36227)</td> <td>Pinsdorf</td> <td>47.9477</td> <td>13.7515</td> </tr> <tr> <td>0</td> <td>Keller überflutet</td> <td>Feuerwehr/Florian Eggelsberg (33402)</td> <td>Eggelsberg</td> <td>48.0736</td> <td>12.9897</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Alkersdorf (50502)</td> <td>St. Georgen im Attergau</td> <td>47.9346</td> <td>13.5124</td> </tr> <tr> <td>0</td> <td>Keller überflutet</td> <td>Feuerwehr/Florian Perg (42312)</td> <td>Perg</td> <td>48.2449</td> <td>14.6356</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Treffling (49315)</td> <td>Engerwitzdorf</td> <td>48.3353</td> <td>14.385</td> </tr> <tr> <td>0</td> <td>Ölaustritt Gewässer</td> <td>Feuerwehr/Florian Offenhausen (51113)</td> <td>Offenhausen</td> <td>48.1546</td> <td>13.8355</td> </tr> <tr> <td>0</td> <td>Ölspur/Ölaustritt</td> <td>Feuerwehr/Florian Reindlmühl (36219)</td> <td>Altmünster</td> <td>47.8962</td> <td>13.7141</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Wirling (36120)</td> <td>St. Wolfgang im Salzkammergut</td> <td>47.7251</td> <td>13.5529</td> </tr> <tr> <td>0</td> <td>Gebäude überflutet</td> <td>Feuerwehr/Florian Kefermarkt (35109)</td> <td>Kefermarkt</td> <td>48.4391</td> <td>14.5384</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Moosbach (33310)</td> <td>Moosbach</td> <td>48.2068</td> <td>13.1639</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Dietrichschlag (49105)</td> <td>Bad Leonfelden</td> <td>48.4954</td> <td>14.2803</td> </tr> <tr> <td>0</td> <td>Überflutete Fahrbahn</td> <td>Feuerwehr/Florian Pichl bei Wels (51217)</td> <td>Pichl bei Wels</td> <td>48.186</td> <td>13.9001</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Steegen (37319)</td> <td>Steegen</td> <td>48.3413</td> <td>13.7654</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Steyr Zug 2 Steyrdorf (47102)</td> <td>Steyr</td> <td>48.044</td> <td>14.4147</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Holzleiten im Machland (42305)</td> <td>Naarn im Machlande</td> <td>48.1965</td> <td>14.6528</td> </tr> <tr> <td>0</td> <td>Einsatz od. Einsatzübung</td> <td>Feuerwehr/Florian Attnang (50404)</td> <td>Attnang-Puchheim</td> <td>48.0164</td> <td>13.7192</td> </tr> </table>
PS: Kaffee ist nicht vergessen
-
ja, alle zeilen mit console.log einfach auskommentieren
vorher
console.log(....
nachher
//console.log(....
-
Danke
-
Hallo Oliver!
Ist es möglich, dies noch zu implementieren (in Alexa, Telegram und Email).
<einheiten>
<einheit id="410314">Feuerwehr/Florian Maasbach (45314)</einheit>
</einheiten>Aber nur den Namen davon.
Im Beispiel alsoFeuerwehr/Florian Maasbach
-
@negalein
Klar
Poste bitte mal deinen letzten skriptstand
Dann kann ich morgen/übermorgen mal schauen
Ist nix großes -
@oliverio sagte in FF-Einsätze OÖ auswerten:
Poste bitte mal deinen letzten skriptstand
Danke
Ah und noch was.
wie hier zu sehn, werde
Eggerding
mit den Abschnitten `Maasbach, Hof, ...) alarmiert.
Sind dann 4 Meldungen hintereinander.
Kann man in so einem Fall dies auf 1 Zusammenfassen?zB so:
Achtung
Feuerwehreinsatz in Eggerding
Alarmstufe 0
Einsatz od. Einsatzübung
Einheit Hof, Maasbach, Vollmannsdorf, Eggerding
Bezirk Schärding
Anzahl Feuerwehren 1 -
Bitte noch deinen letzten Stand vom Skript posten.
-
@negalein sagte in FF-Einsätze OÖ auswerten:
@oliverio sagte in FF-Einsätze OÖ auswerten:Poste bitte mal deinen letzten skriptstand
-
ach, der knopf, danke.
-
für die erste anforderung bitte die folgende funktion tauschen
Es erzeugt nun folgende Nachricht'Achtung;Feuerwehreinsatz in Kefermarkt;Feuerwehr/Florian Kefermarkt ;Alarmstufe 0;Einsatz od. Einsatzübung;Bezirk Freistadt;Anzahl Feuerwehren 1;
Wenn mehrere Einheiten aufgeführt werden, dann lautet die Meldung
'Achtung;Feuerwehreinsatz in Kefermarkt;Feuerwehr/Florian Einheit A Feuerwehr/Florian Einheit B Feuerwehr/Florian Einheit C;Alarmstufe 0;Einsatz od. Einsatzübung;Bezirk Freistadt;Anzahl Feuerwehren 1;
Das ist alles relativ viel Wiederholung. ggfs. könnte man das auch noch so aufbauen:
Einheiten A B C
In meinen aktuellen Daten fängt das Feld immer mit Feuerwehr/Florian an. Das könnte man noch herausfiltern. Wenn das dann aber mal anders heißt dann schlägt das ggfs fehl.
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) { let einheiten = einsatz.einheiten.reduce((acc, einheit) => { return acc + einheit.bezeichnung.replace(/(.+) \(\d+\)/gm, "$1") + " "; }, "") if (kurz) { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', einheiten, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join('')); } else { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', einheiten, ';', '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(";"); }
-
für die 2.anforderung, die Zusammenfassung ist etwas schwieriger.
Die Datenlogik sagt, das das alles einzelne Einsätze sind.
Jeder Einsatz hat die Möglichkeit 1 oder mehrere Einheiten zu benennen.
In diesem Fall wurden aber verschiedene Einsätze mit jeweils einer Feuerwehr definiert worden.Wenn ich nun eine Logik erarbeite, die unterschiedliche Einsätze evtl anhand des Namens versucht zusammenzufassen, dann kann es aber auch falsches zusammenfassen.
hier mal ein Screenshot von einem Einsatz mit mehreren Einheiten
Dein Beispiel mit Eggerding habe ich hier allerdings auch nicht gefunden
https://cf-einsaetze.ooelfv.at/einsatz/monat-0 -
@oliverio sagte in FF-Einsätze OÖ auswerten:
Dein Beispiel mit Eggerding habe ich hier allerdings auch nicht gefunden
da dürfte für meinen Bezirk etwas nicht freigeschaltet sein.
403 ERROR The request could not be satisfied. This distribution is not configured to allow the HTTP request method that was used for this request. The distribution supports only cachable requests. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner. If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation. Generated by cloudfront (CloudFront) Request ID: 6gDmI6j51Qi2t3xCnv1jm4fba93dTLXgUS-uJEp-feAvBAAa0KSzhA==
Ah, verstehe.
Das lassen wir dann sein. -
@oliverio sagte in FF-Einsätze OÖ auswerten:
In meinen aktuellen Daten fängt das Feld immer mit Feuerwehr/Florian an. Das könnte man noch herausfiltern. Wenn das dann aber mal anders heißt dann schlägt das ggfs fehl.
Ja, das wäre super.
Vielleicht nurFeuerwehr
herausfiltern? -
@negalein sagte in FF-Einsätze OÖ auswerten:
@oliverio sagte in FF-Einsätze OÖ auswerten:
Dein Beispiel mit Eggerding habe ich hier allerdings auch nicht gefunden
da dürfte für meinen Bezirk etwas nicht freigeschaltet sein.
403 ERROR The request could not be satisfied. This distribution is not configured to allow the HTTP request method that was used for this request. The distribution supports only cachable requests. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner. If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation. Generated by cloudfront (CloudFront) Request ID: 6gDmI6j51Qi2t3xCnv1jm4fba93dTLXgUS-uJEp-feAvBAAa0KSzhA==
Ah, verstehe.
Das lassen wir dann sein.Komisch.
Bin da ja nicht mal angemeldet und rufe aus D ab.
Oben rechts auf der Webseite kann man die verschiedenen Zeiträume abrufen. Das ist die Seite für den ganzen Oktober -
@oliverio sagte in FF-Einsätze OÖ auswerten:
Oben rechts auf der Webseite kann man die verschiedenen Zeiträume abrufen. Das ist die Seite für den ganzen Oktober
funktioniert wieder. Deren Server hatte Schluckauf
-
@negalein sagte in FF-Einsätze OÖ auswerten:
Vielleicht nur Feuerwehr herausfiltern?
So, hier bitte nochmal Funktion 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) { let einheiten = einsatz.einheiten.reduce((acc, einheit) => { return acc + einheit.bezeichnung.replace(/Feuerwehr\/(.+)\s\(\d+\)/gm, "$1") + " "; }, "") if (kurz) { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', einheiten, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join('')); } else { messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', einheiten, ';', '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(";"); }
-
@oliverio sagte in FF-Einsätze OÖ auswerten:
So, hier bitte nochmal Funktion tauschen
Danke
wo muss ich bei der Formatierung den
,
eingeben, damit es so ausschaut?Achtung
Feuerwehreinsatz in Diersbach
Florian Diersbach,
Florian Oberedt
Alarmstufe 0
Bergung PKW
Bezirk Schärding
Anzahl Feuerwehren 2 -
@negalein
Zeile 12return acc + einheit.bezeichnung.replace(/Feuerwehr\/(.+)\s\(\d+\)/gm, "$1") + ", ";