neues Modul: Atlas Scientific Sensoren I2C_EZODO, I2C_EZOPH und I2C_EZOEC

Begonnen von danieljo, 05 Dezember 2015, 19:01:05

Vorheriges Thema - Nächstes Thema

Frinbe

echt top ! Vielen vielen Dank! Werde mich jetzt auch mal dran machen und das nachbauen. Bitte mehr für die Aquaristik ! ;)

danieljo

Freut mich zu lesen das es bei sovielen sogut auf Anhieb läuft.

Auf wunsch habe ich ich Modul EZOPH die Poll-Intervale geändert und zwar auf:

2 Sekunden;
5 Sekunden;
10 Sekunden;
30 Sekunden;

1 Minute;
5 Minuten;
10 Minuten;
30 Minuten;

1 Stunden

MFG, Daniel Joachims


Helmi55

Herzlichen Dank
Datei kopiert. Werde beobachten und ggf berichten
Schönen Sonntag noch
LG
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

zappolon

Hallo Daniel,

da das pH-Modul so gut funktioniert habe ich mir jetzt auch noch die EC-Sonde zugelgt. Ich habe allerdings Probleme die Sonde zu Kalibrieren, ich habe mal "CalibrateDry" mit trockener Sonde durchgeführt, hier wird auch der Wert 0,00 übernommen. Danach habe ich versucht auf 84µS low und 1413µS high zu Kalibrieren - die Werte werden aber nicht so wie beim pH-Modul übernommen. Beim Versuch den "CalibrateReset" durchzuführen hängt sich FHEM auf. Mache ich was falsch? Ich habe auch das Modul mehrfach gelöscht und neu angelegt und verschiedene Schreibweisen probiert (1,413 ; 1413; 84; 84,0 u.s.w.).

Gruß Marco

danieljo

Zitat von: zappolon am 23 August 2016, 21:59:27
Hallo Daniel,

da das pH-Modul so gut funktioniert habe ich mir jetzt auch noch die EC-Sonde zugelgt. Ich habe allerdings Probleme die Sonde zu Kalibrieren, ich habe mal "CalibrateDry" mit trockener Sonde durchgeführt, hier wird auch der Wert 0,00 übernommen. Danach habe ich versucht auf 84µS low und 1413µS high zu Kalibrieren - die Werte werden aber nicht so wie beim pH-Modul übernommen. Beim Versuch den "CalibrateReset" durchzuführen hängt sich FHEM auf. Mache ich was falsch? Ich habe auch das Modul mehrfach gelöscht und neu angelegt und verschiedene Schreibweisen probiert (1,413 ; 1413; 84; 84,0 u.s.w.).

Gruß Marco

Ok, ich werde mir das Problem mal anschauen. die Werte zum Kalibrieren werden immer in µS angeben also für Low 84 und High 1413.

Was geben die readings aus? Dort steht ja drin was Übermittelt worden ist.
Steht irgendwas in der Log Datei von FHEM eventuell mal Debug-Level hochsetzen.
Welche FHEM Version?
Sostige Probleme in Verbindung mit dem I2C Bus?

zappolon

Hallo Daniel,
also FHEM ist aktuell (5.7)

die Readings sehen folgendermaßen aus:


EC                                   3248                  2016-08-26 14:33:11
Set_DebugLED                L,1                     2016-08-24 21:38:26
Set_ReadTempComp       T,27.69              2016-08-26 14:32:52
Status                             1                         2016-08-26 14:33:11
state                               S: 1 EC: 3248     2016-08-26 14:33:11

hier noch die Internals:

I2C_Address                            100
I2C_Messung_SENDSTAT         Ok
IODev                                       I2C_Messung
NAME                                        EC_Sonde
NR                                            222
STATE                                       S: 1 EC: 3248
TYPE                                         I2C_EZOEC

Die Sonde ist eine K0.1, mein Trinkwasser hat laut Wasserversorger eine Leitfähigkeit von 302µS - meine Werte liegen also mit dem Faktor 10 eigentlich richtig. Set_K_Konstant soll wohl das EZO_EC auf die richtige Sonde einstellen, das wird bei mir auch nicht übernommen.
Mit "verbose 5" erhalte ich:
2016.08.26 14:53:29 5: empfangen: 1 51 50 52 56 44 49 55 53 52 44 49 46 54
was für mich erstmal gut aussieht.............
Die EC-Sonde läuft am gleichen Bus wie auch schon die PH-Sonde. Beide Sonden haben einen eigenen PWRISO auch von Atlas Scientific.

Vielen Dank schonmal für Deine Mühe.....

Gruß Marco

danieljo

Zitat von: zappolon am 26 August 2016, 15:02:44
Hallo Daniel,
also FHEM ist aktuell (5.7)

die Readings sehen folgendermaßen aus:


EC                                   3248                  2016-08-26 14:33:11
Set_DebugLED                L,1                     2016-08-24 21:38:26
Set_ReadTempComp       T,27.69              2016-08-26 14:32:52
Status                             1                         2016-08-26 14:33:11
state                               S: 1 EC: 3248     2016-08-26 14:33:11

hier noch die Internals:

I2C_Address                            100
I2C_Messung_SENDSTAT         Ok
IODev                                       I2C_Messung
NAME                                        EC_Sonde
NR                                            222
STATE                                       S: 1 EC: 3248
TYPE                                         I2C_EZOEC

Die Sonde ist eine K0.1, mein Trinkwasser hat laut Wasserversorger eine Leitfähigkeit von 302µS - meine Werte liegen also mit dem Faktor 10 eigentlich richtig. Set_K_Konstant soll wohl das EZO_EC auf die richtige Sonde einstellen, das wird bei mir auch nicht übernommen.
Mit "verbose 5" erhalte ich:
2016.08.26 14:53:29 5: empfangen: 1 51 50 52 56 44 49 55 53 52 44 49 46 54
was für mich erstmal gut aussieht.............
Die EC-Sonde läuft am gleichen Bus wie auch schon die PH-Sonde. Beide Sonden haben einen eigenen PWRISO auch von Atlas Scientific.

Vielen Dank schonmal für Deine Mühe.....

Gruß Marco

Auf den ersten Blick sieht alles gut aus also die Kohle Konstante wird nicht übernommen. Das werde ich erstmal überprüfen müssen wo da der Fehler ist. Dann schauen wir mal weiter

danieljo

Ich habe heute mal versucht den Fehler zu rekonstruieren leider ohne Erfolg, ich kann deine Probleme nicht nachvollziehen, sowohl der Reset funktioniert als auf der Set_K_Konstant ohne Probleme.

Ich habe die Datei nochmal hochgeladen mit längere Wartezeiten nach den Sets. vllt. bringt es was. Schalte bitte die DebugLED mal ein und achte nach jedem Absenden deiner Befehle darauf wie sich die EZO_EC Platine verhält. Bei Befehlseingang sollte das Modul von Blau nach BLau/Grün wechseln !!! Es darf keinesfalls Rot blinken dann ist bei der Übertragung falsch gerlaufen. Desweiteren achte bei der eingabe der werte das NUR der Wert allein drin steht für "Set_K"Konstant" also nur 0.1 ; 1 oder 10 dort darf nicht stehen -> K,1 oder sowas. Versuche es bitte nochmal und gib mir bitte Bescheid.

MFG, Daniel Joachims

zappolon

Hallo Daniel,

also ich habe mal die neue Datei geladen und meine readings sehen jetzt so aus:

EC                                            364.2                    2016-08-30 19:49:08
Set_DebugLED                         L,1                        2016-08-24 21:38:26
Set_DualPointCalHigh              Cal,high,1413       2016-08-30 19:48:18
Set_DualPointCalLow              Cal,low,84             2016-08-30 19:47:09
Set_ECCalDry                          Cal,dry                   2016-08-30 19:45:36
Set_ECCalReset                      Cal,clear                2016-08-30 19:45:22
Set_K_Value                            K,0.1                     2016-08-30 19:32:34
Set_ReadTempComp               T,29.12                  2016-08-30 19:48:51
Status                                      1                           2016-08-30 19:49:08
state                                        S: 1 EC: 364.2      2016-08-30 19:49:08


