NEWS
Wasserzähler Projekt, Script funktioniert nicht
-
Hallo zusammen,
habe nun an meinem Sensus Wasserzähler einen TCR5000 optischer Sensor angebracht, der von der Scheibe Impulse zählt, dies an einem Wemos D1 weitergibt und mittels MQTT als Datenwert an ioBroker übergibt. Eigentlich alles sehr einfach mit Easy ESP.
Pro Liter gibt es einen Impuls
Jetzt möchte ich die Impulse in Wasserverbrauch umrechnen, bekomme das aber nicht wirklich hin.
Erzeugt wurde von EasyESP bzw. MQTT der Datenpunkt /Wemos6/Flow/Count
Hier kommen auch immer mal Zahlen von 0-3 an.
Hier das Blockly Programm, was ich geschrieben habe.
Was ich damit tun möchte:
Sobald ich eine Veränderung des Counters habe, soll der Wert von Counter dem vorerst manuell erzeugten Datenpunkt "javascript.0.Wasserzaehler.Counter" dazuaddiert werden.
Problem ist, wenn die reflektierende Scheibe das Wasserzählers genau so stehen bleibt, dass der Sensor ständig zählt, werden immer fortlaufend die Werte dazuaddiert, was ja eigentlich nicht sein dürfte, da ja nur addiert werden soll, wenn es im Datenpunkt "mqtt.0.Wemos6.Flow.Count" keine Veränderung gibt, da er bei 2 oder 3 ständig steht.
Ach ja, in EasyESP ist der Sensor wie folgt konfiguriert:
Als Datenpunkt wird aber nur Value 1 Count übergeben.
Grüße
-
Hallo zusammen,
habe nun an meinem Sensus Wasserzähler einen TCR5000 optischer Sensor angebracht, der von der Scheibe Impulse zählt, dies an einem Wemos D1 weitergibt und mittels MQTT als Datenwert an ioBroker übergibt. Eigentlich alles sehr einfach mit Easy ESP.
Pro Liter gibt es einen Impuls
Jetzt möchte ich die Impulse in Wasserverbrauch umrechnen, bekomme das aber nicht wirklich hin.
Erzeugt wurde von EasyESP bzw. MQTT der Datenpunkt /Wemos6/Flow/Count
Hier kommen auch immer mal Zahlen von 0-3 an.
Hier das Blockly Programm, was ich geschrieben habe.
filename="2018-01-04 22_08_27-ioBroker.admin.png" index="1">~~
Was ich damit tun möchte:
Sobald ich eine Veränderung des Counters habe, soll der Wert von Counter dem vorerst manuell erzeugten Datenpunkt "javascript.0.Wasserzaehler.Counter" dazuaddiert werden.
Problem ist, wenn die reflektierende Scheibe das Wasserzählers genau so stehen bleibt, dass der Sensor ständig zählt, werden immer fortlaufend die Werte dazuaddiert, was ja eigentlich nicht sein dürfte, da ja nur addiert werden soll, wenn es im Datenpunkt "mqtt.0.Wemos6.Flow.Count" keine Veränderung gibt, da er bei 2 oder 3 ständig steht.
Ach ja, in EasyESP ist der Sensor wie folgt konfiguriert:
filename="2018-01-04 22_16_44-Wemos6.png" index="0">~~
Als Datenpunkt wird aber nur Value 1 Count übergeben.
Grüße ` Hab das fast genau so mit nem Gaszähler. Stell mal im ESP-Konfig den Counter-Typ auf "Count/Total/Time"
Dann sollten schon mal 3 Datenpunkte da sein.
Total × 1Liter = Gesamtverbrauch
Time (zeit zwischen 2 Impulsen), damit ist der Momentanverbrauch zu berechnen
-
Danke für den Tipp. Habe alle drei Datenpunkte, Total Count is not peristent.
Ist auch logisch.
In welcher Einheit ist Time? ms?
Problem ist aber noch immer, wenn die reflektierende Scheibe genau über dem Sensor gerade steht, der Counter immer weiter läuft. Wie hast du das gelöst?
-
Wenn der Counter weiterläuft, muss doch dein Sensor "flackern", beim Gaszählersensor passiert das nicht der Reed-Kontakt bleibt sicher geschlosssen, jedenfalls bei mir.
Enrico
-
Total Count is not peristent. ` Jupp, Strom am ESP weg, Zähler auf "0" –> also in eine Variable wegschreiben
In welcher Einheit ist Time? ms? ` korrekt
Problem ist aber noch immer, wenn die reflektierende Scheibe genau über dem Sensor gerade steht, der Counter immer weiter läuft. Wie hast du das gelöst? ` kannst ggf. noch was am Sensor einstellen?
PS: soll/muss dein Delay wirklich auf "1 sek" stehen?
-
Also, habe den Sensor noch etwas verrückt, Counter zählt noch immer von alleine hoch, egal ob ich nun den Type auf Rising oder falling gestellt habe. Muss ich über den Poti noch was einstellen?
Delay kann ich nur auf Min. 1 Sek. stellen. Bei 0 springt er auf 60 Sek.
-
Muss ich über den Poti noch was einstellen? ` Kann ich leider nicht sagen, kann mir aber vorstellen, dass man an solchen Modulen noch die Empfindlichkeitverstellen kann.
Delay kann ich nur auf Min. 1 Sek. stellen. Bei 0 springt er auf 60 Sek. ` 0 wird nicht gehen. Der Counter zählt die Impulse und gibt diese dann nach Ablauf des eingestellten Delay zurücksetzt, setzt "Count" auf 0 und von vorn beginnt.
Bei meinem Gaszähler habe ich 60sec. Das reicht mir.