Wasserzähler erfassen - hochauflösend - Leckagekontrolle

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: Wasserzähler erfassen - hochauflösend - Leckagekontrolle

Beitrag von klassisch » 15.03.2017, 12:00

Keep me informed und merkt Euch noch den VL53L1 vor.

Gesendet von meinem ZTE A2016 mit Tapatalk

dondaik
Beiträge: 12925
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1599 Mal
Danksagung erhalten: 222 Mal

Re: Wasserzähler erfassen - hochauflösend - Leckagekontrolle

Beitrag von dondaik » 15.03.2017, 13:02

gemacht :-)
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: Wasserzähler erfassen - hochauflösend - Leckagekontrolle

Beitrag von klassisch » 15.03.2017, 18:46

funkleuchtturm hat geschrieben:
Ich nutze das Beispiel UdpNtpClient bei Beispielen unter Ethernet.
Dann schau mal wie oft Du die Zeit wieder anforderst. Da könnte es zu erhöhter Last/Timingkonflikten kommen.
funkleuchtturm hat geschrieben: Zum Thema Oscillator kenne ich nur das: http://www.esp8266.com/viewtopic.php?f=13&t=3273
Ich liebe das Internet und bin froh, nicht mehr in muffigen Bibliotheken kramen zu müssen.
Es gibt einige Bilder vom ESP12F, z.B. dort: http://domoticx.com/esp8266-wifi-esp-12-informatie/
Zwischen dem ESP und der Anschlußleiste sitzt ein 26MHz Quarzoszillator, ähnlich diesem: www.abracon.com/Oscillators/ASV.pdf
+/-100ppm ist dann auch nur noch 10E-4

Zur Methodik des Dauertestest. Habe heute Nacht und den Tag über mit 100Hz (200 Flanken/s) gemessen, immer 10 Sekunden lang. Das ist meine Basiszeit für die Durchflußmessung mit dem 90Ticks/l Sternrad. Bei Abweichung von den Sollticks wird das Ergebnis in den Speicher geschrieben (fsommer1968 sei Dank)
Alle 1 Minute (heute Morgen) bis 2 Minuten (heute Abend) fehlt ein Tick. Sowohl bei der Polling als auch bei der Interruptmethode. Beim Pollen fehlen beim Seitenabruf dann noch ein paar mehr, klar, s. Post #1.
Ich mutmaße die Ursache sind nicht verlorene Ticks, sonder Schwebung der Oszillatoren von WeMos und Frequenzgenerator.
Ich mache jetzt folgendes:
- Umstellen auf 200,01 Ticks/s.
- Dann erwarte ich eher zusätzliche Ticks als zu wenig.
- Dieses Experiment mache ich mit polling und Interrupt
- In einer weiteren Runde blende ich neben den Sollticks noch die Solltick + 1 aus.
Dann werden wir sehen, ob und wann ticks verloren gehen.

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: Wasserzähler erfassen - hochauflösend - Leckagekontrolle

Beitrag von klassisch » 16.03.2017, 04:57

Zwischenstand:
Seit ca. 6h läuft der Dauertest mit dem Interruptprogramm ohne Zählverlust.
Bei meinen Einstellungen synchronisiert NTP alle 10000 Sekunden, also alle 2,7h, mithin zwischenzeitlich 2 mal. Auch Zugriff auf die Website stören nicht.
Zuletzt geändert von klassisch am 16.03.2017, 19:20, insgesamt 1-mal geändert.

dondaik
Beiträge: 12925
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1599 Mal
Danksagung erhalten: 222 Mal

Re: Wasserzähler erfassen - hochauflösend - Leckagekontrolle

Beitrag von dondaik » 16.03.2017, 07:00

very nice!
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: Wasserzähler erfassen - hochauflösend - Leckagekontrolle

Beitrag von klassisch » 16.03.2017, 19:37

Neuer Zwischenstand: Nach 14:06:30 und 20.366.790 ticks gab es eine 3999 statt 4000 Anzeige. Also wahrscheinlich ein verlorener tick. Seither sind wieder 06:37:36 und 9.566.256 ticks ohne Fehler vergangen.

Edit:
Mittlerweile 152.411 Sekunden und 61.116.811 ticks und nur insgesamt eine (1) mutmaßliche Fehlzählung, also keine neue mehr.

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: Wasserzähler erfassen - hochauflösend - Leckagekontrolle

Beitrag von klassisch » 17.03.2017, 16:34

