Skip to content

voxpupuli/puppet-homeassistant

Repository files navigation

Puppet module for Home Assistant

Build Status Code Coverage Puppet Forge Puppet Forge - downloads Puppet Forge - endorsement Puppet Forge - scores

Description

Home Assistant is an open-source home automation platform running on Python 3. This puppet module can be used to install and configurue Home Assistant. Home assistant is installed within an python3 virtualenv environment.

Home Assistant - https://home-assistant.io/

Usage

To install and start homeassistant

include homeassistant

or with a custom configuration.

class{'homeassistant':
    location_name => 'Arc de Triomphe',
    latitude      => 48.8738,
    longitude     => 2.2950,
    elevation     => 300,
    unit_system   => 'metric',
    time_zone     => 'Europe/Paris'
}

Parameters for homeassistant class

  • user - Specify a username to run the service as. Default: homeassistant
  • home - Home directory of user and virtualeven for software. Default: /srv/homeassistant
  • ...

Adding Components

Simple components with no configuration.

homeassistant::component{
  [
    'config',
    'http',
    'frontend',
    'updater',
    'discovery',
    'conversation',
    'history',
    'sun',
    'logbook',
  ]:
}

Components with configuration.

homeassistant::component{'tts':
  config => {'platform' => 'google'}
}

homeassistant::component{'device_tracker':
  config => [
    {'platform' => 'netgear',
     'host'     => 'router.example.org',
     'username' => 'admin',
     'password' => 'secret',
    }
  ],
}

Multiple Instances of one Component, e.g. Switches

homeassistant::component{'myswitchs':
  component => 'switch',
  config    => [
                 {'platform' => 'google',
                 },
                 {'platform' => 'tplink',
                  'host'     => 'myplug.example.org',
                  'username' => 'foo',
                  'password' => 'bar',
                 },
               ],
  }
}
homeassistant::component{'otherswitches':
  component => 'switch',
  config    => {
    platform => 'command_line',
    switches => {
                  'command_on'    => '/bin/echo on > /tmp/hi',
                  'command_off'   => '/bin/ehco off > /tmp/hi',
                  'command_state' => '/bin/grep -q on /tmp/hi',
                  'friendly_name' => 'Is the file on',
                }
    }
  }
}

Authors

puppet-homeassistant is maintained by VoxPupuli. It was originally written by Steve Traylen.