$cal->hour[5] = 1; # On met le jeudi à actif (=coché) $cal->day["jeudi"] = 1; $zibase->setCalendar(12, $cal); ?> <br/> <?php # Lit l'état d'un actionneur $etat = $zibase->getState("H3"); echo "Etat de H3 : " . $etat; ?> <br/> <br/> <?php # Lit les valeurs d'une sonde $info = $zibase->getSensorInfo("OS439191042"); echo "Heure du relevé : " . $info[0]->format("d/m/Y H:i:s") . "<br/>"; echo "Température : " . $info[1] / 10 . "°C<br/>"; echo "Humidité : " . $info[2] . "%<br/>"; ?> <?php # Lit les valeurs d'une sonde à partir du site zibase ou xxx-zb.net # Idem méthode getSensorInfo() mais la récupération se fait sur internet. # A remplacer par le site sur lequel votre zibase est connecté (ex: planete-zb.net) $info = $zibase->getSensorInfoFromInternet("http://zibase.net/m/get_xml_sensors.php?device=ZiBASExxxx&token=yyyyyy", "OS439191042"); echo "Heure du relevé : " . $info[0]->format("d/m/Y H:i:s") . "<br/>"; echo "Température : " . $info[1] / 10 . "°C<br/>"; echo "Humidité : " . $info[2] . "%<br/>"; ?>
$zibase = new ZiBase($ipzibase); $sensorlist = $zibase->getProbeList($idzibase, $tokenzibase); $sensornb = count($sensorlist); $link = mysql_connect($hote, $login, $plogin); if (!$link) { die('Non connecté : ' . mysql_error()); } $db_selected = mysql_select_db($base, $link); if (!$db_selected) { die('Impossible d\'utiliser la base : ' . mysql_error()); } $i = 0; while ($i < $sensornb) { if ($sensorlist[$i]['type'] == 'rain') { $info = ""; $info = $zibase->getSensorInfo($sensorlist[$i]['id']); updateProbe($sensorlist[$i], $info, $link, 'pluie'); $query = "CREATE TABLE IF NOT EXISTS `pluie_" . $sensorlist[$i]['name'] . "` (`date` datetime NOT NULL, `pluie` float NOT NULL, `cumul` float NOT NULL, PRIMARY KEY(`date`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;"; mysql_query($query, $link); } if ($sensorlist[$i]['type'] == 'light') { $info = ""; $info = $zibase->getSensorInfo($sensorlist[$i]['id']); updateProbe($sensorlist[$i], $info, $link, 'luminosite'); $query = "CREATE TABLE IF NOT EXISTS `luminosite_" . $sensorlist[$i]['name'] . "` (`date` datetime NOT NULL, `lum` float NOT NULL, PRIMARY KEY (`date`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;"; mysql_query($query, $link); } if ($sensorlist[$i]['type'] == 'wind') { $info = ""; $info = $zibase->getSensorInfo($sensorlist[$i]['id']); updateProbe($sensorlist[$i], $info, $link, 'vent');
} else { $protocol = false; } if ($data0['periph'] == 'actioneur' || $data0['periph'] == 'capteur') { $value = $zibase->getState($data0['id'], $protocol); $query = "SELECT * FROM `periph_" . $data0['nom'] . "` ORDER BY `date` DESC LIMIT 1"; $req = mysql_query($query, $link) or die('Erreur SQL !<br>' . $sql . '<br>' . mysql_error()); $data = mysql_fetch_assoc($req); if (!($data['actif'] == $value)) { $query0 = "INSERT INTO `periph_" . $data0['nom'] . "` (date, actif) VALUES (now(), '" . $value . "')"; mysql_query($query0, $link); } } else { if ($data0['periph'] == 'conso') { $info = ""; $info = $zibase->getSensorInfo($data0['id']); if (!($info == "")) { if (strlen($data0['id']) < 6) { $query = "INSERT INTO `conso_" . $data0['nom'] . "` (date, conso, conso_total) VALUES ('" . $info[0]->format("Y-m-d H:i:s") . "'," . $info[2] * 10 . "," . $info[1] * 100 . ")"; } else { $query = "INSERT INTO `conso_" . $data0['nom'] . "` (date, conso, conso_total) VALUES ('" . $info[0]->format("Y-m-d H:i:s") . "'," . $info[2] * 100 . "," . $info[1] * 100 . ")"; } mysql_query($query, $link); } } else { if ($data0['periph'] == 'temperature') { $info = ""; $info = $zibase->getSensorInfo($data0['id']); if (!($info == "")) { $query = "INSERT INTO `temperature_" . $data0['nom'] . "` (date, temp, hygro) VALUES ('" . $info[0]->format("Y-m-d H:i:s") . "'," . $info[1] / 10 . "," . $info[2] . ")"; mysql_query($query, $link);