Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Kalender html trennen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Kalender html trennen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Curtis777
      Curtis777 last edited by

      Liebe Gemeinde,

      Ich suche ein Skript oder einen anderen Weg um meine html-Wurst aus dem ICal Adapter zu zerpflücken.
      Also Jeder Tag einzeln soll in einen separaten Datenpunkt geschrieben werden.
      Meine Kompetenz ist leider nicht ausreichend dafür.

      Bin für Hilfe offen und auch bereit für eine funktionierende Lösung gerne ein bisschen was zu zahlen.
      Bin echt schon verzweifelt. 😞

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

        @curtis777

        Das kannst du dir alles aus dem Datenpunkt

        ical.0.data.table
        

        rausholen.

        Den kann man in Blockly mit einer Schleife verarbeiten. Würde auch von abraten für jeden Termin einen DP anzulegen. Das macht es (egal was du vor hast) doch recht kompliziert.

        EDIT
        Dieses Blockly liest Zb den Datenpunkt jeden Morgen aus und sendet mir die Termine für den Tag per Telegram. Da siehst du wie man das grob angehen kann.

        Screenshot_20230523_131912_Chrome.jpg

        <block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="Fm@jUZ-M6;1(zOnfdAH}" x="-62" y="4512">
          <field name="SCHEDULE">0 6 * * *</field>
          <statement name="STATEMENT">
            <block type="controls_if" id="tIT?J%bTRTpU?0Lzqh]w">
              <value name="IF0">
                <block type="logic_compare" id="x6n8/G_mK+Qm.O2=^G!d">
                  <field name="OP">GT</field>
                  <value name="A">
                    <block type="get_value" id="~G_c9liH+toMKIMBQ:-T">
                      <field name="ATTR">val</field>
                      <field name="OID">ical.1.data.count</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="math_number" id="NWC(]`)WJ52|A/2(1]IN">
                      <field name="NUM">0</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="variables_set" id="WnW%0CZUKo`s72;!O+%H">
                  <field name="VAR" id="b)m])isudJ]Z:`l}GrRL">anstehende_termine</field>
                  <value name="VALUE">
                    <block type="text" id="CIjlH6U+|o2jM:#LCHVe">
                      <field name="TEXT"></field>
                    </block>
                  </value>
                  <next>
                    <block type="variables_set" id="[tvY+!HWF5oO1R|[jpg{">
                      <field name="VAR" id="Nin}JW*y1Vp_$;},D.7Z">liste_term</field>
                      <value name="VALUE">
                        <block type="get_value" id="X$ahkgGp9+b!U*[Uj,En">
                          <field name="ATTR">val</field>
                          <field name="OID">ical.1.data.table</field>
                        </block>
                      </value>
                      <next>
                        <block type="controls_for" id="@e,^p}*`[)R{cL@Nb}Bg">
                          <field name="VAR" id="1]Y7`n@:hU1lh4_N4rup">j</field>
                          <value name="FROM">
                            <shadow type="math_number" id="KeRr-o`$mFs2)I1dLvHe">
                              <field name="NUM">1</field>
                            </shadow>
                          </value>
                          <value name="TO">
                            <shadow type="math_number">
                              <field name="NUM">10</field>
                            </shadow>
                            <block type="get_value" id="Z^Z[TP!Jz)xd#.c56FF4">
                              <field name="ATTR">val</field>
                              <field name="OID">ical.1.data.count</field>
                            </block>
                          </value>
                          <value name="BY">
                            <shadow type="math_number" id="u8aRqY#HE9_q{x`B6UH7">
                              <field name="NUM">1</field>
                            </shadow>
                          </value>
                          <statement name="DO">
                            <block type="variables_set" id="Mk^n~-kg9;-n3p-a^KS%">
                              <field name="VAR" id="mOjNB}.j)RR3:k$kM.L7">obj_termin</field>
                              <value name="VALUE">
                                <block type="lists_getIndex" id="$IW)KdG=yi%Zz=^lD@qw">
                                  <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="`8p.~sHoAh*m_/SjT([6">
                                      <field name="VAR" id="Nin}JW*y1Vp_$;},D.7Z">liste_term</field>
                                    </block>
                                  </value>
                                  <value name="AT">
                                    <block type="variables_get" id="GyTT/MHIN--+|56:!l7X">
                                      <field name="VAR" id="1]Y7`n@:hU1lh4_N4rup">j</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="variables_set" id="n!wT=:{$u9w34]B~D2]C">
                                  <field name="VAR" id="%9%0UV]g*=a-{TDxkJ2t">termin</field>
                                  <value name="VALUE">
                                    <block type="get_attr" id="*SnQ4z%O!(-)):N7M1Al">
                                      <value name="PATH">
                                        <shadow type="text" id="$,VU=KZt7T.Wk?!djrJ;">
                                          <field name="TEXT">event</field>
                                        </shadow>
                                      </value>
                                      <value name="OBJECT">
                                        <block type="variables_get" id="LysqbR6V:uT`HmT?sSdC">
                                          <field name="VAR" id="mOjNB}.j)RR3:k$kM.L7">obj_termin</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="variables_set" id="}Qb7_].O4PQnd6e48dDr">
                                      <field name="VAR" id="HIJ%UiQd%]r!t2:`_t9{">termin_datum</field>
                                      <value name="VALUE">
                                        <block type="get_attr" id="By*w(zcakDgc-7l(pslt">
                                          <value name="PATH">
                                            <shadow type="text" id="1r6N5Nxh9WXiugBWS.LA">
                                              <field name="TEXT">_date</field>
                                            </shadow>
                                          </value>
                                          <value name="OBJECT">
                                            <block type="variables_get" id="FIDh$.kd?2K?#4[^tI=C">
                                              <field name="VAR" id="mOjNB}.j)RR3:k$kM.L7">obj_termin</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="variables_set" id="R89wqk;#9i1mCfn6E516">
                                          <field name="VAR" id="wPep`OX`O^fEpJ%f1ug~">ort</field>
                                          <value name="VALUE">
                                            <block type="get_attr" id="pU4Sx,J(11$SyGHB_Jfg">
                                              <value name="PATH">
                                                <shadow type="text" id="!5RiB|91%0XUpHfHf2W1">
                                                  <field name="TEXT">location</field>
                                                </shadow>
                                              </value>
                                              <value name="OBJECT">
                                                <block type="variables_get" id="fBGM3ujWUo^1~j.(AB5a">
                                                  <field name="VAR" id="mOjNB}.j)RR3:k$kM.L7">obj_termin</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="controls_if" id="_pNnXthi6ndOHz%U=Nmp">
                                              <value name="IF0">
                                                <block type="logic_compare" id=";Xpep`R6jb%3wEI3d?f?">
                                                  <field name="OP">NEQ</field>
                                                  <value name="A">
                                                    <block type="variables_get" id="Z{5|;XeYX^p^!QZ|?|/H">
                                                      <field name="VAR" id="wPep`OX`O^fEpJ%f1ug~">ort</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="1CglnV[9=BEX,n`p0qP-">
                                                      <field name="TEXT"></field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <statement name="DO0">
                                                <block type="variables_set" id="2I~$h^@b[gPh(o=A;2Q-">
                                                  <field name="VAR" id=";b3g/W*e;GFH|}7)uzqt">text_ort</field>
                                                  <value name="VALUE">
                                                    <block type="text_join" id="JgDojxK-23b9uU#hn~Kl">
                                                      <mutation items="2"></mutation>
                                                      <value name="ADD0">
                                                        <block type="text" id="WB*Grnska{T8q:~CqOwX">
                                                          <field name="TEXT"> - </field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD1">
                                                        <block type="variables_get" id="{vem[b?y^Qz83140g?QD">
                                                          <field name="VAR" id="wPep`OX`O^fEpJ%f1ug~">ort</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </statement>
                                              <next>
                                                <block type="variables_set" id="$L2V`4Jic,?vy@_/91KP">
                                                  <field name="VAR" id="b)m])isudJ]Z:`l}GrRL">anstehende_termine</field>
                                                  <value name="VALUE">
                                                    <block type="text_join" id="M4.T[Y6:CJxNMHNJC/jK">
                                                      <mutation items="9"></mutation>
                                                      <value name="ADD0">
                                                        <block type="variables_get" id="kAK?J3f9bR_^`_umky14">
                                                          <field name="VAR" id="b)m])isudJ]Z:`l}GrRL">anstehende_termine</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD1">
                                                        <block type="text_newline" id="/il9_gMRmc{wqi75p6DU">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD2">
                                                        <block type="convert_from_date" id="lT1TZmBd:8j$!nfya{^J">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                          <field name="OPTION">hh:mm</field>
                                                          <value name="VALUE">
                                                            <block type="variables_get" id="z*yN9YoK*|@A(Klf{N,(">
                                                              <field name="VAR" id="HIJ%UiQd%]r!t2:`_t9{">termin_datum</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <value name="ADD3">
                                                        <block type="text" id="k}2!.6{oh3hFW+tK^-}3">
                                                          <field name="TEXT"> </field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD4">
                                                        <block type="variables_get" id="!1k{RhVpWxlh+q$s(6Xf">
                                                          <field name="VAR" id="%9%0UV]g*=a-{TDxkJ2t">termin</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD5">
                                                        <block type="variables_get" id="#E|{)3XPu1^Sny/9+`f$">
                                                          <field name="VAR" id=";b3g/W*e;GFH|}7)uzqt">text_ort</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </statement>
                          <next>
                            <block type="controls_if" id="3mOBtVm]lH2!X^k5y;={">
                              <mutation else="1"></mutation>
                              <value name="IF0">
                                <block type="logic_compare" id="oul}tWGY6ZxYKHMgzNkw">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="get_value" id="$[Yj[.0sr1a6B`w^UFV;">
                                      <field name="ATTR">val</field>
                                      <field name="OID">ical.1.data.count</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="math_number" id="x/wO:kcl3+1f^bF5Q@y:">
                                      <field name="NUM">1</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="variables_set" id="^gFCa|sLK,!EG3.[+:;u">
                                  <field name="VAR" id=")kOGElBJiWDGZET7n=3d">ueberschrift</field>
                                  <value name="VALUE">
                                    <block type="text" id="8QyGIoV(}FkAL3Vy%h4J">
                                      <field name="TEXT">Heute steht ein Termin an:</field>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                              <statement name="ELSE">
                                <block type="variables_set" id="!k0!th]~.?r6.W%^{x:W">
                                  <field name="VAR" id=")kOGElBJiWDGZET7n=3d">ueberschrift</field>
                                  <value name="VALUE">
                                    <block type="text_join" id="GV~^q~zxf14y1+J?u/w/">
                                      <mutation items="3"></mutation>
                                      <value name="ADD0">
                                        <block type="text" id="]hSj-RdJP_Td@(I)_`;$">
                                          <field name="TEXT">Heute stehen </field>
                                        </block>
                                      </value>
                                      <value name="ADD1">
                                        <block type="get_value" id="YFtE_aRF[WSkWxl/:]N.">
                                          <field name="ATTR">val</field>
                                          <field name="OID">ical.1.data.count</field>
                                        </block>
                                      </value>
                                      <value name="ADD2">
                                        <block type="text" id="k$m=#udr24wB?y6MH7f,">
                                          <field name="TEXT"> Termine an. </field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                              <next>
                                <block type="telegram" id="f0qV=6l:}{harC^J2X/n">
                                  <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">
                                      <field name="TEXT">text</field>
                                    </shadow>
                                    <block type="text_join" id="-o)f_A*a7wZlooVYhVx?">
                                      <mutation items="3"></mutation>
                                      <value name="ADD0">
                                        <block type="variables_get" id="(M|?)}wY**X*nQ:ic;t/">
                                          <field name="VAR" id=")kOGElBJiWDGZET7n=3d">ueberschrift</field>
                                        </block>
                                      </value>
                                      <value name="ADD1">
                                        <block type="text_newline" id="?#zktoMd+~W~toZ8p([5">
                                          <field name="Type">\n</field>
                                        </block>
                                      </value>
                                      <value name="ADD2">
                                        <block type="variables_get" id="!60erbnj6Bm$l5QLQFag">
                                          <field name="VAR" id="b)m])isudJ]Z:`l}GrRL">anstehende_termine</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
        </block>
        
        Curtis777 2 Replies Last reply Reply Quote 0
        • Curtis777
          Curtis777 @David G. last edited by

          @david-g
          ok, ich glaube der Ansatz ist schon mal in die richtige Richtung.
          Allerdings sehe ich aus deinem Skript nicht heraus wie er nach dem heutigen Tag sucht...

          Ich brauche ja nicht jeden Tag des Monats.
          Ich hätte nur gern ein Skript welches mir die nächsten 10 Tage in einzelne Datenpunkte packt.
          Ich würde die dann einzeln anzeigen lassen.
          heute: Termin XY
          morgen: Termin Z
          .....

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

            @curtis777

            Die Schleife arbeitet die Termine vom ersten Termin aus ab.
            In der Schleife zahle ich von 0 bis "counts of Events today". Ist auch ein DP vom Adapter.

            So zählt er nur die Termine von heute.

            Du kannst natürlich auch das Datum auswerten und prüfen ob es in den nächsten 10 Tagen liegt.

            Für was brauchst du jeden Termin in einem einzelnen DP? Können ja mal mehr mal weniger sein.

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

              @david-g
              Kurzstory:
              Habe ein altes Android Tablet, das kann aber Javascript nicht wirklich anzeigen in der fully app oder wallpanel.
              Der Kalender wird im VIS Editor angezeigt und in jedem Browser aber auf dem Endgerät nicht in den apps

              Somit ist das ein Workaround um mir den Kalender ansehnlich einzublenden.

              so sollte er aussehen: bleibt allerdings leer als wäre nichts.
              f990f1e6-73cd-4697-9429-a0eea2b3ba33-image.png
              und die Lösung jetzt ist mehr als hässlich:
              26f48bb0-e559-44df-9c11-536c5b472338-image.png

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

                @curtis777

                Okay, bei vis bin ich raus.
                Ich würde mir vermutlich mit HTML eine Tabelle basteln die ansehnlich ist.
                Ist nicht sooo komplex.

                Ich hab es im Moment so, ist allerdings auch für das Smartphone optimiert und deshalb sehr einfach gehalten.

                Screenshot_20230523_142156_Fully Kiosk Browser.jpg

                Curtis777 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @Curtis777 last edited by

                  @curtis777 evtl kannst du damit was anfangen ?

                  https://forum.iobroker.net/post/553690

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

                    @david-g Die Tabelle ist fast ok nur ist bei meinen Terminen sehr unübersichtlich,
                    Hätte die gerne im Querformat.

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

                      @david-g Hab mir das jetzt genau angesehen.....
                      also dein Blockly, kannst du mich unterstützen das so umzubauen das das skript täglich nachsieht und die Termine von heute in ein Datenpunkt schreibt und dann den von morgen ?
                      Dann kann ich damit weiterarbeiten.

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

                        @curtis777

                        Muss ich am Wochenende mal nach schauen.
                        Die Frage ist ja auch, wie die Termine in den DP sollen. Kommagetrennt, mit html formatierung, als json etc.

                        Im Moment hab ich wenig Zeit. Hab grad im Moment zwischen Tür und Angel was eigenes kleines getestet wo ich Tage dran war. Hier 3min, dann nochmal 10min etc .....

                        Meine Tabelle kann man sich natürlich auch im querformat generieren lassen.....

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

                          @david-g Bei mir kommen 3 Kalender zusammen.
                          Alle Farbcodiert.
                          Sieht momentan So in der VIS aus.
                          MAn sieht allerdings nicht sofort wann welches Event ist daher eher eine Provisorische Lösung.
                          f9a8cd27-41cb-43f6-8bf0-2e4a9395312e-image.png

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          884
                          Online

                          31.6k
                          Users

                          79.6k
                          Topics

                          1.3m
                          Posts

                          3
                          11
                          346
                          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