NEWS
Tasmota script Counter wird nicht gespeichert
-
@martinp Also. zum einen der erwähnte Screenshoot:

Zu der Frage "beides": Warum? In Spitzenzeiten hatte ich 3 von den Kameras im Einsatz, für Strom, Gas und Wasser je eine.
Da werden Bilder analysiert, die ESP32 haben genug damit zu tun. Ich würde (und habe und tue das auch immer noch) für jeden Einsatzzweck einen getrennten ESP einsetzen.
Strom wird jetzt nach Zählertausch per "Hichi-Lesekopf", also per Tasmota IR ausgelesen,
Beim Wasserzähler habe ich noch keine Lösung (hat kontrastarmes LCD-Display, Verschlüssungsschlüssel für Auslesen über Funk werden aus Datenschutzgründen nicht herausgerückt)Die Version der Software von Gaszähler ist schon älter, aber ist ausnahmsweise ein "Never Change if it is running" Fall, wenn es sauber und zuverlässig ausließt kann jede Änderung es nur verschlechtern.
@bananajoe
So kleine LCDs sind meistens für einen bestimmten Blickwinkel gebaut.
Es typ. 3, 6, 9 und 12 Uhr. 3 und 9 gibt es eigentlich nicht.
Weniger oft ist 12 Uhr. Die meisten sind für den Blickwinkel 6 Uhr gemacht.
Was ist, wenn Du die Kamera nicht von oben auf die Wasseruhr schauen läßt, sondern von vorne 6 Uhr. Wann siehst Du die Ziffern am deutlichsten?
Oder hast Du ein Problem, dass die Ziffern eventuell gemultiplexed sind? -
@bananajoe
So kleine LCDs sind meistens für einen bestimmten Blickwinkel gebaut.
Es typ. 3, 6, 9 und 12 Uhr. 3 und 9 gibt es eigentlich nicht.
Weniger oft ist 12 Uhr. Die meisten sind für den Blickwinkel 6 Uhr gemacht.
Was ist, wenn Du die Kamera nicht von oben auf die Wasseruhr schauen läßt, sondern von vorne 6 Uhr. Wann siehst Du die Ziffern am deutlichsten?
Oder hast Du ein Problem, dass die Ziffern eventuell gemultiplexed sind?@martinsu muss ich noch mal schauen, ich hatte dann irgendwann aufgegeben. Ich hatte zunächst LED Lampen mit verbaut um die Helligkeit und den Kontrast zu erhöhen. Die LED flimmern aber, auch wenn wir Menschen das nicht sehen. Irgendein Sensor mochte das nicht und der Zähler war nach 2 Wochen Tod. (Oder die 14 Jahre Batterie doch schon leer).
Ich wollte mal einen Hichi dranhalten um zu sehen was per IR kommt, RFID habe ich eine App zum auslesen, per Tasmota RFID konnte ich da aber nicht finden
-
Thema Fehlimpulse:
Ich hatte mir einen Regenmengenmesser gebastelt, der über eine Wippe und Reed-Kontakt die Impulse zählt, die bei Regen durch die Wippe erzeugt werden.
Die Impulse werden über einen Counter (Sonoff/MQTT/WEMOS D1 Mini) via ioBroker gezählt.
Anhand der Impulse und der Fläche des Regenmesser-Trichters kann dann die Regenmenge ermittelt werden.Soweit zum Prinzip, allerdings traten dann in unregelmäßigen, nicht nachvollziehbaren Abständen, Störimpulse auf.
Diese führten dann natürlich zu einer ehöhten Regenmenge.
Es lag kein mechanisches Problem (Prellen) vor, sondern wie ich nach Internetrecherche feststellen konnte, ein elektrisches.
Durch einfaches Parallelschalten eines Tiefpasses (Widerstand 1k, Kondensator uF) zum Reed-Kontakt, konnte ich die Fehlimpulse erfolgreich eliminieren. Seitdem hatte ich keinen einzigen Störimpuls mehr.
Anbei der Schaltplan meines Regenmengen-Messers.Evtl. ist dieser Tipp ja hilfreich für andere, die ebenfalls Impulse zählen und Störimpulse (keine mechanischen) auftreten?
@joergeli sagte in Tasmota script Counter wird nicht gespeichert:
Durch einfaches Parallelschalten eines Tiefpasses (Widerstand 1k, Kondensator uF) zum Reed-Kontakt, konnte ich die Fehlimpulse erfolgreich eliminieren. Seitdem hatte ich keinen einzigen Störimpuls mehr.
Ich habe einen Tiefpass "per Blockly" gemacht... Nur, wenn 10 Sekunden seit der letzten Auslösung vergangen sind, wird ein Impuls akzeptiert:

