Giter VIP home page Giter VIP logo

homebridge-risco-alarm's Introduction

Code was removed from Homebridge, now runs as pure nodeJS standalone service https://github.com/szlaskidaniel/risco-service This way, it can be re-used with any other 3rd party automation Tool

this version is longer maintained

I'm glad that this code helped a lot of other people to sync their not-homekit devices with HomeKit platfrom. Unfortunatelly for a time being I need to drop support of this code. You can still Fork it to your repos and based on it fix/adapt it to the current requirements. Cheers!

About

This is plugin that integrate Homebridge with Risco Cloud Alarm Security System. Integration works only when proper Ethernet module is added to your Risco Unit and you are able to arm & disarm your system via https://www.riscocloud.com/ELAS/WebUI.

For now there are only 2 working states (ARM / DISARM), where ARM is common for all HomeKit states (AWAY, NIGHT, AT HOME). If more than 0 Partitions (Zones) are armed, Plugin reports that as system is ARMED. HomeKit looks globally, cannot distinguish difference between multiple Zones armed / disarmed.

When Polling option is enabled, Alarm state is refreshed in background, that means when you open HomeApp - there is no delay to display RiscoAlarm status. It's retreived from cached value.

Installation

  1. Install homebridge using: npm install -g homebridge
  2. Install this plugin using: npm install -g homebridge-risco-alarm
  3. Update your configuration file. See sample config.json snippet below.

Configuration

Configuration sample:

   "accessories": [
       {
           "accessory": "RiscoAlarm",
           "name": "RiscoAlarm",
           "debuglogging": 0,
           "polling": true,
           "pollInterval": 15000,
           "riscoUsername": "",
           "riscoPassword": "",
           "riscoSiteId": 12345,
           "riscoPIN": "",
           "armCommand": "armed",
           "partialCommand": "partially",
           "homeCommand": "partially"
           "disarmCommand": "disarmed",
           "riscoPartMode": false,
           "riscoPartId": 0            
       }
   ]

Fields:

  • "accessory": Must always be "RiscoAlarm" (required)
  • "name": Can be anything (used in logs)
  • "debuglogging" , 0: levels as follows 0 = state logging, 1 = some debug logging, 2 = all debug logging
  • "riscoUsername" , "riscoPassword": UserName and Password for you Web interface to RiscoCloud
  • "riscoSiteId": This is your siteId to login.
  • "riscoPIN": PIN Code used for arm/disarm
  • "polling": optionally poll for latest RiscoCloud status
  • "pollInterval": time in ms for polling
  • "armCommand": partitions that should be armed
  • "partialCommand": partitions that should be partially armed
  • "homeCommand": partitions that should be partially armed
  • "disarmCommand": partitions that should be disarmed
  • "riscoPartMode": false by default. Set to true if you want to manage one or more partitions independently.
  • "riscoPartId": 0 by default. Used when riscoPartMode is active. (0 => 1st Zone/Partition, 1 => 2nd Zone/Partition,...)

To get your riscoSiteId, login to riscocloud via ChromeBrowser (first login screen), and before providing your PIN (second login page), display source of the page and find string: <div class="site-name" ... it will look like:

<div class="site-name" id="site_12345_div">

In that case "12345" is your siteId which should be placed in new config file.

When set partitions for arm/disarm please use below schema (when "riscoPartMode" is set to false): For all partitions actions use default "armed" and "disarmed" , for single partition use "1:armed" and "1:disarmed"

Thank you

If you like it, any BTC donation will be great. My BTC Wallet: 3Ma1KEEfvNbvfAEyvRvmGHxNs61qZE7Jew Zrzut ekranu 2021-10-12 o 11 19 06

homebridge-risco-alarm's People

Contributors

alessandromattioliaddiction avatar gawindx avatar northernman54 avatar szlaskidaniel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

homebridge-risco-alarm's Issues

how to configure multi partitions

It is not clear how to configure multi partition.

I have 2 partitions and I want to have possibility to activate/deactivate

ALL
PARTITION 1
PARTITION 2

it is possible and how?

Login doesn't work

Hi

Great to have this plugin available, but unfortunately it doesn't seem to be working. I am 100% certain that I have entered my username and password correctly in the config, and these work fine when I login via the RISCO web interface, but on startup and every time the plugin tries to poll I get the following log message:

[3/10/2020, 1:18:28 PM] [RiscoAlarm] login [step1] > error:
Username/Password mismatch

Try again
[3/10/2020, 1:18:28 PM] [RiscoAlarm] Login failed

I've checked the config block several times and I'm pretty sure everything is correct. Any idea what's going on?

Thanks!

Noob question regarding installing

how do i install this from github on homebridge raspberry pi using homebridge app?
i am new to this and have a few programs installed and running but not sure how to do this
i am running homebridge on raspberry pi and use homebridge app on my iphone to setup etc

thanks

can i use this as standalone?

i also have risco alarm system, but i dont use homebridge, but Home Asssistant instead
can i load this script/project as a standalone? maybe with a script or shell command or something? so i can retrieve the state and set the state?

thnx

Issue when alarm is Trigged

when the alarm is going off aka triggered, HomeKit's tile does say triggered, BUT, a long pressing on the title brings up the dialog that shows OFF highlighted, so in order to cancel the alarm one has to 1st set and then unset the alarm by choosing AWAY, then OFF.

Is this a HomeKt issue or an issue the with the plugin ?

Clarity on Readme

Hi,

Thank you for this! I was looking for something like this for quite a long time. I see you reference partitions at the bottom of the page, is it possible to provide some clarity on it.

