-
Notifications
You must be signed in to change notification settings - Fork 0
Example
Konstantin Weber edited this page Jan 18, 2025
·
1 revision
from grohe import GroheClient, GroheDevice
import asyncio
client = GroheClient("EMAIL", "PASSWORD")
async def main():
await client.login()
# ------------------------------- Get Devices ------------------------------ #
devices = await GroheDevice.get_devices(client)
for device in devices:
print(f"Device name: {device.name}")
print(f"Device type: {device.type}")
device = devices[0]
# ------------------------------- Get Dashboard ------------------------------ #
# Get raw data from the Grohe API
dashboard = await client.get_dashboard()
print(f"Dashboard: {dashboard}")
# ---------------------------------------------------------------------------- #
# Appliance #
# ---------------------------------------------------------------------------- #
# --------------------------- Get Appliance Details -------------------------- #
details = await client.get_appliance_details(device.location_id, device.room_id, device.appliance_id)
print(f"Appliance details: {details}")
# --------------------------- Get Appliance Command -------------------------- #
commands = await client.get_appliance_command(device.location_id, device.room_id, device.appliance_id)
print(f"Appliance commands: {commands}")
# --------------------------- Get Appliance Status --------------------------- #
status = await client.get_appliance_status(device.location_id, device.room_id, device.appliance_id)
print(f"Appliance status: {status}")
# ---------------------------- Get Appliance Info ---------------------------- #
info = await client.get_appliance_info(device.location_id, device.room_id, device.appliance_id)
print(f"Appliance info: {info}")
# ------------------------ Get Appliance Notifications ----------------------- #
notifications = await client.get_appliance_notifications(device.location_id, device.room_id, device.appliance_id)
print(f"Appliance notifications: {notifications}")
# ---------------------------------------------------------------------------- #
# Notifications #
# ---------------------------------------------------------------------------- #
# ------------------------- Get profile notifications ------------------------ #
notifications = await client.get_profile_notifications()
print(f"Notifications: {notifications}")
# -------------------------- Set notification status ------------------------- #
await client.update_profile_notification_state(notifications[0]["id"], True)
# ---------------------------------------------------------------------------- #
# Device Specific: Grohe Sense #
# ---------------------------------------------------------------------------- #
# ---------------------------- Get Appliance Data ---------------------------- #
data = await client.get_appliance_data(device.location_id, device.room_id, device.appliance_id)
print(f"Appliance data: {data}")
# ------------------------- Start pressure management ------------------------ #
await client.start_pressure_measurement(device.location_id, device.room_id, device.appliance_id)
# ------------------------- Get pressure measurement ------------------------- #
measurement = await client.get_appliance_pressure_measurement(device.location_id, device.room_id, device.appliance_id)
print(f"Pressure measurement: {measurement}")
# ------------------------------- Set snooze ------------------------------- #
await client.set_snooze(device.location_id, device.room_id, device.appliance_id, 60)
# ------------------------------ Disable Snooze ------------------------------ #
await client.disable_snooze(device.location_id, device.room_id, device.appliance_id)
# ---------------------------------------------------------------------------- #
# Device Specific: Grohe Blue #
# ---------------------------------------------------------------------------- #
asyncio.run(main())