Refer to: ring-mqtt
Been running this plugin since it's inception. Note I am running Homeseer here (HS3 and HS4) on Ubuntu 18.04 and Ubuntu 20.04. Never tried a Windows installation of Docker here.
Note here have never been much of a wireless / automation person. Current WAP of choice here is Ruckus these days.
Wall switch testing and use now is Tasmota upgraded switches, TTS is Alexa devices (have DOTs, Alexa standard, Alexa Show devices).
All of the automation is MQTT based.
Note that the Ring Alarm system and yearly fees are inexpensive. The Ring hub has a SIM card failover which works well. Here mounted Ring Hub near ceiling on wall with a POE connection to managed POE switch. I also have the Ring keyboards connected to 5VDC such that I never have to charge them.
Well now HS manages two alarm panels here in two homes.
1 - Leviton OmniPro 2
2 - Ring Alarm panel
I have it integrated to to Homeseer TTS and Alexa TTS (via Alexa Media player).
This script leverages the excellent ring-client-api to provide a bridge between MQTT and suppoted Ring devices such as alarm control panel, lights and cameras (full list of supported devices and features). It also provides support for Home Assistant style MQTT auto-discovery which allows for easy Home Assistant integration with minimal configuration (requires Home Assistant MQTT integration to be enabled). This also includes an optional Home Assistant Addon for users of HassOS/Home Assistant Installer. It can also be used with any other tool capable of working with MQTT as it provides consistent topic naming based on location/device ID.
Docker install (original installation for me)
It is important that you read entire document:
Environment Variables
Originally installed it on Ubuntu 18.04 ==> /opt/ring-mqtt
Stanard installation is fully supported, please make sure Node.js is installed (tested with 12.18.x but should work on 10.x and higher) on your system and then clone this repo:
git clone https://github.com/tsightler/ring-mqtt.git
Change to the ring-mqtt directory and run:
chmod +x ring-mqtt.js npm install
This will install all required dependencies. Edit config.js to configure your Ring refresh token and MQTT broker connection information and any other settings (see Config Options. Note that the user the script runs as will need permission to write the config.json as, for the standalone version of the script, updated refresh tokens are written directly to the config.json file.
Docker Installation:
For Docker installtion details, please read this section entirely. While it is possible to build the image locally from the included Dockerfile, it is recommended to install and update by pulling the official image directly from Docker Hub. You can pull the image with the following command:
docker pull tsightler/ring-mqtt
Starting ring-mqtt during boot
For standalone installs the repo includes a sample unit file which can be used to automaticlly start the script during system boot as long as your system uses systemd (most modern Linux distros). The unit file assumes that the script is installed in /opt/ring-mqtt and it runs the script as the root user (to make sure it has permissions to write config.json), but you can easily modify this to any path and user you'd like. Just edit the file as required and drop it in /lib/systemd/system then run the following:
systemctl daemon-reload
systemctl enable ring-mqtt
systemctl start ring-mqtt
Using mcsMQTT autogen you will see a Ring Alarm keypad with all functions (except entering codes)
I have been having some issues with TTS reporting alarm status at 3 AM which is low on the WAF. Most likely it is relating to having 3 instances of this plugin running.
Been running this plugin since it's inception. Note I am running Homeseer here (HS3 and HS4) on Ubuntu 18.04 and Ubuntu 20.04. Never tried a Windows installation of Docker here.
Note here have never been much of a wireless / automation person. Current WAP of choice here is Ruckus these days.
Wall switch testing and use now is Tasmota upgraded switches, TTS is Alexa devices (have DOTs, Alexa standard, Alexa Show devices).
All of the automation is MQTT based.
Note that the Ring Alarm system and yearly fees are inexpensive. The Ring hub has a SIM card failover which works well. Here mounted Ring Hub near ceiling on wall with a POE connection to managed POE switch. I also have the Ring keyboards connected to 5VDC such that I never have to charge them.
Well now HS manages two alarm panels here in two homes.
1 - Leviton OmniPro 2
2 - Ring Alarm panel
I have it integrated to to Homeseer TTS and Alexa TTS (via Alexa Media player).
This script leverages the excellent ring-client-api to provide a bridge between MQTT and suppoted Ring devices such as alarm control panel, lights and cameras (full list of supported devices and features). It also provides support for Home Assistant style MQTT auto-discovery which allows for easy Home Assistant integration with minimal configuration (requires Home Assistant MQTT integration to be enabled). This also includes an optional Home Assistant Addon for users of HassOS/Home Assistant Installer. It can also be used with any other tool capable of working with MQTT as it provides consistent topic naming based on location/device ID.
Docker install (original installation for me)
It is important that you read entire document:
Environment Variables
- RINGTOKEN - The refresh token received after authenticating with 2FA, see Authentication section for details
- MQTTHOST - Hostname for MQTT broker
- MQTTPORT - Port number for MQTT broker
- MQTTUSER - MQTTPASSWORD
- MQTTPASSWORD - Password for MQTT broker
- ENABLECAMERAS - Enable camera support, otherwise only alarm devices will be discovered
- SNAPSHOTMODE - Enable still snapshot image updates from camera, see Snapshot Options for details
- ENABLEMODES - Enable support for Location Modes for sites without a Ring Alarm Panel
- ENABLEPANIC - Enable panic buttons on Alarm Control Panel device
- ENABLEVOLUME - Enable volume control on Keypads and Base Station, see Volume Control for important information about this feature
- RINGLOCATIONIDS - Array of location Ids in format: "loc-id","loc-id2", see Limiting Locations for details
- BRANCH - During startup pull latest master/dev branch from Github instead of running local copy, see Branch Feature for details.
Originally installed it on Ubuntu 18.04 ==> /opt/ring-mqtt
Stanard installation is fully supported, please make sure Node.js is installed (tested with 12.18.x but should work on 10.x and higher) on your system and then clone this repo:
git clone https://github.com/tsightler/ring-mqtt.git
Change to the ring-mqtt directory and run:
chmod +x ring-mqtt.js npm install
This will install all required dependencies. Edit config.js to configure your Ring refresh token and MQTT broker connection information and any other settings (see Config Options. Note that the user the script runs as will need permission to write the config.json as, for the standalone version of the script, updated refresh tokens are written directly to the config.json file.
Docker Installation:
For Docker installtion details, please read this section entirely. While it is possible to build the image locally from the included Dockerfile, it is recommended to install and update by pulling the official image directly from Docker Hub. You can pull the image with the following command:
docker pull tsightler/ring-mqtt
Code:
docker run --rm -e "MQTTHOST=host_name" -e "MQTTPORT=host_port" -e "MQTTRINGTOPIC=ring_topic" -e "MQTTHASSTOPIC=hass_topic" -e "MQTTUSER=mqtt_user" -e "MQTTPASSWORD=mqtt_pw" -e "RINGTOKEN=ring_refreshToken" -e "ENABLECAMERAS=true-or-false" -e "RINGLOCATIONIDS=comma-separated_location_IDs" tsightler/ring-mqtt
For standalone installs the repo includes a sample unit file which can be used to automaticlly start the script during system boot as long as your system uses systemd (most modern Linux distros). The unit file assumes that the script is installed in /opt/ring-mqtt and it runs the script as the root user (to make sure it has permissions to write config.json), but you can easily modify this to any path and user you'd like. Just edit the file as required and drop it in /lib/systemd/system then run the following:
systemctl daemon-reload
systemctl enable ring-mqtt
systemctl start ring-mqtt
Using mcsMQTT autogen you will see a Ring Alarm keypad with all functions (except entering codes)
I have been having some issues with TTS reporting alarm status at 3 AM which is low on the WAF. Most likely it is relating to having 3 instances of this plugin running.
Comment