Misterhouse bietet die Möglichkeit mit 'set' den Status einer ganzen Gruppe zu setzen.
Wenn man zB. die Items:
definiert hat, kann man mit
beide Leuchten schalten.
dagegen funktioniert nicht. Ursache ist, dass in der Datei Group.pm in der Funktion item_state_exists überprüft wird, ob der übergebe Status zulässig ist und EIB2 Items "on, off, +40, -40, 5%, 30%, 60%, 100%" zugeordnet sind. Um auch Dimmwerte übergeben zu können habe ich die Funktion ergänzt:
Wenn es sich um EIB2/6/7 Items handelt und der übergebene Status ein Integerwert ist, wird nun 1 zurückgegeben.
Das funktioniert bei mir. Vielleicht kann sich einer der Perlcracks das mal ansehen und auf allgemeine Brauchbarkeit prüfen.
Wenn man zB. die Items:
Code:
EIB2, 1/1/0|1/1/1|1/1/21, dimmVZ, Licht, EIB2, 1/1/2|1/1/3|1/1/22, dimmVZi, Licht,
Code:
set $Licht ON;
Code:
set $Licht 30;
Code:
sub item_state_exists { my $ref = shift; my $state = shift; if ($ref=~ /^EIB[267]_(.+)/i && $state =~ /^\d+$/) { return 1; } else { return (grep $_ eq $state, @{$ref->{states}}); } }
Das funktioniert bei mir. Vielleicht kann sich einer der Perlcracks das mal ansehen und auf allgemeine Brauchbarkeit prüfen.
Kommentar