mit anderen Worten: funzt jetzt wie verrückt.........
Die Option mit der DebugLED hatte ich auch schon eingeschaltet - jetzt wo ich den Vergleich zu vorher habe kann ich sagen das mein EZOEC-Modul die Set-Befehle nicht bekommen oder aber nicht verstanden hat. Rot hat natürlich auch vorher nichts geblinkt, da hätte ich zuerst die I2C-Verbindung vor´s Loch geschoben.........
Auf jeden Fall ein DICKES FETTES "Danke sehr" an Dich. :D

danieljo

Zitat von: zappolon am 30 August 2016, 20:02:20
Hallo Daniel,

also ich habe mal die neue Datei geladen und meine readings sehen jetzt so aus:

EC                                            364.2                    2016-08-30 19:49:08
Set_DebugLED                         L,1                        2016-08-24 21:38:26
Set_DualPointCalHigh              Cal,high,1413       2016-08-30 19:48:18
Set_DualPointCalLow              Cal,low,84             2016-08-30 19:47:09
Set_ECCalDry                          Cal,dry                   2016-08-30 19:45:36
Set_ECCalReset                      Cal,clear                2016-08-30 19:45:22
Set_K_Value                            K,0.1                     2016-08-30 19:32:34
Set_ReadTempComp               T,29.12                  2016-08-30 19:48:51
Status                                      1                           2016-08-30 19:49:08
state                                        S: 1 EC: 364.2      2016-08-30 19:49:08


mit anderen Worten: funzt jetzt wie verrückt.........
Die Option mit der DebugLED hatte ich auch schon eingeschaltet - jetzt wo ich den Vergleich zu vorher habe kann ich sagen das mein EZOEC-Modul die Set-Befehle nicht bekommen oder aber nicht verstanden hat. Rot hat natürlich auch vorher nichts geblinkt, da hätte ich zuerst die I2C-Verbindung vor´s Loch geschoben.........
Auf jeden Fall ein DICKES FETTES "Danke sehr" an Dich. :D

Das freut mich sehr zu hören. Dann wünsche ich viel Spaß mit dem Modul. Sollte es noch Probleme, Anregungen oder Fragen geben immer her damit.

Burny4600

LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess


Burny4600

Danke für die Info.

Einige Änderungswünsche hätte ich noch gerne:
I2C_EZODO: Hier wird das Reading SAT nicht ausgewiesen.

Bei allen I2C_EZO* Modulen: Das Reading Set_ReadTempComp wird mit T,[<Sensortemperatur>:.*] ausgewiesen. Es reicht vollkommen wenn nur [<Sensortemperatur>:.*] ausgewiesen wird, da unter stateFormat ohnehin die Klartextbezeichnungen definiert werden. Oder die Readings enthalten schon den vollständigen Klartext.

stateFormat
{sprintf(
"Sauerstoffgehalt: %.2f mg/L <br> Sauerstoffsättigung: %1.f %% <br>Temperatur: %.1s °C",
ReadingsVal("$name","Sauerstoffgehalt",0),
ReadingsVal("$name","SAT",0),
ReadingsVal("$name","Set_ReadTempComp",0))}


Weiters ein PERL WARNING betreffend des I2C_EZODO
PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/52_I2C_EZODO.pm line 222.
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

Burny4600

Ein Problem das ich auch nicht gelöst bekomme ist die TemperaturCompensation.
Ich schaffe es nicht, dass die Pooltemperatur in den EZO Sensor übergeben wird.

ZB. Sensor DOSonde und Pooltemperatur DL2_T04k mit dem Wert als state
define TC_DL2_T04k notify DL2_T04k:state:.* set DOSonde TemperaturCompensation [DL2_T04k:state]
attr TC_DL2_T04k alias Aussenbereich - Pool - Temperatur Compensation für EZO Sensoren
attr TC_DL2_T04k verbose 5

Habe ich hier einen Denkfehler?
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

danieljo

Hallo, ich werde mich um die Probleme im Laufe der Woche kümmern. Bisher sind diese Probleme bei mir nicht aufgetreten.

Zwecks der TempComp werde ebenfalls mal schauen, bei mir funktioniert es ohne Probleme.

Mfg, Daniel Joachims