diff --git a/app/models/agents/mqtt_agent.rb b/app/models/agents/mqtt_agent.rb index 22fd7287..7433def3 100644 --- a/app/models/agents/mqtt_agent.rb +++ b/app/models/agents/mqtt_agent.rb @@ -5,56 +5,55 @@ require "json" module Agents class MqttAgent < Agent description <<-MD - The MQTT agent allows both publication and subscription to an MQTT topic. + The MQTT agent allows both publication and subscription to an MQTT topic. - MQTT is a generic transport protocol for machine to machine communication. + MQTT is a generic transport protocol for machine to machine communication. - You can do things like: + You can do things like: - * Publish to [RabbitMQ](http://www.rabbitmq.com/mqtt.html) - * Run [OwnTracks, a location tracking tool](http://owntracks.org/) for iOS and Android - * Subscribe to your home automation setup like [Ninjablocks](http://forums.ninjablocks.com/index.php?p=/discussion/661/today-i-learned-about-mqtt/p1) or [TheThingSystem](http://thethingsystem.com/dev/supported-things.html) + * Publish to [RabbitMQ](http://www.rabbitmq.com/mqtt.html) + * Run [OwnTracks, a location tracking tool](http://owntracks.org/) for iOS and Android + * Subscribe to your home automation setup like [Ninjablocks](http://forums.ninjablocks.com/index.php?p=/discussion/661/today-i-learned-about-mqtt/p1) or [TheThingSystem](http://thethingsystem.com/dev/supported-things.html) - Simply choose a topic (think email subject line) to publish/listen to, and configure your service. + Simply choose a topic (think email subject line) to publish/listen to, and configure your service. - It's easy to setup your own [broker](http://jpmens.net/2013/09/01/installing-mosquitto-on-a-raspberry-pi/) or connect to a [cloud service](www.cloudmqtt.com) + It's easy to setup your own [broker](http://jpmens.net/2013/09/01/installing-mosquitto-on-a-raspberry-pi/) or connect to a [cloud service](www.cloudmqtt.com) - Hints: - Many services run mqtts (mqtt over SSL) often with a custom certificate. + Hints: + Many services run mqtts (mqtt over SSL) often with a custom certificate. - You'll want to download their cert and install it locally, specifying the ```certificate_path``` configuration. + You'll want to download their cert and install it locally, specifying the ```certificate_path``` configuration. - Example configuration: + Example configuration: -
{
-      'uri' => 'mqtts://user:pass@locahost:8883'
-      'ssl' => :TLSv1,
-      'ca_file' => './ca.pem',
-      'cert_file' => './client.crt',
-      'key_file' => './client.key',
-      'topic' => 'huginn'
-    }
-    
+
{
+        'uri' => 'mqtts://user:pass@locahost:8883'
+        'ssl' => :TLSv1,
+        'ca_file' => './ca.pem',
+        'cert_file' => './client.crt',
+        'key_file' => './client.key',
+        'topic' => 'huginn'
+      }
+      
- Subscribe to CloCkWeRX's TheThingSystem instance (thethingsystem.com), where - temperature and other events are being published. + Subscribe to CloCkWeRX's TheThingSystem instance (thethingsystem.com), where + temperature and other events are being published. -
{
-      'uri' => 'mqtt://kcqlmkgx:sVNoccqwvXxE@m10.cloudmqtt.com:13858'
-      'topic' => 'the_thing_system/demo'
-    }
-    
+
{
+        'uri' => 'mqtt://kcqlmkgx:sVNoccqwvXxE@m10.cloudmqtt.com:13858'
+        'topic' => 'the_thing_system/demo'
+      }
+      
- Subscribe to all topics -
{
-      'uri' => 'mqtt://kcqlmkgx:sVNoccqwvXxE@m10.cloudmqtt.com:13858'
-      'topic' => '/#'
-    }
-    
- - Find out more detail on [subscription wildcards](http://www.eclipse.org/paho/files/mqttdoc/Cclient/wildcard.html) + Subscribe to all topics +
{
+        'uri' => 'mqtt://kcqlmkgx:sVNoccqwvXxE@m10.cloudmqtt.com:13858'
+        'topic' => '/#'
+      }
+      
+ Find out more detail on [subscription wildcards](http://www.eclipse.org/paho/files/mqttdoc/Cclient/wildcard.html) MD event_description <<-MD @@ -62,18 +61,7 @@ module Agents
{
         "topic": "owntracks/kcqlmkgx/Dan",
-        "message": {
-  "topic": "owntracks/kcqlmkgx/Galaxy S3 Dan",
-  "message": {
-    "_type": "location",
-    "lat": "-34.849373",
-    "lon": "138.5218449",
-    "tst": "1401761484",
-    "acc": "10.0",
-    "batt": "71"
-  },
-  "time": 1401771825
-},
+        "message": {"_type": "location", "lat": "-34.8493644", "lon": "138.5218119", "tst": "1401771049", "acc": "50.0", "batt": "31", "desc": "Home", "event": "enter"},
         "time": 1401771051
       }
MD