Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Hilfe bei RSS-feed benötigt !

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Hilfe bei RSS-feed benötigt !

Geplant Angeheftet Gesperrt Verschoben JavaScript
426 Beiträge 13 Kommentatoren 68.7k Aufrufe 13 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • dslraserD dslraser

    @negalein sagte in Hilfe bei RSS-feed benötigt !:

    @dslraser sagte in Hilfe bei RSS-feed benötigt !:

    Du hast mich falsch verstanden....

    Ah ok, jetzt verstanden. :)

    Ja, für das Blockly ist es quasi immer eine neue Meldung, da der DP durch das Script immer neu beschrieben wird.

    Wäre cool, wenn @SBorg hier noch was ändern könnte. Falls es möglich ist.

    @SBorg Ich war gerade auch dabei diesen Beitrag zu schreiben als Du Deine Änderung gepostet hast. Ich hatte Dein Script auch verändert, aber wenn es mehrere Meldungen gab, dann kamen im eingestellten Intervall auch immer abwechselnd die Meldungen.
    Dann werde ich mal Dein aktuelles Script probieren...
    Meinen schon geschriebenen Text lasse ich mal unten im Spoiler drinn

    javascript.0
    2021-08-10 12:55:12.898	info	script.js.99_Test.Feuerwehr-negalein: Ansage: 30;Achtung TECHNISCHER EINSATZ KLEIN, Feuerwehreinsatz in Braunau - BRAUNAU AM INN, Alarmstufe 1
    
    javascript.0
    2021-08-10 12:55:12.897	info	script.js.99_Test.Feuerwehr-negalein: Ansage: 30;Achtung WASSERSCHADEN, Feuerwehreinsatz in Schärding - SCHÄRDING, Alarmstufe 1
    
    javascript.0
    2021-08-10 12:55:12.895	info	script.js.99_Test.Feuerwehr: Einsatzmeldung vorhanden...
    
    javascript.0
    2021-08-10 12:55:12.894	info	script.js.99_Test.Feuerwehr: Einsatzmeldung vorhanden...
    
    javascript.0
    2021-08-10 12:54:42.562	info	script.js.99_Test.Feuerwehr-negalein: Ansage: 30;Achtung TECHNISCHER EINSATZ KLEIN, Feuerwehreinsatz in Braunau - BRAUNAU AM INN, Alarmstufe 1
    
    javascript.0
    2021-08-10 12:54:42.561	info	script.js.99_Test.Feuerwehr-negalein: Ansage: 30;Achtung WASSERSCHADEN, Feuerwehreinsatz in Schärding - SCHÄRDING, Alarmstufe 1
    
    javascript.0
    2021-08-10 12:54:42.552	info	script.js.99_Test.Feuerwehr: Einsatzmeldung vorhanden...
    
    javascript.0
    2021-08-10 12:54:42.552	info	script.js.99_Test.Feuerwehr: Einsatzmeldung vorhanden...
    
    javascript.0
    2021-08-10 12:54:00.219	info	script.js.99_Test.Feuerwehr-negalein: Ansage: 30;Achtung TECHNISCHER EINSATZ KLEIN, Feuerwehreinsatz in Braunau - BRAUNAU AM INN, Alarmstufe 1
    
    javascript.0
    2021-08-10 12:54:00.218	info	script.js.99_Test.Feuerwehr-negalein: Ansage: 30;Achtung WASSERSCHADEN, Feuerwehreinsatz in Schärding - SCHÄRDING, Alarmstufe 1
    
    javascript.0
    2021-08-10 12:54:00.216	info	script.js.99_Test.Feuerwehr: Einsatzmeldung vorhanden...
    
    javascript.0
    2021-08-10 12:54:00.215	info	script.js.99_Test.Feuerwehr: Einsatzmeldung vorhanden...
    
    javascript.0
    2021-08-10 12:53:33.732	info	script.js.13_Uhr_und_Astro.Astrozeiten: nächte kommende Tagezeit: Nachmittag
    
    javascript.0
    2021-08-10 12:53:33.732	info	script.js.13_Uhr_und_Astro.Astrozeiten: neue Tagezeit: Mittag
    
    javascript.0
    2021-08-10 12:53:30.219	info	script.js.99_Test.Feuerwehr-negalein: Ansage: 30;Achtung TECHNISCHER EINSATZ KLEIN, Feuerwehreinsatz in Braunau - BRAUNAU AM INN, Alarmstufe 1
    
    javascript.0
    2021-08-10 12:53:30.218	info	script.js.99_Test.Feuerwehr-negalein: Ansage: 30;Achtung WASSERSCHADEN, Feuerwehreinsatz in Schärding - SCHÄRDING, Alarmstufe 1
    
    javascript.0
    2021-08-10 12:53:30.216	info	script.js.99_Test.Feuerwehr: Einsatzmeldung vorhanden...
    
    javascript.0
    2021-08-10 12:53:30.215	info	script.js.99_Test.Feuerwehr: Einsatzmeldung vorhanden...
    
    javascript.0
    2021-08-10 12:53:00.220	info	script.js.99_Test.Feuerwehr-negalein: Ansage: 30;Achtung TECHNISCHER EINSATZ KLEIN, Feuerwehreinsatz in Braunau - BRAUNAU AM INN, Alarmstufe 1
    
    javascript.0
    2021-08-10 12:53:00.220	info	script.js.99_Test.Feuerwehr-negalein: Ansage: 30;Achtung WASSERSCHADEN, Feuerwehreinsatz in Schärding - SCHÄRDING, Alarmstufe 1
    

    Ich habe mal das Script und das Blockly verändert. Jetzt wird der Datenpunkt mit der Meldung nicht mehr geleert. Der Datenpunkt mit true/false ist ganz raus.
    Im Blockly schaue ich jetzt eigentlich nur ob sich der Datenpunkt mit der Meldung geändert hat und lasse dann die Ansage machen. Beim Scriptstart wird der Datenpunkt einmalig geleert.
    Der Zeitplan steht zum testen auf 30 Sekunden.

    Probier mal...:

    let   WACHE0   = /.*/ig;                        //RegEx
    let   WACHE1   = /Schardenberg*/ig;             //RegEx
    let   DP       = "javascript.0.Feuerwehr";      //Datenpunkt
    const Zeitplan = "*/30 * * * * *";              //Intervall
    
    
    //Datenpunkt anlegen
    createState(DP+'.RSS_Meldung', '', { name: "Feuerwehreinsatzmeldungen", type: "json", role: "state" });
    
    //scheduler
    schedule(Zeitplan, polldata);
    polldata();  //einmalig direkt beim Start Daten holen
    setState(DP+'.RSS_Meldung', ''); //DP leeren
    
    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+'.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...");
         }     
       }
     });
    } //end polldata
    
    

    <xml xmlns="https://developers.google.com/blockly/xml">
     <variables>
       <variable id="L7A9(g?`LW}R/bMuZJZ+">alarm</variable>
       <variable id="LsczX0YIyn!68c?SjK*I">Ansage</variable>
     </variables>
     <block type="update" id="]Rq*KdtvY3{/U}jfts0r" x="262" y="112">
       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
       <field name="OID">javascript.0.Feuerwehr.RSS_Meldung</field>
       <field name="WITH_DELAY">FALSE</field>
       <value name="VALUE">
         <block type="text" id="Xc0!UR;yaa*OC;WI^~aM">
           <field name="TEXT"></field>
         </block>
       </value>
       <next>
         <block type="on" id="4Ag2o!M7(duPG[0Vl2Hd">
           <field name="OID">javascript.0.Feuerwehr.RSS_Meldung</field>
           <field name="CONDITION">ne</field>
           <field name="ACK_CONDITION"></field>
           <statement name="STATEMENT">
             <block type="variables_set" id="%HtGMbM4;hXhq!W!Jl{p">
               <field name="VAR" id="L7A9(g?`LW}R/bMuZJZ+">alarm</field>
               <value name="VALUE">
                 <block type="on_source" id="jdhj}_X/5kH1zQ5o*8C^">
                   <field name="ATTR">state.val</field>
                 </block>
               </value>
               <next>
                 <block type="debug" id="2V~2-(yaB)LH2@eNpWBR" disabled="true">
                   <field name="Severity">log</field>
                   <value name="TEXT">
                     <shadow type="text" id="d%$x30Q;kC;=Vt{B]6|t">
                       <field name="TEXT">test</field>
                     </shadow>
                     <block type="text_join" id="~iS=1zY?23LhChk$.@ER">
                       <mutation items="2"></mutation>
                       <value name="ADD0">
                         <block type="text" id="XbTnG~[ZSi/:1jq~rw^t">
                           <field name="TEXT">Trigger: </field>
                         </block>
                       </value>
                       <value name="ADD1">
                         <block type="on_source" id="tBL#1AF%0UrQql557:kl">
                           <field name="ATTR">state.val</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <next>
                     <block type="controls_if" id="^tIyFsUxjFqH^5KM]Cd@">
                       <value name="IF0">
                         <block type="logic_compare" id="]zMvXTEIU,.V1C4;K,~:">
                           <field name="OP">NEQ</field>
                           <value name="A">
                             <block type="on_source" id="1|*|+,f61)[zG*HC3q|8">
                               <field name="ATTR">state.val</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="text" id="!zh?%SplHiDFi-b/Nak_">
                               <field name="TEXT"></field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="variables_set" id="CMmMZwNmchG4F@fQN:C}">
                           <field name="VAR" id="LsczX0YIyn!68c?SjK*I">Ansage</field>
                           <value name="VALUE">
                             <block type="text_join" id="*h/@)bzlPIooxo1/j:Au">
                               <mutation items="8"></mutation>
                               <value name="ADD0">
                                 <block type="text" id="Xu8o?(43(vn;Cg!T-f[1">
                                   <field name="TEXT">30;Achtung </field>
                                 </block>
                               </value>
                               <value name="ADD1">
                                 <block type="text_getSubstring" id="}IpIsHTiUy+8B#?K/B%5">
                                   <mutation at1="true" at2="false"></mutation>
                                   <field name="WHERE1">FROM_START</field>
                                   <field name="WHERE2">LAST</field>
                                   <value name="STRING">
                                     <block type="get_attr" id="v~82#[cNH(ra2KPFbM4W">
                                       <value name="PATH">
                                         <shadow type="text" id="7;3ubSC@.Vh4B1@vTR%$">
                                           <field name="TEXT">0.Titel</field>
                                         </shadow>
                                       </value>
                                       <value name="OBJECT">
                                         <block type="variables_get" id="+ui2E?c,Vjd@r+{OJD%%">
                                           <field name="VAR" id="L7A9(g?`LW}R/bMuZJZ+">alarm</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="AT1">
                                     <block type="math_number" id="uTA06l]H..Y:0_w;K7O7">
                                       <field name="NUM">6</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="ADD2">
                                 <block type="text" id="-mZ^h1(ueF^~78a{-,4z">
                                   <field name="TEXT">, </field>
                                 </block>
                               </value>
                               <value name="ADD3">
                                 <block type="text" id="0}0|gG|9{6D#6[fzo9qB">
                                   <field name="TEXT">Feuerwehreinsatz in </field>
                                 </block>
                               </value>
                               <value name="ADD4">
                                 <block type="get_attr" id="NH!)Y8=bLfRpPo2:WbjX">
                                   <value name="PATH">
                                     <shadow type="text" id="(Cy7yET/dEvN8A4b|-(w">
                                       <field name="TEXT">0.Feuerwache</field>
                                     </shadow>
                                   </value>
                                   <value name="OBJECT">
                                     <block type="variables_get" id="H6r!qQXG2k`,6ad^P8@L">
                                       <field name="VAR" id="L7A9(g?`LW}R/bMuZJZ+">alarm</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="ADD5">
                                 <block type="text" id="a$[LcG?`YqUEJ88yB|Nk">
                                   <field name="TEXT">, </field>
                                 </block>
                               </value>
                               <value name="ADD6">
                                 <block type="text" id="H^eJylGZdDfB9@!`VW/M">
                                   <field name="TEXT"> Alarmstufe </field>
                                 </block>
                               </value>
                               <value name="ADD7">
                                 <block type="get_attr" id="FgybMVKzEzhDO=?4Y9qZ">
                                   <value name="PATH">
                                     <shadow type="text" id="_sE$+E3j.T_fm~J)o.x2">
                                       <field name="TEXT">0.Alarmstufe</field>
                                     </shadow>
                                   </value>
                                   <value name="OBJECT">
                                     <block type="variables_get" id="|!-j*yWA38543V2I-Yo2">
                                       <field name="VAR" id="L7A9(g?`LW}R/bMuZJZ+">alarm</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="alm4P!?kI2P%{?tmA?!Q" disabled="true">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="text_join" id="q1M=D|,|=n?#hG[j{)jF">
                                   <mutation items="2"></mutation>
                                   <value name="ADD0">
                                     <block type="text" id="/%EeV3[QI[gYyYnZRHXW">
                                       <field name="TEXT">Ansage: </field>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <block type="variables_get" id="AVlBEj-{:5rgRgUfV;_l">
                                       <field name="VAR" id="LsczX0YIyn!68c?SjK*I">Ansage</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="control" id="aB@ja!KyrC^SDNh,s[3Y">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">alexa2.0.Echo-Devices.G0911B0592770T3W.Commands.speak</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="variables_get" id="[,fek++O]qRkKOl/UM1.">
                                       <field name="VAR" id="LsczX0YIyn!68c?SjK*I">Ansage</field>
                                     </block>
                                   </value>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </statement>
         </block>
       </next>
     </block>
    </xml>
    



    Bildschirmfoto 2021-08-10 um 13.14.41.png

    var alarm, Ansage;
    
    function subsequenceFromStartLast(sequence, at1) {
     var start = at1;
     var end = sequence.length - 1 + 1;
     return sequence.slice(start, end);
    }
    
    
    setState("javascript.0.Feuerwehr.RSS_Meldung"/*Feuerwehreinsatzmeldungen*/, '', true);
    on({id: "javascript.0.Feuerwehr.RSS_Meldung"/*Feuerwehreinsatzmeldungen*/, change: "ne"}, async function (obj) {
     var value = obj.state.val;
     var oldValue = obj.oldState.val;
     alarm = (obj.state ? obj.state.val : "");
     if ((obj.state ? obj.state.val : "") != '') {
       Ansage = ['30;Achtung ',subsequenceFromStartLast(getAttr(alarm, '0.Titel'), 5),', ','Feuerwehreinsatz in ',getAttr(alarm, '0.Feuerwache'),', ',' Alarmstufe ',getAttr(alarm, '0.Alarmstufe')].join('');
       console.log(('Ansage: ' + String(Ansage)));
     }
    });
    


    SBorgS Offline
    SBorgS Offline
    SBorg
    Forum Testing Most Active
    schrieb am zuletzt editiert von SBorg
    #199

    @dslraser :)
    Die Meldung wird zwar noch immer jedes mal geschrieben, da aber das auch jedes mal erfolgte löschen weg fällt, fällt auch das "aktualisieren" aus, außer es passiert wirklich was neues.

    * EDIT * natürlich "ändern", aktualisiert wird ja...

    LG SBorg ( SBorg auf GitHub)
    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

    1 Antwort Letzte Antwort
    1
    • SBorgS SBorg

      Ungetestet aus dem Bauch heraus:

      // V0.1.0 10.08.2021 SBorg
      let Filter0 = /.*/ig;                        //RegEx (hier alle Meldungen
      let Filter1 = /DEINE WACHE*/ig;              //RegEx (zB. Brandwache, Bezirk...)
      let DP = "0_userdata.0.Feuerwehr";           //Datenpunkt
      
      const Zeitplan = "23 * * * * *";             //jede Minute bei 23 Sekunden (individuell abändern; es sollte nicht jeder minütlich bei genau 23 Sekunden abfragen!)
      
      
      //Datenpunkte 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();
      
          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(Filter0) != -1 || item.description.search(Filter1) != -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);
            } else {
               if (getState(DP+'.RSS_Meldung').val) {
                setState(DP+'.neuer_Alarm', false);  //DP leeren
                setState(DP+'.RSS_Meldung', ''); //DP leeren     
               }
            }
          }
        });
      
      } //end polldata
      

      "RSS_ Meldung" sollte nicht mehr aktualisiert werden, außer bei einem neuen Ereignis oder wenn das bestehende nicht mehr existiert.
      "neuer_Alarm" verbleibt solange "true", bis kein Einsatz mehr vorhanden. Dann wechselt er auf "false".

      *EDIT* "geändert" werden ;)
      *EDIT2* fehlende Klammer ergänzt

      NegaleinN Offline
      NegaleinN Offline
      Negalein
      Global Moderator
      schrieb am zuletzt editiert von
      #200

      @sborg sagte in Hilfe bei RSS-feed benötigt !:

      Ungetestet aus dem Bauch heraus:

      Danke

      Er meckert bei mir was an.

      javascript.0 (6878) script.js.Feuerwehr.Einsaetze compile failed: at script.js.Feuerwehr.Einsaetze:66
      

      ° Node.js: 20.17.0 NPM: 10.8.2
      ° Proxmox, Ubuntu 22.04.3 LTS
      ° Fixer ---> iob fix

      dslraserD 1 Antwort Letzte Antwort
      0
      • NegaleinN Negalein

        @sborg sagte in Hilfe bei RSS-feed benötigt !:

        Ungetestet aus dem Bauch heraus:

        Danke

        Er meckert bei mir was an.

        javascript.0 (6878) script.js.Feuerwehr.Einsaetze compile failed: at script.js.Feuerwehr.Einsaetze:66
        
        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #201

        @negalein
        ich glaube in Zeile 66 fehlt eine geschweifte schließende Klammer

         }});
        
        NegaleinN sigi234S SBorgS 3 Antworten Letzte Antwort
        0
        • dslraserD dslraser

          @negalein
          ich glaube in Zeile 66 fehlt eine geschweifte schließende Klammer

           }});
          
          NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          schrieb am zuletzt editiert von
          #202

          @dslraser sagte in Hilfe bei RSS-feed benötigt !:

          ich glaube in Zeile 66 fehlt eine geschweifte schließende Klammer

          das wars :)

          ° Node.js: 20.17.0 NPM: 10.8.2
          ° Proxmox, Ubuntu 22.04.3 LTS
          ° Fixer ---> iob fix

          1 Antwort Letzte Antwort
          0
          • SBorgS SBorg

            Ungetestet aus dem Bauch heraus:

            // V0.1.0 10.08.2021 SBorg
            let Filter0 = /.*/ig;                        //RegEx (hier alle Meldungen
            let Filter1 = /DEINE WACHE*/ig;              //RegEx (zB. Brandwache, Bezirk...)
            let DP = "0_userdata.0.Feuerwehr";           //Datenpunkt
            
            const Zeitplan = "23 * * * * *";             //jede Minute bei 23 Sekunden (individuell abändern; es sollte nicht jeder minütlich bei genau 23 Sekunden abfragen!)
            
            
            //Datenpunkte 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();
            
                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(Filter0) != -1 || item.description.search(Filter1) != -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);
                  } else {
                     if (getState(DP+'.RSS_Meldung').val) {
                      setState(DP+'.neuer_Alarm', false);  //DP leeren
                      setState(DP+'.RSS_Meldung', ''); //DP leeren     
                     }
                  }
                }
              });
            
            } //end polldata
            

            "RSS_ Meldung" sollte nicht mehr aktualisiert werden, außer bei einem neuen Ereignis oder wenn das bestehende nicht mehr existiert.
            "neuer_Alarm" verbleibt solange "true", bis kein Einsatz mehr vorhanden. Dann wechselt er auf "false".

            *EDIT* "geändert" werden ;)
            *EDIT2* fehlende Klammer ergänzt

            NegaleinN Offline
            NegaleinN Offline
            Negalein
            Global Moderator
            schrieb am zuletzt editiert von Negalein
            #203

            @sborg sagte in Hilfe bei RSS-feed benötigt !:

            Ungetestet aus dem Bauch heraus:

            kommt leider noch wiederholend

            Beobachtung:
            Script Start ---> DP wird befüllt ---> Alexa plappert
            00:21 ---> DP wird geleert ---> Alexa plappert
            00:42 ---> DP wird befüllt ---> Alexa plappert
            01:03 ---> DP wird geleert ---> Alexa plappert
            usw. bis der Einsatz beendet ist.

            ° Node.js: 20.17.0 NPM: 10.8.2
            ° Proxmox, Ubuntu 22.04.3 LTS
            ° Fixer ---> iob fix

            dslraserD 1 Antwort Letzte Antwort
            0
            • dslraserD dslraser

              @negalein
              ich glaube in Zeile 66 fehlt eine geschweifte schließende Klammer

               }});
              
              sigi234S Online
              sigi234S Online
              sigi234
              Forum Testing Most Active
              schrieb am zuletzt editiert von sigi234
              #204

              @dslraser

              10.8.2021, 14:03:23.504	[info ]: javascript.0 (16368) Stop script script.js.Ansage.Ansage__Feuerwehreinsatz
              10.8.2021, 14:03:24.193	[info ]: javascript.0 (16368) Start javascript script.js.Ansage.Ansage__Feuerwehreinsatz
              10.8.2021, 14:03:24.200	[info ]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: registered 1 subscription and 0 schedules
              10.8.2021, 14:03:24.624	[info ]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Trigger: 
              10.8.2021, 14:03:24.625	[error]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Cannot parse ""SyntaxError: Unexpected end of JSON input
              10.8.2021, 14:03:24.625	[error]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Cannot parse ""SyntaxError: Unexpected end of JSON input
              10.8.2021, 14:03:24.625	[error]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Cannot parse ""SyntaxError: Unexpected end of JSON input
              10.8.2021, 14:03:24.626	[error]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: TypeError: Cannot read property 'length' of null
              10.8.2021, 14:03:24.627	[error]: javascript.0 (16368)     at subsequenceFromStartLast (script.js.Ansage.Ansage__Feuerwehreinsatz:5:22)
              10.8.2021, 14:03:24.627	[error]: javascript.0 (16368)     at Object.<anonymous> (script.js.Ansage.Ansage__Feuerwehreinsatz:22:140)
              10.8.2021, 14:03:42.854	[info ]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Trigger: [{"Titel":"VB - VERKEHRSUNFALL AUFRÄUMARBEITEN","Feuerwache":"Vöcklabruck - UNGENACH","Einsatz":"E210801768","Alarmstufe":"1","Feuerwehren":"1","Zeit":"10.08.2021 13:57 Uhr","Bezirk":"FF Ungenach"}]
              10.8.2021, 14:03:42.854	[info ]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Ansage: 80;Achtung VERKEHRSUNFALL AUFRÄUMARBEITEN, Feuerwehreinsatz in Vöcklabruck - UNGENACH,  Alarmstufe 1
              10.8.2021, 14:03:42.856	[info ]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Trigger: [{"Titel":"UU - BRANDMELDEALARM","Feuerwache":"Urfahr-Umgebung - GRAMASTETTEN","Einsatz":"E210801764","Alarmstufe":"1","Feuerwehren":"1","Zeit":"10.08.2021 13:51 Uhr","Bezirk":"FF Gramastetten"}]
              10.8.2021, 14:03:42.856	[info ]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Ansage: 80;Achtung BRANDMELDEALARM, Feuerwehreinsatz in Urfahr-Umgebung - GRAMASTETTEN,  Alarmstufe 1
              10.8.2021, 14:03:42.858	[info ]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Trigger: [{"Titel":"BR - TECHNISCHER EINSATZ KLEIN","Feuerwache":"Braunau - BRAUNAU AM INN","Einsatz":"E210801752","Alarmstufe":"1","Feuerwehren":"1","Zeit":"10.08.2021 11:51 Uhr","Bezirk":"FF Ranshofen"}]
              10.8.2021, 14:03:42.858	[info ]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Ansage: 80;Achtung TECHNISCHER EINSATZ KLEIN, Feuerwehreinsatz in Braunau - BRAUNAU AM INN,  Alarmstufe 1
              10.8.2021, 14:04:26.111	[info ]: javascript.0 (16368) Stop script script.js.Ansage.Ansage__Feuerwehreinsatz
              10.8.2021, 14:04:26.848	[info ]: javascript.0 (16368) Start javascript script.js.Ansage.Ansage__Feuerwehreinsatz
              10.8.2021, 14:04:26.880	[info ]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: registered 1 subscription and 0 schedules
              10.8.2021, 14:04:27.233	[info ]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Trigger: 
              10.8.2021, 14:04:27.233	[error]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Cannot parse ""SyntaxError: Unexpected end of JSON input
              10.8.2021, 14:04:27.233	[error]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Cannot parse ""SyntaxError: Unexpected end of JSON input
              10.8.2021, 14:04:27.234	[error]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: Cannot parse ""SyntaxError: Unexpected end of JSON input
              10.8.2021, 14:04:27.234	[error]: javascript.0 (16368) script.js.Ansage.Ansage__Feuerwehreinsatz: TypeError: Cannot read property 'length' of null
              10.8.2021, 14:04:27.234	[error]: javascript.0 (16368)     at subsequenceFromStartLast (script.js.Ansage.Ansage__Feuerwehreinsatz:5:22)
              10.8.2021, 14:04:27.234	[error]: javascript.0 (16368)     at Object.<anonymous> (script.js.Ansage.Ansage__Feuerwehreinsatz:22:140)
              

              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Immer Daten sichern!

              1 Antwort Letzte Antwort
              0
              • dslraserD dslraser

                @negalein
                ich glaube in Zeile 66 fehlt eine geschweifte schließende Klammer

                 }});
                
                SBorgS Offline
                SBorgS Offline
                SBorg
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #205

                @dslraser sagte in Hilfe bei RSS-feed benötigt !:

                @negalein
                ich glaube in Zeile 66 fehlt eine geschweifte schließende Klammer

                 }});
                

                Kommt davon wenn man es mit einem Texteditor macht und sich dann verklammert, äh zählt...
                @Negalein hast du im Blockly von "aktualisiert" auf "geändert" umgestellt?

                Sieht IMHO nämlich gut aus:
                Bild 1.png

                LG SBorg ( SBorg auf GitHub)
                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                NegaleinN 1 Antwort Letzte Antwort
                0
                • NegaleinN Negalein

                  @sborg sagte in Hilfe bei RSS-feed benötigt !:

                  Ungetestet aus dem Bauch heraus:

                  kommt leider noch wiederholend

                  Beobachtung:
                  Script Start ---> DP wird befüllt ---> Alexa plappert
                  00:21 ---> DP wird geleert ---> Alexa plappert
                  00:42 ---> DP wird befüllt ---> Alexa plappert
                  01:03 ---> DP wird geleert ---> Alexa plappert
                  usw. bis der Einsatz beendet ist.

                  dslraserD Offline
                  dslraserD Offline
                  dslraser
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #206

                  @negalein sagte in Hilfe bei RSS-feed benötigt !:

                  @sborg sagte in Hilfe bei RSS-feed benötigt !:

                  Ungetestet aus dem Bauch heraus:

                  kommt leider noch wiederholend

                  Beobachtung:
                  Script Start ---> DP wird befüllt ---> Alexa plappert
                  00:21 ---> DP wird geleert ---> Alexa plappert
                  00:42 ---> DP wird befüllt ---> Alexa plappert
                  01:03 ---> DP wird geleert ---> Alexa plappert
                  usw. bis der Einsatz beendet ist.

                  ja, das habe ich auch, wenn es mehr als einen Einsatz Zeitgleich gibt, je nach dem welchen Trigger Du nun aktuell verwendest.
                  Du hast gesehen das 0_userdata.0 eingestellt war im Script ?

                  Trigger müßte im Blockly nun wieder der DP neue Meldung sein (true/false) dann sollte das nicht mehr passieren...

                  sigi234S SBorgS 2 Antworten Letzte Antwort
                  2
                  • dslraserD dslraser

                    @negalein sagte in Hilfe bei RSS-feed benötigt !:

                    @sborg sagte in Hilfe bei RSS-feed benötigt !:

                    Ungetestet aus dem Bauch heraus:

                    kommt leider noch wiederholend

                    Beobachtung:
                    Script Start ---> DP wird befüllt ---> Alexa plappert
                    00:21 ---> DP wird geleert ---> Alexa plappert
                    00:42 ---> DP wird befüllt ---> Alexa plappert
                    01:03 ---> DP wird geleert ---> Alexa plappert
                    usw. bis der Einsatz beendet ist.

                    ja, das habe ich auch, wenn es mehr als einen Einsatz Zeitgleich gibt, je nach dem welchen Trigger Du nun aktuell verwendest.
                    Du hast gesehen das 0_userdata.0 eingestellt war im Script ?

                    Trigger müßte im Blockly nun wieder der DP neue Meldung sein (true/false) dann sollte das nicht mehr passieren...

                    sigi234S Online
                    sigi234S Online
                    sigi234
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #207

                    @dslraser sagte in Hilfe bei RSS-feed benötigt !:

                    Trigger müßte im Blockly nun wieder der DP neue Meldung sein (true/false) dann sollte das nicht mehr passieren...

                    Umgestellt, geht , teste weiter

                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Immer Daten sichern!

                    1 Antwort Letzte Antwort
                    0
                    • dslraserD dslraser

                      @negalein sagte in Hilfe bei RSS-feed benötigt !:

                      @sborg sagte in Hilfe bei RSS-feed benötigt !:

                      Ungetestet aus dem Bauch heraus:

                      kommt leider noch wiederholend

                      Beobachtung:
                      Script Start ---> DP wird befüllt ---> Alexa plappert
                      00:21 ---> DP wird geleert ---> Alexa plappert
                      00:42 ---> DP wird befüllt ---> Alexa plappert
                      01:03 ---> DP wird geleert ---> Alexa plappert
                      usw. bis der Einsatz beendet ist.

                      ja, das habe ich auch, wenn es mehr als einen Einsatz Zeitgleich gibt, je nach dem welchen Trigger Du nun aktuell verwendest.
                      Du hast gesehen das 0_userdata.0 eingestellt war im Script ?

                      Trigger müßte im Blockly nun wieder der DP neue Meldung sein (true/false) dann sollte das nicht mehr passieren...

                      SBorgS Offline
                      SBorgS Offline
                      SBorg
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #208

                      @dslraser sagte in Hilfe bei RSS-feed benötigt !:

                      Du hast gesehen das 0_userdata.0 eingestellt war im Script ?

                      Ich vergaß...:upside_down_face:
                      ...ich stelle alles (und neues) mittlerweile auf den Userspace um ;)

                      LG SBorg ( SBorg auf GitHub)
                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                      1 Antwort Letzte Antwort
                      1
                      • SBorgS SBorg

                        @dslraser sagte in Hilfe bei RSS-feed benötigt !:

                        @negalein
                        ich glaube in Zeile 66 fehlt eine geschweifte schließende Klammer

                         }});
                        

                        Kommt davon wenn man es mit einem Texteditor macht und sich dann verklammert, äh zählt...
                        @Negalein hast du im Blockly von "aktualisiert" auf "geändert" umgestellt?

                        Sieht IMHO nämlich gut aus:
                        Bild 1.png

                        NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        schrieb am zuletzt editiert von
                        #209

                        @sborg sagte in Hilfe bei RSS-feed benötigt !:

                        hast du im Blockly von "aktualisiert" auf "geändert" umgestellt?

                        Ja

                        muss es später mit einem anderen Bezirk testen. Aktuell ist bei uns kein Einsatz.

                        @dslraser sagte in Hilfe bei RSS-feed benötigt !:

                        das habe ich auch, wenn es mehr als einen Einsatz Zeitgleich gibt, je nach dem welchen Trigger Du nun aktuell verwendest.
                        Du hast gesehen das 0_userdata.0 eingestellt war im Script ?

                        es gab da nur 1 Einsatz.
                        Trigger hab ich den neuen verwendet.

                        ° Node.js: 20.17.0 NPM: 10.8.2
                        ° Proxmox, Ubuntu 22.04.3 LTS
                        ° Fixer ---> iob fix

                        dslraserD 1 Antwort Letzte Antwort
                        0
                        • NegaleinN Negalein

                          @sborg sagte in Hilfe bei RSS-feed benötigt !:

                          hast du im Blockly von "aktualisiert" auf "geändert" umgestellt?

                          Ja

                          muss es später mit einem anderen Bezirk testen. Aktuell ist bei uns kein Einsatz.

                          @dslraser sagte in Hilfe bei RSS-feed benötigt !:

                          das habe ich auch, wenn es mehr als einen Einsatz Zeitgleich gibt, je nach dem welchen Trigger Du nun aktuell verwendest.
                          Du hast gesehen das 0_userdata.0 eingestellt war im Script ?

                          es gab da nur 1 Einsatz.
                          Trigger hab ich den neuen verwendet.

                          dslraserD Offline
                          dslraserD Offline
                          dslraser
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von dslraser
                          #210

                          @negalein
                          @SBorg

                          ich teste gerade zwei verschiedene Sachen. Ich habe mal Schardenberg im Script eingestellt. Da passiert gerade folgendes beim Trigger auf die Ereignisse:

                          14:14:23.208	info	javascript.0 (4461) script.js.99_Test.Feuerwehr-negalein: wurde geändert: 30;Achtung VERKEHRSUNFALL EINGEKLEMMTE PERSON, Feuerwehreinsatz in Urfahr-Umgebung - ST. GOTTHARD IM MÜHLKREIS, Alarmstufe 2
                          14:14:23.209	info	javascript.0 (4461) script.js.99_Test.Feuerwehr-negalein: wurde geändert: 30;Achtung VERKEHRSUNFALL AUFRÄUMARBEITEN, Feuerwehreinsatz in Vöcklabruck - UNGENACH, Alarmstufe 1
                          14:14:23.210	info	javascript.0 (4461) script.js.99_Test.Feuerwehr-negalein: wurde geändert: 30;Achtung BRANDMELDEALARM, Feuerwehreinsatz in Urfahr-Umgebung - GRAMASTETTEN, Alarmstufe 1
                          14:14:23.210	info	javascript.0 (4461) script.js.99_Test.Feuerwehr-negalein: wurde geändert: 30;Achtung TECHNISCHER EINSATZ KLEIN, Feuerwehreinsatz in Braunau - BRAUNAU AM INN, Alarmstufe 1
                          

                          Der andere DP (neue Meldung) steht von Beginn an auf true, aber da kommt dann nichts, weil der ja true bleibt, also würde man wahrscheinlich nur die erste Ansage mit dem ersten Einsatz (wenn vorher nichts war) mitbekommen. Wenn dann weitere Einsätze dazu kommen und der DP noch true ist, weil die Einsätze noch nicht beendet sind, dann käme keine Ansage....denke ich. (und im DP mit den json/Ereignissen steht dann nur das zuletzt eingelesene, von den aktuell vier Einsätzen) Geht also so auch nicht.
                          @SBorg
                          kann man alle aktuell laufenden Einsätze in den DP einlesen ? (im Moment steht da immer nur einer drinn obwohl es aktuell mehrere gibt)

                          sigi234S NegaleinN 2 Antworten Letzte Antwort
                          0
                          • dslraserD dslraser

                            @negalein
                            @SBorg

                            ich teste gerade zwei verschiedene Sachen. Ich habe mal Schardenberg im Script eingestellt. Da passiert gerade folgendes beim Trigger auf die Ereignisse:

                            14:14:23.208	info	javascript.0 (4461) script.js.99_Test.Feuerwehr-negalein: wurde geändert: 30;Achtung VERKEHRSUNFALL EINGEKLEMMTE PERSON, Feuerwehreinsatz in Urfahr-Umgebung - ST. GOTTHARD IM MÜHLKREIS, Alarmstufe 2
                            14:14:23.209	info	javascript.0 (4461) script.js.99_Test.Feuerwehr-negalein: wurde geändert: 30;Achtung VERKEHRSUNFALL AUFRÄUMARBEITEN, Feuerwehreinsatz in Vöcklabruck - UNGENACH, Alarmstufe 1
                            14:14:23.210	info	javascript.0 (4461) script.js.99_Test.Feuerwehr-negalein: wurde geändert: 30;Achtung BRANDMELDEALARM, Feuerwehreinsatz in Urfahr-Umgebung - GRAMASTETTEN, Alarmstufe 1
                            14:14:23.210	info	javascript.0 (4461) script.js.99_Test.Feuerwehr-negalein: wurde geändert: 30;Achtung TECHNISCHER EINSATZ KLEIN, Feuerwehreinsatz in Braunau - BRAUNAU AM INN, Alarmstufe 1
                            

                            Der andere DP (neue Meldung) steht von Beginn an auf true, aber da kommt dann nichts, weil der ja true bleibt, also würde man wahrscheinlich nur die erste Ansage mit dem ersten Einsatz (wenn vorher nichts war) mitbekommen. Wenn dann weitere Einsätze dazu kommen und der DP noch true ist, weil die Einsätze noch nicht beendet sind, dann käme keine Ansage....denke ich. (und im DP mit den json/Ereignissen steht dann nur das zuletzt eingelesene, von den aktuell vier Einsätzen) Geht also so auch nicht.
                            @SBorg
                            kann man alle aktuell laufenden Einsätze in den DP einlesen ? (im Moment steht da immer nur einer drinn obwohl es aktuell mehrere gibt)

                            sigi234S Online
                            sigi234S Online
                            sigi234
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #211

                            @dslraser

                            Jetzt kommen keine Ansagen mehr.

                            Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                            Immer Daten sichern!

                            1 Antwort Letzte Antwort
                            0
                            • dslraserD dslraser

                              @negalein
                              @SBorg

                              ich teste gerade zwei verschiedene Sachen. Ich habe mal Schardenberg im Script eingestellt. Da passiert gerade folgendes beim Trigger auf die Ereignisse:

                              14:14:23.208	info	javascript.0 (4461) script.js.99_Test.Feuerwehr-negalein: wurde geändert: 30;Achtung VERKEHRSUNFALL EINGEKLEMMTE PERSON, Feuerwehreinsatz in Urfahr-Umgebung - ST. GOTTHARD IM MÜHLKREIS, Alarmstufe 2
                              14:14:23.209	info	javascript.0 (4461) script.js.99_Test.Feuerwehr-negalein: wurde geändert: 30;Achtung VERKEHRSUNFALL AUFRÄUMARBEITEN, Feuerwehreinsatz in Vöcklabruck - UNGENACH, Alarmstufe 1
                              14:14:23.210	info	javascript.0 (4461) script.js.99_Test.Feuerwehr-negalein: wurde geändert: 30;Achtung BRANDMELDEALARM, Feuerwehreinsatz in Urfahr-Umgebung - GRAMASTETTEN, Alarmstufe 1
                              14:14:23.210	info	javascript.0 (4461) script.js.99_Test.Feuerwehr-negalein: wurde geändert: 30;Achtung TECHNISCHER EINSATZ KLEIN, Feuerwehreinsatz in Braunau - BRAUNAU AM INN, Alarmstufe 1
                              

                              Der andere DP (neue Meldung) steht von Beginn an auf true, aber da kommt dann nichts, weil der ja true bleibt, also würde man wahrscheinlich nur die erste Ansage mit dem ersten Einsatz (wenn vorher nichts war) mitbekommen. Wenn dann weitere Einsätze dazu kommen und der DP noch true ist, weil die Einsätze noch nicht beendet sind, dann käme keine Ansage....denke ich. (und im DP mit den json/Ereignissen steht dann nur das zuletzt eingelesene, von den aktuell vier Einsätzen) Geht also so auch nicht.
                              @SBorg
                              kann man alle aktuell laufenden Einsätze in den DP einlesen ? (im Moment steht da immer nur einer drinn obwohl es aktuell mehrere gibt)

                              NegaleinN Offline
                              NegaleinN Offline
                              Negalein
                              Global Moderator
                              schrieb am zuletzt editiert von
                              #212

                              @dslraser sagte in Hilfe bei RSS-feed benötigt !:

                              Ich habe mal Schardenberg im Script eingestellt

                              jetzt hast mich erschreckt. Dachte, Schardenberg, und bei mir kommt nichts?
                              Dann seh ich im Log von dir, dass Schardenberg garnicht dabei ist.
                              Puhh, dachte schon das Script geht nicht. ;)

                              ° Node.js: 20.17.0 NPM: 10.8.2
                              ° Proxmox, Ubuntu 22.04.3 LTS
                              ° Fixer ---> iob fix

                              sigi234S dslraserD 2 Antworten Letzte Antwort
                              0
                              • NegaleinN Negalein

                                @dslraser sagte in Hilfe bei RSS-feed benötigt !:

                                Ich habe mal Schardenberg im Script eingestellt

                                jetzt hast mich erschreckt. Dachte, Schardenberg, und bei mir kommt nichts?
                                Dann seh ich im Log von dir, dass Schardenberg garnicht dabei ist.
                                Puhh, dachte schon das Script geht nicht. ;)

                                sigi234S Online
                                sigi234S Online
                                sigi234
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von sigi234
                                #213

                                @negalein

                                Wie schaut dein Blockly aus? Bekomme keine
                                Ansage mehr?

                                Screenshot (4145).png

                                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                Immer Daten sichern!

                                dslraserD NegaleinN 2 Antworten Letzte Antwort
                                0
                                • NegaleinN Negalein

                                  @dslraser sagte in Hilfe bei RSS-feed benötigt !:

                                  Ich habe mal Schardenberg im Script eingestellt

                                  jetzt hast mich erschreckt. Dachte, Schardenberg, und bei mir kommt nichts?
                                  Dann seh ich im Log von dir, dass Schardenberg garnicht dabei ist.
                                  Puhh, dachte schon das Script geht nicht. ;)

                                  dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #214

                                  @negalein sagte in Hilfe bei RSS-feed benötigt !:

                                  jetzt hast mich erschreckt. Dachte, Schardenberg, und bei mir kommt nichts?

                                  Habe ich das vielleicht falsch eingestellt ?
                                  Zeig mal wie das Script bei Dir aussieht.

                                  NegaleinN 1 Antwort Letzte Antwort
                                  0
                                  • sigi234S sigi234

                                    @negalein

                                    Wie schaut dein Blockly aus? Bekomme keine
                                    Ansage mehr?

                                    Screenshot (4145).png

                                    dslraserD Offline
                                    dslraserD Offline
                                    dslraser
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #215

                                    @sigi234 sagte in Hilfe bei RSS-feed benötigt !:

                                    @negalein

                                    Wie schaut dein Blockly aus? Bekomme keine
                                    Ansage mehr?

                                    Screenshot (4145).png

                                    Fall Wert (das ungleich leerer Text ist aus dem anderen Blockly, da kommt dann auch nix, das muß weg)

                                    sigi234S 1 Antwort Letzte Antwort
                                    0
                                    • sigi234S sigi234

                                      @negalein

                                      Wie schaut dein Blockly aus? Bekomme keine
                                      Ansage mehr?

                                      Screenshot (4145).png

                                      NegaleinN Offline
                                      NegaleinN Offline
                                      Negalein
                                      Global Moderator
                                      schrieb am zuletzt editiert von
                                      #216

                                      @sigi234 sagte in Hilfe bei RSS-feed benötigt !:

                                      Wie schaut dein Blockly aus?

                                      javascript - ioBroker (2).png

                                      ° Node.js: 20.17.0 NPM: 10.8.2
                                      ° Proxmox, Ubuntu 22.04.3 LTS
                                      ° Fixer ---> iob fix

                                      dslraserD 1 Antwort Letzte Antwort
                                      0
                                      • dslraserD dslraser

                                        @negalein sagte in Hilfe bei RSS-feed benötigt !:

                                        jetzt hast mich erschreckt. Dachte, Schardenberg, und bei mir kommt nichts?

                                        Habe ich das vielleicht falsch eingestellt ?
                                        Zeig mal wie das Script bei Dir aussieht.

                                        NegaleinN Offline
                                        NegaleinN Offline
                                        Negalein
                                        Global Moderator
                                        schrieb am zuletzt editiert von
                                        #217

                                        @dslraser sagte in Hilfe bei RSS-feed benötigt !:

                                        Zeig mal wie das Script bei Dir aussieht.

                                        // V0.1.0 10.08.2021 SBorg
                                        let Filter0 = /Schärding.*/ig;                        //RegEx (hier alle Meldungen
                                        let Filter1 = /Wernstein*/ig;              //RegEx (zB. Brandwache, Bezirk...)
                                        let DP = "0_userdata.0.Feuerwehr";           //Datenpunkt
                                         
                                        const Zeitplan = "21 * * * * *";             //jede Minute bei 23 Sekunden (individuell abändern; es sollte nicht jeder minütlich bei genau 23 Sekunden abfragen!)
                                         
                                         
                                        //Datenpunkte 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();
                                         
                                            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(Filter0) != -1 || item.description.search(Filter1) != -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);
                                              } else {
                                                 if (getState(DP+'.RSS_Meldung').val) {
                                                  setState(DP+'.neuer_Alarm', false);  //DP leeren
                                                  setState(DP+'.RSS_Meldung', ''); //DP leeren     
                                                 }
                                            }
                                          }});
                                         
                                        } //end polldata
                                        
                                        

                                        So kommt alles vom Bezirk Schärding

                                        ° Node.js: 20.17.0 NPM: 10.8.2
                                        ° Proxmox, Ubuntu 22.04.3 LTS
                                        ° Fixer ---> iob fix

                                        1 Antwort Letzte Antwort
                                        0
                                        • NegaleinN Negalein

                                          @sigi234 sagte in Hilfe bei RSS-feed benötigt !:

                                          Wie schaut dein Blockly aus?

                                          javascript - ioBroker (2).png

                                          dslraserD Offline
                                          dslraserD Offline
                                          dslraser
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von dslraser
                                          #218

                                          @negalein
                                          Da fehlt auch der Vergleich auf true...
                                          https://forum.iobroker.net/post/662449
                                          bzw. umstellen auf größer als letztes..
                                          (wenn Du nur true auswerten willst)

                                          NegaleinN 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          356

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe