NEWS
Test Adapter shuttercontrol v1.7.x
-
@heikobayer ja das ist eine Möglichkeit. Du kannst via script den State der Rollladenhöhe von Shuttercontrol überwachen und darauf zeitversetzt versuchen zu triggern. Den Status dann halt einen Moment später abfragen.
-
@heikobayer
Ich habe das gleiche Problem mit meinen Eltaco Rollo Aktoren via EnOcean. Mit habe das Problem nur mit einem externen Script hinbekommen. In Shuttercontrol setze ich Datenpunkte in 0_userdata.0 und reagiere per Script darauf. Das Script habe ich irgendwo hier gefunden und angepasst. Seit der Umstellung läuft Shuttercontrol ohne Störungen.Hier der Code:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="q)f9GP/jFz4t%-_%Z%tA">Rollo_Position</variable> <variable id="+MO6|!y7I)[3x,`8Rcf2">Rollo_State</variable> </variables> <block type="variables_set" id="MgO%*F8bDAC}#]eJDuhV" x="38" y="37"> <field name="VAR" id="q)f9GP/jFz4t%-_%Z%tA">Rollo_Position</field> <value name="VALUE"> <block type="text" id="-B8?7C)WN?z:mEvZBrK6"> <field name="TEXT">alias.0.Rollos.Badezimmmer</field> </block> </value> <next> <block type="variables_set" id="@3#6Sfkj6yn*{;AL]Vs0"> <field name="VAR" id="+MO6|!y7I)[3x,`8Rcf2">Rollo_State</field> <value name="VALUE"> <block type="text" id="^k_yiB,G_^|Y8e/Fg?b-"> <field name="TEXT">shuttercontrol.0.shutters.autoState.Rollos_Badezimmer</field> </block> </value> <next> <block type="on_ext" id="OWKn/i?Pior4N2la|d-Y"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="6NT/DiF57Aij{Pox#Xh;"> <field name="oid">shuttercontrol.0.shutters.autoState.Küche</field> </shadow> <block type="variables_get" id="eE*~n:IT9x{p)O[K*%|n"> <field name="VAR" id="+MO6|!y7I)[3x,`8Rcf2">Rollo_State</field> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="jxV|^mqVYd:v/a|sxcP{"> <mutation elseif="5"></mutation> <value name="IF0"> <block type="logic_compare" id="aX3Wx|g{L^qZ/)qfX9-:"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="4oFLlX-m5v=A|YC8N=m4"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="1S`Q.ao#WT8}qm:/C=X$"> <field name="TEXT">up</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="DG8$=*bSJb9Qrs*:VzH%" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="}=f`}e`}I_RnWv[zzgu."> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="=`w{HhqPrZRV;=(d7?j$"> <field name="VAR" id="q)f9GP/jFz4t%-_%Z%tA">Rollo_Position</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="HgX@$Xk=MWow;#$[3)#j"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="hS-^9i7Skv[*MX7Z2CC("> <field name="NUM">100</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="`y2aKj|[QK|qxJvH2*,_"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control" id="E_}9o2=n1dU~;^yVi_Gj"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Rollos.Beschattung.Badezimmer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="6L#V|f4MDa6,V@lA]%Z`"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="U5N0Gq}Ta@`:g~2=N5!,"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="N1yGA,]fSOR7hMkOMJ?7"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="r;N!{_G`D7U*~NJt5OY5"> <field name="TEXT">down</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control_ex" id="o:rzf.qyH?Be5g}8lEOX" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="V=zC]ghkz5idpQ]9F+hw"> <field name="VAR" id="q)f9GP/jFz4t%-_%Z%tA">Rollo_Position</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="5y?+?|u2aw4ot},q[9}8"> <field name="NUM">0</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="[T`T__b^4jZl2!tAm|Rb"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control" id="1}|XYQOrf92dz}Y7/hY7"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Rollos.Beschattung.Badezimmer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="%#bDuf`hucu/REFmQhGp"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="P/9KdM#z0L.x+cm:/#l-"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="wS`w+k,q7_^S4lvI80gJ"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="i+1h[W!?8u%ibPLW8ec9"> <field name="TEXT">sunProtect</field> </block> </value> </block> </value> <statement name="DO2"> <block type="control_ex" id="n?4$di|`{?mulcXaCv{R" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="|Oj^WR5MCJ6g|YlXj05("> <field name="VAR" id="q)f9GP/jFz4t%-_%Z%tA">Rollo_Position</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="%JY^)wD5Tthl`=llMoDe"> <field name="NUM">25</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id=";)6@U4rgEkOjNH:rnv7$"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control" id="eowo0+Tad@((CnX7MMp0"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Rollos.Beschattung.Badezimmer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="]HRNC7Z$fnIl7f[BFBcs"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF3"> <block type="logic_compare" id="8#B6DLk@3uCL.Nz!VQ#)"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="b-*O@G]*7;Jr24j(Xu[z"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="v`QIO/`(j9iF.m1!:Pd6"> <field name="TEXT">frost</field> </block> </value> </block> </value> <statement name="DO3"> <block type="control_ex" id="B,8!VY:vf!cd#(hVEg7i" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id=")tF@n66cHyGh8ssR.tDZ"> <field name="VAR" id="q)f9GP/jFz4t%-_%Z%tA">Rollo_Position</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="U_s)m^BB$z.%/*Xd(,qO"> <field name="NUM">18</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="v,[`-,)Y]Sp}l5)B7h!m"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control" id="Y8IF03[AsBKA!k(-k~@^"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Rollos.Beschattung.Badezimmer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="jodG=~N]2QB5FI9dPi$p"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> <value name="IF4"> <block type="logic_compare" id="0@?e+WQ6tMuht/}T^|w3"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="@Y]_bS_(JOcUf9#hUXSU"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="sVvZq{c`qSc?gfK`Kb{9"> <field name="TEXT">Xmas</field> </block> </value> </block> </value> <statement name="DO4"> <block type="control_ex" id="!ySi%zQhXO|Uq~KL6yeP" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="-}@MfB/q[i5!Zz]#HX9U"> <field name="VAR" id="q)f9GP/jFz4t%-_%Z%tA">Rollo_Position</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="uB/C^aqR]|TQ1l*7yf~+"> <field name="NUM">45</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="{ygK:AHpEpAwc]@E+a7A"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control" id="o.9i1T4r~V:F-7b`hR_D"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Rollos.Beschattung.Badezimmer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="D@AsOd2p!pP({q|4D!)y"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> <value name="IF5"> <block type="logic_compare" id="IXMDlghSGA7+_d5g#C:E"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="+0e{x`kRtPUj87x;fP2*"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="lQBNMb$yKTLtN94Ax7!E"> <field name="TEXT">fire</field> </block> </value> </block> </value> <statement name="DO5"> <block type="control_ex" id="?g3L:u(8QV9*[];Y|,.+" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="Z-Og_vg#JstBrWJu^Lmk"> <field name="VAR" id="q)f9GP/jFz4t%-_%Z%tA">Rollo_Position</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="!pZ,h-qR8Uf.5Te6p*,0"> <field name="NUM">100</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="w?UbkY}6@6R_Hp;/QBX}"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control" id="yONC}%Qi-NEUp7_#dp0|"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Rollos.Beschattung.Badezimmer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="#8fhZ|wZShz8U%t~T#^w"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> <block type="comment" id="5tl/HJ!apOMv%HnQ7ixx" x="638" y="38"> <field name="COMMENT">alias.0.X.Position</field> <next> <block type="comment" id="(FWX4ofT,}S]Q5Z~srfW"> <field name="COMMENT">shuttercontrol.0.shutters.autoState.X</field> </block> </next> </block> </xml>
Hier Datenpunkt:
{ "common": { "name": "Rollos.Badezimmer", "desc": "Manuell erzeugt", "role": "state", "type": "number", "unit": "%", "read": true, "write": true, "def": 0, "custom": { "influxdb.0": { "enabled": true, "storageType": "", "aliasId": "", "debounceTime": 300, "blockTime": 0, "changesOnly": true, "changesRelogInterval": "0", "changesMinDelta": "0", "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "enableDebugLogs": false, "debounce": "1000" } } }, "type": "state", "native": {}, "_id": "0_userdata.0.Rollos.Badezimmer", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1681120554641 }
Hier der Alias des Aktors:
{ "type": "state", "common": { "def": 0, "type": "number", "read": true, "write": true, "min": 0, "max": 100, "unit": "%", "role": "level.blind", "workingID": "WORKING", "name": "Rollo_Badezimmmer", "alias": { "id": "hm-rpc.0.CUX3602007.1.LEVEL" }, "desc": "per Script erstellt", "custom": { "influxdb.0": { "enabled": true, "storageType": "", "aliasId": "", "debounceTime": 300, "blockTime": 0, "changesOnly": true, "changesRelogInterval": "0", "changesMinDelta": "0", "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "enableDebugLogs": false, "debounce": "1000" } } }, "native": {}, "_id": "alias.0.Rollos.Badezimmmer", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1674972810078 }
-
@martybr
das Ursprungs Skript kommt von mir und hab ich hier genauer beschrieben. Ging mir ursprünglich um die Lamellensteuerung meiner Raffstores.
https://forum.iobroker.net/topic/55716/lamellensteuerung-mit-shuttercontrol/7?_=1685376847815 -
@rtwl
Richtig. Ich setze es bei mir erfolgreich ein und somit kann ich Shuttercontrol weiter nutzen. Ich hatte schon angefangen, meine Programme aus der Homematic nach ioBroker zu portieren. Ich konnte die Eltaco nicht dazu bringen, mit SC zusammenzuarbeiten. Es gab immer einen Versatz von 1 bis 2 %. Auch die Überprüfung in SC hat keine Besserung gebracht.
Also noch einmal vielen Dank für das Script. Ich lege nun eine Notiz mit deiner Info im Script an, dass ich vernünftig zitieren kann. -
@martybr sagte in Test Adapter shuttercontrol v1.4.x:
Ich lege nun eine Notiz mit deiner Info im Script an, dass ich vernünftig zitieren kann.
musst du nicht, alles gut.
shuttercontrol mit dem Script läuft bei mir auch wunderbar. -
Hallo,
ich steure die Rolladen mit dem Sonnenauf- zw Untergang. Wie kann ich diese Automatik einfach an und ausschalten? Dachte ich kann folgenden Datenpunkt nehmen, aber das funktioniert leider nicht:
Die Rolladen sind natürlich dem Wohnbereich zugeordnet, aber wenn der Datenpunkt auf falsch steht fährt die Automatik trotzdem.
-
@sixum sagte in Test Adapter shuttercontrol v1.4.x:
Dachte ich kann folgenden Datenpunkt nehmen, aber das funktioniert leider nicht:
wie hast du das gemacht?
@sixum sagte in Test Adapter shuttercontrol v1.4.x:
aber wenn der Datenpunkt auf falsch steht
in dem Screenshot ist false aber in rot!
-
@homoran said in Test Adapter shuttercontrol v1.4.x:
wie hast du das gemacht?
ich habe den Datenpunkt ausgewählt...
in dem Screenshot ist false aber in rot!
das ist mir tatsächlich nicht aufgefallen, woran kann das liegen?
-
-
@sixum Wenn du diese Funktion nutzen willst, musst du den Rollläden nicht "Wohnbereich" sondern "Wohnbereich (Automatik) zuordnen
-
@sixum sagte in Test Adapter shuttercontrol v1.4.x:
ich habe den Datenpunkt ausgewählt...
das verändert nichts!
-
@homoran
simatec hat doch schon die Antwort gegeben. -
@rtwl sagte in Test Adapter shuttercontrol v1.4.x:
@homoran
simatec hat doch schon die Antwort gegeben.das erklärt aber nicht, dass der Eintrag in rot erscheint, oder doch?
-
@homoran naja er hat ihn manuell gesetzt und deshalb gab es kein ack. Dann ist der Wert rot.
Ist aber bei alles States im iobroker so. Ohne Rückantwort böeibt der Wert rot, wird aber trotzdem gesetzt
-
@simatec sagte in Test Adapter shuttercontrol v1.4.x:
Ist aber bei alles States im iobroker so.
außer man setzt die mit ACK
Das geht sogar über den admin.Er hätte es ja auch mit einem Skript gemacht haben können.
-
@homoran da gebe ich dir recht. Aber erfahrungsgemäß ignorieren ack sehr viele
-
Hallo,
ich bin gerade mit 3 Dummy Rollläden am testen.
Jetzt ist mir aber bei der Sonnenschutzfunktion mit der Sonnenhöhe etwas unklar.In den Extra Einstellungen beim Punkt Astro-Einstellungen steht bei mir die Einstellung "Beenden der Sonnenschutzfunktion mit Sonnenhöhe (Elevation)" auf dem Wert 20.
Ich bin davon ausgegangen, dass es sich hierbei um eine Globale Einstellung der Instanz handelt, denn ich kann ja individuell bei jedem Rolladen in den Haupteinstellungen eine Sonnenhöhe einstellen. Handelt es sich hierbei um die selbe Funktion?
Bei meinem Test habe ich einen der Rollläden nämlich auf Sonnenhöhe 30 gestellt und trotzdem sind alle zur gleichen Zeit gefahren nachdem der Wert die 20 überschritten hat.
Liebe Grüße
Manuel -
Auch noch eine andere Frage von mir:
- ich würde gerne Rolläden im Schlafzimmer abends so schließen, dass noch Schlitze bestehen zum Lüften
- nachts gegen 5 Uhr sollen sich die Rolläden komplett (auf Position 0) schließen (= keine Schlitze / komplett dunkel)
Habe die Schliessen-Position auf 0 gesetzt und eingestellt, dass Rolläden erst in Zwischenposition (Pos 15) fahren sollen und global eben, dass um 5 Uhr jene Rolläden komplett schließen.
Leider noch ohne Erfolg: Rolläden fahren am Abend direkt auf 0 ohne Zwischenposition.
Jemand eine Idee? DANKE!
-
Um Mitternacht beginnt ein neuer Tag. Das heißt 5:00 Uhr ist zeitlich früher als deine Abend Bewegung. Daher greift das auch nicht mehr, weil in der Vergangenheit.
Abends auf 15% fahren und per Script um 5:00 Uhr den "closeAll" triggern. müsste gehen, so denke ich.
-
@simatec vielleicht kannst Du mir helfen. Ich habe einen Rollladen im Schlafzimmer, der per Script geschlossen wird wenn wir ins Bett gehen (Rollladen Höhe in Abhängigkeit der Außentemperatur da bei uns immer das Fenster nachts gekippt ist). Morgens bzw. bei Sonnenaufgang fährt der Script den Rollladen komplett runter (Frau wacht sonst auf wenn es hell wird). Und dann wenn alle wach sind, fahren wir den Rollladen manuell hoch. Somit steht er unter AutoStates auf Manu_Mode. Ich brauche den Shuttercontrol Adapter bei diesem Rollladen quasi auch nur wegen dem Sonnenschutz. Könnte ich zwar ebenfalls per Script machen aber da es noch weitere 8 elektrische Rollladen gibt - wollte ich es Deinem Adapter machen.
Kann es sein, dass der Sonnenschutz nicht funktionert wegen dem Manu_Mode? Ich habe keine Zeiten eingetragen unter Schlafbereich (dem ist der Rollladen zugeordnet) - der Sonnenschutz will einfach nicht fahren....