Weil wir darüber gesprochen hatten: Mehr zum Lidar-Abstandssensor: viewtopic.php?f=31&t=36215&p=349989#p349989

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: Wasserzähler erfassen - hochauflösend - Leckagekontrolle

Beitrag von klassisch » 15.04.2017, 20:17

Habe vor einigen Wochen noch ein EEPROM an den I2C angeschlossen. Jetzt kann der Zählerstand direkt im Gerät zwischengespeichert werden, self contained, und braucht dazu keine CCU mehr. Solange man eine CCU hat, bringt das keine echten Vorteile, denn ich habe ja bisher beim Start den letzten Wert von der CCU geholt. Aber war ne nette "Fingerübung", die man vielleicht in einem anderen Projekt mal recyclen kann.
24AAC256-SMD-I2-7x.JPG
EEPROM 24AAC256-SMD
Hatte ja im Titel "hochauflösend" geschrieben. Wie sieht sowas aus?
WaterMeter-Flot-Chart-20170415.jpg
Und ca. 3 Tage gezoomt:
WaterMeter-FlotCahert-3days.jpg
Die Statistik habe ich auch etwas angepasst:

Code: Alles auswählen

	 ************** Histograms ********** 

	 figures in column 1 are the upper limits of the bins 

	 ************** flow ********** 
	liter/h	count	fraction 
	10.00	1083	0.18
	200.00	1909	0.31
	400.00	1148	0.19
	800.00	1869	0.31
	1000.00	52	0.01
	1200.00	21	0.00
	2000.00	3	0.00
	4000.00	0	0.00
	0.00	0	0.00

	 ************** ContinuousQuantity ********** 
	liter	count	fraction 
	1.00	626	0.45
	2.00	184	0.13
	10.00	500	0.36
	20.00	73	0.05
	100.00	17	0.01
	200.00	0	0.00
	400.00	0	0.00
	1000.00	0	0.00
	0.00	0	0.00

	 ************** ContinuousFlowTime ********** 
	seconds	count	fraction 
	5.00	154	0.11
	15.00	313	0.22
	45.00	612	0.44
	105.00	262	0.19
	485.00	59	0.04
	1485.00	0	0.00
	3585.00	0	0.00
	-15.00	0	0.00

	 ************** DailyQuantity ********** 
	liter	count	fraction 
	10.00	0	0.00
	50.00	0	0.00
	100.00	0	0.00
	200.00	0	0.00
	300.00	9	0.64
	600.00	5	0.36
	1200.00	0	0.00
	0.00	0	0.00

	 ************** maxElapsedTime ********** 
	min	count	fraction 
	1.00	0	0.00
	10.00	0	0.00
	15.00	0	0.00
	60.00	0	0.00
	120.00	2	0.14
	360.00	12	0.86
	480.00	0	0.00
	0.00	0	0.00

	 ************** end ********** 
Die Statistik ist nur ca. 2 Wochen alt, da gab es anscheinend einen kurzen Stromausfall und alle WeMos im Haus haben resetiert. Schade.

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: Wasserzähler erfassen - hochauflösend - Leckagekontrolle

Beitrag von klassisch » 01.06.2017, 16:51

Noch immer sehr gut. Läuft noch immer prima und stabil. Kann auch mit der neuen CCU-FW reden und liefert brav die Werte.
Derzeit gibt es den EX-26 bei Ali zu einem akzeptablen Preis.
Neues Histogramm:

Code: Alles auswählen


	Name des Sensors (sensorName): WaterMeter-1-B


Wasseruhr-Sensor
	Version: WaterMeter V13-B (controller): HTTP, for CUxD, OTA, Dewpoint, 
		reduced pressure, extended config, NTP, daylight saving, 
		WPS, TP2, outlier suppression T+H+P, CCU-sparing; 1sens; 
		sens reconnect, no reset after config, email, temp-warnings, 
		humid-warning, MAC, alt NTP-Server, webdebug, freeze point, I2C scan, contflow, histogram, extEEPROM, email via CUxD;   dev

	IP-Adresse dieses Sensors: 192.168.1.56

	Uhrzeit: 2017-06-01   16:45:45  (TT.MM.JJJJ Std:Min:Sek) 
	Uhrzeit ist lokale Ortszeit - Sommerzeit/Winterzeit entsprechend EU Regeln 
	Verwendeter Zeitserver: 192.168.1.1 Zeitzone: 1
	Letzter Neustart: 2017-04-01   01:56:15  Software Watchdog	Betriebszeit: 61 14:49:30 (Tage Std:Min:Sek)
	Verbunden mit: SeeMa
	MAC-Adresse: 5c:cf:7f:c3:b0:10:
	Signalstaerke: -83 dBm

