Homebridge plugin for controlling some of the aspects of Grohe Sense water security system using HomeKit.
The following Grohe Sense components are supported:
Released versions are published through npm and can be found here:
https://www.npmjs.com/package/homebridge-grohe-sense
You can also search for this plugin from the awesome Homebridge web UI and it will automagically be installed/updated for your.
Plugin will automatically find and configure your Sense devices, and expose the following HomeKit services:
config.json
There is a Settings screen during plugin setup that helps you configure the configuration section shown below.
{
"name": "Ondus",
"refresh_token": "<Paste refresh token here>",
"username": "<user@name.domain>",
"password": "<secret>",
"refresh_interval": 3600,
"valve_control": true,
"throttle_support": false,
"throttle_rate": 6,
"throttle_rateper": 1000,
"throttle_concurrent": 2,
"fakegato_support": false,
"shtf_mode": false,
"platform": "Ondus"
}
refresh_token
and username/password
Note that for both refresh_token
and username/password
you must remove < >
above when inserting your credentials.
You do NOT need to provide the refresh_token
if you provide your username/password
. Some/many are more comfortable using a refresh_token
than the actual username/password
credentials themselves in a config file.
refresh_interval
How often to query Ondus API for new data. Default setting of 3600
seconds is more than sufficient, because sensors only report data every 24 hours unless a notification threshold has been exceeded.
valve_control
If you have kids like me with iCloud family sharing enabled, and dont want them brats (just kidding, mine are actually angels) to turn off the main water supply through HomeKit as a prank when you are showering - this is for you! Set valve_control
to false
, and the plugin will ignore all valve control requests :-)
fakegato_support
Export historical sensor data for temperature and humidity to HomeKit using the proprietary Elgato Eve protocol. This feature will only be available from the Eve app, and will not display anything in the default Home app.
throttle_support
Depending on the number of Ondus devices you have, the Ondus API might restrict the number of requests accepted within a server configured time. If you see Error: Too Many Requests
in the log, its time to start throttling!
shtf_mode
The Shit Hit The Fan mode is for debugging. If something is not working as expected, please enable this mode and run homebridge in debug mode. This will include more noisy logging which hopefully can help locate the problem. The debug log must be included when you are reporting an issue.
refresh_token
Actually obtaining a refresh_token
from the GROHE ONDUS Api requires some manual steps.
In order to more deeply understand what is happening during the process, you can read more information about the OAuth2/OIDC (OpenID Connect) login flow by searching for these terms in your favorite search engine.
Here is a short step-by-step guide on how to obtain a refresh token:
token?
ondus://idp2-apigw.cloud.grohe.com/v3/iot/oidc/token?
or something like thatstate
parameter and so on)ondus://
part of the URL with https://
and hit ENTERJSON object
. Somewhere in the text should be a refresh_token
string, select the string after this refresh_token
text, which is encapsulated with "
.E.g.: If the response of the page looks like this:
{
"access_token": "the_access_token",
"expires_in":3600,
"refresh_expires_in":15552000,
"refresh_token":"the_refresh_token",
"token_type":"bearer",
"id_token":"the_id_token",
"not-before-policy":0,
"session_state":"a-state",
"scope":"",
"tandc_accepted":true,
"partialLogin":false
}
Then the refresh_token
value you should copy would be: the_refresh_token
.
This value is the refresh_token
you should save as described above.
If you really want to know this, lets take a stroll down memory lane: