Omnik datalogger

Omnik datalogger is my solar project on Github that enables you to do more with your Omnik Solar System logging. The manual page/documentation has been updated and there is a now a wiki for more information (Note: The wiki is still onder development). Thanks to Pascal Prins who’s wrote the initial code base. His project used the omnik portal API, which now is no longer available. Many installed a Omniksolar PV system with a wireless datalogger to enable reporting at https://www.omnikportal.com. Over the years this portal supplied reporting for your Omnik solar system. Now this functionality is still available at https://www.solarmanpv.com/portal. Many users now have a home automation system installed and want to do more with their solar data. Others want to use other reportings tools that process there solar power data. Omnik datalogger can help you achieve this. Omnikdatalogger can export Omnik inverter data to pvoutput , an Influxdb database or publish at an MQTT broker. For Home Assistant auto discovery is supported.

How does it work

Omnik datalogger can retrieve the data from the SolarmanPV portal (the infrastructure behind Omnik portal). You can register your inverter on Solarman portal to be able to use this software using the build-in the portal clients, but you can also use omnikdatalogger without the portal . Some older Omnik inverters doe not have a possibility to get the data directly, some types do, but if not the portal seems the only place you can collect the submitted data. My inverter (installed October 2012) is of that older type, and cannot be accessed directly to get the actual data. All Omnik inverters sends an update to a fixed IP ‘176.58.117.69’ about every 5 minutes (approx. 310 seconds). This IP address seems to be part of infrastructure the Solarman. Omnikdatalogger can intercept this traffic using the localproxy client. This will completely bypass the Solarman infrastructure, but needs some advances skills.

Using tcpclient

If you own a newer inverter (introduced in 2013 or later) that supports local readout at port 8899, you are advised to try the tcpclient. This will enable polling your inverter as many times as you want, not being limitted to a 5 minute interval. A big advantage is that you will not rely on the SolarmanPV infrastructure. Further you do not need to intercept the network traffic, which requires advanced skills. If your Omnik WiFi logger is supported, you now can use the buit-in tcpclient to poll your inverter directly. Not all inverters support this method, but is worth it to try this method first before switching to interception. Thanks to Han Lubach this method could be tested. If you have any problems or questions, please let me know!

Intercept the logger data with localproxy client

The inverter sends data updates to the fixed IP ‘176.58.117.69’ that can be intercepted on your local network. The traffic is not encrypted and is decodable using the Omnik-Data-Loger project of Wouter van der Zwan. The code to intercept I have adapted from t3kpunk at Github. An additional proxy script will help to support this. My logger sends updates approximately every 305 seconds.

The new localproxy client together with this proxy script will help to set this up. This new client has 3 plugins (hassap, mqtt_proxy and tcp_proxy) and integrates with the proxy script through AppDaemon and Home Assistant with the hassapi client plugin. The mqtt_proxy client plugin allows to montor MQTT for the changes of the proxy script. Direct logging is supported using the tcp_proxy client plugin.

Read more here about intercepting.

Using Solarman PV API (fallback)

Solarman still provides the data logging for omnik portal users with the portal at SolarMAN. Solarman announced that it will be providing this service for free till the end of the year. But the period after that is still unclear. The portal at SolarMAN can still be accessed using the same login credentials that ware used at the Omnik portal. There is 1 API’s Omnik datalogger supports to fetch the data collected from your inverter.

  • solarmanpv client http://www.solarmanpv.com:18000/SolarmanApi/serverapi

The solarmanpv API has one disadvantage: The API is not secure. On every API call, the password needs to be supplied. This API enables to readout the inverters serial number but wel will need to specify the plant ID. Fortunately this value can be found in the URL when you log into the portal:

https://www.solarmanpv.com/portal/Terminal/TerminalMain.aspx?pid=plant_id

Fortunately this value can be found in the URL when you log into the portal

Getting your logger data using these API’s has some disadvantages:

  • You need to poll at an interval of about 310 seconds, but it make take longer before the data becomes available.
  • The API might be down or show the last value.
  • No secure access.

This architecture view show how the application works and how the different clients and plugins work

Support voor Dutch Smart Meter (P1 port)

The latest version of Omnik data logger now has possibility to calculate consumption data using the DSMR P1 port. This meter is applied in the Netherland and Belgium and provides in my case net power statistics (every 10 seconds) and gas statistics (every 5 minutes). The combination with the Omnik solar data makes it possible to calculate the enegry and power consumption. Additional direct use and total consumption can be calculated and published to Influx DB of MQTT. With MQTT Home Assistants MQTT auto discovery is supported.

PVoutput.org

PVoutput.org is modern and free portal for owners of a PV-system. It is quite popular, and many users send there solar data to this portal. Omnik data logger enables you to send your realtime data to pvoutput.org. With direct access inverter temperature and voltage can be supplied as well. With the brand new DSMR integration, now you can also send your energy consumption data!

MQTT output

When you have a home automation system setup like Home Assistant, OpenHAB or Domiticz your are probably familiar with MQTT. This IoT messaging bus protocal enables easy automation using your realtime data as a sensor. Omik datalogger can produce MQTT sensors (including DSMR en DSMR gas entities and combined consumption data) which automatically can be discovered by Home Assistance (MQTT auto discovery) and of course can be used with your favorite MQTT supporting home automation system

InfluxDB

Support dor InfluxDB have been added, and is now available. Thanks to lepirlouit. DSMR data and combined consumption data can also be logged to InfluxDB.

Installing Omnik data logger

HACS Compliant

Home Assistant Community Store is the community store plugin for Home Assistant. Omnik datalogger is included in the default HACS store. To install Omnik Datalogger with the Home Assistant Community Store HACS.

  • Install the official AppDaemon plugin from the Home Assistant store.
  • Install HACS (see HACS website)
  • Select Automations and add an automation.
  • Find Omnik Data Logger and install it

Before you can use Omnik Data Logger via AppDaemon/HACS make sure you prepare the yaml configuration (/config/appdaemon/apps/apps.yaml). After performing updates to your configuration or after a software update do not forget to restart AppDaemon an check the log.

For more details on installation and configuration see the Github homepage and wiki of the project.

Docker builds

Docker builds for omnik data logger and the proxy script are available:

  • Omnik data logger: jbouwh/omnikdatalogger:latest
  • Omnik data logger proxy: jbouwh/omnikdataloggerproxy:latest

Install using PIP

If you have a local Python environment you can use pip.

Omnik data logger: pip3 install omnikdatalogger or python -m pip3 install omnikdatalogger

Omnik data logger proxy: pip3 install omnikdataloggerproxy or python -m pip3 install omnikdataloggerproxy

Homepage omnik datalogger & omnikdataloggerproxyhttps://github.com/jbouwh/omnikdatalogger
https://github.com/jbouwh/omnikdataloggerproxy
wikihttps://github.com/jbouwh/omnikdatalogger/wiki