WMPRO, WMMINI FW >= 1.1074 WMMEGA FW >= 2.1078
Subscribe to an MQTT channel
$channel: Channel to subscribe to. See MQTT Configuration
$callback: Callback script to execute upon receipt of a message
1 if successful and 0 on failure
<? // Use the # as a wildcard so any messages to /cluster/1/ or its sub channels will be received mqtt_subscribe("/cluster/1/#","/scripts/tests/mqttsub.cgi"); ?>
Callbacks can use the stdin
file to read input. Use fgets() to get the first line, which will be the full channel. The following lines will be the data received.
<? $f=fopen("php://stdin","r"); $st=fgets($f); $msg=fgets($f); $response=""; if (substr($msg,0,3)=='get') { $variable=substr($msg,4,strlen($msg)-3); $response=$variable.":".$_GLOBALS[$variable]; } if (strpos($st,getmac()) || strpos($st,'/all')) { if (strpos($st,"get")) { mqtt_publish("/cluster/1/ret/".getmac(),$response); } else { if (strpos($st,"ret")) { print("Notification was properly posted"); } } } ?>
On WattmonPRO & MINI the maximum packet size is 128 bytes. On WattmonMega, M2 & Mini2 the maximum packet size is 2048 bytes.
mqtt_publish() - Publish to an MQTT channel