NEWS
UNSOLVED ioBroker führt jeden Morgen einen Restart durch!
-
dieser befehl und das ansehen dieses logs hat bei einem anderen fall klarheit gebracht - darin sah man sehr schön, dass das system den io-broker-prozess beendete wegen zu wenig speicher - in iobroker-log sah man das nicht eindeutig
(linux terminal)cat /var/log/syslog | grep "Jul 5" >syslog.heute.log
beispiel log:
-
@Homoran said in ioBroker führt jeden Morgen einen Restart durch!:
Warum nicht?
Ich nutze/besitze schon seit Jahren keinen PC mehr. Die Nutzung des RasPi als mini-PC nur für Hausautomation ist genau das Richtige für mich. Daher werde ich dann auf die 4GB-Version aufstocken.
Danke euch allen! -
@M1R0O sagte in ioBroker führt jeden Morgen einen Restart durch!:
mein ioBroker führ aktuell jeden Morgen einen Restart durch. Das hat zur Folge, dass willkürlich Skripte gestartet werden.
Die Rolläden fahren hinunter, der Fernseher ist an, etc...Wenn bei einem Restart Scripte etwas ungewolltes auslösen, solltest du vielleicht bei Gelegenheit auch die Scripte nach und nach überarbeiten.
-
@iomountain said in ioBroker führt jeden Morgen einen Restart durch!:
@M1R0O sagte in ioBroker führt jeden Morgen einen Restart durch!:
mein ioBroker führ aktuell jeden Morgen einen Restart durch. Das hat zur Folge, dass willkürlich Skripte gestartet werden.
Die Rolläden fahren hinunter, der Fernseher ist an, etc...Wenn bei einem Restart Scripte etwas ungewolltes auslösen, solltest du vielleicht bei Gelegenheit auch die Scripte nach und nach überarbeiten.
Danke für den Hinweis.
Aber voran liegt es, dass bspw. immer die Rollos herunter gehen und TV an- oder ausgeschaltet wird? Die Skripte zu den beiden Aktionen sehen nicht anders aus, als alle anderen. -
@M1R0O sagte in ioBroker führt jeden Morgen einen Restart durch!:
Die Skripte zu den beiden Aktionen sehen nicht anders aus
Wie sehen die denn aus?
Ohne das wissen ist deine Frage nicht zu beantworten:
@M1R0O sagte in ioBroker führt jeden Morgen einen Restart durch!:
Aber voran liegt es, dass bspw. immer die Rollos herunter gehen und TV an
-
Ich habe mehrere Skripte, um meine Rolläden zu schließen, aber nur eines, das zeitgesteuert läuft. Ich weiß nicht, welches der Skripte nach dem Restart durchläuft.
BlocklyJavascriptTypeScript Protokoll Ausgewählte Blöcke exportieren <xml xmlns="http://www.w3.org/1999/xhtml"> <block type="astro" id="Mlk3z$D0M(Su0nfFRY`C" disabled="true" x="-262" y="-438"> <field name="TYPE">sunsetStart</field> <field name="OFFSET">170</field> <statement name="STATEMENT"> <block type="control" id="SjC~k~,@VHCi.%ojU9k%"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A0RF04821400R6.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="E}+H9E[bjn7eeEOHQQ4="> <field name="NUM">50</field> </block> </value> <next> <block type="control" id="2)Fj7pi$4i2=(Z$:e)I."> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A0RF04821400R6.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="vYv`7jMPAwbgQ*LtOpDU"> <field name="TEXT">Die Rolläden schließen in 10 Minuten</field> </block> </value> </block> </next> </block> </statement> </block> <block type="astro" id="^tRU89Gl/6f9n8Cch9q(" x="-263" y="-262"> <field name="TYPE">sunsetStart</field> <field name="OFFSET">180</field> <statement name="STATEMENT"> <block type="control" id="dVkq`K!5IJ9h;i3,%KIx"> <mutation delay_input="false"></mutation> <field name="OID">shelly.0.SHSW-1#5553D6#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="l+-w+W0n2=hb2=%1wo%c"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="controls_if" id="/HNUV}1QQ.~M=(3}5`Nq"> <value name="IF0"> <block type="logic_compare" id="MhODUo:W[k=}.bi=fsp@"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Dldhsm49!4|@A8Hip8B]"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.00155993962768.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="MS:WCf_kIdsKo?#.*yXB"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="S*L(+iR.!AxMyAC}f[Sa"> <value name="IF0"> <block type="logic_compare" id="R=QANH`yeVA]vHQk)%ka"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="v-w(o1fCj/%:m5SZE/`R"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1855592.1.LEVEL</field> </block> </value> <value name="B"> <block type="math_number" id="Tkfb,B.mT~pN66O[)1Re"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id=".+Qw{%Fafw=D~b3AH@GR"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1855592.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="K~69nE;hO?`VD0WDZ(~2"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="controls_if" id="@yqSG/DviUsGD?%s4V2z"> <value name="IF0"> <block type="logic_compare" id="}LdTYP9S;d?~))e@a):g"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="DcHAHU*~TyRc)a]ZkH#L"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.00155993962F4F.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="y~{@kV~`Kf`S!(N5teV]"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id=",r/V}5YbAf0rY^IJ+]:("> <value name="IF0"> <block type="logic_compare" id="0D@DI2w}FLww!9qf?7pm"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="iR}a0L?r)G;Dx_vcJ5q{"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1852569.1.LEVEL</field> </block> </value> <value name="B"> <block type="math_number" id="Q`grS#O4H=,VHMTv)/ET"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="6D[t2]b~LUI?h`#5mrX2"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1852569.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="q!JgofXndBg3^xJ.WM`,"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="controls_if" id="`9lf6cs3|)riSuMp]^FU"> <value name="IF0"> <block type="logic_compare" id="~r@z?3wh3M?Up}c594}7"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="w9.EVnsaT~t.x(2n-HTo"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.00155993962EF7.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="m5V;8w`#QQf|_E27jO.r"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="H#-tgjloQ%MG}dLh(mb_"> <value name="IF0"> <block type="logic_compare" id="+{D#Wm,XwkU^:c(8iq{A"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="gq:lB#+!Y*jAY_6Zr7o4"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1854040.1.LEVEL</field> </block> </value> <value name="B"> <block type="math_number" id="4QtK2dp!Et(EZV~]KF[J"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="uqP0z^,1AWlnJd2Tfd-n"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1854040.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="Fo*5(dq=`+5eko{ywABR"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="controls_if" id="ePTD50C0wmJu-los0LIL"> <value name="IF0"> <block type="logic_compare" id="J!LlT).EdKfcZhY=?-R)"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="b[/~_sYe34#nY#z~4BMK"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.001559939628C4.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="rCcN4=#cbv?fr4O];gk("> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="}H?-*u{?iSRZgZrOwDYj"> <value name="IF0"> <block type="logic_compare" id="@fVR~5/6yJc2O-nxB^:5"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="6C18T^}@bsPRsa7)66%="> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1855282.1.LEVEL</field> </block> </value> <value name="B"> <block type="math_number" id="XH)~x@FFCyhSLP^gh={B"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="hEPcIr85R|{OoUM_HfI+"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1855282.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="%Tz]9h.S3Cdp%[rSKt7B"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="controls_repeat_ext" id="!Mz!Y)^@3`JP%:!c[dLt" disabled="true" x="13" y="-162"> <value name="TIMES"> <shadow type="math_number" id="_I]~e`/|ciiIh3ka@*;i"> <field name="NUM">3</field> </shadow> </value> </block> <block type="astro" id="h~?pM-cW#!zWN^v|VaQ@" disabled="true" x="-37" y="463"> <field name="TYPE">dawn</field> <field name="OFFSET">+190</field> </block> </xml> <xml xmlns="http://www.w3.org/1999/xhtml"> <block type="astro" id="Mlk3z$D0M(Su0nfFRY`C" disabled="true" x="-262" y="-438"> <field name="TYPE">sunsetStart</field> <field name="OFFSET">170</field> <statement name="STATEMENT"> <block type="control" id="SjC~k~,@VHCi.%ojU9k%"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A0RF04821400R6.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="E}+H9E[bjn7eeEOHQQ4="> <field name="NUM">50</field> </block> </value> <next> <block type="control" id="2)Fj7pi$4i2=(Z$:e)I."> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A0RF04821400R6.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="vYv`7jMPAwbgQ*LtOpDU"> <field name="TEXT">Die Rolläden schließen in 10 Minuten</field> </block> </value> </block> </next> </block> </statement> </block> <block type="astro" id="^tRU89Gl/6f9n8Cch9q(" x="-263" y="-262"> <field name="TYPE">sunsetStart</field> <field name="OFFSET">180</field> <statement name="STATEMENT"> <block type="control" id="dVkq`K!5IJ9h;i3,%KIx"> <mutation delay_input="false"></mutation> <field name="OID">shelly.0.SHSW-1#5553D6#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="l+-w+W0n2=hb2=%1wo%c"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="controls_if" id="/HNUV}1QQ.~M=(3}5`Nq"> <value name="IF0"> <block type="logic_compare" id="MhODUo:W[k=}.bi=fsp@"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Dldhsm49!4|@A8Hip8B]"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.00155993962768.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="MS:WCf_kIdsKo?#.*yXB"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="S*L(+iR.!AxMyAC}f[Sa"> <value name="IF0"> <block type="logic_compare" id="R=QANH`yeVA]vHQk)%ka"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="v-w(o1fCj/%:m5SZE/`R"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1855592.1.LEVEL</field> </block> </value> <value name="B"> <block type="math_number" id="Tkfb,B.mT~pN66O[)1Re"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id=".+Qw{%Fafw=D~b3AH@GR"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1855592.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="K~69nE;hO?`VD0WDZ(~2"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="controls_if" id="@yqSG/DviUsGD?%s4V2z"> <value name="IF0"> <block type="logic_compare" id="}LdTYP9S;d?~))e@a):g"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="DcHAHU*~TyRc)a]ZkH#L"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.00155993962F4F.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="y~{@kV~`Kf`S!(N5teV]"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id=",r/V}5YbAf0rY^IJ+]:("> <value name="IF0"> <block type="logic_compare" id="0D@DI2w}FLww!9qf?7pm"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="iR}a0L?r)G;Dx_vcJ5q{"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1852569.1.LEVEL</field> </block> </value> <value name="B"> <block type="math_number" id="Q`grS#O4H=,VHMTv)/ET"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="6D[t2]b~LUI?h`#5mrX2"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1852569.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="q!JgofXndBg3^xJ.WM`,"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="controls_if" id="`9lf6cs3|)riSuMp]^FU"> <value name="IF0"> <block type="logic_compare" id="~r@z?3wh3M?Up}c594}7"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="w9.EVnsaT~t.x(2n-HTo"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.00155993962EF7.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="m5V;8w`#QQf|_E27jO.r"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="H#-tgjloQ%MG}dLh(mb_"> <value name="IF0"> <block type="logic_compare" id="+{D#Wm,XwkU^:c(8iq{A"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="gq:lB#+!Y*jAY_6Zr7o4"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1854040.1.LEVEL</field> </block> </value> <value name="B"> <block type="math_number" id="4QtK2dp!Et(EZV~]KF[J"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="uqP0z^,1AWlnJd2Tfd-n"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1854040.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="Fo*5(dq=`+5eko{ywABR"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="controls_if" id="ePTD50C0wmJu-los0LIL"> <value name="IF0"> <block type="logic_compare" id="J!LlT).EdKfcZhY=?-R)"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="b[/~_sYe34#nY#z~4BMK"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.001559939628C4.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="rCcN4=#cbv?fr4O];gk("> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="}H?-*u{?iSRZgZrOwDYj"> <value name="IF0"> <block type="logic_compare" id="@fVR~5/6yJc2O-nxB^:5"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="6C18T^}@bsPRsa7)66%="> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1855282.1.LEVEL</field> </block> </value> <value name="B"> <block type="math_number" id="XH)~x@FFCyhSLP^gh={B"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="hEPcIr85R|{OoUM_HfI+"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1855282.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="%Tz]9h.S3Cdp%[rSKt7B"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="controls_repeat_ext" id="!Mz!Y)^@3`JP%:!c[dLt" disabled="true" x="13" y="-162"> <value name="TIMES"> <shadow type="math_number" id="_I]~e`/|ciiIh3ka@*;i"> <field name="NUM">3</field> </shadow> </value> </block> <block type="astro" id="h~?pM-cW#!zWN^v|VaQ@" disabled="true" x="-37" y="463"> <field name="TYPE">dawn</field> <field name="OFFSET">+190</field> </block> </xml>
Das TV an/aus Skript ist ganz einfach:
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="controls_if" id="YW?_%h,qdylj}*tM0-is" x="-412" y="-438"> <value name="IF0"> <block type="logic_compare" id="zS$_2rlJbF2Zu6i8f]D)"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id=",SW97sbrpp3X*Rg?x@Nc"> <field name="ATTR">val</field> <field name="OID">harmony.0.WHZ.activities.currentActivity</field> </block> </value> <value name="B"> <block type="text" id="tOVj6Rkj1X*[rB$d^N[K"> <field name="TEXT">Fernsehen</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="wpDLO2bLd3IVtbTmjNSu"> <mutation delay_input="false"></mutation> <field name="OID">harmony.0.WHZ.activities.Fernsehen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="WMU,JChkqno)B6?`P5pu"> <field name="NUM">2</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="f.SsjUdEmEX}F^kl4(kT"> <value name="IF0"> <block type="logic_compare" id="ri[E)?7e+uM!/cnPm^;U"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="ze0DUFdco|fAM2Di/t54"> <field name="ATTR">val</field> <field name="OID">harmony.0.WHZ.activities.currentActivity</field> </block> </value> <value name="B"> <block type="text" id="B4R)~`0G89pbjk)nWOv8"> <field name="TEXT">Fernsehen</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="0EqDa|:K@n8tcl+SSo,3"> <mutation delay_input="false"></mutation> <field name="OID">harmony.0.WHZ.activities.Fernsehen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id=":VB[F!(k{02]F-r`U6HM"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </next> </block> </xml>
-
das startet immer, bei jedem Aufruf des Blockly, auch beim Neustart. Da ist kein Trigger drinn der das Blockly auslösen soll...
Edit:
Das erste lässt sich nicht importieren (bei mir) habe ich mir jetzt nicht angesehen. -
Das ist das Rolläden-Skript:
Hier arbeite ich mit Triggern.
-
@M1R0O sagte in ioBroker führt jeden Morgen einen Restart durch!:
Hier arbeite ich mit Triggern.
reicht ja ein skript ohne Trigger um die Rollläden zu bewegen
Interessant wäre das Skript in dem dein TV vorkommt.
Das klingt nach einem Toggle -
@Homoran said in ioBroker führt jeden Morgen einen Restart durch!:
@M1R0O sagte in ioBroker führt jeden Morgen einen Restart durch!:
Interessant wäre das Skript in dem dein TV vorkommt.
Das klingt nach einem ToggleDas hat @dslraser in seinem Post dargestellt. Dies ist in der Tat ein Toggle ohne Trigger.
Wie kann ich ein Trigger hinzufügen, aber dennoch die Toggle-Funktion behalten? -
@M1R0O sagte in ioBroker führt jeden Morgen einen Restart durch!:
Wie kann ich ein Trigger hinzufügen, aber dennoch die Toggle-Funktion behalten?
indem du einen Trigger drumherum baust, der nur auf Änderung der activity triggert.
Die restlichen falls beliben innerhalb des triggers, wobei ich ein falls mit sonstfalls bevorzugen würde
-
Puh, hört sich gut an, verstehe ich aber erstmal nicht. Hast du ein Beispiel, ansonsten lese ich mich ein.
Gestartete Rollädenskripte ohne Trigger habe ich keine. Pausierte schon, zählen die auch?
Die restlichen Rollädenskripte sehen so aus:
-
@M1R0O
alle Blocklys (oder eben Scripte) die nur steuere/aktualisiere usw. Befehle ohne Trigger haben werden einmalig beim Start ausgeführt, oder wenn das Blockly aktualisiert wird.
Danach lauscht ja kein Trigger mehr, ob was passiert und etwas ausgeführt werden soll.Nimm Dir mal einen steuere Befehl (irgendwas an/ausschalten) das geht nur ein Mal beim Start.(oder eben beim System/oder Instanz neu starten), danach passiert damit nix mehr.
Mit Trigger, der z.B. entweder auf aktualisieren / ändern eines Datenpunktes reagiert kannst Du anschließend innerhalb des Triggers ptüfen und gegebenenfalls Deine Aktionen schalten.
-
Das ist schlecht, denn ich habe zig Skripte, die als Toggle für mein Wandtablet dienen.
Wenn ich alle, auch die pausierten, Skripte mit einem Trigger versehen muss, den ich bisher nicht verstehe, habe ich noch etwas zu tun... -
@M1R0O Habe kein blockly zur Hand, aber in Worten etwa so (am obigen Beispiel):
[TRIGGER (rot): Falls Objekt-ID "harmony.0......currentActivity" wurde geändert:] | falls [WERT (roter Variablen-Block)] gleich "Fernsehen" | | steuere "harmony.0....Fernsehen" mit 0 | sonst | | steuere "harmony.0....Fernsehen" mit 2 |__
Diese Skripte müssen immer laufen und im VIS änderst du jeweils nur den Wert, der überwacht wird (
....currentActivity
in deinem fall).Skripte starten und stoppen sollte man nicht automatisiert machen, da sonst genau deine beschriebenen Phänomene auftreten.
-
Meinst du so:
?
DankeEdit: So geht´s auf keinen Fall, da so eine Fernsehen-Bootschleife erzeugt wird.
-
@M1R0O Was sorgt denn für die Bootschleife? Ggf. reicht es "anerkannt" auf "Update" zu setzen.
-
@M1R0O
willst Du damit schalten/steuern können, oder soll das nur zur Anzeige (z.B. auf Deiner VIS) dienen ?Edit: in Deinem Beispiel ist der Trigger die aktuelle activitie. Wenn also die activitie aktualisiert werden und aktuell alles ungleich Fernsehen ist soll die activitie Fernsehen mit 2 gstartet werden. (gibt es übrigens nicht zum schalten. Es gibt zwar 0/1/2/3, aber zum schalten nur 0 und 1, siehe Adapter Info)
https://github.com/foxriver76/ioBroker.harmony/blob/master/README.md
Dein Beispiel kann nicht richtig funktionieren. funktionieren
-
zum steuern über den Harmony Hub habe ich was ähnliches. Die Trigger sind selbst erstellte Datenpunkte, in diesem Fall als Button.
Ich schalte damit über Alexa die activities des Harmony HUB. In diesem Beispiel prüfe ich welcher ECHO den Befehl Fernseher an bekommen hat. Im oberen Beispiel darf der aus dem Wohnzimmer und aus der Küche dann schalten.Du bräuchtest diese Prüfung ja vielleicht gar nicht. Vereinfacht gesagt:
selbst erstellter Button wird gedrückt(Trigger auf wurde aktualisiert), dann schalte die activitie auf 1(an) = Fernseher geht an.
Das könnte ja bei Dir auch ein Schalter(kein Button) sein.(Trigger auf wurde geändert)
1=an
0=aus
Wobei Du vorher ein Prüfung einbauen kannst ob die activitie schon an oder aus ist.
usw...
-
Danke für Eure Hilfe!
Die Bootschleife entsteht, da, wenn das Skript läuft, Fernsehen ausgeschaltet wird wenn es an ist und angeschaltet wird, wenn es aus ist - da es ja ein Schalter sein soll.@AlCalzone sagte in ioBroker führt jeden Morgen einen Restart durch!:
@M1R0O Was sorgt denn für die Bootschleife? Ggf. reicht es "anerkannt" auf "Update" zu setzen.
@dslraser sagte in ioBroker führt jeden Morgen einen Restart durch!:
zum steuern über den Harmony Hub habe ich was ähnliches. Die Trigger sind selbst erstellte Datenpunkte, in diesem Fall als Button.
Eigentlich möchte ich ja nur einen Schalter > wenn der Schalter im Vis gedrückt wird, soll Fernsehen entweder ein- oder ausgeschaltet werden (dass der Wert fürs "Anschalten" 1 sein muss, ist klar).
Diese Alexa-Datenpunkte (auch "Fernsehen") habe ich auch.
Ich versuche es jetzt einfach mal so: