Metadata-Version: 2.4
Name: juham-simulation
Version: 0.1.3
Summary: Simulation plugin for Juham
Author-email: J Meskanen <juham.api@gmail.com>
Maintainer-email: "J. Meskanen" <juham.api@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://gitlab.com/juham/juham/juham-simulation
Project-URL: Bug Reports, https://gitlab.com/juham/juham/juham-simulation
Project-URL: Funding, https://meskanen.com
Project-URL: Say Thanks!, http://meskanen.com
Project-URL: Source, https://gitlab.com/juham/juham/juham-simulation
Keywords: juham,masterpiece,plugin,framework,simulation,home automation
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.rst
Requires-Dist: juham-core>=0.2.6
Requires-Dist: importlib-metadata
Provides-Extra: dev
Requires-Dist: check-manifest; extra == "dev"
Requires-Dist: coverage>=7.0; extra == "dev"
Dynamic: license-file

Simulation plugin for Juham™
============================

Overview
--------
This package provides simulation classes for water and power meters. 
It is designed for testing and development of IoT applications that use
MQTT-based sensors. The simulations generate realistic, time-based 
data that can be published to a broker without requiring physical devices.


WaterMeterSim
-------------

**Description:** Simulates a water meter sensor.  
**Functionality:**
- Generates water consumption readings (`active_liter_lpm` and cumulative `total_liter`).
- Publishes readings to a configurable MQTT topic at a specified interval.
- Supports integration into threaded applications.

  
PowerMeterSim
-------------
**Description:** Simulates a power/energy meter sensor.  
**Functionality:**
- Generates active power readings for three phases and total consumption.
- Publishes readings to a configurable MQTT topic at a specified interval.
- Supports integration into threaded applications.


Installation
------------

1. Install 

   .. code-block:: bash

      pip install juham-simulation

      
2. Configure

To configure edit the `*.json` configuration files to match your network and
desired reading frequency in seconds.

   .. code-block:: json

      {
	"update_interval": 60
      }

