All notable changes to this project will be documented in this file. This project uses Semantic Versioning.
Special thanks to the amazing uswong and ztalbot2000 for adding these new features!
- Support for Advantage Air systems with a second control tablet! This is for users who may have multiple aircons controlled by separate control tablets.
- Thermostat
Auto
mode is now used to setdry
mode in Advantage Air control unit. This enable users to set thedry
mode from Homekit. - Performance: New function to update
myAirData.txt
cache file immediately after everySet
command usingjq
so that the cache file always reflects the latest state of the system in real time. - Minimized "write" events to the disk as per issue #58.
- Created temporary sub-directory to store all temporary files required for the smooth running of
AdvAir.sh
. - Dev: New
AirconServer
for better and more realistic unit testing. - Dev: Real time count down capability is added to the
AirconServer
to make it behave more like a real aircon system.
- Resolve issue where
AdvAir.sh
fails to write to"/tmp"
which is denied in some Linux distros; as per issue #58. - Issue where
countDownToOn
timer is set and if the aircon is turned on manually instead, thecountDownToOn
remains on. It should be turned off because the aircon is now on. - Minor bug fixes to new
AirconServer
. - Dev: NPM Audit to fix issues with dependencies causing unit tests to fail.
Special thanks to the amazing uswong and ztalbot2000 for adding these new features! Another special thanks to John Wong and Kai Millar for all the beta testing that made this feature possible!
- MyPlace Extras support!!!
- Support for Advantage Air systems with more than one air conditioners! You can add up to 5 aircons if they are all accessible from the one control tablet. Config examples can be found here
- MyPlace users with the extras should set
"timeout"
in their config to60000
. - It is reccomended to change
"queueType"
from"WoRm"
to"WoRm2"
for better performance.
- MyPlace smart eco-systems required large scale under the hood changes to manage the communication between Cmd4 and the Advantage Air Controllers. Greater detail can be found in this Pull Request.
- MyPlace Extras are now independent of the aircon system; for those who do not want to add the aircon system to HomeKit.
- Use of the
flip
constant in the"state_cmd_suffix"
of your garage door or gate; incase the Advantage Air has installed it backwards!
- Fix the close multiple zones bug that causes constant zone to open to 100%.
- Setting Thermostat to 'auto' from HomeKit will now default the Thermostat to the mode it was already on.
- Shellcheck cleared out over 60 syntax errors in the script that could have posed issues.
- Dev unit test fixes.
Special thanks to the amazing uswong for adding these new features! Thank you to all who participated in the beta testing!
- Zone closing check to ensure that at least one zone is open at all times as a secondary layer of protection for your ducting.
- If you close all zones, it will open your Constant Zone damper to 100%.
- No longer require the use of
noSensors
in yourconfig.json
. The script determines if you have sensors or not. - Temperature Sensor users no longer require to add zone (
z01
,z02
, etc.) to"state_cmd_suffix"
of Thermostat in yourconfig.json
. The script determines and sets it as your Constant Zone.- You can still set a zone if you prefer to choose a different zone to your Constant Zone.
- Countdown timer added as a Lightbulb accessory; config can be found here.
- Depending on if your Advantage Air system is on or off will determine if the countdown is to turn the system on or off when it reaches 0.
- New constant
timer
will need to be added to the"state_cmd_suffix"
of this accessory. - The Advantage Air system will only allow 720 minutes (12 hours) for a timer and the Lightbulb has 0-100% to utilise.
- Therefore, setting 1% will equal 10 minutes, 6% will be equal to 1 hour.
- Setting a value higher than 72% (720 minutes), will default back to 72% on the Lightbulb.
- Shell Check Tool updated for new configurations. Always check you
config.json
with this after making changes! - Dev dependancy
nanoid
security update tov3.1.31
.
Special thanks to the amazing uswong for adding the new fan speed feature and fixing the zone percentage bug! Thank you to all who participated in the beta testing!
- Fan speed added to Fan accessory via charcteristic
rotationSpeed
. See new Fan config here!- Speeds: 1-33% (low), 34-67% (medium), 68-99% (high) and 100% ('auto' or 'ezfan').
- Fan speed added to Thermostat accessory via new
"linkedType"
config options; see new Thermostat config here. You may need to delete the Homebridge cache when updating this accessory.- Speeds: 1-33% (low), 34-67% (medium), 68-99% (high) and 100% ('auto' or 'ezfan').
- New Wiki page to help explain and create your
config.json
. - Homebridge Verified!!!
- Thermostat 'Fan Speed'
"linkedType"
is set to always appear on. - If you do not opt into using fan speeds for the Fan and/or Thermostat; setting mode commands (
cool
/heat
/on
) will now default to the last known speed set in the Advantage Air app (low/medium/high/auto/'ezfan'). It used to always set toauto
speed when changing modes. - Removal of unused
statusFault
and redundant new code fromAdvAir.sh
. - Streamlining and updates for the README. Moving of some information to the new Wiki.
- Fix for Zone percentage (
brightness
) which would not send value to the controller if it was not rounded to 5%; value input now will round to the nearest 5%. - Fix for users with 'ezfan' mode defaulting to 'high'; 'ezfan' mode now accepted as 100% speed.
- Dev Tests: Fix timeout issues with
server.js
.
Welcome to our Homebridge UI integration!!!
All the credit for this integration goes to the amazing John Talbot of homebridge-cmd4; I seriously cannot thank him enough! While this is still not its own independent plug-in, this integration will mimic a 'full' plug-in for Homebridge UI. This includes prompts for updates to your scripts, no longer having to edit the script and a configuration check tool to make sure you are set up correctly. Please take a look at the README for more information.
- Update
node
dependencies to run on all active LTS versions ofNode.js
; at the time of writing this is,Node.js
v14 and v16. Preparation forHomebridge Verified
.
Welcome to our Homebridge UI integration!!!
All the credit for this integration goes to the amazing John Talbot of homebridge-cmd4; I seriously cannot thank him enough! While this is still not its own independent plug-in, this integration will mimic a 'full' plug-in for Homebridge UI. This includes prompts for updates to your scripts, no longer having to edit the script and a configuration check tool to make sure you are set up correctly. Please take a look at the README for more information.
- Fix
Bug-Report
issue template not showing up. - Fix broken links for NPM Badges on README.
- Dev Tests: Combine
serverP1.js
,serverP2.js
andserverP3.js
intoserver.js
. - Update screenshots in README.
Welcome to our Homebridge UI integration!!!
All the credit for this integration goes to the amazing John Talbot of homebridge-cmd4; I seriously cannot thank him enough! While this is still not its own independent plug-in, this integration will mimic a 'full' plug-in for Homebridge UI. This includes prompts for updates to your scripts, no longer having to edit the script and a configuration check tool to make sure you are set up correctly. Please take a look at the README for more information.
- NPM packages will not allow packages to be published if they have upper case letters in the name.
Welcome to our Homebridge UI integration!!!
All the credit for this integration goes to the amazing John Talbot of homebridge-cmd4; I seriously cannot thank him enough! While this is still not its own independent plug-in, this integration will mimic a 'full' plug-in for Homebridge UI. This includes prompts for updates to your scripts, no longer having to edit the script and a configuration check tool to make sure you are set up correctly. Please take a look at the README for more information.
- Homebridge UI integration. While this change itself will not break your existing setup; the process of migrating over might while getting set up again if you make a mistake.
- IP address is removed from the
AdvAir.sh
script. It is now added as a constant in thehomebridge-cmd4
config and in"state_cmd_suffix"
(see Config_Samples directory). There is no longer a need for users to edit the script!
- #9: Add zone percentage control for users without temperature sensors. This is integrated as the Light Bulb acessory (see Config_Samples).
- #19: Add
noSensors
variable to fix issue with Thermostat Get CurrentTemperature for users without temperature sensors. - Side issue bug raised in #9:
noSensors
variable fixes issue with Thermostat Set CurrentTemperature for users without temperature sensors.
- README updated: Update supported units, update screenshots, update and streamline installation instructions.
- Config samples updated: Update and streamline config samples.
noSensors
and${IP}
added toconfig.json
. Example added for users with some (but not all) zones using temperature sensors. - Issue templates updated.
- PR template created.
- CHANGELOG created.
- Repo/Plug-in name changed from
cmd4-AdvantageAir
tohomebridge-cmd4-AdvantageAir
. - Dev unit tests expanded and updated.
config.json
changes to stop warnings in the upcoming homebridge-cmd4 v6.0.0 release.- Characteristics now require the starting letter to be 'lower case' and not 'upper case'; this will pave the way for future work John Talbot puts in for cmd4 to have a
config-schema.json
in Homebridge UI.
- Removed
stdbuf
dependency from scripts (could affect macOS user installs). - Install instructions in
README
have been split into Raspbian and macOS installs; still no Windows install instructions. IP Address
/Port Number
at start of script has had the port number moved into the script commands; so users do not need to think they need to change the port number or figure it out themselves.
- Addition of test scripts.
- New singular script
AdvAir.sh
to replace the need of two scriptsezone.sh
andzones.sh
('Two Constant Zone' users will still have to use two scripts for now; sorry!). - Better error handling and reporting; script will attempt 5 iterations to receive a valid reading from the control unit.
- Introduction and use of homebridge-cmd4's new
WoRm
(Write once Read many) queue designed by John Talbot to better handle interactions with Advantage Air control unit's limitations.
- Repo rename to
cmd4-AdvantageAir
; this is to more accurately capture the broader control units this API encompasses. - Temperature Sensor Low Battery warning indications added.
config.json
improvements and clean-up.- Documentation improvements in
README
.
- New
config.json
examples added for the new polling methods of cmd4 v3.0.x. - Updated
README
.
- Fixed a couple of small bugs in shell scripts: use of
"true"
instead of'1'
forOn
characteristic and double use of case* )
.
- Added shell scripts for users without Temperature Sensors.
- Issue templates added for
Bug Report
,Feature Request
andSupport Request
. - 'House Keeping' of directories for better navigation to shell scripts needed.
- Updated
README
.