Script to automate control of an home reverse cycle aircon system based on custom logic and temperature measurements.
Go to file
Rob Pearce 9a10455203 Fixing image path 2021-06-03 09:12:51 +10:00
README.md Fixing image path 2021-06-03 09:12:51 +10:00
aircon.sh Initial checkin 2021-06-03 09:01:36 +10:00

README.md

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 system. It just calls an external script to interface with the aircon, so should be easily adaptable to other systems.

Requirements

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.

aircon.sh in action