Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [GELÖST] iCal bei js table Zeit auslesen

    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

    [GELÖST] iCal bei js table Zeit auslesen

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

      Hallo zusammen,
      ich zerbreche mir mithilfe der vorhandenen Einträge des Forums (z.B. diesem hier: [Link Text]https://forum.iobroker.net/topic/58802/gelöst-ical-auslesen-spezial) den Kopf, wie ich folgende Automatisierung hinbekommen könnte:

      Die Rolläden in der Schlafstube sollen sich bei einer Spätschicht, also einem Dienstende nach 23 Uhr (da ich ja erst noch nach hause kommen muss), zu einer bestimmten Zeit hochfahren. Das wird jetzt schon über einen Datenpunkt gesteuert, den ich in der Vis nur wahr oder falsch schalte. Ich würde dafür gerne für "heute" im iCal Adapter die Dienstende - Zeit auslesen, und wenn diese über 23 Uhr ist, diesen DP automatisch auf Wahr setzen.

      Ich habe mir für meinen Dienstplan als Lokführer eine eigene Instanz im iCal Adapter erstellt. Diese beinhaltet meine Freien Tage, Dienste mit Dienstnummer und Anfangs- und Endzeit, sowie Urlaubstage. Der Punkt "table" im iCal Adapter spuckt mir dabei folgende Daten aus:

      [{"date":"Morgen  ","event":"Ruhe 48","_class":"ical_Dienstplan ical_tomorrow","_date":"2022-10-26T22:00:00.000Z","_end":"2022-10-27T22:00:00.000Z","_section":" ","_IDID":"oqnms58obju2n5fe83f5llb6h4@google.com","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Dienstplan","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2022-10-26T22:00:00.000Z","datetype":"date","end":"2022-10-27T22:00:00.000Z","dtstamp":"2022-10-26T08:30:27.000Z","uid":"oqnms58obju2n5fe83f5llb6h4@google.com","created":"2022-01-03T10:05:02.000Z","description":" ","lastmodified":"2022-01-03T10:05:03.000Z","location":"","sequence":"0","status":"CONFIRMED","summary":"Ruhe 48","transparency":"TRANSPARENT","method":"PUBLISH"}},{"date":"Übermorgen 04:09-12:59","event":"1115","_class":"ical_Dienstplan ical_dayafter","_date":"2022-10-28T02:09:00.000Z","_end":"2022-10-28T10:59:00.000Z","_section":"","_IDID":"mp98qrlceg1o83dfhoh7rkc3mfjbrj20ajme0b6l2d7euvfjji7j2tj8uf@google.com","_allDay":false,"_private":false,"_rule":" ","location":"Falkenstein","_calName":"Dienstplan","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2022-10-28T02:09:00.000Z","datetype":"date-time","end":"2022-10-28T10:59:00.000Z","dtstamp":"2022-10-26T08:30:27.000Z","uid":"mp98qrlceg1o83dfhoh7rkc3mfjbrj20ajme0b6l2d7euvfjji7j2tj8uf@google.com","created":"2022-09-18T08:03:14.000Z","description":"","lastmodified":"2022-09-18T08:03:15.000Z","location":"Falkenstein","sequence":"0","status":"CONFIRMED","summary":"1115","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"In 3 Tagen 06:24-15:05","event":"1126","_class":"ical_Dienstplan ical_3days","_date":"2022-10-29T04:24:00.000Z","_end":"2022-10-29T13:05:00.000Z","_section":"","_IDID":"6sr62d1ic4qj4bb26oo30b9kc4o32bb16hgj2b9g60o3co9j64s68o9icc@google.com","_allDay":false,"_private":false,"_rule":" rrule ","location":"Falkenstein","_calName":"Dienstplan","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2022-10-29T04:24:00.000Z","datetype":"date-time","end":"2022-10-29T13:05:00.000Z","rrule":{"_cache":{"all":false,"before":[],"after":[],"between":[]},"origOptions":{"tzid":"Europe/Berlin","dtstart":"2022-10-29T04:24:00.000Z","freq":2,"wkst":{"weekday":0},"until":"2022-12-11T22:30:00.000Z","interval":15,"byweekday":[{"weekday":5}]},"options":{"freq":2,"dtstart":"2022-10-29T04:24:00.000Z","interval":15,"wkst":0,"count":null,"until":"2022-12-11T22:30:00.000Z","tzid":"Europe/Berlin","bysetpos":null,"bymonth":null,"bymonthday":[],"bynmonthday":[],"byyearday":null,"byweekno":null,"byweekday":[5],"bynweekday":null,"byhour":[4],"byminute":[24],"bysecond":[0],"byeaster":null}},"dtstamp":"2022-10-26T08:30:27.000Z","uid":"6sr62d1ic4qj4bb26oo30b9kc4o32bb16hgj2b9g60o3co9j64s68o9icc@google.com","created":"2022-09-18T08:04:18.000Z","description":"","lastmodified":"2022-09-18T08:04:18.000Z","location":"Falkenstein","sequence":"0","status":"CONFIRMED","summary":"1126","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"In 4 Tagen 05:21-13:02","event":"1107","_class":"ical_Dienstplan ical_4days","_date":"2022-10-30T04:21:00.000Z","_end":"2022-10-30T12:02:00.000Z","_section":"","_IDID":"1da92dlpdsjcepd2vqs5h9kj36hi8gjvl1vhp6tmihbi95mc0smr29084u@google.com","_allDay":false,"_private":false,"_rule":" ","location":"Falkenstein","_calName":"Dienstplan","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2022-10-30T04:21:00.000Z","datetype":"date-time","end":"2022-10-30T12:02:00.000Z","dtstamp":"2022-10-26T08:30:27.000Z","uid":"1da92dlpdsjcepd2vqs5h9kj36hi8gjvl1vhp6tmihbi95mc0smr29084u@google.com","created":"2022-09-18T08:04:39.000Z","description":"","lastmodified":"2022-09-18T08:04:39.000Z","location":"Falkenstein","sequence":"0","status":"CONFIRMED","summary":"1107","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"In 5 Tagen  ","event":"Urlaub","_class":"ical_Dienstplan ical_5days","_date":"2022-10-30T23:00:00.000Z","_end":"2022-11-04T23:00:00.000Z","_section":" ","_IDID":"n8hnbimj72tclvmjbaa223k9n4@google.com","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Dienstplan","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2022-10-30T23:00:00.000Z","datetype":"date","end":"2022-11-04T23:00:00.000Z","dtstamp":"2022-10-26T08:30:27.000Z","uid":"n8hnbimj72tclvmjbaa223k9n4@google.com","created":"2022-01-03T10:05:02.000Z","description":" ","lastmodified":"2022-01-03T10:05:03.000Z","location":"","sequence":"0","status":"CONFIRMED","summary":"Urlaub","transparency":"TRANSPARENT","method":"PUBLISH"}}]
      

      Kann mir bitte jemand von euch auf die Sprünge helfen, wie ich mittels Blockly vom ersten Event "date" nur die Endzeit auswerten kann? Irgendwie stelle ich mich wohl zu blöd an...

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Gezi70 last edited by

        @gezi70 sagte: mittels Blockly vom ersten Event "date" nur die Endzeit auswerten kann?

        Bild_2022-10-26_124521951.png

        G 1 Reply Last reply Reply Quote 0
        • G
          Gezi70 @paul53 last edited by

          @paul53 wenn ich das richtig sehe, erkennt der iCal die Daten als "Zulu", also in MESZ -2h. Brauche ich zum Umrechnen noch eine Formel, oder erkennt das das System von selbst?

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Gezi70 last edited by

            @gezi70 sagte: erkennt das das System von selbst?

            Die Konvertierung in ein String-Format berücksichtigt automatisch die Lokalzeit.

            Bild_2022-10-26_203455070.png

            G 1 Reply Last reply Reply Quote 0
            • G
              Gezi70 @paul53 last edited by

              @paul53 Ich muss dich nochmal nerven...

              Folgenden "Versuchsaufbau" habe ich erstmal erstellt. Anstatt die Rolladen, soll probehalber lieber erstmal eine Pushnachricht über das Funktionieren Bescheid geben. Das nur nebenbei.
              Ich sehe aber mit der Rum- und Numformatiererei nicht durch. Das geht schon damit los, dass ich nicht finde, womit ich Zeiten "zwischen" ... und ... Uhr abgreifen kann. Kannst du mir bitte noch etwas auf die Sprünge helfen?
              Die Datenpunkte "endzeit_dienst" und "Dienst_heute" habe ich erstellt. Ersterer ist ein String, letzterer boolean. Die anderen sind Variablen in Blockly...

              27.png

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Gezi70 last edited by paul53

                @gezi70
                Das Attribut muss "_end" sein, nicht "-end".

                @gezi70 sagte in iCal bei js table Zeit auslesen:

                Zeiten "zwischen" ... und ... Uhr

                Den Datenpunktwert im Format "hh:mm" in Stunden als Zahl wandeln:

                Bild_2022-10-26_215408084.png

                G 2 Replies Last reply Reply Quote 0
                • G
                  Gezi70 @paul53 last edited by

                  @paul53 hab erstmal vielen Dank, ich habe es nachgebastelt und harre der Dinge, die da in den nächsten Wochen kommen.
                  Bloß gut es gibt das Forum... 😁

                  1 Reply Last reply Reply Quote 0
                  • G
                    Gezi70 @paul53 last edited by

                    @paul53 in meinem Versuchsaufbau habe ich heute 12:59 Uhr Mittag Feierabend. Das Blockly schreibt mir (wahrscheinlich aufgerundet?) 1:00 Uhr in den Datenpunkt. So denkt das System es ist Nacht und es hätte ausgelöst. Wo muss ich denn noch etwas einbauen, um dem System zu sagen, dass es 24h und nicht 12h rechnen muss?

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Gezi70 last edited by paul53

                      @gezi70 sagte: Das Blockly schreibt mir (wahrscheinlich aufgerundet?) 1:00 Uhr in den Datenpunkt.

                      Sicher? Welches Blockly?

                      Besser ist eine Prüfung mittels Zeitfunktion, wobei bei Zeitspannen über Tageswechsel "nicht zwischen" verwendet werden muss:

                      Bild_2022-10-28_114820599.png

                      G 1 Reply Last reply Reply Quote 0
                      • G
                        Gezi70 @paul53 last edited by Gezi70

                        @paul53 ich hab's! Den Baustein "nach JSON" wollte er nicht und brachte einen Fehler. Somit wurde die Uhrzeit nicht in den DP eingetragen.

                        Mit dieser Konfiguration macht es jetzt zumindest was es soll:
                        Screenshot (29).png

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        747
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        2
                        10
                        325
                        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