Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. EZOGateway; Watermonitoring

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    EZOGateway; Watermonitoring

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      JohnnyBahama @paul53 last edited by

      @paul53 sagte in EZOGateway; Watermonitoring:

      @JohnnyBahama sagte:

      über den SIMPLE-API Adapter einbinden, ist der Gedankengang richtig?

      Die Simple-API des ioBrokers erlaubt den Zugriff auf ioBroker-Datenpunkte über das Netzwerk von außen. Auf die Daten des EZOGateways sollte man per request() (Javascript-Adapter) zugreifen können.

      const url = 'http://<IP address>/api/fetch'; // IP-Adresse eintragen !
      const idTemp = '0_userdata.0.EZO.Temperatur';
      const idPH = '0_userdata.0.EZO.PH-Wert';
      const idRedox = '0_userdata.0.EZO.Redox-Potential';
      
      schedule('* * * * *', function() { // jede Minute
          request(url, function(error, response, result) {
              let obj = JSON.parse(result);
              setState(idTemp, obj['1'].Value, true);
              setState(idPH, obj['2'].Value, true);
              setState(idRedox, obj['3'].Value, true);
          });
      });
      

      Ich versuche das gerade einzubinden, aber irgendwie klappt das nicht so. Mit IP Adresse ist sicherlich die vom EZO gemeint. Nur egal ob mit oder ohne port, ich komme zu keiner Verbindung.
      Mit Port kommt folgende Meldung: Request error: Error: connect EHOSTUNREACH
      Ohne Port fügt er selbstständig den Port 80 hinzu, was dann zur gleichen Meldung führt.
      Zusätzlich wirft er noch das aus: Error in request callback: SyntaxError: Unexpected token u in JSON at position 0
      Muss ich in zeile 6 noch etwas eintragen? Was muss gemacht werden für std intervall?
      Die Objekte werden auch nicht angelegt, denke mal das passiert erst,sobald der erste Wert kommt oder?

      Momentan sind noch keine Sensoren angeschlossen, um Fehler zu vermeiden.

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @JohnnyBahama last edited by paul53

        @JohnnyBahama sagte:

        Unexpected token u in JSON at position 0

        Weil nichts in result geliefert wird. Mach eine zusätzliche Abfrage:

            request(url, function(error, response, result) {
                if(!error && result) {
                    let obj = JSON.parse(result);
                    setState(idTemp, obj['1'].Value, true);
                    setState(idPH, obj['2'].Value, true);
                    setState(idRedox, obj['3'].Value, true);
                }
            });
        

        @JohnnyBahama sagte in EZOGateway; Watermonitoring:

        Die Objekte werden auch nicht angelegt, denke mal das passiert erst,sobald der erste Wert kommt oder?

        Die Datenpunkte müssen manuell im Tab "Objekte" angelegt werden.

        J 1 Reply Last reply Reply Quote 1
        • J
          JohnnyBahama @paul53 last edited by JohnnyBahama

          @paul53
          Ist das so richtig?
          Objekte sind jetzt unter 0_userdata.0 angelegt.
          2020-08-27 23_05_49-objects - ioBroker.jpg

          Das Skript von dir mit in das erste kopieren oder in ein eigenes?
          Bin nicht so bewandert in der Prgrammiersprache. Habe es momentan zusammen.

          const url = 'http://192.******.61:591/api/fetch'; // <-IP-Adresse vom EZO 
          const idTemp = '0_userdata.0.EZO.Temperatur';
          const idPH = '0_userdata.0.EZO.PH-Wert';
          const idRedox = '0_userdata.0.EZO.Redox-Potential';
           
          schedule('* * * * *', function() { // jede Minute
              request(url, function(error, response, result) {
                  let obj = JSON.parse(result);
                  setState(idTemp, obj['1'].Value, true);
                  setState(idPH, obj['2'].Value, true);
                  setState(idRedox, obj['3'].Value, true);
              });
          });
              request(url, function(error, response, result) {
                  if(!error && result) {
                      let obj = JSON.parse(result);
                      setState(idTemp, obj['1'].Value, true);
                      setState(idPH, obj['2'].Value, true);
                      setState(idRedox, obj['3'].Value, true);
                  }
              });
          

          Neue Meldung: Error in request callback: TypeError: Cannot read property 'Value' of undefined

          paul53 100prznt 2 Replies Last reply Reply Quote 0
          • paul53
            paul53 @JohnnyBahama last edited by

            @JohnnyBahama

            const url = 'http://192.******.61:591/api/fetch'; // <-IP-Adresse vom EZO 
            const idTemp = '0_userdata.0.EZO.Temperatur';
            const idPH = '0_userdata.0.EZO.PH-Wert';
            const idRedox = '0_userdata.0.EZO.Redox-Potential';
             
            schedule('* * * * *', function() { // jede Minute
                request(url, function(error, response, result) {
                    if(!error && result) {
                        let obj = JSON.parse(result);
                        setState(idTemp, obj['1'].Value, true);
                        setState(idPH, obj['2'].Value, true);
                        setState(idRedox, obj['3'].Value, true);
                    }
                });
            });
            
            1 Reply Last reply Reply Quote 0
            • 100prznt
              100prznt @JohnnyBahama last edited by

              @JohnnyBahama Läuft das EzoGateway ordnungsgemäß? Einfach mal die URL direkt im Browser aufrufen. Da sollten dir die Messwerte schon mal im JSON Format angezeigt werden, so zum Beispiel:

              URL: http://<IP EzoGateway>:<Port EzoGateway>/api/fetch

              {
                "1": {
                  "Name": "Temperature",
                  "Timestamp": "2020-08-28T12:38:37.2146236+02:00",
                  "Value": -1025.858,
                  "Unit": "Celsius",
                  "Symbol": "\u00b0C"
                },
                "2": {
                  "Name": "PH value",
                  "Timestamp": "2020-08-28T12:38:37.2146236+02:00",
                  "Value": 3.938,
                  "Unit": "",
                  "Symbol": ""
                },
                "3": {
                  "Name": "Redox potential",
                  "Timestamp": "2020-08-28T12:38:37.2146236+02:00",
                  "Value": -373.2,
                  "Unit": "Millivolt",
                  "Symbol": "mV"
                }
              }
              

              Damit die Messwerte automatisch aktualisiert werden muss der Cyclic Updater in den Settings aktiviert werden. Oder man muss zyklisch den ACQ Befehl auslösen.

              J 1 Reply Last reply Reply Quote 0
              • J
                JohnnyBahama @100prznt last edited by JohnnyBahama

                @100prznt Nein. Wenn ich die Url eingebe dann bekomme ich folgendes:

                {
                  "reason": "No measurement data acquired."
                }
                

                Wenn die Daten von dem Live View genommen werden, dann geht es nicht. Oberfläche ist da, es werden aber keine Werte angezeigt. Detaillierte Probleme mit dem EzoGateway habe ich dir im Pool Forum geschrieben.
                Den Cycle Updater habe ich aktiviert. By the way, der Intervall ist in sek oder?

                100prznt 1 Reply Last reply Reply Quote 0
                • 100prznt
                  100prznt @JohnnyBahama last edited by

                  @JohnnyBahama Es gab in der Tat ein Problem bei der Hardwareinitialisierung, welches genau dann aufgetreten ist, wenn nicht alle EZO Module bestückt waren, bzw. die Reihenfolge hier nicht gepasst hat. Diesen Fehler habe ich gerade behoben, installiere dazu bitte das Release 0.4.26-beta.

                  Der Intervall des Cyclic Updaters wird in Sekunden angegeben, korrekt.

                  Grüße Elias

                  J 1 Reply Last reply Reply Quote 0
                  • J
                    JohnnyBahama @100prznt last edited by JohnnyBahama

                    @100prznt sagte in EZOGateway; Watermonitoring:

                    @JohnnyBahama Es gab in der Tat ein Problem bei der Hardwareinitialisierung, welches genau dann aufgetreten ist, wenn nicht alle EZO Module bestückt waren, bzw. die Reihenfolge hier nicht gepasst hat. Diesen Fehler habe ich gerade behoben, installiere dazu bitte das Release 0.4.26-beta.

                    Der Intervall des Cyclic Updaters wird in Sekunden angegeben, korrekt.

                    Grüße Elias

                    Ich nähere mich dem Ziel. Im EZOGateway funktioniert soweit alles mit dem Script von @paul53 kommen auch Werte an. Bei PH ist alles super, nur bei REDOX geht der Wert nicht höher als 100. Wie kann ich das ändern?

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @JohnnyBahama last edited by

                      @JohnnyBahama sagte:

                      Wert nicht höher als 100. Wie kann ich das ändern?

                      common.max des Datenpunktes ?

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        JohnnyBahama @paul53 last edited by JohnnyBahama

                        @paul53 sagte in EZOGateway; Watermonitoring:

                        @JohnnyBahama sagte:

                        Wert nicht höher als 100. Wie kann ich das ändern?

                        common.max des Datenpunktes ?

                        Danke. Hab ich irgendwie übersehen den Punkt.
                        Somit funktioniert alles wie gewollt und ich kann es weiter verarbeiten.

                        Danke auch an @100prznt für die letzte Woche mit all den "Problemen" die ich hatte und das du dir die Zeit genommen hast, dass so umzustricken, dass es unter anderen Umständen läuft.

                        Z 1 Reply Last reply Reply Quote 1
                        • Z
                          ZeroQool @JohnnyBahama last edited by

                          Macht ihr mittlerweile etwas mit den ermittelten Daten z.B. Dosieranlage ansteuern. Gruß

                          Z J 2 Replies Last reply Reply Quote 0
                          • Z
                            ZeroQool @ZeroQool last edited by

                            Hiermit wird der Datenpunkt erzeugt.

                            var url = "http://192.168.178.141/api/fetch";
                            var idTemp = "javascript.0.EzoGateway.Temperatur";
                            var idPH = "javascript.0.EzoGateway.pH_Wert";
                            var idRedox = "javascript.0.EzoGateway.Redox_Potential";
                             
                            // Erzeugen der Objekte in ioBroker
                            createState(idTemp, 0, {
                                name: 'Temperatur',
                                desc: 'Temperatur',
                                type: 'number',
                                role: 'value',
                                unit: '°C'
                            });
                            createState(idPH, 0, {
                                name: 'pH_Wert',
                                desc: 'pH Wert',
                                type: 'number',
                                role: 'value',
                                unit: ''
                            });
                            createState(idRedox, 0, {
                                name: 'Redox_Potential',
                                desc: 'Redox potential',
                                type: 'number',
                                role: 'value',
                                unit: 'mV'
                            });
                            
                            // schedule('* * * * *', function() { //every minute
                            schedule("*/2 * * * * *", function() { // every 2s
                                request(url, function(error, response, result) {
                                     if (result) {
                                        let obj = JSON.parse(result);
                                        setState(idTemp, obj['1'].Value, true);
                                        setState(idPH, obj['2'].Value, true);
                                        setState(idRedox, obj['3'].Value, true);
                                     } else {
                                        var errorMessage = "(" + error + ") ERROR bei Abfrage von: " + url;
                                        log(errorMessage, "warn");
                                    }
                                });
                            });```
                            1 Reply Last reply Reply Quote 1
                            • cvidal
                              cvidal Forum Testing last edited by

                              Hallo zusammen, spanendes Thema.

                              Ich habe mich da mal etwas eingelesen und hätte ein Paar Fragen.

                              Welche Sensoren benutzt ihr?
                              Die für Verbraucher- (41€Redox) (32€ PH)oder
                              Laborqualität (94€ Redox) (61€ PH)?
                              Preislich ist das ja ein schon ein Unterschied.

                              Jetzt fehlt mir noch die Dosierpumpen welche auch nochmal mit 200€ aufschlagen würden.

                              Rechne ich das mal zusammen ist das Leider nicht ganz günstig, für den Preis bekommt man ja fast schon Fertig montierte Anlagen. Naja ioBroker würde dann leider wegfallen. Oder habt ihr noch andere Vorteile für die Config?

                              Whitebox T3 für Raspberry Pi 81€
                              EZO pH Circuit 32€
                              PH Sonde Laborqualität 61€
                              EZO Redox Circut 32€
                              Redox Sonde 94€
                              Raspi + Netzteil 35€
                              Verteilerkasten, Kalibrierlösungen etc. 100€

                              Sind dann so ca. 435€ ohne dosieranlagen.

                              Gruß Christian

                              100prznt J 2 Replies Last reply Reply Quote 0
                              • 100prznt
                                100prznt @cvidal last edited by

                                @cvidal Ich nutze Sonden JUMO (BlackLine) liegen preislich eher im von dir letzteren genannten Bereich. Mit "günstigen" Sonden habe ich keine guten Erfahrungen gemacht, hab hier über die Jahre ein ganzes Arsenal angesammelt.

                                Dosierpumpen hab ich von AliExpress, in der 24 V Version ist man hier im kleinen zweistelligen Eurobereich dabei.

                                Unterm Strich ist das Ganze natürlich nicht günstig und stellt preislich auch keine Alternative zu einfachen Dosieranlagen dar. Mein Hauptansinnen bei der Entwicklung war die Flexibilität und Möglichkeit der vollständigen Integration in eine übergeordnete Umgebung (z.B. ioBroker).

                                Beste Grüße
                                Elias

                                1 Reply Last reply Reply Quote 1
                                • J
                                  JohnnyBahama @cvidal last edited by JohnnyBahama

                                  @cvidal Richtig, es ist nicht günstig. Der Vorteil der sich mir bietet ist die Steuerung der Salzanlage (Chlorinator) mit Gegenkrontolle, ob die Pumpe wirklich läuft bevor er sich einschaltet und natürlich die Satistik. Feste Zeiten wollte ich nicht, da das Risiko zu hoch ist in meiner Region das es ein paar Tage nicht so gutes Wetter gibt und der Pool dann über-chlort wird. Ph kontrolliere ich zwar auch, aber letztes Jahr hat sich gezeigt, dass ich nur einmal nachjustieren musste, daher spare ich mir automatische dosierung hier, mach ich dann per Pushover Message von Hand.

                                  Bei den Sensoren habe ich die ATLAS Industrial grade im Angebot für 90€ geholt, da die 4 Jahre halten soll und seltener kalibriert werden müssen (Werde ich dieses Jahr sehen).
                                  Am Ende ist es der gleiche Preis, ob ich jedes Jahr eine neue hole oder die Industrie grade. Ich wollte halt so wenig arbeit wie möglich mit dem Pool haben.

                                  Auch bei fertigen Anlagen kann man wenig Geld ausgeben Ph803w und Dosierpumpen oder halt mehrere tausende für ein und dieselbe Funktion.

                                  Da der Ph803w neu ist, wäre es interessant, ob man den in den Broker eingebunden bekommt, denn dann wäre das die günstigste Variante und würde selbst die RaspLösung unterbieten.

                                  By the way, du hast das Temp circuit board vergessen, was für die Kalibrierung benötigt wird, um den Korrekturwert einfließen zu lassen.

                                  Edit: Sehe unten den Kommentar zum anderem thread, wo es anscheinend geht. Jetzt musst du für dich entscheiden, womit du leben kannst.

                                  100prznt 1 Reply Last reply Reply Quote 1
                                  • 100prznt
                                    100prznt @JohnnyBahama last edited by

                                    @johnnybahama Guck mal hier, Adapter für den PH803w ist gerade in Arbeit: https://forum.iobroker.net/topic/42553/ph-messung Mir gefällt das Teil aber nicht, der verbaute Messverstärker ist leider nicht besonders hochwertig, was sich in der Nichtwiederholbarkeit, Genauigkeit, Stabilität und vor allem im thermischen Drift zeigt.

                                    Ach ja das EZO GW geht auch mit nem 2 Euro DS18B20 als Temperaturreferenz 😛

                                    Beste Grüße
                                    Elias

                                    J 1 Reply Last reply Reply Quote 0
                                    • J
                                      JohnnyBahama @100prznt last edited by JohnnyBahama

                                      @100prznt Hätte mich auch gewundert, wenn da noch keiner gefragt hat. Es ist wie bei allem, Geld ist der Faktor, wo man seine Preis/Leistungs Grenze zieht. Vor allem seit letztem Jahr, wenn man den Quick up pool bei Aldi für 100€ geschossen hat, will man nicht soviel Geld darein stecken und gibt sich mit der "günstigen" Lösung zufrieden.
                                      Mein Board wird diese Saison zum ersten Mal eingesetzt. Bin gespannt, letzten Winter haben wir beide das ja zum laufen gebracht. Warte auf meine Rohre, um es zusammen zu stecken.

                                      Aber den circuit brauche ich doch trotzdem oder?
                                      Hatte das auch bei Atlas gesehen, dass die den DS18 für viel Geld auch anbieten.

                                      100prznt 1 Reply Last reply Reply Quote 0
                                      • 100prznt
                                        100prznt @JohnnyBahama last edited by

                                        @johnnybahama sagte in EZOGateway; Watermonitoring:

                                        Aber den circuit brauche ich doch trotzdem oder?
                                        Hatte das auch bei Atlas gesehen, dass die den DS18 für viel Geld auch anbieten.

                                        Man braucht eine 1-Wire/I2C bridge. gibt es fertig auf einen kleinen Breakout-Board, welches man mit 4 Pins direkt an die GPIO Header oder den zusätzlichen Stecker auf dem Tentacle anschließen kann. Kostenpunkt 2 Euro. Auf meiner alten EzoGW Platine ist der diese Bridge fest verbaut.

                                        DS18B20 werden mittlerweile von den Chinesen im großen still "kopiert", bekommt man daher auch in Deutschland für ein zwei Taler. Gibt leider auch "schlechte Fälschungen", der Großteil ist von den Toleranzen her aber brauchbar für die Anwendung zur Temperaturkompensation.

                                        Beste Grüße
                                        Elias

                                        1 Reply Last reply Reply Quote 0
                                        • J
                                          JohnnyBahama @ZeroQool last edited by JohnnyBahama

                                          @zeroqool besser spät als nie. Momentan warte ich noch auf die letzten Rohrteile. Irgendwie hat sich jetzt jeder einen Pool zugelegt und Corona hat auch geholfen, das kein Material verfügbar ist.
                                          Ziel ist es den Salzanlage zu steuern und dadurch die Filteranlage nicht unnötig laufen zu lassen, wenn schlecht Wetter ist.

                                          1 Reply Last reply Reply Quote 0
                                          • J
                                            JohnnyBahama last edited by

                                            Weiß jemand, ob ich ein Relais board zwischen hängen kann und im Hintergrund mit steueren kann? Bin mir nicht sicher wie ich das Board eingebunden bekomme ohne das Watermonitoring zu überschreiben.

                                            100prznt 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            734
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            ezo gateway pool monitoring
                                            7
                                            47
                                            4214
                                            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