npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

homebridge-micronova-agua-iot-stove

v1.1.0

Published

Homebridge plugin to manage a Micronova's Agua IOT WiFi module controlled stove

Downloads

18

Readme

homebridge-micronova-agua-iot-stove

Homebridge plugin to manage stoves/heaters with Micronova's Agua IOT module and HTTP API, from iOS/HomeKit.

verified-by-homebridge

Disclaimer

This plugin implementation has been made possible in a reasonable (free and personal) time, thanks to a previous stove plugin similar development, and an existing open-source Micronova Agua IOT implementation by @fredericvl (thanks a lot to him). This plugin is provided to be used as it is within Homebrige by advanced and tech-savvy users, or to serve as a code base for developers. The initial developer does not intend to implement additional features, or to offer general support on Homebridge, Agua IOT and stoves models use. Issues which prevent elementary and intended functions to work properly will be reviewed and considered. Enhancements requests will only be accepted from proposed pull requests, or from issues on cases that are described by this README. Users are free to fork and adapt this code base according to their needs, and in compliance with the license.

Supported stoves

This plugin has been developed for personal use, in order to control a single Piazzetta stove.
Here is the list of stove brands for which models have been tested to be working (at least partially):

  • Piazzetta
  • Jolly Mec

The plugin should be working with most of Micronova's Agua IOT WiFi controlled stoves. If you tested the plugin with a model which is not listed as supported yet, but is working well, please open a feature request issue to report. If you want to test the plugin with a model which is not available but working with py-agua-iot, feel free to open a feature request issue.

Intended capabilities scope

The plugin is aimed at providing such functionalities:

  • Setting stove power ON/OFF,
  • Setting stove combined power/ventilation level, from the lowest to the highest available managed levels,
  • Setting stove target heating temperature value in °C,
  • Getting stove power, current air temperature and combined power/ventilation level.

Any other function (special modes, auto/eco logic with temperature offsets, etc.) or value reading are not covered by the plugin, and will probably never be, due to the highly specific nature of implementation for each stove brand/model. Feel free to open a feature request issue if you feel a function that is available for all stoves/brands should be implemented; or to clone this repository to develop a brand/model-specific plugin.

Limitations

The plugin runs as an Homebridge "Heater Cooler" device type, as it is the only fit device type from Homebridge available interfaces. Specific tricks have been deployed to expose it as a heating only device. The plugin allows for powering ON/OFF, setting target temperature, and flame/flow power. The plugin is only supporting one unique stove (the one of the same name than you will give in this plugin config, and that you previously set up in official mobile app).

The flame/flow power is set through "Fan Rotation Speed" (but is correctly stepped and ranged), as this is the only available control to set such value within HomeKit. As supported stoves do not all enable air flow swinging or physical commands lock, these HomeKit controls are disabled and should not appear in HomeKit (however, due to a bug in HomeKit, the "Fan Swinging" option may still be available, but will do nothing). Temperature is set to be displayed in Celsius degrees.

A power-state swing protection mechanism prevents any power-state order (ON or OFF) to be passed to the stove if last power-state change from HomeKit occurred within 60 minutes. Otherwise, you may end-up over-heating the stove for nothing, or triggering its self-protection. If you NEED to go around that, restart the plugin in Homebridge (or the whole instance).

Status standby, alarm or final cleaning will be represented as device ON and status badge "IDLE" (green) in HomeKit. Status from ignition or working will be represented as device ON and status badge "HEATING" (orange) in HomeKit. OFF statuses are considered as the device being inactive (greyed). Any other status, and notably unknown ones, are represented as IDLE. Feel free to open a bug issue if a status is not correctly reported for your stove.

Some status refreshes might not be honored as quickly as HomeKit or Homebridge would like, and the "Unresponsive" message might appear sometimes:

  • Homebridge is by design limiting responsiveness, as it acts as an additional device between HomeKit and real devices,
  • if you encounter this with other devices, this might be a plugin slowing down the whole Homebridge instance, as Homebridge is only as fast as the slowest plugin. I advise to set plugins that work by requesting Web service as child bridges. See this Homebridge page to troubleshoot,
  • the more devices and plugins you have, the more Homebridge will take time to update devices status, the more HomeKit will have to wait. If you use several plugins and/or lots of accessories, consider setting child bridges,
  • this plugin relies on the Micronova Agua IOT HTTP API to work. This last is sometimes (but rarely) unresponsive or down. As so, some requests will fail or take time anyway (just as they would in official mobile app).

None of known limitations are preventing the plugin to integrate your home automation with HomeKit, and to be able to support most simple scenarios, the main one being remotely starting/stopping your stove based on conditions or manually.

Plugin Installation

Via Homebridge Plugins tab, by typing and searching for the plugin name (homebridge-micronova-agua-iot-stove), or via NPM (npm install -g homebridge-micronova-agua-iot-stove).

Setting this plugin as a child bridge is highly recommended for general performance and stability reasons.

Settings

The plugin configuration is done via Homebridge UI plugins settings, and is documented.
The result is saved in Homebridge config and looks like this, but should not to be manually edited:

{
    "name": "<stove name, MUST be the same than one you configured in official stove mobile app, and you now want to control from HomeBridge>",
    "brand": "<stove brand, to be chosen from a list, as it actually affects plugin internal settings>",
    "login": "<Your regular stove app login (MyPiazzetta for Piazzetta stoves)>",
    "password": "<Your regular stove app password (MyPiazzetta for Piazzetta stoves)>",
    "debug": false,
    "accessory": "HeaterCoolerMicronovaAguaIOTStove"
}

Association

As the plugin is an accessory one, once plugin configuration is done and Homebridge restarted, the stove should appear in HomeKit without any further setup.

If you set this plugin as a child bridge, the child bridge will have to be associated to HomeKit before the stove appears.