NEWS
Hilfe bei RSS-feed benötigt !
-
@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)
-
@dslraser sagte in Hilfe bei RSS-feed benötigt !:
Ich weiß gerade nicht wie sich Bindestriche bei speak auswirken...?
hab gerade
40;SD - BRANDMELDEALARM
direkt im Speak DP getestet. Da wird es alsSD BRANDMELDEALARM
vorgelesen. -
@negalein sagte in Hilfe bei RSS-feed benötigt !:
Da wird es als SD BRANDMELDEALARM vorgelesen.
Ja, man müsste 5(?) Zeichen abnehmen, weil SD braucht man nicht
-
@sigi234 sagte in Hilfe bei RSS-feed benötigt !:
Ja, man müsste 5(?) Zeichen abnehmen, weil SD braucht man nicht
Ich würde eher den ganzen Text nehmen. Gestern beim Sturm ist mir aufgefallen, dass der Titel oft variiert.
BR - Sturm, Braunau - Sturm, usw. -
@sigi234 sagte in Hilfe bei RSS-feed benötigt !:
Ja, man müsste 5(?) Zeichen abnehmen, weil SD braucht man nicht
Ok, ich hab jetzt nochmal die Titel der letzten 2 Tage kontrolliert.
Da würde es mit den 5 Zeichen passen. -
Wenn kein Einsatz ist kommt ein Fehler, weil der DP leer ist.
-
@sigi234 sagte in Hilfe bei RSS-feed benötigt !:
Wenn kein Einsatz ist kommt ein Fehler, weil der DP leer ist.
bei mir passts
-
@sigi234
Du musst unten für die E-Mail auch den prüfe Baustein einbauen, nur ohne die Lautstärke am Anfang.
Oben kann der Baustein mit dem Kreuz weg.