www-thermferm/index.php

Mon, 11 Aug 2014 18:38:57 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Mon, 11 Aug 2014 18:38:57 +0200
changeset 219
ae720212accc
parent 210
8976069c6b29
child 251
173b4480c4a0
permissions
-rw-r--r--

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;

mercurial