NEWS
[gelöst] mit blockly einen Countdown starten, unterbrechen und fortführen
-
Ich habe mir jetzt mal verschiedene blockly skripte im Forum angeschaut und denke, da
ß
eine L
ö
sung meines Problems ein Countdown von 60 Minuten ist, der bei
Ü
berschreiten einer Wattzahl gestartet wird. Daher habe ich auch den betreff ge
ä
ndert.Wenn ich das richtig sehe, k
ö
nnte ich das mit diesem Ansatz machen: viewtopic.php?f=23&t=737&start=40#p63514Wie kann ich aber erreichen, da
ß
der Countdown unterbricht, wenn die Wattzahl unter einen bestimmten Wert f
ä
llt und der Countdown fortgesetzt wird (nicht neu gestartet wird wird), wenn der Fernseher wieder an ist?Der Z
ä
hler soll erst um Mitternacht wieder auf 60 Minuten gesetzt werden.Danke und Gr
ü
ß
eAndreas
-
Wie kann ich aber erreichen, da
ß
der Countdown unterbricht, wenn die Wattzahl unter einen bestimmten Wert f
ä
llt `
stop zyklische Ausf
ü
hrung, Z
ä
hler bleibt stehen
@weimaraner:und der Countdown fortgesetzt wird (nicht neu gestartet wird wird), wenn der Fernseher wieder an ist? `
Ausf
ü
hren Intervall, es wird weiter gez
ä
hlt.Etwa so:

-
Sehr cool!
Das probiere ich morgen gleich aus.Danke f
ü
r Deine Hilfe!Gr
ü
ß
e AndreasEdit: eine Frage noch: Warum steht unten beim Trigger "setze countdown auf 600" zweimal?
-
Warum steht unten beim Trigger "setze countdown auf 600" zweimal? `
Das erste mal t
ä
glich um Mitternacht, das zweite mal bei Skriptstart, damit man zum Testen nicht bis Mitternacht warten muss. -
Jetzt habe ich es mal ausprobiert und zuerst ging der F
ö
hn, den ich zu Testzwecken an die HM Steckdose angeschlossen habe nach 10 Sekunden aus. Wenn ich allerdings zwischendurch unterbreche und den F
ö
hn per Hand ausschalte, sollte ja der Countdown unterbrechen und erst weiterz
ä
hlen, wenn der F
ö
hn wieder an ist. Er bleib dann aber unendlich an.Was lief falsch?

Edit: noch eine Verst
ä
ndnsisfrage. Mu
ß
die Variable (?) "countdown" noch irgendwie angelegt werden oder l
ä
uft das auch so in blockly. Falls ich den countdown visualisieren m
ö
chte, wo sehe ich diese Zahl?
hier noch der Import! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="comment" id="C)Oi+tobP3NJb8-5}_|" x="-587" y="-251"><field name="COMMENT">Leistung TV</field> ! <next><block type="on" id="Gb!veBqIjiY?+r9[#uBd"><field name="OID">hm-rpc.0.NEQ0399022.2.POWER</field> ! <field name="CONDITION">ne</field> ! <statement name="STATEMENT"><block type="controls_if" id="Sz~/2LQ)-na5/TBs]eGJ"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_operation" id="0ex^sjpa!qYiKEHq^Z9%"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="k%~+oSc;IMB8C{=qhHq-"><field name="OP">GT</field> ! <value name="A"><block type="on_source" id="IYp)x,cC9%dslvy]-D~v"><field name="ATTR">state.val</field></block></value> ! <value name="B"><block type="math_number" id="9[V^yHf85K:BIj;Qhfz"><field name="NUM">20</field></block></value></block></value>
! <value name="B"><block type="logic_compare" id="_b4u5:[xOOK)33LeOKP"><field name="OP">LT</field> ! <value name="A"><block type="on_source" id="8N:v1V4e:b/=X6*nxmfe"><field name="ATTR">oldState.val</field></block></value> ! <value name="B"><block type="math_number" id="sF;5?c;kVM=CQ%Ay%ruq"><field name="NUM">20</field></block></value></block></value></block></value> ! <statement name="DO0"><block type="timeouts_setinterval" id="M~/KK*jhdrtS]+AFhKbu"><field name="NAME">Intervall</field> ! <field name="INTERVAL">1000</field> ! <statement name="STATEMENT"><block type="math_change" id="gtrmX:13zZ=wR=[Z[B2i"><field name="VAR">countdown</field> ! <value name="DELTA"><shadow type="math_number" id="K|#JrzHvxmb{?|[Ors;j"><field name="NUM">-1</field></shadow></value> ! <next><block type="controls_if" id="xz4bhId~KOga3Gi^3z8r"><value name="IF0"><block type="logic_compare" id="V;6%b8l2_8M.JbT?+6J_"><field name="OP">LTE</field> ! <value name="A"><block type="variables_get" id=";9ULSELXNb:L|7ew]9+["><field name="VAR">countdown</field></block></value> ! <value name="B"><block type="math_number" id="Im78V(2SQtT-Ej+VUS7"><field name="NUM">0</field></block></value></block></value>
! <statement name="DO0"><block type="comment" id="1**{-)VFBc?j0L/AaqxW"><field name="COMMENT">TV aus</field>
! <next><block type="control" id="rZzovp+z/Dh=KlM}+BeE"><mutation delay_input="false"></mutation>
! <field name="OID">hm-rpc.0.NEQ0399022.1.STATE</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="logic_boolean" id="oO.l2^),wV(}Vw]0Ss7"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></statement></block></statement> ! <statement name="ELSE"><block type="timeouts_clearinterval" id="q2_0P~crCR[p0P=F/d:^"><field name="NAME">Intervall</field></block></statement></block></statement> ! <next><block type="schedule" id=":hRnpZId0WJtEG_v?3D."><field name="SCHEDULE">0 0 * * *</field> ! <statement name="STATEMENT"><block type="variables_set" id="?K~khJsMCiym/!BZi^J"><field name="VAR">countdown</field>
! <value name="VALUE"><block type="math_number" id="tJ5JliPj-#TzK)p.qiw"><field name="NUM">10</field></block></value></block></statement> ! <next><block type="comment" id="F67q]lpYtzr7K9@bl.@c"><field name="COMMENT">Skript Start</field> ! <next><block type="variables_set" id="G.*+9:~[g8mc#U1q5Xj"><field name="VAR">countdown</field>
! <value name="VALUE"><block type="math_number" id="Qz|ukuR7ryml=9RJOUo3"><field name="NUM">10</field></block></value></block></next></block></next></block></next></block></next></block></xml> -
Wenn ich allerdings zwischendurch unterbreche und den F
ö
hn per Hand ausschalte, sollte ja der Countdown unterbrechen und erst weiterz
ä
hlen, wenn der F
ö
hn wieder an ist. Er bleib dann aber unendlich an. `
Das ist logisch nicht nachvollziehbar, da auf countdown <= 0 gepr
ü
ft wird. Was ist "vorheriges Wert" ? Eine Skriptvariable oder eine Datenpunkteigenschaft ? Es muss die Datenpunkteigenschaft "vorheriger Wert" sein !