Der Sensor, den ich aktuell montiert habe, ist recht groß. Davon passt nur einer vor den Drehkreis des Metallsegments.
Hatte zwei kleinere Sensoren besorgt, die sind aber weniger sensibel, und lösen auf die Entfernung zur Metallplatte gar nicht aus ...
Ansonsten hätte ich Sensor 1 nach Auslösung so lange gesperrt, bis Sensor 2 auf der gegenüberliegenden Seite des Drehkreises ausgelöst hätte ...dann das Spiel mit umgekehrten Rollen usw.Rechnung für den Timeout:
10 Liter pro Impuls, ca 11 kWh/ m³ Gas
=>0,11 kWh pro Impuls.
bei einer Brennerleistung von 18 kW also maximal 18/0,11 = 164 Impulse pro Stunde. => Maximal ein Impuls alle 22 Sekunden ... -
@joergeli sagte in Tasmota script Counter wird nicht gespeichert:
Durch einfaches Parallelschalten eines Tiefpasses (Widerstand 1k, Kondensator uF) zum Reed-Kontakt, konnte ich die Fehlimpulse erfolgreich eliminieren. Seitdem hatte ich keinen einzigen Störimpuls mehr.
Ich habe einen Tiefpass "per Blockly" gemacht... Nur, wenn 10 Sekunden seit der letzten Auslösung vergangen sind, wird ein Impuls akzeptiert:

Der Sensor, den ich aktuell montiert habe, ist recht groß. Davon passt nur einer vor den Drehkreis des Metallsegments.
Hatte zwei kleinere Sensoren besorgt, die sind aber weniger sensibel, und lösen auf die Entfernung zur Metallplatte gar nicht aus ...
Ansonsten hätte ich Sensor 1 nach Auslösung so lange gesperrt, bis Sensor 2 auf der gegenüberliegenden Seite des Drehkreises ausgelöst hätte ...dann das Spiel mit umgekehrten Rollen usw.Rechnung für den Timeout:
10 Liter pro Impuls, ca 11 kWh/ m³ Gas
=>0,11 kWh pro Impuls.
bei einer Brennerleistung von 18 kW also maximal 18/0,11 = 164 Impulse pro Stunde. => Maximal ein Impuls alle 22 Sekunden ...@martinp Die Empfindlichkeit von Reed-Kontakten muss man im Datenblatt nachlesen (und hat fast nichts mit der Baugröße zu tun),
Im Datenblatt gibt es typischerweise einen Wert "AT" = ampere-turn, je niedriger desto empfindlicher. (kurze Erklärung bei Wikipedia unter "Amperewindung") -
@martinp Die Empfindlichkeit von Reed-Kontakten muss man im Datenblatt nachlesen (und hat fast nichts mit der Baugröße zu tun),
Im Datenblatt gibt es typischerweise einen Wert "AT" = ampere-turn, je niedriger desto empfindlicher. (kurze Erklärung bei Wikipedia unter "Amperewindung")@martinsu Bei mir ist kein Reed-Kontakt im Einsatz, sondern so etwas:
https://www.ebay.de/itm/234142256430
Messverfahren basiert auf der Störung eines magnetischen Wechselfeldes durch Annäherung von Metall ..
Das Metall muss selber kein Permanentmagnet sein (wie beim Reed - Kontakt)Mein Gaszähler hat eine nichtmagnetische Metallscheibe, daher ist ein Reed-Kontakt ungeeignet
-
Hallo,
um einen Gaszähler mitzulesen, habe ich mir eine Tasmota Version mit
#define USE_SCRIPT, #define USE_SML_M, #undef USE_RULES, #define USE_SCRIPT_WEB_DISPLAY
erzeugt und in einen D1 Mini Pro geflashed.
Der Reed-Kontakt ist an D5 und GND mit einem 4K7 Widerstand gegen 3V3.
Ein Script aus dem Internet habe ich mir angepasst, läuft auch soweit. (Platine mit dem Reed Kontakt liegt z.Z. noch bei mir auf dem Tisch).
Wenn ich den Reed Kontakt mit einem Magnet betätige, wird gezählt und die KW berechnet.
Ganz oben auf dem Tasmota Web Interface wird "Zähler1..........173" angezeigt, darunter meine Ausgaben.
Counter 1 hat bisher 173 Impulse gezählt.
Zähle ich jetzt 5 Impulse weiter, wird "Zähler1..........178" angezeigt (OK)
Klicke ich auf "Neustart", steht nach kurzer Zeit oben wieder "Zähler1..........178".
Tasmota hat sich die Impulse gemerkt.
Wenn ich wieder 3 Impulse weiterzähle und den D1 Mini stromlos mache, fehlen anschließend die 3 Impulse und der alte Wert erscheint.- Versuch war mit "SaveData 60", so sollen die Daten alle 60 Sekunden gespeichert werden, ohne Erfolg.
- Versuch mit "svars". Ich habe mein Script so abgespeckt, dass alle 30 Sekunden "svars" aufgerufen wird. Aber der Counter wird nicht gespeichert. (Ich habe natürlich die Zeit abgewartet, bevor ich den Strom getrennt habe)
Meine Test-Script:
>D p:c1=0 t=0 >B >S t=t+1 if t>30 then t=0 svars endif >T ;c1=Counter#C1 c1=pc[1] >W c1=%0c1% | t=%0t% #Was muss ich ändern, damit der Counter-Wert mit "svars" gespeichert wird und so die stromlose Zeit übersteht?
Oder was kann ich sonst machen?@MartinSU sagte in Tasmota script Counter wird nicht gespeichert:
Ein Script aus dem Internet habe ich mir angepasst, läuft auch soweit. (Platine mit dem Reed Kontakt liegt z.Z. noch bei mir auf dem Tisch).
Wenn ich den Reed Kontakt mit einem Magnet betätige, wird gezählt und die KW berechnet.Hallo, auf welches Script beziehst Du dich?
Wie hast Du es schlussendlich gelöst? -
-
Dafür hat man natürlich andere Probleme. Betriebssicherer ist vermutlich der Readkontakt und einfach mit der Stromversorgung. Schöne wäre dann eine Lora, ZigBee oder Matter-Verbindung die mqtt nutzt.
@dojodojo sagte in Tasmota script Counter wird nicht gespeichert:
Dafür hat man natürlich andere Probleme. Betriebssicherer ist vermutlich der Readkontakt und einfach mit der Stromversorgung. Schöne wäre dann eine Lora, ZigBee oder Matter-Verbindung die mqtt nutzt.
Naja, das AI-on-the-edge projekt liest schlicht die Zahl aus die der Zähler anzeigt und sendet diese dann z.B. per MQTT. Selbst wenn die sich mal mit einer Zahl verliest, stimmt der Wert dann bei der nächsten wieder. Wenn das einmal läuft scheitertet es höchstens mal an einer defekten SD-Karte.
Außer "das Gerät liefert gleich den digitalen, richtigen Wert" kann ich mir keine bessere Lösung vorstellen. -
AI-on-the-edge muss sehr genau ausgerichtet sein, einmal angestoßen und muss wieder neu justiert werden.
@dojodojo du hast das noch nicht benutzt, oder?
Man gibt 2 Marker/Bezugspunkte zum Ausrichten vor, solange diese im Bild bleiben, schafft er das.
Ich persönlich stoße aber auch nicht so oft gegen meinen Gaszähler.
Aber ja, kam schon mal vor das meine Frau Wäsche am Aufsatz aufgehängt hat. -
Hallo zusammen,
ich habe insgesamt 3 "AI-on-the-edge" laufen, 1 x Gaszähler, 2 x Wasseruhr.
Der Gaszähler hat den kompliziertesten Aufbau, läuft aber quasi ohne Probleme. Wie Ihr auf dem Foto sehen könnt, ist vor dem Gaszähler nur ca. 2cm Platz. Ich arbeite dort mit Umlenkspiegel, abgesetzte Kamera und extra weißen LEDs für die Beleuchtung. Durch den Spiegel muss in der Software bei "Alignment" der Punkt "Initial Mirror" = "true" sein. Die WLAN Verbindung geschieht über eine externe Antenne, da der WLAN Empfang im Keller nicht so toll ist.
Bei den Wasseruhren treten bedeutend mehr Probleme auf. Das Probelm ist immer, wenn die analogen Zeiger bei ",9xxx" sind und das Einer-digital-Digit schon fast komplett ist. Also der Zähler eigentlich "123,9xxx" ist, wird oft schon "124,9xxx" übermittelt. Im ioBroker habe ich da noch eine eigene Logik "nachgeschaltet", die bei Unstimmigkeiten einen
"http://<IP>/setPreValue?numbers=main&value=-1" auslöst und wenn der dreimal nichts geholfen hat noch einen
"http://<IP>/reboot" auslöst (kam aber erst einmal vor).

Sonst arbeitet die ganze Sache doch recht Problemlos, mit dem Reedkontakt gab es mehr Probleme.
P.S. die schwarzen Pappen sind dazu da, dass keine Spiegelungen der Blitzlicht-LED vom Gaszählergehäuse in die Kamera kommen.