waterfurnace_aurora 1.4.12 → 1.5.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: 7c4bed015e5efbf7e4ec8dddafc69b15e0134c2b0889f0c50855cf7c1dfbfa38
4
- data.tar.gz: fd869a81144c60fcd019e20117854324b2ca06b66b325dc5991dc9b8d9731277
3
+ metadata.gz: 4aa5d7eb7e44c106d01755ecdfce849f23503d3d6c10da86bfa4c9d4376669e3
4
+ data.tar.gz: '026036095b6c3f5a7fd98825970612dd0399908f255ddc6a98520535edb2922d'
5
5
  SHA512:
6
- metadata.gz: 0e45fe5fa6161a9356a179b1da06db3f16eff1494d16871ff325c144f26dee80ea8d15c65bc9a5b9a8a16596c4e4ef41f4c18827797402010d27ea66749b8e81
7
- data.tar.gz: d9a5b40f3b33b43900f09e34cd90cbc8b2a20f2a919746060284adc001e21cb92c7faa334077ee49c2e62564656a6c68072c8a56d04bc57f471506a3591c6b4a
6
+ metadata.gz: b9904a9e4941a113c3c2a41819ba3dd279155262394011fa4b089062571079981c741a086e21c34c67276cd5b1f35ba2358ec71a5794022d01c7837aa635911b
7
+ data.tar.gz: 683a618118d05978ba623e0df2a6adaac9ff2d436b70baaad6374d4760e980c34bad29124a16929d5a4edd062df3a537b7a26baf96fa7dc69419c01e111658eb
@@ -584,8 +584,7 @@ class MQTTBridge
584
584
  node.property("enabled",
585
585
  "Enabled",
586
586
  :boolean,
587
- @abc.dhw.enabled,
588
- hass: { switch: { icon: "mdi:water-boiler" } }) do |value|
587
+ @abc.dhw.enabled) do |value|
589
588
  @mutex.synchronize { @abc.dhw.enabled = value }
590
589
  end
591
590
  node.property("running",
@@ -598,27 +597,46 @@ class MQTTBridge
598
597
  :float,
599
598
  @abc.dhw.set_point,
600
599
  format: 100..140,
601
- unit: "°F",
602
- hass: { number: { step: 5 } }) do |value|
600
+ unit: "°F") do |value|
603
601
  @mutex.synchronize { @abc.dhw.set_point = value }
604
602
  end
605
603
  node.property("water-temperature",
606
604
  "Water Temperature",
607
605
  :float,
608
606
  @abc.dhw.water_temperature,
609
- unit: "°F",
610
- hass: { sensor: { device_class: :temperature,
611
- state_class: :measurement } })
607
+ unit: "°F")
608
+ @homie.mqtt.unpublish_hass_switch("dhw_enabled", node_id: @homie.id)
609
+ @homie.mqtt.unpublish_hass_number("dhw_set-point", node_id: @homie.id)
610
+ @homie.mqtt.unpublish_hass_sensor("dhw_water-temperature", node_id: @homie.id)
611
+ node.hass_water_heater(current_temperature_property: "water-temperature",
612
+ mode_property: "enabled",
613
+ modes: %i[off heat_pump],
614
+ mode_command_template: <<~JINJA,
615
+ {% if value == 'off' %}
616
+ false
617
+ {% else %}
618
+ true
619
+ {% endif %}
620
+ JINJA
621
+ mode_state_template: <<~JINJA,
622
+ {% if value == 'true' %}
623
+ heat_pump
624
+ {% elif value == 'false' %}
625
+ off
626
+ {% endif %}
627
+ JINJA
628
+ temperature_property: "set-point",
629
+ icon: "mdi:water-boiler")
612
630
  end
613
631
  end
614
632
 
615
633
  if @abc.humidistat
616
634
  @humidistat = @homie.node("humidistat", "Humidistat", "Humidistat") do |node|
617
635
  if @abc.humidistat.humidifier?
618
- node.property("humidifier-running",
619
- "Humidifier Running",
620
- :boolean,
621
- @abc.humidistat.humidifier_running?)
636
+ running = node.property("humidifier-running",
637
+ "Humidifier Running",
638
+ :boolean,
639
+ @abc.humidistat.humidifier_running?)
622
640
  if @abc.awl_communicating?
623
641
  node.property("humidifier-mode",
624
642
  "Humidifier Mode",
@@ -636,21 +654,22 @@ class MQTTBridge
636
654
  @mutex.synchronize { @abc.humidistat.humidification_target = value }
637
655
  end
638
656
  node.hass_humidifier("humidifier-running",
639
- target_property: "humidification-target",
657
+ target_humidity_property: "humidification-target",
640
658
  mode_property: "humidifier-mode",
641
- id: "humidifier",
659
+ object_id: "humidifier",
642
660
  name: "Humidifier",
643
- device_class: :humidifier)
661
+ device_class: :humidifier,
662
+ command_topic: "#{running.topic}/set")
644
663
  end
645
664
  end
646
665
 
647
666
  # VSDrive can perform active dehumidification, even without a dedicated dehumidifier
648
667
  if @abc.humidistat.dehumidifier? ||
649
668
  @abc.compressor.is_a?(Aurora::Compressor::VSDrive)
650
- node.property("dehumidifier-running",
651
- "Dehumidifier Running",
652
- :boolean,
653
- @abc.humidistat.dehumidifier_running?)
669
+ running = node.property("dehumidifier-running",
670
+ "Dehumidifier Running",
671
+ :boolean,
672
+ @abc.humidistat.dehumidifier_running?)
654
673
  if @abc.awl_communicating?
655
674
  node.property("dehumidifier-mode",
656
675
  "Dehumidifier Mode",
@@ -668,11 +687,12 @@ class MQTTBridge
668
687
  @mutex.synchronize { @abc.humidistat.dehumidification_target = value }
669
688
  end
670
689
  node.hass_humidifier("dehumidifier-running",
671
- target_property: "dehumidification-target",
690
+ target_humidity_property: "dehumidification-target",
672
691
  mode_property: "dehumidifier-mode",
673
- id: "dehumidifier",
692
+ object_id: "dehumidifier",
674
693
  name: "Dehumidifier",
675
- device_class: :dehumidifier)
694
+ device_class: :dehumidifier,
695
+ command_topic: "#{running.topic}/set")
676
696
  end
677
697
  end
678
698
  next unless @abc.awl_communicating?
@@ -819,17 +839,16 @@ class MQTTBridge
819
839
  mode_property: "target-mode",
820
840
  temperature_high_property: "cooling-target-temperature",
821
841
  temperature_low_property: "heating-target-temperature",
822
- templates: {
823
- action_template: <<~JINJA
824
- {% if value.startswith('h') %}
825
- heating
826
- {% elif value.startswith('c') %}
827
- cooling
828
- {% elif value == 'standby' %}
829
- idle
830
- {% endif %}
831
- JINJA
832
- })
842
+ action_template: <<~JINJA
843
+ {% if value.startswith('h') %}
844
+ heating
845
+ {% elif value.startswith('c') %}
846
+ cooling
847
+ {% elif value == 'standby' %}
848
+ idle
849
+ {% endif %}
850
+ JINJA
851
+ )
833
852
  end
834
853
  end
835
854
 
@@ -236,7 +236,7 @@ module Aurora
236
236
  end
237
237
  @outdoor_temperature = registers[31_003]
238
238
  @air_coil_temperature = registers[20]
239
- @locked_out = !registers[25].nobits?(0x8000)
239
+ @locked_out = registers[25].anybits?(0x8000)
240
240
  @current_fault = registers[25] & 0x7fff
241
241
  @derated = (41..46).cover?(@current_fault)
242
242
  @safe_mode = [47, 48, 49, 72, 74].include?(@current_fault)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Aurora
4
- VERSION = "1.4.12"
4
+ VERSION = "1.5.0"
5
5
  end
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.12
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Cutrer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-12-28 00:00:00.000000000 Z
11
+ date: 2025-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ccutrer-serialport
@@ -25,25 +25,19 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: mqtt-homeassistant
28
+ name: mqtt-homie-homeassistant
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.1'
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: 0.1.5
33
+ version: '1.0'
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
38
  - - "~>"
42
39
  - !ruby/object:Gem::Version
43
- version: '0.1'
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 0.1.5
40
+ version: '1.0'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: net-telnet-rfc2217
49
43
  requirement: !ruby/object:Gem::Requirement