Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Blockly Mehrfachtrigger Lichtsteuerung

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Mehrfachtrigger Lichtsteuerung

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

      @takahara sagte: Was bedeutet "steuere EG_WZ_Steckdose:3.STATE mit nicht nicht Licht"?

      "nicht nicht" wandelt eine Zahl != 0 in true und eine 0 in false.

      @takahara sagte in Blockly Mehrwachtrigger Lichtsteuerung:

      Wert 0 oder 65. Also Frage ich mich, wie in der Telegram Nachricht, die Prüfung von Licht entweder wahr oder falsch sein kann?

      Javascript nimmt eine implizite Typwandlung vor: != 0 wird als wahr und 0 wird als falsch gewertet. Falls es verständlicher ist, mache es so:

      Blockly_temp.JPG

      @takahara sagte in Blockly Mehrwachtrigger Lichtsteuerung:

      Lichter nur ausgeschaltet sind, wenn beide Variablen Soundsystem und TV FALSE sind?

      Dafür gibt es Datenpunkte?

      Blockly_temp.JPG

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

        @paul53 : Ja es gibt Datenpunkte. Einer dieser Datenpunkte heißt Lichtszenario_Soundsystem.

        Dieser soll TRUE sein, wenn die Stromaufnahme über 80mA liegt und FALSE sein, wenn die Stromaufnahme kleiner 60mA ist. Ich habe aber deine Lösung mit der Hysterese noch nicht zu 100% verstanden. Und wie du das erneute triggern von Lichtszenario_Soundsystem verhinderst.

        Meine Idee schaut folgendermaßen aus:

        2023-12-19 18_27_17-Window.png

        Den Datenpunkte Lichtszenario_Soundsystem, habe ich hier eingesetzt:

        2023-12-19 18_28_20-Window.png

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

          @takahara sagte: Den Datenpunkte Lichtszenario_Soundsystem, habe ich hier eingesetzt:

          Das passt. Ist das ein eigener Datenpunkt oder der eines Adapters?

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

            @takahara sagte: Meine Idee schaut folgendermaßen aus:

            Dafür benötigt man keine Hysterese, weil das eingeschaltete Soundsystem einen bestimmten Wert nicht unterschreitet. Einfacher:

            Blockly_temp.JPG

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

              @paul53 : Ein eigens erstellter Datenpunkt.

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

                @takahara sagte: Ein eigens erstellter Datenpunkt.

                Dann verwende besser Block "aktualisiere" anstelle von "steuere".

                R T 2 Replies Last reply Reply Quote 0
                • R
                  reutli @paul53 last edited by

                  @Takahara

                  und ändere den Titel, dann finden andere auch den thread mit der Suche. "Mehrwachtrigger" soll sicher "Mehrfachtrigger" heissen, oder?

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    Takahara @reutli last edited by

                    @reutli: Erledigt. Danke dir!

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

                      @paul53 : Ich weiß es sehr zu schätzen, dass du dir Zeit für mich nimmst. Und meine Fragen geduldig beantwortest. Nochmals vielen lieben Dank.

                      2023-12-19 19_45_31-Window.png

                      In der Falls-Bedingung aktualisiere ich den Wert von ** Lichtszenario_Soundsystem** auf den Wert von Soundsystem. Da diese beiden Werte immer gegenläufig sind, sobald die Falls-Bedingung erfüllt wurde.

                      Wenn ich jetzt noch den Shelly Switch auf FALSE schalten möchte, wenn ** Lichtszenario_Soundsystem** = FALSE ist, kann ich das in der Falls-Bedingung nicht machen.

                      Muss ein zusätzliches Programm her?

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

                        @takahara sagte: Wenn ich jetzt noch den Shelly Switch auf FALSE schalten möchte, wenn ** Lichtszenario_Soundsystem** = FALSE ist,

                        Blockly_temp.JPG

                        "Switch" = Shelly

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

                          @paul53 : Ich bin gerade wieder am testen und habe das Blockly dahin angepasst, dass der Helligkeitswert des Präsenzmelders in der Push-Nachricht mit ausgegeben wird.

                          2023-12-20 13_26_53-javascript - smarthomeraspi.png

                          Laut Push-Nachricht ist dieser Wert 42.8. Warum wird das Licht bei diesem Helligkeitswert eingeschaltet? Wird die gemessene Helligkeit beim Einschalten der Lampen berücksichtig? Sprich, nur wenn dunkel = TRUE ist, soll das Licht eingeschaltet werden.

                          Müsste dieser Block:
                          2023-12-20 13_31_15-javascript - smarthomeraspi.png
                          Dann nicht so umgeschrieben werden?

                          2023-12-20 13_32_08-javascript - smarthomeraspi.png

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

                            @takahara sagte: Dann nicht so umgeschrieben werden?

                            Das war mein erster Vorschlag, da ich davon ausgegangen bin, dass das Licht bei ausreichender Helligkeit auch bei Bewegung nicht eingeschaltet werden soll. Du hast es danach allerdings anders beschrieben:

                            Das Licht soll eingeschaltet werden, wenn Bewegung1 oder Bewegung2 oder die Helligkeit unter X% fällt (nur wenn eine Person im Raum ist) getriggert wurden.

                            T 2 Replies Last reply Reply Quote 0
                            • T
                              Takahara @paul53 last edited by

                              @paul53: Ich hatte mich nicht eindeutig ausgedrückt. Danke dir.

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                Takahara @Takahara last edited by

                                @paul53 : Ich habe noch eine Frage.

                                2023-12-20 22_03_39-javascript - smarthomeraspi.png

                                Ich setze den Datenpunkt Lichtszenario_TV auf TRUE, wenn der aktuelle Stromverbrauch >0,26A ist. Dieser Stromwert muss ja höher sein, wie die Stromaufnahme im Standby-Betrieb, da ich die Spannungsversorgung um Standby-Betrieb ja über den Shelly abschalten möchte,

                                Heute Abend ist mir aufgefallen, dass die Spannungszufuhr zu Steckdose über den Shelly unmittelbar wieder ausgeschaltet wird. Da die Stromaufnahme im Standby-Betrieb unter der Schwelle von 0.26A liegt.

                                Die Schwelle noch weiter zu reduzieren führt nur dazu, dass der Verbraucher nicht mehr ausgeschaltet wird.

                                Wie könnte ich das Problem noch lösen? Kann man eine Verzögerung einbauen, die das Ausschalten um X-Sekunden / Minuten verzögert und wenn in der Zwischenzeit (während die Verzögerung noch läuft) ein Stromwert gemessen wird, der oberhalb der Schaltschwelle liegt, diese Verzögerung abgebrochen wird?

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

                                  @takahara sagte: die Spannungszufuhr zu Steckdose über den Shelly unmittelbar wieder ausgeschaltet wird.

                                  Beim Einschalten des Shelly? Stromspitze beim Einschalten? Dann versuche mal

                                  Blockly_temp.JPG

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

                                    @paul53 Hallo Paul, ich hätte noch eine weitere Frage zum Blockly und hoffe du magst mir nochmal helfen.

                                    Die drei Trigger sind ja:

                                    • Bewegungserkennung / Nicht-Erkennung Präsenzmelder
                                    • Helligkeit Präsenzmelder
                                    • Bewegungserkennung / Nicht-Erkennung Bewegungsmelder

                                    Wenn die Helligkeit jetzt steigen sollte während das Licht AN ist, ist die Systemvariable dunkel FALSE.

                                    2023-12-27 19_22_59-Window.png

                                    Im nächsten Block (prüfe...) wird die Systemvariable dunkel FALSE sein.

                                    Wie könnte ich die Beleuchtung ausschalten, wenn die Präsenz-/ Bewegungsmelder zwar noch Anwesenheit im Raum feststellen allerdings die Helligkeit so hoch ist, dass ich keine künstliche Beleuchtung mehr benötige?
                                    Was ich damit sagen möchte, ist das Licht auszuschalten, falls es morgens noch in der Dunkelheit aktiviert wurde. Es über den Tag dann aber heller wird, um dann das Licht auszuschalten?

                                    2023-12-27 19_17_49-Window.png

                                    Vielen Dank

                                    Takahara

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      Takahara @Takahara last edited by

                                      @paul53 :

                                      Ich denke, dass ich meine Frage mir beantworten konnte.

                                      Da die Variable dunkel bei Überschreitung der Helligkeit falsch ist. Somit sollte auch die Prüf-Bedingung falsch sein und Licht auf 0 setzen. Was zum Ausschalten der Beleuchtung führt, obwohl noch Präsenz im Raum festgestellt wird.

                                      2023-12-28 17_12_49-javascript - smarthomeraspi.png

                                      VG
                                      Takahara

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

                                        @paul53: Hallo Paul, in der "setze Licht auf, prüfe-Bedingung wird in diesem Blockly-Script das Licht nur eingeschaltet wenn es dunkel ist und mindestens ein Bewegungsmelder eine Bewegung erkannt hat. Das ist so auch gewollt und funktioniert super.

                                        Ich würde das Blockly-Script nun gerne dahin erweitern, dass weiterhin das Licht an geht wenn nur ein Bewegungsmelder eine Bewegung erkannt hat. Es soll allerdings nur ausgehen, wenn keiner der beiden Bewegungsmelder keine Bewegung mehr erkannt hat.

                                        Wenn ich den ODER Baustein, gegen einen UND Baustein tausche, habe ich zwar das Problem beim Ausschalten gelöst, allerdings handle ich mir damit das Problem ein, dass das Licht nur eingeschaltet wird, wenn beide Bewegungsmelder eine Bewegung erkannt haben.

                                        Hättest du noch eine Idee, wie ich das Problem lösen könnte?

                                        2024-01-02 18_24_22-Window.png

                                        Vielen Dank
                                        Takahara

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

                                          @takahara sagte: Es soll allerdings nur ausgehen, wenn keiner der beiden Bewegungsmelder keine Bewegung mehr erkannt hat.

                                          Das macht es durch die ODER-Verknüpfung.
                                          Braucht man eine zusätzliche Ausschaltverzögerung?

                                          T 1 Reply Last reply Reply Quote 1
                                          • T
                                            Takahara @paul53 last edited by

                                            @paul53 sagte: "Das macht es durch die ODER-Verknüpfung."

                                            Du hast recht. False & TRUE = TRUE bei einer ODER Verknüpfung. Danke dir.

                                            Ich glaube mein Fehler liegt an den Einstellungen der Helligkeitsmessung des Bewegungsmelders. Vermute, dass wenn das Licht eingeschaltet ist, erfolgt noch eine weitere Helligkeitsmessung. Diese überschreitet dann den Schwellwert und setzt die Variable dunkel auf FALSE. Somit wird dann das Licht ausgeschaltet.

                                            @paul53 sagte: "Braucht man eine zusätzliche Ausschaltverzögerung?":

                                            Ich würde die Ausschaltverzögerung wie folgt lösen:

                                            2024-01-02 20_47_46-Window.png

                                            Frage: Beim ersten Durchlaufen des Blockly-Scriptes und Licht ungleich Wert vom Objekt EG_WZ_SL:3.Level und Licht > 0 wird der "steuere Befehl" für 30 Sekunden verzögert.
                                            Was passiert, wenn während dieser 30 Sekunden ein erneuter Trigger kommt?
                                            a) timeout wird abgebrochen und steuere-Befehl wird nicht ausgeführt
                                            b) timeout wird wieder auf 30 Sekunden zurückgesetzt und anschließend der steuere-Befehl wird ausgeführt

                                            VG
                                            Takahara

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            797
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            30
                                            1033
                                            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