Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. XML verarbeiten für EPG

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    472

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    392

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    979

XML verarbeiten für EPG

Geplant Angeheftet Gesperrt Verschoben Blockly
15 Beiträge 3 Kommentatoren 377 Aufrufe 3 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • David G.D David G.

    @bahnuhr

    Anbei das epg für 3sat und 123tv als xml

    epg.xml

    Hoffe hab beim entfernen der restlichen Zeilen übers Smartphone nichts zerschossen.

    F Online
    F Online
    fastfoot
    schrieb am zuletzt editiert von
    #4

    @david-g hier was zum Rumspielen mit deinen Daten, erzeugt eine JSON Tabelle für die VIS und hat eine rudimentäre Filterfunktion auf Sender und Datum/Zeit

    /**
    * Zweck:   erstellt Tabelle(json) aus XML TV-Daten von epg.best
    * Datum:   19.04.2022
    * Autor:   @fastfoot
    * Forum:   https://forum.iobroker.net/post/792865
    */
    const fs = require('fs');
    const xml2js = require('xml2js');                                   // eintragen in Adapter-Instanz
    const parser = new xml2js.Parser();
    const Sender = '3sat.de';                                           // Senderfilter
    const now = new Date('2021-05-11 14:50:00 UTC+2');                  // Zeitfilter
    
    function parseAsync() {
       let data = fs.readFileSync('/opt/iobroker/Downloads/tv.xml');
       return new Promise((resolve, reject) => {
           parser.parseString(data, function (err, result) {
               if (err) {
                   log('Fehler ' + err);
               }
               resolve(result);
           })
       });
    }
    async function main() {
       const uebersicht = [];
       let json = await parseAsync();
       fs.writeFile('/opt/iobroker/Downloads/tv.json', JSON.stringify(json), e => { })
       json.tv.programme.forEach(p => {
           let start = p['$'].start.match(/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\s(\+\d{2})/);
           let stop = p['$'].stop.match(/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\s(\+\d{2})/);
           start = new Date(start[1] + '-' + start[2] + '-' + start[3] + ' ' + start[4] + ':' + start[5] + ':' + start[6] + ' UTC' + start[7])
           stop = new Date(stop[1] + '-' + stop[2] + '-' + stop[3] + ' ' + stop[4] + ':' + stop[5] + ':' + stop[6] + ' UTC' + stop[7])
           uebersicht.push({
               "Sender": p['$'].channel,
               "Start": start,
               "Ende": stop,
               "Titel": p.title[0]['_']
           })
       })
    
       //als Tabelle für VIS speichern
       setState('0_userdata.0.TV.epg', JSON.stringify(uebersicht));
    
       //Filtern nach Sender und Zeit
       let jetzt = uebersicht.filter(p => {
           return p.Sender === Sender && p.Start <= now && p.Ende > now;
       })
       log(jetzt[0])
    }
    
    main();
    

    iobroker läuft unter Docker auf QNAP TS-451+
    SkriptRecovery: https://forum.iobroker.net/post/930558

    David G.D 1 Antwort Letzte Antwort
    1
    • F fastfoot

      @david-g hier was zum Rumspielen mit deinen Daten, erzeugt eine JSON Tabelle für die VIS und hat eine rudimentäre Filterfunktion auf Sender und Datum/Zeit

      /**
      * Zweck:   erstellt Tabelle(json) aus XML TV-Daten von epg.best
      * Datum:   19.04.2022
      * Autor:   @fastfoot
      * Forum:   https://forum.iobroker.net/post/792865
      */
      const fs = require('fs');
      const xml2js = require('xml2js');                                   // eintragen in Adapter-Instanz
      const parser = new xml2js.Parser();
      const Sender = '3sat.de';                                           // Senderfilter
      const now = new Date('2021-05-11 14:50:00 UTC+2');                  // Zeitfilter
      
      function parseAsync() {
         let data = fs.readFileSync('/opt/iobroker/Downloads/tv.xml');
         return new Promise((resolve, reject) => {
             parser.parseString(data, function (err, result) {
                 if (err) {
                     log('Fehler ' + err);
                 }
                 resolve(result);
             })
         });
      }
      async function main() {
         const uebersicht = [];
         let json = await parseAsync();
         fs.writeFile('/opt/iobroker/Downloads/tv.json', JSON.stringify(json), e => { })
         json.tv.programme.forEach(p => {
             let start = p['$'].start.match(/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\s(\+\d{2})/);
             let stop = p['$'].stop.match(/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\s(\+\d{2})/);
             start = new Date(start[1] + '-' + start[2] + '-' + start[3] + ' ' + start[4] + ':' + start[5] + ':' + start[6] + ' UTC' + start[7])
             stop = new Date(stop[1] + '-' + stop[2] + '-' + stop[3] + ' ' + stop[4] + ':' + stop[5] + ':' + stop[6] + ' UTC' + stop[7])
             uebersicht.push({
                 "Sender": p['$'].channel,
                 "Start": start,
                 "Ende": stop,
                 "Titel": p.title[0]['_']
             })
         })
      
         //als Tabelle für VIS speichern
         setState('0_userdata.0.TV.epg', JSON.stringify(uebersicht));
      
         //Filtern nach Sender und Zeit
         let jetzt = uebersicht.filter(p => {
             return p.Sender === Sender && p.Start <= now && p.Ende > now;
         })
         log(jetzt[0])
      }
      
      main();
      

      David G.D Online
      David G.D Online
      David G.
      schrieb am zuletzt editiert von David G.
      #5

      @fastfoot

      Vielen Dank,

      werde ich morgen am Rechner testen.
      Auch wenn ich nur Bahnhof verstehe. Aber probieren geht über studieren 😁

      Anpassen muss ich dann vermutlich in Zeile

      10 den gewünschten Sender
      11 die Zeit wo ich die Sendung suche
      14 den Pfad zur xml
      27 die json wird automatisch angelegt?
      42 den Pfad zum Datenpunkt für die Tabelle

      Mit JS hab ich noch nie wirklich gearbeitet. Schaue mir gelegentlich an was blockly mir im JS Modus anzeigt.

      EDIT
      Muss ich in der Javascript Instanz noch Module hinzufügen?

      Bisher mache ich es folgendermaßen.
      Nur bietet der tvspielfilm Adapter ziemlich wenig Sender.

      Screenshot_20220419-212715_Chrome.jpg

      Ich bekomme vom SONY bravia Adapter den aktuellen Sender der am TV läuft (Das ist der Trigger).
      Dort entferne ich das HD am Ende vom Sendern Fall vorhanden.
      Im epg gibt's die Sender nur ohne HD.

      Manche Sender nennen sich im Adapter des Fernsehers anders als im epg. Diese andere ich schnell manuell ab.
      Dann wird in der Schleife der entsprechende gesucht und das Programm ermittelt.

      Zeigt eure Lovelace-Visualisierung klick
      (Auch ideal um sich Anregungen zu holen)

      Meine Tabellen für eure Visualisierung klick

      F 1 Antwort Letzte Antwort
      0
      • David G.D David G.

        @fastfoot

        Vielen Dank,

        werde ich morgen am Rechner testen.
        Auch wenn ich nur Bahnhof verstehe. Aber probieren geht über studieren 😁

        Anpassen muss ich dann vermutlich in Zeile

        10 den gewünschten Sender
        11 die Zeit wo ich die Sendung suche
        14 den Pfad zur xml
        27 die json wird automatisch angelegt?
        42 den Pfad zum Datenpunkt für die Tabelle

        Mit JS hab ich noch nie wirklich gearbeitet. Schaue mir gelegentlich an was blockly mir im JS Modus anzeigt.

        EDIT
        Muss ich in der Javascript Instanz noch Module hinzufügen?

        Bisher mache ich es folgendermaßen.
        Nur bietet der tvspielfilm Adapter ziemlich wenig Sender.

        Screenshot_20220419-212715_Chrome.jpg

        Ich bekomme vom SONY bravia Adapter den aktuellen Sender der am TV läuft (Das ist der Trigger).
        Dort entferne ich das HD am Ende vom Sendern Fall vorhanden.
        Im epg gibt's die Sender nur ohne HD.

        Manche Sender nennen sich im Adapter des Fernsehers anders als im epg. Diese andere ich schnell manuell ab.
        Dann wird in der Schleife der entsprechende gesucht und das Programm ermittelt.

        F Online
        F Online
        fastfoot
        schrieb am zuletzt editiert von
        #6

        @david-g in Blockly lässt sich das nur mühselig umsetzen. Das Json enthält alle Daten, mit dem Inventwo json widget kann man aber schön sortieren. damit das abspeichern mit setState() funktioniert musst du natürlich noch einen DP 0_userdata.0.TV.epg erstellen. Der Filter filtert dann aus diesen Daten nach den voreingestellten beiden Kriterien. Es wird auch noch eine json-Datei geschrieben, das kannst du auskommentieren. Als Daten sind in der json nur Sender, Titel, Start und Stop verfügbar, das kann man natürlich noch erweitern, sollte eher als Anregung zum Erweitern dienen :-)

        iobroker läuft unter Docker auf QNAP TS-451+
        SkriptRecovery: https://forum.iobroker.net/post/930558

        David G.D 1 Antwort Letzte Antwort
        0
        • F fastfoot

          @david-g in Blockly lässt sich das nur mühselig umsetzen. Das Json enthält alle Daten, mit dem Inventwo json widget kann man aber schön sortieren. damit das abspeichern mit setState() funktioniert musst du natürlich noch einen DP 0_userdata.0.TV.epg erstellen. Der Filter filtert dann aus diesen Daten nach den voreingestellten beiden Kriterien. Es wird auch noch eine json-Datei geschrieben, das kannst du auskommentieren. Als Daten sind in der json nur Sender, Titel, Start und Stop verfügbar, das kann man natürlich noch erweitern, sollte eher als Anregung zum Erweitern dienen :-)

          David G.D Online
          David G.D Online
          David G.
          schrieb am zuletzt editiert von David G.
          #7

          @fastfoot

          Beim erweitern muss ich mal schauen ^^.

          Eine Tabelle Brauche ich garnicht unbedingt.
          Nutze kein VIS.
          Hab meine Visu in Lovelace.
          Das reine aktuelle Programm reicht eigentlich schon. Start und Ende waren nice to have.

          Könnte folgendes klappen?
          Das Skript als Funktion in Blockly einfügen und dann den Sender und Zeit aus einer Variablen holen die vorher in Blockly gesetzt werden.
          Dann das gewünschte Ergebnisse in eine (bzw 2-3) Variablen schreiben.

          So baue ich es ein:

          Screenshot_20220419-213914_Fully Kiosk Browser.jpg

          EDIT
          Muss ich in der Javascript Instanz noch Module hinzufügen?

          Zeigt eure Lovelace-Visualisierung klick
          (Auch ideal um sich Anregungen zu holen)

          Meine Tabellen für eure Visualisierung klick

          F 1 Antwort Letzte Antwort
          0
          • David G.D David G.

            @fastfoot

            Beim erweitern muss ich mal schauen ^^.

            Eine Tabelle Brauche ich garnicht unbedingt.
            Nutze kein VIS.
            Hab meine Visu in Lovelace.
            Das reine aktuelle Programm reicht eigentlich schon. Start und Ende waren nice to have.

            Könnte folgendes klappen?
            Das Skript als Funktion in Blockly einfügen und dann den Sender und Zeit aus einer Variablen holen die vorher in Blockly gesetzt werden.
            Dann das gewünschte Ergebnisse in eine (bzw 2-3) Variablen schreiben.

            So baue ich es ein:

            Screenshot_20220419-213914_Fully Kiosk Browser.jpg

            EDIT
            Muss ich in der Javascript Instanz noch Module hinzufügen?

            F Online
            F Online
            fastfoot
            schrieb am zuletzt editiert von
            #8

            @david-g ja, xml2js in der Instanz eintragen. Als JSFunktion geht natürlich, ich schau mal für morgen, viel Änderung ist da nicht notwendig, wenn überhaupt

            iobroker läuft unter Docker auf QNAP TS-451+
            SkriptRecovery: https://forum.iobroker.net/post/930558

            David G.D 1 Antwort Letzte Antwort
            0
            • F fastfoot

              @david-g ja, xml2js in der Instanz eintragen. Als JSFunktion geht natürlich, ich schau mal für morgen, viel Änderung ist da nicht notwendig, wenn überhaupt

              David G.D Online
              David G.D Online
              David G.
              schrieb am zuletzt editiert von
              #9

              @fastfoot

              Sehr cool, danke.
              Wenn da was in Blockly geht (mit Funktion) bekomme ich bestimmt mein Skript 2 Posts weiter oben angepasst.

              Zeigt eure Lovelace-Visualisierung klick
              (Auch ideal um sich Anregungen zu holen)

              Meine Tabellen für eure Visualisierung klick

              F 1 Antwort Letzte Antwort
              0
              • David G.D David G.

                @fastfoot

                Sehr cool, danke.
                Wenn da was in Blockly geht (mit Funktion) bekomme ich bestimmt mein Skript 2 Posts weiter oben angepasst.

                F Online
                F Online
                fastfoot
                schrieb am zuletzt editiert von fastfoot
                #10

                @david-g ich denke schon dass das leicht geht, hier als Blockly

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable id="kbL5/)K1!N4cip+5_.1i">Sender</variable>
                   <variable id="=J@n/ITm;Kc+d4@zMh7!">Datum</variable>
                   <variable id="/_EVt8i8cL:*ALcrdhfG">ergebnis</variable>
                   <variable id="[8oE4,fROL+h=Hm^_kPd">titel</variable>
                 </variables>
                 <block type="procedures_defcustomreturn" id="Fdn;N_DDcOcQm^j|,Ft!" x="62" y="62">
                   <mutation statements="false">
                     <arg name="Sender" varid="kbL5/)K1!N4cip+5_.1i"></arg>
                     <arg name="Datum" varid="=J@n/ITm;Kc+d4@zMh7!"></arg>
                   </mutation>
                   <field name="NAME">parser</field>
                   <field name="SCRIPT">LyoqDQogKiBad2VjazogICBlcnN0ZWxsdCBUYWJlbGxlKGpzb24pIGF1cyBYTUwgVFYtRGF0ZW4gdm9uIGVwZy5iZXN0DQogKiBEYXR1bTogICAyMC4wNC4yMDIyDQogKiBBdXRvcjogICBAZmFzdGZvb3QNCiAqIEZvcnVtOiAgIGh0dHBzOi8vZm9ydW0uaW9icm9rZXIubmV0L3Bvc3QvNzkyODY1DQogKi8NCmNvbnN0IGZzID0gcmVxdWlyZSgnZnMnKTsNCmNvbnN0IHhtbDJqcyA9IHJlcXVpcmUoJ3htbDJqcycpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZWludHJhZ2VuIGluIEFkYXB0ZXItSW5zdGFueg0KY29uc3QgcGFyc2VyID0gbmV3IHhtbDJqcy5QYXJzZXIoKTsNCi8vY29uc3QgU2VuZGVyID0gJzNzYXQuZGUnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2VuZGVyZmlsdGVyDQpjb25zdCBub3cgPSBEYXR1bTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFplaXRmaWx0ZXINCg0KZnVuY3Rpb24gcGFyc2VBc3luYygpIHsNCiAgICBsZXQgZGF0YSA9IGZzLnJlYWRGaWxlU3luYygnL29wdC9pb2Jyb2tlci9Eb3dubG9hZHMvdHYueG1sJyk7DQogICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsNCiAgICAgICAgcGFyc2VyLnBhcnNlU3RyaW5nKGRhdGEsIGZ1bmN0aW9uIChlcnIsIHJlc3VsdCkgew0KICAgICAgICAgICAgaWYgKGVycikgew0KICAgICAgICAgICAgICAgIGxvZygnRmVobGVyICcgKyBlcnIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpOw0KICAgICAgICB9KQ0KICAgIH0pOw0KfQ0KDQpjb25zdCB1ZWJlcnNpY2h0ID0gW107DQpsZXQganNvbiA9IGF3YWl0IHBhcnNlQXN5bmMoKTsNCi8vZnMud3JpdGVGaWxlKCcvb3B0L2lvYnJva2VyL0Rvd25sb2Fkcy90di5qc29uJywgSlNPTi5zdHJpbmdpZnkoanNvbiksIGUgPT4geyB9KQ0KanNvbi50di5wcm9ncmFtbWUuZm9yRWFjaChwID0+IHsNCiAgICBsZXQgc3RhcnQgPSBwWyckJ10uc3RhcnQubWF0Y2goLyhcZHs0fSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KVxzKFwrXGR7Mn0pLyk7DQogICAgbGV0IHN0b3AgPSBwWyckJ10uc3RvcC5tYXRjaCgvKFxkezR9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pXHMoXCtcZHsyfSkvKTsNCiAgICBzdGFydCA9IG5ldyBEYXRlKHN0YXJ0WzFdICsgJy0nICsgc3RhcnRbMl0gKyAnLScgKyBzdGFydFszXSArICcgJyArIHN0YXJ0WzRdICsgJzonICsgc3RhcnRbNV0gKyAnOicgKyBzdGFydFs2XSArICcgVVRDJyArIHN0YXJ0WzddKQ0KICAgIHN0b3AgPSBuZXcgRGF0ZShzdG9wWzFdICsgJy0nICsgc3RvcFsyXSArICctJyArIHN0b3BbM10gKyAnICcgKyBzdG9wWzRdICsgJzonICsgc3RvcFs1XSArICc6JyArIHN0b3BbNl0gKyAnIFVUQycgKyBzdG9wWzddKQ0KICAgIHVlYmVyc2ljaHQucHVzaCh7DQogICAgICAgICJTZW5kZXIiOiBwWyckJ10uY2hhbm5lbC5yZXBsYWNlKCcuZGUnLCcnKSwNCiAgICAgICAgIlN0YXJ0Ijogc3RhcnQsDQogICAgICAgICJFbmRlIjogc3RvcCwNCiAgICAgICAgIlRpdGVsIjogcC50aXRsZVswXVsnXyddDQogICAgfSkNCn0pDQoNCi8vYWxzIFRhYmVsbGUgZsO8ciBWSVMgc3BlaWNoZXJuDQovL3NldFN0YXRlKCcwX3VzZXJkYXRhLjAuVFYuZXBnJywgSlNPTi5zdHJpbmdpZnkodWViZXJzaWNodCkpOw0KDQovL0ZpbHRlcm4gbmFjaCBTZW5kZXIgdW5kIFplaXQNCmxldCBqZXR6dCA9IHVlYmVyc2ljaHQuZmlsdGVyKHAgPT4gew0KICAgIHJldHVybiBwLlNlbmRlciA9PT0gU2VuZGVyLnJlcGxhY2UoJy5kZScsJycpICYmIHAuU3RhcnQgPD0gbm93ICYmIHAuRW5kZSA+IG5vdzsNCn0pDQppZiAoamV0enQubGVuZ3RoID4gMCkNCiAgICByZXR1cm4gamV0enRbMF07DQplbHNlDQogICAgcmV0dXJuIHsgIlNlbmRlciI6IG51bGwsICJTdGFydCI6IG51bGwsICJFbmRlIjogbnVsbCwgIlRpdGVsIjogIktlaW4gbGF1ZmVuZGVzIFByb2dyYW1tIGdlZnVuZGVuISIgfQ0KDQo=</field>
                   <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                 </block>
                 <block type="variables_set" id="59ap+bGAs-]3IAUBo[6V" x="62" y="88">
                   <field name="VAR" id="kbL5/)K1!N4cip+5_.1i">Sender</field>
                   <value name="VALUE">
                     <block type="text" id="FCA|Qg{uJh}b/1:$Aypf">
                       <field name="TEXT">3sat.de</field>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id="rjev,e$~wrSBYR_r]@vp">
                       <field name="VAR" id="=J@n/ITm;Kc+d4@zMh7!">Datum</field>
                       <value name="VALUE">
                         <block type="convert_from_date" id="k.*$Mz2W+$s|jCE7zyCY">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                           <field name="OPTION">object</field>
                           <value name="VALUE">
                             <block type="text" id="S=Up?Y:fyk@I;_cr@GdN">
                               <field name="TEXT">2021-5-11 20:15</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="variables_set" id="VRvfLzS84=#:PDPbveDw">
                           <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                           <value name="VALUE">
                             <block type="procedures_callcustomreturn" id="PQqreJ!}rt#BPi~E#k^F">
                               <mutation name="parser">
                                 <arg name="Sender"></arg>
                                 <arg name="Datum"></arg>
                               </mutation>
                               <value name="ARG0">
                                 <block type="variables_get" id="ZFxvO-[rP|[!)#cUg$il">
                                   <field name="VAR" id="kbL5/)K1!N4cip+5_.1i">Sender</field>
                                 </block>
                               </value>
                               <value name="ARG1">
                                 <block type="variables_get" id="d3FHma#0qLvpY!-4N*EY">
                                   <field name="VAR" id="=J@n/ITm;Kc+d4@zMh7!">Datum</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="variables_set" id="x6bCg:y{sEHSCmn7}B]|">
                               <field name="VAR" id="[8oE4,fROL+h=Hm^_kPd">titel</field>
                               <value name="VALUE">
                                 <block type="get_attr" id="w_5c2A7T*}?Ba8lc=)Fr">
                                   <value name="PATH">
                                     <shadow type="text" id="*T-ot_9q`v)91_el,!Q{">
                                       <field name="TEXT">Titel</field>
                                     </shadow>
                                   </value>
                                   <value name="OBJECT">
                                     <block type="variables_get" id="0ZvG8cm/kK^0viy3rjf^">
                                       <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="debug" id="v*60KZc^%8TejL%5EOKD" inline="true">
                                   <field name="Severity">log</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="O(hrX9Bzoa8jvS;*uDu`">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="variables_get" id="`1pVz-X:]EkXDcp{JJC,">
                                       <field name="VAR" id="[8oE4,fROL+h=Hm^_kPd">titel</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="debug" id="|^H{k(vCq(fppoQU5+ql" inline="true">
                                       <field name="Severity">log</field>
                                       <value name="TEXT">
                                         <shadow type="text">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="get_attr" id="5GTv3TS!D;R^U,bqPxUF">
                                           <value name="PATH">
                                             <shadow type="text" id=":_w+iMPxfmuqgjYDnt4F">
                                               <field name="TEXT">Start</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <block type="variables_get" id="J$F=MD*wg@ApV8X3/+|@">
                                               <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="debug" id="$kcjevz!_:y@l8t~6eOS" inline="true">
                                           <field name="Severity">log</field>
                                           <value name="TEXT">
                                             <shadow type="text">
                                               <field name="TEXT">test</field>
                                             </shadow>
                                             <block type="get_attr" id="y.k2dG[Z~!8dFAYW)b/A">
                                               <value name="PATH">
                                                 <shadow type="text" id=";44m%L8t^O,WW]lO?9nh">
                                                   <field name="TEXT">Ende</field>
                                                 </shadow>
                                               </value>
                                               <value name="OBJECT">
                                                 <block type="variables_get" id=",6ocYSw|r@fvzTM!Q3[)">
                                                   <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="debug" id="l35?J_G*ZxEnW1-nYp~_" inline="true">
                                               <field name="Severity">log</field>
                                               <value name="TEXT">
                                                 <shadow type="text">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="get_attr" id="qsx%a{Gh{[Wl:2q8M6`j">
                                                   <value name="PATH">
                                                     <shadow type="text" id="uEmGg,;`Hvg.).H7r~2w">
                                                       <field name="TEXT">Sender</field>
                                                     </shadow>
                                                   </value>
                                                   <value name="OBJECT">
                                                     <block type="variables_get" id="Ey]wJHxbb9V:YeT(K*Zb">
                                                       <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
                </xml>
                

                iobroker läuft unter Docker auf QNAP TS-451+
                SkriptRecovery: https://forum.iobroker.net/post/930558

                David G.D 1 Antwort Letzte Antwort
                0
                • F fastfoot

                  @david-g ich denke schon dass das leicht geht, hier als Blockly

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <variables>
                     <variable id="kbL5/)K1!N4cip+5_.1i">Sender</variable>
                     <variable id="=J@n/ITm;Kc+d4@zMh7!">Datum</variable>
                     <variable id="/_EVt8i8cL:*ALcrdhfG">ergebnis</variable>
                     <variable id="[8oE4,fROL+h=Hm^_kPd">titel</variable>
                   </variables>
                   <block type="procedures_defcustomreturn" id="Fdn;N_DDcOcQm^j|,Ft!" x="62" y="62">
                     <mutation statements="false">
                       <arg name="Sender" varid="kbL5/)K1!N4cip+5_.1i"></arg>
                       <arg name="Datum" varid="=J@n/ITm;Kc+d4@zMh7!"></arg>
                     </mutation>
                     <field name="NAME">parser</field>
                     <field name="SCRIPT">LyoqDQogKiBad2VjazogICBlcnN0ZWxsdCBUYWJlbGxlKGpzb24pIGF1cyBYTUwgVFYtRGF0ZW4gdm9uIGVwZy5iZXN0DQogKiBEYXR1bTogICAyMC4wNC4yMDIyDQogKiBBdXRvcjogICBAZmFzdGZvb3QNCiAqIEZvcnVtOiAgIGh0dHBzOi8vZm9ydW0uaW9icm9rZXIubmV0L3Bvc3QvNzkyODY1DQogKi8NCmNvbnN0IGZzID0gcmVxdWlyZSgnZnMnKTsNCmNvbnN0IHhtbDJqcyA9IHJlcXVpcmUoJ3htbDJqcycpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZWludHJhZ2VuIGluIEFkYXB0ZXItSW5zdGFueg0KY29uc3QgcGFyc2VyID0gbmV3IHhtbDJqcy5QYXJzZXIoKTsNCi8vY29uc3QgU2VuZGVyID0gJzNzYXQuZGUnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2VuZGVyZmlsdGVyDQpjb25zdCBub3cgPSBEYXR1bTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFplaXRmaWx0ZXINCg0KZnVuY3Rpb24gcGFyc2VBc3luYygpIHsNCiAgICBsZXQgZGF0YSA9IGZzLnJlYWRGaWxlU3luYygnL29wdC9pb2Jyb2tlci9Eb3dubG9hZHMvdHYueG1sJyk7DQogICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsNCiAgICAgICAgcGFyc2VyLnBhcnNlU3RyaW5nKGRhdGEsIGZ1bmN0aW9uIChlcnIsIHJlc3VsdCkgew0KICAgICAgICAgICAgaWYgKGVycikgew0KICAgICAgICAgICAgICAgIGxvZygnRmVobGVyICcgKyBlcnIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpOw0KICAgICAgICB9KQ0KICAgIH0pOw0KfQ0KDQpjb25zdCB1ZWJlcnNpY2h0ID0gW107DQpsZXQganNvbiA9IGF3YWl0IHBhcnNlQXN5bmMoKTsNCi8vZnMud3JpdGVGaWxlKCcvb3B0L2lvYnJva2VyL0Rvd25sb2Fkcy90di5qc29uJywgSlNPTi5zdHJpbmdpZnkoanNvbiksIGUgPT4geyB9KQ0KanNvbi50di5wcm9ncmFtbWUuZm9yRWFjaChwID0+IHsNCiAgICBsZXQgc3RhcnQgPSBwWyckJ10uc3RhcnQubWF0Y2goLyhcZHs0fSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KVxzKFwrXGR7Mn0pLyk7DQogICAgbGV0IHN0b3AgPSBwWyckJ10uc3RvcC5tYXRjaCgvKFxkezR9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pXHMoXCtcZHsyfSkvKTsNCiAgICBzdGFydCA9IG5ldyBEYXRlKHN0YXJ0WzFdICsgJy0nICsgc3RhcnRbMl0gKyAnLScgKyBzdGFydFszXSArICcgJyArIHN0YXJ0WzRdICsgJzonICsgc3RhcnRbNV0gKyAnOicgKyBzdGFydFs2XSArICcgVVRDJyArIHN0YXJ0WzddKQ0KICAgIHN0b3AgPSBuZXcgRGF0ZShzdG9wWzFdICsgJy0nICsgc3RvcFsyXSArICctJyArIHN0b3BbM10gKyAnICcgKyBzdG9wWzRdICsgJzonICsgc3RvcFs1XSArICc6JyArIHN0b3BbNl0gKyAnIFVUQycgKyBzdG9wWzddKQ0KICAgIHVlYmVyc2ljaHQucHVzaCh7DQogICAgICAgICJTZW5kZXIiOiBwWyckJ10uY2hhbm5lbC5yZXBsYWNlKCcuZGUnLCcnKSwNCiAgICAgICAgIlN0YXJ0Ijogc3RhcnQsDQogICAgICAgICJFbmRlIjogc3RvcCwNCiAgICAgICAgIlRpdGVsIjogcC50aXRsZVswXVsnXyddDQogICAgfSkNCn0pDQoNCi8vYWxzIFRhYmVsbGUgZsO8ciBWSVMgc3BlaWNoZXJuDQovL3NldFN0YXRlKCcwX3VzZXJkYXRhLjAuVFYuZXBnJywgSlNPTi5zdHJpbmdpZnkodWViZXJzaWNodCkpOw0KDQovL0ZpbHRlcm4gbmFjaCBTZW5kZXIgdW5kIFplaXQNCmxldCBqZXR6dCA9IHVlYmVyc2ljaHQuZmlsdGVyKHAgPT4gew0KICAgIHJldHVybiBwLlNlbmRlciA9PT0gU2VuZGVyLnJlcGxhY2UoJy5kZScsJycpICYmIHAuU3RhcnQgPD0gbm93ICYmIHAuRW5kZSA+IG5vdzsNCn0pDQppZiAoamV0enQubGVuZ3RoID4gMCkNCiAgICByZXR1cm4gamV0enRbMF07DQplbHNlDQogICAgcmV0dXJuIHsgIlNlbmRlciI6IG51bGwsICJTdGFydCI6IG51bGwsICJFbmRlIjogbnVsbCwgIlRpdGVsIjogIktlaW4gbGF1ZmVuZGVzIFByb2dyYW1tIGdlZnVuZGVuISIgfQ0KDQo=</field>
                     <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                   </block>
                   <block type="variables_set" id="59ap+bGAs-]3IAUBo[6V" x="62" y="88">
                     <field name="VAR" id="kbL5/)K1!N4cip+5_.1i">Sender</field>
                     <value name="VALUE">
                       <block type="text" id="FCA|Qg{uJh}b/1:$Aypf">
                         <field name="TEXT">3sat.de</field>
                       </block>
                     </value>
                     <next>
                       <block type="variables_set" id="rjev,e$~wrSBYR_r]@vp">
                         <field name="VAR" id="=J@n/ITm;Kc+d4@zMh7!">Datum</field>
                         <value name="VALUE">
                           <block type="convert_from_date" id="k.*$Mz2W+$s|jCE7zyCY">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                             <field name="OPTION">object</field>
                             <value name="VALUE">
                               <block type="text" id="S=Up?Y:fyk@I;_cr@GdN">
                                 <field name="TEXT">2021-5-11 20:15</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="variables_set" id="VRvfLzS84=#:PDPbveDw">
                             <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                             <value name="VALUE">
                               <block type="procedures_callcustomreturn" id="PQqreJ!}rt#BPi~E#k^F">
                                 <mutation name="parser">
                                   <arg name="Sender"></arg>
                                   <arg name="Datum"></arg>
                                 </mutation>
                                 <value name="ARG0">
                                   <block type="variables_get" id="ZFxvO-[rP|[!)#cUg$il">
                                     <field name="VAR" id="kbL5/)K1!N4cip+5_.1i">Sender</field>
                                   </block>
                                 </value>
                                 <value name="ARG1">
                                   <block type="variables_get" id="d3FHma#0qLvpY!-4N*EY">
                                     <field name="VAR" id="=J@n/ITm;Kc+d4@zMh7!">Datum</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="variables_set" id="x6bCg:y{sEHSCmn7}B]|">
                                 <field name="VAR" id="[8oE4,fROL+h=Hm^_kPd">titel</field>
                                 <value name="VALUE">
                                   <block type="get_attr" id="w_5c2A7T*}?Ba8lc=)Fr">
                                     <value name="PATH">
                                       <shadow type="text" id="*T-ot_9q`v)91_el,!Q{">
                                         <field name="TEXT">Titel</field>
                                       </shadow>
                                     </value>
                                     <value name="OBJECT">
                                       <block type="variables_get" id="0ZvG8cm/kK^0viy3rjf^">
                                         <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="debug" id="v*60KZc^%8TejL%5EOKD" inline="true">
                                     <field name="Severity">log</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="O(hrX9Bzoa8jvS;*uDu`">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="variables_get" id="`1pVz-X:]EkXDcp{JJC,">
                                         <field name="VAR" id="[8oE4,fROL+h=Hm^_kPd">titel</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="debug" id="|^H{k(vCq(fppoQU5+ql" inline="true">
                                         <field name="Severity">log</field>
                                         <value name="TEXT">
                                           <shadow type="text">
                                             <field name="TEXT">test</field>
                                           </shadow>
                                           <block type="get_attr" id="5GTv3TS!D;R^U,bqPxUF">
                                             <value name="PATH">
                                               <shadow type="text" id=":_w+iMPxfmuqgjYDnt4F">
                                                 <field name="TEXT">Start</field>
                                               </shadow>
                                             </value>
                                             <value name="OBJECT">
                                               <block type="variables_get" id="J$F=MD*wg@ApV8X3/+|@">
                                                 <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="debug" id="$kcjevz!_:y@l8t~6eOS" inline="true">
                                             <field name="Severity">log</field>
                                             <value name="TEXT">
                                               <shadow type="text">
                                                 <field name="TEXT">test</field>
                                               </shadow>
                                               <block type="get_attr" id="y.k2dG[Z~!8dFAYW)b/A">
                                                 <value name="PATH">
                                                   <shadow type="text" id=";44m%L8t^O,WW]lO?9nh">
                                                     <field name="TEXT">Ende</field>
                                                   </shadow>
                                                 </value>
                                                 <value name="OBJECT">
                                                   <block type="variables_get" id=",6ocYSw|r@fvzTM!Q3[)">
                                                     <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="debug" id="l35?J_G*ZxEnW1-nYp~_" inline="true">
                                                 <field name="Severity">log</field>
                                                 <value name="TEXT">
                                                   <shadow type="text">
                                                     <field name="TEXT">test</field>
                                                   </shadow>
                                                   <block type="get_attr" id="qsx%a{Gh{[Wl:2q8M6`j">
                                                     <value name="PATH">
                                                       <shadow type="text" id="uEmGg,;`Hvg.).H7r~2w">
                                                         <field name="TEXT">Sender</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="OBJECT">
                                                       <block type="variables_get" id="Ey]wJHxbb9V:YeT(K*Zb">
                                                         <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                  </xml>
                  

                  David G.D Online
                  David G.D Online
                  David G.
                  schrieb am zuletzt editiert von David G.
                  #11

                  @fastfoot

                  Vielen Dank.

                  Hab es importiert und die Zeile zur xml angepasst.

                  Im Log erscheint jetzt

                  07:00:24.068	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.Status_TV: registered 0 subscriptions and 1 schedule
                  07:00:24.383	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.Status_TV: null
                  07:00:24.384	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.Status_TV: null
                  07:00:24.384	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.Status_TV: null
                  

                  Hat er ein Problem mit der großen xml?
                  Abarbeiten tut er es. Dauert so 2-3 sek bis er den Log ausgibt.
                  Komisch finde ich auch, dass er nur 3 Zeilen debug ausgibt, obwohl es 4 Bausteine gibt.

                  Zeigt eure Lovelace-Visualisierung klick
                  (Auch ideal um sich Anregungen zu holen)

                  Meine Tabellen für eure Visualisierung klick

                  F 1 Antwort Letzte Antwort
                  0
                  • David G.D David G.

                    @fastfoot

                    Vielen Dank.

                    Hab es importiert und die Zeile zur xml angepasst.

                    Im Log erscheint jetzt

                    07:00:24.068	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.Status_TV: registered 0 subscriptions and 1 schedule
                    07:00:24.383	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.Status_TV: null
                    07:00:24.384	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.Status_TV: null
                    07:00:24.384	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.Status_TV: null
                    

                    Hat er ein Problem mit der großen xml?
                    Abarbeiten tut er es. Dauert so 2-3 sek bis er den Log ausgibt.
                    Komisch finde ich auch, dass er nur 3 Zeilen debug ausgibt, obwohl es 4 Bausteine gibt.

                    F Online
                    F Online
                    fastfoot
                    schrieb am zuletzt editiert von fastfoot
                    #12

                    @david-g du hast die Datei verändert, das solltest du immer erst dann tun wenn das gepostete Beispiel läuft!
                    An den Daten liegt es nicht, jedoch dauert es hier ca. 10s bis die Daten eingelesen und aufbereitet sind. Das Filtern selbst dauert nur wenige ms.

                    javascript.1 2022-04-20 14:30:00.027	info	script.js.Forum.epgOrg: ARD
                    javascript.1 2022-04-20 14:30:00.027	info	script.js.Forum.epgOrg: Wed Apr 20 2022 15:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)
                    javascript.1 2022-04-20 14:30:00.026	info	script.js.Forum.epgOrg: Wed Apr 20 2022 14:10:00 GMT+0200 (Mitteleuropäische Sommerzeit)
                    javascript.1 2022-04-20 14:30:00.026	info	script.js.Forum.epgOrg: Rote Rosen
                    

                    iobroker läuft unter Docker auf QNAP TS-451+
                    SkriptRecovery: https://forum.iobroker.net/post/930558

                    David G.D 1 Antwort Letzte Antwort
                    0
                    • F fastfoot

                      @david-g du hast die Datei verändert, das solltest du immer erst dann tun wenn das gepostete Beispiel läuft!
                      An den Daten liegt es nicht, jedoch dauert es hier ca. 10s bis die Daten eingelesen und aufbereitet sind. Das Filtern selbst dauert nur wenige ms.

                      javascript.1 2022-04-20 14:30:00.027	info	script.js.Forum.epgOrg: ARD
                      javascript.1 2022-04-20 14:30:00.027	info	script.js.Forum.epgOrg: Wed Apr 20 2022 15:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)
                      javascript.1 2022-04-20 14:30:00.026	info	script.js.Forum.epgOrg: Wed Apr 20 2022 14:10:00 GMT+0200 (Mitteleuropäische Sommerzeit)
                      javascript.1 2022-04-20 14:30:00.026	info	script.js.Forum.epgOrg: Rote Rosen
                      
                      David G.D Online
                      David G.D Online
                      David G.
                      schrieb am zuletzt editiert von David G.
                      #13

                      @fastfoot

                      Hm,
                      komische Angelegenheit.
                      Hab jetzt EXAKT dein Blockly genommen. Sogar den Speicherpfad erstellt.

                      Die kleine xml mit den 2 Sendern klappt.
                      Bei der großen (aus der PN) kommt:

                      17:04:43.404	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.tv2: Kein laufendes Programm gefunden!
                      17:04:43.404	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.tv2: null
                      17:04:43.404	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.tv2: null
                      17:04:43.404	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.tv2: null
                      

                      Verschiedene Sender und Zeiten getestet.

                      EDIT:
                      Da habe ich uns ja eine gemeine Falle gestellt........
                      Du hast Sie scheinbar gesehen^^.
                      Die eine Datei ist aus ´21 die andere jetzt aktuell ......

                      Vielen Dank für deine Hilfe.
                      Ist ziemlich cool geworden und habe es auch schon integriert.
                      Jetzt stelle Ich Irgendwann mal meine EPG Tabelle auf die Daten um ^^.

                      Zeigt eure Lovelace-Visualisierung klick
                      (Auch ideal um sich Anregungen zu holen)

                      Meine Tabellen für eure Visualisierung klick

                      F 1 Antwort Letzte Antwort
                      0
                      • David G.D David G.

                        @fastfoot

                        Hm,
                        komische Angelegenheit.
                        Hab jetzt EXAKT dein Blockly genommen. Sogar den Speicherpfad erstellt.

                        Die kleine xml mit den 2 Sendern klappt.
                        Bei der großen (aus der PN) kommt:

                        17:04:43.404	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.tv2: Kein laufendes Programm gefunden!
                        17:04:43.404	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.tv2: null
                        17:04:43.404	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.tv2: null
                        17:04:43.404	info	javascript.0 (27980) script.js.Eigene_Scripte.VIS.tv2: null
                        

                        Verschiedene Sender und Zeiten getestet.

                        EDIT:
                        Da habe ich uns ja eine gemeine Falle gestellt........
                        Du hast Sie scheinbar gesehen^^.
                        Die eine Datei ist aus ´21 die andere jetzt aktuell ......

                        Vielen Dank für deine Hilfe.
                        Ist ziemlich cool geworden und habe es auch schon integriert.
                        Jetzt stelle Ich Irgendwann mal meine EPG Tabelle auf die Daten um ^^.

                        F Online
                        F Online
                        fastfoot
                        schrieb am zuletzt editiert von
                        #14

                        @david-g schön dass es jetzt klappt :-) Aber sag mal, braucht es wirklich nur 2-3 sec bis die Antwort kommt? Noch eine Frage, wie oft läuft dein Schedule, alle Minuten oder wie oft oder ist der Trigger ein Sender-Button in deiner VIS? Sobald ich das weiss kann ich später noch ein kleines Update posten

                        • Generieren der Daten nur zum Programmstart oder wenn zusätzlicher Parameter auf true
                          • Der Filter benötigt dann nur wenige ms und das Ergebnis ist sofort sichtbar
                        • Neue Daten können dann per Zeitplan einmal am Tag gelesen und aufbereitet werden
                          • Wie erhälst du neue Daten zur Zeit, automatisiert?

                        iobroker läuft unter Docker auf QNAP TS-451+
                        SkriptRecovery: https://forum.iobroker.net/post/930558

                        David G.D 1 Antwort Letzte Antwort
                        0
                        • F fastfoot

                          @david-g schön dass es jetzt klappt :-) Aber sag mal, braucht es wirklich nur 2-3 sec bis die Antwort kommt? Noch eine Frage, wie oft läuft dein Schedule, alle Minuten oder wie oft oder ist der Trigger ein Sender-Button in deiner VIS? Sobald ich das weiss kann ich später noch ein kleines Update posten

                          • Generieren der Daten nur zum Programmstart oder wenn zusätzlicher Parameter auf true
                            • Der Filter benötigt dann nur wenige ms und das Ergebnis ist sofort sichtbar
                          • Neue Daten können dann per Zeitplan einmal am Tag gelesen und aufbereitet werden
                            • Wie erhälst du neue Daten zur Zeit, automatisiert?
                          David G.D Online
                          David G.D Online
                          David G.
                          schrieb am zuletzt editiert von David G.
                          #15

                          @fastfoot

                          Jetzt eines klappt braucht er was länger.
                          Hab mal einen debug am Start gesetzt.

                          2022-04-20 19:07:25.070	error	script.js.Eigene_Scripte.Multimedia.Tv.Fernbedienung: ARD
                          
                          javascript.0
                          2022-04-20 19:07:25.070	error	script.js.Eigene_Scripte.Multimedia.Tv.Fernbedienung: Wed Apr 20 2022 19:45:00 GMT+0200 (Mitteleuropäische Sommerzeit)
                          
                          javascript.0
                          2022-04-20 19:07:25.070	error	script.js.Eigene_Scripte.Multimedia.Tv.Fernbedienung: Wed Apr 20 2022 18:50:00 GMT+0200 (Mitteleuropäische Sommerzeit)
                          
                          javascript.0
                          2022-04-20 19:07:25.069	error	script.js.Eigene_Scripte.Multimedia.Tv.Fernbedienung: Hubert ohne Staller
                          
                          javascript.0
                          2022-04-20 19:07:18.969	error	script.js.Eigene_Scripte.Multimedia.Tv.Fernbedienung: Start
                          

                          Ungefähr 7sek auf einem Raspberry 4.

                          Im Moment lade ich einmal pro Tag um 3 per wget die xml runter. So oft muss aber eigentlich nicht sein. Sind ja mehrere Tage drinnen.

                          Ausgeführt wird das Skript im Moment nur, wenn ich den Sender am TV umschalte. Der TV gibt mir aicu den entsprechenden Sender. Muss das nur noch mappen, weil die schreibweisen was unterschiedlich sind.
                          So ist es in der vis natürlich nur in dem Moment wo ich umschalte aktuell.
                          Mal sehen, ob ich das dann noch alle 5sek laufen lasse.

                          EDIT:
                          Mir ist grad noch eine Idee für den Trigger gekommen.
                          Werde vermutlich noch einen cron erstellen, der nach der Endzeit der Sendung +1min oder so das Script nochmal startet.
                          Hab ich zwar noch nie gemacht, aber ist bestimmt machbar 😁

                          EDIT 2:
                          Hab jetzt noch einen Trigger der am Ende einer Sendung den Text für die Vis aktualisiert.
                          Screenshot_20220420-214908_Chrome.jpg

                          EDIT 3:
                          Hab mir die js Funktion grad mal angeschaut und versucht das Bild der Sendung zu holen.
                          Leider kapiere ich das ganze (-d{2}) Zeug nicht. Hatte jetzt überall wo zb die Startzeit alles abgeändert übernommen.
                          Das aktuelle Senderlogo geht vermutlich nicht, da es ja in einem anderen "Bereich" steht?

                          Zeigt eure Lovelace-Visualisierung klick
                          (Auch ideal um sich Anregungen zu holen)

                          Meine Tabellen für eure Visualisierung klick

                          1 Antwort Letzte Antwort
                          0

                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                          Registrieren Anmelden
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          592

                          Online

                          32.8k

                          Benutzer

                          82.8k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe