skillfed

pysmappee

Offical Smappee dev API and MQTT python wrapper

pysmappee v0.2.29 73.7K downloads/30d#14,948 on PyPI2
Permissive license MIT Abandoned released

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 pysmappee

uv

uv add pysmappee

poetry

poetry add pysmappee

Installing 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

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

smappee api pythonenergy monitoring mqttsmappee device controlhome energy management apimqtt energy datasmappee integrationpython mqtt wrapper
energy-monitoringmqtthome-automation

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

pysma

Connects to SMA solar inverters via their…

permissive · top 15,000 on PyPI

sense-energy

Provides Python access to the Sense Energy…

permissive · top 15,000 on PyPI

pysml

Reads and parses Smart Message Language (SML)…

permissive · top 15,000 on PyPI

pysensibo

Provides an asyncio-friendly Python API client…

permissive · top 15,000 on PyPI

p1monitor

Asynchronous Python client library for reading…

permissive · top 15,000 on PyPI

tb-mqtt-client

Python client SDK for ThingsBoard IoT platform,…

permissive · top 15,000 on PyPI

victron-mqtt

An asynchronous Python library for…

permissive · top 15,000 on PyPI

ovoenergy

A Python client library for querying energy…

permissive · top 15,000 on PyPI

tuya-device-sharing-sdk

A Python SDK for Tuya's Open API that handles…

permissive · top 15,000 on PyPI

meross-iot

A Python library for controlling Meross IoT…

permissive · top 15,000 on PyPI