NEWS
Hilfe bei RSS-feed benötigt !
-
@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) -
@negalein sagte in Hilfe bei RSS-feed benötigt !:
Auch mit dem Aufteilen des JSON?
Als Text zB "Feuerwehreinsatz" (wie im obigen Blockly), "in Schärding - Schardenberg", "Alarmstufe 1" (wie Beispiel-JSON zB)so ungefähr ?
Ergebnis im Log
Feuerwehreinsatz in Schärding - SCHARDENBERG, Alarmstufe 1
Der DP Feuerwehr ist selbst angelegt, da ist zum testen nur Dein Beispiel json drinn
-
@dslraser sagte in Hilfe bei RSS-feed benötigt !:
so ungefähr ?
Cool
Das Beispiel von dir kommt dann hier anstatt des rot umrandetem rein?
Nur statt dem debug output der Alexa Block? -
-
-
-
funktioniert soweit.
Allerdings lässt er zB bei diesem JSON was 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"}]
im Blockly bei 0.Feuerwache spricht er nur
Schärding
. Sollte aberSchärding - Schardenberg
sein.Wenn ich den Titel
SD - BRANDMELDEALARM
noch möchte, reicht hier dann ein 0.Titel einzufügen? -
@negalein sagte in Hilfe bei RSS-feed benötigt !:
im Blockly bei 0.Feuerwache spricht er nur Schärding. Sollte aber Schärding - Schardenberg sein.
Ich weiß gerade nicht wie sich Bindestriche bei speak auswirken...?
Wenn ich den Titel SD - BRANDMELDEALARM noch möchte, reicht hier dann ein 0.Titel einzufügen?
Ja, wobei ich nicht weiß wie SD ausgesprochen wird ?
(ich bin jetzt nur am Handy, habe den Rechner schon aus)