Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Einfaches Rollanden zu Script zu Uhrzeit X

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Einfaches Rollanden zu Script zu Uhrzeit X

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      FuXXz2 @DJMarc75 last edited by

      @djmarc75 Das sieht aufgeräumter aus, stimmt.
      Wenn die Lösung bei dir bereits läuft, versuche ich das mal.

      Welches Format hat denn der DP? Einfach Number? ODer benötigt dieser CRON Regel Baustein ein bestimmtes Format?

      DJMarc75 1 Reply Last reply Reply Quote 0
      • DJMarc75
        DJMarc75 @FuXXz2 last edited by DJMarc75

        @fuxxz2 number ist schon richtig.

        edit: bedenke aber das 24h-Prinzip ... 7=19, 8=20, usw.

        F 1 Reply Last reply Reply Quote 1
        • F
          FuXXz2 @DJMarc75 last edited by

          @djmarc75 Ok danke, ich versuche es mal

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

            @djmarc75 sagte: hab ich diese Lösung:

            So wird eine Änderung der Uhrzeit im Datenpunkt nur bei Skriptstart übernommen. Außerdem wird in der ausgewählten Stunde jede Minute getriggert.
            Besser so:

            Bild_2022-12-17_141416604.png

            F 1 Reply Last reply Reply Quote 1
            • F
              FuXXz2 last edited by

              Ich dachte eigentlich, es wäre das einfachste der Welt.
              Auch wenn es hier nicht ganz hin passt, aber ich bekomme den Button gerade in iQontrol nicht hin.
              Also mein Datenpunkt ist ja wie folgt:

              {
                "common": {
                  "name": "Uhrzeit",
                  "desc": "Manuell erzeugt",
                  "role": "text",
                  "type": "number",
                  "read": true,
                  "write": true,
                  "def": 0
                },
                "type": "state",
                "native": {},
                "_id": "0_userdata.0.Virtuelle_Geräte.Uhrzeit_Rolladen.Uhrzeit",
                "acl": {
                  "object": 1636,
                  "state": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                },
                "from": "system.adapter.admin.0",
                "user": "system.user.admin",
                "ts": 1671378385589
              }
              

              Dazu habe ich einen Knopf mit additional Contrtols
              Screenshot 2022-12-18 165232.png
              Screenshot 2022-12-18 165337.png

              Wenn ich nun aber etwas drücke, passiert nichts, der Datenpunkt ändert sich nicht

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

                @paul53 Kannst du mir das Script bitte etwas erklären? Ich möchte es bitte verstehen, kenne mich aber ansonsten mit Blockly nicht gut aus.

                Mein Skript oben sollte ja auch gehen oder? Das verstehe ich zumindest so. Das Skript wird zu jeder eingestellten Cron Zeit ausgeführt und er prüft dann einfach den Datenpunkt Uhrzeit. Ist dieser vorhanden bzw. entsprechend der Uhrzeit, springt er zu "mache" Trigger ist jeweils der Cron um 7, 8, 9 Uhr, ohne den Datenpunkt Uhrzeit auf Änderungen zu prüfen. Was ja auch nicht nötig ist.

                Das Skript von DJMarc nimmt also immer nur den Wert aus dem Datenpunkt, den er zum Zeitpunkt des Skript Startes hat? Habe ich das richtig verstanden?

                Bei deinem Skript startet er mit der Funktion sp1 und schreibt dort den aktuellen Wert von Uhrzeit rein. Zudem aktualisiert der "Falls block" jede Änderung am Uhrzeit Datenpunkt und schreibt diesen in die "h" Variable.

                Ware das hier nicht genauso?
                Screenshot 2022-12-18 173253.png

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

                  @fuxxz2 sagte: Ware das hier nicht genauso?

                  Nein. Bei Änderung der Uhrzeit wird nur der laufende Zeitplan gestoppt aber kein neuer Zeitplan mit der geänderten Uhrzeit gestartet. Außerdem enthält die Variable Stunde bei Skriptstart undefined.

                  @fuxxz2 sagte in Einfaches Rollanden zu Script zu Uhrzeit X:

                  Mein Skript oben sollte ja auch gehen oder?

                  Ja. Verbraucht aber einige Ressourcen.

                  @fuxxz2 sagte in Einfaches Rollanden zu Script zu Uhrzeit X:

                  Kannst du mir das Script bitte etwas erklären?

                  Der Zeitplan muss bei Skriptstart mit dem Wert aus dem Datenpunkt "Uhrzeit" gestartet werden. Wenn sich die Uhrzeit ändert, muss der laufende Zeitplan gestoppt und einer neuer Zeitplan mit der geänderten Uhrzeit gestartet werden.
                  Da Blockly nur die einmalige Verwendung einer Schedule-Variablen erlaubt, muss der Zeitplan in einer Funktion ausgeführt werden.

                  1 Reply Last reply Reply Quote 1
                  • F
                    FuXXz2 last edited by

                    Wie kann ich denn am besten vorgehen, wenn ich Zeiten wie 7:30 benötige?

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

                      @fuxxz2 sagte: wenn ich Zeiten wie 7:30 benötige?

                      Bild_2022-12-19_231131486.png

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

                        @paul53
                        Also den Datenpunkt Uhrzeit dann in dem Format 8:30 füllen?
                        Screenshot 2022-12-20 103354.png

                        debug Output sagt er dann

                        	2022-12-20 10:34:34.634	info	script.js.Aktiv.automatik.Rolladen1: ['8','30']
                        
                        N 1 Reply Last reply Reply Quote 0
                        • N
                          Nordischerjung @FuXXz2 last edited by

                          @fuxxz2 Ja und dann ist "in der Liste nimm das 1. Element die "8" und das 2. die "30"

                          mach mal so

                          2a732a27-0045-4c76-87d5-178037f77304-image.png

                          F 1 Reply Last reply Reply Quote 0
                          • F
                            FuXXz2 @Nordischerjung last edited by

                            @nordischerjung ah ok, dann kommt

                            javascript.0 2022-12-20 10:56:07.507	info	script.js.Aktiv.automatik.Rolladen1: 30
                            javascript.0 2022-12-20 10:56:07.506	info	script.js.Aktiv.automatik.Rolladen1: 7
                            
                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            852
                            Online

                            32.0k
                            Users

                            80.5k
                            Topics

                            1.3m
                            Posts

                            4
                            14
                            380
                            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