PH-803W Wassersensor mit WLAN

Da ich für meinen Ondilo ICO noch immer keine ordentliche Lösung für das Ladeproblem gefunden hab, bin ich vor einigen Wochen auf die Suche nach Alternativen gegangen. Die gibt es theoretisch zu Hauf, sind aber in vielen Fällen eher Bastellösungen.
Ich bin dann durch Zufall auf den PH-803W gestoßen. Wurde aber abgeschreckt, da das Teil nur mit der Cloud funktioniert. Bei meiner weiteren Suche stieß ich dann auf viele ander Nutzer aus der Poolszene, die das Gerät ebenfalls haben und sich auch an der Cloud gestoßen haben. Findige User stellten allerdings fest, dass das Teil über MQTT mit dem Server kummuniziert. Somit sollte ein umbiegen der DNS Anfrage reichen. Im iobroker bekommen sie die Daten dann mit einem MQTT Server.
Mal schauen wie das in IPS funktioniert, und ob es überhaupt funktioniert.
So schaut das Teil aus

Wenn das Teil in etwa 20 Tagen ankommt, werde ich das dann mal weiter verfolgen. Bin gespannt ob ich daraus was sinnvolles machen kann.

Nach 14 Tagen ist heute das Paket aus China angekommen. Super verpackt muss ich sagen. Da hätte sich ein Elefant drauf setzen können.
Natürlich gleich ausgepackt und angestekt. Das mit der App war ein herumgetue. Die App die im Appstore (es funktioniert nur mit Google) zu finden ist, ist komplett auf Chinesisch. In der englischen Anleitung ist aber eine App abgebildet, die auf englisch ist. Also gesucht und nicht gefunden. Ich hab dann sogar den Verkäufer angeschrieben, der sofort im Chat geantwortet hat. Ich fand dann am Ende der Seite einen QR-Code mit einem Link zum Download der App. Nachdem ich meinen piHole deaktiviert habe, hat auch der Download funktioniert und ich konnte alles einrichten. Also eh nur WLAN.
Als nächstes kam dann die Integration in IPS. Dazu muss aber die fixe IP - 119.29.42.117 - so umgeleitet werden, dass die Daten an den IPS Server geleitet werden. Nach etlichen Versuchen und viel nachlesen hab ich es geschafft auf meiner Zyxel USG20 das 1:1 NAT zum Laufen zu bringen. Zuvor hab ich blöderweise einen reinen MQTT Server in IPS angelegt. Da kamen zwar Daten rein, aber ich hatte keine Ahnung wie ich da ran komme. Die Doku von IPS schafft da Abhilfe. Man sollte einen MQTT Configurator anlegen, dann klappts auch mit der Anlage der Variablen.
Jetzt kommen Daten binär rüber. Glücklicherweise dürfte ein IPS User auch so ein Gerät haben und ich fand im ioBroker Forum eine Codeschnippsel.
Was soll ich sagen. Das ganze funktioniert wunderbar. Das Skript zum Aufbereiten daten Daten wird immer dann aufgerufen, wenn sich die Rohdaten ändern und ph und Redox Werte kommen an.
Das Sktip schaut folgendermaßen aus

<?php
$rohdaten = GetValue (25523);
$rohdaten_aufbereitet = bin2hex ( $rohdaten );
 
$redox =  (hexdec (substr ($rohdaten_aufbereitet, 24,2)) *256 + hexdec (substr ($rohdaten_aufbereitet, 26,2)) ) - 2000;
$ph    =  (hexdec (substr ($rohdaten_aufbereitet, 20,2)) *256 + hexdec (substr ($rohdaten_aufbereitet, 22,2)) ) / 100;
 
SetValue (45438, $ph);
SetValue (31795, $redox);

Und wer eine Zyxel hat, so schaut die Konfig aus. Funktioniert soweit, dass IPS mit dem Device reden kann (ping/pong)


Da ich zwei Internetleitungen habe, hab ich auch zwei NAT’s angelegt, da ich nicht weiß, über welche Schnittstelle sie raus gehen mag.