pysmappee
Offical Smappee dev API and MQTT python wrapper
What it is and what it does
PySmappee is an official Python wrapper around the Smappee energy monitoring platform's REST API (v3) and MQTT interface. It abstracts authentication, device discovery, and data polling, allowing developers to query energy consumption and production data, control smart plugs and actuators, and receive real-time updates via MQTT. The library is primarily used as a dependency in Home Assistant's Smappee integration.
The package depends on requests, requests-oauthlib for OAuth2 authentication, paho-mqtt for message broker communication, cachetools for caching, pytz for timezone handling, and schedule for polling tasks. It targets Python 3.7+ and is distributed as a pure wheel with low installation friction.
Use it for:
- Integrate Smappee energy data into a home automation system to monitor real-time consumption and solar production.
- Build a custom dashboard that polls Smappee devices via the REST API and displays historical energy trends.
- Subscribe to MQTT topics from a local Smappee Genius device to trigger automations based on power thresholds.
- Control Smappee comfort plugs and actuators programmatically from a Python application.
- Fetch location and device metadata to synchronize Smappee hardware inventory with an external system.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Wrapper library for the Smappee energy monitoring API (v3) and MQTT interface, enabling Python applications to query device data and control Smappee hardware.
No—not for new projects. The package is abandoned (last release 2021-12-07, last commit 2022-08-30) and will not receive updates for API changes, new hardware support, or Python version compatibility. If you are already using it in Home Assistant or a legacy system, it remains stable and has no known vulnerabilities. For new integrations, check whether Home Assistant or the Smappee community maintains a more recent fork.
Install
pysmappee on PyPI
pip
pip install pysmappeeuv
uv add pysmappeepoetry
poetry add pysmappeeInstalling pysmappee
Before you install
Low install friction with a pure-wheel distribution and six common dependencies. However, the package is abandoned—last commit was 2022-08-30 and no release since 2021-12-07. Security risk is minimal (no known vulnerabilities), but bug fixes and compatibility updates will not arrive.
License in practice
MIT license is permissive and imposes no restrictions on use, modification, or distribution in your own projects.
Quickstart
pip install pysmappee
from pysmappee import SmappeeClient
client = SmappeeClient(token='your_oauth_token')
locations = client.get_locations()
Requires Python 3.7 or later. OAuth token from Smappee API required for authentication.
Verify before relying
- Whether the Smappee API v3 endpoint is still operational and compatible with current Smappee hardware.
- Current state of MQTT support for Smappee Genius and other recent device models.
- Whether Home Assistant still uses this package or has migrated to a maintained fork.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — cachetools, paho-mqtt, pytz, requests, requests-oauthlib, schedule |
| Maintenance | abandoned — 1,711 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 73,690/month — #14,948 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pysmappee-0.2.29-py3-none-any.whl
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
pysmaConnects to SMA solar inverters via their…
permissive · top 15,000 on PyPI
sense-energyProvides Python access to the Sense Energy…
permissive · top 15,000 on PyPI
pysmlReads and parses Smart Message Language (SML)…
permissive · top 15,000 on PyPI
pysensiboProvides an asyncio-friendly Python API client…
permissive · top 15,000 on PyPI
p1monitorAsynchronous Python client library for reading…
permissive · top 15,000 on PyPI
tb-mqtt-clientPython client SDK for ThingsBoard IoT platform,…
permissive · top 15,000 on PyPI
victron-mqttAn asynchronous Python library for…
permissive · top 15,000 on PyPI
ovoenergyA Python client library for querying energy…
permissive · top 15,000 on PyPI
tuya-device-sharing-sdkA Python SDK for Tuya's Open API that handles…
permissive · top 15,000 on PyPI
meross-iotA Python library for controlling Meross IoT…
permissive · top 15,000 on PyPI