User Tools

Site Tools


uphp:functions:mqtt_subscribe

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

uphp:functions:mqtt_subscribe [2019/11/29 05:02]
admin
uphp:functions:mqtt_subscribe [2021/09/13 05:57]
Line 1: Line 1:
-======mqtt_subscribe====== 
- 
-<badge>WMPRO, WMMINI FW >= 1.1074</badge> <badge>WMMEGA FW >= 2.1078</badge> 
- 
-Subscribe to an MQTT channel 
- 
-====Description==== 
- 
-<well size="sm"><html> 
-<span style="font-size:125%">mqtt_publish ( 
-<span style="color:green">string 
-<span style="color:blue">$channel<span style="color:black">, 
-<span style="color:green">string 
-<span style="color:blue">$callback 
-<span style="color:black">) 
-</html></well> 
- 
-====Parameters==== 
- 
-<html><b><span style="color:blue">$channel<span style="color:black"></b></html>:  Channel to subscribe to.  See [[uphp:mqtt_configuration|MQTT Configuration]] 
- 
-<html><b><span style="color:blue">$callback<span style="color:black"></b></html>:  Callback script to execute upon receipt of a message 
- 
-====Return Values==== 
- 
-1 if successful and 0 on failure 
- 
-====Example==== 
- 
-<code php> 
-<?  
-// 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"); 
-?> 
-</code> 
- 
-====Example Callback==== 
-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. 
- 
-<code php> 
-<?  
-$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"); 
- } 
- } 
-} 
-?> 
-</code> 
- 
-====Note===== 
-On WattmonPRO & MINI the maximum packet size is 128 bytes.  On WattmonMega, M2 & Mini2 the maximum packet size is 2048 bytes. 
- 
-====See Also==== 
- 
-[[mqtt_publish()]] - Publish to an MQTT channel 
  
uphp/functions/mqtt_subscribe.txt · Last modified: 2021/09/13 05:57 (external edit)