NEWS
Drucker über Anwesenheit steuern MQTT
-
@codierknecht
Danke für deine AntwortIch 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 ?
-
@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 dertrue
- anderenfallsfalse
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: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 -
@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 ... -
@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-tippsSuper danke !
Lesestoff hab ich genutzt für mein Skript
-
@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 -
@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... -
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 -
@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)
-
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 ? -
@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
-
@martinp
Ich glaub jetzt hab ichs verstanden.Das Skripten verinnerliche ich nur sehr langsam
Danke euch !!
-
@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 demif
steht, muss als Ganzes entweder Wahr oder Falsch werden.
Für Zeile 1 bedeutet das: Der Ausdruck in Klammern wird Wahr, wenn die Variablevar
den Wert42
enthält.
In Zeile 2 wird der Ausdruck Wahr, wenn intxt
der Textblubb
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
oderfalse
;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/8Ich hoffe, das war jetzt verständlich?
-
@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
BaluDanke euch !!!