From 7a38063d86243ee6c48b4710342e4e55cb095812 Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Thu, 13 Feb 2014 15:25:58 +0000 Subject: [PATCH] FHEMWEB: FW_visibleDevices from justme1968 git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@4910 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/01_FHEMWEB.pm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index c6bd4ae60..391d89521 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -42,6 +42,7 @@ sub FW_submit($$@); sub FW_textfield($$$); sub FW_textfieldv($$$$); sub FW_updateHashes(); +sub FW_visibleDevices(;$); use vars qw($FW_dir); # base directory for web server use vars qw($FW_icondir); # icon base directory @@ -72,6 +73,7 @@ use vars qw($FW_detail); # currently selected device for detail view use vars qw($FW_cmdret); # Returned data by the fhem call use vars qw($FW_room); # currently selected room use vars qw($FW_formmethod); +use vars qw(%FW_visibleDeviceHash); $FW_formmethod = "post"; @@ -488,6 +490,7 @@ FW_answerCall($) my %h = map { $_ => 1 } devspec2array($filter); $me->{inform}{devices} = \%h; + %FW_visibleDeviceHash = FW_visibleDevices(); # NTFY_ORDER is larger than the normal order (50-) $me->{NTFY_ORDER} = $FW_cname; # else notifyfn won't be called @@ -2370,6 +2373,27 @@ FW_textFieldFn($$$$) # Widgets END ########################### +sub +FW_visibleDevices(;$) +{ + my($FW_wname) = @_; + + my %devices = (); + foreach my $d (sort keys %defs) { + next if(!defined($defs{$d})); + my $h = $defs{$d}; + next if(!$h->{TEMPORARY}); + next if($h->{TYPE} ne "FHEMWEB"); + next if(defined($FW_wname) && $h->{SNAME} ne $FW_wname); + + next if(!defined($h->{inform})); + + @devices{ keys %{$h->{inform}->{devices}} } = + values %{$h->{inform}->{devices}}; + } + return %devices; +} + sub FW_ActivateInform() {