$RSStitel http://www.fhem.de RSS-Feeds for FHEM \nLast Update: $now\n$forwardurl\n "; ##### Let's go.... :-))))) for($i=0; $i < count($stack[0][children]); $i++) { ############################ if (substr($stack[0][children][$i][name],0,5)=='FS20_') { $type=$stack[0][children][$i][name]; $counter=0; for($j=0; $j < count($stack[0][children][$i][children]); $j++) { $fs20=$stack[0][children][$i][children][$j][attrs][name]; $state=$stack[0][children][$i][children][$j][attrs][state]; $room=''; for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++) { $check=$stack[0][children][$i][children][$j][children][$k][attrs][name]; if ($check='STATE') { $measured=$stack[0][children][$i][children][$j][children][$k][attrs][measured]; } if ($check='ATTR') { if (($stack[0][children][$i][children][$j][children][$k][attrs][key])=='room') { $room=$stack[0][children][$i][children][$j][children][$k][attrs][value]; } } } if (($state=='on') or ($state=='dimup')) {$order="set $fs20 off";} else {$order="set $fs20 on";}; $url=$forwardurl.'rssorder='.$order; echo $url; if (($room != 'hidden') and ($showroom=='ALL' or $showroom==$room)) { # echo "\n$fs20 $state\n$url\n\n"; array_push( $fs20list,array($fs20,$state,$room,$measured,$url)); }; } } ############################ elseif (substr($stack[0][children][$i][name],0,4)=='FHT_') { echo "\n************* FHT state *************\n$forwardurl\n"; $type=$stack[0][children][$i][name]; for($j=0; $j < count($stack[0][children][$i][children]); $j++) { $room=""; for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++) { $check=$stack[0][children][$i][children][$j][children][$k][attrs][key]; if ( $check=="room") {$room=$stack[0][children][$i][children][$j][children][$k][attrs][value]; } if ( $check=="measured-temp") {$measuredtemp=$stack[0][children][$i][children][$j][children][$k][attrs][value]; $measured=$stack[0][children][$i][children][$j][children][$k][attrs][measured]; $pos=strpos($measured,' '); $measured=substr($measured,$pos,strlen($measured)); $pos=strpos($measuredtemp,' '); $measuredtemp=substr($measuredtemp,0,$pos); } } if (($room != 'hidden') and ($showroom=='ALL' or $showroom==$room)) { $FHTdev=$stack[0][children][$i][children][$j][attrs][name]; echo "\n$FHTdev $measuredtemp $measured\n$forwardurl\n\n"; } } } ############################ elseif (substr($stack[0][children][$i][name],0,4)=='HMS_') { echo "\n************* HMS state *************\n$forwardurl\n"; $type=$stack[0][children][$i][name]; for($j=0; $j < count($stack[0][children][$i][children]); $j++) { $room=""; unset($state); unset($humidity); for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++) { if ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="room") {$room=$stack[0][children][$i][children][$j][children][$k][attrs][value]; } if ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="type") {$type=$stack[0][children][$i][children][$j][children][$k][attrs][value];}; if ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="humidity") {$humidity=$stack[0][children][$i][children][$j][children][$k][attrs][value]; }; if ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="temperature") { $state=$stack[0][children][$i][children][$j][children][$k][attrs][value]; $pos=strpos($state,'('); $state=substr($state,0,$pos); $measured=$stack[0][children][$i][children][$j][children][$k][attrs][measured]; $pos=strpos($measured,' '); $measured=substr($measured,$pos,strlen($measured)); $state=$humidity.$state; }; } if (($room != 'hidden') and ($showroom=='ALL' or $showroom==$room)) { $HMSdev=$stack[0][children][$i][children][$j][attrs][name]; echo "\n$HMSdev $state $measured\n$forwardurl\n\n"; } } } ############################ elseif (substr($stack[0][children][$i][name],0,6)=='KS300_' or substr($stack[0][children][$i][name],0,6)=='WS300_') { echo "\n*********** KS300/WS300 ***********\n$forwardurl\n"; $type=$stack[0][children][$i][name]; for($j=0; $j < count($stack[0][children][$i][children]); $j++) { $KSdev=$stack[0][children][$i][children][$j][attrs][name]; $room=''; for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++) { if ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="STATE") {$state=$stack[0][children][$i][children][$j][children][$k][attrs][value];}; if ( $stack[0][children][$i][children][$j][children][$k][attrs][key]=="temperature") $measured=$stack[0][children][$i][children][$j][children][$k][attrs][measured]; } $pos=strpos($measured,' '); $measured=substr($measured,$pos,strlen($measured)); echo "\n$KSdev $state $measured\n$forwardurl\n\n"; } } ############################ } # now the FS20-Devices if (count($fs20list) > 0 ) echo "\n************* FS20 state *************\n$forwardurl\n"; for ($x = 0; $x < count($fs20list); $x++) { $parts = explode(" ", $fs20list[$x]); $fs20= $fs20list[$x][0]; $state= $fs20list[$x][1]; $measured= $fs20list[$x][3]; $pos=strpos($measured,' '); $measured=substr($measured,$pos,strlen($measured)); $url= $fs20list[$x][4]; echo "\n $fs20 $state $measured\n$url\n\n"; } echo " "; ?>