我不是php的专家,但我可以做基础知识所以我把一个PHP脚本放在一起,当我运行某个URL时,即当我进入和当我进入时,它应该打开或关闭厨房中的色调灯离开厨房:
$bulb = $_GET['bulb'];
$status = $_GET["state"];
settype($status,"Boolean");
$data = array("on" => $status);
$lat = 48.1351253; // North
$long = 11.581980599999952; // East
$offset = 1; // difference between GMT and local time in hours
$zenith=90+50/60;
$sunrise = date_sunrise(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith,$offset);
$sunset = date_sunset(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset);
$now = date("H") + date("i") / 60 + date("s") / 3600;
if ($sunrise < $sunset) {
if (($now > $sunrise) && ($now < $sunset)) {
echo "It's daytime";
}
else {
if (($now > $sunrise) || ($now < $sunset)) {
echo "It's nighttime";
$data_string = json_encode($data);
echo $data_string;
$ch = curl_init("http://xx.xx.xx.xx/api/xxxxxx/lights/$bulb/state");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$result = curl_exec($ch);
print_r($result);
}
}
}
脚本应该只打开日落和日出之间的灯光。但是当我离开厨房时,它也应该再次关灯。
$ bulb占位符应该是我放入uRL的灯泡。
不知怎的,它不起作用。脚本显示正确的时间,但即使是白天,也会打开灯。
我现在使用的网址是http://xxxxxx.com/hue.php?bulb=2&state=1,可以打开状态= 0来关闭。
如果你可以帮助我使用这个脚本真的很酷。感谢。