Introducing a simple Docker Compose setup for HMS MQTT Publisher

| | Allgemein

Update: I am using this „much easier“ integration now: https://github.com/suaveolent/ha-hoymiles-wifi[GitHub, External]

I’ve been tinkering with my home automation setup recently, specifically integrating HMS-XXXXW-2T series micro-inverters with my system. The hms-mqtt-publisher[GitHub, External] is a neat tool that does just that by fetching telemetry info from these inverters and publishing it to an MQTT broker. The catch? It typically requires compiling from source with Cargo, Rust’s package manager.

The Challenge with Cargo

Compiling with Cargo is straightforward in many environments, but within my specific setup — an LXC container on Proxmox hosting Docker containers — it presented unnecessary complexity. My goal was a simpler, more direct deployment method that fit seamlessly into my existing workflow.

The Simple Solution: Docker Compose

The solution I landed on involves a Docker Compose file that bypasses the need for Cargo compilation. This approach not only simplifies deployment but also provides flexibility in configuration management. The Docker Compose setup is designed for ease of use, allowing quick adjustments and deployments.

You can find my solution here: https://github.com/marchorst/hms-mqtt-publisher-docker-compose

Configuration Choices

When deploying the hms-mqtt-publisher[GitHub, External] using Docker, there are a couple of options for configuration. The original setup suggests using environment variables for essential settings such as the inverter host and MQTT broker details. These variables include INVERTER_HOST, MQTT_BROKER_HOST, and optional settings for username, password, and port. (Or using Cargo)

However, I opted to mount config.toml directly into the Docker container. This method offers comprehensive control over all configurable options, ensuring full customization beyond what environment variables alone might allow. This decision was driven by a desire for detailed configuration management within the Dockerized environment.

Wrap Up: Three Ways to Deploy HMS MQTT Publisher

To sum up, there are three main ways to set up the HMS MQTT Publisher:

  • Compiling from source using Cargo.
  • Mounting a config.toml file for comprehensive configuration.
  • Configuring through environment variables for a simpler setup.

Each method has its merits, catering to different preferences and technical environments. For my purposes, mounting the config.toml was the preferred choice, offering a balance between ease of use and configuration depth.

If you’re interested in exploring this tool and its deployment options further, I encourage you to check out the original repository at https://github.com/DennisOSRM/hms-mqtt-publisher/ and my Docker Compose https://github.com/marchorst/hms-mqtt-publisher-docker-compose. Whether you’re new to Docker or looking for a hassle-free way to integrate your micro-inverters with your home automation system, this Docker Compose setup might just be the solution you’re looking for.

Links

https://github.com/marchorst/hms-mqtt-publisher-docker-compose
https://github.com/DennisOSRM/hms-mqtt-publisher/

Neueste Beiträge

Your MSPA Goes Smart – Step-by-Step to a DIY Smart Home Hot Tub (Wi-Fi Upgrade)

Introduction

In this article, I’ll show you how I successfully reverse-engineered the serial communication protocol of an MSPA Muse Carlton hot tub. The goal was to read remote control commands and send custom ones. I used an ESP32 Dev Board[*] for this. This protocol likely works with other MSPA models as well.

This article is for makers, home automation enthusiasts, and tech fans who enjoy diving deep into technical systems.


Weiter >>

Dein MSPA wird smart – Schritt-für-Schritt zum DIY Smart Home Whirlpool (WIFI/WLAN Upgrade) / Reverse Engineering eines proprietären UART-Protokolls am Beispiel eines Whirlpool-Steuergeräts (MSPA Muse Carlton)

Einleitung

In diesem Artikel zeige ich dir, wie ich das serielle Kommunikationsprotokoll eines MSPA Muse Carlton Whirlpools erfolgreich reverse-engineered habe. Ziel war es, die Fernbedienungsbefehle auszulesen und eigene Kommandos zu senden. Dafür kam ein ESP32 Dev Board[*] zum Einsatz. Dieses Protokoll funktioniert vermutlich auch bei anderen MSPA-Modellen.

Dieser Artikel richtet sich an alle Maker, Home-Automatisierer und Technik-Fans, die gern tief in die Technik eintauchen.


Weiter >>

Der perfekte Einstieg in die Welt der Vinyls: Der Denon DP-300F und 2 Alternativen

Warum Vinyl?

Vinyl erlebt seit einigen Jahren ein riesiges Comeback. Der warme, analoge Klang, das bewusste Musikhören und das Sammeln von Schallplatten faszinieren immer mehr Musikliebhaber. Dabei ist nicht nur das nostalgische Feeling ausschlaggebend, sondern vor allem auch der unverwechselbare Klangcharakter von Vinyl – ein Klang, der trotz moderner digitaler Verfahren nach wie vor viele Fans begeistert.

Denon DP-300F[*] – Der ideale Allrounder für Einsteiger

Der Denon DP-300F[*] ist nach wie vor ein beliebter vollautomatischer Plattenspieler im Einsteigerbereich. Sein automatischer Tonarm sorgt für einen schonenden Umgang mit Nadel und Platte – perfekt, wenn du ohne großen Aufwand direkt in den Vinylgenuss starten möchtest.


Weiter >>

Ein Leitfaden für Senioren: Günstige Smartphones bis 100 Euro – Unsere 4 Favoriten & Erfahrungsbericht einer maßgeschneiderten Senioren-Lösung – UPDATE 2024/25

In diesem Beitrag stellen wir dir vier günstige Smartphones vor, die aktuell (Stand Dezember 2024) für unter 100 Euro erhältlich sind. Zusätzlich teilen wir eine ganz besondere Geschichte aus dem Familienkreis: Wie wir eines dieser Geräte für die Oma meiner Verlobten eingerichtet haben, damit sie trotz ihrer Parkinson-Erkrankung gut damit zurechtkommt.


Weiter >>