Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. PH-Messung

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    PH-Messung

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Chaosbrother last edited by Chaosbrother

      Das mal zur App vieleicht kann jemand was damit anfangen.
      https://docs.gizwits.com/en-us/AppDev/AndroidSDKA2.html#5-Device-control
      Dafür ist mein Englich zu schlecht. Wenn ich das richtig verstehe kann und darf man an der App was ändern mit
      Android Studio

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 @coyote last edited by apollon77

        @coyote Ok, I start to collect here the stuff I saw in the Wireshark:

        • (01) App sends a UDP broadcast with data "00 00 00 03 03 00 00 03" to port 12414

        • App sends MDNS query to 224.0.0.251 _%9E5E7C8F47989526C9BCD95D24084F6F0B27C5ED._sub._googlecast._tcp.local, "QU" question PTR _googlecast._tcp.local, "QU" question

        • (02) Device Answers with UDP message from port 12414 to App
          00:00:00:03:68:00:00:04:00:16:43:46:71:70:4a:54:53:79:6d:43:45:39:50:4c:6c:70:31:44:70:62:68:59:00:06:48:3f:da:87:dc:47:00:00:00:20:32:64:33:64:39:35:34:64:39:62:62:37:34:31:62:34:61:31:39:62:61:31:31:35:33:31:30:34:39:33:32:62:00:00:00:00:00:00:00:02:61:70:69:2e:67:69:7a:77:69:74:73:2e:63:6f:6d:3a:38:30:00:34:2e:30:2e:38:00
          ( hCFqpJTSymCE9PLlp1DpbhYH?ÚÜG 2d3d954d9bb741b4a19ba1153104932bapi.gizwits.com:804.0.8)

        • App connects to device on port 12416 and Device and App communicates on that port

        • (03) App sends 00:00:00:03:03:00:00:06

        • (04) Device answers: 00:00:00:03:0f:00:00:07:00:0a:X1:X2:X3:X4:X5:X6:X7:X8:X9:X0

        • (05) App sends : 00:00:00:03:0f:00:00:08:00:0a:X1:X2:X3:X4:X5:X6:X7:X8:X9:X0

        • (06) Device answers: 00:00:00:03:04:00:00:09:00

        • (07) App sends : 00:00:00:03:04:00:00:90:02

        • (08) Device answers: 00:00:00:03:0d:00:00:91:03:00:02:dc:08:9d:00:00:00:00

        • (09) App sends : 00:00:00:03:08:00:00:93:00:00:00:04:02

        • (10) Device answers: 00:00:00:03:11:00:00:94:00:00:00:04:03:00:02:dc:08:9d:00:00:00:00

        • (11) App sends : 00:00:00:03:03:00:00:15

        • (12) Device answers: 00:00:00:03:03:00:00:16

        ... and the last two repeat every 4s (seems like a ping/pong)

        Das passt grob spontan zu dem Protokoll von hier https://github.com/gizwits/gokit-GAgent/blob/master/software/lan/lan.c#L291

        • 00 00 00 03 sind immer die lokalen ersten Bytes
        • byte Nummer 8 ist das "Kommando" (also wenn App->Device) ... damit von oben
          • (---) code 01 -- UDP to device - onBoarding message ... 00 XX <XX bytes ssid> 00 YY <YY bytes ssidpwd> (unsure with 00xx/yy or if only xx/yy?)
          • (---) code 02 -- UDP from device - onBoarding response ... just as OK message
          • (01): code 03 -- UDP to device - Discover message
          • (02): code 04 ?? -- UDP from device - Discover response
          • (---) code 05 ?? -- UDP from device active broadcast from device
          • (03): code 06 -- TCP to device: user bind passcode; Device returns passcode for login command
          • (04): code 07 -- TCP from device: device answers with data and 10 chars as passcode
          • (05): code 08 -- TCP to device: user login : Device wants to see the same passcode as sent above
          • (06): code 09 -- TCP from device: login result: 00=ok, 01=error
          • (07): code 90 -- TCP to device: send p0 to uart ... schreibt "02" ans Device
          • (08): code 91 ?? TCP answer from serial?? 03:00 02:dc 08:9d 00:00 00:00
          • (09): code 93 ?? -- TCP to device - unknown 00:00:00:04:02
          • (10): code 94 ?? -- TCP from device - unknown 00:00 00:04 03:00 02:dc 08:9d 00:00 00:00
          • (11) code 15: -- TCP to device: "tick" aka ping
          • (12) code 16: should be "pong" then

        If we now would have info on the values on display vs data it would help 🙂

        • 02dc could be 732 with idea from above with /100 == 7,32 ... PH??
        • 089d could be 2205 with idea from above -2000 === 205 ... ORP?
          @coyote ??

        The two other 00 00 at the end could be the switch states ... but also would need to be verified.

        Ingo

        coyote 1 Reply Last reply Reply Quote 1
        • coyote
          coyote Most Active @apollon77 last edited by

          @apollon77 sounds good 😉

          Will do more test today with wireshark and and will write down the values from the display or take pictures.
          The switches cannot be triggered manually.
          The device is currently not in use by me, there are no probes connected, so the values are not directly plausible (ORP 0.2 etc.)

          1 Reply Last reply Reply Quote 1
          • A
            Anti @Marc R last edited by

            @marc-r Thats nice Marc-r. So the ESP just bring the Serial kommunikation to the Network. What I allready suspected but didn't checked. I think, like you, is the most simple way to flash the original ESP (or put a second one if you want to keep the original).

            for the completness: 9600 8N1

            I think I will make that, to don't have the MQTT in the middle.

            apollon77 Marc R 2 Replies Last reply Reply Quote 1
            • apollon77
              apollon77 @Anti last edited by apollon77

              @anti Why you dio not implement the LAN protocol? (or wait until I did?) For me personally hardware modifications are meeh ... but I think everyone has it's own opinion here 🙂

              But in gfact does not hatter ... so we need to dectode the values ... we know 4 bytes already 🙂 So assumption stay that the 2x 0000 at the end are the states of the switches

              1 Reply Last reply Reply Quote 1
              • Marc R
                Marc R @Anti last edited by

                @anti you mean load something like Tasmota on the existing ESP? I have a lot of Sonoff switches which I "tasmotized", so I know how that works, but I'm not sure if the PH-803W would be compatible?

                A 1 Reply Last reply Reply Quote 0
                • A
                  Anti @Marc R last edited by

                  @marc-r I'm not so deep in the MQTT/Tasmota Topic. So not sure what you can do with Tasmota, here in this use case we want to put a serial Input somewhere. When Tasmota can do that, you should be okay with that. I was thinking about a little Programm on ESP putting the serial e.g. on a Webpage. This is probably a few minutes programming Job. I think i prefare this, because my Pool also will be controlled by an ESP. If a Server is in the middle is one more thing that can fail.

                  But anyway i can wait if the other guys here find the "LAN Protocol" Solution. If i can use that from another ESP, i will probably make like this.

                  Well i just thought i can connect the 803W serial connect directly my control ESP ... this is also a good failsafe alternative.

                  1 Reply Last reply Reply Quote 1
                  • Marc R
                    Marc R last edited by

                    @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!

                    1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 last edited by

                      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 implementiere

                      Ich 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

                      C 1 Reply Last reply Reply Quote 2
                      • C
                        Chaosbrother @apollon77 last edited by

                        @apollon77 Respekt.👍 Aber ich versteh nur noch Bahnhof🙄 . Mal abwarten wie es weitergeht.
                        Trotzdem DANKE für die Info´s und deine Mühe

                        1 Reply Last reply Reply Quote 0
                        • apollon77
                          apollon77 last edited by apollon77

                          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

                          S 1 Reply Last reply Reply Quote 1
                          • S
                            SoerenKaiser99 @apollon77 last edited by

                            @apollon77
                            Coole Nummer 😄

                            Es ginge aber auch (ein wenig einfacher) mit nem Wemos D1 / NodeMCU und ner analogen PH Sonde :D... Nur so nebenbei 👍
                            Wemos D1 PH-Sonde

                            U apollon77 2 Replies Last reply Reply Quote 0
                            • A
                              Anti last edited by

                              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 😕

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                SoerenKaiser99 @Anti last edited by

                                @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!

                                1 Reply Last reply Reply Quote 0
                                • U
                                  UncleB @SoerenKaiser99 last edited by

                                  @soerenkaiser99 hast du ne Ahnung welche Sonde der Herr genau verwendet?

                                  S 1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 @SoerenKaiser99 last edited by

                                    @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 😉

                                    coyote S 2 Replies Last reply Reply Quote 1
                                    • coyote
                                      coyote Most Active @apollon77 last edited by

                                      @apollon77

                                      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
                                      
                                      apollon77 1 Reply Last reply Reply Quote 0
                                      • apollon77
                                        apollon77 @coyote last edited by

                                        @coyote Erwischt ... retry please

                                        coyote 1 Reply Last reply Reply Quote 0
                                        • coyote
                                          coyote Most Active @apollon77 last edited by

                                          @apollon77

                                          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!                │
                                             │                                                                │
                                             ╰────────────────────────────────────────────────────────────────╯
                                          
                                          
                                          apollon77 1 Reply Last reply Reply Quote 0
                                          • apollon77
                                            apollon77 @coyote last edited by

                                            @coyote Ja

                                            S 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            558
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            47
                                            432
                                            62495
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo