node-red-contrib-grohe-sense
v0.20.1
Published
Grohe sense nodes via ondus API.
Downloads
89
Readme
Grohe Sense nodes for node-red
This package contains nodes for controlling grohe sense devices via the following API: https://idp2-apigw.cloud.grohe.com
Dependencies
This package depends on the following libraries
- superagent
- he
- url
Disclaimer
This package is not developed nor officially supported by the company Grohe. It is for demonstrating how to communicate to the devices using node-red. Use on your own risk!
The code was ported from C# and Java and TypeScript which can be found here: https://github.com/J0EK3R/Grohe.Ondus.Api https://github.com/FlorianSW/grohe-ondus-api-java https://github.com/faune/homebridge-grohe-sense
Thanks for your donation
If you want to support this free project. Any help is welcome. You can donate by clicking one of the following links:
Credits
- FlorianSW for developing the initial version in JAVA
- J0EK3R for porting the original JAVA implementation to C#
- faune for doing the great work in TypeScript. This made me port my code from axios to superagent.
Changelog
Changes can be followed here
Grohe Sense Node
The node is able to get the status of a Grohe Sense, Grohe Plus or Grohe Guard node.
Sense
To get the status simply send any msg.payload to the input.
See the example flow sense in the examples folder.
Sense Guard
To get the status simply send any msg.payload to the input. To send a command to open the valve you need to send the following message:
msg.payload = {
command : {
valve_open: true,
}
};
See the example flow sense guard in the examples folder.
Getting Historical Data
To read out the internal measurement history you need to specify the start and end data as follows:
let end = new Date();
let start = new Date();
start.setDate(end.getDate() - 2); // last 2 days.
msg.payload = {
data : {
from : start,
to : end,
groupBy : 'hour' // or 'day', 'week', ...
}
};
Date can be passed in milliseconds format, too: e.g. Date.now
let now = Date.now();
let end = now;
let start = now - 24 * 60 * 60000;
msg.payload = {
data : {
from : start,
to : end,
groupBy : 'hour' // or 'day', 'week', ...
}
}
See the example flow sense guard last values in the examples folder.
See the example flow sense guard history in the examples folder.
See the example flow sense last values in the examples folder.
See the example flow sense history in the examples folder.
License
Author: Karl-Heinz Wind
The MIT License (MIT) Copyright (c) 2022 by Karl-Heinz Wind
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 NON-INFRINGEMENT. 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.