Grohe Sense (Ondus)

Hi, could you please share the APEX yaml for the 30day card also?

Anyone having problem with the lovelace-card by Michael? I got it working but after couple of days it shows daily value 1L .

Payload seems to be coming ok, I can see withdrawals values in debug message. Is there some kind of bug in the lovelace card?

Hi Safak, interesting thought to make the unit locally readable, I am in a similar situation. Take the following with a grain of salt, as I’ve not yet actually done this yet. I don’t have equipment to scan the pins, but I ordered a logic analyzer from China that will take a few months to arrive.If somebody actually knows how to do this, please feel free to chime in!

My personal guess is that the heavy lifting of sensor interpretation, scanning, and data storage is done by the electronics on the backside of the motherboard, and ESP mostly handles the traffic to the outside world. I think before flashing a new firmware into the ESP8266 we’d need to figure out what communication happens between the ESP and the rest of the board. The picture you had from the backside of the board was interesting, but I could not read any of the chip markings from there. It would be interesting to see if they can be identified, and if we can figure out what traffic (I2C, SPI, UART, something else) we should be looking for in the ESP pins. ESPHome looks like a good fit, but for that the correct pins and the traffic type would need to be known in order to read anything with the new firmware. Possibly also need to find what commands that are going back and forth, assuming ESP is actively polling the motherboard.

Hi Joona,

I found the datasheet of the esp used on the board. I agree with everything you say, but I have no clue how to read the signals going in and out of the esp and how to interpret the ones that do not relate to actions that I can trigger.

Since I was a complete noob and had to figure out a lot by myself to make this work:
You need Node-RED:

And also hass-node-red which enables you to make Node-RED sensors that transfers data to HA:

You install node-red-contrib-grohe-sense by clicking the Hamburger menu button → Manage palette → Install tab → Search for grohe → Install button.

You can import this code by copying it and pasting into: Hamburger menu button → Import. You need to set password and user name for the Waterguard node, and maybe other parameters for the other nodes.

[{"id":"c11eac5d7301574d","type":"inject","z":"03917c9ce0720fba","name":"every 5 min","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"300","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":880,"wires":[["7e1c4c3c1fbeefa8"]]},{"id":"d60310236c7d52e2","type":"grohe sense","z":"03917c9ce0720fba","location":"dd73ac27fcefb839","room":"Teknisk","appliance":"GUARD","devicetype":"103","description":"","x":480,"y":880,"wires":[["a61bf02fe7ece2d2","236774b223daa7fb","99fa0b696513806d"]]},{"id":"99fa0b696513806d","type":"change","z":"03917c9ce0720fba","name":"today water consumption","rules":[{"t":"move","p":"payload.statistics.withdrawals.todayWaterConsumption","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":880,"wires":[["f01905fa980ec0ef"]]},{"id":"f01905fa980ec0ef","type":"ha-sensor","z":"03917c9ce0720fba","name":"Guard todays water consumption","entityConfig":"2a7070ea8a7afd3b","version":0,"state":"payload","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1060,"y":880,"wires":[[]]},{"id":"7e1c4c3c1fbeefa8","type":"function","z":"03917c9ce0720fba","name":"Schedule today","func":"let midnight = new Date(); //current date and time\nmidnight.setHours(0, 0, 0, 0); //set time to today at midnight\n\nlet now = new Date(); //current date and time\n\nmsg.payload = {\n    data: {\n        from: midnight,\n        to: now\n    }\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":300,"y":880,"wires":[["d60310236c7d52e2"]]},{"id":"dd73ac27fcefb839","type":"grohe location","location":"Hjemme"},{"id":"2a7070ea8a7afd3b","type":"ha-entity-config","server":"abcacff6.23e46","deviceConfig":"f06d155cfd8577bf","name":"Guard todays water consumption","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"Guard todays water consumption"},{"property":"icon","value":""},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":"water"},{"property":"unit_of_measurement","value":"L"},{"property":"state_class","value":"total_increasing"}],"resend":false,"debugEnabled":false},{"id":"abcacff6.23e46","type":"server","name":"Home Assistant","addon":true},{"id":"f06d155cfd8577bf","type":"ha-device-config","name":"Grohe Guard","hwVersion":"","manufacturer":"Node-RED","model":"","swVersion":""}]

This code downloads only today’s data. The function node outputs the “payload.statistics.withdrawals.todayWaterConsumption” parameter, which Grohe calculates for you in the cloud, to your output sensor. It should look something like this:

