############################################## # $Id$ # # packages #################################################################### package FHEM::attrT::ZWave; ## no critic 'Package declaration' use strict; use warnings; use GPUtils qw(GP_Import); ## Import der FHEM Funktionen #-- Run before package compilation BEGIN { # Import from main context GP_Import( qw( InternalVal ReadingsNum devspec2array FW_makeImage ) ); } sub main::attrT_ZWave_Utils_Initialize { goto &Initialize } # initialize ################################################################## sub Initialize { my $hash = shift; return; } sub devStateIcon_venetian_shutter { my $levelname = shift // return; my $model = shift // "FGR223"; my $slatname = $levelname; my $dimlevel= ReadingsNum($levelname,"dim",0); my $ret =""; my $slatlevel = 0; my $slatcommand_string = "dim "; if ($model eq "FGR223") { my ($def,$defnr) = split(" ", InternalVal($levelname,"DEF",$levelname)); $defnr++; my @slatnames = devspec2array("DEF=$def".'.'.$defnr); $slatname = shift @slatnames; $slatlevel= ReadingsNum($slatname,"state",0); } if ($model eq "FGRM222") { $slatlevel= ReadingsNum($slatname,"positionSlat",0); $slatcommand_string = "positionSlat " } #levelicon my $symbol_string = "fts_shutter_"; my $command_string = "dim 99"; $command_string = "dim 0" if $dimlevel > 50; $symbol_string .= int ((109 - $dimlevel)/10)*10; $ret .= "" . FW_makeImage($symbol_string,"fts_shutter_10") . " "; #stop $ret .= "" . FW_makeImage("fts_shutter_shadding_stop","fts_shutter_shadding_stop") . " "; #slat $symbol_string = "fts_blade_arc_close_"; $slatlevel > 49 ? $symbol_string .= "00" : $slatlevel > 24 ? $symbol_string .= "50" : $slatlevel < 25 ? $symbol_string .= "100" : undef; $slatlevel > 49 ? $slatcommand_string .= "0" : $slatlevel > 24 ? $slatcommand_string .= "50" : $slatlevel < 25 ? $slatcommand_string .= "25" : undef; $symbol_string = FW_makeImage($symbol_string,"fts_blade_arc_close_100"); $ret .= qq($symbol_string $slatlevel %); return "

$ret

"; } 1; =pod =begin html

attrT_ZWave_Utils

=end html =cut