myluna08 / homebridge-rituals

Homebridge-rituals plugin to control Rituals Genie over homebridge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Homebridge-Rituals

v1 is functional release, ENJOY!!

English|Español

Homebridge Rituals is a homebridge-plugin to manage a Rituals Genie over homebridge infrastructure. Homebridge is a lightweight NodeJS server you can run on your home network that emulates the iOS HomeKit API.

Since Siri supports devices added through HomeKit, this means that with Homebridge you can ask Siri to control devices that don't have any support for HomeKit at all. For instance, using just some of the available plugins, you can say:

With this plugin you can do

  • Siri, turn on the Genie.
  • Siri, turn off the Genie.

Before begin, (assumptions)

  • Your genie has been registered using Official Rituals App.
  • Your genie is working fine. (obviously)
  • Your homebridge is working fine and has been added to your home app as bridge. If not, please take a look to Installation from zero.

Find more about on Official Rituals Site

01. Installation

With npm -i or if you are using manual plugin module installation.

npm -i homebridge-rituals

Otherwise you can use throught Homebridge UI-X the plugin search engine and just write : "homebridge-rituals" or "rituals" and click INSTALL

02. Installation from zero

  1. This plugin is under development, (Unstable installation 0.0.x) (stable installation 1.0.0 or greather..)
  2. Node v4.3.2 or greater is required. Check by running: node --version. The plugins you use may require newer versions.
  3. On Linux only: Install the libavahi-compat-libdnssd-dev package: sudo apt-get install libavahi-compat-libdnssd-dev
  4. Install Homebridge using: npm install -g homebridge or sudo npm install -g --unsafe-perm homebridge (see below)
  5. Install the plugins using: npm install -g <plugin-name>
  6. Create the config.json file.

03. Configuration in config.json

FOR 1 GENIE ONLY One installed, you must modify your config.json file and add the following data:

  1. accessory (Required) = "Rituals"
  2. account (Required) = "xxxx@xxx.com" < that is the mail you are using in Rituals App Registration.
  3. password (Required) = "yyyyyyyy" < that is the password you are using in Rituals App.
  4. name (Optional) = "my Genie" < a name that you can assign, if not, "Genie" name has been assigned.

SAVE your config.json file and RESTART homebridge.

    "accessories": [
        {
            "accessory": "Rituals",
            "name": "My Genie",
            "account": "xxx@xxx.com",
            "password": "yyyyyyy"
        }
    ],

MULTIPLE GENIES IN YOUR account If you have more than one genie in your account, use the standard config for the first time and see the LOG. The Genie identifiers should appear in the log. Then add the "hub" key in the config to indicate what genie you want to control.

  1. Declare standard mode
    "accessories": [
        {
            "accessory": "Rituals",
            "name": "Genie",
            "account": "xxx@xxx.com",
            "password": "yyyyyyy"
        }
    ],
  1. Wait for the LOG , like this..
[7/1/2020, 1:24:44 PM] [Genie] Hub NOT validated!
[7/1/2020, 1:24:44 PM] [Genie] There are multiple hubs found on your account
[7/1/2020, 1:24:44 PM] [Genie] Key in your config.json is invalid, select the proper hub key.
[7/1/2020, 1:24:44 PM] [Genie] Put one in your config.json > https://github.com/myluna08/homebridge-rituals
[7/1/2020, 1:24:44 PM] [Genie] ---
[7/1/2020, 1:24:44 PM] [Genie] Name: FirstGenie
[7/1/2020, 1:24:44 PM] [Genie] Hublot: LOTXXX-XX-XXXXX-XXXXX
[7/1/2020, 1:24:44 PM] [Genie] Hub: f0123456789f0123456789f0123456789f0123456789f0123456789f01234567
[7/1/2020, 1:24:44 PM] [Genie] Key: 0

[7/1/2020, 1:24:44 PM] [Genie] ---
[7/1/2020, 1:24:44 PM] [Genie] Name: SecondGenie
[7/1/2020, 1:24:44 PM] [Genie] Hublot: LOTXXX-XX-XXXXX-XXXXX
[7/1/2020, 1:24:44 PM] [Genie] Hub: a0123456789a0123456789a0123456789a0123456789a0123456789a01234567
[7/1/2020, 1:24:44 PM] [Genie] Key: 1
  1. declare every accesory with the correspondent hub identifier
"accessories": [
    {
        "accessory": "Rituals",
        "name": "Genie 01",
        "account": "xxx@xxx.com",
        "password": "yyyyyyy",
        "hub": "f0123456789f0123456789f0123456789f0123456789f0123456789f01234567"
    },
    {
        "accessory": "Rituals",
        "name": "Genie 02",
        "account": "xxx@xxx.com",
        "password": "yyyyyyy",
        "hub": "a0123456789a0123456789a0123456789a0123456789a0123456789a01234567"
    }
],
  1. Restart Homebridge

04. Limitations

  • It will appears in you home app like a Fan Accessory.
  • You can control start/stop.
  • Fan control is not available in this release (see changelog).
  • You can't see other properties like in the app, maybe later.
  • The most important limitation, with this very first version you can only manage only 1 genie under the rituals account.

05. Following Features Implementation (Nice to have in the future)

  • Allow to control FAN rotator speed, Done!
  • Allow to show battery level information, Done!
  • Detection of Genie version 1.0 or 2.0 (Genie 2.0 does not have battery, accessory battery not shown)
  • Added Debug traces
  • Allow to show the fragance name
  • Allow to show the fragance quantity remains inside genie ¿?
  • Allow to manage more than one genie if you can more than one in the same rituals account.

Yeah, many work .. but you can helpme with a coffee ..

06. Credits && Trademarks

Rituals & Genie are registered trademarks of Rituals Cosmetics Enterprise B.V.

07. ChangeLog

  • 1.1.14 Fix error when homekit starts
  • 1.1.13 Fix error with StatusCodes
  • 1.1.12 Added control for rituals servers down on currentState
  • 1.1.11 Added control for 503 unresponsive rituals server
  • 1.1.10 Add linting and fix up reference errors
  • 1.1.9 Added control if Rituals Servers are down.
  • 1.1.8 fix mistake
  • 1.1.7 fix HUB in only one genie
  • 1.1.6 fix UUID for persistance.
  • 1.1.5 fix over log functions & fragance added.
  • 1.1.4 force change UUID to avoid same
  • 1.1.3 fix a defect with key with 1 genie only.
  • 1.1.2 fix a defect with package.json in some cases.
  • 1.1.1 Error ReferenceError: config is not defined solved.
  • 1.1.0 adding debug traces, support more than 1 genie in your account and current version of genie 1.0 or 2.0, fragance only in (homebridge)
  • 1.0.8 fix error using functions exposed by homebridge and adding new characteristic to use FAN rotator speed.
  • 1.0.7 wrong, unstable version!
  • 1.0.6 fix error with secure store, in some cases appears in homebridge logs permission errors.
  • 1.0.5 too many logins to get hash, implementing secure store.
  • 1.0.4 first release functional
  • 1.0.3 fix errors on request, json bad fomatted
  • 1.0.2 fix errors on_state, active_state
  • 1.0.1 scheme works but nothing do
  • 1.0.0 accessory registered successfully

About

Homebridge-rituals plugin to control Rituals Genie over homebridge

License:MIT License


Languages

Language:JavaScript 100.0%