Archived
1
0
This repository has been archived on 2025-11-02. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
statstat/db-get.php
dorfl68 9a4f57b5bb Support for many thermostats
Uses the device ID to support several thermostats. Pretty simple - only
setup is now an array of devices, now a single device. However, many
changes follow...
2016-01-19 22:29:04 -05:00

71 lines
2.2 KiB
PHP

<?php
$q = '';
$device_index = '';
include('settings/globals.php');
if(in_array(THERMOSTAT_TYPE,$valid_thermostats)){
require('thermostats/'.THERMOSTAT_TYPE.'/scrape.php');
require('thermostats/'.THERMOSTAT_TYPE.'/logininfo.php');
} else{
die("Invalid THERMOSTAT_TYPE set in settings/globals.php");
}
if(isset($_GET)){
if(isset($_GET['q'])){
$q = $_GET['q'];
if(isset($_GET['id'])){
$d = $device_array[$_GET['id']];
//$d="1488017";
header('Content-Type: application/json');
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = '';
switch($q){
case "inside":
$sql = "SELECT UNIX_TIMESTAMP(date),dispTemperature from stat";
break;
case 'outside':
$sql = "SELECT UNIX_TIMESTAMP(date),weatherTemperature from stat";
break;
case 'set_heat':
$sql = "SELECT UNIX_TIMESTAMP(date),heatSetpoint from stat";
break;
case 'set_cool':
$sql = "SELECT UNIX_TIMESTAMP(date),coolSetpoint from stat";
break;
case 'humidity':
$sql = "SELECT UNIX_TIMESTAMP(date),weatherHumidity from stat";
break;
default:
die("No query");
}
$sql = $sql . " WHERE deviceID=" . $d;
$result = $conn->query($sql);
if (!$result) {
printf("Errormessage: %s\n", $conn->error);
}
$rows = array();
while($r = mysqli_fetch_assoc($result)) {
$row = array_map('floatval',array_values($r));
$row[0] = $row[0]*1000;
$rows[] = $row;
}
print json_encode($rows);
$conn->close();
}
}
}
?>