NEWS
Hilfe bei RSS-feed benötigt !
-
@negalein sagte in Hilfe bei RSS-feed benötigt !:
Schärding
wenn schärding ein ort sein soll und wenn das im rss feed als daten enthalten ist,
dann kann man im template danach filtern lassen.
alternativ kann man das auch als skript umsetzen -
@negalein sagte in Hilfe bei RSS-feed benötigt !:
von welchem Script kommt javascript.0.Feuerwehr.neuer_Alarm?
-
@sigi234 sagte in Hilfe bei RSS-feed benötigt !:
Skript_Feuerwehreinsatz.txt
dann benötige ich das Blockly
Blockly_Feuerwehreinsatz.txt
nicht?
Ist es auch möglich, nach 2 FF abzufragen? Oder besser pro FF ein eigenes Script?
Gerade gesehn, dass 2 FF möglich sind. -
@sigi234 sagte in Hilfe bei RSS-feed benötigt !:
Skript_Feuerwehreinsatz.txt
bekomme folgende Meldungen
00:18:14.059 warn javascript.0 (16192) at polldata (script.js.Feuerwehr.Einsaetze:21:5) 00:18:14.059 warn javascript.0 (16192) at script.js.Feuerwehr.Einsaetze:13:1 00:18:14.059 warn javascript.0 (16192) at script.js.Feuerwehr.Einsaetze:59:3 00:18:14.060 warn javascript.0 (16192) at polldata (script.js.Feuerwehr.Einsaetze:22:5) 00:18:14.060 warn javascript.0 (16192) at script.js.Feuerwehr.Einsaetze:13:1 00:18:14.060 warn javascript.0 (16192) at script.js.Feuerwehr.Einsaetze:59:3
-
Poste mal dein Skript
Wie sind deine Instanzeinstellungen: javascript.0
Ändere die Zeile 1 mal:
let WACHE0 = /.*/ig; //RegEx
-
@sigi234 sagte in Hilfe bei RSS-feed benötigt !:
Wie sind deine Instanzeinstellungen: javascript.0
funktioniert jetzt. Musste Script 2x starten.
Wäre es auch möglich, nach Bezirk zu filtern?Was etwas stört ist das Alexa-Blockly.
Das gibt laufend die Meldung aus.
Cool wäre noch, wenn es nicht nurFeuerwehreinsatz
schreit, sondern auch die Meldung vonjavascript.0.Feuerwehr.RSS_Meldung
ansagen könnte. -
@negalein sagte in Hilfe bei RSS-feed benötigt !:
@sigi234 sagte in Hilfe bei RSS-feed benötigt !:
Wie sind deine Instanzeinstellungen: javascript.0
funktioniert jetzt. Musste Script 2x starten.
Wäre es auch möglich, nach Bezirk zu filtern?Was etwas stört ist das Alexa-Blockly.
Das gibt laufend die Meldung aus.
Cool wäre noch, wenn es nicht nurFeuerwehreinsatz
schreit, sondern auch die Meldung vonjavascript.0.Feuerwehr.RSS_Meldung
ansagen könnte.Da kann ev. @dslraser helfen?
-
@negalein sagte in Hilfe bei RSS-feed benötigt !:
Wäre es auch möglich, nach Bezirk zu filtern?
Da ich die "Beschreibung" (Description) durchsuche ist der Suchbegriff per RegEx egal. Wenn also dort der Bezirk immer drin steht, einfach bei "Wache(x)" zB. Gmunden eintragen:
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel> <title>Landes-Feuerwehrkommando OÖ laufende Einsätze</title> <description>Warn- und Alarmsystem, Alarmierungen in Oberösterreich</description> <language>de-AT</language> <link>http://intranet.ooelfv.at</link> <category>Alarmierungenlaufende Einsätze</category> <pubDate>Sat, 07 Aug 2021 16:41:04 +0200</pubDate> <ttl>1</ttl> <atom:link href="http://intranet.ooelfv.at/webext2/rss/rss_laufend.xml" rel="self" type="application/rss+xml" /> <image> <url>http://intranet.ooelfv.at/webext2/img/karte_laufend_tn100.jpg</url> <title>Einsatzkarte laufend</title> <link>http://intranet.ooelfv.at/webext2/karten.php?scope=laufend</link> </image> <item> <title>GM - ÖLSPUR, ÖLAUSTRITT</title> <pubDate>Sat, 07 Aug 2021 16:09:47 +0200</pubDate> <category>!Art TK.OELSPUR-TK</category> <category>!laufende Einsätze</category> <category>!Farbe TEE</category> <category>Bezirk Gmunden</category> <guid>http://intranet.ooelfv.at/webext2/detail.php?NUM1=E210800675</guid> <link>http://intranet.ooelfv.at/webext2/detail.php?NUM1=E210800675</link> <description><![CDATA[ Gmunden - PINSDORF<br>E210800675, Alarmstufe: 1<br>1 Feuerwehren 07.08.2021 16:09 - <br>FF Pinsdorf<br> ]]></description> </item> <item> <title>GM - WASSERSCHADEN</title> <pubDate>Sat, 07 Aug 2021 16:06:39 +0200</pubDate> <category>!Art TK.WASSER-TK</category> <category>!laufende Einsätze</category> <category>!Farbe TEE</category> <category>Bezirk Gmunden</category> <guid>http://intranet.ooelfv.at/webext2/detail.php?NUM1=E210800673</guid> <link>http://intranet.ooelfv.at/webext2/detail.php?NUM1=E210800673</link> <description><![CDATA[ Gmunden - TRAUNKIRCHEN<br>E210800673, Alarmstufe: 1<br>1 Feuerwehren 07.08.2021 16:06 - <br>FF Traunkirchen<br> ]]></description> </item> </channel></rss>
Das anfängliche 2x starten ist "normal", da ich (man beachte das Datum) da noch nix von async/await wusste. Beim 1. Start will er da gerade die DPs anlegen und bevor er fertig ist schon reinschreiben. Beim 2. Start sind sie dann korrekt vorhanden und er kann sie auch befüllen
-
@sigi234 sagte in Hilfe bei RSS-feed benötigt !:
Da kann ev. @dslraser helfen?
Ja, wäre cool!
@dslraser hat Ahnung von der Materie! -
@negalein sagte in Hilfe bei RSS-feed benötigt !:
hat Ahnung von der Materie!
von was denn ? (ich habe hier in dem Thread noch nichts gelesen, worum geht es denn ?)
-
@dslraser sagte in Hilfe bei RSS-feed benötigt !:
@negalein sagte in Hilfe bei RSS-feed benötigt !:
hat Ahnung von der Materie!
von was denn ? (ich habe hier in dem Thread noch nichts gelesen, worum geht es denn ?)
@sigi234 sagte in Hilfe bei RSS-feed benötigt !:
@negalein sagte in Hilfe bei RSS-feed benötigt !:
Was etwas stört ist das Alexa-Blockly.
Das gibt laufend die Meldung aus.
Cool wäre noch, wenn es nicht nur Feuerwehreinsatz schreit, sondern auch die Meldung von javascript.0.Feuerwehr.RSS_Meldung ansagen könnte.Da kann ev. @dslraser helfen?
Trigger in Trigger?
-
@sigi234 sagte in Hilfe bei RSS-feed benötigt !:
Trigger in Trigger?
wo denn ?
jedes Mal wenn das passiert:
soll das gemacht werden:
wobei ich mit sendTo alexa2.0 noch nix gemacht habe...(was macht der Baustein ?)
EDIT: und die Lautstärke wird erst nach der Ansage auf 100 gestellt ?
Die Lautstärke kann auch da rechts bei falls wahr oder falls falsch mit dem Text übergeben werden, wobei das erstelle Text aus (das links ist über )
-
@dslraser sagte in Hilfe bei RSS-feed benötigt !:
worum geht es denn ?
Dieses Blockly gibt per Alexa einen Text aus, wenn ein FF-Einsatz ist.
blockly_ansage_alexa_feuerwehreinsatz.txtWäre es auch möglich, den Text des erstellten JSON auf Alexa auszugeben?
So schaut das zB aus:[{"Titel":"SD - BRANDMELDEALARM","Feuerwache":"Schärding - SCHARDENBERG","Einsatz":"E210800560","Alarmstufe":"1","Feuerwehren":"1","Zeit":"06.08.2021 14:02 Uhr06.08.2021 14:47","Bezirk":"FF Schardenberg"}]
Als Text zB "Feuerwehreinsatz" (wie im obigen Blockly), "in Schärding - Schardenberg", "Alarmstufe 1"
-
@dslraser sagte in Hilfe bei RSS-feed benötigt !:
jedes Mal wenn das passiert:
soll das gemacht werden:
genau
wobei ich mit sendTo alexa2.0 noch nix gemacht habe...(was macht der Baustein ?)
Das stimmt. Der macht eigentlich nichts. Hab das Blockly nur bekommen.
EDIT: und die Lautstärke wird erst nach der Ansage auf 100 gestellt ?
Die Lautstärke kann auch da rechts bei falls wahr oder falls falsch mit dem Text übergeben werden, wobei das erstelle Text aus (das links ist über )Lautstärke hab ich bereits mit 100;Text angepasst
-
@dslraser sagte in Hilfe bei RSS-feed benötigt !:
wobei ich mit sendTo alexa2.0 noch nix gemacht habe...(was macht der Baustein ?)
Wurde entfernt, aber wäre interessant zu wissen was der macht.
-
@sigi234 sagte in Hilfe bei RSS-feed benötigt !:
Wurde entfernt, aber wäre interessant zu wissen was der macht.
habe ich schonmal nachgefragt, der macht "nix"
-
habe mal einen alias meiner Lampe genommen
-
@negalein sagte in Hilfe bei RSS-feed benötigt !:
Wäre es auch möglich, den Text des erstellten JSON auf Alexa auszugeben?
ja, das geht auch.
das ist ein eigener DP
wann wird der denn auf wahr gestellt und durch was ?
-
Durch dieses JS Skript:
let WACHE0 = /.*/ig; //RegEx let WACHE1 = /DEINE WACHE*/ig; //RegEx let DP = "javascript.0.Feuerwehr"; //Datenpunkt const Zeitplan = "*/10 * * * *"; //jede Minute bei 23 Sekunden //Datenpunkt anlegen createState(DP+'.RSS_Meldung', '', { name: "Feuerwehreinsatzmeldungen", type: "json", role: "state" }); createState(DP+'.neuer_Alarm', '', { name: "neue Meldung", type: "boolean", role: "state" }); //scheduler schedule(Zeitplan, polldata); polldata(); //einmalig direkt beim Start Daten holen function polldata() { var FeedParser = require('feedparser'); var request = require('request'); // for fetching the feed var req = request('http://intranet.ooelfv.at/webext2/rss/rss_laufend.xml'); var feedparser = new FeedParser(); setState(DP+'.neuer_Alarm', false); //DP leeren setState(DP+'.RSS_Meldung', ''); //DP leeren req.on('error', function (error) { // handle any request errors }); req.on('response', function (res) { var stream = this; // `this` is `req`, which is a stream if (res.statusCode !== 200) { this.emit('error', new Error('Bad status code')); } else { stream.pipe(feedparser); } }); feedparser.on('error', function (error) { // always handle errors }); feedparser.on('readable', function () { // This is where the action is! var stream = this; // `this` is `feedparser`, which is a stream var meta = this.meta; // **NOTE** the "meta" is always available in the context of the feedparser instance var item; while (item = stream.read()) { if (item.description.search(WACHE0) != -1 || item.description.search(WACHE1) != -1) { let tmp = (item.description.split("<br>")); let tmp1= (tmp[1].split(", ")); let tmp2= (tmp[2].split(" ")); tmp1[1] = tmp1[1].replace(/[a-z,A-Z,:, ]/ig, ""); tmp2[0] = tmp2[0].replace(/[a-z,A-Z,:, ]/ig, ""); tmp2[1] = tmp2[1].replace("- ", "Uhr"); setState(DP+'.RSS_Meldung', JSON.stringify([{ 'Titel': item.title, 'Feuerwache': tmp[0], 'Einsatz': tmp1[0], 'Alarmstufe': tmp1[1], 'Feuerwehren': tmp2[0], 'Zeit': tmp2[1], 'Bezirk': tmp[3] }])); console.log("Einsatzmeldung vorhanden..."); setState(DP+'.neuer_Alarm', true); } } }); } //end polldata
-
@dslraser sagte in Hilfe bei RSS-feed benötigt !:
habe mal einen alias meiner Lampe genommen
soweit hab ich es auch zugeschnitten. Das funktioniert.
@negalein sagte in Hilfe bei RSS-feed benötigt !:
Wäre es auch möglich, den Text des erstellten JSON auf Alexa auszugeben?ja, das geht auch.
Auch mit dem Aufteilen des JSON?
Als Text zB "Feuerwehreinsatz" (wie im obigen Blockly), "in Schärding - Schardenberg", "Alarmstufe 1" (wie Beispiel-JSON zB)