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

Both sides previous revision Previous revision
Next revision
Previous revision
uphp:functions:mqtt_subscribe [2017/09/27 11:05]
admin
uphp:functions:mqtt_subscribe [2019/11/29 05:12]
admin
Line 8: Line 8:
  
 <well size="sm"><html> <well size="sm"><html>
-<span style="font-size:125%">mqtt_publish (+<span style="font-size:125%">mqtt_subscribe (
 <span style="color:green">string <span style="color:green">string
 <span style="color:blue">$channel<span style="color:black">, <span style="color:blue">$channel<span style="color:black">,
Line 30: Line 30:
 <code php> <code php>
 <?  <? 
- 
 // Use the # as a wildcard so any messages to /cluster/1/ or its sub channels will be received // Use the # as a wildcard so any messages to /cluster/1/ or its sub channels will be received
  
Line 38: Line 37:
  
 ====Example Callback==== ====Example Callback====
-Callbacks can use the php://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.+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> <code php>
Line 44: Line 43:
 $f=fopen("php://stdin","r"); $f=fopen("php://stdin","r");
 $st=fgets($f); $st=fgets($f);
-    $msg=fgets($f); +$msg=fgets($f); 
-    $response=""; +$response=""; 
-    if (substr($msg,0,3)=='get') { +if (substr($msg,0,3)=='get') { 
-        $variable=substr($msg,4,strlen($msg)-3); + $variable=substr($msg,4,strlen($msg)-3); 
-        $response=$variable.":".$_GLOBALS[$variable]; + $response=$variable.":".$_GLOBALS[$variable]; 
-    }+}
 if (strpos($st,getmac()) || strpos($st,'/all')) { if (strpos($st,getmac()) || strpos($st,'/all')) {
-    if (strpos($st,"get")) {     + if (strpos($st,"get")) { 
- +        mqtt_publish("/cluster/1/ret/".getmac(),$response); 
-            mqtt_publish("/cluster/1/ret/".getmac(),$response); + } else { 
-    } else { + if (strpos($st,"ret")) {     
-        if (strpos($st,"ret")) {     + print("Notification was properly posted"); 
-            print("Notification was properly posted"); +
-        + }
-    }+
 } }
 ?> ?>
 </code> </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==== ====See Also====
  
 [[mqtt_publish()]] - Publish to an MQTT channel [[mqtt_publish()]] - Publish to an MQTT channel
  
uphp/functions/mqtt_subscribe.txt · Last modified: 2021/09/13 05:57 (external edit)