All Projects → mgcrea → homebridge-tydom

mgcrea / homebridge-tydom

Licence: other
Homebridge plugin to manage Tydom hardware by Delta Dore from Apple HomeKit.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to homebridge-tydom

homebridge-yeelight-platform
Homebridge plugin for Yeelight Lights supporting Scenes/Moods/Color Flow/Custom Presets/Music Flow/Night Mode
Stars: ✭ 53 (+39.47%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-node-alarm-dot-com
Alarm.com plugin for Homebridge using Node.js
Stars: ✭ 52 (+36.84%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-airrohr
HomeBridge module for the DIY luftdaten.info particulates sensor. See http://luftdaten.info how to build your own
Stars: ✭ 48 (+26.32%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-deebot
Homebridge plugin to integrate ECOVACS Deebot devices into HomeKit.
Stars: ✭ 39 (+2.63%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-honeywell-home
The Homebridge Honeywell Home plugin allows you to access your Honeywell Home thermostat from HomeKit.
Stars: ✭ 26 (-31.58%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-printer
Homebridge plugin for ipp (AirPrint) capable printer
Stars: ✭ 30 (-21.05%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-lifx-lan
LiFx LAN platform plugin for Homebridge
Stars: ✭ 83 (+118.42%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-mi-fan
XiaoMi fan plugins for HomeBridge.
Stars: ✭ 59 (+55.26%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-freeathome
Platform Plugin to manage free@home accessories via HomeBridge
Stars: ✭ 50 (+31.58%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-mi-pm2 5
XiaoMi PM2.5 sensor plugin for HomeBridge.
Stars: ✭ 15 (-60.53%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-securitysystem
Homebridge plugin that creates a security system accessory that can be triggered by HomeKit sensors.
Stars: ✭ 114 (+200%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-blinds-cmd
🌅 Homebridge plugin to enable window blinds to be controlled by executing a command line.
Stars: ✭ 14 (-63.16%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-roomba-stv
Homebrige plugin for Roomba 9xx
Stars: ✭ 40 (+5.26%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-tion
Homebridge plugin to control Tion breezers
Stars: ✭ 32 (-15.79%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-telegram
HomeKit/Homebridge driven notifications via Telegram
Stars: ✭ 47 (+23.68%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-logi-circle-controls
Homebridge plugin for extended Logitech Circle camera controls
Stars: ✭ 20 (-47.37%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-kodi
Kodi plugin for Homebridge
Stars: ✭ 24 (-36.84%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-plex-sensors
Homebridge Sensors for Plex - a plugin for Homebridge to adds sensors triggered by Plex playbacks.
Stars: ✭ 110 (+189.47%)
Mutual labels:  homebridge, homebridge-plugin
homebridge-simplisafe3
A complete Homebridge plugin for SimpliSafe 3.
Stars: ✭ 82 (+115.79%)
Mutual labels:  homebridge, homebridge-plugin
awesome-homebridge
Popular list of Homebridge Plugins
Stars: ✭ 106 (+178.95%)
Mutual labels:  homebridge, homebridge-plugin

homebridge-tydom

Homebridge Tydom Logo

npm version npm total downloads npm monthly downloads npm license github main workflow


Homebridge plugin to easily manage Tydom hardware by Delta Dore from Apple HomeKit.

  • Rely on node-tydom-client to communicate with an existing Tydom bridge (required).

  • Properly propagates external events into Apple HomeKit.

  • Built with TypeScript for static type checking with exported types along the library.

  • Supports Webhooks to trigger non-homekit dependent actions or notifications.

Documentation

Installation

  1. Add homebridge-tydom plugin to your homebridge install:
{
  "private": true,
  "description": "This file keeps track of which plugins should be installed.",
  "dependencies": {
    "homebridge-tydom": "^0.15.1"
  }
}
  1. Configure the homebridge-tydom platform, providing your Tydom identifiers:
{
  "bridge": {
    "name": "Homebridge 27C9",
    "username": "0E:21:1B:E7:27:C9",
    "port": 53619,
    "pin": "031-45-154"
  },
  "accessories": [],
  "platforms": [
    {
      "platform": "Tydom",
      "hostname": "mediation.tydom.com",
      "username": "001A25123456",
      "password": "YourPassw0rd",
      "debug": true
    }
  ]
}

Your username is the MAC Address of your local Tydom hardware, it should be 001A25 + your 6-character home ID that you can find in the mobile app.

For your password, you can also use an environment variable HOMEBRIDGE_TYDOM_PASSWORD with the base64 encoded value of your password.

Example: HOMEBRIDGE_TYDOM_PASSWORD=Zm9vYmFyYmF6 for a foobarbaz password (echo -n "foobarbaz" | base64)

  1. Configure the locale used for the labels (supported languages: French (default) & English) using the HOMEBRIDGE_TYDOM_LOCALE environment variable with value fr or en.

SecuritySystem

You can also manage your TYXAL+ security system from HomeKit (but it requires your alarm pin code):

As HomeKit security system has 3 active levels: stay, night, away you can configure which zones are linked to these active levels (away is by default every zones).

  1. You need to add the following to the config settings field (check the logs for your actual device id).
{
  "platforms": [
    {
      "settings": {
        "1521931577": {"aliases": {"stay": [3], "night": [2, 3]}}
      }
    }
  ]
}
  1. For the pin,

You can either add a pin field:

{
  "platforms": [
    {
      "settings": {
        "1521931577": {"pin": "123456", "aliases": {"stay": [3], "night": [2, 3]}}
      }
    }
  ]
}

Or you can also use an environment variable HOMEBRIDGE_TYDOM_PIN with the base64 encoded value of your pin (might be safer than having it inside your config.json).

You can optionnaly rename zones (default is Zone 1, Zone 2, etc.),

{
  "platforms": [
    {
      "settings": {
        "1521931577": {"zones": ["1st Floor", "Ground Floor", "Garden"]}
      }
    }
  ]
}

Webhooks

You can specify webhooks in your config.json to receive non homekit-dependent notifications.

For now all SecuritySystem events are relayed and we only support discord.

{
  "platforms": [
    {
      "webhooks": [
        {
          "url": "https://discord.com/api/webhooks/123456/abdcdef",
          "type": "discord",
          "level": "debug"
        }
      ]
    }
  ]
}

Category overrides (eg. Fan)

You can override categories of devices (eg. some light switch used to manage a fan)

  1. You need to add the following to the config settings field (check the logs for your actual device id).
{
  "platforms": [
    {
      "settings": {
        "1528565701": {"category": 3}
      }
    }
  ]
}

3 being the Categories.FAN number.

Supported hardware

It is currently supporting the following devices (have them at home).

But should support many more similar devices out of the box.

Some other hardware that should work thanks to the community feedback:

It is relatively easy to add new hardware so don't hesitate to create a new issue.

Notes

You can also use your local tydom IP (eg 192.168.0.X) for hostname, however:

  • You must set environment var NODE_TLS_REJECT_UNAUTHORIZED=0 to interact with the self-signed certificate.
  • Tydom 2.0 firmware can sometimes have trouble dealing multiple local clients, locking you away from the mobile app.

Configurations

Field Type Description
hostname string Tydom hostname
username string Tydom username
password string Tydom password
settings Record<string, ?> Device settings (overrides)
includedDevices Array<string> number> Include only devices with following ids
excludedDevices Array<string> number> Exclude all devices with following ids
includedCategories Array<string> number> Include only categories with following ids
excludedCategories Array<string> number> Exclude all categories with following ids
  • The settings field enables you to override the name or homekit category of your Tydom device (check homebridge log for the device ids).

You can also use the following environment variables (base64 encoded values)

Env Description
HOMEBRIDGE_TYDOM_PASSWORD Tydom password
HOMEBRIDGE_TYDOM_PIN Tyxal+ pin

Debug

This library uses debug to provide high verbosity logs, just pass the following environment:

DEBUG=homebridge-tydom

You might also want to debug node-tydom-client

DEBUG=homebridge-tydom,tydom-client

Alternatively, you can set debug to true in the plugin's configuration.

Available scripts

Script Description
start alias to spec:watch
test Run all tests
spec Run unit tests
spec:coverage Run unit tests with coverage
spec:watch Watch unit tests
lint Run eslint static tests
pretty Run prettier static tests
build Compile the library
build:watch Watch compilation

Authors

Olivier Louvignes

License

The MIT License

Copyright (c) 2020 Olivier Louvignes <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].