diff --git a/config/devices_constants.php b/config/devices_constants.php index b099667..f0e3124 100644 --- a/config/devices_constants.php +++ b/config/devices_constants.php @@ -9,6 +9,7 @@ $deviceTable = array( "0x00124b0022ebac5c" => "RDC_SALON_MVMT2", "0x588e81fffe2cf695" => "RDC_SALON_MVMT", + "0xe0798dfffe4ffa2c" => "RDC_SALON_PRESENCE", "0x00124b001f900753" => "RDC_ENTREE_PORTE", "0x00158d0001923c21" => "RDC_CHAMBRE_RADIATEUR", "0x04cf8cdf3c78aff0" => "RDC_SALON_LUMINOSITE", diff --git a/config/liste_telephones.php b/config/liste_telephones.php index 353b36c..e6fe708 100644 --- a/config/liste_telephones.php +++ b/config/liste_telephones.php @@ -1,5 +1,6 @@ "84:CF:BF:8E:E6:A6" ); diff --git a/presence.php b/presence.php index fdd00cf..4069af3 100644 --- a/presence.php +++ b/presence.php @@ -1,18 +1,78 @@ -$value) + if(array_key_exists("nom", $argList)) { - $key = array_search($value, $result); + $name = $argList["nom"]; + }else + { + return "Le paramètre 'nom' est obligatoire\npresent&nom=&presence=" . EOLH; + } + if(array_key_exists("presence", $argList)) + { + $key= $argList["presence"]; + }else + { + return "Le paramètre 'presence' est obligatoire\npresent&nom=&presence=" . EOLH; + } + $key = $argList["presence"]; + if (!array_key_exists($name, $presence)) + { + $presence[] = $name; + $presence[$name] = false; + } + if ($key === true) + { + if ($presence[$name] === false) + { + logger(ALERT, $name . _(" est présent"), null, $device); + //echo $name . " est présent"; + $presence[$name] = true; + } + }elseif ($presence[$name] === true) + { + $presence[$name] = false; + logger(ALERT, $name . _(" est présent"), null, $device); } } -presence(); + +function isPresent($name = false, $returnNames = false) +{ + global $presence; + + $r = false; + $list = ""; + + if ($name === false) + { + foreach($presence as $name => $value) + { + if ($value === true) + { + $r &= true; + $liste .= $name . EOLH; + } + } + }elseif (array_key_exists($name, $presence)) + { + $r = $presence[$name]; + }else + { + return -1; + } + + if ($returnNames and !empty($liste)) + { + return $liste; + }else + { + return $r; + } + +} ?>