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@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 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 !:

      Wäre es auch möglich, den Text des erstellten JSON auf Alexa auszugeben?

      ja, das geht auch.

      das ist ein eigener DP
      Bildschirmfoto 2021-08-08 um 21.36.10.png

      wann wird der denn auf wahr gestellt und durch was ?

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

        @dslraser

        Durch dieses JS Skript:

        let   WACHE0   = /.*/ig;                        //RegEx
        let   WACHE1   = /DEINE WACHE*/ig;                        //RegEx
        let   DP       = "javascript.0.Feuerwehr";      //Datenpunkt
        const Zeitplan = "*/10 * * * *";              //jede Minute bei 23 Sekunden
         
         
        //Datenpunkt anlegen
        createState(DP+'.RSS_Meldung', '', { name: "Feuerwehreinsatzmeldungen", type: "json", role: "state" });
        createState(DP+'.neuer_Alarm', '', { name: "neue Meldung",              type: "boolean", role: "state" });
         
        //scheduler
        schedule(Zeitplan, polldata);
        polldata();  //einmalig direkt beim Start Daten holen
         
        function polldata() {
            var FeedParser = require('feedparser');
            var request = require('request'); // for fetching the feed
         
            var req = request('http://intranet.ooelfv.at/webext2/rss/rss_laufend.xml');
            var feedparser = new FeedParser();
            setState(DP+'.neuer_Alarm', false);  //DP leeren
            setState(DP+'.RSS_Meldung', ''); //DP leeren
            
            req.on('error', function (error) {
             // handle any request errors
            });
         
            req.on('response', function (res) {
              var stream = this; // `this` is `req`, which is a stream
              if (res.statusCode !== 200) { this.emit('error', new Error('Bad status code')); }
              else { stream.pipe(feedparser); }
            });
         
            feedparser.on('error', function (error) {
             // always handle errors
            });
         
            feedparser.on('readable', function () {
             // This is where the action is!
            var stream = this;    // `this` is `feedparser`, which is a stream
            var meta = this.meta; // **NOTE** the "meta" is always available in the context of the feedparser instance
            var item;
         
            while (item = stream.read()) {
              if (item.description.search(WACHE0) != -1 || item.description.search(WACHE1) != -1) { 
                    let tmp = (item.description.split("<br>")); 
                    let tmp1= (tmp[1].split(", "));
                    let tmp2= (tmp[2].split("  "));
                    tmp1[1] = tmp1[1].replace(/[a-z,A-Z,:, ]/ig, "");
                    tmp2[0] = tmp2[0].replace(/[a-z,A-Z,:, ]/ig, "");
                    tmp2[1] = tmp2[1].replace("- ", "Uhr");
                    setState(DP+'.RSS_Meldung', JSON.stringify([{ 'Titel': item.title, 'Feuerwache': tmp[0], 'Einsatz': tmp1[0], 'Alarmstufe': tmp1[1], 'Feuerwehren': tmp2[0], 'Zeit': tmp2[1], 'Bezirk': tmp[3] }]));
                    console.log("Einsatzmeldung vorhanden...");
                    setState(DP+'.neuer_Alarm', true);
              }     
            }
          });
        } //end polldata
        
        1 Reply Last reply Reply Quote 0
        • Negalein
          Negalein Global Moderator @dslraser last edited by

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

          habe mal einen alias meiner Lampe genommen

          soweit hab ich es auch zugeschnitten. Das funktioniert.

          @negalein sagte in Hilfe bei RSS-feed benötigt !:
          Wäre es auch möglich, den Text des erstellten JSON auf Alexa auszugeben?

          ja, das geht auch.

          Auch mit dem Aufteilen des JSON?
          Als Text zB "Feuerwehreinsatz" (wie im obigen Blockly), "in Schärding - Schardenberg", "Alarmstufe 1" (wie Beispiel-JSON zB)

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

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

            Auch mit dem Aufteilen des JSON?
            Als Text zB "Feuerwehreinsatz" (wie im obigen Blockly), "in Schärding - Schardenberg", "Alarmstufe 1" (wie Beispiel-JSON zB)

            so ungefähr ?

            Bildschirmfoto 2021-08-08 um 23.07.28.png

            Ergebnis im Log

            Feuerwehreinsatz in Schärding - SCHARDENBERG, Alarmstufe 1
            

            Der DP Feuerwehr ist selbst angelegt, da ist zum testen nur Dein Beispiel json drinn

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

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

              so ungefähr ?

              Cool
              Das Beispiel von dir kommt dann hier anstatt des rot umrandetem rein?
              Nur statt dem debug output der Alexa Block?

              javascript - ioBroker (1).png

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

                @negalein

                Bildschirmfoto 2021-08-08 um 23.10.26.png

                <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="on" id="+@7%D7W8?OQL#7sG9${H" x="62" y="12">
                   <field name="OID">alias.0.Steckdosen.Kaminlampe</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="get_value" id=")4aT*cgU|]x#C}|MNW[[">
                           <field name="ATTR">val</field>
                           <field name="OID">0_userdata.0.Test.Feuerwehr</field>
                         </block>
                       </value>
                       <next>
                         <block type="variables_set" id="?;!h8=JjxBHUrvS?Y!;_">
                           <field name="VAR" id="LsczX0YIyn!68c?SjK*I">Ansage</field>
                           <value name="VALUE">
                             <block type="logic_ternary" id="L)4b8*{+md/}v?{/C9.:">
                               <value name="IF">
                                 <block type="get_value" id="S;xg!`v.v]~mPQ:E%HgF">
                                   <field name="ATTR">val</field>
                                   <field name="OID">alias.0.Steckdosen.Kaminlampe</field>
                                 </block>
                               </value>
                               <value name="THEN">
                                 <block type="text_join" id="*h/@)bzlPIooxo1/j:Au">
                                   <mutation items="5"></mutation>
                                   <value name="ADD0">
                                     <block type="text" id="Xu8o?(43(vn;Cg!T-f[1">
                                       <field name="TEXT">80;Feuerwehreinsatz in </field>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <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="ADD2">
                                     <block type="text" id="a$[LcG?`YqUEJ88yB|Nk">
                                       <field name="TEXT">, </field>
                                     </block>
                                   </value>
                                   <value name="ADD3">
                                     <block type="text" id="H^eJylGZdDfB9@!`VW/M">
                                       <field name="TEXT"> Alarmstufe </field>
                                     </block>
                                   </value>
                                   <value name="ADD4">
                                     <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>
                               <value name="ELSE">
                                 <block type="text" id="2CpPUD^;S4FApOa;J9fS">
                                   <field name="TEXT">80;Feuerwehreinsatz beendet</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="control" id="qQ9[Z8iQklaMF+xh,a10">
                               <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="*0=u_Ai?c:6|1T8FKUV[">
                                   <field name="VAR" id="LsczX0YIyn!68c?SjK*I">Ansage</field>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </statement>
                 </block>
                </xml>
                

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

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

                  @negalein

                  Bildschirmfoto 2021-08-08 um 23.10.26.png

                  Danke

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

                    @negalein

                    bei Wert von Feuerwehr müßte dann Dein DP mit dem json hin

                    Bildschirmfoto 2021-08-08 um 23.25.09.png

                    Probiere mal aus

                    <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="on" id="4Ag2o!M7(duPG[0Vl2Hd" x="238" y="-88">
                       <field name="OID">javascript.0.Feuerwehr.neuer_Alarm</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="get_value" id=")4aT*cgU|]x#C}|MNW[[">
                               <field name="ATTR">val</field>
                               <field name="OID">0_userdata.0.Test.Feuerwehr</field>
                             </block>
                           </value>
                           <next>
                             <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="Vyi+e2{];XoHNaU6g^V8">
                                   <mutation items="1"></mutation>
                                   <value name="ADD0">
                                     <block type="logic_ternary" id="i5.8F@(VdWhDGf$#*z*/">
                                       <value name="IF">
                                         <block type="get_value" id="JDX!Y$H%-r1]ZyBPgeHQ">
                                           <field name="ATTR">val</field>
                                           <field name="OID">javascript.0.Feuerwehr.neuer_Alarm</field>
                                         </block>
                                       </value>
                                       <value name="THEN">
                                         <block type="text_join" id="*h/@)bzlPIooxo1/j:Au">
                                           <mutation items="5"></mutation>
                                           <value name="ADD0">
                                             <block type="text" id="Xu8o?(43(vn;Cg!T-f[1">
                                               <field name="TEXT">80;Feuerwehreinsatz in </field>
                                             </block>
                                           </value>
                                           <value name="ADD1">
                                             <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="ADD2">
                                             <block type="text" id="a$[LcG?`YqUEJ88yB|Nk">
                                               <field name="TEXT">, </field>
                                             </block>
                                           </value>
                                           <value name="ADD3">
                                             <block type="text" id="H^eJylGZdDfB9@!`VW/M">
                                               <field name="TEXT"> Alarmstufe </field>
                                             </block>
                                           </value>
                                           <value name="ADD4">
                                             <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>
                                       <value name="ELSE">
                                         <block type="text" id="2CpPUD^;S4FApOa;J9fS">
                                           <field name="TEXT">80;Feuerwehreinsatz beendet</field>
                                         </block>
                                       </value>
                                     </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.G090LF1182231CD6.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>
                    </xml>
                    

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

                      @dslraser

                      funktioniert soweit.

                      Allerdings lässt er zB bei diesem JSON was aus.

                      [{"Titel":"SD - BRANDMELDEALARM","Feuerwache":"Schärding - SCHARDENBERG","Einsatz":"E210800560","Alarmstufe":"1","Feuerwehren":"1","Zeit":"06.08.2021 14:02 Uhr06.08.2021 14:47","Bezirk":"FF Schardenberg"}]
                      

                      im Blockly bei 0.Feuerwache spricht er nur Schärding. Sollte aber Schärding - Schardenberg sein.

                      Wenn ich den Titel SD - BRANDMELDEALARM noch möchte, reicht hier dann ein 0.Titel einzufügen?

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

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

                        im Blockly bei 0.Feuerwache spricht er nur Schärding. Sollte aber Schärding - Schardenberg sein.

                        Ich weiß gerade nicht wie sich Bindestriche bei speak auswirken...?

                        Wenn ich den Titel SD - BRANDMELDEALARM noch möchte, reicht hier dann ein 0.Titel einzufügen?

                        Ja, wobei ich nicht weiß wie SD ausgesprochen wird ?

                        (ich bin jetzt nur am Handy, habe den Rechner schon aus)

                        Negalein 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 weiß gerade nicht wie sich Bindestriche bei speak auswirken...?

                          hab gerade 40;SD - BRANDMELDEALARM direkt im Speak DP getestet. Da wird es als SD BRANDMELDEALARM vorgelesen.

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

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

                            Da wird es als SD BRANDMELDEALARM vorgelesen.

                            Ja, man müsste 5(?) Zeichen abnehmen, weil SD braucht man nicht

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

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

                              Ja, man müsste 5(?) Zeichen abnehmen, weil SD braucht man nicht

                              Ich würde eher den ganzen Text nehmen. Gestern beim Sturm ist mir aufgefallen, dass der Titel oft variiert.
                              BR - Sturm, Braunau - Sturm, usw.

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

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

                                Ja, man müsste 5(?) Zeichen abnehmen, weil SD braucht man nicht

                                Ok, ich hab jetzt nochmal die Titel der letzten 2 Tage kontrolliert.
                                Da würde es mit den 5 Zeichen passen.

                                http://cf-intranet.ooelfv.at/webext2/rss/rss_2tage.xml

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

                                  @negalein

                                  Wenn kein Einsatz ist kommt ein Fehler, weil der DP leer ist.

                                  Screenshot (4120)_LI.jpg

                                  Negalein dslraser 2 Replies Last reply Reply Quote 0
                                  • Negalein
                                    Negalein Global Moderator @sigi234 last edited by

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

                                    Wenn kein Einsatz ist kommt ein Fehler, weil der DP leer ist.

                                    bei mir passts

                                    javascript - ioBroker (2).png

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

                                      @sigi234
                                      Du musst unten für die E-Mail auch den prüfe Baustein einbauen, nur ohne die Lautstärke am Anfang.
                                      Oben kann der Baustein mit dem Kreuz weg.

                                      Screenshot_20210809-005439_Chrome.jpg

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

                                        @dslraser

                                        Hab gerade eine Einsatzmeldung.
                                        Aber die Meldung wird jetzt solange wiederholt, bis der Einsatz beendet ist.

                                        Kann man das Blockly so ändern, dass 1x die Einsatzmeldung kommt, dann Meldung bei Einsatz Ende (das passt schon so)?

                                        Script fragt jede 23. Sekunde die Einsätze ab. Schreibt dadurch den DP jedes mal neu.

                                        Und gerade ist mir aufgefallen, dass das Einsatzende auch wiederholt wird.

                                        Müsste da @SBorg das Script anpassen?

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

                                          @negalein
                                          Dann stelle mal den Trigger auf größer als letztes , vielleicht reicht das schon.

                                          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 !:

                                            Script fragt jede 23. Sekunde die Einsätze ab. Schreibt dadurch den DP jedes mal neu.

                                            Ja, steht hier im Script

                                            const Zeitplan = "*/10 * * * *";              //jede Minute bei 23 Sekunden
                                             
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            873
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            426
                                            51658
                                            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