NEWS
[gelöst] Homematic HmIPW-DRBL4 / Jalousien Storen steuern
-
Hallo zusammen,
Steuern der Wired HmIPW-DRBL4.
Wie auf diversen Blogs,Threads usw gepriesenen Pseudowert von 101% bei Lamellen bzw Behanghöhe bringt ein riesen Chaos und hat mich nun leider einige Stunden an testen gekostet.
Problem war folgendes:
Ich fahre die Lamellen hoch LEVEL: 100, dann drücke ich STOP (er stoppt bei ca. 53) , dann stelle z.b. die Lamellen ein mit LEVEL_2 -30 und LEVEL 101 - jetzt fährt die Storen auf 2 also ganz nach unten und stellt den LEVEL_2 ein.Wenn ich jetzt weitere LEVEL_2 Einstellungen machen, klappt das einwandfrei. Store bleibt ganz unten und verstellt nur die Lamellen.
Zusätzlich ist mir aufgefallen das ich manchmal 2x auf STOP drücken muss, weil der Aktor nach dem Stop nochmal etwas bearbeitet...
Es funktioniert wie folgt:
Beim komplett hoch / runter müsst ihr den LEVEL_2 auf 100 oder 0 setzten, wenn ihr bei den anderen Werten es nicht macht, wird die ursprüngliche Lamellen Position wieder angefahren (wie in meinem Beispiel).// set level on({id:'javascript.0.storen.control.level'}, function (obj) { $('state[id=javascript.0.storen.raum.*]').each(function(id) { var state = getState(id); if(state.val){ var storen = getObject(id); if(obj.newState.val == 100 || obj.newState.val == 0){ // change blinds only if full up or down. setState(storen.common.actor + '.LEVEL_2', obj.newState.val); } setState(storen.common.actor + '.LEVEL', obj.newState.val); } }); });
Wenn ihr nur die Lamellen Position ändern wollt, muss zwingend ein STOP ausgeführt werden nach dem ändern.
// set level 2 on({id:'javascript.0.marc.storen.control.level2'}, function (obj) { $('state[id=javascript.0.marc.storen.raum.*]').each(function(id) { var state = getState(id); if(state.val){ var storen = getObject(id); setState(storen.common.actor + '.LEVEL_2', obj.newState.val); setState(storen.common.actor + '.STOP', true); } }); });
Einfaches STOP
// stop all on({id:'javascript.0.marc.storen.control.stop'}, function (obj) { $('state[id=javascript.0.marc.storen.raum.*]').each(function(id) { var storen = getObject(id); setState(storen.common.actor + '.STOP', true); }); });
Klappt alles wunderbar und ohne diese 101%
nicht vergessen die richtigen hoch/runterfahr und Lamellenzeiten beim Aktor eintragen
Hoffe es hilft.
Viele Grüsse
-
Nachtrag:
mit der CCU Firmware Version 3.53.26 wurde auch die Firmware des DRBL4.
das obige Script klappt nicht mehr reibungslos.
Neu ist jetzt aber der combined_parameter im iobroker, somit können wir wie folgt Werte setzen:
z.b.
setState('hm-rpc.2.xxx.COMBINED_PARAMETER', 'L=70,L2=30');funktioniert einwandfrei.