Demnach sollten es 0,03 kWh sein. Also der Übeltäter ist der Shelly. Ohne zweites Script wirst du keinen Erfolg erzielen. Ich hatte so ein Script hier schon veröffentlicht. Musst du man in der Homematic Rubrik suchen
Beiträge von gmt94
-
-
-
An einen Überlauf glaub ich nicht.
Du brauchst ein zweites Script, welches das Rücksetzen auf 0 abfängt. Kannst du Mal bitte im Status des Shellys im Browser überprüfen ob die Werte zusammenpassen. Einfach IP/Status in Browser eintippen. Also die IP des besagten shellys.
Und dann auf den total wert gucken. Das Script macht nämlich nichts anderes.
-
-
Also wir haben nur Androiden Zuhause.
Ich habe über den folgenden Adapter gelöst. Geht aber nur mit nee fritte. Dort kann man dann einfach die IP-Adresse eintragen und die Verbindung zur fritte herstellen.
Die erste Variante die ich hatte funzte auch nicht...dort wurde einfach auch nur die IP abgefragt... Weiß aber gar nicht mehr wie ich das gemacht hatte
-
Signatur sehe ich mobil nicht...
Bei mir dauert es teilweise Sekunden beim Umschalten der einzelnen Seiten. Wie ist das beim iPad? Du hast ja auch eine ganze Menge stati die da angezeigt werden
-
Sag was nutzt für eine Hardware um das zu visualisieren?
-
-
Ein Pflaster auf das nächste.
Ich bleibe dabei, wir zerbrechen uns die rübe, einfachste Features mit irgendwelchen Tricks lauffähig zu bekommen, weil der Hersteller seine Hausaufgaben nicht macht.
-
Du meinst per Actions?
Ich will ihn gerade ja nicht permanent im any haben, da er ja sonst auch tagsüber Bewegungen erkennt aber logischerweise kein Licht anmacht. Das geht ja unnötig auf den Akku.
Beide Varianten, also deine und meine sind eigentlich komplett unnötige workarounds für den Motion.
-
Ok, dann sage mir Mal bitte wie.
-
Problemstellung:
Vor ein paar Tagen habe ich den Motion bekommen und musste ihn natürlich gleich auf Herz und Nieren prüfen. Zunächst habe ich ihn provisorisch im EG Flur installiert. Hier bekommt er somit die meisten Bewegungen im ganzen Haus mit. Da ich soviel wie möglich akku sparen wollte habe ich operation modus auf "dark" gestellt und die Luxschwelle auf 10 Lux gesetzt. So nun kommt wie es kommen musste. Es wurde dunkel und ich gehe in den Flur und zack licht geht an. Cool dachte ich mir, das funzt ja wirklich gut. Die Blindtime steht auf 60s. Also habe ich mich länger als 60s im Flur aufgehalten und auf einmal geht das licht aus. Was soll das dachte ich mir noch und zückte das Handy und wählte mich auf den shelly per browser. Also nochmal in den Flur und siehe da, trotz Bewegung zählt der counter runter und licht geht aus. Da durch das Licht der Lampen, der Luxwert meiner Darkschwelle überschritten wird erkennt der shelly keinerlei Bewegung mehr. Ich frage mich echt, wer bei shelly auf so eine bekloppte logik gekommen ist....
Lösung:
Ich habe ein kleines Blockly geschrieben, auf dem die Variable des Motions getriggert wird. Wird nun eine Bewegung im modus dark erkannt, wird wie gewünscht das licht eingeschaltet. Mit einem kurzen Zeitversatz von 1s wird zusätzlich ein http request an den motion gesendet. Hierbei schalte ich vom Modus dark auf den modus any um. Nun wird wie gewünscht alle bewegungen erkannt und dementsprechend die Laufzeit verlängert.
Folgt keine Bewegung mehr, schaltet das Script das LIcht wieder aus und 1s später wird per request wieder auf modus dark umgeschalten.
Ihr könnt natürlich jede andere Kombination der einzelnen Modi wählen. Einfach nur im Text beim request die letzte Zahl anpassen.
0 = Any
1 = Dark
2 = Twilight
3 = Bright
Natürlich muss euere IP-Adresse des Shellys angepasst werden.
Code
Alles anzeigen<block xmlns="http://www.w3.org/1999/xhtml" type="on" id="D|N`4kxmOl0=W^SEn(*~" x="112.66668701171875" y="-312.6666717529297"> <field name="OID">shelly.0.SHMOS-01#60A4239A5D4A#1.sensor.motion</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="N?xYIbNeelWBY#wsjqjK"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="q(hrMv^v/vr2.i_CC~-R"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="$dP-|zjsr5mJ8=UhRt3a"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHMOS-01#60A4239A5D4A#1.sensor.motion</field> </block> </value> <value name="B"> <block type="logic_boolean" id="02kHRgvfw=y.+P/h--=R"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="R/SO5$F9qI/dpRbAdKU0"> <mutation delay_input="false"></mutation> <field name="OID">shelly.0.SHSW-25#F40164#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="ZozMANq|,5/pO?qDk}y%"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="_WvIq]hX`1Y#GbcsOh9w"> <field name="NAME">timeout</field> <field name="DELAY">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="request" id="UO6$?K3DR6~1aV6:EYfo"> <mutation with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="AgN~+xHz|b)MmQbOP3pe"> <field name="TEXT">http://192.168.xxx.xxx/settings?motion_operating_mode=0</field> </shadow> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="l]XfnY0/48wjdqxKkfXF"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="whYU|Mn]+tdbs[az;dy@"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHMOS-01#60A4239A5D4A#1.sensor.motion</field> </block> </value> <value name="B"> <block type="logic_boolean" id="`dMxBN%=/9`kcf.dn{4$"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="Q0_CDp]=1b-4kbAeY1DA"> <mutation delay_input="false"></mutation> <field name="OID">shelly.0.SHSW-25#F40164#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="|Jxg9=J#n{,lvU[AO.oi"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_settimeout" id="n[4ot]KfUVj]}x|o:pDw"> <field name="NAME">timeout2</field> <field name="DELAY">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="request" id="6Yp.qgW)#JkmQRvDpuCH"> <mutation with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="ln(d!_k.$YWaa/^.`ct4"> <field name="TEXT">http://192.168.xxx.xxx/settings?motion_operating_mode=1</field> </shadow> </value> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block>
-
Zielsetzung:
Dieses Blockly liefert eigentlich einem weiteren Blockly nur die Werte. Ich habe hinter meinen Garagentoren eine Lichtschranke installiert die über die gesamte breite geht, somit beide tore erfassen kann. Über die Durchfahrtszeit durch die Lichtschranke kann ich somit relativ genau sagen ob, ein Fahrzeug gerade ein oder ausparkt. Lange Zeiten deuten auf ein Einparken hin und kurze auf ein ausparken. Ganz kurze Zeiten von kleiner als 1,5s werden nicht berücksichtigt, da diese meist nur ein durchlaufen einer Person der schranke darstellen.
Wozu brauche ich die Information?
Hiermit steuere ich das gesamte Lichtverhalten beim nachhause kommen oder verlassen, nicht nur in der Garage sondern auch noch in der Hofeinfahrt. Anfangs hatte ich immer die gleiche Zeit für alles eingestellt, was natürlich nicht wirklich optimal ist.
Was wird benötigt:
An jedem Tormotor (Hörmann Promatic 3) hängt ein Shelly 1, der mir die Endlage Tor geschlossen meldet/erkennt.
Ein Shelly (bei mir RGBW2) an der Lichtschranke - Wird die Schranke unterbrochen, wird der Switch des Shellys aktiviert.
[BLOCKLY] - Comming und Leaving Home Fahrzeuge in der Garage.txt
-
Eigentlich gibt es zwei Ziele dieses kleine Blocklys.
1. Meine Dunstabzugshaube (Umluft) hat jetzt über die Zeit ein eigenleben entwickelt. Soll heißen, dass ding geht einfach irgendwann ohne ersichtlichen grund von alleine an, fährt alle Luftungsstufen durch und bleibt dann auf volle pulle stehen. dann hilft nur noch stecker ziehen. Daher wird nach Benutzung (5min) die Spannung gekappt.
Dazu ist hinter der Abzugshaube ein Shelly Plug S installiert.
2. Meine zentrale Lüftungsanlage verfügt über externe Schließereingänge mit denen ich bestimmte Lüftungsstufen ansteuern kann. Dort hängt ein Shelly 1 dran.
Wird jetzt die Abzugshaube eingeschalten wird die maximale Stufe der Lüftungsanlage aktiviert und läuft noch 15min nach abschalten der Abzugshaube nach.
Blockly Export
<xml xmlns="http://www.w3.org/1999/xhtml">
<block type="on" id="qyU3pETUy!*jVdW/3/oJ" x="62" y="-112">
<field name="OID">shelly.0.SHPLG-S#DE6886#1.Relay0.Power</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id=",REJ[m1ptmJ([@E~:^^[">
<value name="IF0">
<block type="logic_compare" id="252.*}PCa-B8mQ0fYfL)">
<field name="OP">GT</field>
<value name="A">
<block type="get_value" id="]cf@2dB0Zpk:5|mT[4}9">
<field name="ATTR">val</field>
<field name="OID">shelly.0.SHPLG-S#DE6886#1.Relay0.Power</field>
</block>
</value>
<value name="B">
<block type="math_number" id="uYR)2[on,r`MFy,8j4hc">
<field name="NUM">10</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control" id="P|k*)n67V1I.f7Z$GG@G">
<mutation delay_input="false"></mutation>
<field name="OID">shelly.0.SHSW-1#10E560#1.Relay0.Switch</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="*dvC6hzP%`3#3uRPbsSk">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
</block>
</statement>
<next>
<block type="on" id="yI11Ai#8nv)e,#]Ng5oe">
<field name="OID">shelly.0.SHPLG-S#DE6886#1.Relay0.Power</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="kcHHvPdhGj%XN]`$A,wF">
<value name="IF0">
<block type="logic_compare" id="yY-`bjJbvbqc5m@FC.;S">
<field name="OP">LTE</field>
<value name="A">
<block type="get_value" id="ZntCT-$TeJ~csJkWVa+F">
<field name="ATTR">val</field>
<field name="OID">shelly.0.SHPLG-S#DE6886#1.Relay0.Power</field>
</block>
</value>
<value name="B">
<block type="math_number" id="r9s(z2M#hs59oAj90)Vq">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control" id=";bIT32=EMBt?3vpW,B50">
<mutation delay_input="true"></mutation>
<field name="OID">shelly.0.SHPLG-S#DE6886#1.Relay0.Switch</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">5</field>
<field name="UNIT">min</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="SX=Z-ahk{8(zFYyM.?6t">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="m]h_@QTx)u2JCt5l{?p-">
<mutation delay_input="true"></mutation>
<field name="OID">shelly.0.SHSW-1#10E560#1.Relay0.Switch</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">15</field>
<field name="UNIT">min</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="3+kUpp%+,t-nJoZP(Nls">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
</xml>
-
Benötigt wird ein Shelly 1PM oder ein anderer Shelly der die Leistung messen kann. Dieser muss natürlich vor dem Geschirrspüler installiert sein.
Des Weiteren wird noch eine Systemvariable benötigt, die Anfangs auf die noch vorhanden Tabs manuell beschrieben werden muss. Die benötigten Leistungswerte müssen dann noch von euren Geräte ermittelt werden. Ich empfehle die Schwelle mit den 50W für den Start zu lassen, sonst kann es passieren, dass man den Geschirrspüler einschaltet ohne aber ein Programm laufen zu lassen und ihn anschließend wieder ausschaltet, dass er iorbroker denkt, dass das gerät lief. Wird eine neue Packung gekauft, muss die Variable wieder von Hand beschrieben werden.
Als Abschluss gibt es noch ein Telegramm aufs Handy, dass der Geschirrspüler fertig ist.
Ich arbeite noch nicht lange mit dem Iobroker, daher geht bestimmt manchen deutlich einfacher oder schlanker....
Blockly Export
<xml xmlns="http://www.w3.org/1999/xhtml">
<variables>
<variable type="" id="lpH;YI/T(sC6n[fhfta1">P_Geschirrspueler_akt</variable>
<variable type="" id="Rqm%uv,~8MnTQRm!L@0?">B_Geschirrspueler_an</variable>
<variable type="" id="uqiq+JcQK,U:^VRd{i(C">Var_Counter_Tabs</variable>
</variables>
<block type="on" id="/V`vmsry1Aqt(d/t/.r!" x="113" y="13">
<field name="OID">shelly.0.SHSW-PM#BA50C2#1.Relay0.Power</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="variables_set" id="zo-jMQZP3.JQqlc]EFq(">
<field name="VAR" id="lpH;YI/T(sC6n[fhfta1" variabletype="">P_Geschirrspueler_akt</field>
<value name="VALUE">
<block type="get_value" id="6g~(aRrL/awh`;q/WESW">
<field name="ATTR">val</field>
<field name="OID">shelly.0.SHSW-PM#BA50C2#1.Relay0.Power</field>
</block>
</value>
<next>
<block type="controls_if" id="Nu*qu-T=mmS7]-6Uf!.f">
<value name="IF0">
<block type="logic_compare" id="JBUvFrLT|R!fu0Zh002i">
<field name="OP">GTE</field>
<value name="A">
<block type="variables_get" id="r-oBggDM_:6L?~E!TqGb">
<field name="VAR" id="lpH;YI/T(sC6n[fhfta1" variabletype="">P_Geschirrspueler_akt</field>
</block>
</value>
<value name="B">
<block type="math_number" id="7(L1]#ap}yTEM)r,bnk)">
<field name="NUM">50</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="variables_set" id="6W^3.g_t5WC]eySp`iTu">
<field name="VAR" id="Rqm%uv,~8MnTQRm!L@0?" variabletype="">B_Geschirrspueler_an</field>
<value name="VALUE">
<block type="logic_boolean" id="hu+MhSy[3IHk[BQw}PMi">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
</block>
</next>
</block>
</statement>
<next>
<block type="on_ext" id="AoXtR]Z=[0B28K2K-_hz">
<mutation items="1"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="um43%0(OapU0nqyrtj/y">
<field name="oid">shelly.0.SHSW-PM#BA50C2#1.Relay0.Power</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="variables_set" id="aVT)x),;Blig#[Ko(@nM">
<field name="VAR" id="lpH;YI/T(sC6n[fhfta1" variabletype="">P_Geschirrspueler_akt</field>
<value name="VALUE">
<block type="get_value" id="oY3N,:*KwP7K#r=OM*.N">
<field name="ATTR">val</field>
<field name="OID">shelly.0.SHSW-PM#BA50C2#1.Relay0.Power</field>
</block>
</value>
<next>
<block type="controls_if" id="_;y-;Q}e_@NGee5IRx#P">
<value name="IF0">
<block type="logic_operation" id="=M)nQRR(Tmj+aH^$R$G?" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="/[h+^L5`[QN0|9w*KG:4">
<field name="OP">LT</field>
<value name="A">
<block type="variables_get" id="U{dz#*Bp*MFlVo%8w%Sl">
<field name="VAR" id="lpH;YI/T(sC6n[fhfta1" variabletype="">P_Geschirrspueler_akt</field>
</block>
</value>
<value name="B">
<block type="math_number" id="xAIT__(4qq(2;cjG*~s(">
<field name="NUM">2.8</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="}^x2HcWDJ7r+)dNi)H*m">
<field name="OP">EQ</field>
<value name="A">
<block type="variables_get" id="NI,8@Ot)FtexlVJ(hnSl">
<field name="VAR" id="Rqm%uv,~8MnTQRm!L@0?" variabletype="">B_Geschirrspueler_an</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="H{cDSUwG8^N%oJ9eT~+x">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="variables_set" id="DnO9cYAw@^d+UBGQayoN">
<field name="VAR" id="Rqm%uv,~8MnTQRm!L@0?" variabletype="">B_Geschirrspueler_an</field>
<value name="VALUE">
<block type="logic_boolean" id="7U4$=^3uIy/dhFtU5aPN">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="variables_set" id="Bmo#B(,a:1/3T@Ddp}?}">
<field name="VAR" id="uqiq+JcQK,U:^VRd{i(C" variabletype="">Var_Counter_Tabs</field>
<value name="VALUE">
<block type="get_value" id="ZOf=8v$t=rm$Id49!Qwx">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.Var_Counter_Geschirrspültabs</field>
</block>
</value>
<next>
<block type="variables_set" id="k#{Ue6(;8h%p~|*~4[`*">
<field name="VAR" id="uqiq+JcQK,U:^VRd{i(C" variabletype="">Var_Counter_Tabs</field>
<value name="VALUE">
<block type="math_arithmetic" id="Udx3xVl_C*ewI|Tn$yvn">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="/Zp;#,IV=/M$8xty(?7I">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="QW6NXtovxSn$!#y`ij2,">
<field name="VAR" id="uqiq+JcQK,U:^VRd{i(C" variabletype="">Var_Counter_Tabs</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="ChE%hhlOm|MYdKvg2v.Z">
<field name="NUM">1</field>
</shadow>
</value>
</block>
</value>
<next>
<block type="control" id="@b0h/uwOL]!?[4h3wqvl">
<mutation delay_input="false"></mutation>
<field name="OID">0_userdata.0.Var_Counter_Geschirrspültabs</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="S]dI*DjhY2pE;[3.r~oS">
<field name="VAR" id="uqiq+JcQK,U:^VRd{i(C" variabletype="">Var_Counter_Tabs</field>
</block>
</value>
<next>
<block type="telegram" id="dbgFBvJ$phy$X[P^I#5K">
<field name="INSTANCE"></field>
<field name="LOG"></field>
<field name="SILENT">FALSE</field>
<field name="PARSEMODE">default</field>
<value name="MESSAGE">
<shadow type="text" id="M7AC{j?J._{Jky|~)+!B">
<field name="TEXT">Geschirrspüler fertig</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</xml>
-
Ich blicke jetzt auch nicht so ganz durch.
Kannst du bitte Mal sagen was genau du mit den shellys und der Homematic vorhast?
-
Also so ganz genau kann ich dir das nicht sagen.
Wenn du dich noch etwas gedulden kannst wird dir 66er sicher hier bald antworten und etwas Lichts ins Dunkeln bringen.
Wusste ich bis eben auch nicht. Fakt ist jedoch ohne cuxd Installation auf der Ccu geht es ohne Original Software der shellys nicht.
-
-
das ist kein Programm.
Das ist nur der Befehl (syntax) im Shelly der einen cuxd Schalter in der Homematic schaltet.
-
Hast du Mal einen Link wo Du das gefunden hast?
Welches Programm meinst du da genau. Die Anleitungen von dem User 66er sind meiner Meinung nach alles ohne irgendwelche Zusatzprogramme. Ich nutze sie größtenteils auch.