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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    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

      @negalein

      habe mal einen alias meiner Lampe genommen

      Bildschirmfoto 2021-08-08 um 21.33.46.png

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

        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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            867
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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