www-thermferm/liveview.php

Fri, 18 Jul 2014 22:24:03 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 18 Jul 2014 22:24:03 +0200
changeset 116
065a242ed7ec
parent 115
81c7433004ed
child 117
7119ea8a5225
permissions
-rw-r--r--

Added jquery script. Added radio buttons for unit mode

<?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.
 *****************************************************************************/


require_once('utilities.php');



function showunit($unit, $unr)
{
    $outstr = '';
    $air_state = $beer_state = 1;

    $sock = open_socket();
    if ($sock == false) {
	return '';
    }

    socket_write($sock, "UNIT " . $unit, 4096);
    $answer = "";
    while (1) {
	$line = socket_read($sock, 4096);
	if ($line === '')
		break;
	$answer .= $line;
    }
    socket_close($sock);

    $sock = open_socket();
    if ($sock == false) {
	return '';
    }

    socket_write($sock, "LIST UNIT", 4096);
    $answer = "";
    while (1) {
	$line = socket_read($sock, 4096);
	if ($line === '')
	    break;
	$answer .= $line;
    }
    socket_close($sock);
    $arr = explode("\r\n", $answer);

    if (startsWith($arr[0], "213")) {

	$outstr .= '    <div id="fermentor">'.PHP_EOL;

	$set_temperature = "N/A";
	$air_temperature = "N/A";
	$beer_temperature = "N/A";

	foreach($arr as $l) {
	    $vals = explode(",", $l);
	    if (strcmp($vals[0], "NAME") == 0) {
		/*
		 * The name is allways first, so when we have it
		 * emit the formatting.
		 */
		$outstr .= '     <div id="fermentor_head">'.PHP_EOL;
		$outstr .= '      ' . $vals[1] .PHP_EOL;
		$outstr .= '     </div>'.PHP_EOL;
		$outstr .= '     <div id="fermentor_pict">'.PHP_EOL;
		$outstr .= '      <img src="images/Fermenter_60l.gif">'.PHP_EOL;
		$outstr .= '     </div>'.PHP_EOL;
	    }
	    if (strcmp($vals[0], "MODE") == 0) {
		$mode = $vals[1];
	    }
	    if (strcmp($vals[0], "AIR_STATE") == 0) {
		$air_state = $vals[1];
	    }
	    if ((strcmp($vals[0], "AIR_TEMPERATURE") == 0) && ($air_state == 0)) {
		$air_temperature = $vals[1];
	    }
	    if (strcmp($vals[0], "BEER_STATE") == 0) {
		$beer_state = $vals[1];
	    }
	    if ((strcmp($vals[0], "BEER_TEMPERATURE") == 0) && ($beer_state == 0)) {
		$beer_temperature = $vals[1];
	    }
	}
	$outstr .= '     <div id="fermentor_panel">'.PHP_EOL;
	$outstr .= '      <div id="fermentor_selector">'.PHP_EOL;
	$outstr .= '       Mode '.$mode.PHP_EOL;
	$outstr .= '       <form>'.PHP_EOL;
	strcmp($mode, "OFF") ? $se = "" : $se = " checked";
	$outstr .= '        <input type="radio" name="mode'.$unr.'" value="OFF"'.$se.'>Off<br>'.PHP_EOL;
	strcmp($mode, "NONE") ? $se = "" : $se = " checked";
	$outstr .= '        <input type="radio" name="mode'.$unr.'" value="NONE"'.$se.'>None<br>'.PHP_EOL;
	strcmp($mode, "FRIDGE") ? $se = "" : $se = " checked";
	$outstr .= '        <input type="radio" name="mode'.$unr.'" value="FRIDGE"'.$se.' disabled>Fridge<br>'.PHP_EOL;
	strcmp($mode, "BEER") ? $se = "" : $se = " checked";
	$outstr .= '        <input type="radio" name="mode'.$unr.'" value="BEER"'.$se.' disabled>Beer<br>'.PHP_EOL;
	strcmp($mode, "PROFILE") ? $se = "" : $se = " checked";
	$outstr .= '        <input type="radio" name="mode'.$unr.'" value="PROFILE"'.$se.' disabled>Profile'.PHP_EOL;
	$outstr .= '       </form>'.PHP_EOL;
	$outstr .= '      </div>'.PHP_EOL;
	$outstr .= '      <div id="fermentor_powerled">'.PHP_EOL;
	$outstr .= '       PwrLED'.PHP_EOL;
	$outstr .= '      </div>'.PHP_EOL;
	$outstr .= '      <div id="fermentor_display1">'.PHP_EOL;
	$outstr .= '       '.$set_temperature.'<br>Set'.PHP_EOL;
	$outstr .= '      </div>'.PHP_EOL;
	$outstr .= '      <div id="fermentor_display2">'.PHP_EOL;
	$outstr .= '       '.$air_temperature.'<br>Air'.PHP_EOL;
	$outstr .= '      </div>'.PHP_EOL;
	$outstr .= '      <div id="fermentor_display3">'.PHP_EOL;
	$outstr .= '       '.$beer_temperature.'<br>Beer'.PHP_EOL;
	$outstr .= '      </div>'.PHP_EOL;
	$outstr .= '      <div id="fermentor_led1">'.PHP_EOL;
	$outstr .= '       CoolLED'.PHP_EOL;
	$outstr .= '      </div>'.PHP_EOL;
	$outstr .= '      <div id="fermentor_led2">'.PHP_EOL;
	$outstr .= '       HeatLED'.PHP_EOL;
	$outstr .= '      </div>'.PHP_EOL;
	$outstr .= '      <div id="fermentor_led3">'.PHP_EOL;
	$outstr .= '       FanLED'.PHP_EOL;
	$outstr .= '      </div>'.PHP_EOL;
	$outstr .= '      <div id="fermentor_toggle1">'.PHP_EOL;
	$outstr .= '       CoolSW'.PHP_EOL;
	$outstr .= '      </div>'.PHP_EOL;
	$outstr .= '      <div id="fermentor_toggle2">'.PHP_EOL;
	$outstr .= '       HeatSW'.PHP_EOL;
	$outstr .= '      </div>'.PHP_EOL;
	$outstr .= '      <div id="fermentor_toggle3">'.PHP_EOL;
	$outstr .= '       FanSW'.PHP_EOL;
	$outstr .= '      </div>'.PHP_EOL;
	$outstr .= '     </div>'.PHP_EOL;
	$outstr .= '     <div id="fermentor_control">'.PHP_EOL;
	$outstr .= '     </div>'.PHP_EOL;
	$outstr .= '     <div id="fermentor_edit">'.PHP_EOL;
	$outstr .= '      <button id="fermentor_setup" class="ui-state-default">Edit fermentor</button>'.PHP_EOL;
	$outstr .= '      <button id="fermentor_history" class="ui-state-default">History</button>'.PHP_EOL;
	$outstr .= '     </div>'.PHP_EOL;
    	$outstr .= '    </div> <!-- fermentor -->'.PHP_EOL;
    }

    return $outstr;
}



function liveview()
{
    $outstr  = PHP_EOL;

    $sock = open_socket();
    if ($sock !== false) {
	socket_write($sock, "LIST", 4096);

	/*
	 * Multiple reads until the remote closed the connection
	 */
	$answer = "";
	while (1) {
	    $line = socket_read($sock, 4096);
	    if ($line === '')
		break;
	    $answer .= $line;
	}
	socket_close($sock);
	$arr = explode("\r\n", $answer);

	if (startsWith($arr[0], "212")) {
	    $i = 1;
	    while (1) {
		if (strcmp($arr[$i], ".") == 0)
			break;
		$parts = explode(",", $arr[$i]);
		$outstr .= showunit($parts[1], $i);
		$i++;
	    }
	}
    }

    return $outstr;
}



?>

mercurial