Nizzies Home Automation Efforts: Difference between revisions

From NURDspace
mNo edit summary
No edit summary
Line 19: Line 19:
ln -s /usr/sbin/arp /usr/bin/arp
ln -s /usr/sbin/arp /usr/bin/arp
</pre>
</pre>
To have home assistant autostart as a service, I use this /etc/init.d/hass-daemon script:
To have home assistant autostart after reboot, I put this line in /etc/crontab:
<pre>
<pre>
#!/bin/sh
@reboot homeassistant /home/homeassistant/start_homeassistant.sh
### BEGIN INIT INFO
# Provides:          hass
# Required-Start:    $local_fs $network $named $time $syslog
# Required-Stop:    $local_fs $network $named $time $syslog
# Default-Start:    2 3 4 5
# Default-Stop:      0 1 6
# Description:      Home\ Assistant
### END INIT INFO
 
PRE_EXEC="python3 -m venv /srv/homeassistant/homeassistant_venv && . /srv/homeassistant/homeassistant_venv/bin/activate;"
RUN_AS="homeassistant"
PID_FILE="/var/run/hass.pid"
CONFIG_DIR="/home/homeassistant/.homeassistant"
FLAGS="-v --config $CONFIG_DIR --pid-file $PID_FILE --daemon"
REDIRECT="> $CONFIG_DIR/home-assistant.log 2>&1"
 
start() {
  if [ -f $PID_FILE ] && kill -0 $(cat $PID_FILE) 2> /dev/null; then
    echo 'Service already running' >&2
    return 1
  fi
  echo 'Starting service…' >&2
  local CMD="$PRE_EXEC hass $FLAGS $REDIRECT;"
  su -c "$CMD" $RUN_AS
  echo 'Service started' >&2
}
 
stop() {
    if [ ! -f "$PID_FILE" ] || ! kill -0 $(cat "$PID_FILE") 2> /dev/null; then
    echo 'Service not running' >&2
    return 1
  fi
  echo 'Stopping service…' >&2
  kill $(cat "$PID_FILE")
  while ps -p $(cat "$PID_FILE") > /dev/null 2>&1; do sleep 1;done;
  echo 'Service stopped' >&2
}
 
install() {
    echo "Installing Home Assistant Daemon (hass-daemon)"
    echo "999999" > $PID_FILE
    chown $RUN_AS $PID_FILE
    mkdir -p $CONFIG_DIR
    chown $RUN_AS $CONFIG_DIR
}
 
uninstall() {
  echo -n "Are you really sure you want to uninstall this service? That cannot be undone. [yes|No] "
  local SURE
  read SURE
  if [ "$SURE" = "yes" ]; then
    stop
    rm -fv "$PID_FILE"
    echo "Notice: The config directory has not been removed"
    echo $CONFIG_DIR
    update-rc.d -f hass-daemon remove
    rm -fv "$0"
    echo "Home Assistant Daemon has been removed. Home Assistant is still installed."
  fi
}
 
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  install)
    install
    ;;
  uninstall)
    uninstall
    ;;
  restart)
    stop
    start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|install|uninstall}"
esac
</pre>
</pre>
Now let's enable the service:
With start_homeassistant.sh containing:
<pre>
<pre>
service hass-daemon install
#!/bin/bash
update-rc.d hass-daemon defaults
virtualenv -p python3 /srv/homeassistant && source /srv/homeassistant/bin/activate && hass
</pre>
From now on the service will autostart when machine boots, and can be started and stopped with:
<pre>
service hass-daemon start
service hass-daemon stop
</pre>
</pre>
= Sensors =
= Sensors =

Revision as of 21:44, 17 November 2016

Nizzies Home Automation Efforts
Home-assistant.png
Participants Dennis
Skills 1337 Skillz
Status Active
Niche Electronics
Purpose Fun
Tool No
Location Niz
Cost
Tool category

Nizzies Home Automation Efforts

Home-assistant.png {{#if:No | [[Tool Owner::{{{ProjectParticipants}}} | }} {{#if:No | [[Tool Cost::{{{Cost}}} | }}

The brain: Banana Pro with Home Assistant

My Pi 2's micro sd card broke very quickly, so I've been working on a more stable replacement in the form of a Banana Pro board. I installed Bananian on the sd card and then moved the installation to a real hard disk (yay spindles o/) connected to the SATA port. Hopefully this will survive longer.

Home Assistant

I followed this Installation instructions. This worked fine once I installed some dependencies for the discovery component (I don't know which one did the trick):

apt-get install build-essential checkinstall python3-dev

To get device tracking with nmap working, nmap needed to be installed and a symlink for arp needed to be made:

apt-get install nmap
ln -s /usr/sbin/arp /usr/bin/arp

To have home assistant autostart after reboot, I put this line in /etc/crontab:

@reboot homeassistant /home/homeassistant/start_homeassistant.sh

With start_homeassistant.sh containing:

#!/bin/bash
virtualenv -p python3 /srv/homeassistant && source /srv/homeassistant/bin/activate && hass

Sensors

NRF nodes

Most probably I will use the hardware designed by User:Zarya as mentioned in NrfSensorNode. They will run the library from https://www.mysensors.org/.

Lights

Philips Hue

Got some Philips Hue stuff for cheap. Hue integrates with Home Assistant very easily: https://home-assistant.io/components/light.hue/. Lights are automatically found once you give HA access to the bridge (push button on bridge when HA ask for it).

Hue Bridge v1

Talks to the lights over Zigbee Light Link and connects to the network over UTP

Hue color lamps

3 LED lights that work just fine, although 2 of them are missing the glass bit. They do whites and colors \o/.

Living Colors Aura

Does colors and whites.

Hue white

Do white light only, but are still dimmable. Got 2 of them. <gallery> Image:Hue.jpg </gallery?