somfy_sdn 2.1.5 → 2.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 +4 -4
- data/exe/somfy_sdn +69 -0
- data/lib/sdn/cli/mqtt/group.rb +12 -10
- data/lib/sdn/cli/mqtt/motor.rb +19 -14
- data/lib/sdn/cli/mqtt/p_queue.rb +18 -0
- data/lib/sdn/cli/mqtt/read.rb +125 -126
- data/lib/sdn/cli/mqtt/subscriptions.rb +186 -140
- data/lib/sdn/cli/mqtt/write.rb +39 -34
- data/lib/sdn/cli/mqtt.rb +84 -53
- data/lib/sdn/cli/provisioner.rb +56 -33
- data/lib/sdn/cli/simulator.rb +99 -65
- data/lib/sdn/client.rb +38 -24
- data/lib/sdn/message/control.rb +60 -30
- data/lib/sdn/message/get.rb +6 -2
- data/lib/sdn/message/helpers.rb +23 -22
- data/lib/sdn/message/ilt2/get.rb +6 -3
- data/lib/sdn/message/ilt2/master_control.rb +10 -7
- data/lib/sdn/message/ilt2/post.rb +7 -5
- data/lib/sdn/message/ilt2/set.rb +28 -19
- data/lib/sdn/message/post.rb +3 -5
- data/lib/sdn/message/set.rb +48 -22
- data/lib/sdn/message.rb +50 -34
- data/lib/sdn/version.rb +3 -1
- data/lib/sdn.rb +18 -12
- data/lib/somfy_sdn.rb +3 -1
- metadata +43 -13
- data/bin/somfy_sdn +0 -60
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: somfy_sdn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cody Cutrer
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: ccutrer-serialport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
@@ -25,33 +25,33 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: curses
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.4'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1.
|
40
|
+
version: '1.4'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: mqtt-ccutrer
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: net-telnet-rfc2217
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +108,34 @@ dependencies:
|
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '13.0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop-inst
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '1.0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop-rake
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0.6'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0.6'
|
111
139
|
description:
|
112
140
|
email: cody@cutrer.com'
|
113
141
|
executables:
|
@@ -115,11 +143,12 @@ executables:
|
|
115
143
|
extensions: []
|
116
144
|
extra_rdoc_files: []
|
117
145
|
files:
|
118
|
-
-
|
146
|
+
- exe/somfy_sdn
|
119
147
|
- lib/sdn.rb
|
120
148
|
- lib/sdn/cli/mqtt.rb
|
121
149
|
- lib/sdn/cli/mqtt/group.rb
|
122
150
|
- lib/sdn/cli/mqtt/motor.rb
|
151
|
+
- lib/sdn/cli/mqtt/p_queue.rb
|
123
152
|
- lib/sdn/cli/mqtt/read.rb
|
124
153
|
- lib/sdn/cli/mqtt/subscriptions.rb
|
125
154
|
- lib/sdn/cli/mqtt/write.rb
|
@@ -141,7 +170,8 @@ files:
|
|
141
170
|
homepage: https://github.com/ccutrer/somfy_sdn
|
142
171
|
licenses:
|
143
172
|
- MIT
|
144
|
-
metadata:
|
173
|
+
metadata:
|
174
|
+
rubygems_mfa_required: 'true'
|
145
175
|
post_install_message:
|
146
176
|
rdoc_options: []
|
147
177
|
require_paths:
|
@@ -150,7 +180,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
150
180
|
requirements:
|
151
181
|
- - ">="
|
152
182
|
- !ruby/object:Gem::Version
|
153
|
-
version: '
|
183
|
+
version: '2.5'
|
154
184
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
185
|
requirements:
|
156
186
|
- - ">="
|
data/bin/somfy_sdn
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'somfy_sdn'
|
4
|
-
require 'thor'
|
5
|
-
|
6
|
-
class SomfySDNCLI < Thor
|
7
|
-
class_option :verbose, type: :boolean, default: false
|
8
|
-
|
9
|
-
desc "monitor PORT", "Monitor traffic on the SDN network at PORT"
|
10
|
-
def monitor(port)
|
11
|
-
handle_global_options
|
12
|
-
|
13
|
-
sdn = SDN::Client.new(port)
|
14
|
-
|
15
|
-
loop do
|
16
|
-
sdn.receive do |message|
|
17
|
-
SDN.logger.info "Received message #{message.inspect}"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
desc "mqtt PORT MQTT_URI", "Run an MQTT bridge to control the SDN network at PORT"
|
23
|
-
option :"device-id", default: "somfy", desc: "The Homie Device ID"
|
24
|
-
option :"base-topic", default: "homie", desc: "The base Homie topic"
|
25
|
-
option :"auto-discover", type: :boolean, default: true, desc: "Do a discovery at startup"
|
26
|
-
def mqtt(port, mqtt_uri)
|
27
|
-
handle_global_options
|
28
|
-
|
29
|
-
require 'sdn/cli/mqtt'
|
30
|
-
|
31
|
-
SDN::CLI::MQTT.new(port, mqtt_uri,
|
32
|
-
device_id: options["device-id"],
|
33
|
-
base_topic: options["base-topic"],
|
34
|
-
auto_discover: options["auto-discover"])
|
35
|
-
end
|
36
|
-
|
37
|
-
desc "provision PORT [ADDRESS]", "Provision a motor (label and set limits) at PORT"
|
38
|
-
def provision(port, address = nil)
|
39
|
-
handle_global_options
|
40
|
-
|
41
|
-
require 'sdn/cli/provisioner'
|
42
|
-
SDN::CLI::Provisioner.new(port, address)
|
43
|
-
end
|
44
|
-
|
45
|
-
desc "simulator PORT [ADDRESS]", "Simulate a motor (for debugging purposes) at PORT"
|
46
|
-
def simulator(port, address = nil)
|
47
|
-
handle_global_options
|
48
|
-
|
49
|
-
require 'sdn/cli/simulator'
|
50
|
-
SDN::CLI::Simulator.new(port, address)
|
51
|
-
end
|
52
|
-
|
53
|
-
private
|
54
|
-
|
55
|
-
def handle_global_options
|
56
|
-
SDN.logger.level = options[:verbose] ? :debug : :info
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
SomfySDNCLI.start(ARGV)
|