evok-to-mqtt 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3b8a025e0a49655d2600d98163bb1038e0cdba9a4a4131012940efb8e17b8b63
4
- data.tar.gz: d564c74d4024df8ecbee13394ffe70163ce0eb2cd96dc7e16abbe6f99ea4e8ae
3
+ metadata.gz: 785d9c7a80a6d0f3f6542cdcb31948d2b953d1af846c759a7b7eb63dd2010b36
4
+ data.tar.gz: 66b75d061bb64340a98c716adf2248195e56b7bb9f2ad5f21923122f261af01b
5
5
  SHA512:
6
- metadata.gz: 91d6da3ddae3de197b740bb0b8504a0b8000cf4af0068748b625bf0659825e01982595e6c8a359a5aac7c9c111a7349b32baf93e550d13b4e2fdf6e847a3e591
7
- data.tar.gz: 9723748c9e94304aa33c72a43c5154c896231663d0f8f69d450ff0c693aa7f154002e7dee9a15fee7546554359aae23f8123fddc6d7320749d9a361d5360cb6e
6
+ metadata.gz: 9533b2226a696eadde3e3332b80d393de5ddc0a3d8f0b29e7cd4585a4aa98f85655026981f1f8167a08c54be587093bc81e1c6368880342546e5c6dd4285e146
7
+ data.tar.gz: 20332590c4b7a427fb5ebedce3eb5ced30049175c0b7d3675a99a2e36ab114f798dec55bb2c4fa9c5686a258b40805e223bdff920e52e2a714917c5e2d6ef806
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- evok-to-mqtt (0.1.0)
4
+ evok-to-mqtt (0.1.1)
5
5
  em-mqtt (~> 0.0.5)
6
6
  websocket-eventmachine-client (~> 1.2)
7
7
 
@@ -8,7 +8,7 @@ module EvokToMqtt
8
8
  def process(mqtt, evok_event)
9
9
  # puts "Statuses"
10
10
  # p @statuses
11
- id = evok_event["circuit"]
11
+ id = "neuron/#{evok_event["dev"]}/#{evok_event["circuit"]}"
12
12
  now = Time.now
13
13
  payload = evok_event
14
14
 
@@ -1,3 +1,3 @@
1
1
  module EvokToMqtt
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -2,6 +2,7 @@ require 'eventmachine'
2
2
  require 'websocket-eventmachine-client'
3
3
  require 'json'
4
4
  require 'em/mqtt'
5
+ require 'net/http'
5
6
 
6
7
  module EvokToMqtt
7
8
  class Worker
@@ -14,21 +15,24 @@ module EvokToMqtt
14
15
  def run
15
16
  EM.run do
16
17
  @evok = WebSocket::EventMachine::Client.connect(:uri => "ws://#{@evok_host}:8080/ws")
17
- @mqtt = ::EventMachine::MQTT::ClientConnection.connect(@mqtt_host)
18
+ @mqtt = EventMachine::MQTT::ClientConnection.connect(@mqtt_host)
18
19
 
19
20
  @evok.onmessage do |msg|
20
- puts "Recieved message: #{msg}"
21
21
  JSON.parse(msg).each do |event|
22
+ next if event['dev'] == 'wd' # skip watchdog events
23
+ puts "Recieved message: #{event}"
22
24
  @mapper.process(@mqtt, event)
23
25
  end
24
26
  end
25
27
 
26
- #@mqtt.subscribe('neuron/#')
27
- #@mqtt.receive_callback do |topic,message|
28
- # puts "################################"
29
- # puts topic
30
- # puts message
31
- #end
28
+ @mqtt.subscribe('neuron/output/relay/#')
29
+ @mqtt.receive_callback do |msg|
30
+ # WS set did not work, using REST for now
31
+ data = JSON.parse(msg.payload)
32
+ puts "Sending command #{msg.topic} => #{data['value']}"
33
+ uri = URI("http://#{@evok_host}/rest/#{data['dev']}/#{data['circuit']}")
34
+ Net::HTTP.post_form(uri, 'value' => data['value'])
35
+ end
32
36
  end
33
37
  end
34
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evok-to-mqtt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marek Aufart
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-31 00:00:00.000000000 Z
11
+ date: 2018-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: websocket-eventmachine-client