"When set partitions for arm/disarm please use below schema: For all partitions actions use default "armed" and "disarmed" , for single partition use "1:armed" and "1:disarmed""

I have 4 partitions, which I use in different states.

E.g. Nobody home - All 4 partitions are armed (Presume AWAY)
Home at night (awake) - Outside Partitions armed (Presume HOME)
Home at night (sleeping) - 3/4 partitions armed (Presume NIGHT)
Home - All partitions disarmed (Presumed OFF)

Is this possible to set this using this plugin, if so how would the config.json look?

Thank you

info on channel trigger

Hello, it is possible to have separate channels and trig events?
example: I have 2 doors sensor... and I want to have them on my homekit...to trig light on and off... it is possible?

Domoticz Accessory

Hi,

Firstly, thank you for this! Works perfectly in homekit. Any ideas how i could make risco cloud work in domoticz?

Also do you have plans to make other zones working from homekit such as ‘part set’ rather then setting the alarm for whole house?

login error but working

node:30974) UnhandledPromiseRejectionWarning: Error: Unhandled "error" event. (error)
at pollingtoevent.emit (events.js:186:19)
at done (/usr/lib/node_modules/homebridge-risco-alarm/node_modules/polling-to-event/index.js:33:20)
at /usr/lib/node_modules/homebridge-risco-alarm/app.js:74:17
at /usr/lib/node_modules/homebridge-risco-alarm/app.js:281:17
at
at process._tickCallback (internal/process/next_tick.js:189:7)
(node:30974) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 54)
homebridge : TTY=pts/0 ; PWD=/var/homebridge ; USER=root ; COMMAND=/bin/journalctl -o cat -n 500 -f -u homebridge
pam_unix(sudo:session): session opened for user root by (uid=0)
[2018-10-10 03:15:50] [RiscoAlarm] Body.error = 3 , relogin.
[2018-10-10 03:15:50] [RiscoAlarm] Sesion expired, relogin...
[2018-10-10 03:15:50] [RiscoAlarm] login [step1] to RiscoCloud first stage...
keep sid:fprt7mlj
[2018-10-10 03:15:51] [RiscoAlarm] Got Cookie, save it
[2018-10-10 03:15:51] [RiscoAlarm] login [step2] > err: null
[2018-10-10 03:15:51] [RiscoAlarm] Login failed
(node:30974) UnhandledPromiseRejectionWarning: Error: Unhandled "error" event. (error)
at pollingtoevent.emit (events.js:186:19)
at done (/usr/lib/node_modules/homebridge-risco-alarm/node_modules/polling-to-event/index.js:33:20)
at /usr/lib/node_modules/homebridge-risco-alarm/app.js:74:17
at /usr/lib/node_modules/homebridge-risco-alarm/app.js:281:17
at

Night Mode

Hi,
I was reading about homekit support for three states for alarm systems:

  • home
  • night
  • away

This plugin supports only away mode and home, right?
I'm a software developer and I have a Risco alarm, maybe I can help developing the night mode if it's not supported yet.

In my Risco app I have 3 states, disarmed, armed and "partial". It would be nice for the night command to enable the partial mode

Is it possible to retrieve risco sensor states?

We have a bunch of PIR's around the house for the alarm along with some door contact switches, it would be awesome if it was possible to expose these sensors to Homebridge via this plugin. Do you know if the webapp has access to that level of information? or even if these sensors are active when the alarm is not armed?

problem

[2020-6-19 3:54:14] Plugin 'homebridge-risco-alarm-fork' tried to register with an incorrect plugin identifier: 'homebridge-risco-alarm'. Please report this to the developer!
[2020-6-19 3:54:14] Registering accessory 'homebridge-risco-alarm-fork.RiscoAlarm'

Username/password mismatch

When i see the logging, i get this error:
login [step1] > error:
Username/Password mismatch


Try again
stdout

While i'm sure the username/password is correct

Handle Zone

Is there any ways to handle zones? I got 1 partition with 4 zones (A,B,C,D) which arm different parts of the system

Public API verry soon available

good news guys, just got information that risco wil launch soon a public API for developers, they will inform me next week about ETA
seems they also finished integration with amazon alexa already, probably launching verry soon

Multiple instances of plugin

I have setup multiple instances of plugin so I can show each partition in HomeKit. see snippet below. But if I set a partition it shows both as ARMED in HomeKit, is there anyway you can allow multiple instances of the plugin to be seen in HomeKit as separate Alarms.

       {
            "accessory": "RiscoAlarm",
            "name": "Home Alarm",
            "polling": true,
            "pollInterval": 15000,
            "riscoUsername": "*******",
            "riscoPassword": "*******",
            "riscoSiteId": *******,
            "riscoPIN": "*******",
            "armCommand": "0:armed",
            "disarmCommand": "0:disarmed"
        },
        {
            "accessory": "RiscoAlarm",
            "name": "Garage Alarm",
            "polling": true,
            "pollInterval": 15000,
            "riscoUsername": "*******",
            "riscoPassword": "*******",
            "riscoSiteId": *******,
            "riscoPIN": "*******",
            "armCommand": "1:armed",
            "disarmCommand": "1:disarmed"
        }

img_0187

Voice command in italian

great work on this repository. thank you for sharing.
excuse my ignorance but I use Italian as default Siri language on my phone and I can not seem to get it to "understand" me. if I switch to English it does work perfectly well. Any advice?

Arm Command only sets Partition 0

Do you think it will be possible to set multiple partitions on arm?
Would it be a case of using fiddler or Charlie to determine what is done in POST.

Happy to send some logging as arm would only set partition 0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.