Pro tip: There are many other parameters you can output. Just put a debug node after the Guard and look for the data you want in the debug tab (temperature, pressure, etc).

There is no reason to run this function wery often. The Guard only uploads data every 15 minutes.

The important parameters of the water consumption output sensor are device class=water, unit=L, state class=total increasing:

When this is deployed and running in Node-RED you should be able to go to “Settings → Dashboards → Energy → Water consumption” and select your new water sensor. Then (after up to 2 hours) the water consumption data should show on your Energy dashboard.

This has been running fine for about a week on my Raspberry Pi 4 now.

Thanks to @mstjerna and @Daniel76 for your input above. That was helpful.


Hey asperezva

Does your “Schedule-infinite” work?
Could you post your Node-Red Code for the infinite function?

Thanks alot!

awesome work!
Unfortunately my data resets overnight on my Hassio. So the consumption on Saturday (for example) is like 300 Liters. On Sunday morning i’ve then a negative consumption of -300 Liters to start with. Any advice, what could be wrong in?

Have you tried to do a factory reset and see if that enables something? I’m thinking about a electric company in Sweden that has a product called Tibber Pulse. Upon doing a factory reset it exposes setting a manual mqtt server instead of their own default server… I mean we can always hope for a simple solution… :grinning_face_with_smiling_eyes:

Have you made any progress with this :)? Making it local and controlling the esp? I would just be happy if we can figure out how to controll the valve with on/off localy. I dont wanna depend on a cloud-outage if there is a water leek when im not home. The data is just nice to have and that I can live with cloud polling.

Is the node red integration stable? No need to refresh login or so?

Hi! Awesome work!
I can now control the valve from the switch in HA, but it does not update if I control the valve from the Grohe app. How do I achieve this?

Hello there!
Great job in Node-Red with getting Grohe Sense in HA. Thanks.

I have just one problem and what I can see is that a few others also have the same problem.
How do we get our switch to update when controlling the valve from Grohe app, and vice verca.


Good morning everyone,
Does anyone have any news regarding a stable integration? Unfortunately, I am not able to program, and I am not familiar with Node-RED.
Thank you for your attention!

I would like to add my voice to this question. I would like to include my Sense Guard in Home Assistant, but I don’t use NodeRed. Is there still an intention to make a general integration work?

Hi everybody,
First of all, sorry for my english (I’m french!).
I’m looking for a way to manage all my domotic with only one app
I have a grohe sense guard and so, I would like to manage it with everything else in a single app.
I integrated all my components in jeedom but unfortunately there is no existing plugin for grohe sense guard.
So I googled a lot my wish and I first found topics about floransw java code for grohe sense api.
Then I found an existing ondus plugin for homebridge, so I installed homebridge plugin for jeedom and ondus plugin inside homebridge.
Works fine for the valve control but not for getting values.
I re googled and I found the faune home-assistant custom component for grohe sense guard, so I managed to create a new HAOS VM and installed the custom component.
Works fine to control the valve too, but same results as with homebridge plugin for the values.
I re re googled and I found the node-red based solution, so installed node-red custom component and node-red companion addon in the HAOS VM.
I imported many examples of .json flow for testing and particulary, the one posted by @Daniel76 above which perfectly meets my needs.
The flow works fine to control the valve and to get values but only temp value match the one I get with the Grohe-sense or ondus app. I get some pressure value but I don’t know where it’s coming from!?
Finally I would like to say many special thanks for their great works to @gkreitz (grohe-sense custom component for HA), windkh (grohe-sense node-red integration), faune (homebridge plugin for grohe-sense).

Hi jojo, could you post the steps you took for beginners like me? Thanks in advance.

Hi Valentes,
I’m a beginner too!
Did you read the post of @4Fire4 above from March, 26.
I just followed these steps which are well detailled in order to install node red custom component and node red companion addon in HAOS.
Then I imported the flow @Daniel76 posts above (on November, 16 of 2022).

where should these parameters be inserted?
once I enter data on the guard sensor, it tells me: guard not find

but the userid and password are those of the Grohe site or home assistant or rather those of nodered. Furthermore What should be put on location?

You must double tap/clic on waterguard node :

Enter the location and the room of your waterguard and then, press then modify button :

Last enter the username and press the save button :

Once it’s done you need to redeploy the flow

Grohe site ones.
You must put the location of your grohe sense guard you set in grohe app.
I forgot something, you must set the grohe sense guard name too…