www/cmd_fermenter.php

Sat, 18 Apr 2020 15:56:40 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 18 Apr 2020 15:56:40 +0200
changeset 657
a5ade45597d8
parent 189
6470e5c6a001
permissions
-rw-r--r--

More code cleanup

<?php
require_once('config.php');

/*
 * Sequence number file. Must be mode 666 in directory mode 777
 */
$sfile = "run/sequence";
if (fopen($sfile, "r")) {
	$data = file_get_contents($sfile);
	$nr = intval($data);
} else {
	$nr = 1;
}
$nr++;
if ($fp = fopen($sfile, "w")) {
	file_put_contents($sfile, $nr);
	fclose($fp);
}


if (isset($_POST['node'])) {
	$node = $_POST['node'];
} else {
	return 1;
}
if (isset($_POST['alias'])) {
	$alias = $_POST['alias'];
} else {
	return 1;
}
if (isset($_POST['payload'])) {
	$payload = $_POST['payload'];
} else {
	return 1;
}


/*
 * topic:    mbv1.0/fermenters/DCMD/$node/$alias
 * payload:  {"timestamp":1546956819,"seq":688,"metric":$payload}
 * $payload: {"product":{"code":"HUP001","name":"Hop Hup"}}
 *           {"stage":"PRIMARY","mode":"FRIDGE","setpoint":{"low":17.8,"high":18.2}}
 *           {"heater":{"state":0},"cooler":{"state":0},"fan":{"state":0},"light":{"state":0}}
 *           {"profile":{"uuid":"...","name":"profielnaam","inittemp":{"low":18.2,"high":20.5},"fridgemode":0,
 *              "steps":[{"resttime":12,"steptime":36,"target":{"low":20.8,"high":23.1},"fridgemode":0},
 *              	 {"resttime":48,"steptime":48,"target":{"low":27.5,"high":28.0},"fridgemode":0}]}}
 *           {"profile":{"command":"start/stop/pause/abort"}
 */
$topic = "mbv1.0/fermenters/DCMD/" . $node . "/" . $alias;
$payload = '\'{"timestamp":' . time() . ',"seq":' . $nr . ',"metric":' . $payload . '}\'';

syslog(LOG_NOTICE, $topic . ' ' . $payload);
shell_exec('mosquitto_pub -h '.MQTT_HOST.' -q 0 -t '.$topic.' -m '.$payload);

?>

mercurial