Coder Social home page Coder Social logo

joemat / hms-mqtt-publisher Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dennisosrm/hms-mqtt-publisher

0.0 0.0 0.0 184 KB

HMS-XXXXW-2T publisher and Home Assistant addon

License: BSD 2-Clause "Simplified" License

Shell 9.05% Rust 84.31% Dockerfile 6.64%

hms-mqtt-publisher's Introduction

hms-mqtt-publisher

This tool fetches the current telemetry information from the HMS-XXXXW-2T series of micro-inverters and publishes the information into an MQTT broker. Please note that it doesn’t implement a DTU, but pulls the information off the internal DTU of these inverters.

How to run

The tool is distributed as source only — for now. You’ll have to download, compile and run it yourself. Please note that configuration of hosts, and passwords is done via config.toml from the current directory. It supports two different output channels. One is a simple MQTT publisher that doesn't follow a particular schema, and the other is made for Home Assistant. It supports auto discovery of devices.

$ git clone https://github.com/DennisOSRM/hms-mqtt-publisher.git
$ cd hms-mqtt-publisher
$ cargo r

image

Docker

The latest release is directly deployable via a docker image from DockerHub. It is built automatically for the following Linux platforms:

  • amd64,
  • arm/v7,
  • and arm64.

The parameters to access the inverter and MQTT instance are pulled from environment variables:

  • $INVERTER_HOST
  • $MQTT_BROKER_HOST
  • $MQTT_USERNAME (optional)
  • $MQTT_PASSWORD (optional)
  • $MQTT_PORT (optional)

Note of caution

Please note: The tool does not come with any guarantees and if by chance you fry your inverter with a funny series of bits, you are on your own. That being said, no inverters have been harmed during development.

Known limitations

  • One can only fetch updates approximately twice per minute. The inverter firmware seems to implement a mandatory wait period of a little more than 30 seconds. If one makes a request within 30 seconds of the previous one, then the inverter will reply with the previous reading and restart the countdown. It will also not send updated values to S-Miles Cloud if this happens.
  • The tool is a CLI tool and not a background service.
  • The tools was developed for (and with an) HMS-800W-2T. It may work with the other inverters from the series, but is untested at the time of writing

hms-mqtt-publisher's People

Contributors

dennisosrm avatar dominikandreas avatar inscene avatar ringelbaer avatar thielepaul avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.