www/cmd_fermenter.php

changeset 183
a810539dc218
child 185
4c25db9e8102
--- /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);
+
+?>

mercurial