--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/www/cmd_fermenter.php Tue Jan 08 21:54:19 2019 +0100 @@ -0,0 +1,53 @@ +<?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}} + * {"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}]}} + */ +$topic = "mbv1.0/fermenters/DCMD/" . $node . "/" . $alias; +$payload = '\'{"timestamp":' . time() . ',"seq":' . $nr . ',"metric":' . $payload . '}\''; + +syslog(LOG_NOTICE, $topic . ' ' . $payload); +shell_exec('mosquitto_pub -h seaport -q 0 -t '.$topic.' -m '.$payload); + +?>