Mon, 11 Aug 2014 18:38:57 +0200
Added profile running and steps handling.
<?php /***************************************************************************** * Copyright (C) 2014 * * Michiel Broek <mbroek at mbse dot eu> * * This file is part of ThermFerm * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2, or (at your option) any * later version. * * ThermFerm is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with ThermFerm; see the file COPYING. If not, write to the Free * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *****************************************************************************/ /* * Look for the style names in the jqwidgets/styles directory. */ $my_style = 'ui-redmond'; require_once('utilities.php'); require_once('liveview.php'); /* * Handle the post events */ if (isset($_POST['mode']) && isset($_POST['UUID'])) { $sock = open_socket(); if ($sock != false) { socket_write($sock, 'UNIT PUT '.$_POST['UUID'], 4096); usleep(20000); socket_write($sock, 'MODE,'.$_POST['mode'], 4096); usleep(20000); socket_write($sock, '.', 4096); /* Absorb response */ while (1) { $line = socket_read($sock, 4096); if ($line === '') break; } socket_close($sock); } unset($_POST['UUID']); unset($_POST['mode']); } if (isset($_POST['HeaterState']) && isset($_POST['UUID'])) { $sock = open_socket(); if ($sock != false) { socket_write($sock, 'UNIT PUT '.$_POST['UUID'], 4096); usleep(20000); socket_write($sock, 'HEATER_STATE,'.$_POST['HeaterState'], 4096); usleep(20000); socket_write($sock, '.', 4096); /* Absorb response */ while (1) { $line = socket_read($sock, 4096); if ($line === '') break; } socket_close($sock); } unset($_POST['UUID']); unset($_POST['HeaterState']); } if (isset($_POST['CoolerState']) && isset($_POST['UUID'])) { $sock = open_socket(); if ($sock != false) { socket_write($sock, 'UNIT PUT '.$_POST['UUID'], 4096); usleep(20000); socket_write($sock, 'COOLER_STATE,'.$_POST['CoolerState'], 4096); usleep(20000); socket_write($sock, '.', 4096); /* Absorb response */ while (1) { $line = socket_read($sock, 4096); if ($line === '') break; } socket_close($sock); } unset($_POST['UUID']); unset($_POST['CoolerState']); } if (isset($_POST['FanState']) && isset($_POST['UUID'])) { $sock = open_socket(); if ($sock != false) { socket_write($sock, 'UNIT PUT '.$_POST['UUID'], 4096); usleep(20000); socket_write($sock, 'FAN_STATE,'.$_POST['FanState'], 4096); usleep(20000); socket_write($sock, '.', 4096); /* Absorb response */ while (1) { $line = socket_read($sock, 4096); if ($line === '') break; } socket_close($sock); } unset($_POST['UUID']); unset($_POST['FanState']); } if (isset($_POST['Fridge']) && isset($_POST['key']) && isset($_POST['UUID'])) { if ($_POST['key'] == "Set") { $sock = open_socket(); if ($sock != false) { socket_write($sock, 'UNIT PUT '.$_POST['UUID'], 4096); usleep(20000); socket_write($sock, 'FRIDGE_SET,'.$_POST['Fridge'], 4096); usleep(20000); socket_write($sock, '.', 4096); /* Absorb response */ while (1) { $line = socket_read($sock, 4096); if ($line === '') break; } socket_close($sock); } } unset($_POST['Fridge']); unset($_POST['key']); unset($_POST['UUID']); } if (isset($_POST['Beer']) && isset($_POST['key']) && isset($_POST['UUID'])) { if ($_POST['key'] == "Set") { $sock = open_socket(); if ($sock != false) { socket_write($sock, 'UNIT PUT '.$_POST['UUID'], 4096); usleep(20000); socket_write($sock, 'BEER_SET,'.$_POST['Beer'], 4096); usleep(20000); socket_write($sock, '.', 4096); /* Absorb response */ while (1) { $line = socket_read($sock, 4096); if ($line === '') break; } socket_close($sock); } } unset($_POST['Beer']); unset($_POST['key']); unset($_POST['UUID']); } if (isset($_POST['SetProfile']) && isset($_POST['key']) && isset($_POST['UUID'])) { $sock = open_socket(); if ($sock != false) { socket_write($sock, 'UNIT PUT '.$_POST['UUID'], 4096); usleep(20000); if ($_POST['key'] == "Set") socket_write($sock, 'PROFILE,'.$_POST['SetProfile'], 4096); else if ($_POST['key'] == "Start") socket_write($sock, 'PROF_STATE,RUN', 4096); else if (($_POST['key'] == "Pause") || ($_POST['key'] == "Resume")) socket_write($sock, 'PROF_STATE,PAUSE', 4096); else if ($_POST['key'] == "Abort") socket_write($sock, 'PROF_STATE,ABORT', 4096); else if ($_POST['key'] == "Off") socket_write($sock, 'PROF_STATE,OFF', 4096); usleep(20000); socket_write($sock, '.', 4096); /* Absorb response */ while (1) { $line = socket_read($sock, 4096); if ($line === '') break; } socket_close($sock); } unset($_POST['SetProfile']); unset($_POST['key']); unset($_POST['UUID']); } $temp_value = "NA"; $hum_value = "NA"; $outstr = '<!DOCTYPE html>'.PHP_EOL; $outstr .= '<html>'.PHP_EOL; $outstr .= ' <head>'.PHP_EOL; $outstr .= ' <meta http-equiv="content-type" content="text/html; charset=utf-8" />'.PHP_EOL; $outstr .= ' <title>ThermFerm monitor</title>'.PHP_EOL; $outstr .= ' <link type="text/css" href="css/style.css" rel="stylesheet" media="all" />'.PHP_EOL; $outstr .= ' <link type="text/css" href="jqwidgets/styles/jqx.base.css" rel="stylesheet" />'.PHP_EOL; $outstr .= ' <link type="text/css" href="jqwidgets/styles/jqx.'.$my_style.'.css" rel="stylesheet" />'.PHP_EOL; $outstr .= ' <script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>'.PHP_EOL; $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxcore.js"></script>'.PHP_EOL; $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxwindow.js"></script>'.PHP_EOL; $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxtabs.js"></script>'.PHP_EOL; $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxcheckbox.js"></script>'.PHP_EOL; $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxbuttons.js"></script>'.PHP_EOL; $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxradiobutton.js"></script>'.PHP_EOL; $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxchart.core.js"></script>'.PHP_EOL; $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxdraw.js"></script>'.PHP_EOL; $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxdata.js"></script>'.PHP_EOL; $outstr .= ' </head>'.PHP_EOL; $outstr .= ' <body class="default">'.PHP_EOL; $outstr .= ' <div id="jqxWidget">'.PHP_EOL; $outstr .= ' <div id="header">'.PHP_EOL; $outstr .= ' <div id="title">'.PHP_EOL; $outstr .= ' ThermFerm'.PHP_EOL; $outstr .= ' </div>'.PHP_EOL; $outstr .= ' <div id="room">'.PHP_EOL; $outstr .= ' <div id="room_temp" class="rtemp">'.$temp_value.'</div>'.PHP_EOL; $outstr .= ' <div id="room_hum" class="rtemp">'.$hum_value.'</div>'.PHP_EOL; $outstr .= ' </div>'.PHP_EOL; $outstr .= ' <form action="maintenance.php" style="margin:30px; float:right">'.PHP_EOL; $outstr .= ' <input type="submit" id="maintenance" value="Maintenance panel" />'.PHP_EOL; $outstr .= ' </form>'.PHP_EOL; $outstr .= ' </div> <!-- header -->'.PHP_EOL; $outstr .= liveview(); /* Create the tabs */ $outstr .= ' <script type="text/javascript" src="js/index.js"></script>'.PHP_EOL; $outstr .= ' </div> <!-- jqxWidget -->'.PHP_EOL; $outstr .= ' </body>'.PHP_EOL; $outstr .= '</html>'.PHP_EOL; echo $outstr;