Naivete Precedes Misrepresentation

    homebridge-schedule
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.136 • Public • Published

    Homebridge-Schedule

    Automate Homebridge based on interval or cron

    CI/CD npm downloads

    verified-by-homebridge

    This Homebridge plugin allows you to create HomeKit automations for more than just the default "A time of day occurs"

    The original thought for this was to create an hourly automation to check my thermostat in the house and send me a notification if it was above or below a certain threshold

    Homebridge-Schedule is similar to Homebridge-Dummy, in the sense that it creates some dummy switches in HomeKit that turn on at your desired interval. They will turn off one second later. This is useful for triggering automations, or even shortcuts.

    Installation

    sudo npm i homebridge-schedule@latest -g
    

    Usage

    Interval Based

    Add accessories to your config.json similar to below for interval based schedules:

    {
      "accessories": [
        {
          "accessory": "Schedule",
          "name": "Hourly",
          "interval": 60,
          "serial": "123456789"
        }
      ]
    }
    Property Description
    Accessory Must be "Schedule"
    Name Unique name for the dummy switch
    Interval Interval, in minutes
    Serial Serial number to give the accessory in HomeKit. Defaults to 123456789

    Upon startup of Homebridge, the device will turn on at the specified interval

    Notes

    The interval starts when Homebridge is started up. If you want something to run hourly on the hour, then you need to make sure Homebridge is started up on the hour

    Cron Based

    Add accessories to your config.json similar to below for cron based schedules:

    {
      "accessories": [
        {
          "accessory": "Schedule",
          "name": "Hourly",
          "cron": "* * * * * *",
          "serial": "123456789"
        }
      ]
    }
    Property Description
    Accessory Must be "Schedule"
    Name Unique name for the dummy switch
    Cron Cron string
    Serial Serial number to give the accessory in HomeKit. Defaults to 123456789

    Cron string details: https://www.npmjs.com/package/cron

    Cron string uses seconds, so for an hourly cron string use:

    "0 0 * * * *"

    "{seconds} {minutes} {hours} {days} {months} {weeks}"

    Use Cases

    I have created a "room" called Automation in my HomeKit, which then allows me to create an automation "When the Automation Hourly turns on" to check my thermostat temperature, check the current outside temperature at my house, and based on some conditions, set the thermostat.

    Steps:

    1. Create new automation based on "An Accessory is Controlled"
    2. Find your newly created dummy switch
    3. Select Turns On and add any desired time or people conditions
    4. You can then choose a scene or another accessory to control, or at the very bottom, you can create a shortcut
    5. Done! You now have one automation for things you want to happen hourly rather than 24

    Creating HomeKit Automations

    Create new Accessory automation: Step1

    Choose the accessory created by homebridge-schedule: Step2

    Select when it turns on or turns off and any time or people configurations Step3

    Scroll all the way to the bottom and choose Convert to Shortcut Step4

    Create shortcut:

    1. Get the current temperature of a HomeKit thermostat
    2. Convert to Fahrenheit
    3. If the indoor temperature is greater than a threshold
      • Get current weather outside
      • Convert to Fahrenheit
      • If the current weather outside is also above a threshold
        • Turn on fans, set thermostat, etc.

    Step5 Step5

    Development

    Clone the latest and run

    npm run prep
    

    to install packages and prep the git hooks

    Install

    npm i homebridge-schedule

    DownloadsWeekly Downloads

    6

    Version

    1.0.136

    License

    MIT

    Unpacked Size

    17.4 kB

    Total Files

    7

    Last publish

    Collaborators

    • kbrashears5