NEWS
Test Adapter shuttercontrol v1.7.x
-
@heikobayer ja da liegst du falsch. Die Funktion ist für Aktoren gedacht, die den Status bei Fahrt mit ausgeben und erst nach erreichen der Position den tatsächlichen Status senden.
-
@simatec OK. Danke für die Info! Dann suche ich nach einer anderen Lösung für dieses Problem.
BTW: Gibt es Intensionen, eine solche Kompensation einzubauen? Bin sicherlich nicht der Einzige, bei dem die Rollos die gewünschte Position etwas verfehlen. Evtl. so etwas wie eine Hysterese? -
@heikobayer Nein da ist nix geplant, da es sich hier um ein reines Problem der Aktoren handelt.
Wenn Shuttercontrol das ausgleichen müsste, würde das komplette Konzept nicht mehr passen.Prüfe deine Einstellungen der Aktoren, kalibriere sie und schaue nach verfügbaren Updates.
Es ist ja hier nicht normal und in meinen Augen ein Bug der Aktoren, wenn ich sage 70% kann es nicht passen, dass sie 71% fahren. -
@simatec OK. Damit hast du sicherlich recht. Wäre nur ein Gedanke gewesen.
Dennoch vielen Dank für den tollen Adapter. Ich werde zusehen, das Problem mit den Aktoren anderweitig zu lösen.
Vielleicht noch eine letzte Frage: Wenn ich versuche, die Position via Skript zu korrigieren, wäre es dann möglich z.B. nach 3 min den Rollladenstatus zu überprüfen und somit dann im sunprotect Modus zu bleiben?? -
@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