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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Hilfe bei RSS-feed benötigt !

    This topic has been deleted. Only users with topic management privileges can see it.
    • sigi234
      sigi234 Forum Testing Most Active @Negalein last edited by sigi234

      @Negalein

      Poste mal dein Skript

      Wie sind deine Instanzeinstellungen: javascript.0

      Ändere die Zeile 1 mal:

      let   WACHE0   = /.*/ig;                        //RegEx
      
      Negalein 1 Reply Last reply Reply Quote 0
      • Negalein
        Negalein Global Moderator @sigi234 last edited by Negalein

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

        Wie sind deine Instanzeinstellungen: javascript.0

        funktioniert jetzt. Musste Script 2x starten.
        Wäre es auch möglich, nach Bezirk zu filtern?

        Was etwas stört ist das Alexa-Blockly.
        Das gibt laufend die Meldung aus.
        Cool wäre noch, wenn es nicht nur Feuerwehreinsatz schreit, sondern auch die Meldung von javascript.0.Feuerwehr.RSS_Meldung ansagen könnte.

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

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

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

          Wie sind deine Instanzeinstellungen: javascript.0

          funktioniert jetzt. Musste Script 2x starten.
          Wäre es auch möglich, nach Bezirk zu filtern?

          Was etwas stört ist das Alexa-Blockly.
          Das gibt laufend die Meldung aus.
          Cool wäre noch, wenn es nicht nur Feuerwehreinsatz schreit, sondern auch die Meldung von javascript.0.Feuerwehr.RSS_Meldung ansagen könnte.

          Da kann ev. @dslraser helfen?

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

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

            Wäre es auch möglich, nach Bezirk zu filtern?

            Da ich die "Beschreibung" (Description) durchsuche ist der Suchbegriff per RegEx egal. Wenn also dort der Bezirk immer drin steht, einfach bei "Wache(x)" zB. Gmunden eintragen:

            <?xml version="1.0" encoding="UTF-8"?>
            	<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel>
            		<title>Landes-Feuerwehrkommando OÖ laufende Einsätze</title>
            		<description>Warn- und Alarmsystem, Alarmierungen in Oberösterreich</description>
            		<language>de-AT</language>
            		<link>http://intranet.ooelfv.at</link>
            		<category>Alarmierungenlaufende Einsätze</category>
            		<pubDate>Sat, 07 Aug 2021 16:41:04 +0200</pubDate>
            		<ttl>1</ttl>
            	<atom:link href="http://intranet.ooelfv.at/webext2/rss/rss_laufend.xml" rel="self" type="application/rss+xml" />
            		<image>
            			<url>http://intranet.ooelfv.at/webext2/img/karte_laufend_tn100.jpg</url>
            			<title>Einsatzkarte laufend</title>
            			<link>http://intranet.ooelfv.at/webext2/karten.php?scope=laufend</link>
            		</image>
            		<item>
            			<title>GM - ÖLSPUR, ÖLAUSTRITT</title>			<pubDate>Sat, 07 Aug 2021 16:09:47 +0200</pubDate>
            			<category>!Art TK.OELSPUR-TK</category>			<category>!laufende Einsätze</category>			<category>!Farbe TEE</category>			<category>Bezirk Gmunden</category>
            			<guid>http://intranet.ooelfv.at/webext2/detail.php?NUM1=E210800675</guid>
            			<link>http://intranet.ooelfv.at/webext2/detail.php?NUM1=E210800675</link>
            			<description><![CDATA[ Gmunden - PINSDORF<br>E210800675, Alarmstufe: 1<br>1 Feuerwehren  07.08.2021 16:09 - <br>FF Pinsdorf<br>
            ]]></description>
            		</item>
            		<item>
            			<title>GM - WASSERSCHADEN</title>			<pubDate>Sat, 07 Aug 2021 16:06:39 +0200</pubDate>
            			<category>!Art TK.WASSER-TK</category>			<category>!laufende Einsätze</category>			<category>!Farbe TEE</category>			<category>Bezirk Gmunden</category>
            			<guid>http://intranet.ooelfv.at/webext2/detail.php?NUM1=E210800673</guid>
            			<link>http://intranet.ooelfv.at/webext2/detail.php?NUM1=E210800673</link>
            			<description><![CDATA[ Gmunden - TRAUNKIRCHEN<br>E210800673, Alarmstufe: 1<br>1 Feuerwehren  07.08.2021 16:06 - <br>FF Traunkirchen<br>
            ]]></description>
            		</item>
            	</channel></rss>
            

            Das anfängliche 2x starten ist "normal", da ich (man beachte das Datum) da noch nix von async/await wusste. Beim 1. Start will er da gerade die DPs anlegen und bevor er fertig ist schon reinschreiben. Beim 2. Start sind sie dann korrekt vorhanden und er kann sie auch befüllen 😉

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

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

              Da kann ev. @dslraser helfen?

              Ja, wäre cool!
              @dslraser hat Ahnung von der Materie! 🙂

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

                hat Ahnung von der Materie!

                von was denn ? (ich habe hier in dem Thread noch nichts gelesen, worum geht es denn ?)

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

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

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

                  hat Ahnung von der Materie!

                  von was denn ? (ich habe hier in dem Thread noch nichts gelesen, worum geht es denn ?)

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

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

                  Was etwas stört ist das Alexa-Blockly.
                  Das gibt laufend die Meldung aus.
                  Cool wäre noch, wenn es nicht nur Feuerwehreinsatz schreit, sondern auch die Meldung von javascript.0.Feuerwehr.RSS_Meldung ansagen könnte.

                  Da kann ev. @dslraser helfen?

                  Screenshot (4113).png

                  Trigger in Trigger?

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

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

                    Trigger in Trigger?

                    wo denn ?

                    jedes Mal wenn das passiert:

                    Bildschirmfoto 2021-08-08 um 21.16.22.png

                    soll das gemacht werden:

                    Bildschirmfoto 2021-08-08 um 21.17.00.png

                    wobei ich mit sendTo alexa2.0 noch nix gemacht habe...(was macht der Baustein ?)

                    EDIT: und die Lautstärke wird erst nach der Ansage auf 100 gestellt ?

                    Die Lautstärke kann auch da rechts bei falls wahr oder falls falsch mit dem Text übergeben werden, wobei das erstelle Text aus (das links ist über )

                    Bildschirmfoto 2021-08-08 um 21.21.14.png

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

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

                      worum geht es denn ?

                      Dieses Blockly gibt per Alexa einen Text aus, wenn ein FF-Einsatz ist.
                      blockly_ansage_alexa_feuerwehreinsatz.txt

                      Wäre es auch möglich, den Text des erstellten JSON auf Alexa auszugeben?
                      So schaut das zB 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"}]
                      

                      Als Text zB "Feuerwehreinsatz" (wie im obigen Blockly), "in Schärding - Schardenberg", "Alarmstufe 1"

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

                        jedes Mal wenn das passiert:

                        soll das gemacht werden:

                        genau

                        wobei ich mit sendTo alexa2.0 noch nix gemacht habe...(was macht der Baustein ?)

                        Das stimmt. Der macht eigentlich nichts. Hab das Blockly nur bekommen.

                        EDIT: und die Lautstärke wird erst nach der Ansage auf 100 gestellt ?
                        Die Lautstärke kann auch da rechts bei falls wahr oder falls falsch mit dem Text übergeben werden, wobei das erstelle Text aus (das links ist über )

                        Lautstärke hab ich bereits mit 100;Text angepasst

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

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

                          wobei ich mit sendTo alexa2.0 noch nix gemacht habe...(was macht der Baustein ?)

                          Wurde entfernt, aber wäre interessant zu wissen was der macht.

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

                            Wurde entfernt, aber wäre interessant zu wissen was der macht.

                            habe ich schonmal nachgefragt, der macht "nix"

                            1 Reply Last reply Reply Quote 0
                            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            809
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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