Giter VIP home page Giter VIP logo

domoticz-woonveilig's Introduction

Domoticz Woonveilig alarmsystem Plugin

This plugin will connect your Woonveilig Gate01 alarmsystem to Domoticz. This plugin was designed for using Domoticz as an addition on controlling the Woonveilig alarmsystem. No modifications to your Woonveilig configuration will be made.

The following Woonveilig accessories are supported and will automatically be installed as devices in Domoticz:

  • Door contacts
  • Keypad
  • IR sensors

Features

After installing the plugin you will be able to:

  • Change the state of your alarm (arm, disarm, arm home)
  • Door contact switches will be added. You can monitor when a door is open/closed and use this information for event based ruling.
  • IR sensor devices will be added

Version history

  • V1.0 - Supporting alarmpanel and doorcontacts
  • V1.1 - Support for IR sensors

Installation and setup

If you are use a Raspberry Pi to host your Domoticz, you probably need to install libpython3.4 for plugins to work.

sudo apt install libpython3.4

At the moment of writing you also need to install:

sudo apt install python3-dev
sudo apt install python3-pip
sudo apt-get install python3-urllib3
sudo apt-get install pip3
sudo pip3 install demjson

In your domoticz/plugins directory do:

cd domoticz/plugins
git clone https://github.com/StuffNL/domoticz-woonveilig.git

Alternatively you can download the latest version from https://github.com/StuffNL/domoticz-woonveilig/archive/master.zip and unzip it. Then create a directory on your Domoticz device in domoticz/plugins named Woonvelig and transfer all the files to your device.

Restart your Domoticz service with:

sudo service domoticz.sh restart

Now go to Setup, Hardware in your Domoticz interface. There you add Woonveilig Gate01.

Make sure you enter all the required fields.

Using the domoticz built-in security panel

If you want to control the Woonvelig alarmsystem by using the built-in Domoticz Security panel you can achieve this by adding the following Event (LUA script):

Replace the values for variables woonveiligKeypadDeviceName and domoticzSecurityPanelName with your own devicenames.

commandArray = {}

woonveiligKeypadDeviceName = 'Alarm'
domoticzSecurityPanelName = 'Security Panel'

if (devicechanged[woonveiligKeypadDeviceName]) then
    
        print('**Update security status**')
        print(devicechanged[woonveiligKeypadDeviceName])

        if (devicechanged[woonveiligKeypadDeviceName] == 'Aan') then
                print('AlarmPanel Arm Away')
                commandArray[domoticzSecurityPanelName] = 'Arm Away'
        elseif (devicechanged[woonveiligKeypadDeviceName] == 'Thuis') then
                print('AlarmPanel Arm Home')
                commandArray[domoticzSecurityPanelName] = 'Arm Home'
        else
                print('AlarmPanel Disarm')
                commandArray[domoticzSecurityPanelName] = 'Disarm'
                commandArray['Keypad Ack'] = 'On'
        end
end

if (devicechanged['Security Panel']) then
    
        print('**Set Woonveilig Alarm**')
        print(devicechanged['Security Panel'])

        if (devicechanged[domoticzSecurityPanelName] == 'Arm Away' and otherdevices[woonveiligKeypadDeviceName] ~= 'Aan') then
                print('Woonveilig = Aan')
                commandArray[woonveiligKeypadDeviceName] = 'On'
        elseif (devicechanged[domoticzSecurityPanelName] == 'Arm Home' and otherdevices[woonveiligKeypadDeviceName] ~= 'Thuis') then
                print('Woonveilig = Thuis')
                commandArray[woonveiligKeypadDeviceName] = 'Home'
        elseif (devicechanged[domoticzSecurityPanelName] == 'Normal' and otherdevices[woonveiligKeypadDeviceName] ~= 'Uit') then
                print('Woonveilig = Uit')
                commandArray[woonveiligKeypadDeviceName] = 'Off'
        end
end

return commandArray

domoticz-woonveilig's People

Contributors

stuffnl avatar

Watchers

 avatar  avatar

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.