Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Licht automatisch abschalten

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Licht automatisch abschalten

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

      Hallo. Ich habe ein Problem mit der automatischen Lichtabschaltung. @paul53 hat mir vor einem Jahr mit dem nachfolgenden Script geholfen.
      Das funktioniert soweit auch ganz gut. Wenn das licht aufgedreht wird (am Schalter oder über die VIS, dann wird es nach 8 Minuten ausgeschaltet. Wenn man kurz hintereinander ein-aus-ein schaltet, dann blinkt das Licht einmal auf und es wird auf Dauerlicht gestellt. Das passt alles so.
      Nur: Wenn das Licht über ein anderes Script eingeschaltet wird (z.B. als Folge nach dem Öffnen des Garagentores), dann funktioniert das automatische Abschalten nach 8 Minuten nicht mehr.

      Wie muss ich das Script abändern, damit die derzeitige Funktionalität bleibt und zusätzlich auch das Abschalten funktioniert wenn das Licht über ein Script aufgedreht wird. Steh irgendwie auf der Leitung.

      Hier das Script: (hab zum Testen statt 8 Minuten nur 15 Sek. eingetragen).

      bb845b99-86db-48ad-abd8-a83f529e5d66-image.png

      ich hab es jetzt mal so gelöst, dass ich ein "sonst fals" eingefügt habe und dann einen zweiten ausführen in block gemacht habe:

      d8fe079b-bf48-4daf-a311-68c2a1b6d5d6-image.png

      es funktioniert so zwar, aber ist das richtig oder geht das auch anders/einfacher?

      DANKE.

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

        @manfredhi sagte: das Abschalten funktioniert wenn das Licht über ein Script aufgedreht wird.

        Ersetze "Ursprung != "system.adapter.javascript.0" durch diese Oder-Verknüpfung:

        Blockly_temp.JPG

        und ersetze "Skriptname" durch den Namen des Skriptes.

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

          @paul53 sagte in Licht automatisch abschalten:

          Ersetze "Ursprung != "system.adapter.javascript.0" durch diese Oder-Verknüpfung:

          Dann geht es aber nur mit diesem einen Skript dass ich dort anführe, oder ?

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

            @manfredhi sagte: Dann geht es aber nur mit diesem einen Skript dass ich dort anführe, oder ?

            Nein, "Skriptname" muss der Name dieses Skripts sein. Alle anderen Skripte werden behandelt, wie andere Adapter.

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

              @paul53 sagte in Licht automatisch abschalten:

              Nein, "Skriptname" muss der Name dieses Skripts sein. Alle anderen Skripte werden behandelt, wie andere Adapter.

              Ok. Hab ich gemacht, aber es funktioniert nicht.
              Wenn ich mit debug vorher den "Kommentar des letzten Zustandes" ausgeben lasse, steht dort "undefined".

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

                @manfredhi sagte: Wenn ich mit debug vorher den "Kommentar des letzten Zustandes" ausgeben lasse, steht dort "undefined".

                Ja, wenn die Quelle kein Skript ist. Oder verwendest Du eine Uralt-Version des Javascript-Adapters?

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

                  @paul53 sagte in Licht automatisch abschalten:

                  Ja, wenn die Quelle kein Skript ist. Oder verwendest Du eine Uralt-Version des Javascript-Adapters?

                  Nein der Javascript-Adapter ist aktuell (4.0.24). Hab auch gesehen, wenn durch ein anderes Script das Licht eingeschaltet wird, dann erhalte ich bei der Debug ausgabe auch einen Eintrag.

                  Was jetzt durch diese Änderung nicht geht ist das Dauerlicht einschalten. Also am Schalter ein-aus-ein, dann soll es einmal blinken und nicht automatisch abschalten.

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

                    @manfredhi sagte: Was jetzt durch diese Änderung nicht geht ist das Dauerlicht einschalten.

                    An dieser Logik ändert sich nichts. Zeige mal das geänderte Blockly.

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

                      @paul53 sagte in Licht automatisch abschalten:

                      Zeige mal das geänderte Blockly.

                      367a88e3-6231-4809-905d-2b9914ca01ff-image.png

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

                        @manfredhi
                        Falsch verknüpft. Richtig:

                        Blockly_temp.JPG

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

                          @paul53 sagte in Licht automatisch abschalten:

                          Falsch verknüpft. Richtig:

                          99f149a3-7978-4142-b2cc-c21d45a805ee-image.png

                          Geht trotzdem nicht. Jetzt blinkt das Licht bei ein-aus-ein ständig. D.h. es wird der Timeoutblock mit den 2 Sekunden ständig durchlaufen.

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

                            @manfredhi sagte: Geht trotzdem nicht.

                            Im ersten Post sieht die Verknüpfung für das Ausschalten anders aus:

                            Blockly_temp.JPG

                            Allerdings muss der "Wert von sw_licht" geprüft werden - nicht die ID.
                            Lösche das überflüssige "stop eindauer_JS".

                            EDIT: Der Skriptname stimmt? Wenn nicht, kommt es zu der Dauerschleife. Trigger: "ist größer als letztes"!
                            Die Variable dauerein ist überflüssig.

                            Blockly_temp.JPG

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

                              @paul53
                              Ich hab jetzt alles zurückgesetzt wie vom ursprünglichen Skript und deine Änderungen hinzugefügt.
                              Aber ich hab nach wie vor das dauerblinken wenn ich ein-aus-ein schalte.

                              5c1ec6d5-d6ad-475d-9b16-b2fdf822f101-image.png

                              Irgendwie steh ich total auf der Leitung.

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

                                @manfredhi sagte: dauerblinken wenn ich ein-aus-ein schalte.

                                Dann stimmt wahrscheinlich der Skriptname nicht. Ist das Skript "Shelly_Stiegenaufgang" direkt der Wurzel oder ist es einer Gruppe zugeordnet?

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

                                  @paul53 sagte in Licht automatisch abschalten:

                                  Dann stimmt wahrscheinlich der Skriptname nicht. Ist das Skript "Shelly_Stiegenaufgang" direkt der Wurzel oder ist es einer Gruppe zugeordnet?

                                  Stimmt. Das war das Problem. Hab das mit dem Skriptnamen nun geändert, jetzt funktioniert es.

                                  2f310029-03c6-4344-bd5e-0cbe983d7543-image.png

                                  Vielen Dank für deine Geduld und Deine Hilfe !!!!

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

                                    @manfredhi sagte: Skriptnamen nun geändert

                                    Anmerkung: Im Javascript-Adapter wird der Skriptname in der vordefinierten Variablen scriptName zur Verfügung gestellt. Man kann sie aber nicht direkt in Blockly abfragen, sondern nur mittels JS-Funktion mit Ergebnis.

                                    Blockly_Skriptname.JPG

                                    Inhalt der Funktion:

                                    return scriptName;
                                    
                                    M 1 Reply Last reply Reply Quote 1
                                    • M
                                      ManfredHi @paul53 last edited by

                                      @paul53 sagte in [gelöst] Licht automatisch abschalten:

                                      @manfredhi sagte: Skriptnamen nun geändert
                                      Anmerkung: Im Javascript-Adapter wird der Skriptname in der vordefinierten Variablen scriptName zur Verfügung gestellt.

                                      Danke vielmals. Dass mit der JS-Funktion ist noch besser, vor allem wenn ich mehrere Scripts für verschiedene Räume hab, da brauch ich nicht jedesmal aufpassen, das ich den Namen richtigstelle. Oder aber wenn ich mal ein Script umbenenne.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      630
                                      Online

                                      32.0k
                                      Users

                                      80.5k
                                      Topics

                                      1.3m
                                      Posts

                                      2
                                      17
                                      355
                                      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