waterfurnace_aurora 1.4.3 → 1.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/exe/aurora_mqtt_bridge +198 -179
- data/lib/aurora/abc_client.rb +26 -8
- data/lib/aurora/compressor.rb +11 -5
- data/lib/aurora/humidistat.rb +6 -2
- data/lib/aurora/registers.rb +1 -1
- data/lib/aurora/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 30c7acec4f7a6f999696a3a2674030ca6b9973d1ea815843c77987ec82060d80
|
4
|
+
data.tar.gz: 4e0fa45aa56a2c55f999025c63e58d0651d43379be9be126bf0d0b138036188e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a991e824326cda96dea90a2335dd61f220701602d19424ee5839f265dd92e111f95e5074943ab896fa5f526f863efe2ee3a0b92c8bba999b70354117cb6a4afc
|
7
|
+
data.tar.gz: 3c0d627f9a950faf6d0423146a1032e1d3b563a073fe2ad83197758cfbace1efff67211a11a5f5d46f835333b141ae3860df2ed5b17177d343ba18de3224e4a8
|
data/exe/aurora_mqtt_bridge
CHANGED
@@ -176,22 +176,34 @@ class MQTTBridge
|
|
176
176
|
:boolean,
|
177
177
|
@abc.safe_mode?,
|
178
178
|
hass: :binary_sensor)
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
179
|
+
unless @abc.entering_air_temperature.zero?
|
180
|
+
node.property("entering-air-temperature",
|
181
|
+
"Entering Air Temperature",
|
182
|
+
:float,
|
183
|
+
@abc.entering_air_temperature,
|
184
|
+
unit: "°F",
|
185
|
+
hass: { sensor: { device_class: :temperature,
|
186
|
+
state_class: :measurement,
|
187
|
+
entity_category: :diagnostic } })
|
188
|
+
end
|
189
|
+
if @abc.performance_monitoring?
|
190
|
+
node.property("entering-water-temperature",
|
191
|
+
"Entering Water Temperature",
|
192
|
+
:float,
|
193
|
+
@abc.entering_water_temperature,
|
194
|
+
unit: "°F",
|
195
|
+
hass: { sensor: { device_class: :temperature,
|
196
|
+
state_class: :measurement,
|
197
|
+
entity_category: :diagnostic } })
|
198
|
+
node.property("leaving-water-temperature",
|
199
|
+
"Leaving Water Temperature",
|
200
|
+
:float,
|
201
|
+
@abc.leaving_water_temperature,
|
202
|
+
unit: "°F",
|
203
|
+
hass: { sensor: { device_class: :temperature,
|
204
|
+
state_class: :measurement,
|
205
|
+
entity_category: :diagnostic } })
|
206
|
+
end
|
195
207
|
node.property("low-pressure-switch",
|
196
208
|
"Low Pressure Switch Status",
|
197
209
|
:enum,
|
@@ -213,14 +225,6 @@ class MQTTBridge
|
|
213
225
|
state_class: :measurement,
|
214
226
|
entity_category: :diagnostic } })
|
215
227
|
end
|
216
|
-
node.property("leaving-water-temperature",
|
217
|
-
"Leaving Water Temperature",
|
218
|
-
:float,
|
219
|
-
@abc.leaving_water_temperature,
|
220
|
-
unit: "°F",
|
221
|
-
hass: { sensor: { device_class: :temperature,
|
222
|
-
state_class: :measurement,
|
223
|
-
entity_category: :diagnostic } })
|
224
228
|
# TODO: figure out the config if this actually exists
|
225
229
|
if @abc.awl_communicating? && !@abc.outdoor_temperature.zero?
|
226
230
|
node.property("outdoor-temperature",
|
@@ -240,14 +244,16 @@ class MQTTBridge
|
|
240
244
|
unit: "V") do |value|
|
241
245
|
@mutex.synchronize { @abc.line_voltage = value }
|
242
246
|
end
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
247
|
+
if (-999..999).cover?(@abc.air_coil_temperature)
|
248
|
+
node.property("air-coil-temperature",
|
249
|
+
"Air Coil Temperature (FP2)",
|
250
|
+
:float,
|
251
|
+
@abc.air_coil_temperature,
|
252
|
+
unit: "°F",
|
253
|
+
hass: { sensor: { device_class: :temperature,
|
254
|
+
state_class: :measurement,
|
255
|
+
entity_category: :diagnostic } })
|
256
|
+
end
|
251
257
|
if @abc.energy_monitoring?
|
252
258
|
node.property("watts",
|
253
259
|
"Total Power Usage",
|
@@ -274,22 +280,23 @@ class MQTTBridge
|
|
274
280
|
hass: { sensor: { device_class: :temperature,
|
275
281
|
state_class: :measurement,
|
276
282
|
entity_category: :diagnostic } })
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
node.property("
|
287
|
-
"
|
288
|
-
:
|
289
|
-
@abc.compressor.
|
290
|
-
unit: "
|
291
|
-
hass: { sensor: { device_class: :
|
292
|
-
state_class: :measurement
|
283
|
+
if @abc.refrigeration_monitoring?
|
284
|
+
node.property("heating-liquid-line-temperature",
|
285
|
+
"Heating Liquid Line Temperature (FP1)",
|
286
|
+
:float,
|
287
|
+
@abc.compressor.heating_liquid_line_temperature,
|
288
|
+
unit: "°F",
|
289
|
+
hass: { sensor: { device_class: :temperature,
|
290
|
+
state_class: :measurement,
|
291
|
+
entity_category: :diagnostic } })
|
292
|
+
node.property("saturated-condensor-discharge-temperature",
|
293
|
+
"Saturated Condensor Discharge Temperature",
|
294
|
+
:float,
|
295
|
+
@abc.compressor.saturated_condensor_discharge_temperature,
|
296
|
+
unit: "°F",
|
297
|
+
hass: { sensor: { device_class: :temperature,
|
298
|
+
state_class: :measurement,
|
299
|
+
entity_category: :diagnostic } })
|
293
300
|
node.property("heat-of-extraction",
|
294
301
|
"Heat of Extraction",
|
295
302
|
:integer,
|
@@ -302,7 +309,15 @@ class MQTTBridge
|
|
302
309
|
@abc.compressor.heat_of_rejection,
|
303
310
|
unit: "Btuh",
|
304
311
|
hass: { sensor: { state_class: :measurement } })
|
305
|
-
|
312
|
+
end
|
313
|
+
if @abc.energy_monitoring?
|
314
|
+
node.property("watts",
|
315
|
+
"Power Usage",
|
316
|
+
:integer,
|
317
|
+
@abc.compressor.watts,
|
318
|
+
unit: "W",
|
319
|
+
hass: { sensor: { device_class: :power,
|
320
|
+
state_class: :measurement } })
|
306
321
|
end
|
307
322
|
|
308
323
|
next unless @abc.compressor.is_a?(Aurora::Compressor::VSDrive)
|
@@ -491,66 +506,68 @@ class MQTTBridge
|
|
491
506
|
entity_category: :diagnostic } })
|
492
507
|
end
|
493
508
|
|
494
|
-
|
495
|
-
node
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
509
|
+
if @abc.pump
|
510
|
+
@pump = @homie.node("pump", "Loop Pump", @abc.pump.type) do |node|
|
511
|
+
node.property("waterflow",
|
512
|
+
"Waterflow",
|
513
|
+
:float,
|
514
|
+
@abc.pump.waterflow,
|
515
|
+
unit: "gpm",
|
516
|
+
hass: { sensor: { state_class: :measurement,
|
517
|
+
entity_category: :diagnostic } })
|
518
|
+
if @abc.energy_monitoring?
|
519
|
+
node.property("watts",
|
520
|
+
"Power Usage",
|
521
|
+
:integer,
|
522
|
+
@abc.pump.watts,
|
523
|
+
unit: "W",
|
524
|
+
hass: { sensor: { device_class: :power,
|
525
|
+
state_class: :measurement } })
|
526
|
+
end
|
511
527
|
|
512
|
-
|
528
|
+
next unless @abc.pump.is_a?(Aurora::Pump::VSPump)
|
513
529
|
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
530
|
+
node.property("running",
|
531
|
+
"Running",
|
532
|
+
:boolean,
|
533
|
+
@abc.pump.running,
|
534
|
+
hass: { binary_sensor: { device_class: :running } })
|
535
|
+
node.property("manual-control",
|
536
|
+
"Manual Control",
|
537
|
+
:boolean,
|
538
|
+
@abc.pump.manual_control?,
|
539
|
+
hass: { switch: { entity_category: :diagnostic } }) do |value|
|
540
|
+
@mutex.synchronize { @abc.pump.manual_control = value }
|
541
|
+
end
|
542
|
+
node.property("minimum-speed",
|
543
|
+
"Actual Minimum Speed",
|
544
|
+
:integer,
|
545
|
+
@abc.pump.minimum_speed,
|
546
|
+
format: 0..100,
|
547
|
+
unit: "%",
|
548
|
+
hass: { number: { entity_category: :config } }) do |value|
|
549
|
+
@mutex.synchronize { @abc.pump.minimum_speed = value }
|
550
|
+
end
|
551
|
+
node.property("maximum-speed",
|
552
|
+
"Actual Maximum Speed",
|
553
|
+
:integer,
|
554
|
+
@abc.pump.minimum_speed,
|
555
|
+
format: 0..100,
|
556
|
+
unit: "%",
|
557
|
+
hass: { number: { entity_category: :config } }) do |value|
|
558
|
+
@mutex.synchronize { @abc.pump.maximum_speed = value }
|
559
|
+
end
|
560
|
+
next unless @abc.awl_axb?
|
545
561
|
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
562
|
+
node.property("speed",
|
563
|
+
"Speed",
|
564
|
+
:integer,
|
565
|
+
@abc.pump.speed,
|
566
|
+
format: 0..100,
|
567
|
+
unit: "%",
|
568
|
+
hass: { number: { entity_category: :diagnostic } }) do |value|
|
569
|
+
@mutex.synchronize { @abc.pump.speed = value }
|
570
|
+
end
|
554
571
|
end
|
555
572
|
end
|
556
573
|
|
@@ -568,13 +585,6 @@ class MQTTBridge
|
|
568
585
|
:boolean,
|
569
586
|
@abc.dhw.running?,
|
570
587
|
hass: { binary_sensor: { device_class: :running } })
|
571
|
-
node.property("water-temperature",
|
572
|
-
"Water Temperature",
|
573
|
-
:float,
|
574
|
-
@abc.dhw.water_temperature,
|
575
|
-
unit: "°F",
|
576
|
-
hass: { sensor: { device_class: :temperature,
|
577
|
-
state_class: :measurement } })
|
578
588
|
node.property("set-point",
|
579
589
|
"Set Point",
|
580
590
|
:float,
|
@@ -584,81 +594,90 @@ class MQTTBridge
|
|
584
594
|
hass: { number: { step: 5 } }) do |value|
|
585
595
|
@mutex.synchronize { @abc.dhw.set_point = value }
|
586
596
|
end
|
597
|
+
node.property("water-temperature",
|
598
|
+
"Water Temperature",
|
599
|
+
:float,
|
600
|
+
@abc.dhw.water_temperature,
|
601
|
+
unit: "°F",
|
602
|
+
hass: { sensor: { device_class: :temperature,
|
603
|
+
state_class: :measurement } })
|
587
604
|
end
|
588
605
|
end
|
589
606
|
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
607
|
+
if @abc.humidistat
|
608
|
+
@humidistat = @homie.node("humidistat", "Humidistat", "Humidistat") do |node|
|
609
|
+
if @abc.humidistat.humidifier?
|
610
|
+
node.property("humidifier-running",
|
611
|
+
"Humidifier Running",
|
612
|
+
:boolean,
|
613
|
+
@abc.humidistat.humidifier_running?)
|
614
|
+
if @abc.awl_communicating?
|
615
|
+
node.property("humidifier-mode",
|
616
|
+
"Humidifier Mode",
|
617
|
+
:enum,
|
618
|
+
@abc.humidistat.humidifier_mode,
|
619
|
+
format: %i[auto manual]) do |value|
|
620
|
+
@mutex.synchronize { @abc.humidistat.humidifier_mode = value.to_sym }
|
621
|
+
end
|
622
|
+
node.property("humidification-target",
|
623
|
+
"Humidification Target Relative Humidity",
|
624
|
+
:integer,
|
625
|
+
@abc.humidistat.humidification_target,
|
626
|
+
unit: "%",
|
627
|
+
format: 15..50) do |value|
|
628
|
+
@mutex.synchronize { @abc.humidistat.humidification_target = value }
|
629
|
+
end
|
630
|
+
node.hass_humidifier("humidifier-running",
|
631
|
+
target_property: "humidification-target",
|
632
|
+
mode_property: "humidifier-mode",
|
633
|
+
id: "humidifier",
|
634
|
+
name: "Humidifier",
|
635
|
+
device_class: :humidifier)
|
611
636
|
end
|
612
|
-
node.hass_humidifier("humidifier-running",
|
613
|
-
target_property: "humidification-target",
|
614
|
-
mode_property: "humidifier-mode",
|
615
|
-
id: "humidifier",
|
616
|
-
name: "Humidifier",
|
617
|
-
device_class: :humidifier)
|
618
637
|
end
|
619
|
-
end
|
620
638
|
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
639
|
+
# VSDrive can perform active dehumidification, even without a dedicated dehumidifier
|
640
|
+
if @abc.humidistat.dehumidifier? ||
|
641
|
+
@abc.compressor.is_a?(Aurora::Compressor::VSDrive)
|
642
|
+
node.property("dehumidifier-running",
|
643
|
+
"Dehumidifier Running",
|
644
|
+
:boolean,
|
645
|
+
@abc.humidistat.dehumidifier_running?)
|
646
|
+
if @abc.awl_communicating?
|
647
|
+
node.property("dehumidifier-mode",
|
648
|
+
"Dehumidifier Mode",
|
649
|
+
:enum,
|
650
|
+
@abc.humidistat.dehumidifier_mode,
|
651
|
+
format: %i[auto manual]) do |value|
|
652
|
+
@mutex.synchronize { @abc.humidistat.dehumidifier_mode = value.to_sym }
|
653
|
+
end
|
654
|
+
node.property("dehumidification-target",
|
655
|
+
"Dehumidification Target Relative Humidity",
|
656
|
+
:integer,
|
657
|
+
@abc.humidistat.dehumidification_target,
|
658
|
+
unit: "%",
|
659
|
+
format: 35..65) do |value|
|
660
|
+
@mutex.synchronize { @abc.humidistat.dehumidification_target = value }
|
661
|
+
end
|
662
|
+
node.hass_humidifier("dehumidifier-running",
|
663
|
+
target_property: "dehumidification-target",
|
664
|
+
mode_property: "dehumidifier-mode",
|
665
|
+
id: "dehumidifier",
|
666
|
+
name: "Dehumidifier",
|
667
|
+
device_class: :dehumidifier)
|
643
668
|
end
|
644
|
-
node.hass_humidifier("dehumidifier-running",
|
645
|
-
target_property: "dehumidification-target",
|
646
|
-
mode_property: "dehumidifier-mode",
|
647
|
-
id: "dehumidifier",
|
648
|
-
name: "Dehumidifier",
|
649
|
-
device_class: :dehumidifier)
|
650
669
|
end
|
651
|
-
|
652
|
-
next unless @abc.awl_communicating?
|
670
|
+
next unless @abc.awl_communicating?
|
653
671
|
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
672
|
+
node.property("relative-humidity",
|
673
|
+
"Relative Humidity",
|
674
|
+
:integer,
|
675
|
+
@abc.humidistat.relative_humidity,
|
676
|
+
unit: "%",
|
677
|
+
format: 0..100,
|
678
|
+
hass: { sensor: { device_class: :humidity,
|
679
|
+
state_class: :measurement } })
|
680
|
+
end
|
662
681
|
end
|
663
682
|
|
664
683
|
@faults = @homie.node("faults", "Fault History", "ABC") do |node|
|
data/lib/aurora/abc_client.rb
CHANGED
@@ -185,21 +185,23 @@ module Aurora
|
|
185
185
|
@pump = if (3..5).cover?(raw_registers[413])
|
186
186
|
Pump::VSPump.new(self,
|
187
187
|
registers[413])
|
188
|
-
|
188
|
+
elsif axb?
|
189
189
|
Pump::GenericPump.new(self,
|
190
190
|
registers[413])
|
191
191
|
end
|
192
|
-
@dhw = DHW.new(self) if (-999..999).cover?(registers[1114])
|
192
|
+
@dhw = DHW.new(self) if axb? && (-999..999).cover?(registers[1114])
|
193
193
|
@humidistat = Humidistat.new(self,
|
194
194
|
@abc_dipswitches[:accessory_relay] == :humidifier,
|
195
|
-
@axb_dipswitches[:accessory_relay2] == :dehumidifier)
|
196
|
-
|
195
|
+
axb? && @axb_dipswitches[:accessory_relay2] == :dehumidifier)
|
196
|
+
@humidistat = nil unless @humidistat.humidifier? || @humidistat.dehumidifier? || awl_communicating?
|
197
197
|
@faults = []
|
198
198
|
|
199
199
|
@entering_air_register = awl_axb? ? 740 : 567
|
200
|
-
@registers_to_read = [6, 19..20, 25, 30..31, 112, 344, @entering_air_register
|
201
|
-
|
200
|
+
@registers_to_read = [6, 19..20, 25, 30..31, 112, 344, @entering_air_register]
|
201
|
+
@registers_to_read << 1104 if axb?
|
202
202
|
@registers_to_read.concat([741, 31_003]) if awl_communicating?
|
203
|
+
@registers_to_read << (1110..1111) if performance_monitoring?
|
204
|
+
@registers_to_read << (1150..1153) if energy_monitoring?
|
203
205
|
@registers_to_read << 900 if awl_axb?
|
204
206
|
zones.each do |z|
|
205
207
|
@registers_to_read.concat(z.registers_to_read)
|
@@ -227,8 +229,10 @@ module Aurora
|
|
227
229
|
|
228
230
|
@entering_air_temperature = registers[@entering_air_register]
|
229
231
|
@leaving_air_temperature = registers[900] if awl_axb?
|
230
|
-
|
231
|
-
|
232
|
+
if performance_monitoring?
|
233
|
+
@leaving_water_temperature = registers[1110]
|
234
|
+
@entering_water_temperature = registers[1111]
|
235
|
+
end
|
232
236
|
@outdoor_temperature = registers[31_003]
|
233
237
|
@air_coil_temperature = registers[20]
|
234
238
|
@locked_out = !(registers[25] & 0x8000).zero?
|
@@ -318,6 +322,20 @@ module Aurora
|
|
318
322
|
@modbus_slave.holding_registers[323] = pump_speed == :with_compressor ? 0x7fff : pump_speed
|
319
323
|
end
|
320
324
|
|
325
|
+
# I'm not sure if this is correct. 5 Series documentation says
|
326
|
+
# that performance monitoring is an optional kit that requires
|
327
|
+
# an AXB, but AID Tool Sensor Kit Setup only lets you choose
|
328
|
+
# between None, Compressor Monitor, and Energy Monitor. So I'm
|
329
|
+
# assuming for now that _any_ AXB has at least performance
|
330
|
+
# monitoring.
|
331
|
+
def performance_monitoring?
|
332
|
+
axb?
|
333
|
+
end
|
334
|
+
|
335
|
+
def refrigeration_monitoring?
|
336
|
+
@energy_monitor >= 1
|
337
|
+
end
|
338
|
+
|
321
339
|
def energy_monitoring?
|
322
340
|
@energy_monitor == 2
|
323
341
|
end
|
data/lib/aurora/compressor.rb
CHANGED
@@ -8,6 +8,7 @@ module Aurora
|
|
8
8
|
attr_reader :speed,
|
9
9
|
:watts,
|
10
10
|
:cooling_liquid_line_temperature,
|
11
|
+
:heating_liquid_line_temperature,
|
11
12
|
:saturated_condensor_discharge_temperature,
|
12
13
|
:heat_of_extraction,
|
13
14
|
:heat_of_rejection
|
@@ -26,8 +27,9 @@ module Aurora
|
|
26
27
|
end
|
27
28
|
|
28
29
|
def registers_to_read
|
29
|
-
result = [19
|
30
|
-
result.concat([
|
30
|
+
result = [19]
|
31
|
+
result.concat([1109, 1134, 1154..1157]) if abc.refrigeration_monitoring?
|
32
|
+
result << (1146..1147) if abc.energy_monitoring?
|
31
33
|
result
|
32
34
|
end
|
33
35
|
|
@@ -41,13 +43,17 @@ module Aurora
|
|
41
43
|
0
|
42
44
|
end
|
43
45
|
@cooling_liquid_line_temperature = registers[19]
|
44
|
-
|
46
|
+
|
47
|
+
if abc.refrigeration_monitoring?
|
48
|
+
@heating_liquid_line_temperature = registers[1109]
|
49
|
+
@saturated_condensor_discharge_temperature = registers[1134]
|
50
|
+
@heat_of_extraction = registers[1154]
|
51
|
+
@heat_of_rejection = registers[1156]
|
52
|
+
end
|
45
53
|
|
46
54
|
return unless abc.energy_monitoring?
|
47
55
|
|
48
56
|
@watts = registers[1146]
|
49
|
-
@heat_of_extraction = registers[1154]
|
50
|
-
@heat_of_rejection = registers[1156]
|
51
57
|
end
|
52
58
|
end
|
53
59
|
|
data/lib/aurora/humidistat.rb
CHANGED
@@ -44,8 +44,12 @@ module Aurora
|
|
44
44
|
outputs = registers[30]
|
45
45
|
@humidifier_running = humidifier? && outputs.include?(:accessory)
|
46
46
|
|
47
|
-
|
48
|
-
|
47
|
+
if abc.axb?
|
48
|
+
outputs = registers[1104]
|
49
|
+
@dehumidifer_running = dehumidifier? && outputs.include?(:accessory2)
|
50
|
+
end
|
51
|
+
|
52
|
+
return unless abc.awl_communicating?
|
49
53
|
|
50
54
|
base = abc.iz2? ? 31_109 : 12_309
|
51
55
|
humidifier_settings_register = abc.iz2? ? 21_114 : 12_309
|
data/lib/aurora/registers.rb
CHANGED
@@ -714,7 +714,7 @@ module Aurora
|
|
714
714
|
9 => "Compressor Minimum Run Time",
|
715
715
|
15 => "Blower Off Delay",
|
716
716
|
16 => "Line Voltage",
|
717
|
-
17 => "Aux/E Heat
|
717
|
+
17 => "Aux/E Heat Staging Delay", # this is how long aux/eheat have been requested in seconds
|
718
718
|
# when in eheat mode (explicit on the thermostat), it will stage up to eh2 after 130s
|
719
719
|
# when in aux mode (thermostat set to heat; compressor at full capacity), it will stage up to eh2 after 310s
|
720
720
|
19 => "Cooling Liquid Line Temperature (FP1)",
|
data/lib/aurora/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: waterfurnace_aurora
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cody Cutrer
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ccutrer-serialport
|