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.2.2.tar.gz (37.6 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.2.2-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hhc_n818op_plugins-0.2.2.tar.gz
  • Upload date:
  • Size: 37.6 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.2.2.tar.gz
Algorithm Hash digest
SHA256 2c092763e7da053c5452dcf5d7fa9150970552551016001193f864fe23bb5a4b
MD5 5b0beffbc500c760683c5324a838437f
BLAKE2b-256 2a5addd14416243a2a6ecfb2e6e69fb007753fe52623428d5d9801e1af61d5e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for hhc_n818op_plugins-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1490512f9bae4dfdaced3114e52db3cfc304ed4ba85aded9c53cc33e17a67d7e
MD5 6dc42eb441985539cfe8f43c5ec791db
BLAKE2b-256 733cb5e0d7f6ba1f3f7821ee9271edfd5d6f93d9d283d810204a802e6016115b

See more details on using hashes here.

Provenance

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