NEWS
Wasserzähler - Selfmade
-
@pfried sagte in Wasserzähler - Selfmade:
@sissiwup Bitte um Nachsicht ich bin Anfänger: Ich habe statt dem Parser im IOBroker nun unter javascript Deinen Code reinkopiert, aber es stellt das Ding bei var req = require('request'); auf: cannot find name 'require'
Was mache ich falsch?
Hallo,
request ist schon vordefiniert. Muss nicht mehr eingebunden werden.
Und zur Fehlermeldung siehe: Forum zu FehlercreateState('javascript.0.vWasserzaehler',""); schedule('*/10 * * * *', function () { var url = "http://192.168.1.13:3000/setPreValue?value="+getState('javascript.0.vWasserzaehler').val; request(url, function(error, response, body) { if (body){ log("Set OK:"+ body,"info"); } else { log("Set fehlerhaft:" +url+"->"+ body,"warn"); } }) var url = "http://192.168.1.13:3000/wasserzaehler.html?usePreValue"; request(url, function(error, response, body) { if (body){ var count=String(body.match(/^[0-9.N]+/)); log("Body OK:"+body+"->" + count,"info"); setState("javascript.0.vWasserzaehler",count); } else { log("Body fehlerhaft:" +url+"->"+ body,"warn"); } }) });
-
@pfried
Was steht in javascript.0.vWasserzaehler ?
Schreib da mal deinen letzten Wert rein123.34567
-
@jomjol sagte in Wasserzähler - Selfmade:
@sissiwup Colle Idee mit dem automatischen Setzen von preValue. Den Wert könnte man auch intern speichern. Frage ist dann nur, was mache ich, wenn der Container länger nicht lief und der Wert schon "sehr alt" ist. Man könnte noch ein Verfallsdatum hinzufügen - überlege ich mir mal.
Ja, ich mußte bei mir die 0.1 auch schon erhöhen, da ich die Wasseruhr nur alle 10 Minuten auslese. Nutze jetzt 0.5 (config.ini)
-
@sissiwup @pfried
Ich habe gerade die rolling erweitert, um das Speichern und Laden des preValue-Wertes in eine "prevalue.ini". Über zwei Parameter im Bereich ConsinstencyCheck kann man ...- Das Laden ein/ausschalten:
ReadPreValueFromFileAtStartup=True
- Eine maximale Zeit seit dem letzten Speichern und dem Laden definieren, um zu alte Werte beim Laden zu verwerfen:
ReadPreValueFromFileMaxAge=30
Einheit hier ist Minuten - sprich wenn der gespeicherte Wert älter als 30 Minuten vor dem Neustart ist, wird er nicht mehr geladen.
Der Docker-Build für die normale Rolling und Raspi-Rolling läuft gerade auf Docker-Hub und sollte bald verfügbar sein. Macht euch vielleicht vorher ein Backup eurer alten Rolling, da ich für Debugging und Fehlersuche die Tage nicht so viel Zeit habe. Bei mir läuft es, aber man weiß ja nie :-).
Gruß, jomjol
- Das Laden ein/ausschalten:
-
@sissiwup Danke, jetzt geht es!
-
Druckt jemand die Halterung für den ESP32 in schwarz gegen Bezahlung?
-
Update der latest (amd64) und raspi (armv7) Version auf V5.3.0 (aktuelle Rollings). Bei sind in den letzten Tagen keine Fehler aufgetreten oder gemeldet worden und ich beginne eine größe Implementierung für die Config.ini - daher das Update.
Gruß,
jomjol -
Hi jomjol, bei mir geht die neue Version wieder einmal super! Danke! Sag hast Du eine Lösung für das Anlaufen des Wasserzählers, ich habe schon einige Dinge ausprobiert, aber das Problem kommt immer wieder......
-
@pfried Anlaufen ist bei mir kein Problem, da der Zähler in einem recht warmen Kellerraum ist. Könnte mir einen Lüfter oder eine kleine Heizung vorstellen. Meistens reicht ja schon ein Temperaturuntersschied von wenigen 2-3 Grad, um eine Kondensation zu vermeiden. Problem ist nur, dass man die Wasseruhr selbst heizen müsste - das geht eher nicht.
Hattest du Kondensation schon, bevor du die Halterung drauf hattest? Wenn nein, könnte schon eine Halterung mit großen Lüftungslöchern helfen - vielleicht erstmal reinsägen. -
Guten Morgen,
könnte einer der Docker Experten hier mal noch ne kleine Anleitung machen was man machen muss, wenn ich die neue Version herunterladen und starten will. Behelfe mir momentan damit, dass ich alle Container und Images löschen, neuen Pull machen und den Container starte. Das geht aber sicher auch einfacher.Was mich immer noch irritiert: Mein Proxmox Container hat ohne heruntergeladene Docker Container ca. 5GByte Speicherbedarf auf der Festplatte. Lade ich den Docker herunter und starte diesen, Hat sich der Speicherbedarf (Festplatte) um ca. 13GByte erhöht auf ca. 28 GByte.
-
@ecki945
Guten Abend!
Auch wenn der Container noch läuft kann man mit:sudo docker pull jomjol/wasserzaehler:[Docker Version].........ein Image laden (geht auch bei laufenden Container)
sudo docker system df............................................................................Anzeige aller Images und Container
sudo docker container ls........................................................................zeigt alle Container an
sudo docker image ls...............................................................................zeigt alle Images an
sudo docker container prune................................................................löscht alle alten Container
sudo docker image prune......................................................................löscht alle alten Images
sudo docker container kill [Container ID oder Alias Name].....Stoppt den Container mit der korresp. ID oder Alias
sudo docker container rm [Container ID oder Alias Name].....Removed den Container (nach kill aufrufen-Port Freigabe)
sudo docker restart [Container ID oder Alias Name]..................Neustart des ContainersDas sind alle Kommandos die ich verwende (es gibt aber viel, viel mehr: sudo docker --help).
Aufruf des Containers:
sudo docker run -d --name wasser --restart unless-stopped -p 3000:3000 ..........................
-d.................................................start as a service
--name wasser.......................Alias Name des Containers
--restart unless-stopped....Docker startet nach Neustart des Systems wieder selbstständig
-P 3000:3000...........................Port ausserhalb / innerhalb des Containers (innerhalb soweit ich weiß nicht ändern). Somit kann man mehrere Instanzen des Containers laufen lassen, halt mit verschiedenen Ports.So ich hoffe, dass ich alles richtig wiedergegeben habe
-
@jomjol sagte in Wasserzähler - Selfmade:
Update der latest (amd64) und raspi (armv7) Version auf V5.3.0 (aktuelle Rollings).
Danke für Deine viele Arbeit und Mühe... und ich bin echt begeistert, was du hier auf die Beine stellst....
Nach meinem letzten Pull für den :latest, habe ich bei der Versionsabfrage http://xxx.xxx.xxx.xxx:3000/version noch Version 5.0.0 als ergebnis.
ist das richtig?sorry wenn ich doof frage...
-
@Rababersaft Nein, da hast du noch nicht die aktuelle Version. Die sollte
Version 5.3.0
zeigen.
Zumindest bei meinerrolling
tut sie das auch.raspi-rolling
habe ich nicht aktiv geprüft.
Du must den docker container nochmal ziehen und neu starten.
Gruß, jomjol -
@Rababersaft sagte in Wasserzähler - Selfmade:
@jomjol sagte in Wasserzähler - Selfmade:
Update der latest (amd64) und raspi (armv7) Version auf V5.3.0 (aktuelle Rollings).
Danke für Deine viele Arbeit und Mühe... und ich bin echt begeistert, was du hier auf die Beine stellst....
Nach meinem letzten Pull für den :latest, habe ich bei der Versionsabfrage http://xxx.xxx.xxx.xxx:3000/version noch Version 5.0.0 als ergebnis.
ist das richtig?sorry wenn ich doof frage...
Hallo,
bei meiner latest version kommt:
Version 5.3.0
docker image ls -a docker container ls -a
zeigt die vorhandenen Images bzw. container (hier kannst du auf Created schauen)
-
setPreValue?value="ungültiger Wert"
=> Server stellt das arbeiten ein!
Kannst du das noch abfangen bitte?
-
Ich mache setPrevalue?value=348.0424
Last value set to: 00348.0423
Dann:
wasserzaehler.html?usePreValue348.0423 00348 0423 ErrorRateTooHigh (-2.0)ErrorNegativeRate 346.0423
Wie kommt er auf die 346 ?
Wenn ich das direkt Aufrufe:
-
@sissiwup Der letzte Wert ist laut Config.ini der Wert der vom Wasserzähler gelesen wird.
ErrorReturn=OldValue, ErrorMessage, Readout
Wie man auf dem Bild sieht wechselt der Zähler gerade von 7 auf 8 (Ziffer 5). Da die 8 noch abgeschnitten ist, liest er eine 6, daher kommt der "falsche" Wert 346.0423
-
@sissiwup Ich hatte früher auch immer diese Aussetzer bei dem Übergang der "Digitalzahlen"
Ich habe per Blockly dann die optische Erkennung rausgenommen, und lasse mir das ganze errechnen. Seit 4 Wochen keine Fehlwerte mehr.
https://forum.iobroker.net/post/340650
Die Weiterleitung der Werte an den Homematic CCU kann man rauslöschen, wenn nicht benötigt.
Würde mich freuen, wenn das jemand auf ein professionelles Niveau bringen könnte. -
@jomjol
mal eine kleine Rückmeldung von der aktuellen Version 5.3: Bei mir schafft es der Container nicht 24 Stunden durchzulaufen. Das war mit der vorherigen Version nicht so.Weitere Frage. Bei mir "meckert" der Docker Container beim Aufruf dass der Container nicht für Erweiterungen für Intel I3 oder I5 Prozessoren compiliert ist. (SSE, .... ) Vielleicht kann man das in einer der zukünftigen Versionen mal einbauen.
EDITH: Könnte auch am Parser Adapter liegen. Habe diesem mal auf Debug umgestellt und werde die Sache beobachten.
-
@ecki945 sagte in Wasserzähler - Selfmade:
@jomjol
Weitere Frage. Bei mir "meckert" der Docker Container beim Aufruf dass der Container nicht für Erweiterungen für Intel I3 oder I5 Prozessoren compiliert ist. (SSE, .... ) Vielleicht kann man das in einer der zukünftigen Versionen mal einbauen.Das mit der fehlenden Erweiterung für Intel I3 und I5 ist Absicht. Gemeint ist damit unter anderem die fehlende AVX2 Erweiterung. AVX2 ist z.B. auf Prozessoren, wie sie in vielen NAS-Systemen (z.B: DS718) nicht verfübar und der Container würde nicht mehr laufen. Daher habe ich extra eine Tensorflow/Kereas Version ohne AVX2 kompiliert, die auf allen Prozessoren ab "core2" läuft.
Da der Rechenaufwand nicht allzu aufwendig ist, merkt man es an der Performance nicht wirklich und so läuft es auch auf günstigeren Prozessoren.