counterToDisplay: 212.56558228 m^3
counterToDisplayLiter: 212565.58 Liter 
flowRate: 0.0000 l/h
Zeitbasis fuer flowRate: 10 sec. Abstand zwischen 2 Datenuebetragungen vom Counter. Wird im Counter-Device WaterMeter-A konfiguriert 
maxElapsedTimeToday: 69 min
maxElapsedTimeYesterday: 100 min
transferData.TransferElapsedTime: 617673 msec
transferData.TransferElapsedTimeLastCycle: 3609 msec
checkAnyFlowADayWarningActive : 0 
flowWarningActice: 0 
ticksCumulated: 19130902 
continuousQuantity:  0.00 Liter
continuousQuantityMinutes: 0 min
DBG: jetztMillis: 1028744753 msec
DBG: continuousQuantityStartMillis: 1028744753 msec
maxContinuousQuantityWarningActive:  0 
maxContinuousFlowWarningActive:  0 
Verbrauch seit Mitternacht: 252.84 Liter
Verbrauch gestern: 221.73 Liter


Korrekturwerte
	ticksPerLiter: 90.000000000
Letzte Datenuebertragung CCU
	Date: Thu, 01 Jun 2017 16:45:29 GMT
	Gemeldeter Zaehlerwert: 212565.58 Liter
	Gemeldete max. Zeit ohne Durchfluss: 69.00 min

	Letzter Meldestring an CCU: /eriwan.exe?ant1=dom.GetObject('CUxD.CUX9000056:1.SET_STATE').State('212565.58')&antwort3=dom.GetObject('CUxD.CUX9000055:1.SET_STATE').State('69.00') 

Ausloeser fuer Datenuebertragung CCU; 1 Tick oder spaetestens nach
	Zeitintervall: 600 Sekunden
	jedoch nicht haeufiger als 30 Sekunden
Abspeichern Zaehler auf ext EEPROM bei Durchfluss >0 jedoch nicht haufiger als 180 sec
		es sei denn, die Wassermenge wird groesser als 50 Liter (= maximale Abweichung)
	Anzahl Schreibzyklen extEEPORM seit Prozessorstart: 4132 Schreibzyklen
	Anzahl Schreibzyklen extEEPORM heute: 2144 Schreibzyklen : 182 Zyklen/Tag => 15 Jahre Lebenserwartung
	rel Auslastung Schreibzyklen extEEPORM heute: 1178 % : 100% => 15 Jahre
	Anzahl Schreibzyklen extEEPORM gestern: 1988 Schreibzyklen
	rel Auslastung Schreibzyklen extEEPORM gestern: 1092 % 

Belegter interner EEPROM-Platz (cfg): 348 Byte von 1024

Freier Speicher     : 21648
HTTP-Befehlsuebersicht:
"http://192.168.1.56/temp"
	gibt die zuletzt gemessene Temperatur aus (Grad Celsius)
"http://192.168.1.56/zeit"
	gibt den CCU-Zeitstempel aus, an dem die letzte Meldung an die CCU erfolgte
"http://192.168.1.56/setCounter?korr=<wert>"
	setzt den Zaehlerstand auf den angebenen Wert (/m^3)
"http://192.168.1.56/setCounterLiter?korr=<wert>"
	setzt den Zaehlerstand auf den angebenen Wert (Liter)
"http://192.168.1.56/loescheKonfiguration"
	loescht Wifi SSID und Passwort sowie die untenstehenden Konfigurationen
"http://192.168.1.56/restart"
	startet den Sensor neu
"http://192.168.1.56/writeTicksToExtEEPROM"
	schreibt WaterMeter Ticks in ext EEPROM
"http://192.168.1.56/history"
	listet die debug-history
"http://192.168.1.56/scanI2C"
	Scannt die I2C Adressen - Ergebnis -> /history
"http://192.168.1.56/saveConfig"
	Speichert Konfiguration und Histogramm ins EEPROM (vor OTA nutzen, ansonsten sparsam nutzen)
"http://192.168.1.56/clearAllHistograms"
	Loescht alle Histogramme 
