Omnik datalogger

Omnik datalogger is mijn solar project op Github wat het voor jou mogelijk maakt om meer te doen met de logging van jouw Omnik Solar syteem. Omnik data logger WIKI pagina's voor meer informatie (Engelstalig). (Note: De wiki is nog in wording). Met dank aan Pascal Prins die de basis voor de huidige programma code schreef. Zijn project maakte gebruik van de omnik-portaal API, die nu niet langer beschikbaar is. Velen hebben hun Omnik installatie hier geregistreerd met een WiFi datalogger om rapportages mogelijk te maken op https://www.omnikportal.com. Vele jaren heeft dit portaal zijn taak vervult van uit Omnik georganiseerd. Nu is deze functionaliteit voorlopig nog besschikbaar via https://www.solarmanpv.com/portal. Vele gebruikers hebben inmiddels ook een home automation systeem in huis en willen meer doen met de data van hun zonnepanelen. Anderen willen andere dashboards gebruiken die de data van hun zonnepanelen kan verwerken. Omnikdatalogger helpt om ze Omnik inverter gegevens te exporteren naar pvoutput , een Influxdb database of die te publiceren naar een MQTT server. Voor Thuisassistent wordt MQTT auto discovery ondersteund.

Hoe werkt het

Omnik datalogger kan de data van Solarman (de infrastructuur provider achter Omnik portaal). Je kunt je inverter daar nog steeds registreren zodat je nog steeds het portaal kunt gebruiken omdat zij altijd al de infrastructuur hebben geleverd voor Omnik. Sommige oudere inverters van Omnik hebben niet de mogelijkheid om deze rechtstreeks uit te vragen, nieuwere types kunnen dit wel, maar als dit niet ondersteund wordt lijkt het portaal de enige plek waar je je data kunt inzien. Mijn inverter (geïnstalleerd in oktober 2012) is zo'n ouder type, en kan niet rechtstreeks worden benaderd voor de actuele data. Alle Omnik inverters schijnen elke 5 minuten (ca. 310 seconden) hun updates echter naar een vast IP adres te sturen ‘176.58.117.69’, een IP adres van Solarman. Omnikdatalogger kan dit verkeer onderscheppen door gebruik te maken van de localproxy client in omnikdatalogger. Hiemee wordt de Solarman infrastructuur volledig omzeilt, maar zijn er wat meer geavanceerde vaardigheden nodig om dit voor elkaar te krijgen.

De tcpclient gebruiken

Als je de gelukkige eigenaar bent van een nieuwere inverter (gemaakt in 2013 of later) en deze luistert deze naar tcp poort 8899, dan wordt je geadviseerd om de tcpclient te gebruiken. Die zal het mogelijk maken om je inverter(s) uit te lezen op een vaste interval, zo vaak als wenselijk is, dus niet beperkt tot de 5 minuten waarbij het apparaat zelf zijn data verstuurd. Een groot voordeel is verder dat je niet afhankelijk bent van de SolarmanPV infrastructuur in de cloud. Verder hoef je het netwerkverkeer niet te onderscheppen, waarvoor je meer geavanceerde vaardigheden nodig hebt. Als je Omnik WiFi logger wordt ondersteund, dan kun je dus de ingebouwde tcpclient van omnikdatalogger gebruiken om je inverter(s) uit te lezen. Niet alle inverters zullen deze methode dus ondersteunen, maar het is de moeite waard om het te proberen alvorens over te stappen op het onderscheppen van het verkeer met de localproxy client. Met dank aan Han Lubach die mij heeft geholpen heeft met testen om tcpclient werkend te krijgen. Als je nog problemen ondervindt of vragen hebt, laat het mij dan weten.

Onderscheppen van logger data met de localproxy client

De inverter stuurt data updates naar het vaste IP adres ‘176.58.117.69’ die op uw lokale netwerk kunnen worden onderschept. Het verkeer is niet versleuteld en is decodeerbaar met behulp van de Omnik-Data-Loger project van Wouter van der Zwan. De code voor het onderscheppen heb ik overgenomen van t3kpunk via Github. Een aanvullen proxy script zal helpen om om dit te ondersteunen. Mijn inverter stuurt updates ca. elke 305 seconden.

De nieuwe localproxy client, samen met dit proxy script zullen helpen om dit mogelijk te maken. De nieuwe client heeft 3 plugins (hassapi, mqtt_proxy en tcp_proxy) en integreert met het proxy script, ook via AppDeamon en Home Assistant met de hassapi client plugin. De mqtt_proxy client plugin maakt het mogelijk om via MQTT status updates te monitoren die door het proxy script zijn onderschept. Ook zonder proxy script kan direct worden onderschept door de tcp_proxy client plugin te gebruiken.

Lees hier meer over het onderscheppen (Engels).

De SolarmanPV API gebruiken (fallback scenario)