@weimaraner:Mu
ß
die Variable (?) "countdown" noch irgendwie angelegt werden oder l
ä
uft das auch so in blockly. `
Bei Auswahl des Blocks setze etwas auf wird die Variable etwas angelegt und je nach Auswahl umbenannt oder eine neue Variable erzeugt.
@weimaraner:Falls ich den countdown visualisieren m
ö
chte, wo sehe ich diese Zahl? `
Nirgends, denn es ist ein Skriptvariable. Anzeigen kannst Du den Wert mit einem Debug-Block unter erh
ö
he countdown um -1. -
Wenn ich allerdings zwischendurch unterbreche und den F
ö
hn per Hand ausschalte, sollte ja der Countdown unterbrechen und erst weiterz
ä
hlen, wenn der F
ö
hn wieder an ist. Er bleib dann aber unendlich an. `
Das ist logisch nicht nachvollziehbar, da auf countdown <= 0 gepr
ü
ft wird. Was ist "vorheriges Wert" ? Eine Skriptvariable oder eine Datenpunkteigenschaft ? Es muss die Datenpunkteigenschaft "vorheriger Wert" sein !Blockly_DP_Props.JPG `
Ich habe diesen Wert ausgew
ä
hlt.

Edit: Jetzt schaltet sich die HM Steckdose auch aus, wenn der F
ö
hn zwischendurch ausgeschaltet wurde. Hei
ß
t der Countdown wird nicht angehalten. Ich bastel das blockly morgen nochmal in Ruhe nach. Meine Frau denkt schon ich habe einen an der Waffel, da
ß
ich st
ä
ndig den F
ö
hn auf dem Schreibtisch anmache. :shock: -
Jetzt schaltet sich die HM Steckdose auch aus, wenn der F
ö
hn zwischendurch ausgeschaltet wurde. Hei
ß
t der Countdown wird nicht angehalten. `
Da ich keine Me
ß
steckdose habe, wei
ß
ich nicht, wie schnell der Leistungs-Datenpunkt bei Ausschalten reagiert. Vergr
ö
ß
ere mal die Zykluszeit (z.B. auf 3 s). -
JS-Adapter habe ich 3.2.6.
ich werde am Wochenende nochmal ausf
ü
hrlich mit l
ä
ngerer Zykluszeit testen.Heute nicht mehr
…
:? bin gerade rein und hundem
ü
de. -
So, das blockly l
ä
uft!
Vielen Dank vor allem an paul53.Scheinbar war mein Raspi mit der sek
ü
ndlichen Abarbeitung des Intervalls etwas
ü
berfordert und hat sich da verschluckt. Ich habe diesen nun von 1 Sekunde auf 5 Sekunden gesetzt und daf
ü
r den countdown entsprechend eingek
ü
rzt. Jetzt l
ä
uft alles sauber und wird bei Unterbrechung angehalten und startet auch wieder.Viele Gr
ü
ß
e Andreas
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden