Thu, 24 Jan 2019 20:54:45 +0100
Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
<?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); ?>