"http://192.168.1.56/prog"
	setzt Einstellungen persistent: z.B.: Kommando=aktueller Inhalt      	- Beschreibung
	http://192.168.1.56/prog?key=00000000&sensorName=WaterMeter-1-B  	- Benennung des Sensors
	http://192.168.1.56/prog?key=00000000&cuxdCounterId=CUX9000056  	- Id des zugeordneten CUxD Wrapper Thermostat fuer Temp + Feuchte
	http://192.168.1.56/prog?key=00000000&cuxdMaxElapsedTimeId=CUX9000055  	- Id des zugeordneten CUxD Transform Device für Luftdruck
	http://192.168.1.56/prog?key=00000000&minTransmitInterval=30  		- kuerzeste Zeit zwischen zwei Uebertragungen an CCU in Sekunden
	http://192.168.1.56/prog?key=00000000&minDailyQuantityWarning=0.0100  	- Unterschreiten dieser Tagesmenge (m^3) loest eine Warnmail aus 
	http://192.168.1.56/prog?key=00000000&maxDailyQuantityWarning=0.50  	- Ueberschreiten dieser Tagesmenge (m^3) loest eine Warnmail aus 
	http://192.168.1.56/prog?key=00000000&MaxTransmitInterval=600  		- max Zeit zwischen zwei Uebertragungen an die CCU in Sekunden
	http://192.168.1.56/prog?key=00000000&ticksPerLiter=90.0000000  	- Anzahl Flanken pro Liter
	http://192.168.1.56/prog?key=00000000&maxContinuousQuantity=200.00  	- max. ununterbrochene Menge (Liter=). Loest Mail aus
	http://192.168.1.56/prog?key=00000000&continuousQuantityMinutes=5.00  	- after that duration (minutes) of uninterrupted flow -> send email
	http://192.168.1.56/prog?key=00000000&flowWarning=1735.00  		- Durchfluss (l/h), bei desse Ueberschreiten eine Warnmail verschickt wird
	http://192.168.1.56/prog?key=00000000&continuousQuantityOffsetSeconds=15  	- Zeit (s), die von der Durchflusszeit subtrahirt wird (Detektion)

	http://192.168.1.56/prog?key=00000000&CounterStoreMethod=2  		- how to get counter value after restart:  0: no storage, 1: CCU, 2:extEEPROM

	http://192.168.1.56/prog?key=00000000&minEepromStoreTimeInterval=180  	- Min time (sec) between two write access on ext EEPROM

	http://192.168.1.56/prog?key=00000000&maxEepromStoreQuantityInterval=50  	- Max quantity (liter) between two write access on ext EEPROM
	http://192.168.1.56/prog?key=00000000&maxElapsedTimeWarning=30.00  	- Max durschflussfreie Zeit pro Tag (Minuten), bei deren Unterschreiten eine Warnmail verschickt wird

	http://192.168.1.56/prog?key=00000000&hostCCU=192.168.1.24  		- IP der CCU
	http://192.168.1.56/prog?key=00000000&hostportCCU=8181  		- Port der CCU
	http://192.168.1.56/prog?key=00000000&alternateTimeServer1=0  		- IP alt Zeitserver Tripel 1; falls 0: Router ist Timeserver
	http://192.168.1.56/prog?key=00000000&alternateTimeServer2=0  		- IP alt Zeitserver Tripel 2
	http://192.168.1.56/prog?key=00000000&alternateTimeServer3=0  		- IP alt Zeitserver Tripel 3
	http://192.168.1.56/prog?key=00000000&alternateTimeServer4=0  		- IP alt Zeitserver Tripel 4
	http://192.168.1.56/prog?key=00000000&timeZone=1  			- Zeitzone (1=EU Berlin)

	http://192.168.1.56/prog?key=00000000&debug=1  				- 1=dhistory/debug on; 0=off

	http://192.168.1.56/prog?key=00000000&token=00000000  			- Password zur Aenderung der Konfiguration


 Wenn emails ueber die CCU versendet werden sollen, muss eine gueltige Empfaenger email Adresse konfuguriert werden
	http:192.168.1.56/prog?key=00000000&emailTo=seekircher-universal@gmx.de  	- email Adresse fuer Benachrichtigungen
 email-Versand ist derzeit aktiviert
	Fuer Emailversand ueber die CCU muss auf der CCU folgendes CUxD Device installiert und mit dem email-Addon verknuepft werden (s. Aleitung email-addon)
	CUX9100001  		- CUxD-Device (91), s. Anleitungen CUxD und email Addon