Solarman biedt nog steeds datalogging services aan voor omnik portal gebruikers via Het portaal van SolarMAN via. Solarman heeft aangekondigd de dienst nog tot het einde van het naar (2021) gratis aan te bieden, maar daarna blijft het onzeker. Het portaal van SolarMAN via kan nog steeds worden gebruikt met de zelfde inloggegevens als die voor Omnik portal golden. Er is 1 API bij mij bekend die nog kan worden gebruikt om met dit account de actuele data te verzamelen van je omvormer.

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

De solarmanpv API heeft een belangrijk nadeel. De API is niet veilig. Bij elke aanroep van de API wordt het wachtwoord onversleuteld aangeboden. De API maakt het mogelijk om voor een specifieke 'plant_id', wat je wel zelf moet opgeven, de actuele data op te vragen. Gelukkig is het 'plant_id' wel gemakkelijk af te leiden van de URL die je ziet als je inlogt op het portaal:

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

Gelukkig is het 'plant_id' wel gemakkelijk af te leiden van de URL die je ziet als je inlogt op het portaal

Het verkrijgen van je data via de API heeft dus wat nadelen:

  • Ongeveer elke 310 sec moet je de actuale waarde opvragen, maar soms kan het ook langer duren voor dat de data beschikbaar komt.
  • De API kan uit de lucht zijn of niet de laatste actuele stand weergeven.
  • Geen veilige toegang.

Deze architectuurplaat laat zien hoe de applicatie werkt en hoe de verschillende plugins werken (alleen Engels)

Ondersteuning voor de Nederlandse Slimme meter (DSMR via P1 poort)

De laatste versie van van Omnik Data Logger heeft nu de mogelijkheid om het (werkelijke) verbruikt te berekenen door gebruik te maken van de data van de slimme meter. Deze meter geeft ca. elke 10 seconden een update van het elektricteits gebruik (en gas gebruik elke 5 munuten). De combinatie van met Omnik data logger maakt het mogelijk om het werkelijke energie gebruik en (netto) vermogen uit te rekenen. Aanvullend wordt direct verbruik en totaal verbruik berekend. De resultaten kunnen, en dus ook de slimme meter data, kunnen worden geëxporteerd naar Influx DB of MQTT. Via MQTT kan Home Assistant die via MQTT auto discovery automatisch herkennen wat gemakkelijke adoptie mogelijk maakt.

PVoutput.org

PVoutput.org is een modern en gratis portaal for eigenaren van zonnepanelen. Het is erg populair en veel gebruikers koppelen hun PV data aan dit portaal. Omnik data logger maakt het mogelijk om realtime data naar pvoutput.org te sturen. Met directe toegang kan ook de temperature van de omvormer en de net spanning worden meegestuurd. Met de nieuwe slimme meter integratie kun je nu ook je energy verbruik publiceren op pvoutput.org.

MQTT-uitvoer

Wanneer je beschikt over een home automation platform als Home Assistant, OpenHAB of Domoticz, dan ben je waarschijnlijk bekend met MQTT. Dit IoT berichten dienst protocol maakt het mogelijk om eenvoudig je sensoren realtime aan te sluiten. Omnik data logger maakt van de data van je zonnepanelen en slimme meter (incl. gas verbruik) MQTT sensors, ook voor je (netto) verbruik. Zoals gezegd zal Home Assitant dit automatisch herkennen via MQTT discovery.

InstroomDB

Ondersteuning voor InfluxDB is toegevoegd met dank aan lepirlout. DSMR data en gecombineerde verbruiks data kan nu via een InfluxDB worden vastgelegd.

Omnik data logger installeren

HACS-compatibel

Home Assistant Community Store is de community store plugin voor Home Assistant. Omnik datalogger standaard toegevoegd in the default HACS store. Om Omnik Datalogger met Home Assistant Community Store te installeren HACS.

  • Installeer de officiële AppDaemon plugin van de Home Assistant store.
  • Installeer HACS (zie HACS website)
  • Selecteer Automatisering en voeg met + een automatisering toe.
  • Vind Omnik Data Logger en installeer deze.

Vind Omnik Data Logger en installeer deze.

Voor meer details over installatie en configuratie zie de Github Startpagina en Omnik data logger WIKI pagina's van het project.

Docker images

Docker images voor omnik data logger en het proxy script zijn beschikbaar:

  • Omnik datalogger: jbouwh/omnikdatalogger:laatste
  • Omnik datalogger proxy: jbouwh/omnikdataloggerproxy:laatste

Installatie met PIP

Als je een lokale Python omgeving hebt geïnstalleerd dan kun je PIP gebruiken voor de installatie.

Omnik datalogger: pip3 installeer omnikdatalogger of de python -m pip3 installeer omnikdatalogger

Omnik datalogger-proxy: pip3 installeer omnikdataloggerproxy of de python -m pip3 installeer omnikdataloggerproxy

Startpagina omnik datalogger & omnikdataloggerproxyhttps://github.com/jbouwh/omnikdatalogger
https://github.com/jbouwh/omnikdataloggerproxy
Omnik data logger WIKI pagina'shttps://github.com/jbouwh/omnikdatalogger/wiki