waterfurnace_aurora 0.3.1 → 0.3.2

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: fde3dc688654c589d5638b794484035f3ab7ca8c102fe1ef27bb6365ddd51d22
4
- data.tar.gz: 6d679712a9375c94f8a1f7b2fe3fa6102c606a433c0449049ae289773cdaf735
3
+ metadata.gz: 47ba3e76677f00093692ed3f75daac6629fc77c71102a200efe88a846d271045
4
+ data.tar.gz: 6183cec3c273fafa6eb529e3e9fb0c6769941a51bd22d808528ffbd0f75b3fad
5
5
  SHA512:
6
- metadata.gz: dd90afd3a8f15ddec22ec29f23679d4def25b768b47eaf7adc37c37ab0a5b98bfb98a11811133d67dbbb1afd23b03ea5689fe4be55c2966eb19b68b9b8827667
7
- data.tar.gz: 9c855a9730f2a86678876f3866ea7a6583925781e2397e13738b9f413e4b318a89c7860706e22e88c94d090f37afccd775b2b54242b9555530993e7021b995c6
6
+ metadata.gz: 6a961b2e49137c51cb888f0bf3a551c530be8eed02cc9fc978c38ab0ef3b00c582b90c1d44466f126f90bed0934632b22fe976166b3c59ded871b61b2ee6202c
7
+ data.tar.gz: f275fe6dce4542e0212abd90b7346c7e6970e23af7b657bc4c05ed3dd9682b36ad87e68abcbf03644e5fff62af89d2149edc0aa16605f33021734a52c81ca263
@@ -29,7 +29,7 @@ class MQTTBridge
29
29
  @homie = homie
30
30
  @mutex = Mutex.new
31
31
 
32
- @homie.instance_variable_set(:@block, lambda do |topic, value|
32
+ @homie.out_of_band_topic_proc = lambda do |topic, value|
33
33
  @mutex.synchronize do
34
34
  case topic
35
35
  when /\$modbus$/
@@ -62,9 +62,10 @@ class MQTTBridge
62
62
  end
63
63
  end
64
64
  rescue StandardError => e
65
- puts "failed processing message: #{e}\n#{e.backtrace}"
66
- end)
65
+ logger.error("failed processing message: #{e}\n#{e.backtrace}")
66
+ end
67
67
 
68
+ @abc.refresh
68
69
  publish_basic_attributes
69
70
 
70
71
  loop do
@@ -75,6 +76,7 @@ class MQTTBridge
75
76
  current_mode
76
77
  dhw_water_temperature
77
78
  entering_air_temperature
79
+ entering_water_temperature
78
80
  fan_speed
79
81
  leaving_air_temperature
80
82
  leaving_water_temperature
@@ -99,7 +101,7 @@ class MQTTBridge
99
101
  end
100
102
  end
101
103
  rescue => e
102
- puts "got garbage: #{e}; #{e.backtrace}"
104
+ logger.error("got garbage: #{e}; #{e.backtrace}")
103
105
  exit 1
104
106
  end
105
107
  sleep(5)
@@ -186,4 +188,13 @@ class MQTTBridge
186
188
  end
187
189
  end
188
190
 
189
- MQTTBridge.new(abc, MQTT::Homie::Device.new("aurora", "Aurora MQTT Bridge", mqtt: mqtt_uri))
191
+ log_level = ARGV.include?("--debug") ? :debug : :warn
192
+ logger = Logger.new($stdout)
193
+ logger.level = log_level
194
+ slave.logger = logger
195
+
196
+ device = "aurora-#{abc.serial_number}"
197
+ homie = MQTT::Homie::Device.new(device, "Aurora MQTT Bridge", mqtt: mqtt_uri)
198
+ homie.logger = logger
199
+
200
+ MQTTBridge.new(abc, homie)
@@ -3,6 +3,7 @@
3
3
  module Aurora
4
4
  class ABCClient
5
5
  attr_reader :modbus_slave,
6
+ :serial_number,
6
7
  :zones,
7
8
  :current_mode,
8
9
  :fan_speed,
@@ -27,6 +28,9 @@ module Aurora
27
28
  @modbus_slave = modbus_slave
28
29
  @modbus_slave.read_retry_timeout = 15
29
30
  @modbus_slave.read_retries = 2
31
+ registers_array = @modbus_slave.holding_registers[105...110]
32
+ registers = registers_array.each_with_index.map { |r, i| [i + 105, r] }.to_h
33
+ @serial_number = Aurora.transform_registers(registers)[105]
30
34
  iz2_zone_count = @modbus_slave.holding_registers[483]
31
35
  # TODO: better detect IZ2/Non-IZ2
32
36
  @zones = if iz2_zone_count > 1
@@ -17,7 +17,7 @@ module Aurora
17
17
  end
18
18
 
19
19
  def holding_registers
20
- WFProxy.new(self, :holding_register)
20
+ @holding_registers ||= WFProxy.new(self, :holding_register)
21
21
  end
22
22
  end
23
23
 
@@ -33,7 +33,6 @@ module Aurora
33
33
  def read_rtu_response(io)
34
34
  # Read the slave_id and function code
35
35
  msg = read(io, 2)
36
- log logging_bytes(msg)
37
36
 
38
37
  function_code = msg.getbyte(1)
39
38
  case function_code
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Aurora
4
- VERSION = "0.3.1"
4
+ VERSION = "0.3.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: waterfurnace_aurora
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Cutrer
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.4.2
33
+ version: 1.4.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.4.2
40
+ version: 1.4.4
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: net-telnet-rfc2217
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '2.0'
61
+ version: '2.1'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '2.0'
68
+ version: '2.1'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: byebug
71
71
  requirement: !ruby/object:Gem::Requirement