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.
The omnikportal client and the specialized Omnik PV services (and API’s) are no longer available since the 19th of april 2021
AppDaemon
Integration with AppDaemon 4 is optional and is also supported using HACS. This is not supported with the docker builds. It allows you to run and integrate the code easily with Home Assistant and makes sure you alwas have the latest version running. You can also run Omnik datalogger using Docker or install using PIP and install as a service (systemd).
The AppDeamon Addon can be installed from Home Assistants Build-in Add-on app store (Supervisor Menu) that comes with Home Assistant. The Add-on store will be only available if you install Home Assistant as a supervised platform with Home Assistant OS.
Home Assistant Community Store (HACS)
HACS is the community store for Home Assistant. It is a custom integration (NOT supported bij Home Assistant) 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 with AppDaemon without HACS, directly by placing the files in the right folder, but that is not advisable.
Clients
Omnik data logger has 3 clients that are to be used for data collection. You need to choose one, since they can not be combined when you have multiple inverters:
- Local proxy (with 3 plugins)
- tcpclient
- solarmanpv
The omnikportal client is not available any more in the latest versions
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, but can be handy for debugging.
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. With Home Assistant OS this is not something that is supported out of the box, so the omnikloggerproxy script should run on a different platform.
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. There are Dutch Only Wiki pages at this site as well.