Hallo,
habe im Youtube Monatsrückblick vor einigen Tagen das erste Mal FUIP gesehen, dies hat mich sofort angesprochen.
Nun habe ich mein erstes Problem(chen), dies wird vermutlich auch nicht das letzte sein ;)
Ich habe Somfy Rollos, die verhalten sich etwas anders in den Readings wie z.B. Homematic. Beim Einsatz des ShutterControlst habe ich folgendes Problem:
Setzen von minLevel=0 und maxLevel=100 führt dazu, dass bei "^" die Rollos runter gehen und bei "v" die Rollos rauf
Ich habe dann als Workaround minLevel=100 und maxLevel=0 gesetzt. Damit stimmen nun die Aktivitäten hinter "^" und "v", allerdings zählt er dann in der Statusanzeige im Control beim Schließen von Auf, 90, 80 ... bis Zu (und umgekehrt beim Öffnen). Richtig wäre nach Somfy-Lesart Auf, 10, 20, 30, .... Zu.
Ist zwar nur eine Kleinigkeit, finde ich persönlich doch unschön.
Hier noch ein List von dem entsprechenden Somfy-Device:
Internals:
ADDRESS 000002
CFGFN ./FHEM/fhem_RollosMarkise.cfg
CUL_OG_433_MSGCNT 21
CUL_OG_433_RAWMSG YsA9460A09020000
CUL_OG_433_TIME 2019-03-08 18:29:11
DEF 000002 A9 0A09
FUUID 5c4b343d-f33f-7bc2-bb17-3a3d465f28f10163
IODev CUL_OG_433
LASTInputDev CUL_OG_433
MSGCNT 21
NAME AZ_Rollo
NR 1116
STATE closed
TYPE SOMFY
move stop
CODE:
1 000002
READINGS:
2019-03-08 18:29:10 enc_key A9
2019-03-08 18:29:27 exact 200
2019-03-08 18:29:11 parsestate on
2019-03-08 18:29:27 position 200
2019-03-08 18:29:11 received 40
2019-03-08 18:29:10 rolling_code 0A09
2019-03-08 18:29:27 state closed
2019-03-08 18:29:27 userposition 100
Attributes:
IODev CUL_OG_433
alexaName Rollo Arbeitszimmer
alexaRoom alexaroom
alias Rollo Arbeitszimmer
devStateIcon closed:fts_shutter_90@black: my:fts_shutter_50@blue: open:fts_shutter_10@green: 9\d.*:fts_shutter_90@black: 8\d.*:fts_shutter_80@blue: 7\d.*:fts_shutter_70@blue: 6\d.*:fts_shutter_60@blue: 5\d.*:fts_shutter_50@blue: 4\d.*:fts_shutter_40@blue: 3\d.*:fts_shutter_30@blue: 2\d.*:fts_shutter_20@blue: 1\d.*:fts_shutter_10@green:
drive-down-time-to-100 14
drive-down-time-to-close 17
drive-up-time-to-100 3
drive-up-time-to-open 18
eventMap off:rauf on:runter on:close off:open go-my:stop off:rein on:raus go-my:halt off:auf off:hoch on:zu
genericDeviceType blind
group Rollos
homebridgeMapping clear CurrentPosition=userposition,minValue=0,maxValue=100,minStep=10 TargetPosition=userposition,minValue=0,maxValue=100,minStep=10,cmds=0:open;10:pos+10;20:pos+20;30:pos+30;40:pos+40;50:pos+45;60:pos+60;70:pos+70;80:pos+80;90:pos+90;100:close
icon fts_shutter_50
model somfyblinds
room Arbeitszimmer,Rollos / Markise,hidden,AlexaRoom,Homekit
siriName Rollo Arbeitszimmer
userReadings userposition {(ReadingsVal($NAME,"state","open") eq "open")?0:(ReadingsVal($NAME,"state","open") eq "10")?10:(ReadingsVal($NAME,"state","open") eq "20")?20:(ReadingsVal($NAME,"state","open") eq "30")?30:(ReadingsVal($NAME,"state","open") eq "40")?40:(ReadingsVal($NAME,"state","open") eq "50")?50:(ReadingsVal($NAME,"state","open") eq "60")?60:(ReadingsVal($NAME,"state","open") eq "70")?70:(ReadingsVal($NAME,"state","open") eq "80")?80:(ReadingsVal($NAME,"state","open") eq "90")?90:100}
webCmd rauf:my:runter:halt
Wie bereits im Forum beschrieben ist das Control nicht voll kompatibel zu Somfy, aber vielleicht hat jemand eine Idee.
Ciao
Walter
Hallo,
habe für mich eine Lösung gefunden, indem ich in der Datei "ShutterControl" unter lib/FUIP/View wenige Zeilen angepasst habe. Ich poste die Anpassungen, falls auch andere Betroffene das Problem haben.
Hier die Änderungen als diff:
*** ShutterControl.pm 2019-03-09 13:33:54.375050408 +0100
--- ShutterControl.pm-orig 2019-03-09 07:33:30.888875323 +0100
***************
*** 17,23 ****
# determine levels
use integer;
my @levels;
- my @tmpDataAlias;
for (my $i=0; $i <= 10; $i++) {
push(@levels,$self->{minLevel} + ($self->{maxLevel} - $self->{minLevel}) * $i / 10);
};
--- 17,22 ----
***************
*** 26,34 ****
if($self->{minLevel} > $self->{maxLevel}) {
@icons = reverse(@icons);
@iconLevels = reverse(@iconLevels);
- @tmpDataAlias = ( "Auf","10%","20%","30%","40%","50%","60%","70%","80%","90%","Zu");
- }else{
- @tmpDataAlias = ( "Auf","90%","80%","70%","60%","50%","40%","30%","20%","10%","Zu");
};
my $result = '
<div style="position:relative;">
--- 25,30 ----
***************
*** 64,70 ****
<td>
<div data-type="select" data-device="'.$device.'"
data-items=\'["'.join('","',reverse(@levels)).'"]\'
! data-alias=\'["'.join('","',@tmpDataAlias).'"]\'
data-get="'.$self->{readingLevel}.'" data-set="'.$self->{setLevel}.'"
style="width:65px">
</div>
--- 60,66 ----
<td>
<div data-type="select" data-device="'.$device.'"
data-items=\'["'.join('","',reverse(@levels)).'"]\'
! data-alias=\'["Auf","90%","80%","70%","60%","50%","40%","30%","20%","10%","Zu"]\'
data-get="'.$self->{readingLevel}.'" data-set="'.$self->{setLevel}.'"
style="width:65px">
</div>
Damit funktioniert es bei mir mit den Somfy-Rollos. "Reverse Shutters" wurden bereits berücksichtigt, halt nicht an der beschriebenen Stelle.
Ciao
Walter
Hi,
meine Idee bei solchen Sachen ist eigentlich immer, dass die darunter liegende Hardware nicht zu stark bestimmen sollte, wie es am UI aussieht. ...oder anders gesagt: Ein durchgängiges UI ist wichtiger als was Somfy dazu zu sagen hat.
Aber egal: Ich habe sowas für den WeekdayTimer schon eingebaut und werde es wohl auch demnächst für ShutterControl ähnlich einbauen. Vorher habe ich nur noch ein paar andere Sachen, aber so lange hast Du ja Deine Lösung.
Gruß,
Thorsten
Hi,
ShutterControl kann jetzt auch levelType = inverted_shutter so wie bei WeekdayTimer.
Siehe FUIP News für Details.
Gruß,
Thorsten
Hallo Thorsten,
Update eingespielt, funktioniert wunderbar. Danke.
Ciao
Walter