Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Js-Funktion in Blockly erweitern

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Js-Funktion in Blockly erweitern

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @David G. last edited by

      @david-g sagte in Js-Funktion in Blockly erweitern:

      @liv-in-sky
      Bei der Hilfe warte ich gerne 👍

      Die Daten kommen von https://epg.best
      Sind wirklich sehr umfangreich, wäre einen Adapter wert. Die meisten sind vermutlich aber nicht bereit 99ct im Monat auszugeben.

      würde da schon darüber nachdenken, die 12€ pro jahr - mache aber keine adapter

      wenn ich zeit habe, muss ich mir das mal näher ansehen - seit hoerzu die seite geändert hat, habe ich keine tv anzeige mehr

      1 Reply Last reply Reply Quote 0
      • David G.
        David G. last edited by

        @liv-in-sky

        Manchen Usern schon. Hatte da bei dem WhatsApp Ding mal was mitbekommen. Oder jedes Jahr bei iobroker.pro.....

        Die Beschreibung klappt.
        Das Bild möchte aber nicht...

        javascript.0
        2023-04-30 10:54:12.055	error	at script.js.Eigene_Scripte.Tvtest:72:12
        
        javascript.0
        2023-04-30 10:54:12.055	error	at processTicksAndRejections (node:internal/process/task_queues:95:5)
        
        javascript.0
        2023-04-30 10:54:12.055	error	at parser (script.js.Eigene_Scripte.Tvtest:32:23)
        
        javascript.0
        2023-04-30 10:54:12.054	error	at Array.forEach (<anonymous>)
        
        javascript.0
        2023-04-30 10:54:12.054	error	at script.js.Eigene_Scripte.Tvtest:42:27
        
        javascript.0
        2023-04-30 10:54:12.054	error	script.js.Eigene_Scripte.Tvtest: TypeError: Cannot read properties of undefined (reading '0')
        
        liv-in-sky 1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @David G. last edited by

          @david-g hast du beide varianten getestet ?

          David G. 1 Reply Last reply Reply Quote 0
          • David G.
            David G. @liv-in-sky last edited by David G.

            @liv-in-sky

            Jepp, grade im Moment. Hatte nur die erste gesehen.
            Beide nicht

            Ganz am Anfang des epg werden die Senderlogos definiert. Die nennen sich auch icon. Kann das daran liegen?

            liv-in-sky 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @David G. last edited by liv-in-sky

              @david-g

              seltsam:

              das ist der input

              
                "icon": [
                  {
                    "$": {
                      "src": "https://staticqbr-at-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/g187_h10_aa.jpg"
                    }
                  }
                ]
              
              

              das sollte klappen

              p.icon[0]['$']['src']
              p.icon[0]['$'].src
              

              ist der fehler schon in der richtigen zeile

              @david-g sagte in Js-Funktion in Blockly erweitern:

              Ganz am Anfang des epg werden die Senderlogos definiert. Die nennen sich auch icon. Kann das daran liegen?

              glaub ich nicht - man gibt ja den pfad an

              David G. 1 Reply Last reply Reply Quote 0
              • David G.
                David G. @liv-in-sky last edited by David G.

                @liv-in-sky

                Möchte auch nicht klappen.

                Hier mal mein komplettes Blockly (Noch 1,2 deaktivierte Sachen drinnen) und die XML mit den Daten:

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable id="v9(OKj}zllQ44H{)Lc{N">reihenfolgeArray</variable>
                   <variable id="mCYwI42|ncHnAW9vEKvY">jsonObject</variable>
                   <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="0d$,^d=DyR?A@dc^$2k{">liste</variable>
                   <variable type="cron" id="schedule1">schedule1</variable>
                   <variable id="K,2TEeTH[~P0w=~$MuBY">i</variable>
                   <variable id="%mKBe`ebTtbysu/M*J*3">obj</variable>
                   <variable id="]BTNK|@|Qn4t?IQzR(sc">tag</variable>
                   <variable id="C$xy/!eJr45/6sjkYui}">stunde</variable>
                   <variable id="5[]lC%HZ%ms68yMuwW!1">minute</variable>
                   <variable id="4SkzLXPg%ikY[vz0m00?">Sekunde</variable>
                 </variables>
                 <block type="procedures_defcustomreturn" id="%~/MYnto3+Qsd;Wd9kpJ" disabled="true" x="162" y="288">
                   <mutation statements="false">
                     <arg name="reihenfolgeArray" varid="v9(OKj}zllQ44H{)Lc{N"></arg>
                     <arg name="jsonObject" varid="mCYwI42|ncHnAW9vEKvY"></arg>
                   </mutation>
                   <field name="NAME">etwas tun</field>
                   <field name="SCRIPT">Y29uc3QganNvbkFycmF5ID0ganNvbk9iamVjdDsNCg0KY29uc3QgU2VuZGVyUmVpaGVuZm9sZ2UgPSByZWloZW5mb2xnZUFycmF5OyAvLyBSZWloZW5mb2xnZSBkZXIgTmFtZW4gaW0gQXJyYXkNCg0KDQovLyBGdW5rdGlvbiwgZGllIGRhcyBKU09OLUFycmF5IHNvcnRpZXJ0IHVuZCBncnVwcGllcnQNCmZ1bmN0aW9uIHNvcnRpZXJlVW5kR3J1cHBpZXJlQXJyYXkoYXJyYXksIFNlbmRlclJlaWhlbmZvbGdlKSB7DQogIGNvbnN0IGdydXBwaWVydGVPYmpla3RlID0ge307DQogIFNlbmRlclJlaWhlbmZvbGdlLmZvckVhY2goU2VuZGVyID0+IGdydXBwaWVydGVPYmpla3RlW1NlbmRlcl0gPSBbXSk7DQoNCiAgLy8gT2JqZWt0ZSBuYWNoIFNlbmRlcm4gZ3J1cHBpZXJlbiB1bmQgUmVpaGVuZm9sZ2UgYmVpYmVoYWx0ZW4NCiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykgew0KICAgIGNvbnN0IG9iamVrdCA9IGFycmF5W2ldOw0KICAgIGNvbnN0IFNlbmRlciA9IG9iamVrdC5TZW5kZXI7DQogICAgaWYgKGdydXBwaWVydGVPYmpla3RlLmhhc093blByb3BlcnR5KFNlbmRlcikpIHsNCiAgICAgIGdydXBwaWVydGVPYmpla3RlW1NlbmRlcl0ucHVzaChvYmpla3QpOw0KICAgIH0gZWxzZSB7DQogICAgICBncnVwcGllcnRlT2JqZWt0ZVtTZW5kZXJdID0gW29iamVrdF07DQogICAgfQ0KICB9DQoNCiAgLy8gRmVobGVuZGUgU2VuZGVyIGFucyBFbmRlIGRlcyBncnVwcGllcnRlbiBBcnJheXMgaGluenVmw7xnZW4NCiAgT2JqZWN0LmtleXMoZ3J1cHBpZXJ0ZU9iamVrdGUpLmZvckVhY2goU2VuZGVyID0+IHsNCiAgICBpZiAoIVNlbmRlclJlaWhlbmZvbGdlLmluY2x1ZGVzKFNlbmRlcikpIHsNCiAgICAgIFNlbmRlclJlaWhlbmZvbGdlLnB1c2goU2VuZGVyKTsNCiAgICB9DQogIH0pOw0KDQogIHJldHVybiBTZW5kZXJSZWloZW5mb2xnZS5mbGF0TWFwKFNlbmRlciA9PiBncnVwcGllcnRlT2JqZWt0ZVtTZW5kZXJdKTsNCn0NCg0KLy8gU29ydGllcnRlcyB1bmQgZ3J1cHBpZXJ0ZXMgQXJyYXkgYXVzZ2ViZW4NCnJldHVybiBzb3J0aWVyZVVuZEdydXBwaWVyZUFycmF5KGpzb25BcnJheSwgU2VuZGVyUmVpaGVuZm9sZ2UpOw0KDQo=</field>
                   <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                 </block>
                 <block type="variables_set" id="g#6eJHHD$|.rT!EB3kr?" disabled="true" x="163" y="363">
                   <field name="VAR" id="mCYwI42|ncHnAW9vEKvY">jsonObject</field>
                   <value name="VALUE">
                     <block type="convert_json2object" id="O?9o(;wlZ=N9K@oF0}[g">
                       <value name="VALUE">
                         <block type="get_value" id="s_6sYSHlZ1g_Fl]^Mu8~">
                           <field name="ATTR">val</field>
                           <field name="OID">0_userdata.0.Tima</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <next>
                     <block type="update" id=";=M@ex`Bc+/L,[V3a/U|" disabled="true">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">0_userdata.0.string</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="procedures_callcustomreturn" id="2$?TGN/x#|j}{sH%8PGe" disabled="true">
                           <mutation name="etwas tun">
                             <arg name="reihenfolgeArray"></arg>
                             <arg name="jsonObject"></arg>
                           </mutation>
                           <value name="ARG0">
                             <block type="lists_create_with" id="+aT9=v$yidtG{aAH-:e_">
                               <mutation items="3"></mutation>
                               <value name="ADD0">
                                 <block type="text" id="SCr/fl/y~U-PLgz1(Q5#">
                                   <field name="TEXT">ARD</field>
                                 </block>
                               </value>
                               <value name="ADD1">
                                 <block type="text" id="d^a_#@[Zu#}b/VH1x7C#">
                                   <field name="TEXT">3sat</field>
                                 </block>
                               </value>
                               <value name="ADD2">
                                 <block type="text" id="9*Ru]3hX$_a%s3qZSG,l">
                                   <field name="TEXT">WDR HD Köln</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="ARG1">
                             <block type="variables_get" id="F@EIt97*,6^a[t52:87Q">
                               <field name="VAR" id="mCYwI42|ncHnAW9vEKvY">jsonObject</field>
                             </block>
                           </value>
                         </block>
                       </value>
                     </block>
                   </next>
                 </block>
                 <block type="procedures_defcustomreturn" id="Fdn;N_DDcOcQm^j|,Ft!" x="-687" y="463">
                   <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">LyoqDQogKiBad2VjazogICBlcnN0ZWxsdCBUYWJlbGxlKGpzb24pIGF1cyBYTUwgVFYtRGF0ZW4gdm9uIGVwZy5iZXN0DQogKiBEYXR1bTogICAyMC4wNC4yMDIyDQogKiBBdXRvcjogICBAZmFzdGZvb3QNCiAqIEZvcnVtOiAgIGh0dHBzOi8vZm9ydW0uaW9icm9rZXIubmV0L3Bvc3QvNzkyODY1DQogKi8NCmNvbnN0IGZzID0gcmVxdWlyZSgnZnMnKTsNCmNvbnN0IHhtbDJqcyA9IHJlcXVpcmUoJ3htbDJqcycpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZWludHJhZ2VuIGluIEFkYXB0ZXItSW5zdGFueg0KY29uc3QgcGFyc2VyID0gbmV3IHhtbDJqcy5QYXJzZXIoKTsNCi8vY29uc3QgU2VuZGVyID0gJzNzYXQuZGUnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2VuZGVyZmlsdGVyDQpjb25zdCBub3cgPSBEYXR1bTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFplaXRmaWx0ZXINCg0KZnVuY3Rpb24gcGFyc2VBc3luYygpIHsNCiAgICBsZXQgZGF0YSA9IGZzLnJlYWRGaWxlU3luYygnL29wdC9pb2Jyb2tlci9ub2RlX21vZHVsZXMvaW9icm9rZXIuamF2YXNjcmlwdC9FUEcvZXBnLnhtbCcpOw0KICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7DQogICAgICAgIHBhcnNlci5wYXJzZVN0cmluZyhkYXRhLCBmdW5jdGlvbiAoZXJyLCByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChlcnIpIHsNCiAgICAgICAgICAgICAgICBsb2coJ0ZlaGxlciAnICsgZXJyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTsNCiAgICAgICAgfSkNCiAgICB9KTsNCn0NCg0KY29uc3QgdWViZXJzaWNodCA9IFtdOw0KbGV0IGpzb24gPSBhd2FpdCBwYXJzZUFzeW5jKCk7DQovL2ZzLndyaXRlRmlsZSgnL29wdC9pb2Jyb2tlci9Eb3dubG9hZHMvdHYuanNvbicsIEpTT04uc3RyaW5naWZ5KGpzb24pLCBlID0+IHsgfSkNCmpzb24udHYucHJvZ3JhbW1lLmZvckVhY2gocCA9PiB7DQogICAgbGV0IHN0YXJ0ID0gcFsnJCddLnN0YXJ0Lm1hdGNoKC8oXGR7NH0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KShcZHsyfSlccyhcK1xkezJ9KS8pOw0KICAgIGxldCBzdG9wID0gcFsnJCddLnN0b3AubWF0Y2goLyhcZHs0fSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KVxzKFwrXGR7Mn0pLyk7DQogICAgc3RhcnQgPSBuZXcgRGF0ZShzdGFydFsxXSArICctJyArIHN0YXJ0WzJdICsgJy0nICsgc3RhcnRbM10gKyAnICcgKyBzdGFydFs0XSArICc6JyArIHN0YXJ0WzVdICsgJzonICsgc3RhcnRbNl0gKyAnIFVUQycgKyBzdGFydFs3XSkNCiAgICBzdG9wID0gbmV3IERhdGUoc3RvcFsxXSArICctJyArIHN0b3BbMl0gKyAnLScgKyBzdG9wWzNdICsgJyAnICsgc3RvcFs0XSArICc6JyArIHN0b3BbNV0gKyAnOicgKyBzdG9wWzZdICsgJyBVVEMnICsgc3RvcFs3XSkNCiAgICB1ZWJlcnNpY2h0LnB1c2goew0KICAgICAgICAiU2VuZGVyIjogcFsnJCddLmNoYW5uZWwucmVwbGFjZSgnLmRlJywnJyksDQogICAgICAgICJTdGFydCI6IHN0YXJ0LA0KICAgICAgICAiRW5kZSI6IHN0b3AsIA0KICAgICAgICAiQmVzY2hyZWlidW5nIjogcC5kZXNjWzBdWydfJ10sDQogICAgICAgICJCaWxkIjogcC5pY29uWzBdWyckJ10uc3JjLCANCiAgICAgICAgIlRpdGVsIjogcC50aXRsZVswXVsnXyddDQogICAgfSkNCn0pDQoNCi8vYWxzIFRhYmVsbGUgZsO8ciBWSVMgc3BlaWNoZXJuDQpzZXRTdGF0ZSgnMF91c2VyZGF0YS4wLlRpbWEnLCBKU09OLnN0cmluZ2lmeSh1ZWJlcnNpY2h0KSk7DQoNCi8vRmlsdGVybiBuYWNoIFNlbmRlciB1bmQgWmVpdA0KbGV0IGpldHp0ID0gdWViZXJzaWNodC5maWx0ZXIocCA9PiB7DQogICAgcmV0dXJuIHAuU2VuZGVyID09PSBTZW5kZXIucmVwbGFjZSgnLmRlJywnJykgJiYgcC5TdGFydCA8PSBub3cgJiYgcC5FbmRlID4gbm93Ow0KfSkNCmlmIChqZXR6dC5sZW5ndGggPiAwKQ0KICAgIHJldHVybiBqZXR6dFswXTsNCmVsc2UNCiAgICByZXR1cm4geyAiU2VuZGVyIjogbnVsbCwgIlN0YXJ0IjogbnVsbCwgIkVuZGUiOiBudWxsLCAiVGl0ZWwiOiAiS2VpbiBsYXVmZW5kZXMgUHJvZ3JhbW0gZ2VmdW5kZW4hIiB9DQoNCg==</field>
                   <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                 </block>
                 <block type="variables_set" id="VRvfLzS84=#:PDPbveDw" x="-688" y="513">
                   <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="text" id="qr^7fW:^y{2nvKp[0E(I">
                           <field name="TEXT">3sat</field>
                         </block>
                       </value>
                       <value name="ARG1">
                         <block type="time_get" id="XnksAB9aj1r3u~aB$;SZ">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                           <field name="OPTION">object</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <next>
                     <block type="debug" id="v*60KZc^%8TejL%5EOKD" inline="true" disabled="true">
                       <field name="Severity">log</field>
                       <value name="TEXT">
                         <shadow type="text" id="O(hrX9Bzoa8jvS;*uDu`">
                           <field name="TEXT">test</field>
                         </shadow>
                         <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="|^H{k(vCq(fppoQU5+ql" inline="true" disabled="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" disabled="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" disabled="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>
                                   <next>
                                     <block type="debug" id="hL/5V*PXx{*UZ(lQmLNC" inline="true">
                                       <field name="Severity">error</field>
                                       <value name="TEXT">
                                         <shadow type="text">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="get_attr" id="9t~RXlM5trgA6:+Ix*2s">
                                           <value name="PATH">
                                             <shadow type="text" id="wl~=eY+vzwZ7Rz*TYcH6">
                                               <field name="TEXT">Bild</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <block type="variables_get" id="Nx#QGy0Peb:Wwd%p2yD_">
                                               <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="debug" id="$h~Qjs|,jz|X%perIDw+" inline="true" disabled="true">
                                           <field name="Severity">log</field>
                                           <value name="TEXT">
                                             <shadow type="text">
                                               <field name="TEXT">test</field>
                                             </shadow>
                                             <block type="get_attr" id="M:$4G?n2Bbi#^#vP5YIG">
                                               <value name="PATH">
                                                 <shadow type="text" id="+94+q2YiK+(V%g57r8MR">
                                                   <field name="TEXT">Beschreibung</field>
                                                 </shadow>
                                               </value>
                                               <value name="OBJECT">
                                                 <block type="variables_get" id="Z9Klz%mT5AdnBE?Wc@oG">
                                                   <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>
                 <block type="variables_set" id="JhGiCDiP%))kB**i45dI" disabled="true" x="-713" y="987">
                   <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                   <value name="VALUE">
                     <block type="procedures_callcustomreturn" id="HdO3%^21G};.gBF84dZm">
                       <mutation name="parser">
                         <arg name="Sender"></arg>
                         <arg name="Datum"></arg>
                       </mutation>
                       <value name="ARG0">
                         <block type="text" id="SFQYiA*Etj3*P+Oom?Mb">
                           <field name="TEXT">3sat</field>
                         </block>
                       </value>
                       <value name="ARG1">
                         <block type="math_arithmetic" id="A/]2?hjl3C#S2(D([x:4">
                           <field name="OP">ADD</field>
                           <value name="A">
                             <shadow type="math_number" id="51JB`mc%HBtejDU]iV=(">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="convert_from_date" id="hSJISuB1X9:#]$r}}8ri">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                               <field name="OPTION">object</field>
                               <value name="VALUE">
                                 <block type="get_attr" id="RSqKVn2cTjjs][;RVTRh">
                                   <value name="PATH">
                                     <shadow type="text" id="^QYL4q|,7RX@T:NE/IVy">
                                       <field name="TEXT">Ende</field>
                                     </shadow>
                                   </value>
                                   <value name="OBJECT">
                                     <block type="variables_get" id="_8E/+d@UbVrJt6a}1QH`">
                                       <field name="VAR" id="/_EVt8i8cL:*ALcrdhfG">ergebnis</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="B">
                             <shadow type="math_number" id="VK;*grc,l/stb{#u+gMF">
                               <field name="NUM">1</field>
                             </shadow>
                           </value>
                         </block>
                       </value>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id="[zE_$ax,#;9JPZg^epT=" disabled="true">
                       <field name="VAR" id="0d$,^d=DyR?A@dc^$2k{">liste</field>
                       <value name="VALUE">
                         <block type="convert_json2object" id="=NG=AS+^ao9R$ui:l!D{">
                           <value name="VALUE">
                             <block type="get_value" id=",h=-dP8V]j{7N@}|5l};">
                               <field name="ATTR">val</field>
                               <field name="OID">0_userdata.0.Tima</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="controls_for" id="b?=qr!yRv^maLx3l,{#U" disabled="true">
                           <field name="VAR" id="K,2TEeTH[~P0w=~$MuBY">i</field>
                           <value name="FROM">
                             <shadow type="math_number" id="T4cAK#:`p$gXx%bhE#;.">
                               <field name="NUM">1</field>
                             </shadow>
                           </value>
                           <value name="TO">
                             <shadow type="math_number" id="#kk)QaM-cV*0nt3jOsF(">
                               <field name="NUM">10</field>
                             </shadow>
                             <block type="lists_length" id="(?[0hPgY24r8{%V1!kv=">
                               <value name="VALUE">
                                 <block type="variables_get" id="YNKTx7Abm13thozR0iH]">
                                   <field name="VAR" id="0d$,^d=DyR?A@dc^$2k{">liste</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="BY">
                             <shadow type="math_number" id="s92l69rZS*o+d2hZU-V_">
                               <field name="NUM">1</field>
                             </shadow>
                           </value>
                           <statement name="DO">
                             <block type="variables_set" id="AxPs$IKZWxd_{,+]%+w1">
                               <field name="VAR" id="%mKBe`ebTtbysu/M*J*3">obj</field>
                               <value name="VALUE">
                                 <block type="lists_getIndex" id="FUL=Z{um:qCTw#He*V#A">
                                   <mutation statement="false" at="true"></mutation>
                                   <field name="MODE">GET</field>
                                   <field name="WHERE">FROM_START</field>
                                   <value name="VALUE">
                                     <block type="variables_get" id="3r-^f+PTu_|T3D?pf=5j">
                                       <field name="VAR" id="0d$,^d=DyR?A@dc^$2k{">liste</field>
                                     </block>
                                   </value>
                                   <value name="AT">
                                     <block type="variables_get" id="Z`#VG0:a~y|U$:seh2:x">
                                       <field name="VAR" id="K,2TEeTH[~P0w=~$MuBY">i</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="debug" id="8Le[z~qykcl`7LX,5P=k">
                                   <field name="Severity">error</field>
                                   <value name="TEXT">
                                     <shadow type="text" id=";8a~3L{-qW_o8`[F*`#Q">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="get_attr" id="8-xanJ.a0r@?2EP2%pSJ">
                                       <value name="PATH">
                                         <shadow type="text" id="M+r-:[+r#v(jU]_lx^@j">
                                           <field name="TEXT">Titel</field>
                                         </shadow>
                                       </value>
                                       <value name="OBJECT">
                                         <block type="variables_get" id="k)CIG)uyctw6ukhDINfl">
                                           <field name="VAR" id="%mKBe`ebTtbysu/M*J*3">obj</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </next>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
                 <block type="procedures_defnoreturn" id="_K1,e%A~,QHL7lR#;o,s" x="-887" y="2563">
                   <field name="NAME">Trigger Sendungsende</field>
                   <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                   <statement name="STACK">
                     <block type="schedule_create" id="QGtmiElp64([(sHKXWv:">
                       <field name="NAME">schedule1</field>
                       <value name="SCHEDULE">
                         <shadow type="field_cron" id="@/1k$CRLUHPtv##08jMX">
                           <field name="CRON">* * * * *</field>
                         </shadow>
                         <block type="cron_builder" id="UY%@(09Qwv{vj!BPBrxs">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" seconds="true" as_line="false"></mutation>
                           <field name="LINE">FALSE</field>
                           <field name="WITH_SECONDS">TRUE</field>
                           <value name="DOW">
                             <shadow type="text" id="[p7qcK,9R@Ie+gNx*HwP">
                               <field name="TEXT">*</field>
                             </shadow>
                           </value>
                           <value name="MONTHS">
                             <shadow type="text" id="c-E:pW=0e$hU=F$uxup:">
                               <field name="TEXT">*</field>
                             </shadow>
                           </value>
                           <value name="DAYS">
                             <shadow type="text" id="4W?UAkC.SA4ePGO-@6/X">
                               <field name="TEXT">*</field>
                             </shadow>
                             <block type="variables_get" id="E)=9Z`KP|*LsG#.^nL)9">
                               <field name="VAR" id="]BTNK|@|Qn4t?IQzR(sc">tag</field>
                             </block>
                           </value>
                           <value name="HOURS">
                             <shadow type="text" id="4*0xY*@8IHVnaYwUbc`|">
                               <field name="TEXT">*</field>
                             </shadow>
                             <block type="variables_get" id=":LG`=1zx[IbT.|,OJd0J">
                               <field name="VAR" id="C$xy/!eJr45/6sjkYui}">stunde</field>
                             </block>
                           </value>
                           <value name="MINUTES">
                             <shadow type="text" id="tMBjmn.$N60lMAdHZMH!">
                               <field name="TEXT">*</field>
                             </shadow>
                             <block type="variables_get" id="t#zVW!hY:_|G~%kD^59H">
                               <field name="VAR" id="5[]lC%HZ%ms68yMuwW!1">minute</field>
                             </block>
                           </value>
                           <value name="SECONDS">
                             <shadow type="text" id="~$$4kcM}|wtsJYVl6@?C">
                               <field name="TEXT">*</field>
                             </shadow>
                             <block type="variables_get" id="PB/+=Y%%w+r1_lSua1Ti">
                               <field name="VAR" id="4SkzLXPg%ikY[vz0m00?">Sekunde</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="STATEMENT">
                         <block type="telegram" id=";A+/8EBF-8GChF`F:E.K">
                           <field name="INSTANCE">.0</field>
                           <field name="LOG"></field>
                           <field name="SILENT">FALSE</field>
                           <field name="PARSEMODE">default</field>
                           <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                           <value name="MESSAGE">
                             <shadow type="text" id="iXqgP=p+slnKP,FFJ:[Q">
                               <field name="TEXT">ende</field>
                             </shadow>
                           </value>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
                </xml> 
                

                https://we.tl/t-jR5Y8rTofH

                liv-in-sky 2 Replies Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @David G. last edited by

                  @david-g

                  bin dem fehler auf der spur

                  1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @David G. last edited by

                    @david-g

                    füge das mal in die function ein:

                        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])
                        let myIcon;
                        !p.hasOwnProperty("icon") ? myIcon="" : myIcon=p.icon[0]['$']['src']
                        uebersicht.push({
                            "Sender": p['$'].channel.replace('.de',''),
                            "Start": start,
                            "Ende": stop, 
                            "Beschreibung": p.desc[0]['_'],
                            "Bild": myIcon,
                            "Titel": p.title[0]['_']
                        })
                    })
                    
                    

                    zeile 3
                    zeile4
                    und zeile 10 muss bei dir rein

                    David G. 1 Reply Last reply Reply Quote 0
                    • David G.
                      David G. @liv-in-sky last edited by

                      @liv-in-sky

                      Jo, das klappt.
                      Dank dir.

                      Weiß noch nicht, wie die Tabelle aussehen wird.
                      Deshalb man zur Vorsicht ^^.
                      Bekommt man das Senderlogo auch raus?
                      Das seht ja in einem anderen "Block" (ka wie man das nennt).

                      liv-in-sky 2 Replies Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @David G. last edited by

                        @david-g

                        ja - da müßte man mit einer anderen schleife draufkommen und das dann speichern in einem array- dann könnte man das gaze zusammensortieren - hängt davon ab, wie man das ganze dann als tabelle rausgibt

                        David G. 1 Reply Last reply Reply Quote 0
                        • David G.
                          David G. @liv-in-sky last edited by

                          @liv-in-sky

                          Das weiß ich noch nicht 😅
                          Bei der Tabelle nach Sender vermutlich nur einmal in der Überschrift. Da kann man es auch händisch einpflegen ^^.
                          Bei der Tabelle nach Zeit vor jeder Sendung anstatt den Sendernamen.

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @David G. last edited by liv-in-sky

                            @david-g

                            so hat man ein json array für die sender und deren icons - nur so als beispiel

                            ab zeile 21

                            
                            const uebersicht = [];
                            let json = await parseAsync();
                            //fs.writeFile('/opt/iobroker/Downloads/tv.json', JSON.stringify(json), e => { })
                            json.tv.programme.forEach(p => { //log(JSON.stringify(p)); log(JSON.stringify(p.icon[0]['$']['src'])); 
                                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])
                                let myIcon;
                                !p.hasOwnProperty("icon") ? myIcon="" : myIcon=p.icon[0]['$']['src']
                                uebersicht.push({
                                    "Sender": p['$'].channel.replace('.de',''),
                                    "Start": start,
                                    "Ende": stop, 
                                    "Beschreibung": p.desc[0]['_'],
                                    "Bild": myIcon,
                                    "Titel": p.title[0]['_']
                                })
                            })
                            const senderIcons=[];
                            json.tv.channel.forEach(p => { //log(p)
                             senderIcons.push({
                                   "Sender": p['$'].id.replace('.de',''),
                                   "Bild": p['icon'][0]['$'].src
                                    
                                })
                                log(JSON.stringify(senderIcons))
                            })
                            
                            
                            
                            

                            log:

                            [{"Sender":"123TV","Bild":"https://static.epg.best/de/123TV.de.png"},{"Sender":"3sat","Bild":"https://static.epg.best/de/3sat.de.png"},{"Sender":"ARD","Bild":"https://static.epg.best/de/ARD.de.png"},{"Sender":"CNN.uk","Bild":"https://static.epg.best/gb/CNN.uk.png"},{"Sender":"DisneyChannel","Bild":"https://static.epg.best/de/DisneyChannel.de.png"},{"Sender":"DMax","Bild":"https://static.epg.best/de/DMax.de.png"},{"Sender":"Euronews","Bild":"https://static.epg.best/de/Euronews.de.png"},{"Sender":"HR","Bild":"https://static.epg.best/de/HR.de.png"},{"Sender":"HSE24","Bild":"https://static.epg.best/de/HSE24.de.png"},{"Sender":"Kabel1","Bild":"https://static.epg.best/de/Kabel1.de.png"},{"Sender":"KabelEinsDoku","Bild":"https://static.epg.best/de/KabelEinsDoku.de.png"},{"Sender":"Kika","Bild":"https://static.epg.best/de/Kika.de.png"},{"Sender":"MDRSachsen","Bild":"https://static.epg.best/de/MDRSachsen.de.png"},{"Sender":"Nickelodeon","Bild":"https://static.epg.best/de/Nickelodeon.de.png"},{"Sender":"Phoenix","Bild":"https://static.epg.best/de/Phoenix.de.png"},{"Sender":"Pro7","Bild":"https://static.epg.best/de/Pro7.de.png"},{"Sender":"ProSiebenMaxx","Bild":"https://static.epg.best/de/ProSiebenMaxx.de.png"},{"Sender":"QVC","Bild":"https://static.epg.best/de/QVC.de.png"},{"Sender":"RTL","Bild":"https://static.epg.best/de/RTL.de.png"},{"Sender":"RTL2","Bild":"https://static.epg.best/de/RTL2.de.png"},{"Sender":"RTLNitro","Bild":"https://static.epg.best/de/RTLNitro.de.png"},{"Sender":"Sat1","Bild":"https://static.epg.best/de/Sat1.de.png"},{"Sender":"Sat1Gold","Bild":"https://static.epg.best/de/Sat1Gold.de.png"},{"Sender":"SuperRTL","Bild":"https://static.epg.best/de/SuperRTL.de.png"},{"Sender":"Tagesschau24","Bild":"https://static.epg.best/de/Tagesschau24.de.png"},{"Sender":"Vox","Bild":"https://static.epg.best/de/Vox.de.png"},{"Sender":"WDR","Bild":"https://static.epg.best/de/WDR.de.png"},{"Sender":"ZDF","Bild":"https://static.epg.best/de/ZDF.de.png"},{"Sender":"ZDFneo","Bild":"https://static.epg.best/de/ZDFneo.de.png"}]
                            
                            David G. 1 Reply Last reply Reply Quote 0
                            • David G.
                              David G. @liv-in-sky last edited by

                              @liv-in-sky

                              Da kann man dann gut drauf zurückgreifen, wenn man sich das in eine Variable schreibt.

                              Komfortabler wäre es natürlich, wenn man es bei Beschreibung Bild etc mit reinbekommt. Aber das stelle ich mir auch schwierig vor.

                              liv-in-sky 1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @David G. last edited by

                                @david-g

                                mit dem channel bild im json

                                
                                const uebersicht = [];
                                let json = await parseAsync();
                                //fs.writeFile('/opt/iobroker/Downloads/tv.json', JSON.stringify(json), e => { })
                                json.tv.programme.forEach(p => { //log(JSON.stringify(p)); log(JSON.stringify(p.icon[0]['$']['src'])); 
                                    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])
                                    let myIcon;
                                    !p.hasOwnProperty("icon") ? myIcon="" : myIcon=p.icon[0]['$']['src']
                                    uebersicht.push({
                                        "Sender": p['$'].channel.replace('.de',''),
                                        "Start": start,
                                        "Ende": stop, 
                                        "Beschreibung": p.desc[0]['_'],
                                        "Bild": myIcon,
                                        "Titel": p.title[0]['_'],
                                        "ChannelIcon": ""
                                    })
                                })
                                const senderIcons=[];
                                json.tv.channel.forEach(p => { //log(p)
                                 senderIcons.push({
                                       "Sender": p['$'].id.replace('.de',''),
                                       "Bild": p['icon'][0]['$'].src
                                        
                                    })
                                    log(JSON.stringify(senderIcons))
                                })
                                
                                for(let u=0;u<uebersicht.length;u++) {
                                  for (let i=0; i<senderIcons.length;i++){ if (uebersicht[u].Sender==senderIcons[i].Sender) uebersicht[u].ChannelIcon=senderIcons[i].Bild
                                
                                                                         }
                                }
                                
                                
                                

                                dazu kommt:
                                zeile 19
                                zeile32 - 36

                                Output:

                                
                                  {
                                    "Sender": "123TV",
                                    "Start": "2023-04-28T04:00:00.000Z",
                                    "Ende": "2023-04-28T05:00:00.000Z",
                                    "Beschreibung": "Sendung.",
                                    "Bild": "https://staticqbr-at-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p14664969_i_h8_ab.jpg",
                                    "Titel": "FashionNews",
                                    "ChannelIcon": "https://static.epg.best/de/123TV.de.png"
                                  },
                                  {
                                    "Sender": "3sat",
                                    "Start": "2023-04-28T05:01:00.000Z",
                                    "Ende": "2023-04-28T05:30:00.000Z",
                                    "Beschreibung": "Deutschland 2023Fische umsiedeln - Wegen anhaltender Dürre und fallenden Pegelständen werden in Spanien jetzt Fische umgesiedelt.Fiebrige Seen - Der Sauerstoffgehalt in den Süßwasserseen nimmt rapide ab - um ein Vielfaches schneller als in den Ozeanen. Den Rückgang führen die Forschenden vor allem auf den Klimawandel zurück. Sie sehen die Artenvielfalt im Süßwasser und die Qualität des Trinkwassers gefährdet.Klimafreundlicher Beton - Beton trägt bis zu zehn Prozent der weltweiten CO2-Emissionen bei. In Zukunft wird der Bedarf noch mehr steigen, denn weltweit läuft ein Bau-Boom. Neuartige Betonmischungen sollen den Beton klimafreundlicher machen - unter anderem durch einen geringeren Zementanteil im Beton.Pestizide beeinträchtigen Insekten - Das Unkrautvernichtungsmittel Glyphosat halten Landwirte nach wie vor für unverzichtbar. Bienen nehmen das Gift auf und so gelangt es auch in den Honig. Aber auch den Insekten selbst schaden die Ackergifte wie Herbizide, Fungizide und Neonicotinoide. Auch wenn sie nicht direkt sterben, ist es doch schädlicher als gedacht.#gen - Die Rubrik hashtag# nimmt sich Begriffe und Gegenstände aus dem täglichen Leben vor und zeigt, was alles in ihnen steckt. Mit überraschenden Erkenntnissen.Moderation: Yve Fehring.",
                                    "Bild": "http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/2/3/p23538014_i_h9_ab.jpg",
                                    "Titel": "nano",
                                    "ChannelIcon": "https://static.epg.best/de/3sat.de.png"
                                  },
                                  {
                                    "Sender": "3sat",
                                    "Start": "2023-04-28T05:30:00.000Z",
                                    "Ende": "2023-04-28T06:00:00.000Z",
                                    "Beschreibung": "\"Alpenpanorama\" zeigt über zahlreiche Web- und Panoramakameras täglich Livebilder aus ausgewählten Urlaubsorten.Die Sendung informiert auch über Temperatur- und Wetterbedingungen vor Ort.",
                                    "Bild": "http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/2/3/p23537981_i_h9_aa.jpg",
                                    "Titel": "Alpenpanorama",
                                    "ChannelIcon": "https://static.epg.best/de/3sat.de.png"
                                  },
                                  {
                                    "Sender": "3sat",
                                    "Start": "2023-04-28T06:00:00.000Z",
                                    "Ende": "2023-04-28T06:08:00.000Z",
                                    "Beschreibung": "Die \"Früh-ZIB\" informiert von Montag bis Freitag über das aktuelle Geschehen aus Innen- und Außenpolitik, Wirtschaft, Wissenschaft, Kultur und Chronik.Reportagen und Hintergrundberichte vertiefen das Verständnis der aktuellen Ereignisse.",
                                    "Bild": "http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/2/3/p23416154_i_h9_ab.jpg",
                                    "Titel": "ZIB",
                                    "ChannelIcon": "https://static.epg.best/de/3sat.de.png"
                                  },
                                  {
                                    "Sender": "3sat",
                                    "Start": "2023-04-28T06:08:00.000Z",
                                    "Ende": "2023-04-28T06:30:00.000Z",
                                    "Beschreibung": "\"Alpenpanorama\" zeigt über zahlreiche Web- und Panoramakameras täglich Livebilder aus ausgewählten Urlaubsorten.Die Sendung informiert auch über Temperatur- und Wetterbedingungen vor Ort.",
                                    "Bild": "http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/2/3/p23537981_i_h9_aa.jpg",
                                    "Titel": "Alpenpanorama",
                                    "ChannelIcon": "https://static.epg.best/de/3sat.de.png"
                                  },
                                  {
                                    "Sender": "3sat",
                                    "Start": "2023-04-28T06:30:00.000Z",
                                    "Ende": "2023-04-28T06:33:00.000Z",
                                    "Beschreibung": "Die \"Früh-ZIB\" informiert von Montag bis Freitag über das aktuelle Geschehen aus Innen- und Außenpolitik, Wirtschaft, Wissenschaft, Kultur und Chronik.Reportagen und Hintergrundberichte vertiefen das Verständnis der aktuellen Ereignisse.",
                                    "Bild": "http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/2/3/p23416154_i_h9_ab.jpg",
                                    "Titel": "ZIB",
                                    "ChannelIcon": "https://static.epg.best/de/3sat.de.png"
                                  },
                                  {
                                    "Sender": "3sat",
                                    "Start": "2023-04-28T06:33:00.000Z",
                                    "Ende": "2023-04-28T07:00:00.000Z",
                                    "Beschreibung": "\"Alpenpanorama\" zeigt über zahlreiche Web- und Panoramakameras täglich Livebilder aus ausgewählten Urlaubsorten.Die Sendung informiert auch über Temperatur- und Wetterbedingungen vor Ort.",
                                    "Bild": "http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/2/3/p23537981_i_h9_aa.jpg",
                                    "Titel": "Alpenpanorama",
                                    "ChannelIcon": "https://static.epg.best/de/3sat.de.png"
                                  },
                                

                                jetzt muss ich formel 1 kucken 🙂

                                David G. 1 Reply Last reply Reply Quote 1
                                • David G.
                                  David G. @liv-in-sky last edited by

                                  @liv-in-sky

                                  Nur zu, vielen lieben Dank.
                                  Bist für heute meine Pole ^^

                                  David G. 1 Reply Last reply Reply Quote 0
                                  • David G.
                                    David G. @David G. last edited by David G.

                                    @david-g

                                    Hab mir die XML eben nochmal angesehen uns bemerkt, dass es den display_name gibt in dem Bereich wo auch die Senderlogos sind.

                                    Kann man die auch einbauen?
                                    Im Moment Mappe ich die Namen von Best.epg im Blockly damit diese zu den Namen aus dem TV passen und ich das aktuell laufende Programm auswerten kann.

                                    Über Display_name könnte man das schon über das Portal von Best.epg managen.

                                    Dürfte auch den aktuellen Sender ersetzen, oder noch zusätzlich.

                                    P. S.
                                    Ich hoffe, dass Rennen ist nach deinen Wünschen ausgegangen.
                                    Ich habe nur Rennen zwischen meinen Kids am Fahrrad bestaunt.
                                    Da kab es doch einige Kollisionen und ich durfte als Safetycar fungieren 😅

                                    EDIT
                                    Die Abfrage müsstdann ja auch über den display_name ausgeführt werden....
                                    Und diesen auch mit ausgeben.

                                    1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @David G. last edited by

                                      @david-g

                                      mit display-name

                                      zeile hinzufügen:
                                      zeile 11
                                      zeile 19
                                      zeile 27

                                          let myIcon;
                                          !p.hasOwnProperty("icon") ? myIcon="" : myIcon=p.icon[0]['$']['src']
                                          uebersicht.push({
                                              "Sender": p['$'].channel.replace('.de',''),
                                              "Start": start,
                                              "Ende": stop, 
                                              "Beschreibung": p.desc[0]['_'],
                                              "Bild": myIcon,
                                              "Titel": p.title[0]['_'],
                                              "ChannelIcon": "",
                                              "DisplayName": ""
                                          })
                                      })
                                      const senderIcons=[];
                                      json.tv.channel.forEach(p => { //log(p)
                                       senderIcons.push({
                                             "Sender": p['$'].id.replace('.de',''),
                                             "Bild": p['icon'][0]['$'].src,
                                             "DisplayName": p['display-name'][0]
                                          })
                                         // log(JSON.stringify(senderIcons))
                                      })
                                      
                                      for(let u=0;u<uebersicht.length;u++) {
                                        for (let i=0; i<senderIcons.length;i++){ if (uebersicht[u].Sender==senderIcons[i].Sender) 
                                                                                                        {uebersicht[u].ChannelIcon=senderIcons[i].Bild;
                                                                                                         uebersicht[u].DisplayName=senderIcons[i].DisplayName;
                                                                               }}
                                      }
                                      
                                      David G. 2 Replies Last reply Reply Quote 0
                                      • David G.
                                        David G. @liv-in-sky last edited by David G.

                                        Gelöscht

                                        1 Reply Last reply Reply Quote 0
                                        • David G.
                                          David G. @liv-in-sky last edited by David G.

                                          @liv-in-sky

                                          Jetzt habe ich mich mal soweit an die Tabellen begeben.

                                          Jetzt fehlt noch der letzte Feinschliff.

                                          Bekommt man technisch folgendes umgesetzt?

                                          • Die Uhrzeiten von Zulu nach UTC umrechnen
                                          • Dein Script zum sortieren der Senter mit integrierten https://forum.iobroker.net/topic/65024/gel%C3%B6st-json-sortieren-nicht-alphabetisch

                                          Den Teil zum Suchen was zu einer speziellen Zeit läuft habe ich bei mir entfernt.

                                          liv-in-sky 1 Reply Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @David G. last edited by liv-in-sky

                                            @david-g sagte in Js-Funktion in Blockly erweitern:

                                            Die Uhrzeiten von Zulu nach UTC umrechnen

                                            hatte mich schon gewundert - wenn du das in einer tabelle anzeigen willst, wäre es nicht besser, nur die anfangs- und endzeit zu haben - das datum ist ja klar definiert - heute. aber das datum könnte man auch in einem extra schlüssel speichern

                                            stimmt nicht - muss mir das nochmal in ruhe ansehen

                                            David G. 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            786
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            43
                                            1218
                                            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