Logger verkeer onderscheppen met Omnik datalogger

Je kunt hier een `proxy` script vinden dat je kan helpen om de data logging van je omvormer te onderscheppen.

Wees er je van bewust met het onderscheppen dat de logging niet langer niet langer zal worden afgeleverd naar de logging servers van Solarman tenzij je het verkeer alsnog hiernaartoe doorstuurt.

Hoe het onderscheppen werkt

Door het herrouteren van het verkeer voor ‘176.58.117.69’ naar de computer waarop omniklogger.py of omnikloggerproxy.py draait en het gebruik van Network Address Translation, simuleren we de Solarman logger server en verwerken wij de data ipv de Solarman logging servers.

Het herrouteren wordt gedaan in je router, die de standaard/default gateway is in je netwerk. Ik gebruik een Fritz!Box in dit voorbeeld.

Herrouteren wordt geconfigureerd door het toevoegen van een statische route voor 176.58.117.69 naar het interne IP-adress van het systeem waarop de NAT regels/configuratie zijn aangebracht en waar and het omnikloggerproxy.py of omniklogger,py script draait.

Voorbeeld van het toevoegen van een statische route op een Fritz!Box:

Log in op je router en ga naar de Network pagina en klik op Settings.
Klik op IPv4 Routes onder het kopje Static Routing Table
Voeg een statische route toe met subnet mask 255.255.255.255 (/32) naar de host waarop je script draait.

Zie de commentaar in het voorbeeld script voor meer details in het gebruik van omnikdataloggerproxy. P.s. Het gebruik van iptables op een Synology NAS wordt officieel niet ondersteund. De NAS zou de iptables kunnenherlden bij een update of tijdens security checks. Een optie is het gebruik van een tweede script dat dagelijks draait voor zonsopgang en de iptables opnieuw activeert om te borgen dat de Network Address Translation juist wordt uitgevoerd.

Een voorbeeld (bash) om de iptables-regels te configureren:

#! /bin/bash LOCAL_IP="192.168.1.x" DEST_PORT="10004" OMNIK_LOGGER_ADDRESS="176.58.117.69" # Flush bestaande NAT-regels iptables -t nat -F OUTPUT iptables -t nat -F PREROUTING # Stel NAT-REGELS correct in iptables -t nat -A PREROUTING -p tcp -d $OMNIK_LOGGER_ADDRESS --dport $DEST_PORT -j DNAT --to-destination $LOCAL_IP:$DEST_PORT iptables -t nat -A OUTPUT -p tcp -d $OMNIK_S -j

Pas LOCAL_IP aan op het IP-adres van de host in uw interne netwerk die wordt gebruikt voor de herroutering.

Als je de beschikking hebt over een extra Raspberry PI dan zou mijn advies zijn om hierop de NAT regels en het onderscheppen van het logger verkeer te configureren, dit om issues op je Synology te voorkomen.

De logging naar Omnik/Solarman portal behouden

Het omnikloggerproxy.py script staat je toe om het de logger data te onderscheppen, deze om te zetten naar een MQTT bericht, waarbij het beriht nog steeds en ookdoorgezet kan worden naar de logging servers in de cloud. Het enige probleem is dat door met het herrouteren van het verkeer voor ‘176.58.117.69’ naar een lokaal adres dit ook het forwarden lastig maakt. Met een extra tussenstap kun je de updates toch ook forwarden naar de servers van SolarMan. Als je de mogelijkheid hebt om omnikloggerproxy.py ook op een systeem elders op het Internet te draaien, dan zou je namelijk nog steeds de datalog van je omvormer hier ook naar kunnen doorsturen., aangezien deze een andere IP-adres heeft. De tweede script instantie stuurt het vervolgens door naar het SolarMAN portal. This scenario wordt ondersteund. De tweede instantie van omnikloggerproxy.py moet het verkeer het verkeer naar 176.58.117.69:10004 via TCP zodat het zal worden afgeleverd naar de Solarman infrastructuur en beschikbaar komt in https://www.solarmanpv.com/portal.