192.168.1.56/prog setzt Einstellungen: z.B.: ?key=<Key>&sensorNam=<SensorName>&cuxdCounterId=<Id des korrespondierenden CUxd>
&cuxdCounterId=<ID-Nr des empfangenden CUxD auf der CCU>
&cuxdMaxElapsedTimeId=<ID des CUxD auf der CCU>

	 ************** Histograms ********** 

	 figures in column 1 are the upper limits of the bins 

	 ************** flow ********** 
	liter/h	count	fraction 
	10.00	4213	0.18
	200.00	7804	0.33
	400.00	4264	0.18
	800.00	7486	0.31
	1000.00	171	0.01
	1200.00	48	0.00
	2000.00	13	0.00
	4000.00	0	0.00
	0.00	0	0.00

	 ************** ContinuousQuantity ********** 
	liter	count	fraction 
	1.00	2766	0.49
	2.00	636	0.11
	10.00	1927	0.34
	20.00	273	0.05
	100.00	60	0.01
	200.00	0	0.00
	400.00	0	0.00
	1000.00	0	0.00
	0.00	0	0.00

	 ************** ContinuousFlowTime ********** 
	seconds	count	fraction 
	5.00	927	0.16
	15.00	1210	0.21
	45.00	2287	0.40
	105.00	1014	0.18
	485.00	219	0.04
	1485.00	5	0.00
	3585.00	0	0.00
	-15.00	0	0.00

	 ************** DailyQuantity ********** 
	liter	count	fraction 
	10.00	0	0.00
	50.00	0	0.00
	100.00	3	0.05
	200.00	9	0.15
	300.00	27	0.44
	600.00	21	0.34
	1200.00	1	0.02
	0.00	0	0.00

	 ************** maxElapsedTime ********** 
	min	count	fraction 
	1.00	0	0.00
	10.00	0	0.00
	15.00	0	0.00
	60.00	0	0.00
	120.00	9	0.15
	360.00	52	0.85
	480.00	0	0.00
	0.00	0	0.00

	 ************** end ********** 

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: Wasserzähler erfassen - hochauflösend - Leckagekontrolle

Beitrag von klassisch » 01.06.2017, 18:52

Schau mal diese Suche (EX-26A) https://www.aliexpress.com/w/wholesale- ... ext=ex-26A , könnte ein featured link sein, bei Ali sind die Links immer so lang und geheimnisvoll.
Also sagen wir ca. 50 EUR incl. Einfuhrumsatzsteuer für den Sunx EX-26A. Es würde auch der 26B gehen, braucht dann aber noch einen Transistor, Optokoppler o.ä.
Dazu
- 2 WeMos 8,00 EUR
- 1 AP Dose 0,50 EUR
- Netzteil 12V 2,00 EUR
- Buck Converter 5V 0,80 EUR
- Schlauchschelle 2,90 EUR (das tut mir richtig weh, für so ein Stück Blech)
- Elkos, Kerkos ec. 1,00 EUR
- Kleinkram: Griff in die Bastekiste
- Arbeitszeit: muß eben Spass machen

Es gibt hier user, die bei ihrem Versorger einen elektronischen Wasserzähler raushandeln. Das kann noch billiger sein. Aber meist nicht so hochauflösend.

In dem so geschützten Haus wird leider ab und an vergessen einen Wasserhahn zuzudrehen. Nach einigen Minuten bekomme ich eine Mail und kann dann auch remote schauen, ob das Wasser aktuell fließt und wie stark und ggf. anrufen.
Die Absolutgenauigkeit ist mir nicht so wichtig.Bei der Jahresablesung schaue ich direkt auf den Rollenzähler. In die Absolutgenauigkeit geh die Übersetzung zwischen Sternrad und Rollenzäher ein. Hier habe ich einen ersten Wert berechnet. Mag sein daß ich am Jahresende 100Liter daneben liege.
Wenn Absolutgenauigkeit wichtiger ist, dann sollte man den Literzeiger (1 Umdrehung = 1 Liter) abtasten.

Was ich mir noch wünschen würde, aber in der Prioliste ganz hinten steht:
- Histogramme ins EEPROM speicher, damit sie auch Spannungsausfälle überstehen
- Die Berechnung der EEPROM-Schreibzyklen "Heute" und "gestern" ist fehlerhaft. Aber erstens liege ich derzeit bei 70 Zyklen/Tag (ausgelegt auf 180) und zweitens ist das eh Spielerei, weil man den Zählerstand beim Hochlauf von der CCU holen kann.
Peanuts, also unterm Strich noch sehr zufrieden.

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“