NEWS
[gelöst]Waschetrockner, die 2\. (fällt scheinbar zwischen drin auch immer unter 100 Watt)
-
ich mache es so, dass ich die Zeit abfrage wenn der Sensor länger als 2 min in dem Zustand ist dann ist es fertig.. `
Der Ansatz sollte funktionieren.
Doofe Frage, wie mach ich das mit blockly?
Ich habe im Anhang mal mein aktuelles Skript
8437_unbenannt.png -
kein plan.. ich programmiere direkt in javascript.. das klickibunti ist nicht so mein ding
-
Ich habe das bei meiner Waschmaschine so gelöst (Zeit und Watt eventuell anpassen):
Der Stromverbrauch muss in meinem Beispiel 1 Minute unter 20 Watt liegen damit die nachfolgende Aktion ausgeführt wird.
-
@WaJoWi:Ich habe das bei meiner Waschmaschine so gelöst (Zeit und Watt eventuell anpassen):
waschmaschine.png
Der Stromverbrauch muss in meinem Beispiel 1 Minute unter 20 Watt liegen damit die nachfolgende Aktion ausgeführt wird. `
Das probiere ich mal aus. Sehr übersichtlicher Ansatz!
-
WaJoWi's Ansatz hat super geklappt. Ich setze das Thema auf gelöst.
-
Eine kleine Korrektur zu dem Skript:
Setze unter "Bei geringem Stromverbrauch" noch ein "stop timeout".
Andernfalls kann es passieren, dass mehrere Timer hintereinander gestartet werden und dann nur einer wieder gestoppt wird. So würde dann die Ausgabe fälschlicherweise zu früh und vielleicht sogar mehrfach erfolgen.
-
Hallo zusammen,
mag einer von euch vielleicht den Blockly Script Export hier einstellen?
das wäre super nett
-
Ist ja nicht so schwer nachzubauen, aber bitte:
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="variables_set" id="cF.~oUf~zIj0TGsyzZ+P" x="-437" y="-38"><field name="VAR">Waschmaschine ein</field> <value name="VALUE"><block type="logic_boolean" id="mesPz*%e4gNJ|L)LnhTY"><field name="BOOL">FALSE</field></block></value> <next><block type="comment" id="K`N2cC70biOrPYjv1qZq"><field name="COMMENT">Wenn die Waschmaschine fertig ist</field> <next><block type="on_ext" id="uY1uo@)}JRl#DTB!BO.t"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="N(U9jgt/9jW;+nb!Ayo7"><field name="oid">sonoff.0.Steckdose_Waschmaschine.ENERGY_Power</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="KSaMRQFbWf?Y^viw{({P"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="c?bkpXz-.%3F%`Wp/fVw"><field name="OP">GT</field> <value name="A"><block type="get_value" id="kbILq1)e5`S*)DVwC3Fr"><field name="ATTR">val</field> <field name="OID">sonoff.0.Steckdose_Waschmaschine.ENERGY_Power</field></block></value> <value name="B"><block type="math_number" id="5P[w@~WaQ=Zd?BydrZhI"><field name="NUM">3</field></block></value></block></value> <statement name="DO0"><block type="comment" id="V4AobG%|;woU[1~BVw%P"><field name="COMMENT">Wenn Programm läuft</field> <next><block type="timeouts_cleartimeout" id=":SZ3wa9y{max,e@fNQs;"><field name="NAME">timeout</field> <next><block type="variables_set" id="L(/rk#[K5EkmwmPBe2W0"><field name="VAR">Waschmaschine ein</field> <value name="VALUE"><block type="logic_boolean" id="):~mY9Y`[)`0SD.n;w1Q"><field name="BOOL">TRUE</field></block></value></block></next></block></next></block></statement> <value name="IF1"><block type="logic_compare" id="|SQrTQmbBCwL-X9lA3`K"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="[xO3`2SS(@7Eqj{h5:l@"><field name="VAR">Waschmaschine ein</field></block></value> <value name="B"><block type="logic_boolean" id="CPjUj:{Mdb_p3je^2fRT"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO1"><block type="comment" id="wHsf9|a1s/})L|WEy|!X"><field name="COMMENT">Bei geringem Stromverbrauch</field> <next><block type="timeouts_cleartimeout" id="q4Srg_(:Vq=4j|Y7(g)+"><field name="NAME">timeout</field> <next><block type="variables_set" id=":fIKRM1p!jNf*)~HJCtQ"><field name="VAR">Waschmaschine ein</field> <value name="VALUE"><block type="logic_boolean" id="T|qyCqT556A[q1WbYI}5"><field name="BOOL">FALSE</field></block></value> <next><block type="timeouts_settimeout" id="5.zkSS4A+NH[@K9Z_]n1"><field name="NAME">timeout</field> <field name="DELAY">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="controls_if" id="-Osu31nXjV~Ur{,ur9!d"><value name="IF0"><block type="logic_compare" id="6p5LMIRI7rvmY@wIVk}/"><field name="OP">GT</field> <value name="A"><block type="get_value" id="Ts4L3C1*CU(?iQZjjVpw"><field name="ATTR">val</field> <field name="OID">sonoff.0.Steckdose_Waschmaschine.ENERGY_Power</field></block></value> <value name="B"><block type="math_number" id="S?c*7UzZ7D_Xe?X4-rs8"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="comment" id="v0ik|yT7bat_YjnbWI89"><field name="COMMENT">Wenn WM nicht aus</field> <next><block type="control" id="y/8~X*3?9d5DlhC*qywA"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090L9xxxxxxxxxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="4*z}=Spt`moWYr01|2P/"><field name="TEXT">Die Waschmaschine ist fertig.</field></block></value> <next><block type="timeouts_setinterval" id="-^:@HROS!7)a[54OJGpk"><field name="NAME">Intervall</field> <field name="INTERVAL">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="controls_if" id="R+}NW#Ee`!ylH)8YTuUN"><mutation else="1"></mutation> <value name="IF0"><block type="logic_compare" id="w{9@SU~-.woh:tK|AJMp"><field name="OP">GT</field> <value name="A"><block type="get_value" id="vf)16.=iJ=;Uba}yn/r}"><field name="ATTR">val</field> <field name="OID">sonoff.0.Steckdose_Waschmaschine.ENERGY_Power</field></block></value> <value name="B"><block type="math_number" id="%n0qHjKy%DYckLASwA:s"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="comment" id="b(3tX+5d*4/XO7.aMMw;"><field name="COMMENT">Sprachausgabe solange Gerät nicht ausgeschaltet wurde</field> <next><block type="control" id="XugFjxtB;X_gu[yB?#N}"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090L9xxxxxxxxxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="16J|=nh5_=;EY`yXjQ27"><field name="TEXT">Die Waschmaschine ist fertig.</field></block></value></block></next></block></statement> <statement name="ELSE"><block type="comment" id="42~9))f0=8u8)~PJke5_"><field name="COMMENT">Wenn Gerät ausgeschaltet wurde</field> <next><block type="timeouts_clearinterval" id="wxL*3U9|#hPcMn6}+*YM"><field name="NAME">Intervall</field></block></next></block></statement></block></statement></block></next></block></next></block></statement></block></statement></block></next></block></next></block></next></block></statement></block></statement></block></next></block></next></block></xml>
-
Vielen Dank, WaJoWi.
Du hast natürlich recht, es ist nicht schwer nachzubauen wenn man sich ein bisschen mit Blockly beschäftigt, jedoch mit dem Import & Export sinkt die Wahrscheinlichkeit das sich ein Fehler einschleicht, und das passiert mir nun mal gerne und dann muss ich ihn ewig suchen.
Danke für deine Mühe
-
Vielen Dank, WaJoWi.
Du hast natürlich recht, es ist nicht schwer nachzubauen wenn man sich ein bisschen mit Blockly beschäftigt, jedoch mit dem Import & Export sinkt die Wahrscheinlichkeit das sich ein Fehler einschleicht, und das passiert mir nun mal gerne und dann muss ich ihn ewig suchen.
Danke für deine Mühe `
Wie funktioniert das mit dem Import/Export? Ich konnte bei Blockly mir immer den COde ansehen und mehr nicht. Editieren war bei mir nicht möglich.
-
Wie funktioniert das mit dem Import/Export? Ich konnte bei Blockly mir immer den COde ansehen und mehr nicht. Editieren war bei mir nicht möglich. `
Wenn du ein Script offen hast, hast du Rechts 4 Buttons ganz Rechts "Zeige Code" damit wirst du wohl den Code anschauen, links daneben "Blöcke prüfen" und daneben links die Import und Export Funktion. Diese sind dargestellt durch einen Pfeil nach oben bzw unten mit nem Querstrich. Ich hoffe ich hab verstanden was du meinstest BZW du verstehst was ich mein
-
Eine Frage zu dem Script von einem absoluten Script-Idioten. Ich habe auch eine Benachrichtigung für Waschmaschine laufen.
Was ich gerne hätte ist, dass die Nachricht "Fertig" erst gesendet wird wenn die Leistung für mehr als 2 Minuten z. B. unter 30 Watt ist.
Ist das auch mit dem timeout zu lösen?
-
Eine Frage zu dem Script von einem absoluten Script-Idioten. Ich habe auch eine Benachrichtigung für Waschmaschine laufen.
Was ich gerne hätte ist, dass die Nachricht "Fertig" erst gesendet wird wenn die Leistung für mehr als 2 Minuten z. B. unter 30 Watt ist.
Ist das auch mit dem timeout zu lösen? `
Idiot möchte ich nicht sagen, aber noch sehr blutiger Anfänger was Skripte generell angeht.Wenn du dir mein Skript-Bild (viewtopic.php?f=21&t=18176&p=193449#p189942) ansiehst, dann steht die Zahl '20' für die Leistung in Watt. Also hier von '20' einfach auf '30' ändern. Etwas weiter unten ist unter 'Ausführen timeout in' eine '1' und 'Min' ausgewählt. Hier die '1' gegen eine '2' tauschen um nach zwei Minuten informiert zu werden. Ist eigentlich alles logisch.
-
Danke.
Habe mich mal daran versucht aber so ganz klappt es noch nicht.
Er schaltet den Drucker zu früh aus.
Er müsste praktisch checken, ob bereits 2 Minuten weniger als 7 Watt verbraucht wurden und den Drucker dann ausschalten.
Sollte z. B. nach 1 Minute wieder mehr als 7 Watt verbraucht werden muss er ihn eingeschaltet lassen.
4531_zwischenablage01.jpg -
Das Skript kann nicht funktionieren!
1. In timeout befindet sich nichts was nach zwei Minuten ausgeführt werden soll. Die Blöcke darunter gehören in den timeout-Block!
2. Der timeout startet jedes mal wenn die sieben Watt unterschritten werden. Aber du setzt den timeout nirgends zurück.
Nimm doch einfach mal das Skript das ich hier exportiert habe und passe es für dich an, dann läuft das auch mit deinem 3D-Drucker.
-
Okay.
Dann sollte es jetzt so laufen.
Ich teste es dann bei Gelegenheit mal.
4531_zwischenablage01.jpg -
Kannst du ja mal testen. Aber was ist, wenn der Verbrauch über 7 Watt nicht aber über 50 Watt steigt? Dann wird der timeout nicht zurückgesetzt. Außerdem solltest du auch direkt vor dem Start des timeouts diesen zuerst stoppen damit er nicht unter Umständen mehrfach ausgeführt wird.
Besser wäre es nur einen Wert (z.B. 7 Watt zu nehmen), dann gibt es kein undefiniertes Loch. Oder hat es einen bestimmten Grund weshalb du zwei Leistungswerte heranziehst?
-
Danke für deine Hinweise.
Das mit den Watt muss ich nochmal etwas genauer definieren.
Hier dann mal mein geändertes Script.
4531_zwischenablage01.jpg -
Ich sag nix mehr… :roll: