gehomesdk
Python SDK for GE Home Appliances
What it is and what it does
gehomesdk is a Python client library for GE's SmartHQ cloud API that lets you monitor and control WiFi-enabled GE appliances (ovens, refrigerators, washers, etc.) from Python code. It handles OAuth2 authentication to GE's servers, manages websocket connections for real-time state updates, and exposes appliance objects with properties and methods for reading status and sending commands. The library is event-driven: you register callbacks for appliance discovery, state changes, and connection events, then run the client in an asyncio event loop.
The SDK is designed primarily to power Home Assistant integrations but can be used standalone for any Python automation or monitoring task. It abstracts away the complexity of GE's authentication flow (including multi-factor authentication) and the websocket protocol, leaving you to work with simple appliance and state objects. Dependencies are mainstream async libraries (aiohttp, websockets) and parsing utilities (beautifulsoup4, bidict).
Use it for:
- Integrate GE appliances into Home Assistant for unified smart-home control and automation.
- Build a monitoring dashboard that polls appliance state and displays real-time status (running, temperature, cycle progress).
- Trigger custom actions when appliances change state (e.g., send a notification when laundry is done).
- Automate appliance control based on time or external events (e.g., preheat oven at a scheduled time).
- Export appliance telemetry to a logging or analytics system for usage tracking.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
SDK for controlling and monitoring GE WiFi-enabled (SmartHQ) appliances via websocket and REST APIs, with event-driven state tracking.
Yes, if you own GE SmartHQ appliances and need to integrate them into a Python automation or Home Assistant setup. The SDK is actively maintained, has no known vulnerabilities, uses permissive licensing, and abstracts away the complexity of GE's authentication and websocket protocol. Install friction is low. The main gotcha is that you need valid SmartHQ credentials and some accounts require MFA, which adds a one-time setup step.
Install
gehomesdk on PyPI
pip
pip install gehomesdkuv
uv add gehomesdkpoetry
poetry add gehomesdkInstalling gehomesdk
Before you install
Low friction install with six common runtime dependencies (aiohttp, requests, websockets, beautifulsoup4, bidict, humanize). Repository is active with a recent release (12 days old) and modest but steady maintenance signal.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute this package freely provided you retain the license notice.
Quickstart
pip install gehomesdk
import aiohttp
import asyncio
from gehomesdk import GeWebsocketClient
loop = asyncio.get_event_loop()
client = GeWebsocketClient(username, password, region, loop)
session = aiohttp.ClientSession()
await client.async_get_credentials_and_run(session)
Requires SmartHQ account credentials (username, password, region); some accounts may require MFA verification during login.
Verify before relying
- Exact list of supported GE appliance models and their controllable functions.
- Whether the SDK supports both websocket and REST transports equally, or if one is preferred.
- Performance characteristics under high-frequency state updates or many concurrent appliances.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — aiohttp, bidict, requests, websockets, humanize, beautifulsoup4 |
| Maintenance | actively maintained — 12 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 86,749/month — #13,841 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: gehomesdk-2026.8.0-py3-none-any.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
homeconnect-websocketControl HomeConnect appliances over a local…
unclear · top 15,000 on PyPI
whirlpool-sixth-senseProvides an unofficial API client for…
permissive · top 15,000 on PyPI
home-connect-asyncAn async Python SDK that connects to the BSH…
permissive · top 15,000 on PyPI
midea-localControl Midea M-Smart appliances over local…
permissive · top 15,000 on PyPI
aioharmonyaioharmony is an asyncio library for…
permissive · top 15,000 on PyPI
fjaraskupanControl Fjäråskupan kitchen fans over Bluetooth…
permissive · top 15,000 on PyPI
pymielepymiele is a Python library that enables Home…
permissive · top 15,000 on PyPI
home-assistant-frontendProvides the web-based user interface for Home…
permissive · top 15,000 on PyPI
paho-mqttProvides an MQTT client library for connecting…
copyleft · top 5,000 on PyPI
pysensiboProvides an asyncio-friendly Python API client…
permissive · top 15,000 on PyPI