Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Datenpunkt für Uhrzeit (Rolladensteuerung)

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Datenpunkt für Uhrzeit (Rolladensteuerung)

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

      Hallo,
      ich versuche mich gerade an meinem ersten Projekt mit IoBroker. Ich möchte gerne in VIS eine Anzeige erstellen, in der ich in mehreren Feldern Zeiten eintragen kann um damit die Rolläden abends runter und morgens hochfahren zu lassen. Dazu möchte ich ein Script mit blockly erstellen...
      Ich denke also, dass ich 2 Probleme habe:

      1. wie erstelle ich einen Datenpunkt in Objekten, in der ich eine Uhrzeit eintragen kann?

      ich glaube und hoffe, dass ich das in blockly noch selbst hinbekomme

      1. mit welchem widget kann ich am besten die Uhrzeit in VIS eintragen und dann in den oben erstellten Datenpunkt übertragen?

      Danke für eure tipps!

      Codierknecht 1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @cheffe last edited by

        @cheffe
        Ich würde ein "jqui - ctrl - Input Datetime" nehmen und als Datenpunkt einen einfachen String.
        Den kann man dann in Blockly in die passende Zeit wandeln.

        cd4b6bd4-2768-453c-8b27-1f28f9d339c3-image.png

        C 1 Reply Last reply Reply Quote 0
        • C
          cheffe @Codierknecht last edited by

          @codierknecht
          danke.
          ich glaube dass ich auf eine guten Weg bin...
          aber eine Frage zum Widget, vermutlich bin ich zu blöde: gibt es die möglichkeit das ding auch fest zu beschriften? z.b: "auf" und "ab"? damit ich beim ausrichten nicht immer das widget und ein textfeld zusammen verschieben muss?

          C 1 Reply Last reply Reply Quote 0
          • C
            cheffe @cheffe last edited by

            meint ihr, das script ist so in ordnung?
            071c18d2-c6eb-4bf9-8253-69c464932f53-image.png

            Codierknecht paul53 2 Replies Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @cheffe last edited by

              @cheffe

              meint ihr, das script ist so in ordnung?

              Auf keinen Fall!
              Das wird jede Minute ausgeführt und produziert unnötig Last.

              Reagiere auf die Änderung Deines Datenpunktes mit dem Zeitpunkt und erstelle damit ein passendes Schedule.

              damit ich beim ausrichten nicht immer das widget und ein textfeld zusammen verschieben muss?

              Du kannst einzelne Widgets auch gruppieren.
              cec51aa3-9b11-48ce-a10c-8d2902d47e29-grafik.png

              C 1 Reply Last reply Reply Quote 0
              • C
                cheffe @Codierknecht last edited by

                @codierknecht
                Ok, vielen Dank für den Hinweis. Leider hab ich noch garkeine Idee, wie Eibe Lösung aussehen könnte...
                Könnt ihr mir da einen Tipp geben?
                Ich weiß halt nicht, wie ich sonst die aktuelle Zeit mit der gespeicherten Zeit für die Rollläden abgleichen soll .

                Grüße und danke

                1 Reply Last reply Reply Quote 0
                • C
                  cheffe last edited by

                  Wäre hier jemand bereit mir kurz zu erklären, wie ich das Script richtig erstellen müsste?
                  Kurz zusammengefasst: ich möchte dass täglich zu einer Uhrzeit, die in einem Datensatz steht, die Rollläden runter und hoch fahren. Ich möchte es über einen datenpunkt machen, da ich die Uhrzeiten über meine Visualisierung ändern können möchte...

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

                    @cheffe sagte: wie ich das Script richtig erstellen müsste?

                    Siehe hier

                    Die Steuerung von "Open" und "Close" muss sicherlich mit wahr erfolgen.

                    1 Reply Last reply Reply Quote 0
                    • C
                      cheffe last edited by

                      Hallo zusammen,
                      ich glaube ich muss gestehen, dass ich mir das ganze doch einfacher und intuitiver vorgestellt habe.
                      ich hab bisher leider noch gar nicht verstanden was und warum ich jetzt erstellen muss.

                      Codierknecht paul53 2 Replies Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @cheffe last edited by Codierknecht

                        @cheffe
                        Ich bin mal so frei und kommentiere @paul53 's Vorschlag ein bisschen:
                        0bc044f9-fa57-49dd-ad94-b957e5a377b6-image.png

                        1. Ist der Aufruf der Blockly-Funktion "sp1" beim Start des Scriptes und sorgt dafür, dass das Ganze auch nach einem Neustart des Scriptes sauber funktioniert.

                        2. Ist ein Trigger, der auf die Änderung Deines Datenpunktes reagiert, in dem Du die Uhrzeit abgelegt hast. Also der DP, der mit Deinem Widget verbunden ist. Du must ja die gewünschte Uhrzeit irgendwo hinterlegen - z.B. 0_userdata.0.Test.uhrzeit

                        3. Ist eine Blockly-Funktion, die Dir den eigentliche Schedule erstellt. Dabei wird die als String hinterlegte Uhrzeit am Doppelpunkt getrennt, um Stunden und Minuten separat zur Verfügung zu haben. Mit diesen beiden Werten wird der CRON eingerichtet.
                          Innerhalb des CRON muss dann (4) die für Deine Hardware passende Aktion ausgeführt werden. Also "Rollo auf" oder "Rollo ab".
                          Bei meinen Homematic-Aktoren würde das dann etwa so aussehen:
                          8b7f2304-187b-4788-88cb-b9dc0032243e-image.png
                          Bei Deiner Hardware vermutlich etwas anders.

                        Alles in Allem sähe das für Deinen Anwendungsfall "Rollo runterfahren" dann etwa so aus:
                        5c6e967c-98ff-4613-9533-81b09f42995f-image.png

                        Deine Aufgabe wäre jetzt, das an Deinen speziellen Anwendungsfall anzupassen.
                        Wir zeigen Dir gerne den Weg - machen musst Du schon selbst.

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

                          @cheffe
                          Ergänzung zu Punkt 2. von @Codierknecht: Wichtig ist das Stoppen des laufenden Zeitplans.

                          @codierknecht sagte in Datenpunkt für Uhrzeit (Rolladensteuerung):

                          Anwendungsfall "Rollo runterfahren" dann etwa so aus:

                          Komma durch Doppelpunkt ersetzen!

                          Codierknecht 1 Reply Last reply Reply Quote 1
                          • Codierknecht
                            Codierknecht Developer Most Active @paul53 last edited by

                            Danke @paul53 für den Hinweis.
                            Habe dann der Funktion auch gleich noch einen passenderen Namen verpasst 😉

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

                              @cheffe sagte: das script ist so in ordnung?

                              Man kann es auch nach diesem Prinzip machen, muss allerdings die "aktuelle Zeit" in einen String "hh:mm" wandeln. Dieser String-Vergleich hat den Nachteil, dass die Stunden vor 10 Uhr mit einer führenden "0" eingegeben werden müssen.

                              Blockly_temp.JPG

                              @codierknecht sagte in Datenpunkt für Uhrzeit (Rolladensteuerung):

                              Das wird jede Minute ausgeführt und produziert unnötig Last.

                              Jede Minute ist nicht wirklich eine Last für die CPU.

                              Codierknecht 1 Reply Last reply Reply Quote 0
                              • Codierknecht
                                Codierknecht Developer Most Active @paul53 last edited by

                                @paul53 sagte in Datenpunkt für Uhrzeit (Rolladensteuerung):

                                Jede Minute ist nicht wirklich eine Last für die CPU.

                                Last natürlich nicht wirklich ... aber unsauber.
                                Ist halt irgendwie blöd, wenn eine Funktion 1.440 x am Tag aufgerufen wird, obwohl man weiß dass sie genau 2 x etwas auslösen soll.

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

                                  @codierknecht sagte: blöd, wenn eine Funktion 1.440 x am Tag aufgerufen wird, obwohl man weiß dass sie genau 2 x etwas auslösen soll.

                                  Man kann den Minuten-Trigger leicht um weitere Uhrzeiten erweitern.
                                  Bei Node.js ist das Problem nicht die CPU-Last, sondern ein hoher RAM-Bedarf bei komplexen Skripten.

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  635
                                  Online

                                  32.0k
                                  Users

                                  80.4k
                                  Topics

                                  1.3m
                                  Posts

                                  3
                                  15
                                  515
                                  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