Axis


Axis Communications devices are surveillance cameras and other security related network connected hardware. Sensor API works with firmware 5.50 and newer.

Home Assistant will automatically discover their presence on your network.

Dependencies

$ sudo apt-get install python3-gi gir1.2-gstreamer-1.0

Depending on how you run Home Assistant you might be needed to symlink the gi module into your environment.

Hassbian:

$ ln -s /usr/lib/python3/dist-packages/gi /srv/homeassistant/lib/python3.4/site-packages

Raspberry Pi All-In-One Installer:

$ ln -s /usr/lib/python3/dist-packages/gi /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages

You can also manually configure your devices by adding the following lines to your configuration.yaml file:

# Example configuration.yaml entry
axis:
  m1065lw:
    host: IP ADDRESS
    include:
      - camera

Configuration variables:

  • device (Required): Unique name for the Axis device.
    • host (Required): The IP address to your Axis device.
    • username (Optional): The username to your Axis device. Defaults to root.
    • password (Optional): The password to your Axis device. Defaults to pass.
    • trigger_time (Optional): Minimum time (in seconds) a sensor should keep its positive value. Defaults to 0.
    • location (Optional): Physical location of your Axis device. Default not set.
    • include (Required): This cannot be empty else there would be no use adding the device at all.
      • camera: Stream MJPEG video to Home Assistant.
      • motion: The built-in motion detection in Axis cameras.
      • vmd3: ACAP Motion Detection app which has better algorithms for motion detection.
      • pir: PIR sensor that can trigger on motion.
      • sound: Sound detector.
      • daynight: Certain cameras have day/night mode if they have built-in IR lights.
      • tampering: Signals when camera believes that it has been tampered with.
      • input: Trigger on whatever you have connected to device input port.

A full configuration example could look like this:

# Example configuration.yaml entry
axis:
  m1065lw:
    host: IP ADDRESS
    username: USERNAME
    password: PASSWORD
    include:
      - camera
      - motion
      - pir
      - sound
      - daynight
    trigger_time: 0
    location: köket

Any specific levels for triggers needs to be configured on the device.

It is recommended that you create a user on your Axis device specifically for Home Assistant. For all current functionality it is enough to create a user belonging to user group viewer.