diff --git a/README.md b/README.md new file mode 100644 index 0000000..0241567 --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# Overview + +Script to automate control of an home reverse cycle aircon system based on custom logic and temperature measurements. + +This was originally written for an [AdvantageAir](https://www.advantageair.com.au/) system. It just calls an external script to interface with the aircon, so should be easily adaptable to other systems. + +# Requirements +- [pymyair](https://github.com/smallsam/pymyair) + + +# Features + +- Log temperature measurements to a CSV file or InfluxDB +- Control zone temperature by opening/closing its vents +- Control zone temperature by opening/closing vents in adjacent zones +- Automatically adjust aircon settings based on define temperature thresholds +- Turn zones on/off based on ARP table entires for specific MAC addresses +- Define temperature rules based on weekday and/or time + +# Usage + + root@gridbug:~# scripts/aircon.sh -h + usage: scripts/aircon.sh [options] + + Modifies aircon based on configured parameters in /root/.airconrc. + + -h Show this text. + -c Cron mode. Only show output if actions were taken. + -i x.x.x.x Specify IP address for aircon (default is 10.99.99.1) + -I db Log all zone temperatures to given influxdb database, then exit (see -o). + -A db Log actions to given influxdb database. + -f file Specify an alternate config file. + -k file If file exists, never change aircon settings (default: /root/.aircon_noaction). + -l num Set number of too hot/cold zones at which to taking action. + -L Log all zone temperatures to CSV file, then exit (see -o). + -o file Specify CSV output file. Default: /root/acstats.csv + -m Generate a config file based on current aircon setup. + -p Profiler mode. + -w List which zone owners' devices are available then exit. + -t num Specify degrees below min temperature before taking action. + -T num Specify degrees above max temperature before taking action. + -y Actually run commands/db inserts. By default, commands are just displayed.