Skip to content
Konstantin Weber edited this page Jan 18, 2025 · 4 revisions

Setup

Import the package

from grohe import GroheClient, GroheDevice

Create an instance of GroheClient and login

client = GroheClient("EMAIL", "PASSWORD")
await client.login()

After successful authentication, make use of the given functions:

Get devices

devices = await GroheDevice.get_devices(client)
for device in devices:
    print(device.name)

Get raw dashboard data

dashboard  = await client.get_dashboard()
print(dashboard)

Other general appliance functions

details = await client.get_appliance_details(device.location_id, device.room_id, device.appliance_id)

command = await client.get_appliance_command(device.location_id, device.room_id, device.appliance_id) # Gets the last command send to appliance

status = await client.get_appliance_status(device.location_id, device.room_id, device.appliance_id)

info = await client.get_appliance_info(device.location_id, device.room_id, device.appliance_id)

Notifications

notifications = await client.get_appliance_notifications(device.location_id, device.room_id, device.appliance_id)

profile_notifications = await client.get_profile_notifications()

await client.update_profile_notification_state(notifications[0]["id"], True) # Set the notification status

Device Specific functions for Grohe Sense

data = await client.get_appliance_data(device.location_id, device.room_id, device.appliance_id)

await client.start_pressure_measurement(device.location_id, device.room_id, device.appliance_id)
measurement = await client.get_appliance_pressure_measurement(device.location_id, device.room_id, device.appliance_id)

await client.set_snooze(device.location_id, device.room_id, device.appliance_id, 60)
await client.disable_snooze(device.location_id, device.room_id, device.appliance_id)