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.
    • L
      linux150 @dslraser last edited by

      @dslraser Werds versuchen 🙂
      Hab jetzt mal eine rudimentäre Lösung in dem ich mit dem Parser alles aus der xml "rausparse" was ich brauche.
      Dann hab ich noch einen Schalter der auf wahr schaltet wenn meine Feuerwehrnummer in der xml vorkommt.
      Das ist dann der Trigger für das Alexa Script das mir dann die geparsten Werte wie Einsatzkurzstichwort, Einsatztyp, Adresse und Alarmstufe vorlest (während ich mich anziehe :-))
      Falls noch wer braucht, gerne bei mir melden 🙂

      LG

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

        @linux150
        Ja, bitte zum Testen

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

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

          gerne bei mir melden

          ich auch bitte

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

            @sigi234

            Funktioniert es bei dir noch?

            https://intranet.ooelfv.at/ ist nicht mehr erreichbar.
            Aber irgendwie funktionierts jetzt noch, bzw. anders. Siehe https://ff.ampits.at/?today

            sigi234 1 Reply 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

              Funktioniert es bei dir noch?

              https://intranet.ooelfv.at/ ist nicht mehr erreichbar.
              Aber irgendwie funktionierts jetzt noch, bzw. anders. Siehe https://ff.ampits.at/?today

              Nein, das System wurde umgestellt.

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

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

                Nein, das System wurde umgestellt.

                gibt es eine neue URL?

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

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

                  Nein, das System wurde umgestellt.

                  gibt es eine neue URL?

                  Ja, aber weiß nicht ob es rss gibt.
                  Bin noch am Untersuchen.

                  Benutze jetzt das:

                  https://play.google.com/store/apps/details?id=at.appaya.lfkeinsatzinfo

                  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, aber weiß nicht ob es rss gibt.

                    hast du einen Link?

                    Benutze jetzt das:

                    ich möchte so wenig wie möglich (Handicap) übers Handy machen.

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

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

                      hast du einen Link?

                      https://einsaetze.ooelfv.at/einsatz/aktuell

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

                        Ja, aber weiß nicht ob es rss gibt.

                        Gefunden!
                        https://cf-einsaetze.ooelfv.at/webext2/rss/webext2_laufend.xml

                        Jetzt gehts noch um das Script! 😉

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

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

                          Ich nutze das gar nicht und habe auch das Blockly nicht mehr

                          Hallo Heiko!

                          Leider wurde das System umgestellt und die URL hat sich geändert.
                          Ich weiß nicht, ob es reicht im Blockly die URL zu ändern, oder ob an den Positionen auch was gemacht werden muss.

                          Könntest du dir das mal ansehen?

                          Neue URL zum RSS


                          Feuerwehr.Alarm-Alexa.xml

                          OliverIO 1 Reply Last reply Reply Quote 0
                          • OliverIO
                            OliverIO @Negalein last edited by OliverIO

                            @negalein

                            es ist auf jeden fall kein rss/atom mehr
                            ich würde empfehlen mit der folgenden
                            bibliothek die daten in ein json objekt umzuwandeln
                            https://www.npmjs.com/package/fast-xml-parser
                            und dann entsprechend aufzubereiten.
                            mit blockly dürfte das ein wenig aufwändig werden.

                            andere alternative, aber da gibt es zu wenig anleitungen im netz:
                            die daten sind mehr oder weniger xml.
                            mit einem xslt-prozessor kann man daraus dann direkt html erzeugen
                            https://www.npmjs.com/package/xslt-processor
                            aber auch dafür muss man mit javascript was machen

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

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

                              es ist auf jeden fall kein rss/atom mehr

                              ich versteh da nur Bahnhof 😕
                              Ist es mit dem neuen RSS also nicht mehr möglich?

                              OliverIO 1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @Negalein last edited by OliverIO

                                @negalein
                                da es kein rss ist, nein
                                die haben das datenformat komplett geändert und entspricht keinem standard mehr (also ausser das es xml ist) (habe unter webext2 version="1.2" nix gefunden)

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

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

                                  die haben das datenformat komplett geändert und entspricht keinem standard mehr (also ausser das es xml ist)

                                  ok, das ist schade.
                                  Muss dann wohl darauf verzichten.

                                  Danke für die Erklärung. 🙂

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @Negalein last edited by

                                    @negalein

                                    schreib mal dein wunschlayout grob auf.
                                    die felder die zur verfügung stehen, siehst du ja in dem link

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

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

                                      schreib mal dein wunschlayout grob auf.

                                      status --> zum starten und beenden der Meldung
                                      startzeit
                                      einheit id --> zum filtern (Mehrfacheingabe)
                                      earea
                                      alarmtext

                                      OliverIO 1 Reply Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @Negalein last edited by OliverIO

                                        @negalein

                                        so hier kannst mal probieren

                                        1. in den javascript einstellungen die folgenden npm module hinzufügen
                                          axios
                                          xslt-processor

                                        das script im javascript adapter hinzufügen
                                        3) in der filter variable die ids der relevanten stationen hinzufügen. mehrere mit leerzeichen getrennt. die ids sind nicht identisch mit der nummer die bei einheit dabeisteht
                                        4) einen datenpunkt vom typ text/string anlegen und bei variable dp im script eintragen.
                                        5) entsprechendes schedule setzen um das script regelmäßig zu starten
                                        6) im vis ein html-widget hinzufügen und den erzeugten datenpunkt eintragen, so das das hetml dann angezeigt wird.

                                        das html ist sehr rudimentär, so das erstmal nur die informationen angezeigt werden. das html template steht in der variable xslString. bspw das <xsl:value-of select="status"/> ist ein platzhalter für die daten aus dem xml. drum herum können dann beliebige html anweiseungen angegeben werden, so das das entsprechend formatiert darbestellt werden kann

                                        // jshint esversion: 8
                                        const Xslt = require("xslt-processor").Xslt;
                                        const XmlParser = require("xslt-processor").XmlParser;
                                        const axios = require ("axios");
                                        // Funktion zum Abruf der daten
                                        const getData = async () => {
                                            return axios.get("https://cf-einsaetze.ooelfv.at/webext2/rss/webext2_laufend.xml", {
                                              });
                                        };
                                        
                                        async function main() {
                                        // Konfiguration des skripts
                                            let dp = "0_userdata.0.test";
                                            let filter="123 456";
                                        // template string für die transformation
                                               let  xslString = `<?xml version="1.0" encoding="UTF-8"?>
                                            <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
                                              <h2>Feuerwehr</h2>
                                              <xsl:template match="/">
                                                  <xsl:for-each select="webext2/einsaetze/einsatz**myfilter**">
                                                    <div><xsl:value-of select="status"/></div>
                                                    <div><xsl:value-of select="startzeit"/></div>
                                                    <div><xsl:value-of select="einheiten/einheit"/></div>
                                                    <div><xsl:value-of select="earea"/></div>
                                                    <div><xsl:value-of select="alarmtext"/></div>
                                                  </xsl:for-each>
                                            </xsl:template>
                                            </xsl:stylesheet>
                                            `;
                                            let  xmlString;
                                        try {
                                        // Daten abrufen
                                            xmlString =  await getData();
                                        } catch (error) {
                                            console.log(error);
                                        }
                                        // Vorbereitung der xml transformation
                                            const xslt = new Xslt();
                                            const xmlParser = new XmlParser();
                                        // Berechnung des filters anhand der einheiten id
                                            let myfilter=getFilter(filter);
                                        // einfügen des filters in das template
                                            xslString=xslString.replace("**myfilter**",myfilter);
                                        // transformation durchführen
                                            const outXmlString = xslt.xsltProcess(
                                                xmlParser.xmlParse(xmlString.data),
                                                xmlParser.xmlParse(xslString)
                                            );
                                        // ergebnis html in datenpunkt schreiben
                                            setState(dp,outXmlString);
                                            console.log(outXmlString);
                                        }
                                        // hilfsfunktion um den filter zu berechnen
                                        function getFilter(filter) {
                                            let f=[];
                                            filter.split(" ").forEach(element => {
                                                if (element.trim()!="") f.push(`einheiten/einheit/@id='${element.trim()}'`);
                                            });
                                            if (f.length==0) {
                                                return "";
                                            } else {
                                                return "["+f.join(" or ")+"]";
                                            }
                                        }
                                        // aufruf des skripts
                                        main();
                                        
                                        
                                        
                                        
                                        
                                        
                                        
                                        Negalein 1 Reply Last reply Reply Quote 0
                                        • Negalein
                                          Negalein Global Moderator @OliverIO last edited by

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

                                          so hier kannst mal probieren

                                          Danke!!!
                                          Werde es gleich probieren.

                                          Eine JSON (oder ähnlich) anstatt dem HTML wird nicht so einfach sein?
                                          Oder je einen eigenen DP für status, startzeit, einheit id, earea, alarmtext.

                                          Dann könnte ich es mit Blockly an Alexa ausgeben lassen.

                                          OliverIO Negalein 2 Replies Last reply Reply Quote 0
                                          • OliverIO
                                            OliverIO @Negalein last edited by OliverIO

                                            @negalein

                                            auf basis dieser lösung nicht.
                                            hab aktuell nicht soviel zeit.
                                            es wäre gut gewesen das vorher zu wissen

                                            Negalein L 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            471
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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