Skip to main content

Plugins devices IOT for Server HHC-N818OP Standalone with Python

Reason this release was yanked:

wrong dependency

Project description

hhc-n818op-plugins

Python plugin package for IoT devices used by HHC-N818OP Standalone.

This repository contains device adapters that extend the standalone daemon through Python entry points. At the moment, the project provides plugins for:

  • Athom Smart Home devices over HTTP
  • Meross devices over MQTT (via meross-iot)

Project Status

  • Python package metadata is defined in pyproject.toml.
  • Plugin discovery is configured through the daemon_hhc_n818op.plugins entry-point group.
  • The tests/ folder currently contains only package scaffolding.

Requirements

  • Python >=3.10,<3.14
  • uv (recommended for dependency and virtualenv management)
  • Access to the companion project hhc-n818op-standalone (declared as a direct dependency)

Installation

1) Clone the repository

git clone <your-fork-or-origin-url>
cd hhc-n818op-plugins

2) Install dependencies

uv sync

If you prefer editable installation with pip:

python -m pip install -e .

Quick Start

Install from PyPI (when available)

pip install hhc-n818op-plugins

Install from source (development mode)

git clone <your-fork-or-origin-url>
cd hhc-n818op-plugins
pip install -e .

Verify installation

python -c "from daemon_hhc_n818op.plugins.athom import PluginAthomSmartHome; print('✓ Athom plugin loaded')"
python -c "from daemon_hhc_n818op.plugins.meross import PluginMeross; print('✓ Meross plugin loaded')"

Development Workflow

Common targets are available in Makefile:

  • make dev - install and validate toolchain versions
  • make style - run formatting (isort, black)
  • make checks - run static analysis (ruff, flake8, pylint, mypy, bandit)
  • make tests - run unit-test selection (not integration_tests)

You can also run commands directly with uv:

uv run pytest -v
uv run ruff check daemon_hhc_n818op tests
uv run black --check daemon_hhc_n818op tests

Plugin Layout

daemon_hhc_n818op/
  plugins/
    athom/
      athom_smart_client_home_http.py
    meross/
      meross_client_cloud_mqtt.py

Athom plugin

  • Main implementation: daemon_hhc_n818op/plugins/athom/athom_smart_client_home_http.py
  • Class: PluginAthomSmartHome
  • Behavior:
    • Checks relay status over HTTP
    • Toggles relay state
    • Disables itself when host/network or payload errors are detected

Meross plugin

  • Main implementation: daemon_hhc_n818op/plugins/meross/meross_client_cloud_mqtt.py
  • Class: PluginMeross
  • Behavior:
    • Authenticates through Meross cloud credentials/profile
    • Initializes MerossManager
    • Discovers devices and controls switch state
    • Persists profile/registry credential artifacts in the plugin folder

Configuration Notes

Meross plugin uses JSON files located under daemon_hhc_n818op/plugins/meross/, including:

  • meross_profile.json
  • meross_registry.json
  • meross_cloud_credentials.json

Keep these files sanitized and avoid committing real secrets.

Packaging

  • Build backend: setuptools.build_meta
  • License: GPL-3.0-only
  • Source package target includes daemon_hhc_n818op and excludes test files

Contributing

  1. Create a feature branch.
  2. Run formatting and checks.
  3. Run tests.
  4. Open a pull request with a clear change description.

License

This project is distributed under the terms of the GPL-3.0-only license. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hhc_n818op_plugins-0.1.1.tar.gz (37.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hhc_n818op_plugins-0.1.1-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

Details for the file hhc_n818op_plugins-0.1.1.tar.gz.

File metadata

  • Download URL: hhc_n818op_plugins-0.1.1.tar.gz
  • Upload date:
  • Size: 37.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hhc_n818op_plugins-0.1.1.tar.gz
Algorithm Hash digest
SHA256 37bfe85ac35023fba5a853e7222d1d0277670acbe3c74420af1ab286b10a93e9
MD5 d6b08d32ae337aa623720a0cfbb4de9d
BLAKE2b-256 25c4d1d5d5b01409832b8d683e6def09a7ed1ca2fb5e5c1bda7468a3e5bff7ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for hhc_n818op_plugins-0.1.1.tar.gz:

Publisher: package-release.yml on lachapette/hhc-n818op-plugins

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hhc_n818op_plugins-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for hhc_n818op_plugins-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fedd4c122f2dca70518173379a4ac00fbb0359222d373d6f33d9eb34340747a7
MD5 f85f2f9d45780ee85e540ae6e8c8c076
BLAKE2b-256 5d3b219bff6327b4f436f8ada95b66daa41887e83f909934dbc012e9e1f7d5ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for hhc_n818op_plugins-0.1.1-py3-none-any.whl:

Publisher: package-release.yml on lachapette/hhc-n818op-plugins

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page