Omnik data logger architecture

The Archimate scheme below show how the Omnik data logger components work in your environment/ The orange parts show the omnik datalogger software components and functions. The blue parts how the functions that can be used with the software and how they interact. The DSMR net data function (magenta) feeds the consumption calculation but can also output to the output plugins.

AppDaemon

Integration with AppDaemon 4 is optional and is also supported using HACS. It allows you to run and integrate the code easily with Home Assistant. You can also run Omnik datalogger as a service (systemd) or directy using the command line. AppDeamon can be installed from the Build-In app store that comes with Home Assistant.

Home Assistant Community Store (HACS)

HACS is the community store for Home Assistant. It is a custom integration that enables you to install tons of integrations, automation’s and themes. To install HACS, flollow the instructions on https://hacs.xyz. Using HACS is optional. You can also install Omnik data logger directly by placing the files in the right folder.

Clients

Omnik data logger has 4 clients that are to be used for data collection. You need to choose one:

  • omnikportal
  • Local proxy (with 3 plugins)
  • tcpclient
  • solarmanpv

Omnikportal

This client has the inital code base I used from the fork of Pascal Prins. It tries to get your inverters updates at configurable intervals and uses your omnik portal account to gain access to the API.

Solarman PV

This client works the same way the omnikportal client does, but uses a different API with better data quality. But this API is less secure. Like the omnikportal client, this client has a configurable polling interval and uses your omnik portal account to gain access to the API.

TCP client

This client is the only client I could not test my self and is based on the code of Wouter van de Zwan and polls your inverter directly at port 8899 at a configurable interval. The returned data (99 bytes) misses a tail but has the same format as the data that is forwarded statically to the SolarMAN logger services at 176.58.117.69:10004 (128 bytes).

Local Proxy

The local proxy client uses intercepted data to proces. It is helped by the omnikloggerproxy script that cat be setup else where in your local network. Your router need a static route of 176.58.117.69/32 (Subnet mask 255.255.255.255) to the local IP where you process the logging. You can run one ore more plugins at the same time, but running more then one plugin seems useless if you have only one to process the logging of one inverter.

tcp_proxy (local proxy plugin)

You can proces redirected logger traffic directly with the localproxy tcp_proxy plugin, but can also use omnikloggerproxy script and put that in between. Using this plugin directly requires that you can open port 10004 and can reroute the logger traffic. Since I use Home Assistant OS this is not something that is supported out of the box.

mqtt_proxy (local proxy plugin)

If you choose to use the omnikloggerproxy script, then you are encouraged to use the MQTT forwarding function of this script. This publishes a Datalogger topic on your MQTT server that you can subscribe to using this local proxy login. If you use AppDaemon to host your application, you can also use the hassapi plugin to get direct access to home assistant.

hassapi (local proxy plugin)

Available only when using Omnik data logger with AppDaemon and when using the Home Assistant Community Store (HACS). When installed with AppDaemon, Omnik Datalogger can be configured using the yaml config from Home Assistant and can use the Datalogger object created by the omnikloggerproxy script directly by specifying the entity of the object.

Output plugins

You can configure output plugins to publish your solar and DSMR data to MQTT, InfluxDB and pvoutput.org. A plugin for MySQL/MariaDB and CSV might follow later. Please let me know you have a need for this.

Documentation

See the advanced README.md at https://github.com/jbouwh/omnikdatalogger for more details on the configuration of Omnik datalogger and the omnikloggerproxy script. The wiki pages will help you choosing clients and plugins.