Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Hilfe bei RSS-feed benötigt !

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Hilfe bei RSS-feed benötigt !

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @Negalein last edited by 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)));
       }
      });
      


      SBorg 1 Reply Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active @dslraser last edited by SBorg

        @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...

        1 Reply Last reply Reply Quote 1
        • Negalein
          Negalein Global Moderator @SBorg last edited by

          @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
          
          dslraser 1 Reply Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @Negalein last edited by

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

             }});
            
            Negalein sigi234 SBorg 3 Replies Last reply Reply Quote 0
            • Negalein
              Negalein Global Moderator @dslraser last edited by

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

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

              das wars 🙂

              1 Reply Last reply Reply Quote 0
              • Negalein
                Negalein Global Moderator @SBorg last edited by 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.

                dslraser 1 Reply Last reply Reply Quote 0
                • sigi234
                  sigi234 Forum Testing Most Active @dslraser last edited by sigi234

                  @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)
                  
                  1 Reply Last reply Reply Quote 0
                  • SBorg
                    SBorg Forum Testing Most Active @dslraser last edited by

                    @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

                    Negalein 1 Reply Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active @Negalein last edited by

                      @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...

                      sigi234 SBorg 2 Replies Last reply Reply Quote 2
                      • sigi234
                        sigi234 Forum Testing Most Active @dslraser last edited by

                        @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

                        1 Reply Last reply Reply Quote 0
                        • SBorg
                          SBorg Forum Testing Most Active @dslraser last edited by

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

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

                          Ich vergaß...🙃
                          ...ich stelle alles (und neues) mittlerweile auf den Userspace um 😉

                          1 Reply Last reply Reply Quote 1
                          • Negalein
                            Negalein Global Moderator @SBorg last edited by

                            @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.

                            dslraser 1 Reply Last reply Reply Quote 0
                            • dslraser
                              dslraser Forum Testing Most Active @Negalein last edited by 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)

                              sigi234 Negalein 2 Replies Last reply Reply Quote 0
                              • sigi234
                                sigi234 Forum Testing Most Active @dslraser last edited by

                                @dslraser

                                Jetzt kommen keine Ansagen mehr.

                                1 Reply Last reply Reply Quote 0
                                • Negalein
                                  Negalein Global Moderator @dslraser last edited by

                                  @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. 😉

                                  sigi234 dslraser 2 Replies Last reply Reply Quote 0
                                  • sigi234
                                    sigi234 Forum Testing Most Active @Negalein last edited by sigi234

                                    @negalein

                                    Wie schaut dein Blockly aus? Bekomme keine
                                    Ansage mehr?

                                    Screenshot (4145).png

                                    dslraser Negalein 2 Replies Last reply Reply Quote 0
                                    • dslraser
                                      dslraser Forum Testing Most Active @Negalein last edited by

                                      @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.

                                      Negalein 1 Reply Last reply Reply Quote 0
                                      • dslraser
                                        dslraser Forum Testing Most Active @sigi234 last edited by

                                        @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)

                                        sigi234 1 Reply Last reply Reply Quote 0
                                        • Negalein
                                          Negalein Global Moderator @sigi234 last edited by

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

                                          Wie schaut dein Blockly aus?

                                          javascript - ioBroker (2).png

                                          dslraser 1 Reply Last reply Reply Quote 0
                                          • Negalein
                                            Negalein Global Moderator @dslraser last edited by

                                            @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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            903
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            426
                                            46169
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo