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.
    • 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

                                557
                                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