NEWS
PH-Messung
-
Hallo
Hat vieleicht jemand eine Idee , wie ich die Daten in den Iobroker bekomme und nicht in die Chinacloud?
Scheint ein Eps8266 verbaut zu sein.
Es handelt sich um dieses Teil. PH-803W (https://de.aliexpress.com/item/1005001297583199.html?spm=a2g0o.productlist.0.0.74816ce9CkewAY&algo_pvid=da15f797-fea6-4eee-9715-c6b71092575c&algo_expid=da15f797-fea6-4eee-9715-c6b71092575c-1&btsid=0b0a050b16140056883318857edd8f&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_)Das ist die App und Cloud dazu. (http://docs.gizwits.com/en-us/overview/overview.html)
Leider reichen meine Kentnisse dafür nicht aus , gibt auch was auf github dazu.Firmware auslesen und Server ändern? Denke aber das wäre zu einfach. Irgendwie muß man die Daten doch umlenken können , wie bei den Steckdosen oder ähnliches.
Danke
Gruß Chaosbrother -
Keiner eine Idee dazu?
-
Hi. My german skills are very limited but I belive I have a similar idea as you ask for.
I have a PH-803w connected and can read values in the accompanied app but that is about it.
What I would like is to publish this data to my MQTT broker and make use of it in a bigger IoT network. I.e. show it in my control panel for the entire home, or only allow chlorine dosing while the filter pump is running.When opening the device there is two pins from the ESP exposed, Rx/Tx, but yet I have not been able to read any data from them that makes sense. Normally those would be the flash program pins and debug logging and use serial interface. But regardless of Baudrate I try on my UART cable it seem only to be random values. More attempts to come, yet only look at it as ASCII, binary data is also a possibility.
Next way to tackle it is to connect the device over an network bridge (device <-> router <-> bridge <-> internet) with Wireshark or similar to sniff the traffic. At least it will expose the IP ports it used in the cloud communication, but likely the data will be over a secured socket and I'm stuck.
Feel free to comment my ideas or add new.
-
After some sniffing of network traffic it seem that the device connects without encryption to the gizwits cloud via MQTT which is good news.
I tried some MQTT connection attempts to the gizwits broker but had to roll back to python since MQTT Exorer is locked to v3.1.1 and the broker is on v3.1 (non-compatible).
I can connect but have issues with subscriptions. Some are acked bit no data received.After more googing I also found https://github.com/gizwits/gizwits-wechat-js-sdk which is my next attempt.
-
@chaosbrother
Actually, when reading your initial message I think I understand your request a bit more. You want the device to connect to a local MQTT broker instead of the GizWits?
When Wiresharking the communication at startup I see that it starts by a http request to m2m.gizwits.com/<xxxxx> (exact string lost for now but can find out). The response to this request is just a string with the MQTT and LOG servers.
If you have an advanced router or connect the devive through a gateway you could modify the request to go to a local server and respond with your own server adresses. -
@dala Thx for your research. Well I tried as well, but stuck at the moment. Came to the same conclusion. Something serial seems to going on inside. And the traffic from device, well i tried to redirect but at the moment unsuccessfull. It seems the device talk to that IP not to dns (what is with my router more easy to redirect). Well somehow i captured one connection try:
12.03.2021, 22:16:44 | RECEIVED [10.0.73.16:15872] | <DLE>H<NUL><ACK>MQIsdp<ETX>�<NUL>x<NUL><SYN>GveJm1SDYBZDwYb2MRaraO<NUL><SYN>GveJm1SDYBZDwYb2MRaraO<NUL><LF>SUYJJGWHGV
12.03.2021, 22:16:44 | RECEIVED [10.0.73.16:15872] | 10 48 00 06 4D 51 49 73 64 70 03 C2 00 78 00 16 47 76 65 4A 6D 31 53 44 59 42 5A 44 77 59 62 32 4D 52 61 72 61 4F 00 16 47 76 65 4A 6D 31 53 44 59 42 5A 44 77 59 62 32 4D 52 61 72 61 4F 00 0A 53 55 59 4A 4A 47 57 48 47 56
My goal is only to get the Values out of the device (without Cloud).
Ok I switch to german for the other guys, here is a connection procedure for IOS:
App Gizwits - das ist wohl mehr so allgemein für IOT Sachen, das Ding scheint aber damit erstellt worden zu sein
Add Device per Softap Config
nun die WLan Daten
Bei Prefix: XPG-GAgent
Typ ESP
Iphone zu dem XPG... Netz verbinden ... PW: 123456789Ab jetzt verbindet sich das Ding mit eurem Netz, wird in der App aber nicht angezeigt.
Gruß,
Jan -
Ok ich habs hinbekommen. Folgendes Vorgehen:
- Das Teil ins Netz einbuchen siehe oben.
- Die IP 10.0.73.16 "umbiegen" das Sie auf euren MQTT Server zeigt
- Bei mir hat er das Thema: dev2app/GveJm1SDYBZDwYb2MRaraO angelegt
- Der Inhalt ist BIN.
Die Interessanten Werte:
Stelle 20/21 HighByte PH 22/23 Low Byte PH das Ergebniss durch 100
Stelle 24/25 HighByte Redox 26/27 Low Byte Redox das Ergebniss minus 2000Das einzige was sich noch änderte war Stelle 18/19 vielleicht der Relay Status.
Hier mein PHP Code zur Auswertung (GetValue / SetValue gehört zu meiner Hausautzomation)
$a = GetValue (48525); $v = bin2hex ( $a ); //$b = GetValue (39583); //SetValue (39583,$b .PHP_EOL. $v); $redox = (hexdec (substr ($v, 24,2)) *256 + hexdec (substr ($v, 26,2)) ) - 2000; $ph = (hexdec (substr ($v, 20,2)) *256 + hexdec (substr ($v, 22,2)) ) / 100; SetValue (15804, $ph); SetValue (47325, $redox);
-
Hi
That all sounds great. Thank you very much for your effort.
If I have Mqtt in the Iobroker then I would only have to redirect the data there.
Sorry my English is not perfect.
I'll order a part like that and try to read out the firmware.
Gruß Chaosbrother -
@dala Hi.
yes that's exactly what I want to receive via mqtt.
But I don't get any further.
Thank you
Greeting chaosbrother -
@anti Hallo Jan
Hab schon im Poolpowershop gelesen von dir. Irgenwie steige ich nicht durch. Ich bestell mir mal das Teil und logge es in mein Wlan ein , dann muß ich weiter probieren.
Es ist doch ein Esp verbaut da muss doch eine bin drauf sein die man auslesen könnte oder sehe ich das falsch?
Gruß Chaosbrother.Sorry bin nocht recht neu in der Materie , hab erst seit Januar iobroker laufen , das geht aber schon recht gut.
Das mit der Messung geht aber schon ein bischen tiefer , so fit bin ich noch nicht. Hab auch schon über die EZO Teile gelesen , bekomme aber die Skteche mich kompiliert. -
Naja ich hab iobroker nicht. Hab hier nurgeschrieben, weil es das einzige Thema zu dem 803W war das ich finden konnte. Bei mir ist die MQTT in meiner Hausautomation eingebaut (IP-Symcon). Ich bin da auch nicht tief im Thema MQTT.
Ja im 803W ist ein ESP drin. Aber den auszulesen und reverseengeneering ... naja also das mach ich nicht. Man könnte wenn man Lust hat noch mal schauen, ob das was der ESP am seriellen Anschluss bekommt quasi identisch ist mit dem was nacher im MQTT String steht, dann wär es ja recht simpel ein eigenes Programm auf das Ding zu flashen, das das eben dahin schickt, wo man es habrn will.
Für mich ist die aktuelle Lösung gangbar. Allerdings wäre ich definitiv interessiert wenn jmd. das weiter analysiert.
Gruß,
Jan -
@anti Ok ich habs hinbekommen. Folgendes Vorgehen:
Das Teil ins Netz einbuchen siehe oben. Die IP 10.0.73.16 "umbiegen" das Sie auf euren MQTT Server zeigt Bei mir hat er das Thema: dev2app/GveJm1SDYBZDwYb2MRaraO angelegt Der Inhalt ist BIN.
So Gerät ist nun angekommen. Kannst du mir bitte etwas genauer erklären wie ich ins eingene Wlan komme. Blicke da nicht so durch wie du das meinst
Allesdings hab ich kein IOS nur Android. Hab das Teil noch nicht angeschlossen , das werde ich die nächste Zeit mal probieren.
Danke
Gruß Chaosbrother -
Hallo nochmal.
Stand bis jetzt. Das ph803w baut eine eigenes Wifi auf , so wie esp auch.
Sid= XPG-GAgent-47C2.
Um auf die Oberfläche de Config zu kommen braucht man aber einen Netzwerkschlüssel.
Das Passwort 123456789 geht. Allerdings verbinde ich mit dem Laptop zum Netzwerk nicht mit Gizwitz
Bin mit dem Wifi jetzt verbunden. Jetzt nur noch die IP von den Teil rausfinden , dann sollte man auf die Oberfläsche kommen. Denk ich mal.
Gruß Chaosbrother -
@chaosbrother
Bei mir ist die IP 10.10.100.254, einzig offener Port ist 80, mit dem Browser bekomme ich eine empty response. ich war nur mit dem Handy dran, konnte noch nicht mehr versuchen.Claudio
-
@johnbobjamesson hallo. Ja stimmt Ip und Gateway sind 10.10.100.254. Bekomme auch keine Rückantwort vom Gerät.
das heißt also weiterprobieren wie es sich mit dem Server verbindet. Irgendwo gibt es eine Möglichkeit. Wenn man wüsste ob in dem Esp noch Daten verarbeitet werden oder nicht , oder ob es nur als Sendeeinheit benutzt wird. Angeschlossen sind nur die Pins 0-Flash , 1-TX , 3-RX , 15-TX2 , Enable , Vcc und GND. Demnacht sollten die Daten im Gerät schon errechnet werden und dann nur gesendet werden an den Server.
Gruß Chaosbrother -
@chaosbrother wen ich mir die Dokumentation durchlese, gibt es aber wohl 2 Modi, wie Daten vom "device" zur app gelangen: remote über die IoTClout und direkte Datenübertragung zwischen GAgent und der App, wenn die im gleichen Subnet sind.
https://docs.gizwits.com/en-us/DeviceDev/GAgent.html#4-Send-commands-and-report-device-data
Die App fragt in der Cloud die Liste der devices an und dann im eigenen Netzwerk. Wenn im eigenen Netzwerk was antwortet, wird die Verbindung direkt hergestellt.
Das spiegelt sich bei mir in der App, wenn ich ins eigene Netz wechsele, ändert sich der Status des Gerätes von "remote" zu "LAN".
Claudio -
@johnbobjamesson Irgendwie steh ich auf dem Schlauch. Verstehe das ganze im Moment nicht so.
Welche App muß ich denn jetzt benutzen? Ich brauche die Daten in meinem Netzwerk damit ich sie mit Iobroker verarbeiten kann , auf der App brauche ich sie nicht , das hab ich ja via VPN auf der VIS.Update: Hab das mit der Org.App hinbekommen , ohne Registrierung wird in der App die Werte nun angezeigt. Hat auch eine IP im Netzwerk bekommen. Wie leite ich die jetzt auf den Iobroker um? Wenn ich die IP eingebe im Browser bekomme ich kein zugriff.
-
@johnbobjamesson Hallo,
Da ich auch Interesse an der Anbindung des Sensors an meinen IoBroker habe, wollte ich mal fragen wie es bei euch funktioniert.
Sg.
Gerald -
@gerald123 Hallo
Bin aktuell noch nicht weiter gekommen. Werte bisher nur in der App ohne Cloud. Man müsste den ESP auslesen , das man sieht was auf Tx/Rx passiert. Evtl die IP-Adresse ändert. Nur mal so als Gedanke. -
Bin ebenfalls an einer Lösung für die Integration in ioBroker interessiert