waterfurnace_aurora 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
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