Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Drucker über Anwesenheit steuern MQTT

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Drucker über Anwesenheit steuern MQTT

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Balu 0 last edited by

      Hallo liebe Logiker.
      Ich habe folgendes Skript erstellt.:
      Unbenannt.PNG

      Ich möchte wenn der anwesenheitsdatenpunkt auf True geht mit Verzögerung den Drucker über n zwischen Stecker mit Verzögerung einschalten.

      Und andersrum für aus.
      Kann ich das so machen oder übersehe ich was ?

      Danke Grüße
      Balu

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

        @balu-0
        Das sind 2 Trigger auf den gleichen State.
        Das kann man vereinfachen:

        489685ef-cf49-4557-b8ff-29ce202fc55f-grafik.png

        1. Verwende besser timeouts statt der Verzögerung beim "steuere". Damit hat man mehr Kontrolle.
        2. Die Dose bekommt als Wert einfach den Status der Anwesenheit. Diesen Wert kennt der Trigger bereits.
        B 1 Reply Last reply Reply Quote 1
        • B
          Balu 0 @Codierknecht last edited by Balu 0

          @codierknecht
          Danke für deine Antwort

          Ich verstehe nicht,
          " steuere mit wert "
          Woher weiß er welcher wert ? ( weil es in der klammer drin ist ? )

          Und wie differenziert er das nur beim einschalten Verzögerung da ist ?

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

            @balu-0 sagte in Drucker über Anwesenheit steuern MQTT:

            Woher weiß er welcher wert ?

            Der Trigger weiß ja, auf welchen Wert der auslösende State gerade gewechselt hat.
            Bei "Anwesend" ist der true - anderenfalls false
            Den Block "Wert" findest Du unter "Trigger".

            Und wie differenziert er das nur beim einschalten Verzögerung da ist ?

            OK - übersehen.
            Dann sieht das etwas anders aus:

            407da3af-9806-41cf-962e-ff37940b5745-grafik.png

            Ich habe hier zum Steuern Wahr/Falsch verwendet - das ist letzendlich für Laien etwas besser lesbar.

            Hier noch etwas Lesestoff:
            https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps

            B 2 Replies Last reply Reply Quote 1
            • MartinP
              MartinP @Balu 0 last edited by MartinP

              @balu-0 sagte in Drucker über Anwesenheit steuern MQTT:

              geht mit Verzögerung den Drucker über n zwischen Stecker mit Verzögerung einschalten

              Etwas Offtopic: Ist das ein Laserdrucker?

              Bei Tintenstrahldrucker ist das nicht ratsam! Die sollte man immer im Standby belassen, so ärgerlich das auch für die Stromrechnung und den Tintenverbrauch ist. Bei längerer Inaktivität "pinkeln" die ein paar Tropfen Tinte in das Vorratskissen im Drucker, um das Eintrocknen der Düsen zu verhindern.
              Eingetrocknete Düsen sind aber deutlich teurer, als das bisschen Strom und Tinte ...

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

                @codierknecht said in Drucker über Anwesenheit steuern MQTT:

                @balu-0 sagte in Drucker über Anwesenheit steuern MQTT:

                Woher weiß er welcher wert ?

                Hier noch etwas Lesestoff:
                https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps

                Super danke !

                Lesestoff hab ich genutzt für mein Skript 😁

                1 Reply Last reply Reply Quote 0
                • B
                  Balu 0 @MartinP last edited by

                  @martinp said in Drucker über Anwesenheit steuern MQTT:

                  @balu-0 sagte in Drucker über Anwesenheit steuern MQTT:

                  geht mit Verzögerung den Drucker über n zwischen Stecker mit Verzögerung einschalten

                  Etwas Offtopic: Ist das ein Laserdrucker?

                  Bei Tintenstrahldrucker ist das nicht ratsam! Die sollte man immer im Standby belassen, so ärgerlich das auch für die Stromrechnung und den Tintenverbrauch ist. Bei längerer Inaktivität "pinkeln" die ein paar Tropfen Tinte in das Vorratskissen im Drucker, um das Eintrocknen der Düsen zu verhindern.
                  Eingetrocknete Düsen sind aber deutlich teurer, als das bisschen Strom und Tinte ...

                  Das ist interessant wusste ich noch nicht.

                  Den Aufwand mache ich mir weil :
                  Multifunktionsdrucker, 160 kg
                  Laser, brauche noch 2 Jahre bis die Toner lehr sind

                  MartinP 1 Reply Last reply Reply Quote 0
                  • MartinP
                    MartinP @Balu 0 last edited by

                    @balu-0 Bei Lasern ist das komplett Abschalten kein Problem... Hätte auch mal einen gebrauchten Epson Farblaser von 2007. Standby-Verbrauch 15W... Da war auch eine Schaltsteckdose dazwischen...
                    Irgendwann war er dann komplett Altersschwach, und hatte bei 2 von 3 Einschaltvorgängen einen Selbsttest Fehler, den man weg drücken musste...

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

                      @codierknecht

                      Sorry muss dich weiter Löchern...

                      Mein Anwesenheitspunkt ist True wenn anwesend und False wenn abwesend.

                      Wenn anwesenheitsdatenpunkt True dann soll auch Drucker Datenpunt True sein.
                      und das selbe mit False.

                      Wie unterscheidet dieses skript das ?
                      Wie gleicht es ab ob der status true ist und stellt nur dann aud true ?

                      Danke Grüße
                      Balu

                      MartinP 1 Reply Last reply Reply Quote 0
                      • MartinP
                        MartinP @Balu 0 last edited by

                        @balu-0 Das war mir auch erst nicht klar, als ich mit der Blockly Programmierung angefangen habe.. im obigen Schnipsel wird "falls <Wert>" verwendet, das ist der Wert des Objektes, das den Trigger ausgelöst hat... Also Fallunterscheidung ob Anwesenheit False (sonst) oder True (mache)

                        block

                        B 1 Reply Last reply Reply Quote 1
                        • B
                          Balu 0 @MartinP last edited by

                          @martinp

                          also es läuft aber ich steig immer noch nicht durch 😞

                          Ist dann der wert, der zu dem Zeitpunkt wo ich das skript aktiviere der wert aus dem anwesenheitsdatenpunkt der der herangezogen wird?

                          Er macht ja :
                          "Mache Sonst"

                          Welcher wert ist mache und welcher sonst,
                          bzw könnte der wert auch false sein und er stellt auf true,
                          und sonst
                          auf auf false ?

                          MartinP 1 Reply Last reply Reply Quote 0
                          • MartinP
                            MartinP @Balu 0 last edited by MartinP

                            @balu-0 Der Trigger wird ausgelöst, wenn sich der Wert des Objektes ändert. Und der aktuelle Wert kann über "Wert" abgefragt werden ...
                            Das Ding hat ein Auswahlmenu, und man kann auch "vorherigen Wert" und einiges andere abfragen....

                            Bei MultiTriggern ist die "Name" Abfrage "wer hat getriggert" interessant.
                            Es gibt so viele Varianten zur Auswahl dass das Auswahlmenu einen Scrollbalken hat

                            bb676487-0a3f-4cc2-83f2-e6822d417f66-grafik.png
                            0ab0ba5b-0e26-4baf-be41-9f61594f5909-grafik.png
                            d4e8bef2-5933-4a49-b86b-b603cc137881-grafik.png
                            9c2b6983-9187-4586-80f5-bbb708a0a86b-grafik.png

                            B 1 Reply Last reply Reply Quote 1
                            • B
                              Balu 0 @MartinP last edited by Balu 0

                              @martinp
                              Ich glaub jetzt hab ichs verstanden.

                              Das Skripten verinnerliche ich nur sehr langsam 🙂

                              Danke euch !!

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

                                @balu-0
                                Ich hole nochmal etwas weiter aus, da das immer wieder zu Verständnisproblemen führt.

                                Ich nehme dazu mal reines JS. Damit kann man es besser erklären und ich spare mir die ganzen Screenshots.

                                Ein "Falls" in Blockly entspricht ja letztlich einem if in JS (und anderen Sprachen. ob C, C++, C#, PHP usw. - funzt überall gleich).

                                Ein klassischer Ausdruck wäre sowas hier:

                                if (var == 42)
                                if (txt == 'blubb')
                                

                                usw.

                                Der Punkt ist:
                                Das was hinter dem if steht, muss als Ganzes entweder Wahr oder Falsch werden.
                                Für Zeile 1 bedeutet das: Der Ausdruck in Klammern wird Wahr, wenn die Variable var den Wert 42 enthält.
                                In Zeile 2 wird der Ausdruck Wahr, wenn in txt der Text blubb enthalten ist.

                                Soweit hoffentlich klar?

                                Interessant wird's, wenn man mit bool'schen Variablen arbeitet, die selbst nur die Werte "Wahr" oder "Falsch" enthalten können. Also entweder true oder false;

                                Auswerten könnte man das so:

                                if (boolvar == true)
                                

                                Das wäre aber doppelt gemoppelt. In boolvar steht ja bereits ein "bool'scher" (Wahrheits-) Wert.
                                Dann kann man das auch gleich so schreiben:

                                if (boolvar)
                                

                                Für Blockly bedeutet das:
                                Ein "Falls Wert = Wahr" ist semantisch das Gleiche wie ein "Falls Wert" ... wenn "Wert" nur "Wahr" oder "Falsch" sein kann.

                                Bezogen auf Blockly habe ich das hier bereits erläutert:
                                https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps/8

                                Ich hoffe, das war jetzt verständlich?

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

                                  @codierknecht said in Drucker über Anwesenheit steuern MQTT:

                                  Das wäre aber doppelt gemoppelt. In boolvar steht ja bereits ein "bool'scher" (Wahrheits-) Wert.
                                  Dann kann man das auch gleich so schreiben:

                                  ok das ist der Grund warum in speziell diesem Skript falls als war definiert ist ?

                                  Ich hoffe, das war jetzt verständlich?

                                  Jedenfalls bleibt immer n bisschen was hängen !

                                  Nur Interesse halber,
                                  mein Skript oben ist nicht falsch nur umständlich ? ( also es würde funktionieren ? )

                                  Grüße
                                  Balu

                                  Danke euch !!!

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  1.2k
                                  Online

                                  31.7k
                                  Users

                                  79.7k
                                  Topics

                                  1.3m
                                  Posts

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