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 may need 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:
Configuration variables
- device (Required): Unique name
- host (Required): The IP address to your Axis device.
- username (Optional): The username to your Axis device. Default ‘root’.
- password (Optional): The password to your Axis device. Default ‘pass’.
- trigger_time (Optional): Minimum time (in seconds) a sensor should keep its positive value. Default 0.
- http_port (Optional): Configure port web server of device is accessible from. Default 80.
- 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 a 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
If you are using Python 3.6, you might need to replace the 34m with 36m in the _gi.*.so filename in the gi folder.
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.
Device services
Available services: vapix_call
.
Service axis/vapix_call
Send a command using Vapix. For details please read the API specifications.
Service data attribute | Optional | Description |
---|---|---|
name |
no | Name of device to communicate with. |
param |
no | What parameter to operate on. |
cgi |
yes | Which cgi to call on the device. Default is param.cgi . |
action |
yes | What type of call. Default is update . |
Response to call can be subscribed to on event vapix_call_response