NEWS
PH-Messung
-
@anti Tasmota is an awesome open-source firmware for all kinds of ESP8266 devices to connect them via MQTT to automation systems such as Home Assistant and others. Have a look here: https://tasmota.github.io/docs/
I virtually loaded it on about 60 devices so far, but try are Sonoff and Shelly switches and I'm not sure how the PH-803W would handle it.
I'm just adding this as another alternative to the paths you guys are already following. I'm not saying it's better or worse. If you guys find a fairly simple way to send the PH-803W data to MQTT, I'm all for it!
-
Ok, mit weiteren Wireshark Mitschnitten von @coyote bin ich denke etwas weiter ... immer noch viele Annahmen, daber die kann man dann ja mal verifizieren. habe auch eine vermutung wo die Schaltwerte stecken (Bit flags) und würde tippen das andere Bits da drin vllt im Display für Anzeigen genutzt werden ...
Ich habe mal alles unter https://github.com/Apollon77/node-ph803w/blob/main/PROTOCOL.md zusammengefasst.
Als nächstes schaue ich mal das ich das als node.js Library implementiereIch habe auch für "unsere ESP Freunde" mal eine vermutete minimale Kommunikation unter https://github.com/Apollon77/node-ph803w/blob/main/PROTOCOL.md#minimum-interaction-scheme aufgeschrieben ... wäre zu verifizieren ...
Have fun
-
@apollon77 Respekt. Aber ich versteh nur noch Bahnhof . Mal abwarten wie es weitergeht.
Trotzdem DANKE für die Info´s und deine Mühe -
Ok, dann mal nächster Schritt ... ich hab mal was gebaut.
- Man nehme am besten einen Rechner wo nodejs drauf ist (also der von iobroker ist super)
- per SSH einloggen und in das Vezeichnis gehen
- Man lege sich ein neues Verzechnis an, am besten direkt im User-Verzeichnis (also NICHT!! in /opt/iobroker)
npm install Apollon77/node-ph803w
cd node_modules/node-ph803w/example
node data.js 111.222.333.444
(mit 111.222.333.444 die IP des PH803W Geräts im lokalen Netzwerk
Dann sollte sich das Beispielskript verbinden, Passcode holen, einloggen und jede Datenänderung die es gibt sollte eine Logzeile geben mit den Werten. Eine Datenzeile muss in jedem Fall kommen - hoffentlich mehr sobald sich was ändert. Das nehme ich gern mal.
Falls irgendwas nicht geht bitte mal unter Linux mit
DEBUG=ph803w* node data.js 111.222.333.444
starten, dann sollte mehr log kommen.Zu testen ist:
- Das die werte mit dem Display passen und idealerweise auch was die "Schaltzustände" angeht
- Das bei Änderungen neue Werte kommen (es ist immer noch ein bissl unklar welches Kommando das auslöst)
- Die zwei "binFlag1/2" Felder haben vermutlich eine Verbindung zu DIngen im Display (annahme). Das wäre zu prüfen und hier schreiben zu was was gehört
Dann schauen wir mal wie gut blindes Programmieren so tut
Ingo
-
@apollon77
Coole NummerEs ginge aber auch (ein wenig einfacher) mit nem Wemos D1 / NodeMCU und ner analogen PH Sonde :D... Nur so nebenbei
Wemos D1 PH-Sonde -
Wo bleibt denn da der Spaß?
Nein ist natürlich auch ein weg. Hab sowas sogar hier liegen war irgendwie nie dazu gekommen das weiterzuverfolgen
-
@anti weis ich doch. War ein wenig ironisch gemeint Versteh schon.. Herrausforderung und so.
Hatte ich auch vor... Bin dann aber die Tage mangels Zeit umgeschwenkt. Jetzt regelt die phileo den pH wert, n shelly steuert den Chlorinator und die Pumpe ( danke an paul ) und n blueconnect sendet stündlich die Daten ... läuft! -
@soerenkaiser99 hast du ne Ahnung welche Sonde der Herr genau verwendet?
-
@soerenkaiser99 ich denke nur eine Sonde ist einfacher als zwei weil die challenges bei zwei Sonden sind größer wegen galvanischer Trennung und Dingen das sich die Sonden nicht gegenseitig beeinflussen. Aber ja.
Ich persönlich bastele lieber mit Software als mit Hardware (hab gelernt das ich bei Zweiterem für mich ein besseres Aufwand-nutzen-Frust Verhältnis habe) ;-)) ich hab bei mir auch in Summe drei arduinos im Haus verbaut für Dinge und hoffe das geht nie wieder kaputt weil ich fadt nicht mehr weiß wie das alles war und worauf ich achten muss
-
Wollte mal installieren, aber...
/home/coyote/ph803w# npm install Apollon77/node-ph803w npm ERR! Can't install github:Apollon77/node-ph803w#f51066522bac3a191b11010126e6aaf2ccf48e7f: Missing package version npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2021-05-28T05_48_51_894Z-debug.log
-
@coyote Erwischt ... retry please
-
Schätze das ist ok so:
root@debian:/home/coyote/ph803w# npm install Apollon77/node-ph803w npm WARN saveError ENOENT: no such file or directory, open '/home/coyote/ph803w/ package.json' npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN enoent ENOENT: no such file or directory, open '/home/coyote/ph803w/pac kage.json' npm WARN ph803w No description npm WARN ph803w No repository field. npm WARN ph803w No README data npm WARN ph803w No license field. + node-ph803w@0.0.1 added 3 packages from 4 contributors and audited 3 packages in 4.175s found 0 vulnerabilities ╭────────────────────────────────────────────────────────────────╮ │ │ │ New major version of npm available! 6.14.12 → 7.15.0 │ │ Changelog: https://github.com/npm/cli/releases/tag/v7.15.0 │ │ Run npm install -g npm to update! │ │ │ ╰────────────────────────────────────────────────────────────────╯
-
@coyote Ja
-
Hab keine Sonden angeschlossen, aber soweit siehts gut aus. Ich freu mich auf den adapter
Data: {"binFlags1":"11","binFlags2":"10","ph":7.77,"redox":-44,"phSwitch":false,"redoxSwitch":true} Data: {"binFlags1":"100","binFlags2":"10","ph":7.76,"redox":-44,"phSwitch":false,"redoxSwitch":true} Data: {"binFlags1":"100","binFlags2":"10","ph":7.76,"redox":-38,"phSwitch":false,"redoxSwitch":true} Data: {"binFlags1":"100","binFlags2":"10","ph":7.77,"redox":-68,"phSwitch":false,"redoxSwitch":true} Data: {"binFlags1":"100","binFlags2":"10","ph":7.8,"redox":-69,"phSwitch":false,"redoxSwitch":true} Data: {"binFlags1":"100","binFlags2":"10","ph":7.81,"redox":-70,"phSwitch":false,"redoxSwitch":true} Data: {"binFlags1":"100","binFlags2":"10","ph":7.83,"redox":-72,"phSwitch":false,"redoxSwitch":true} Data: {"binFlags1":"100","binFlags2":"10","ph":7.83,"redox":-73,"phSwitch":false,"redoxSwitch":true} Data: {"binFlags1":"100","binFlags2":"10","ph":7.82,"redox":-73,"phSwitch":false,"redoxSwitch":true}
-
@skinni Cool, Danke, Passen auch die Schalter-Zustände?
Und ja jetzt wäre jemand mit Sonden im Wasser durchaus cool der mal mehr vergleichen kann was die Anzeigen im Display und Schaltzustände angeht und so
-
@apollon77 Zustände passen, PH ist aus, ORP ist an
-
Mega Das sieht schon sehr gut aus. Muss @skinni zustimmen, passt alles soweit, auch die Schaltzustände. Gute Arbeit Apollon
-
Hier hat sich ein Schaltzustand geändert
Data: {"binFlags1":"100","binFlags2":"10","ph":7.15,"redox":6,"phSwitch":false,"redoxSwitch":true} Data: {"binFlags1":"100","binFlags2":"0","ph":7.12,"redox":51,"phSwitch":false,"redoxSwitch":false}
und wieder zurück
Data: {"binFlags1":"100","binFlags2":"0","ph":7.22,"redox":-2,"phSwitch":false,"redoxSwitch":false} Data: {"binFlags1":"100","binFlags2":"10","ph":7.22,"redox":-2,"phSwitch":false,"redoxSwitch":true}
-
@coyote was idealerweise noch fehlt ist die Verbindung zwischen dem „binFlag1“ Inhalt und dem Display oder so herzustellen. Bisher kennen wir nur die Bedeutung der zwei Bits von binFlag2.
Aber denke da muss man echt mal mehr anschauen wenn sich da mal Dinge ändern.
@coyote bei dir hatte sind bei dem einen Test mit Wasser letztens 3 Bits in dem binFlag1 geändert über die Zeit. Meine Vermutung ist das das Display anzeigen sind. Also beobachtet bitte mal in die Richtung ob es da Zusammenhänge gibt. Dann hätten wir noch mehr Infos.
Als Nächstes würde ich noch discovery einbauen um die Geräte im Netzwerk zu finden. Und dann kann man da nen adapter zusammenklöppeln.
Achja: testet bitte auch mal den Auto reconnect. Also schaltet gerät aus während lib verbunden ist und wieder an und schaut das danach wieder Daten kommen.
Bitte vor dem Test nochmal die aktuellste Version installieren (das npm install nochmal machen)Danke
-
Reconnect hatte vorhin nicht geklappt, das hatte ich als erstes versucht. Dachte soweit sind wir noch nicht.
Update geht leider nicht:
npm install Apollon77/node-ph803w npm ERR! code ENOSELF npm ERR! Refusing to install package with name "node-ph803w" under a package npm ERR! also called "node-ph803w". Did you name your project the same npm ERR! as the dependency you're installing? npm ERR! npm ERR! For more information, see: npm ERR! <https://docs.npmjs.com/cli/install#limitations-of-npms-install-algorithm> npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2021-05-28T07_30_16_009Z-debug.log