Skip to main content

Plugins devices IOT for Server HHC-N818OP Standalone with Python

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.4.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.4-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hhc_n818op_plugins-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 2c6d7517b6f7ec103c7c7101a3aa390bb30415024cb2dfb54efe606367210653
MD5 4e4a42d499c3545c8dbea25bf28d7a4b
BLAKE2b-256 95c7691eaa57da6aba8257ea8a167d9775bdfd433f2c701e2ecd06dc1679f79f

See more details on using hashes here.

Provenance

The following attestation bundles were made for hhc_n818op_plugins-0.1.4.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.4-py3-none-any.whl.

File metadata

File hashes

Hashes for hhc_n818op_plugins-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1b39961d3335ada3aafe4c6d19a48a8f121e756041fd7924df8d2f41eb860069
MD5 db28074027a41bb47323bc4f0d5ad9a0
BLAKE2b-256 65ea9f3dee314bf768de119ad52a76b6acc964190a78f253d969f623a2ec815b

See more details on using hashes here.

Provenance

The following attestation bundles were made for hhc_n818op_plugins-0.1.4-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