FHEM Forum

FHEM => Sonstiges => Thema gestartet von: StefanStrobel am 26 Januar 2014, 12:08:13

Titel: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 26 Januar 2014, 12:08:13
Hallo,

Ich habe die bisherigen Diskussionen über das Auslesen von S0-Schnittstellen von Stromzählern mit einem Arduino o.ä. verfolgt, bin aber weder mit der Firmata-Lösung noch mit dem Impcount-Modul in der bisherigen Form 100% glücklich und wollte daher mal nachfragen, ob hier noch Bedarf an einem spezialisierten Modul oder einer Weiterentwicklung von Impcount besteht oder wie andere Anwender das handhaben.

Prinzipiell ist es sehr elegant, die zwei Adern der S0-Schnittstelle einfach direkt auf einen digitalen Eingangspin eines Arduino zu legen und dann in einem FHEM-Modul zu zählen. Mit der Firmata-Firmware im Arduino braucht man nicht einmal eine spezialisierte Software im Arduino, und das bestehende FRM_IN macht die Integration ins FHEM.

Was mir nicht so gut gefällt ist:
1. Wenn man FHEM z.B. auf einer Fritzbox laufen lässt, die auch mal mit anderen Dingen beschäftigt ist, "stauen" sich gelegentlich Impulse und FRM_IN zählt diese erst mit 1-2 Sekunden Verzögerung. Bei hohem Stromverbrauch über den Zähler können das viele Impulse sein und so erscheint für FHEM der Verbrauch kurzzeitig mal auf 0 zu sein und danach werden alle verzögerten Impulse innerhalb einer Sekunde gezählt, was einen viel zu hohen Stromverbrauch vortäuscht. In Grafiken ist das recht unschön.

2. Bei hohem Stromverbrauch kommen die Impulse in sehr schneller Folge. Bei einigen KW wird das FHEM-Modul mehrmals pro Sekunde aufgerufen und das belastet den "Server" unnötig. Viel eleganter wäre es meiner Meinung nach wenn die Software im Arduino zunächst selbst zählen würde und nur in einstellbaren Intervallen (z.B. minütlich) den Stand melden würde.

Mit Impcount ist der erste Punkt nach meinem Verständnis besser gelöst, da nicht nur der Status eines Pins an FHEM gemeldet wird, sondern die verstrichene Zeit. Damit verschiebt sich nichts wenn FHEM die Daten mal eine Sekunde später verarbeitet.
Aber: eine Zusammenfassung der Daten auf z.B. minütliche Summen findet auch hier nicht im Arduino statt.

Zudem gäbe es in Impcount sinnvolle Verbesserungsmöglichkeiten wie zum Beispiel die "Modulparameter" in Variablen des Moduls. Die wären in Attributen des Geräts besser aufgehoben und damit auch für jeden Zähler separat einstellbar.

Wie macht Ihr das?

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Prof. Dr. Peter Henning am 28 Januar 2014, 11:18:55
Vielleicht mal nachdenken über 1-Wire mit DS2423 als Zähler.

LG

pah

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Christian. am 08 Februar 2014, 08:21:01
Hallo Stefan,

schön, dass Dich das Thema auch interessiert.

Ich hatte ja ursprünglich mit impcount begonnen und habe dann zur Firmata-Variante gewechselt. Motivation dafür war vor allem, dass ich damit keinen anwendungsspezifischen Arduino-Sketch und kein eigenes FHEM-Modul benötige. Beides muss gepflegt werden, das wollte ich auf Dauer nicht. Außerdem erlaubt die Verwendung von Firmata einen flexibleren Einsatz des Arduino und ist nicht auf S0-Zähler beschränkt.

Zu 1. (Verzögerte Messung) und 2. (Häufiger Modulaufruf): kann ich nachvollziehen und bestätigen. Ich selber nehme diese Nachteile in Kauf und lebe damit. Das ist der Preis dafür, keinen eigenen Code zu pflegen.

Zu 3. (Mangelnde Flexibilität von impcount): stimmt auch. Zu dem Problem kam ich gar nicht mehr, weil zu Firmata gewechselt bin.

Zu Deinem Verbesserungsvorschlag: das Sammeln der Zeitstempel im Arduino und Übertragen in festen Intervallen, z.B. minütlich, halte ich für eine gute Idee. Das würde die Genauigkeit erhöhen und Last von FHEM (bzw. der Fritz!Box) nehmen. Eine Zusammenfassung der gemessenen Werte im ersten Schritt würde ich aber vermeiden wollen. Ich lege Wert darauf, dass die Signale möglichst unverändert gemessen und protokolliert werden. Aus meiner Sicht wäre also eher ein Puffer im Arduino wünschenswert, der die Zeitstempel sammelt und zur Abholung bereit stellt. Dann wird aber ein weiteres Problem zu lösen sein: die Zeitstempel des Arduino müssen mit denen der Fritz!Box synchronisiert werden. Das wäre aber vielleicht mit einem zusätzlichen Zeitstempel für den Zeitpunkt der Abholung schon erledigt. Dieser könnte in FHEM als Referenzwert genommen werden, auf den sich die abgeholten Werte beziehen.

Ich habe nichts dagegen, wenn Du Dich an eine Änderung oder Erweiterung des bestehenden Codes machen möchtest. Ich kann im Moment aber nur sehr begrenzt helfen, weil ich wenig freie Zeit dafür habe.

Schöne Grüße
Christian
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 14 März 2014, 20:36:30
Ich habe inzwischen doch nochmal bei Null angefangen und einen neuen Sketch und ein neues Modul entwickelt.

Der Sketch verwendet die Pin Change Interrupts, die beim Arduino Uno beispielsweise für jeden Eingang funktionieren. Ich selbst habe keinen Uno sondern einen Jeenode verwendet, da ich noch einen herumliegen hatte. Selbst daran kann man mindestens 8 S0-Zähler direkt anschließen.  Es wird keine weitere Hardware benötigt.

Der Arduino oder Jeenode kann von FHEM aus Konfigurationsbefehle empfangen. Darüber kann man einstellen, wie lange die Intervalle mindestens sein sollen, in denen er zählt bevor er ein Zwischenergebnis zurückmeldet. Ich habe das auf 1 Minute eingestellt. Wenn es etwas zu zählen gab, meldet der Arduino dann die Anzahl der Impulse je Eingang und die zugehörige exakte Zeit zwischen dem ersten und dem letzten Impuls zurück. Damit ist die Messung unabhängig davon, was FHEM in der Zwischenzeit eventuell noch bearbeiten muss und wie ausgelastet das Betriebssystem eventuell ist.
Wenn es im konfigurierten Intervall keine Impulse gab, wartet der Arduino mit dem Bericht bis ein konfiguriertes maximales Intervall abgelaufen ist. Dann meldet er auf jeden Fall die gezählten Impulse und die abgelaufene Zeit.
Das zugehörige FHEM-Modul macht daraus Readings für jeden Eingang am Arduino.

Konfiguriert werden alle Einstellungen über Attribute im Modul und das Modul konfiguriert dann den Arduino.
Beispiel:

define AC ACNT /dev/ttyUSB2@9600
# Umrechnung in kW
attr AC factor 1000
# min und max Intervall
attr AC interval 60 300
# Eingabe-Pins
attr AC pinD4 rising pullup
attr AC pinD5 rising pullup

Damit definiert man die Eingänge D4 bzw. 4 und D5 bzw. 5 als Zähler, gibt an, dass die steigende Flanke gezählt werden soll und dass die pullup-Widerstände aktiviert werden sollen.

Die Readings, die dabei heraus kommen können beispielsweise so aussehen:

pin4        46352.000    2014-03-14 20:26:04
pin5        37958.000    2014-03-14 20:26:04
power4   0.342            2014-03-14 20:26:04
power5   0.036            2014-03-14 20:26:04
version   ACNT V0.9b   2014-03-13 20:51:11

pinX ist der aktuelle Count und powerX der Verbrauch in kW.

Die übliche Doku ist im Modul. Vielleicht kann es ja noch jemand brauchen. Bei Interesse kann ich auch was ausführlicheres ins Wiki stellen.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: fhainz am 15 März 2014, 09:43:25
Hallo Stefan,

danke, so etwas suche ich schon lange.
Sehe ich das richtig, dass ich den Sketch nur verwenden kann wenn ich den Arduino via usb einbinde? Meine Arduino Mega hängt via LAN im Netzwerk und ich nutze derzeit die ConfigurableFirmata.

Grüße
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 15 März 2014, 21:12:46
Hallo,

ich verwende die USB / serielle Verbindung, da ich kein Ethernet-Shield habe. Daher ist eine LAN-Verbindung auch nicht implementiert.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: fhainz am 15 März 2014, 21:21:18
Ok schade.
Meinst du klappt das wenn ich deinen Sketch in die ConfigurableFirmata einfüge? Oder hast du vielleicht eine andere Idee wie ich das via LAN zum laufen bekomme?
Hab leider vom Arduino Code überhaupt keinen Plan :(

Grüße
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 17 März 2014, 15:12:04
Hallo Fhainz,

Evt. ein kleiner Raspberry für ein Remote Fhem?
Oder ein USB-Extender über CAT5?
Ich hab bei mir ein 10m Kabel vom Zählerschrank zur Fritzbox gelegt um die s0 Signale zu übertragen.

Am elegantesten wäre sicher das Ethernet-Shield. Vielleicht kauf ich doch mal eines und bau den Support noch ein. Sollte eigentlich nicht schwer sein. Kurzfristig werde ich da aber leider nicht dazu kommen.

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: fhainz am 17 März 2014, 18:39:49
Ein Raspi kommt nicht in frage wegen platzprobleme. Deswegen hab ich mir auch einen arduino geholt. Die S0 Zählung würde über das Raspi auch irgendwie gehen.
Die S0 Signale über die LAN Kabel Adern übertragen und erst anschließend zählen wäre auch eine Möglichkeit.

Zitat von: StefanStrobel am 17 März 2014, 15:12:04Am elegantesten wäre sicher das Ethernet-Shield. Vielleicht kauf ich doch mal eines und bau den Support noch ein. Sollte eigentlich nicht schwer sein. Kurzfristig werde ich da aber leider nicht dazu kommen.

Dann warte ich, vielleicht kaufst du dir ja wirklich das shield ;)  Es funktioniert ja zur Zeit, nur würde es mir besser gefallen wenn der arduino zählt und nicht FHEM.

Grüße
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: SvenJust am 18 Dezember 2014, 11:59:04
Hallo,

ich möchte hier StefanStrobel loben für dieses tolle Modul und den Arduino Code. Bei mir läuft läuft ein Arduino Nano mit einem digitaler Drehstromzähler DRT428DC zusammen. Seit einem Monat läuft alles absolut stabil. Top!

Ich verwende die folgenden Definitionen, um eine kontinuierliche Stromzählung zu erreichen.

define AC ACNT /dev/ttyUSB1@9600
attr AC factor 1000
attr AC interval 60 300
attr AC pinD5 rising pullup
attr AC userReadings energy_act {ReadingsVal("AC","power5",0)} ,energy monotonic  { ReadingsVal("AC","pin5",0)/1000}, energy_day monotonic  { ReadingsVal("AC","pin5",0)/1000}, energy_month monotonic  { ReadingsVal("AC","pin5",0)/1000}, energy_year monotonic  { ReadingsVal("AC","pin5",0)/1000}, energy_hauszaehler monotonic  { ReadingsVal("AC","pin5",0)/1000}
define lfenergyday FileLog ./log/EnergieD-%Y-%m-%d.log AC:energy:.*|AC:energy_hauszaehler:.*|AC:power5:.*
attr lfenergyday room Logfiles


Das UserReadings energy_act stellt den aktuellen Stromverbrauch dar, energy ist der Zählerstand des Drehstromzähler DRT428DC, energy_day, energy_month, energy_year sind der Tages-, Monats- und Jahresverbrauch und werden jeden Tag/Monat/Jahr um 00:00 Uhr per at auf 0 gesetzt. energy_hauszaehler ist der Zählerstand des EVU.

Vielleicht hilft die obige Definition jemanden beim Einstieg.

Vielen Dank an Stefan und viele Grüße
Sven
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: hexenmeister am 25 Januar 2015, 15:57:12
Hallo!

Das sieht ja genau danach aus, was ich brauche :)
Werde mir in der nächsten Zeit genauer ansehen. Spricht eigentlich etwas dagegen, das Modul zumindest in Contrib einzuchecken?

Grüße,

Alexander

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Prof. Dr. Peter Henning am 25 Januar 2015, 18:51:06
Sicher kann man das Einchecken.

Aber bitte ersetzt den Namen ACNT durch irgendetwas Längeres, mindestens 6 Buchstaben. Sonst blickt innerhalb kürzester Zeit niemand mehr durch bei den Modulnamen.

Vorschlag: ARDCOUNT

LG

pah
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 27 Januar 2015, 17:43:29
Hallo,

kann ich gerne umbenennen und einchecken.
ArdCount oder ArduCount ist wirklich sinnvoller als die Abkürzung, die ich damals vergeben hatte.
Ich habe auch mal überlegt, ob ich noch eine Netz-Option (Ethernet-Shield oder sogar ein angelöteter ESP8266) dazubaue, aber bisher hatten andere Projekte Priorität.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Bennemannc am 27 Januar 2015, 22:38:17
Hallo,

ich habe das ganze über einen Panstamp gelöst. Der sendet die aufgelaufenen Impulse alle 15 Minuten an fhem. Das AVERAGE Modul macht mir die Tages und Monatswerte dazu.
Zu dem Sketch benötigt man noch die Device-Beschreibung im SWAP Modul.

Gruß Christoph
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Inputsammler am 04 Februar 2015, 11:37:32
Hallo Bennemannc,

Das hört sich sehr gut an.
Versuche gerade meinen Gaszähler , mit einen Reedrelais, und meinen Wasserzähler, mit einen Hallsensor, auszulesen.

Das würde ich dann gerne per Funk an meinen FHEM Server schicken.
Dazu wäre ja der panstamp sehr gut geeignet dafür. (sind bestellt aber keider noch nicht angekommen)

Meine Frage ist hast du die Impulszähler direkt im panstamp gezählt oder verwendest du einen  extra S0 Zähler.

Wäre sehr interessiert dein Projekt mit den panstamp nach zubauen.

Gruß Gerd

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Bennemannc am 04 Februar 2015, 12:38:12
Hallo Gert,

die Impulse werden auf den Panstamp gezählt und alle 15 Minuten übertragen. Dann wird auch der Zähler auf dem Panstamp zurückgesetzt. Die Werte wären ja sonst sowieso spätestens bei einem Batteriewechsel oder Reset weg.
Aus den 15 min Werten kann man dann die Leistung (*4) ausrechnen. Die Werte für den Tag und den Monat summiert das Average Modul auf. Um eine Tagesgrafik zu erstellen, schreibe ich den Tageswert vom Average 5sec vor Mitternacht in eine Logdatei.
Das mag so nicht supergenau sein - aber mir ging es mehr darum eine Tagesverlaufskurve zu bekommen. An der kann man dann sehr schön sehen wer wann was macht.

Gruß Christoph
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Inputsammler am 06 Februar 2015, 15:21:09
Hallo Christoph,

Danke dir für deine Rückinfos.

Wenn meine panstamps hier sind werde ich mich, wenn ich darf , deine Config bei mir einsetzen mit deinem Sketch vom panstamp.

Die Genauigkeit reicht mir vollkommen aus.

Gruß Gerd
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 11 Februar 2015, 19:25:24
Hallo,

ich habe das ehemalige ACNT Modul in ArduCounter umbenannt und in contrib eingecheckt.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: noice am 23 Februar 2015, 22:17:00
hallo,
erstmal .. super projekt.
Gibt es dazu schon ein Wiki?
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: sebixvi am 16 Juli 2015, 10:50:21
Hallo zusammen,

auch ich möchte gerne meinen Gaszähler per S0-Schnittstelle auswerten und bin über das Modul gestolpert. Leider funktioniert es bei mir (Arduino pro micro mit 32U4-Atmel) noch nicht wirklich.

Im Arduino-Sketch musste ich die PCINT-Zuordnung anpassen, dass liegt aber am 32U4, der auf D8 und D9 PCINT4 und PCINT5 mappt.

Zudem fehlt in der Hauptschleife auch ein Aufruf von serialEvent(). Erst nachdem ich diesen ergänzt habe, kann ich mit dem Arduino kommunizieren und die Pins aktivieren. Per serieller Konsole funktioniert jedenfalls der Arduino jetzt.

FHEM bekommt aber noch keine Daten, was offenbar daran liegt, dass die gesetzten attrs (insbesondere bezüglich des Pins) beim Initialisieren nicht gesetzt werden, auf "get info" bekomme ich im Log nur Version, Min und Max-Werte angezeigt, aber keine aktiven Pins. Leider werden die Antworten des Arduino im Log nicht aufgezeichnet, was das Debuggen nicht gerade vereinfacht. Hier werde ich heute Abend weitermachen und Euch auf dem Laufenden halten.

Wenn jemand diese Probleme bereits behoben hat, bin ich für Hinweise dankbar ;-)

Sebi
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 22 Juli 2015, 19:37:11
Hallo Sebi,

auf den Arduinos und ähnlichen Boards mit einem Atmel 328 hatte ich bisher keines dieser Probleme, aber der 32U4 kann sich schon anders verhalten.
Wenn Du es portiert bekommst, kann ich die Änderungen gerne in den Sketch / ins Modul einbauen, so dass es der nächste Anwender leichter hat.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: no_Legend am 11 Februar 2016, 08:21:46
Ich bin gerade aus Zufall auf den Beitrag gestoßen.

Momentan habe ich meinen Gaszähler per Firmata angeschlossen.

Eine Frage zu dem Sketch hier sind, die Eingänge Software seitig schon entprellt?

Gruß Robert
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 13 Februar 2016, 11:20:43
Hallo,

eine Entprellung ist nicht drin. War bei mir nicht nötig.
Wenn Du es einbauen möchtest, übernehme ich gerne einen entsprechenden Patch.
Das sollte jedoch einstellbar sein, sonst gibt es bei Geräten mit hoher Frequenz Probleme.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: no_Legend am 13 Februar 2016, 11:31:38
Zitat von: StefanStrobel am 13 Februar 2016, 11:20:43
Hallo,

eine Entprellung ist nicht drin. War bei mir nicht nötig.
Wenn Du es einbauen möchtest, übernehme ich gerne einen entsprechenden Patch.
Das sollte jedoch einstellbar sein, sonst gibt es bei Geräten mit hoher Frequenz Probleme.

Gruss
    Stefan

So gut kenne ich mich mit dem Programmieren nicht aus.

Ich schau mal ob ich da was hin bekomme.

Gruß Robert
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Bennemannc am 13 Februar 2016, 21:58:47
Hallo,

die einfachste Art softwaremäßig zu entprellen ist sleep oder wait für xx millis. Also einfach alles was nach dem ersten Impuls kommt für die Zeit x ignorieren.

Gruß Christoph
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: no_Legend am 13 Februar 2016, 22:12:21
Ein bisschen kenn ich mich schon mit Arduino aus.
Normal entprelle ich immer mit Delay.

Es gibt aber auch die Bounce Library.

Ich bin nur nicht so firm mich mit solch eine Code auseinander zu setzten und ihn dann richtig Anzupassen.

Gruß Robert
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Bennemannc am 13 Februar 2016, 22:41:34
Hallo,

ich würde auf jeden Fall versuchen hardwaremäßig zu entprellen. Einfach einen Kondensator parallel zum Kontakt. Wenn Du mehrer Eingänge hast, kann es mit delay oder ähnlichem dazu kommen, das während des Delays zu Impulsen auf den anderen Eingängen kommt, die eventuell nicht erkannt werden. Ich mache das mit einem Panstamp und habe bis jetzt keine Probleme mit Prellen gehabt. Meine S0 Geber sind allerdings alle elektronisch - deswegen auch kein Prellen. Das gibt es ja nur bei mechanischen Kontakten.
Hast Du Probleme oder fragst Du nur interessenhalber ?

Gruß Christoph
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: no_Legend am 14 Februar 2016, 10:23:26
Momentan arbeite ich bei meinem Gaszähler mit einem Reed Kontakt und firmata.
Bisher läuft es ganz gut. Habe den reedkontakt per Hardware entprellt.

Bei firmata ist halt das Problem , dass wenn fhem gerade Neustartet die Impulse nicht gezahlt werden.

Gruß Robert
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: sash.sc am 08 Juni 2016, 19:20:55
Hallo zusammen.

Ich möchte gerne ein paar 230V Zähler mit S0  Schnittstelle in fhem einbinden. Mein Gedanke ist, ein arduino nano dafür zu nehmen. Bis zu wieviel Zähler kann man parallel anschließen, die dann einzeln mitgezählt werden?
Würde es auch Sinn machen, die Impulse erst in einem Zwischenspeicher zu puffern und dann in einem intervall an fhem zu senden?
Welche Hardware kann man dafür nehmen, die genug Puffer hat?

Mein raspi sitzt im Wohnzimmer und das Funkmodul dann im Sicherungskasten.

Hatte schon an eine nodemcu gedacht mit WLAN.

Hat da jemand eine Idee, oder schon eine funktionsfähige Lösung?

Danke schonmal im voraus!

Gruß Sascha
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Bennemannc am 08 Juni 2016, 23:33:22
Hallo,

wei schon mal erwähnt - ich habe einen Sketch für einen Panstamp. Der hat 4 Eingänge. Den könnte man natürlich umändern - der Panstamp ist ja auch nur ein Arduion mit Funkmodul. Das Funkmodul wird - soweit ich weiß - seriell angesprochen. Müßte man also umschreiben können. Der Panstamp sendet alle 15 Minuten - das macht der Akku ca. 6 Monate mit. Speicherprobleme habe ich bis jetzt nie gehabt. Die Register zählen die Impulse hoch und können entsprechend groß definiert werden.

Gruß Christoph
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: jorge am 11 Juli 2016, 14:26:08
Hallo,

habe den Counter folegendermaßen definiert:

define ArduCounter ArduCounter COM6@9600
attr ArduCounter factor 1
attr ArduCounter interval 10 60
attr ArduCounter pinD5 falling


Habe an D5 des Ardunino Nano mit D0 einer Lichtschranke (TCRT5000 IR Barrier Line Track sensor) verbunden, krieg aber nur sehr wenig aussagekräftige Readings in fhem angezeigt (Hatte angenommen, dass bei jedem Kontakt der Lichtscharnke um 1 erhöht wird). Vermute so was wie Prellung, obwohl es das doch bei einem digitalen Ausgang nicht gegebn dürfte.... Vielleicht kann mir jemand bei 'debouncen' helfen?

LG

Jorge
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: hermann258 am 13 Juli 2016, 18:22:52
Hallo
Bei mir kommen keine Daten an, es steht seit 4Stunden auf 0.000
Sketch ist ohne Probleme durchgelaufen.
Die Arducount ist aus dem Trunk ,sowie die .Ino auch

usb-FTDI_FT232R_USB_UART_AL021QSK-if00-port0 -> ../../ttyUSB2

Internals:
   DEF        /dev/ttyUSB2@9600
   DeviceName /dev/ttyUSB2@9600
   FD         15
   NAME       AC
   NR         14
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   buffer
   Readings:
     2016-07-13 17:51:27   state           opened
     2016-07-13 17:51:35   version         ArduCounter V1.0
Attributes:
   factor     2000
   interval   60 300
   pinD10     rising pullup
   pinD11     rising pullup
   pinD12     rising pullup
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 13 Juli 2016, 22:27:33
Hallo Jorge,

Mit GET info sendet das Modul einen show-Befehl an den Arduino. Der gibt dann den aktuellen Zählerstand aus. Das sollte helfen um genauer im Auge zu behalten was gezählt wird und was nicht.
Du kannst auch ohne Fhem per Terminal-Programm direkt mit dem Arduino reden. Das sind einfache Text-Befehle, die ich im Sketch implementiert habe.
Falls Dein Signalgeber prellt, müsstest Du das so erkennen können. Eine Entprellung ist im Sketch nicht drin. Das könnte man zwar einbauen, aber bisher hat das keiner benötigt bzw. haben es die Leute in Hardware gemacht

Gruß
     Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 13 Juli 2016, 22:32:30
Hallo Hermann,

Wenn nichts gezählt wird, dann stimmt vermutlich etwas mit dem Anschluss nicht. Falscher Pin, falsche Polarität o.ä.
Ich würde erst mal mit einem angeklemmten Taster prüfen, ob überhaupt die Anschlussseite passt.
Am besten auch noch ohne Fhem und direkt per Terminal. Wenn die Baudrate stimmt, meldet sich der Sketch im Terminal und Du kannst direkt mit ihm reden. Datails siehst Du am einfachsten direkt im Quellcode des Sketches. Der ist recht kurz und einfach.

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: hermann258 am 14 Juli 2016, 08:31:17
Danke StefanStrobel
s0+ s0- waren vertauscht
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: hermann258 am 15 Juli 2016, 08:27:54
Hallo
Wird der Arducounter eigendlich noch weiter entwickelt?
z.B. Euro Rechner
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 17 Juli 2016, 13:01:00
Hallo Hermann,

wenn was wichtiges / sinnvolles fehlt baue ich es gerne ein.
Eine Umrechnung von Verbrauch zu Gebühren kannst Du aber einfach auch ohne Erweiterung machen.
Entweder über das factor Attribut oder nachgelagert über userReadings etc.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: hermann258 am 22 Juli 2016, 08:09:46
Zitat von: SvenJust am 18 Dezember 2014, 11:59:04
Hallo,

ich möchte hier StefanStrobel loben für dieses tolle Modul und den Arduino Code. Bei mir läuft läuft ein Arduino Nano mit einem digitaler Drehstromzähler DRT428DC zusammen. Seit einem Monat läuft alles absolut stabil. Top!

Ich verwende die folgenden Definitionen, um eine kontinuierliche Stromzählung zu erreichen.

define AC ACNT /dev/ttyUSB1@9600
attr AC factor 1000
attr AC interval 60 300
attr AC pinD5 rising pullup
attr AC userReadings energy_act {ReadingsVal("AC","power5",0)} ,energy monotonic  { ReadingsVal("AC","pin5",0)/1000}, energy_day monotonic  { ReadingsVal("AC","pin5",0)/1000}, energy_month monotonic  { ReadingsVal("AC","pin5",0)/1000}, energy_year monotonic  { ReadingsVal("AC","pin5",0)/1000}, energy_hauszaehler monotonic  { ReadingsVal("AC","pin5",0)/1000}
define lfenergyday FileLog ./log/EnergieD-%Y-%m-%d.log AC:energy:.*|AC:energy_hauszaehler:.*|AC:power5:.*
attr lfenergyday room Logfiles


Das UserReadings energy_act stellt den aktuellen Stromverbrauch dar, energy ist der Zählerstand des Drehstromzähler DRT428DC, energy_day, energy_month, energy_year sind der Tages-, Monats- und Jahresverbrauch und werden jeden Tag/Monat/Jahr um 00:00 Uhr per at auf 0 gesetzt. energy_hauszaehler ist der Zählerstand des EVU.

Vielleicht hilft die obige Definition jemanden beim Einstieg.

Vielen Dank an Stefan und viele Grüße
Sven
Hallo
Wer kann mir sagen, wie ich das auf 3 Zähler anwende.
Gruß Hermann
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 22 Juli 2016, 22:05:00
Hallo Hermann,

Einfach jeden Zähler an einen Eingang hängen und dann ein weiteres Attribut für jeden Eingang setzen. Z.B. pinD6, pinD7,...
Siehe auch http://www.fhemwiki.de/wiki/ArduCounter

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: hermann258 am 23 Juli 2016, 07:22:34
kann ich das so machen?
energy_act_1:pin10.* {ReadingsVal("AC","power10",0)}, energy monotonic { ReadingsVal("AC","pin10",0)/2000}, energy_day monotonic { ReadingsVal("AC","pin10",0)/2000}, energy_month monotonic { ReadingsVal("AC","pin10",0)/2000}, energy_year monotonic { ReadingsVal("AC","pin10",0)/2000}, energy_hauszaehler monotonic { ReadingsVal("AC","pin10",0)/2000}, energy_act_2:pin11.* {ReadingsVal("AC","power11",0)}, energy monotonic { ReadingsVal("AC","pin11",0)/2000}, energy_day monotonic { ReadingsVal("AC","pin11",0)/2000}, energy_month monotonic { ReadingsVal("AC","pin11",0)/2000}, energy_year monotonic { ReadingsVal("AC","pin11",0)/2000}, energy_hauszaehler monotonic { ReadingsVal("AC","pin11",0)/2000}, energy_act_3:pin12.* {ReadingsVal("AC","power12",0)}, energy monotonic { ReadingsVal("AC","pin12",0)/2000}, energy_day monotonic { ReadingsVal("AC","pin12",0)/2000}, energy_month monotonic { ReadingsVal("AC","pin12",0)/2000}, energy_year monotonic { ReadingsVal("AC","pin12",0)/2000}, energy_hauszaehler monotonic { ReadingsVal("AC","pin12",0)/2000}
er zeigt mir oft auch Werte mit vielen Nachkommazahlen an
2016-07-23_00:02:37 AC energy: 2.55550000000001
2016-07-23_00:02:37 AC energy_hauszaehler: 2.55550000000001

Gruß Hermann
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 25 Juli 2016, 21:53:49
Wenn Du Nachkommastellen entfernen möchtest, kannst Du im Perl-Code z.B. mit sprintf arbeiten ...

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: hermann258 am 27 Juli 2016, 11:26:51
ich versuche mal

speichere ich
energy { ReadingsVal("AC","pin10",0)/2000},
funktioniert alles
Hour: 0.0060 Day: 0.0060 Month: 0.0060 Year: 0.0060
speichere ich
energy monotonic{ ReadingsVal("AC","pin10",0)/2000},
sieht es so aus
Hour: -0.0065000000000 Day: -0.006500000000 Month: -0.0065000000000 Year: -0.006500000000 (since: )
gibt es eine ander Möglichkeit monotonic zu ersetzen?
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 29 Juli 2016, 12:27:58
Muss ich mir mal ansehen.
Tagessummen kannst Du aber auch mit dem Average-Modul erzeugen.

Gruß
     Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 14 Oktober 2016, 21:20:23
Hallo Stefan,

ich habe den ArduCounter erfolgreich in Betrieb genommen. Ich danke Dir für das Modul!

Ich habe zwei konkrete Fragen:
- Wenn ich ein neues Pin definiere, dann muss ich danach erstmal den Arduino nano mit Reset neu starten damit das Pin gezählt wird. Ist das so, oder ist das ne Macke in meiner Installation?
- Ich habe zwei Zähler, einer liefert 400 Impulse/kWh (2,5 Watt/Impuls) und der andere 1000 Impulse/kWh (1 Watt/Impuls). Somit muss ich eigentlich zwei unterschiedliche attr factor definieren, einmal 2500 und einmal 1000. Den Fall hast Du nicht vorgesehen?

Ich helfe mir mit einem extra userReading.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 15 Oktober 2016, 15:34:27
Hallo Otto,

das mit dem Reset ist ein Bug. Das hat auch mal ohne funktioniert.
Einen Faktor je Pin hatte ich bisher nicht vorgesehen. Das wäre aber eine sinnvolle Erweiterung.
Ein Update ist in Arbeit ;-)

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 15 Oktober 2016, 16:12:46
Hallo,

anbei eine neue Version zum Testen.
Der Bug sollte behoben sein und es gibt ein neues Attribut readingFactor[0-9]+ zum setzen eines Faktors je Pin.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 15 Oktober 2016, 17:30:21
Hallo Stefan,

Du hast ja freie Spitzen!  :D

Viele dank ich teste das dann gleich, ich habe heute meinen IT Zoo neu verkabelt und u.a. dem Arduino nano einen aktive "powered Hub" spendiert.  ;)

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 15 Oktober 2016, 20:48:57
Hallo Stefan,

funktioniert alles prima. Der Bug ist behoben und die Sache mit dem zusätzlichen Faktor ist super.

Danke!

Schönes WE
Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 22 Oktober 2016, 13:08:20
Hallo Stefan,

ich habe jetzt noch ein paar Tage gespielt und insgesamt drei Zähler angebunden. Jetzt ist mir folgendes aufgefallen:

Wobe ich gerade bemerke offenbar nicht nur beim Neustart, in diesem Zeitarum habe ich nichts gemacht:
2016-10-22_13:58:30 AC pin6: 300.000
2016-10-22_13:58:30 AC power6: 1.654
2016-10-22_13:59:30 AC pin6: 302.000
2016-10-22_13:59:30 AC power6: 19199.520
2016-10-22_14:00:30 AC pin6: 304.000
2016-10-22_14:00:30 AC power6: 1.668
2016-10-22_14:01:29 AC pin6: 306.000
2016-10-22_14:01:29 AC power6: 1.595

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 23 Oktober 2016, 08:22:37
Hallo Otto,

vielen Dank für den Hinweis.
Das mit dem Reset bei Neustart von Fhem liegt daran, dass Fhem des serielle Device neu öffnet und dabei der Arduino wohl einen Reset bekommt. Ich wüsste nicht wie man das verhindern kann.
Es sollte aber auch kein Problem sein, da der Sketch für die power-Berechnung immer nur die Zähler-Differenz für ein angegebenes minimal / maximal Intervall verwendet.

Wegen den Spitzen gehe ich mal auf die Suche. Das sollte nicht vorkommen.
Wie hast Du es denn konfiguriert? Ich vermute dass das mit der Einstellung der Intervalle zusammenhängt, da das Problem bei mir nicht aufgetreten ist ...

Gruss
    Stefan

EDIT: bei der Fehlersuche habe ich festgestellt, dass die ursprüngliche Beschreibung inkorrekt war. Bin weiter auf der Suche nach einer race condition ...
         Falls das Problem bei Dir reproduzierbar ist, wäre ein Log mit verbose 4 oder 5 sehr hilfreich :-)
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 23 Oktober 2016, 11:36:25
Hallo Stefan,

das mit dem Reset und dem Zähler im Sketch habe ich mir gestern auch schon angeschaut und in etwa verstanden  ;) da bin ich am überlegen wie man das eventuell umgehen könnte. Bei jeder erneuten Definition von Pins werden die Zähler im Sketch neu gestartet und beim Start von FHEM werden die Pins neu definiert.
Deine Bemerkung mit dem langfristigen Zähler im Sketch verstehe in nicht ganz, er liefert doch einen kontinuierlichen Zähler solange er läuft - oder?

Hier mein list Internals:
   DEF        /dev/ttyUSB0@9600
   DeviceName /dev/ttyUSB0@9600
   FD         11
   Initialized 1
   ModuleVersion 3.4.4 - 10.10.2016
   NAME       AC
   NR         29
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   buffer
   Readings:
     2016-10-23 11:23:33   ZaehlerHzg      2884.0225
     2016-10-23 11:23:33   ZaehlerSumme    41781.9866666667
     2016-10-23 11:23:33   ZaehlerWW       4447.42
     2016-10-23 11:23:33   pin4            4305.000
     2016-10-23 11:20:33   pin5            1157.000
     2016-10-23 11:23:33   pin6            2054.000
     2016-10-23 11:23:33   power4          0.308
     2016-10-23 11:20:33   power5          0.000
     2016-10-23 11:23:33   power6          0.735
     2016-10-22 11:33:13   state           opened
     2016-10-22 11:33:16   version         ArduCounter V1.0
Attributes:
   factor     1000
   interval   60 300
   pinD4      rising pullup
   pinD5      rising pullup
   pinD6      rising pullup
   readingFactor4 2500
   readingFactor5 1000
   readingFactor6 13333
   userReadings ZaehlerHzg {ReadingsVal("AC","pin4",0)/400 + ReadingsNum("ZaehlerManuellHzg","ZaehlerHzgKorr",0) },ZaehlerWW {ReadingsVal("AC","pin5",0)/1000 + ReadingsNum("ZaehlerManuellWW","ZaehlerWWKorr",0)},ZaehlerSumme {ReadingsVal("AC","pin6",0)/75 + ReadingsNum("ZaehlerManuellSumme","ZaehlerSummeKorr",0) }


Ganz häufig sind die Spitzen bei dem Zähler (Ferrariszähler mit Abtastkopf (https://www.kompf.de/tech/emeir.html)) an pin6 - siehe auch den kurzen Auszug des Logs von gestern.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 25 Oktober 2016, 22:38:54
Hallo Otto,

Eine optimierte Version kommt demnächst. Ich bin noch am Testen.
Kann es sein, dass Dein Zähler an Pin 6 immer zwei Impulse in schneller Folge liefert?

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 31 Oktober 2016, 08:21:55
Hallo Otto,

hier nochmal eine neue Version. Ich habe einiges optimiert. Könntest Du das mal mit verbose 4 testen und dann ein Stück Fhem-Log posten, dann muss ich nicht so viel spekulieren, was jetzt tatsächlich die Ursache der Spitzen bei Dir gewesen sein könnte?
Im Log sollte dann die komplette Kommunikation zwischen Modul und Sketch zu sehen sein.

Im Doku-Teil des Moduls habe ich die neuen Optionen schon beschrieben, aber ich poste das dann auch nochmal ausführlich auf deutsch wenn Dein Test / Log zeigt, dass es so auch schon gut funktioniert ;-)

Gruss / vielen Dank
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 31 Oktober 2016, 14:05:09
Hier nochmal die ausführlichere Erläuterung wie der Arducounter zählt bzw. wie man das beeinflussen kann:

Der einfachste Weg wäre einfach immer innerhalb von einem festen Intervall (z.B. 60 Sekunden) alle Impulse zu zählen.
Das funktioniert gut, wenn die Impulsfrequenz hoch ist. Wenn jedoch beispielsweise nur alle 90 Sekunden ein Impuls kommt und man immer 60 Sekunden zählt, dann hat man im ersten Intervall keinen Impuls, im zweiten dafür einen und im dritten wieder keinen.
Selbst bei doppelter Frequenz mit Impulsen alle 45 Sekunden wird es unschön, da dann im ersten und zweiten Intervall je ein Impuls gezählt würde, im zweiten vermutlich zwei und im dritten wieder einer. Für eine Stromverbrauchsrechnung würde man dann in den ersten 2 Minuten mit einem Impuls je 60 Sekunden rechnen (obwohl es in Wirklichkeit ja ein Impuls je 45 Sekunden war) und im dritten Intervall mit zwei Impulsen je 60 Sekunden, also zu viel.

Um hier genauere Werte zu bekommen habe ich im Arducounter einen anderen Weg implementiert.
Arducounter hat ein normales und ein maximales Reporting-Intervall, in dem Ergebnisse ausgegeben werden. Unabhängig vom Reporting-Intervall werden Impulse gezählt, dabei aber die Zeit zwischen dem ersten gezählten Impuls und dem zuletzt gezählten Impuls gemessen.
Wenn nun beispielsweise das normale Reporting-Intervall auf 60 Sekunden gesetzt wird und Impulse alle 45 Sekunden kommen, dann kommt beispielsweise der erste Impuls 10 Sekunden nach Beginn des Reporting-Intervalls. Dieser wird noch nicht gezählt sondern bildet nur den Startpunkt für die Zeitmessung.
Der zweite Impuls kommt dann 55 Sekunden nach Beginn des Reporting-Intervalls. Arducounter würde dann nach 60 Sekunden als Ergebnis einen Impuls und eine Zeitdifferenz von 45 Sekunden zurückgeben.

Für das nächste Intervall merkt sich Arducounter den Zeitpunkt des zuletzt gezählten Impulses (nach 55 Sekunden im vorigen Intervall) als Startpunkt und zählt weiter bis das zweite Reporting-Intervall abgelaufen ist. Dabei würde er 40 Sekunden nach Beginn des zweiten Reporting-Intervalls einen weiteren Impuls bekommen. Bis zum Ende des zweiten Report-Intervalls kommt kein neuer Impuls. Als Ergebnis würde Arducounter wieder einen Impuls und eine Zeitdifferenz von 45 Sekunden ausgeben.

Das Messergebnis und die Korrektheit wird so bei niedrigen Frequenzen deutlich genauer und sieht in Plots sichtbar weniger ausgefranst aus.

Leider hat auch diese Methode ihre Grenzen. Wenn die Impulsfrequenz nochmal geringer wird und beispielsweise nur alle 90 Sekunden ein Impuls kommt, könnte Arducounter in 60 Sekunden auch nicht vernünftig zählen. Für diesen Fall habe ich ein zweites Intervall eingebaut - das maximale Intervall. In der früheren Version hat Arducounter für den Fall dass in einem Intervall gar kein Impuls gekommen ist, einfach weitergezählt und noch kein Ergebnis ausgegeben. Nach einem weiteren Ablauf des normalen Intervalls wurde wieder geprüft, ob etwas gezählt wurde und gegebenenfalls weiter gewartet. Erst wenn auch das maximale Intervall abgelaufen ist (z.B. 5 Minuten) wurde dann die Anzahl der Impulse und die Differenz zwischen Startpunkt (letzter Impuls im vorhergehenden Intervall) und letztem gezählten Impuls zurückgegeben. Soweit hat das gut funktioniert.

Wenn nun aber auch im Maximalen Intervall kein Impuls gezählt werden konnte, dann hat Arducounter als Ergebnis 0 ausgegeben und das Ende des maximalen Intervalls als neuen Startpunkt festgelegt. Das funktioniert gut, es sei denn die Impulse kommen so unglücklich, dass direkt nach Ende des maximalen Intervalls ein Impuls kommt und dann wieder 6 Minuten lang keiner.
Dann hätte Arducounter bisher nach Ende des Maximalen Intervalls den Startpunkt auf das Ende des Intervalls gelegt, direkt danach (z.B. nach einer halben Sekunde) einen Impuls gezählt und dann nach Ende des Reporting Intervalls einen Impuls in einer halben Sekunde ausgegeben. Das wäre dann eine falsche Spitze im Stromverbrauch.

Die Spitzen sind immer dann entstanden, wenn wenige Impulse gezählt wurden und diese aber in einem sehr kurzen Zeitintervall berichtet wurden.

Um das zu vermeiden habe ich in der neuen Version ein paar neue Intervall-Parameter eingeführt, die der Anwender per Attribut wählen kann:

1) Neben dem ersten Parameter (ich nenne ihn jetzt "normales Intervall") und dem zweiten Parameter ("maximales Intervall") gibt es noch den neuen dritten Parameter ("minimales Intervall") und einen neuen vierten (minimaler Count).
Wenn am Ende des Reporting-Intervalls weniger Impulse als der minimale Count gezählt wurden oder wenn die gezählten Impulse in einer Zeitspanne gezählt wurden, die kleiner als das minimale Intervall ist, dann greift wieder das maximale Intervall und es wird noch kein Ergebnis ausgegeben sondern weiter gezählt. Die Hoffnung ist, dass dann doch noch Impulse kommen und so ein sinnvolleres Ergebnis berechnet werden kann.

Das Maximale Intervall sollte dabei durchaus ein vielfaches des normalen Intervalls sein. Das bedeutet nicht dass ein Ergebnis entweder innerhalb des ersten normalen Intervalls kommen muss, oder dann gleich auf das Ende des maximalen Intervalls verzögert wird, denn auch wenn verzögert wird, prüft Arducounter jeweils nach Ablauf eines weiteren normalen Intervalls, ob inzwischen Werte zum Reporten vorhanden sind. Beim Ablauf des maximalen Intervalls ohne dass die Kriterien erfüllt sind (minimales Intervall und minimaler Count) wird dann jedoch ein Ergebnis ausgegeben, auch wenn noch zu wenige Impulse gezählt wurden.

Wenn man das normale Intervall beispielsweise auf 60 Sekunden, das maximale auf 20 Minuten und das minimale Intervall auf 20 Sekunden setzt, dann kommen zumindest keine Spitzen heraus, wenn nach einem langen Zeitraum ohne Impulse nur ein Impuls direkt zu Beginn eines neuen Intervalls gezählt wird.

Zusätzlich kann man den minimalen Count auf 2 oder 3 setzen und so generell bei geringen Frequenzen die Zählung auf das maximale Intervall schieben. Das maximale Intervall sollte dann nur groß genug sein.

2) Falls jemand die Berechnungsweise wie oben nicht gefällt und er möchte lieber starr in einem festgesetzten Intervall zählen, dann kann er die ersten beiden Intervall-Parameter auf den gleichen Wert setzen (z.B. 60 Sekunden und 60 Sekunden). Arducounter sieht das als Signal, dass starre Intervalle gewünscht sind und zählt nur Impulse im vorgegebenen Reporting-Intervall. Die Zählung beginnt bei der ersten Sekunde und endet nach 60 Sekunden, egal wie viele Inpulse jeweils darin gezählt wurden. Das Ergebnis wird immer nach 60 Sekunden ausgegeben.

3) Ein weiterer unschöner Effekt war bisher dass der Stromverbrauch am Ende eines Intervalls berechnet und ins Log geschrieben wurde. Zunächst mal ist das "normal", da ja zuerst gezählt werden muss. Aber für weitere Berechnungen in Fhem wird typischerweise davon ausgegangen, dass ein Reading so lange den gleichen Wert hat, bis es sich ändern.
Beim Stromverbrauch ist das aber nicht so. Der ausgegebene Stromverbrauch war bisher so wie er jetzt ausgegeben wurde und nun beginnt die neue Messung.
In der neuen Version wird nun die Stromverbrauchs-Messung mit dem Zeitpunkt des Intervall-Beginns ins Log geschrieben und nur die Zähler- und Zeitwerte bekommen den Zeitstempel der Ausgabe vom Arduino.

Dieses Verhalten werde ich noch per Attribut wählbar machen, denn wenn die Ergebnisse zusammen mit anderen Zählern im gleichen Log landen sollen, kann das zu Problemen führen, da dann die Logeinträge keine starr aufsteigenden Zeitstempel mehr haben könnten.

Ich hoffe das erklärt ein paar Internas. Ich freue mich über Feeback, weitere Tests oder sonstige sinnvolle Verbesserungsvorschläge.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 01 November 2016, 13:57:23
Hallo Stefan,

vorweg vielen Dank für Deine echt tolle Arbeit!

Wenn Du gerade an Deinem Modul so kräftig Dir den Kopf zerbrichst, hätte ich noch - wie ich meine - eine sinnvolle Idee-Anregung-Bitte für Deinen ArduCounter:

Wie Dir bereits ja auch bekannt ist, gibt es immer wieder Störimpulse zwecks Kabellängen, ungeschirmter bzw. falscher Kabel, ungenügend gefilterter Versorgungsspannung etc...

Bau doch bitte eine wählbare Option  "S0-Prüfung" ein, in der Du die Impulslänge von 30ms und Minimal-Impulspause von ebenfalls 30ms (plus Flanken) prüfen läßt (Genauere Daten dazu siehe Anlage...).

Dies noch versehen mit einer zusätzlichen "S0-Karenzzeit"-Option, in der man "+-  X" Millisekunden frei definieren kann, für die nicht ganz so genauen Zähler. Dies würde viele Probleme lösen..
.
Diese Auswertung könnte man dann als aufsummierte Gegenüberstellung "x verworfen von x Impulsen" in FORM eines Readings dem User zur Verfügung stellen oder per "Get" abrufen lassen.

Ich bin nämlich überzeugt, dass viele Spitzen nicht nur aufgrund der Zählmethode entstanden sind, sondern vielmehr aufgrund der Tatsache von unerkannten Störimpulsen, die sonst ja weiterhin unerkannt bleiben würden, und so den Gesamteindruck Deines Moduls und Deiner super Arbeit verfälschen würde.

Viel Grüße aus dem sonnigen Bayern!
Billy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 01 November 2016, 14:07:36
Hallo Billy,

vielen Dank für die gute Anregung.
Das bau ich noch ein.

Gruss / Thanx
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 01 November 2016, 14:35:15
Zitat von: StefanStrobel am 31 Oktober 2016, 08:21:55
Hallo Otto,

hier nochmal eine neue Version. Ich habe einiges optimiert. Könntest Du das mal mit verbose 4 testen und dann ein Stück Fhem-Log posten, dann muss ich nicht so viel spekulieren, was jetzt tatsächlich die Ursache der Spitzen bei Dir gewesen sein könnte?
Im Log sollte dann die komplette Kommunikation zwischen Modul und Sketch zu sehen sein.

Im Doku-Teil des Moduls habe ich die neuen Optionen schon beschrieben, aber ich poste das dann auch nochmal ausführlich auf deutsch wenn Dein Test / Log zeigt, dass es so auch schon gut funktioniert ;-)

Gruss / vielen Dank
    Stefan
Hallo Stefan,

vielen Dank! Ich war ein paar Tage nicht da und mache mich jetzt ans testen.
Das mit den zwei Impulsen hintereinander an Pin6 würde ich von der Überlegung her ausschließen, da ich ja die gezählten Impulse am  Pin6 mit dem tatsächlichen Zählerstand vergleichen kann. Aber ich prüfe das.

Ich melde mich mit Ergebnissen zurück.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 02 November 2016, 13:11:49
Hallo Stefan,

so alles "eingebaut" und schon nach wenigen Minuten gibt es wieder Spitzen -> 13:01.
Zunächst mal die Messwerte:
2016-11-02_12:52:33 AC power6: 0.000
2016-11-02_12:53:07 AC pin6: 9
2016-11-02_12:53:05 AC power4: 1.029
2016-11-02_12:54:07 AC pin4: 89
2016-11-02_12:54:06 AC power4: 1.029
2016-11-02_12:55:07 AC pin4: 96
2016-11-02_12:53:17 AC power6: 0.436
2016-11-02_12:55:07 AC pin6: 10
2016-11-02_12:55:06 AC power4: 1.036
2016-11-02_12:56:07 AC pin4: 103
2016-11-02_12:55:01 AC power6: 1.470
2016-11-02_12:56:07 AC pin6: 12
2016-11-02_12:56:06 AC power4: 1.030
2016-11-02_12:57:07 AC pin4: 110
2016-11-02_12:52:05 AC power5: 0.000
2016-11-02_12:57:07 AC pin5: 2
2016-11-02_12:56:34 AC power6: 1.464
2016-11-02_12:57:07 AC pin6: 13
2016-11-02_12:57:05 AC power4: 1.029
2016-11-02_12:58:07 AC pin4: 117
2016-11-02_12:57:01 AC power6: 1.463
2016-11-02_12:58:07 AC pin6: 15
2016-11-02_12:58:13 AC power6: 0.902
2016-11-02_12:59:06 AC pin6: 16
2016-11-02_12:58:32 AC power4: 0.096
2016-11-02_13:00:07 AC pin4: 118
2016-11-02_12:58:43 AC power6: 0.572
2016-11-02_13:00:07 AC pin6: 17
2016-11-02_12:59:38 AC power4: 0.306
2016-11-02_13:01:06 AC pin4: 121
2016-11-02_13:01:00 AC power6: 7.319
2016-11-02_13:01:07 AC pin6: 18
2016-11-02_13:01:07 AC power4: 0.306
2016-11-02_13:02:06 AC pin4: 123
2016-11-02_12:57:06 AC power5: 0.000
2016-11-02_13:02:06 AC pin5: 2
2016-11-02_13:02:08 AC power4: 0.306
2016-11-02_13:03:06 AC pin4: 125
2016-11-02_13:02:01 AC power6: 0.731
2016-11-02_13:03:06 AC pin6: 19
2016-11-02_13:03:08 AC power4: 0.306
2016-11-02_13:04:06 AC pin4: 127
2016-11-02_13:03:01 AC power6: 0.730
2016-11-02_13:04:06 AC pin6: 20
2016-11-02_13:04:07 AC power4: 0.305
2016-11-02_13:05:06 AC pin4: 129
2016-11-02_13:04:01 AC power6: 0.734
2016-11-02_13:05:06 AC pin6: 21
2016-11-02_13:05:07 AC power4: 0.305
2016-11-02_13:06:06 AC pin4: 131
2016-11-02_13:05:01 AC power6: 0.740
2016-11-02_13:06:06 AC pin6: 22
2016-11-02_13:06:07 AC power4: 0.304
2016-11-02_13:07:06 AC pin4: 133
2016-11-02_13:02:06 AC power5: 0.000
2016-11-02_13:07:06 AC pin5: 2
2016-11-02_13:06:01 AC power6: 0.735
2016-11-02_13:07:06 AC pin6: 23


Und hier das Log 2016.11.02 12:58:07 4: AC: Read match msg: Pin 4 count 117 (diff 7) in 61254 Millis, first at 442?, last at 56918
2016.11.02 12:58:07 4: AC: Read match msg: Pin 6 count 15 (diff 2) in 65616 Millis, first at 817, last at 33730
2016.11.02 12:59:06 4: AC: Read match msg: Pin 6 count 16 (diff 1) in 53225 Millis, first at 26955, last at 26955
2016.11.02 13:00:06 4: AC: Read match msg: Pin 4 count 118 (diff 1) in 94090 Millis, first at 91008, last at 91008
2016.11.02 13:00:07 4: AC: Read match msg: Pin 6 count 17 (diff 1) in 83975 Millis, first at 50130, last at 50130
2016.11.02 13:01:06 4: AC: Read match msg: Pin 4 count 121 (diff 3) in 88276 Millis, first at 359, last at 59284
2016.11.02 13:01:07 4: AC: Read match msg: Pin 6 count 18 (diff 1) in 6558 Millis, > Mfirst at 55716, last at 55716
2016.11.02 13:02:06 4: AC: Read match msg: Pin 4 count 123 (diff 2) in 58901 Millis, first at 28745, last at 58185
2016.11.02 13:02:06 4: AC: Read match msg: Pin 5 count 2 (diff 0) in 300800 Millis,
2016.11.02 13:03:06 4: AC: Read match msg: Pin 4 count 125 (diff 2) in 58822 Millis, first at 275<4, last at 57007
2016.11.02 13:03:06 4: AC: Read match msg: Pin 6 count 19 (diff 1) in 65677 Millis, first at 61393, last at 61393
2016.11.02 13:04:06 4: AC: Read match msg: Pin 4 count 127 (diff 2) in 58761 Millis, first at 263?4, last at 55768
2016.11.02 13:04:06 4: AC: Read match msg: Pin 6 count 20 (diff 1) in 65767 Millis, first at 7160, last at 7160
2016.11.02 13:05:06 4: AC: Read match msg: Pin 4 count 129 (diff 2) in 59079 Millis, first at 253;6, last at 54847
2016.11.02 13:05:06 4: AC: Read match msg: Pin 6 count 21 (diff 1) in 65404 Millis, first at 12564, last at 125>4
2016.11.02 13:06:06 4: AC: Read match msg: Pin 4 count 131 (diff 2) in 59086 Millis, first at 243>3, last at 53933
2016.11.02 13:06:06 4: AC: Read match msg: Pin 6 count 22 (diff 1) in 64860 Millis, first at 17424, last at 174:4
2016.11.02 13:07:06 4: AC: Read match msg: Pin 4 count 133 (diff 2) in 59194 Millis, first at 235=4, last at 53127
2016.11.02 13:07:06 4: AC: Read match msg: Pin 5 count 2 (diff 0) in 300000 Millis,
2016.11.02 13:07:06 4: AC: Read match msg: Pin 6 count 23 (diff 1) in 65345 Millis, first at :2769, last at 22769
2016.11.02 13:08:06 4: AC: Read match msg: Pin 4 count 135 (diff 2) in 59259 Millis, first at 22781, last at 52386
2016.11.02 13:08:06 4: AC: Read match msg: Pin 6 count 24 (diff 1) in 63379 Millis, first at 26148, last at 261<8
2016.11.02 13:09:06 4: AC: Read match msg: Pin 4 count 137 (diff 2) in 59291 Millis, first at 22088, last at 51677
2016.11.02 13:09:06 4: AC: Read match msg: Pin 6 count 25 (diff 1) in 63259 Millis, first at 29407, last at 29487
2016.11.02 13:10:06 4: AC: Read match msg: Pin 4 count 139 (diff 2) in 59393 Millis, first at 21391, last at 51070
2016.11.02 13:10:06 4: AC: Read match msg: Pin 6 count 26 (diff 1) in 63318 Millis, first at 32725, last at 327:5


Irgendwie sehen die Zahlen manchmal komisch aus - oder?
Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 02 November 2016, 18:27:21
Hallo Otto,

vielen Dank für's Testen und das Log.
Damit wird die Fehlersuche einfacher :-)

Mal unabhängig davon, dass ich an Deinem Log sehe dass das mit den Zeitstempeln im Log noch verbessert werden muss, liegt das mit den Spitzen vermutlich an Störungen.

Vor 13:01 kommen die Impulse meist im Abstand von 50 bis 80 Sekunden. Um 13:01 kommt dann aber gleich nach 6 Sekunden wieder einer. Wenn Das keine echte Lastspitze ist, wird es wohl ein Störimpuls sein.
In der nächsten Version baue ich noch den vorgeschlagenen 30ms Filter ein. Evt. können wir solche Impulse damit unterdrücken.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 02 November 2016, 21:07:31
Das mit den Sonderzeichen in den Zahlen ist natürlich ziemlich seltsam.
Sieht nach einem Problem mit der seriellen Ausgabe aus.
Das muss ich mir noch näher ansehen.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 02 November 2016, 21:15:10
Hallo Stefan,

ich liefere Dir mal noch mehr "Futter"

Hier das Log von FHEM ab 17:00 Uhr 2016.11.02 17:00:56 4: AC: Read match msg: Pin 6 count 318 (diff 1) in 52529 Millis, first at 1534, last at 1534
2016.11.02 17:01:55 4: AC: Read match msg: Pin 6 count 319 (diff 1) in 60690 Millis, first at 2224, last at 2224
2016.11.02 17:03:55 4: AC: Read match msg: Pin 4 count 1219 (diff 1) in 297720 Millis, first at 297450, last at 297450
2016.11.02 17:04:55 4: AC: Read match msg: Pin 5 count 13 (diff 0) in 300000 Millis,
2016.11.02 17:04:55 4: AC: Read match msg: Pin 6 count 320 (diff 1) in 195638 Millis, first at 137862, last at(137862
2016.11.02 17:07:55 4: AC: Read match msg: Pin 6 count 321 (diff 1) in 195849 Millis, first at 15;711, last at 153711
2016.11.02 17:08:55 4: AC: Read match msg: Pin 4 count 1219 (diff 0) in 302550 Millis,
2016.11.02 17:09:55 4: AC: Read match msg: Pin 5 count 13 (diff 0) in 300000 Millis,
2016.11.02 17:10:55 4: AC: Read match msg: Pin 6 count 322 (diff 1) in 196334 Millis, first at 178045, last at 170045
2016.11.02 17:13:55 4: AC: Read match msg: Pin 4 count 1219 (diff 0) in 300000 Millis,
2016.11.02 17:14:55 4: AC: Read match msg: Pin 5 count 13 (diff 0) in 300000 Millis,
2016.11.02 17:14:55 4: AC: Read match msg: Pin 6 count 323 (diff 1) in 198026 Millis, first at 188071, last at(188071
2016.11.02 17:17:55 4: AC: Read match msg: Pin 6 count 324 (diff 1) in 197754 Millis, first at 14=825, last at 145825
2016.11.02 17:18:55 4: AC: Read match msg: Pin 4 count 1219 (diff 0) in 300000 Millis,
2016.11.02 17:19:55 4: AC: Read match msg: Pin 5 count 13 (diff 0) in 300000 Millis,
2016.11.02 17:20:55 4: AC: Read match msg: Pin 6 count 325 (diff 1) in 198449 Millis, first at 16<274, last at 164274
2016.11.02 17:21:55 4: AC: Read match msg: Pin 4 count 1220 (diff 1) in 144341 Millis, first at 1<4341, last at 144341
2016.11.02 17:24:54 4: AC: Read match msg: Pin 5 count 13 (diff 0) in 300000 Millis,
2016.11.02 17:24:55 4: AC: Read match msg: Pin 6 count 326 (diff 1) in 998540 Millis, first at 182814, last at 182814
2016.11.02 17:26:54 4: AC: Read match msg: Pin 4 count 1220 (diff 0) in 335659 Millis,
2016.11.02 17:27:54 4: AC: Read match msg: Pin 6 count 327 (diff 1) in 199174 Millis, first at 149988, last at 141988
2016.11.02 17:29:54 4: AC: Read match msg: Pin 5 count 13 (diff 0) in 300000 Millis,
2016.11.02 17:30:54 4: AC: Read match msg: Pin 6 count 328 (diff 1) in 199507 Millis, first at 161495, last at 161495
2016.11.02 17:31:54 4: AC: Read match msg: Pin 4 count 1220 (diff 0) in 300000 Millis,
2016.11.02 17:34:54 4: AC: Read match msg: Pin 5 count 13 (diff 0) in 300000 Millis,
2016.11.02 17:34:54 4: AC: Read match msg: Pin 6 count 329 (diff 1) in 999115 Millis, first at 180610, last at 180610
2016.11.02 17:36:54 4: AC: Read match msg: Pin 4 count 1220 (diff 0) in 300000 Millis,
2016.11.02 17:37:54 4: AC: Read match msg: Pin 6 count 330 (diff 1) in 199235 Millis, first at 139845, last at 139845
2016.11.02 17:38:54 4: AC: Read match msg: Pin 4 count 1221 (diff 1) in 109973 Millis, first at 189973, last at 109973
2016.11.02 17:39:54 4: AC: Read match msg: Pin 5 count 13 (diff 0) in 300000 Millis,
2016.11.02 17:40:54 4: AC: Read match msg: Pin 5 count 14 (diff 1) in 53263 Millis, first at 53263, last at 53263
2016.11.02 17:40:54 4: AC: Read match msg: Pin 6 count 331 (diff 1) in 17 Millis, ?927 Mfirst at 137772, last at 137772
2016.11.02 17:43:54 4: AC: Read match msg: Pin 4 count 1221 (diff 0) in 310027 Millis,
2016.11.02 17:43:54 4: AC: Read match msg: Pin 6 count 332 (diff 1) in 183156 Millis, first at 140928, last it 140928
2016.11.02 17:44:25 1: Timeout for PRESENCE_DoLocalBluetoothScan reached, terminated process 28565
2016.11.02 17:44:25 2: PRESENCE (BT_iBrina) - device could not be checked (retrying in 10 seconds)
2016.11.02 17:44:56 2: PRESENCE (BT_iBrina) - check returned a valid result after 1 unsuccesful retry
2016.11.02 17:45:53 4: AC: Read match msg: Pin 5 count 14 (diff 0) in 306737 Millis,
2016.11.02 17:46:53 4: AC: Read match msg: Pin 6 count 333 (diff 1) in 181825 Millis, first at 142753, last at 142753
2016.11.02 17:48:53 4: AC: Read match msg: Pin 4 count 1221 (diff 0) in 300000 Millis,
2016.11.02 17:49:53 4: AC: Read match msg: Pin 6 count 334 (diff 1) in 183428 Millis, first at 14>181, last at 146181
2016.11.02 17:50:53 4: AC: Read match msg: Pin 5 count 14 (diff 0) in 300000 Millis,
2016.11.02 17:52:53 4: AC: Read match msg: Pin 6 count 335 (diff 1) in 182068 Millis, first at 148249, last at 148249
2016.11.02 17:53:53 4: AC: Read match msg: Pin 4 count 1221 (diff 0) in 300000 Millis,
2016.11.02 17:55:53 4: AC: Read match msg: Pin 5 count 14 (diff 0) in 300000 Millis,
2016.11.02 17:55:53 4: AC: Read match msg: Pin 6 count 336 (diff 1) in 983187 Millis, first at 151436, last at 151436
2016.11.02 17:56:53 4: AC: Read match msg: Pin 4 count 1222 (diff 1) in 129777 Millis, first at 129777, last at 129777
2016.11.02 17:58:53 4: AC: Read match msg: Pin 6 count 337 (diff 1) in 170884 Millis, first at 142320, last at 142320
2016.11.02 18:00:53 4: AC: Read match msg: Pin 4 count 1227 (diff 5) in 281479 Millis, first at 195972, last at 231256
2016.11.02 18:00:53 3: AC: R5 C14 D0(T300000
2016.11.02 18:00:53 4: AC: Read match msg: Pin 6 count 339 (diff 2) in 156257 Millis, first at 81221, last at 118577
2016.11.02 18:01:53 4: AC: Read match msg: Pin 4 count 1234 (diff 7) in 61836 Millis, first at 103, last at 53092
2016.11.02 18:01:53 4: AC: Read match msg: Pin 6 count 340 (diff 1) in 37 Millis, ;88 Mfirst at 35965, last at 35965
2016.11.02 18:02:53 4: AC: Read match msg: Pin 4 count 1241 (diff 7) in 61914 Millis, first at 1950, last at 55006
2016.11.02 18:02:53 4: AC: Read match msg: Pin 6 count 342 (diff 2) in 7 Millis, <773 Mfirst at 13412, last at 50738
2016.11.02 18:03:53 4: AC: Read match msg: Pin 4 count 1248 (diff 7) in 62023 Millis, first at 3838, last at 57029
2016.11.02 18:03:53 4: AC: Read match msg: Pin 6 count 343 (diff 1) in 3 Millis, ?569 Mfirst at 28307, last at 28307
2016.11.02 18:04:53 4: AC: Read match msg: Pin 4 count 1255 (diff 7) in 61934 Millis, first at 5879, last at 58963
2016.11.02 18:04:53 4: AC: Read match msg: Pin 6 count 345 (diff 2) in 7 Millis, >194 Mfirst at 5694, last at 44501
2016.11.02 18:05:53 4: AC: Read match msg: Pin 4 count 1261 (diff 6) in 52637 Millis, first at 7692, last at 51600
2016.11.02 18:05:53 4: AC: Read match msg: Pin 5 count 14 (diff 0) in 308000 Millis,
2016.11.02 18:05:53 4: AC: Read match msg: Pin 6 count 346 (diff 1) in 38958 Millis, first at 23459, last at 23459
2016.11.02 18:06:53 4: AC: Read match msg: Pin 4 count 1268 (diff 7) in 61624 Millis, first at 376, last at 53224
2016.11.02 18:06:53 4: AC: Read match msg: Pin 6 count 348 (diff 2) in 78868 Millis, first at 2478, last at 41527
2016.11.02 18:07:53 4: AC: Read match msg: Pin 4 count 1275 (diff 7) in 61631 Millis, first at 2039, last at 54855
2016.11.02 18:07:53 4: AC: Read match msg: Pin 6 count 350 (diff 2) in 78190 Millis, first at 20668, last at 59717
2016.11.02 18:08:52 4: AC: Read match msg: Pin 4 count 1282 (diff 7) in 61979 Millis, first at 3708, last at 56834
2016.11.02 18:08:53 4: AC: Read match msg: Pin 6 count 351 (diff 1) in 39201 Millis, first at 38918, last at 38918
2016.11.02 18:09:52 4: AC: Read match msg: Pin 4 count 1289 (diff 7) in 62176 Millis, first at 5763, last at 59010
2016.11.02 18:09:53 4: AC: Read match msg: Pin 6 count 353 (diff 2) in 78732 Millis, first at 18359, last at 57650
2016.11.02 18:10:52 4: AC: Read match msg: Pin 4 count 1295 (diff 6) in 53313 Millis, first at 7889, last at 52323
2016.11.02 18:10:52 4: AC: Read match msg: Pin 5 count 14 (diff 0) in 308000 Millis,
2016.11.02 18:10:53 4: AC: Read match msg: Pin 6 count 354 (diff 1) in 39109 Millis, first at 36759, last at 36759
2016.11.02 18:11:52 4: AC: Read match msg: Pin 4 count 1302 (diff 7) in 62034 Millis, first at 1201, last at 54357
2016.11.02 18:11:52 4: AC: Read match msg: Pin 6 count 356 (diff 2) in 78099 Millis, first at 15869, last at 54858
2016.11.02 18:12:52 4: AC: Read match msg: Pin 4 count 1309 (diff 7) in 61473 Millis, first at 3162, last at 55830
2016.11.02 18:12:52 4: AC: Read match msg: Pin 5 count 15 (diff 1) in 85833 Millis, first at 85033, last at 85033
2016.11.02 18:12:53 4: AC: Read match msg: Pin 6 count 357 (diff 1) in 38807 Millis, first at ;3665, last at 33665
2016.11.02 18:13:52 4: AC: Read match msg: Pin 4 count 1316 (diff 7) in 62015 Millis, first at 46:7, last at 57845
2016.11.02 18:13:52 4: AC: Read match msg: Pin 6 count 359 (diff 2) in 77827 Millis, first at 12413, last at 51<92
2016.11.02 18:14:52 4: AC: Read match msg: Pin 4 count 1323 (diff 7) in 62114 Millis, first at 67:2, last at 59959
2016.11.02 18:14:52 4: AC: Read match msg: Pin 6 count 360 (diff 1) in 39019 Millis, first at 30511, last at 30=11
2016.11.02 18:15:52 4: AC: Read match msg: Pin 4 count 1329 (diff 6) in 53192 Millis, first at 88<3, last at 53151
2016.11.02 18:15:52 4: AC: Read match msg: Pin 6 count 362 (diff 2) in 78159 Millis, first at 9621, last at 486?0
2016.11.02 18:16:52 4: AC: Read match msg: Pin 4 count 1336 (diff 7) in 62431 Millis, first at 20<0, last at 55582
2016.11.02 18:16:52 4: AC: Read match msg: Pin 6 count 363 (diff 1) in 39109 Millis, first at 27779, last at 27?79
2016.11.02 18:17:52 4: AC: Read match msg: Pin 4 count 1337 (diff 1) in 8982 Millis, first at 456<, last at 4564
2016.11.02 18:17:52 4: AC: Read match msg: Pin 5 count 15 (diff 0) in 334967 Millis,
2016.11.02 18:17:52 4: AC: Read match msg: Pin 6 count 364 (diff 1) in 39443 Millis, first at ?222, last at 7222
2016.11.02 18:20:52 4: AC: Read match msg: Pin 6 count 365 (diff 1) in 208574 Millis, first at 15=796, last at 155796
2016.11.02 18:22:52 4: AC: Read match msg: Pin 4 count 1337 (diff 0) in 355436 Millis,
2016.11.02 18:22:52 3: AC: R5 C15 D0 \300000
2016.11.02 18:24:52 4: AC: Read match msg: Pin 6 count 366 (diff 1) in 215072 Millis, first at 198868, last at 190868
2016.11.02 18:25:52 4: AC: Read match msg: Pin 4 count 1338 (diff 1) in 126580 Millis, first at 1:6580, last at 126580
2016.11.02 18:27:52 4: AC: Read match msg: Pin 5 count 15 (diff 0) in 300000 Millis,
2016.11.02 18:27:52 3: AC: R6 C367 D1 T:15858 Mfirst at 166726, last at 166726
2016.11.02 18:30:51 4: AC: Read match msg: Pin 4 count 1338 (diff 0) in 353420 Millis,
2016.11.02 18:30:52 4: AC: Read match msg: Pin 6 count 368 (diff 1) in 193040 Millis, first at 179766, last it 179766
2016.11.02 18:32:51 4: AC: Read match msg: Pin 5 count 15 (diff 0) in 300000 Millis,
2016.11.02 18:33:51 4: AC: Read match msg: Pin 6 count 369 (diff 1) in 177442 Millis, first at 177208, last at 177208
2016.11.02 18:35:51 4: AC: Read match msg: Pin 4 count 1338 (diff 0) in 300000 Millis,
2016.11.02 18:36:51 4: AC: Read match msg: Pin 6 count 370 (diff 1) in 177293 Millis, first at 17<501, last at 174501
2016.11.02 18:37:51 4: AC: Read match msg: Pin 5 count 15 (diff 0) in 300000 Millis,
2016.11.02 18:39:51 4: AC: Read match msg: Pin 6 count 371 (diff 1) in 177474 Millis, first at 171975, last at 171975
2016.11.02 18:40:51 4: AC: Read match msg: Pin 4 count 1338 (diff 0) in 300000 Millis,
2016.11.02 18:42:51 4: AC: Read match msg: Pin 4 count 1339 (diff 1) in 85915 Millis, first at 85915, last at 85915
2016.11.02 18:42:51 4: AC: Read match msg: Pin 5 count 15 (diff 0) in 300000 Millis,
2016.11.02 18:42:51 4: AC: Read match msg: Pin 6 count 372 (diff 1) in 173031 Millis, first(at 165006, last at 165006
2016.11.02 18:45:51 4: AC: Read match msg: Pin 6 count 373 (diff 1) in 173121 Millis, first at 158127, last at 158127
2016.11.02 18:47:51 4: AC: Read match msg: Pin 4 count 1339 (diff 0) in 334085 Millis,
2016.11.02 18:47:51 3: AC: R5 C15 D0 \300000
2016.11.02 18:48:51 4: AC: Read match msg: Pin 6 count 374 (diff 1) in 173243 Millis, first at 159370, last at 151370
2016.11.02 18:51:51 4: AC: Read match msg: Pin 4 count 1357 (diff 18) in 238715 Millis, first at 983894, last at 238715
2016.11.02 18:51:51 4: AC: Read match msg: Pin 6 count 378 (diff 4) in 195820 Millis, first at 120404, las| at 167190
2016.11.02 18:52:51 4: AC: Read match msg: Pin 4 count 1375 (diff 18) in 58151 Millis, first at 1947, last at 56866
2016.11.02 18:52:51 4: AC: Read match msg: Pin 5 count 15 (diff 0) in 300000 Millis,
2016.11.02 18:52:51 4: AC: Read match msg: Pin 6 count 382 (diff 4) in 62111 Millis, first it 2756, last at 49301
2016.11.02 18:53:50 4: AC: Read match msg: Pin 4 count 1394 (diff 19) in 61197 Millis, first at 9;, last at 58063
2016.11.02 18:53:51 4: AC: Read match msg: Pin 6 count 386 (diff 4) in 62775 Millis, first at 4957, last at 5207>
2016.11.02 18:54:50 4: AC: Read match msg: Pin 4 count 1413 (diff 19) in 61416 Millis, first at 1:88, last at 59479
2016.11.02 18:54:50 4: AC: Read match msg: Pin 6 count 390 (diff 4) in 63228 Millis, first at 7822, last at 55;04
2016.11.02 18:55:50 4: AC: Read match msg: Pin 4 count 1431 (diff 18) in 58419 Millis, first at 2?30, last at 57898
2016.11.02 18:55:50 4: AC: Read match msg: Pin 6 count 394 (diff 4) in 63501 Millis, first at 11142, last at 58805
2016.11.02 18:56:50 4: AC: Read match msg: Pin 4 count 1450 (diff 19) in 61781 Millis, first at 1940, last at 59679
2016.11.02 18:56:50 4: AC: Read match msg: Pin 6 count 397 (diff 3) in 47663 Millis, first at 14673, last at 4>468
2016.11.02 18:57:50 4: AC: Read match msg: Pin 4 count 1458 (diff 8) in 26150 Millis, first at 29:9, last at 25829
2016.11.02 18:57:50 4: AC: Read match msg: Pin 5 count 15 (diff 0) in 300000 Millis,
2016.11.02 18:57:50 4: AC: Read match msg: Pin 6 count 399 (diff 2) in 31856 Millis, first a| 2426, last at 18324
2016.11.02 18:59:50 4: AC: Read match msg: Pin 6 count 400 (diff 1) in 123586 Millis, first at 81910, last at 81910
2016.11.02 19:02:50 4: AC: Read match msg: Pin 4 count 1458 (diff 0) in 334171 Millis,
2016.11.02 19:02:50 3: AC: R5 C15 D0 \300000
2016.11.02 19:02:50 4: AC: Read match msg: Pin 6 count 401 (diff 1) in 183307 Millis, first at 145217, last at 145217
2016.11.02 19:05:50 4: AC: Read match msg: Pin 6 count 402 (diff 1) in 189835 Millis, first at 155052, last at 155052
2016.11.02 19:07:50 4: AC: Read match msg: Pin 4 count 1458 (diff 0) in 300000 Millis,
2016.11.02 19:07:50 4: AC: Read match msg: Pin 5 count 15 (diff 0) in 300000 Millis,
2016.11.02 19:08:50 4: AC: Read match msg: Pin 6 count 403 (diff 1) in 200565 Millis, first at 175617, last at 175617
2016.11.02 19:10:54 1: Timeout for PRESENCE_DoLocalBluetoothScan reached, terminated process 12470
2016.11.02 19:10:54 2: PRESENCE (BT_iBrina) - device could not be checked (retrying in 10 seconds)
2016.11.02 19:11:09 2: PRESENCE (BT_iBrina) - check returned a valid result after 1 unsuccesful retry
2016.11.02 19:12:50 4: AC: Read match msg: Pin 4 count 1458 (diff 0) in 300000 Millis,
2016.11.02 19:12:50 4: AC: Read match msg: Pin 5 count 16 (diff 1) in 254454 Millis, first at 254454, last a| 254454
2016.11.02 19:12:50 4: AC: Read match msg: Pin 6 count 404 (diff 1) in 195699 Millis, first at 191316, last at 191316
2016.11.02 19:15:49 4: AC: Read match msg: Pin 6 count 405 (diff 1) in 186722 Millis, first at 138038, last at 138038
2016.11.02 19:16:08 1: Timeout for PRESENCE_DoLocalBluetoothScan reached, terminated process 13473
2016.11.02 19:16:08 2: PRESENCE (BT_iBrina) - device could not be checked (retrying in 10 seconds)
2016.11.02 19:16:38 2: PRESENCE (BT_iBrina) - check returned a valid result after 1 unsuccesful retry
2016.11.02 19:17:49 4: AC: Read match msg: Pin 4 count 1458 (diff 0) in 300000 Millis,
2016.11.02 19:17:50 4: AC: Read match msg: Pin 5 count 16 (diff 0) in 345546 Millis,
2016.11.02 19:17:50 4: AC: Read match msg: Pin 6 count 406 (diff 1) in 156832 Millis, fir{t at 114870, last at 114870
2016.11.02 19:20:49 4: AC: Read match msg: Pin 4 count 1459 (diff 1) in 155105 Millis, first at 1=5105, last at 155105
2016.11.02 19:20:49 4: AC: Read match msg: Pin 6 count 407 (diff 1) in 178471 Millis, first at 173341, last(at 173341
2016.11.02 19:22:49 4: AC: Read match msg: Pin 5 count 16 (diff 0) in 300000 Millis,
2016.11.02 19:23:49 4: AC: Read match msg: Pin 6 count 408 (diff 1) in 183790 Millis, first at 177131, last at 177131
2016.11.02 19:25:49 4: AC: Read match msg: Pin 4 count 1459 (diff 0) in 324895 Millis,
2016.11.02 19:27:49 4: AC: Read match msg: Pin 5 count 16 (diff 0) in 300000 Millis,
2016.11.02 19:27:49 4: AC: Read match msg: Pin 6 count 409 (diff 1) in 985242 Millis, first at 182373, last at 182373
2016.11.02 19:30:49 4: AC: Read match msg: Pin 4 count 1459 (diff 0) in 300000 Millis,
2016.11.02 19:30:49 4: AC: Read match msg: Pin 6 count 410 (diff 1) in 185362 Millis, first at 127735, last it 127735
2016.11.02 19:32:49 4: AC: Read match msg: Pin 5 count 16 (diff 0) in 300000 Millis,
2016.11.02 19:33:49 4: AC: Read match msg: Pin 6 count 411 (diff 1) in 185846 Millis, first at 133581, last at 133581
2016.11.02 19:35:48 4: AC: Read match msg: Pin 4 count 1459 (diff 0) in 300000 Millis,
2016.11.02 19:36:48 4: AC: Read match msg: Pin 6 count 412 (diff 1) in 186722 Millis, first at 148303, last at 140303
2016.11.02 19:37:48 4: AC: Read match msg: Pin 5 count 16 (diff 0) in 300000 Millis,
2016.11.02 19:39:48 4: AC: Read match msg: Pin 6 count 413 (diff 1) in 186904 Millis, first at 147207, last at 147207
2016.11.02 19:40:48 4: AC: Read match msg: Pin 4 count 1459 (diff 0) in 300000 Millis,
2016.11.02 19:42:48 4: AC: Read match msg: Pin 5 count 16 (diff 0) in 300000 Millis,
2016.11.02 19:42:48 4: AC: Read match msg: Pin 6 count 414 (diff 1) in 981706 Millis, first at 148913, last at 148913
2016.11.02 19:45:48 4: AC: Read match msg: Pin 4 count 1460 (diff 1) in 267967 Millis, first at 267967, last at 267967
2016.11.02 19:46:48 4: AC: Read match msg: Pin 6 count 415 (diff 1) in 226042 Millis, first at 194955, last at 194955
2016.11.02 19:47:48 4: AC: Read match msg: Pin 5 count 16 (diff 0) in 300000 Millis,
2016.11.02 19:49:48 4: AC: Read match msg: Pin 5 count 17 (diff 1) in 113511 Millis, first at 113=11, last at 113511
2016.11.02 19:50:48 4: AC: Read match msg: Pin 4 count 1460 (diff 0) in 332033 Millis,
2016.11.02 19:50:48 3: AC: R6 C416 D1(T231998 Mfirst at 186953, last at 186953
2016.11.02 19:54:48 4: AC: Read match msg: Pin 5 count 17 (diff 0) in 306489 Millis,
2016.11.02 19:54:48 4: AC: Read match msg: Pin 6 count 417 (diff 1) in 238163 Millis, first at 185116, last at(185116
2016.11.02 19:55:48 4: AC: Read match msg: Pin 4 count 1460 (diff 0) in 300000 Millis,
2016.11.02 19:58:47 4: AC: Read match msg: Pin 6 count 418 (diff 1) in 240611 Millis, first at 185727, last at 185727
2016.11.02 19:59:47 4: AC: Read match msg: Pin 5 count 17 (diff 0) in 300000 Millis,
2016.11.02 20:00:47 4: AC: Read match msg: Pin 4 count 1460 (diff 0) in 300000 Millis,
2016.11.02 20:02:47 4: AC: Read match msg: Pin 6 count 419 (diff 1) in 240520 Millis, first at 186247, last at 186247
2016.11.02 20:04:47 4: AC: Read match msg: Pin 5 count 17 (diff 0) in 300000 Millis,
2016.11.02 20:05:47 4: AC: Read match msg: Pin 4 count 1460 (diff 0) in 300000 Millis,
2016.11.02 20:06:47 4: AC: Read match msg: Pin 6 count 420 (diff 1) in 240158 Millis, first at 186405, last at 186405
2016.11.02 20:09:47 4: AC: Read match msg: Pin 5 count 17 (diff 0) in 300000 Millis,
2016.11.02 20:09:47 4: AC: Read match msg: Pin 6 count 421 (diff 1) in 224865 Millis, first at 171270, last at(171270
2016.11.02 20:10:47 4: AC: Read match msg: Pin 4 count 1461 (diff 1) in 266192 Millis, first at 2>6192, last at 266192
2016.11.02 20:13:47 4: AC: Read match msg: Pin 6 count 422 (diff 1) in 192857 Millis, first at 18<127, last at 184127
2016.11.02 20:14:47 4: AC: Read match msg: Pin 5 count 17 (diff 0) in 300000 Millis,
2016.11.02 20:15:47 4: AC: Read match msg: Pin 4 count 1461 (diff 0) in 333808 Millis,
2016.11.02 20:16:47 4: AC: Read match msg: Pin 6 count 423 (diff 1) in 191347 Millis, first at 13=474, last at 135474
2016.11.02 20:18:47 4: AC: Read match msg: Pin 4 count 1472 (diff 11) in 178760 Millis, first at 955097, last at 178760
2016.11.02 20:18:47 4: AC: Read match msg: Pin 6 count 426 (diff 3) in 161063 Millis, first at 93234, last(at 116537
2016.11.02 20:19:47 4: AC: Read match msg: Pin 4 count 1497 (diff 25) in 59222 Millis, first at 1934, last at 57982
2016.11.02 20:19:47 4: AC: Read match msg: Pin 5 count 17 (diff 0) in 300000 Millis,
2016.11.02 20:19:47 4: AC: Read match msg: Pin 6 count 431 (diff 5) in 58301 Millis, first it 8203, last at 54838
2016.11.02 20:20:47 4: AC: Read match msg: Pin 4 count 1523 (diff 26) in 61536 Millis, first at 3=5, last at 59518
2016.11.02 20:20:47 4: AC: Read match msg: Pin 5 count 18 (diff 1) in 4381 Millis, first at 4381, last at 4381
2016.11.02 20:20:47 4: AC: Read match msg: Pin 6 count 436 (diff 5) in 58334 Millis, first at 6506, last at 53172
2016.11.02 20:21:46 4: AC: Read match msg: Pin 4 count 1548 (diff 25) in 59819 Millis, first at 1888, last at 59337
2016.11.02 20:21:47 3: AC: R6 C441 D5 T=8877 Mfirst at 4868, last at 52049
2016.11.02 20:22:46 4: AC: Read match msg: Pin 4 count 1572 (diff 24) in 58255 Millis, first at 1755, last at 57592
2016.11.02 20:22:46 3: AC: R6 C446 D5 T=9419 Mfirst at 3986, last at 51468
2016.11.02 20:23:46 4: AC: Read match msg: Pin 4 count 1597 (diff 25) in 60736 Millis, first at 20, last at 58328
2016.11.02 20:23:46 4: AC: Read match msg: Pin 6 count 451 (diff 5) in 59 Millis, ;91 Mfirst at 3438, last at 50859
2016.11.02 20:24:46 4: AC: Read match msg: Pin 4 count 1622 (diff 25) in 60818 Millis, first at 762, last at 59146
2016.11.02 20:24:46 4: AC: Read match msg: Pin 6 count 456 (diff 5) in 59723 Millis, first at 2798, last at 50582
2016.11.02 20:25:46 4: AC: Read match msg: Pin 4 count 1647 (diff 25) in 60697 Millis, first at 1577, last at 59843
2016.11.02 20:25:46 4: AC: Read match msg: Pin 5 count 18 (diff 0) in 3 Millis, =5619
2016.11.02 20:25:46 4: AC: Read match msg: Pin 6 count 461 (diff 5) in 59602 Millis, first at 2521, last at 50184
2016.11.02 20:26:46 4: AC: Read match msg: Pin 4 count 1671 (diff 24) in 58261 Millis, first at 2262, last at 58104
2016.11.02 20:26:46 3: AC: R6 C466 D5 T=9572 Mfirst at 2092, last at 49756
2016.11.02 20:27:46 4: AC: Read match msg: Pin 4 count 1696 (diff 25) in 60652 Millis, first at 529, last at 58756
2016.11.02 20:27:46 4: AC: Read match msg: Pin 6 count 471 (diff 5) in 59571 Millis, first at 1664, last at 49327
2016.11.02 20:28:46 4: AC: Read match msg: Pin 4 count 1721 (diff 25) in 60659 Millis, first at 1181, last at 59415
2016.11.02 20:28:46 3: AC: R6 C478 D7 T?0544 Mfirst at 1235, last at 59871
2016.11.02 20:29:46 4: AC: Read match msg: Pin 4 count 1745 (diff 24) in 58193 Millis, first at 1842, last at 57608
2016.11.02 20:29:46 3: AC: R6 C485 D7 T=5612 Mfirst at 7820, last at 55483
2016.11.02 20:30:46 4: AC: Read match msg: Pin 4 count 1770 (diff 25) in 60620 Millis, first at 34, last at 58228
2016.11.02 20:30:46 4: AC: Read match msg: Pin 5 count 18 (diff 0) in 300800 Millis,
2016.11.02 20:30:46 4: AC: Read match msg: Pin 6 count 493 (diff 8) in 63592 Millis, first at 3432, last at 59075
2016.11.02 20:31:46 4: AC: Read match msg: Pin 4 count 1795 (diff 25) in 60672 Millis, first at 658, last at 58900
2016.11.02 20:31:46 4: AC: Read match msg: Pin 6 count 500 (diff 7) in 5 Millis, >036 Mfirst at 7084, last at 55111
2016.11.02 20:32:46 4: AC: Read match msg: Pin 4 count 1820 (diff 25) in 60746 Millis, first at 1324, last at 59646
2016.11.02 20:32:46 3: AC: R6 C507 D7 T=8273 Mfirst at 3121, last at 53384
2016.11.02 20:33:46 4: AC: Read match msg: Pin 4 count 1844 (diff 24) in 58295 Millis, first at 2070, last at 57941
2016.11.02 20:33:46 3: AC: R6 C512 D5 T=9541 Mfirst at 5473, last at 52925
2016.11.02 20:34:46 4: AC: Read match msg: Pin 4 count 1869 (diff 25) in 60339 Millis, first at 357, last at 58280
2016.11.02 20:34:46 4: AC: Read match msg: Pin 6 count 517 (diff 5) in 5 Millis, ?758 Mfirst at 4500, last at 50683
2016.11.02 20:35:46 4: AC: Read match msg: Pin 4 count 1906 (diff 37) in 61714 Millis, first at 691, last at 59994
2016.11.02 20:35:46 4: AC: Read match msg: Pin 5 count 18 (diff 0) in 308000 Millis,
2016.11.02 20:35:46 4: AC: Read match msg: Pin 6 count 525 (diff 8) in 67551 Millis, first at 1654, last at 58234
2016.11.02 20:36:46 4: AC: Read match msg: Pin 4 count 1942 (diff 36) in 58748 Millis, first at 1626, last at 58742
2016.11.02 20:36:46 3: AC: R6 C532 D7 T=6429 Mfirst at 6334, last at 54663
2016.11.02 20:37:46 4: AC: Read match msg: Pin 4 count 1979 (diff 37) in 60451 Millis, first at 373, last at 59193
2016.11.02 20:37:46 4: AC: Read match msg: Pin 6 count 540 (diff 8) in 6 Millis, <408 Mfirst at 2703, last at 59071
2016.11.02 20:38:46 4: AC: Read match msg: Pin 4 count 2016 (diff 37) in 60544 Millis, first at 825, last at 59737
2016.11.02 20:38:46 4: AC: Read match msg: Pin 6 count 547 (diff 7) in 5 Millis, >489 Mfirst at 7111, last at 55560
2016.11.02 20:39:46 4: AC: Read match msg: Pin 4 count 2052 (diff 36) in 58986 Millis, first at 1374, last at 58723
2016.11.02 20:39:46 4: AC: Read match msg: Pin 5 count 19 (diff 1) in 2 Millis, :8655 Mfirst at 228655, last at 228655
2016.11.02 20:39:46 4: AC: Read match msg: Pin 6 count 554 (diff 7) in 56519 Millis, first(at 3629, last at 52079
2016.11.02 20:40:46 4: AC: Read match msg: Pin 4 count 2089 (diff 37) in 60494 Millis, first at 3=8, last at 59217
2016.11.02 20:40:46 4: AC: Read match msg: Pin 6 count 562 (diff 8) in 64498 Millis, first at 119, last at 5657?
2016.11.02 20:41:46 4: AC: Read match msg: Pin 4 count 2126 (diff 37) in 60563 Millis, first at 8=1, last at 59780
2016.11.02 20:41:46 4: AC: Read match msg: Pin 6 count 569 (diff 7) in 56429 Millis, first at 4648, last at 53086
2016.11.02 20:42:46 4: AC: Read match msg: Pin 4 count 2162 (diff 36) in 58973 Millis, first at 1<15, last at 58753
2016.11.02 20:42:46 4: AC: Read match msg: Pin 6 count 577 (diff 8) in 64529 Millis, first at 1076, last at 57=35
2016.11.02 20:43:45 4: AC: Read match msg: Pin 4 count 2199 (diff 37) in 60685 Millis, first at 391, last at 59438
2016.11.02 20:43:46 4: AC: Read match msg: Pin 6 count 584 (diff 7) in 56610 Millis, first at 5606, last at 541<5
2016.11.02 20:44:45 4: AC: Read match msg: Pin 4 count 2235 (diff 36) in 59120 Millis, first at 1880, last at 58558
2016.11.02 20:44:46 4: AC: Read match msg: Pin 5 count 19 (diff 0) in 311345 Millis,
2016.11.02 20:44:46 4: AC: Read match msg: Pin 6 count 592 (diff 8) in 64861 Millis, first it 2276, last at 59006
2016.11.02 20:45:45 4: AC: Read match msg: Pin 4 count 2272 (diff 37) in 60684 Millis, first at 197, last at 59242
2016.11.02 20:45:45 4: AC: Read match msg: Pin 6 count 599 (diff 7) in 56853 Millis, first at 7137, last at 558=9
2016.11.02 20:46:45 4: AC: Read match msg: Pin 4 count 2309 (diff 37) in 60566 Millis, first at 883, last at 59808
2016.11.02 20:46:45 4: AC: Read match msg: Pin 6 count 607 (diff 8) in 63410 Millis, first at 3959, last at 592>9
2016.11.02 20:47:45 4: AC: Read match msg: Pin 4 count 2345 (diff 36) in 59124 Millis, first at 1<50, last at 58932
2016.11.02 20:47:45 4: AC: Read match msg: Pin 6 count 617 (diff 10) in 55493 Millis, first at 5072, last at 5<762
2016.11.02 20:48:45 4: AC: Read match msg: Pin 4 count 2382 (diff 37) in 60493 Millis, first at 5?1, last at 59425
2016.11.02 20:48:45 4: AC: Read match msg: Pin 6 count 627 (diff 10) in 62534 Millis, first at 51, last at 5729>
2016.11.02 20:49:45 4: AC: Read match msg: Pin 4 count 2419 (diff 37) in 60308 Millis, first at 1854, last at 59733
2016.11.02 20:49:45 4: AC: Read match msg: Pin 5 count 19 (diff 0) in 300000 Millis,
2016.11.02 20:49:45 4: AC: Read match msg: Pin 6 count 634 (diff 7) in 56579 Millis, first it 5396, last at 53875
2016.11.02 20:50:45 4: AC: Read match msg: Pin 4 count 2443 (diff 24) in 57465 Millis, first at 1;62, last at 57198
2016.11.02 20:50:45 4: AC: Read match msg: Pin 6 count 639 (diff 5) in 54676 Millis, first at 1916, last at 48=51
2016.11.02 20:51:45 4: AC: Read match msg: Pin 4 count 2464 (diff 21) in 62266 Millis, first at 1=9, last at 59464
2016.11.02 20:51:45 4: AC: Read match msg: Pin 6 count 644 (diff 5) in 69697 Millis, first at 2455, last at 582<8
2016.11.02 20:52:45 4: AC: Read match msg: Pin 4 count 2484 (diff 20) in 59367 Millis, first at 2<30, last at 58831
2016.11.02 20:52:45 4: AC: Read match msg: Pin 6 count 648 (diff 4) in 55824 Millis, first at 12181, last at 5<072
2016.11.02 20:53:45 4: AC: Read match msg: Pin 4 count 2504 (diff 20) in 59258 Millis, first at 1?97, last at 58089
2016.11.02 20:53:45 4: AC: Read match msg: Pin 6 count 652 (diff 4) in 55340 Millis, first at 8005, last at 49<12
2016.11.02 20:54:45 4: AC: Read match msg: Pin 4 count 2524 (diff 20) in 59313 Millis, first at 1848, last at 57402
2016.11.02 20:54:45 4: AC: Read match msg: Pin 5 count 19 (diff 0) in 300000 Millis,
2016.11.02 20:54:45 4: AC: Read match msg: Pin 6 count 657 (diff 5) in 68367 Millis, first it 2922, last at 57779
2016.11.02 20:55:45 4: AC: Read match msg: Pin 4 count 2545 (diff 21) in 62245 Millis, first at 3?1, last at 59647
2016.11.02 20:55:45 4: AC: Read match msg: Pin 6 count 661 (diff 4) in 54886 Millis, first at 11530, last at 52>65
2016.11.02 20:56:45 4: AC: Read match msg: Pin 4 count 2565 (diff 20) in 59305 Millis, first at 2>07, last at 58952
2016.11.02 20:56:45 4: AC: Read match msg: Pin 6 count 665 (diff 4) in 54857 Millis, first at 6357, last at 47=22
2016.11.02 20:57:45 4: AC: Read match msg: Pin 4 count 2585 (diff 20) in 59388 Millis, first at 1917, last at 58340
2016.11.02 20:57:45 4: AC: Read match msg: Pin 6 count 670 (diff 5) in 68639 Millis, first at 1244, last at 56961
2016.11.02 20:58:45 4: AC: Read match msg: Pin 4 count 2605 (diff 20) in 59545 Millis, first at 1;12, last at 57885
2016.11.02 20:58:45 4: AC: Read match msg: Pin 6 count 674 (diff 4) in 54525 Millis, first at 9853, last at 50>86
2016.11.02 20:59:45 4: AC: Read match msg: Pin 4 count 2623 (diff 18) in 59271 Millis, first at 8?4, last at 57156
2016.11.02 20:59:45 4: AC: Read match msg: Pin 5 count 19 (diff 0) in 300000 Millis,
2016.11.02 20:59:45 4: AC: Read match msg: Pin 6 count 678 (diff 4) in 54312 Millis, first a| 2987, last at 44998
2016.11.02 21:00:45 4: AC: Read match msg: Pin 4 count 2636 (diff 13) in 61990 Millis, first at 1932, last at 59146
2016.11.02 21:00:45 4: AC: Read match msg: Pin 6 count 681 (diff 3) in 60962 Millis, first at 5338, last at 45960
2016.11.02 21:01:45 4: AC: Read match msg: Pin 4 count 2648 (diff 12) in 57061 Millis, first at 3917, last at 56207
2016.11.02 21:01:45 4: AC: Read match msg: Pin 6 count 684 (diff 3) in 60901 Millis, first at 6240, last at 46861
2016.11.02 21:02:45 4: AC: Read match msg: Pin 4 count 2661 (diff 13) in 61828 Millis, first at 9=4, last at 58035
2016.11.02 21:02:45 4: AC: Read match msg: Pin 6 count 687 (diff 3) in 61143 Millis, first at 7353, last at 48084
2016.11.02 21:03:45 4: AC: Read match msg: Pin 4 count 2674 (diff 13) in 61859 Millis, first at 2?93, last at 59894
2016.11.02 21:03:45 4: AC: Read match msg: Pin 6 count 690 (diff 3) in 60872 Millis, first at 8284, last at 48876
2016.11.02 21:04:45 4: AC: Read match msg: Pin 4 count 2686 (diff 12) in 57135 Millis, first at 4>47, last at 57029
2016.11.02 21:04:45 4: AC: Read match msg: Pin 5 count 19 (diff 0) in 300000 Millis,
2016.11.02 21:04:45 4: AC: Read match msg: Pin 6 count 693 (diff 3) in 60901 Millis, first it 9156, last at 49777
2016.11.02 21:05:44 4: AC: Read match msg: Pin 4 count 2699 (diff 13) in 61879 Millis, first at 1?96, last at 58908
2016.11.02 21:05:45 4: AC: Read match msg: Pin 6 count 696 (diff 3) in 60962 Millis, first at 10118, last at 58739
2016.11.02 21:06:44 4: AC: Read match msg: Pin 4 count 2711 (diff 12) in 57227 Millis, first at 3>71, last at 56135
2016.11.02 21:06:45 4: AC: Read match msg: Pin 6 count 699 (diff 3) in 61082 Millis, first at 11080, last at 59821
2016.11.02 21:07:44 4: AC: Read match msg: Pin 4 count 2724 (diff 13) in 61818 Millis, first at 893, last at 57953
2016.11.02 21:07:44 4: AC: Read match msg: Pin 6 count 702 (diff 3) in 60961 Millis, first at 12252, last at 52?82
2016.11.02 21:08:44 4: AC: Read match msg: Pin 4 count 2737 (diff 13) in 61872 Millis, first at 2?11, last at 59825
2016.11.02 21:08:44 4: AC: Read match msg: Pin 6 count 705 (diff 3) in 60147 Millis, first at 12791, last at 5:929


Und hier die Werte ab 17:00 Uhr 2016-11-02_17:00:03 AC power6: 0.914
2016-11-02_17:00:56 AC pin6: 318
2016-11-02_17:00:55 AC power6: 0.791
2016-11-02_17:01:55 AC pin6: 319
2016-11-02_16:58:58 AC power4: 0.030
2016-11-02_17:03:55 AC pin4: 1219
2016-11-02_16:59:55 AC power5: 0.000
2016-11-02_17:04:55 AC pin5: 13
2016-11-02_17:01:40 AC power6: 0.245
2016-11-02_17:04:55 AC pin6: 320
2016-11-02_17:04:39 AC power6: 0.245
2016-11-02_17:07:55 AC pin6: 321
2016-11-02_17:03:53 AC power4: 0.000
2016-11-02_17:08:55 AC pin4: 1219
2016-11-02_17:04:55 AC power5: 0.000
2016-11-02_17:09:55 AC pin5: 13
2016-11-02_17:07:39 AC power6: 0.244
2016-11-02_17:10:55 AC pin6: 322
2016-11-02_17:08:55 AC power4: 0.000
2016-11-02_17:13:55 AC pin4: 1219
2016-11-02_17:09:55 AC power5: 0.000
2016-11-02_17:14:55 AC pin5: 13
2016-11-02_17:11:37 AC power6: 0.242
2016-11-02_17:14:55 AC pin6: 323
2016-11-02_17:14:37 AC power6: 0.243
2016-11-02_17:17:55 AC pin6: 324
2016-11-02_17:13:55 AC power4: 0.000
2016-11-02_17:18:55 AC pin4: 1219
2016-11-02_17:14:55 AC power5: 0.000
2016-11-02_17:19:55 AC pin5: 13
2016-11-02_17:17:36 AC power6: 0.242
2016-11-02_17:20:55 AC pin6: 325
2016-11-02_17:19:30 AC power4: 0.062
2016-11-02_17:21:55 AC pin4: 1220
2016-11-02_17:19:54 AC power5: 0.000
2016-11-02_17:24:54 AC pin5: 13
2016-11-02_17:08:16 AC power6: 0.048
2016-11-02_17:24:55 AC pin6: 326
2016-11-02_17:21:19 AC power4: 0.000
2016-11-02_17:26:54 AC pin4: 1220
2016-11-02_17:24:35 AC power6: 0.241
2016-11-02_17:27:54 AC pin6: 327
2016-11-02_17:24:54 AC power5: 0.000
2016-11-02_17:29:54 AC pin5: 13
2016-11-02_17:27:35 AC power6: 0.241
2016-11-02_17:30:54 AC pin6: 328
2016-11-02_17:26:54 AC power4: 0.000
2016-11-02_17:31:54 AC pin4: 1220
2016-11-02_17:29:54 AC power5: 0.000
2016-11-02_17:34:54 AC pin5: 13
2016-11-02_17:18:15 AC power6: 0.048
2016-11-02_17:34:54 AC pin6: 329
2016-11-02_17:31:54 AC power4: 0.000
2016-11-02_17:36:54 AC pin4: 1220
2016-11-02_17:34:35 AC power6: 0.241
2016-11-02_17:37:54 AC pin6: 330
2016-11-02_17:37:04 AC power4: 0.082
2016-11-02_17:38:54 AC pin4: 1221
2016-11-02_17:34:54 AC power5: 0.000
2016-11-02_17:39:54 AC pin5: 13
2016-11-02_17:40:01 AC power5: 0.068
2016-11-02_17:40:54 AC pin5: 14
2016-11-02_17:40:54 AC power6: 2823.459
2016-11-02_17:40:54 AC pin6: 331
2016-11-02_17:38:44 AC power4: 0.000
2016-11-02_17:43:54 AC pin4: 1221
2016-11-02_17:40:51 AC power6: 0.262
2016-11-02_17:43:54 AC pin6: 332
2016-11-02_17:40:47 AC power5: 0.000
2016-11-02_17:45:53 AC pin5: 14
2016-11-02_17:43:52 AC power6: 0.264
2016-11-02_17:46:53 AC pin6: 333
2016-11-02_17:43:53 AC power4: 0.000
2016-11-02_17:48:53 AC pin4: 1221
2016-11-02_17:46:50 AC power6: 0.262
2016-11-02_17:49:53 AC pin6: 334
2016-11-02_17:45:53 AC power5: 0.000
2016-11-02_17:50:53 AC pin5: 14
2016-11-02_17:49:51 AC power6: 0.264
2016-11-02_17:52:53 AC pin6: 335
2016-11-02_17:48:53 AC power4: 0.000
2016-11-02_17:53:53 AC pin4: 1221
2016-11-02_17:50:53 AC power5: 0.000
2016-11-02_17:55:53 AC pin5: 14
2016-11-02_17:39:30 AC power6: 0.049
2016-11-02_17:55:53 AC pin6: 336
2016-11-02_17:54:43 AC power4: 0.069
2016-11-02_17:56:53 AC pin4: 1222
2016-11-02_17:56:02 AC power6: 0.281
2016-11-02_17:58:53 AC pin6: 337
2016-11-02_17:56:11 AC power4: 0.160
2016-11-02_18:00:53 AC pin4: 1227
2016-11-02_17:58:17 AC power6: 0.614
2016-11-02_18:00:53 AC pin6: 339
2016-11-02_18:00:51 AC power4: 1.019
2016-11-02_18:01:53 AC pin4: 1234
2016-11-02_18:01:53 AC power6: 1297.265
2016-11-02_18:01:53 AC pin6: 340
2016-11-02_18:01:51 AC power4: 1.018
2016-11-02_18:02:53 AC pin4: 1241
2016-11-02_18:02:53 AC power6: 13713.943
2016-11-02_18:02:53 AC pin6: 342
2016-11-02_18:02:51 AC power4: 1.016
2016-11-02_18:03:53 AC pin4: 1248
2016-11-02_18:03:53 AC power6: 15999.600
2016-11-02_18:03:53 AC pin6: 343
2016-11-02_18:03:51 AC power4: 1.017
2016-11-02_18:04:53 AC pin4: 1255
2016-11-02_18:04:53 AC power6: 13713.943
2016-11-02_18:04:53 AC pin6: 345
2016-11-02_18:05:00 AC power4: 1.026
2016-11-02_18:05:53 AC pin4: 1261
2016-11-02_18:00:45 AC power5: 0.000
2016-11-02_18:05:53 AC pin5: 14
2016-11-02_18:05:14 AC power6: 1.232
2016-11-02_18:05:53 AC pin6: 346
2016-11-02_18:05:51 AC power4: 1.022
2016-11-02_18:06:53 AC pin4: 1268
2016-11-02_18:05:34 AC power6: 1.217
2016-11-02_18:06:53 AC pin6: 348
2016-11-02_18:06:51 AC power4: 1.022
2016-11-02_18:07:53 AC pin4: 1275
2016-11-02_18:06:34 AC power6: 1.228
2016-11-02_18:07:53 AC pin6: 350
2016-11-02_18:07:51 AC power4: 1.016
2016-11-02_18:08:53 AC pin4: 1282
2016-11-02_18:08:13 AC power6: 1.224
2016-11-02_18:08:53 AC pin6: 351
2016-11-02_18:08:50 AC power4: 1.013
2016-11-02_18:09:52 AC pin4: 1289
2016-11-02_18:08:34 AC power6: 1.219
2016-11-02_18:09:53 AC pin6: 353
2016-11-02_18:09:59 AC power4: 1.013
2016-11-02_18:10:52 AC pin4: 1295
2016-11-02_18:05:44 AC power5: 0.000
2016-11-02_18:10:52 AC pin5: 14
2016-11-02_18:10:13 AC power6: 1.227
2016-11-02_18:10:53 AC pin6: 354
2016-11-02_18:10:50 AC power4: 1.016
2016-11-02_18:11:52 AC pin4: 1302
2016-11-02_18:10:34 AC power6: 1.229
2016-11-02_18:11:52 AC pin6: 356
2016-11-02_18:11:51 AC power4: 1.025
2016-11-02_18:12:52 AC pin4: 1309
2016-11-02_18:11:27 AC power5: 0.042
2016-11-02_18:12:52 AC pin5: 15
2016-11-02_18:12:14 AC power6: 1.237
2016-11-02_18:12:53 AC pin6: 357
2016-11-02_18:12:50 AC power4: 1.016
2016-11-02_18:13:52 AC pin4: 1316
2016-11-02_18:12:35 AC power6: 1.233
2016-11-02_18:13:52 AC pin6: 359
2016-11-02_18:13:50 AC power4: 1.014
2016-11-02_18:14:52 AC pin4: 1323
2016-11-02_18:14:13 AC power6: 1.230
2016-11-02_18:14:52 AC pin6: 360
2016-11-02_18:14:59 AC power4: 1.015
2016-11-02_18:15:52 AC pin4: 1329
2016-11-02_18:14:34 AC power6: 1.228
2016-11-02_18:15:52 AC pin6: 362
2016-11-02_18:15:50 AC power4: 1.009
2016-11-02_18:16:52 AC pin4: 1336
2016-11-02_18:16:13 AC power6: 1.227
2016-11-02_18:16:52 AC pin6: 363
2016-11-02_18:17:43 AC power4: 1.002
2016-11-02_18:17:52 AC pin4: 1337
2016-11-02_18:12:17 AC power5: 0.000
2016-11-02_18:17:52 AC pin5: 15
2016-11-02_18:17:13 AC power6: 1.217
2016-11-02_18:17:52 AC pin6: 364
2016-11-02_18:17:23 AC power6: 0.230
2016-11-02_18:20:52 AC pin6: 365
2016-11-02_18:16:56 AC power4: 0.000
2016-11-02_18:22:52 AC pin4: 1337
2016-11-02_18:21:17 AC power6: 0.223
2016-11-02_18:24:52 AC pin6: 366
2016-11-02_18:23:45 AC power4: 0.071
2016-11-02_18:25:52 AC pin4: 1338
2016-11-02_18:22:52 AC power5: 0.000
2016-11-02_18:27:52 AC pin5: 15
2016-11-02_18:24:58 AC power4: 0.000
2016-11-02_18:30:51 AC pin4: 1338
2016-11-02_18:27:38 AC power6: 0.249
2016-11-02_18:30:52 AC pin6: 368
2016-11-02_18:27:51 AC power5: 0.000
2016-11-02_18:32:51 AC pin5: 15
2016-11-02_18:30:54 AC power6: 0.271
2016-11-02_18:33:51 AC pin6: 369
2016-11-02_18:30:51 AC power4: 0.000
2016-11-02_18:35:51 AC pin4: 1338
2016-11-02_18:33:54 AC power6: 0.271
2016-11-02_18:36:51 AC pin6: 370
2016-11-02_18:32:51 AC power5: 0.000
2016-11-02_18:37:51 AC pin5: 15
2016-11-02_18:36:54 AC power6: 0.270
2016-11-02_18:39:51 AC pin6: 371
2016-11-02_18:35:51 AC power4: 0.000
2016-11-02_18:40:51 AC pin4: 1338
2016-11-02_18:41:25 AC power4: 0.105
2016-11-02_18:42:51 AC pin4: 1339
2016-11-02_18:37:51 AC power5: 0.000
2016-11-02_18:42:51 AC pin5: 15
2016-11-02_18:39:58 AC power6: 0.277
2016-11-02_18:42:51 AC pin6: 372
2016-11-02_18:42:58 AC power6: 0.277
2016-11-02_18:45:51 AC pin6: 373
2016-11-02_18:42:17 AC power4: 0.000
2016-11-02_18:47:51 AC pin4: 1339
2016-11-02_18:45:57 AC power6: 0.277
2016-11-02_18:48:51 AC pin6: 374
2016-11-02_18:47:52 AC power4: 0.679
2016-11-02_18:51:51 AC pin4: 1357
2016-11-02_18:48:35 AC power6: 0.980
2016-11-02_18:51:51 AC pin6: 378
2016-11-02_18:51:52 AC power4: 2.786
2016-11-02_18:52:51 AC pin4: 1375
2016-11-02_18:47:51 AC power5: 0.000
2016-11-02_18:52:51 AC pin5: 15
2016-11-02_18:51:49 AC power6: 3.091
2016-11-02_18:52:51 AC pin6: 382
2016-11-02_18:52:49 AC power4: 2.794
2016-11-02_18:53:50 AC pin4: 1394
2016-11-02_18:52:48 AC power6: 3.058
2016-11-02_18:53:51 AC pin6: 386
2016-11-02_18:53:49 AC power4: 2.784
2016-11-02_18:54:50 AC pin4: 1413
2016-11-02_18:53:47 AC power6: 3.037
2016-11-02_18:54:50 AC pin6: 390
2016-11-02_18:54:52 AC power4: 2.773
2016-11-02_18:55:50 AC pin4: 1431
2016-11-02_18:54:47 AC power6: 3.023
2016-11-02_18:55:50 AC pin6: 394
2016-11-02_18:55:49 AC power4: 2.768
2016-11-02_18:56:50 AC pin4: 1450
2016-11-02_18:56:03 AC power6: 3.021
2016-11-02_18:56:50 AC pin6: 397
2016-11-02_18:57:24 AC power4: 2.753
2016-11-02_18:57:50 AC pin4: 1458
2016-11-02_18:52:50 AC power5: 0.000
2016-11-02_18:57:50 AC pin5: 15
2016-11-02_18:57:19 AC power6: 3.013
2016-11-02_18:57:50 AC pin6: 399
2016-11-02_18:57:47 AC power6: 0.388
2016-11-02_18:59:50 AC pin6: 400
2016-11-02_18:57:16 AC power4: 0.000
2016-11-02_19:02:50 AC pin4: 1458
2016-11-02_18:59:47 AC power6: 0.262
2016-11-02_19:02:50 AC pin6: 401
2016-11-02_19:02:40 AC power6: 0.253
2016-11-02_19:05:50 AC pin6: 402
2016-11-02_19:02:50 AC power4: 0.000
2016-11-02_19:07:50 AC pin4: 1458
2016-11-02_19:02:50 AC power5: 0.000
2016-11-02_19:07:50 AC pin5: 15
2016-11-02_19:05:29 AC power6: 0.239
2016-11-02_19:08:50 AC pin6: 403
2016-11-02_19:07:50 AC power4: 0.000
2016-11-02_19:12:50 AC pin4: 1458
2016-11-02_19:08:35 AC power5: 0.014
2016-11-02_19:12:50 AC pin5: 16
2016-11-02_19:09:34 AC power6: 0.245
2016-11-02_19:12:50 AC pin6: 404
2016-11-02_19:12:43 AC power6: 0.257
2016-11-02_19:15:49 AC pin6: 405
2016-11-02_19:12:49 AC power4: 0.000
2016-11-02_19:17:49 AC pin4: 1458
2016-11-02_19:12:04 AC power5: 0.000
2016-11-02_19:17:50 AC pin5: 16
2016-11-02_19:15:13 AC power6: 0.306
2016-11-02_19:17:50 AC pin6: 406
2016-11-02_19:18:14 AC power4: 0.058
2016-11-02_19:20:49 AC pin4: 1459
2016-11-02_19:17:51 AC power6: 0.269
2016-11-02_19:20:49 AC pin6: 407
2016-11-02_19:17:49 AC power5: 0.000
2016-11-02_19:22:49 AC pin5: 16
2016-11-02_19:20:45 AC power6: 0.261
2016-11-02_19:23:49 AC pin6: 408
2016-11-02_19:20:24 AC power4: 0.000
2016-11-02_19:25:49 AC pin4: 1459
2016-11-02_19:22:49 AC power5: 0.000
2016-11-02_19:27:49 AC pin5: 16
2016-11-02_19:11:24 AC power6: 0.049
2016-11-02_19:27:49 AC pin6: 409
2016-11-02_19:25:49 AC power4: 0.000
2016-11-02_19:30:49 AC pin4: 1459
2016-11-02_19:27:43 AC power6: 0.259
2016-11-02_19:30:49 AC pin6: 410
2016-11-02_19:27:49 AC power5: 0.000
2016-11-02_19:32:49 AC pin5: 16
2016-11-02_19:30:43 AC power6: 0.258
2016-11-02_19:33:49 AC pin6: 411
2016-11-02_19:30:48 AC power4: 0.000
2016-11-02_19:35:48 AC pin4: 1459
2016-11-02_19:33:42 AC power6: 0.257
2016-11-02_19:36:48 AC pin6: 412
2016-11-02_19:32:48 AC power5: 0.000
2016-11-02_19:37:48 AC pin5: 16
2016-11-02_19:36:41 AC power6: 0.257
2016-11-02_19:39:48 AC pin6: 413
2016-11-02_19:35:48 AC power4: 0.000
2016-11-02_19:40:48 AC pin4: 1459
2016-11-02_19:37:48 AC power5: 0.000
2016-11-02_19:42:48 AC pin5: 16
2016-11-02_19:26:27 AC power6: 0.049
2016-11-02_19:42:48 AC pin6: 414
2016-11-02_19:41:20 AC power4: 0.034
2016-11-02_19:45:48 AC pin4: 1460
2016-11-02_19:43:02 AC power6: 0.212
2016-11-02_19:46:48 AC pin6: 415
2016-11-02_19:42:48 AC power5: 0.000
2016-11-02_19:47:48 AC pin5: 16
2016-11-02_19:47:54 AC power5: 0.032
2016-11-02_19:49:48 AC pin5: 17
2016-11-02_19:45:16 AC power4: 0.000
2016-11-02_19:50:48 AC pin4: 1460
2016-11-02_19:49:41 AC power5: 0.000
2016-11-02_19:54:48 AC pin5: 17
2016-11-02_19:50:50 AC power6: 0.202
2016-11-02_19:54:48 AC pin6: 417
2016-11-02_19:50:48 AC power4: 0.000
2016-11-02_19:55:48 AC pin4: 1460
2016-11-02_19:54:47 AC power6: 0.199
2016-11-02_19:58:47 AC pin6: 418
2016-11-02_19:54:47 AC power5: 0.000
2016-11-02_19:59:47 AC pin5: 17
2016-11-02_19:55:47 AC power4: 0.000
2016-11-02_20:00:47 AC pin4: 1460
2016-11-02_19:58:47 AC power6: 0.200
2016-11-02_20:02:47 AC pin6: 419
2016-11-02_19:59:47 AC power5: 0.000
2016-11-02_20:04:47 AC pin5: 17
2016-11-02_20:00:47 AC power4: 0.000
2016-11-02_20:05:47 AC pin4: 1460
2016-11-02_20:02:47 AC power6: 0.200
2016-11-02_20:06:47 AC pin6: 420
2016-11-02_20:04:47 AC power5: 0.000
2016-11-02_20:09:47 AC pin5: 17
2016-11-02_20:06:02 AC power6: 0.213
2016-11-02_20:09:47 AC pin6: 421
2016-11-02_20:06:21 AC power4: 0.034
2016-11-02_20:10:47 AC pin4: 1461
2016-11-02_20:10:34 AC power6: 0.249
2016-11-02_20:13:47 AC pin6: 422
2016-11-02_20:09:47 AC power5: 0.000
2016-11-02_20:14:47 AC pin5: 17
2016-11-02_20:10:13 AC power4: 0.000
2016-11-02_20:15:47 AC pin4: 1461
2016-11-02_20:13:35 AC power6: 0.251
2016-11-02_20:16:47 AC pin6: 423
2016-11-02_20:15:48 AC power4: 0.554
2016-11-02_20:18:47 AC pin4: 1472
2016-11-02_20:16:06 AC power6: 0.894
2016-11-02_20:18:47 AC pin6: 426
2016-11-02_20:18:47 AC power4: 3.799
2016-11-02_20:19:47 AC pin4: 1497
2016-11-02_20:14:47 AC power5: 0.000
2016-11-02_20:19:47 AC pin5: 17
2016-11-02_20:18:48 AC power6: 4.116
2016-11-02_20:19:47 AC pin6: 431
2016-11-02_20:19:45 AC power4: 3.803
2016-11-02_20:20:47 AC pin4: 1523
2016-11-02_20:20:42 AC power5: 0.822
2016-11-02_20:20:47 AC pin5: 18
2016-11-02_20:19:48 AC power6: 4.114
2016-11-02_20:20:47 AC pin6: 436
2016-11-02_20:20:47 AC power4: 3.761
2016-11-02_20:21:46 AC pin4: 1548
2016-11-02_20:21:48 AC power4: 3.708
2016-11-02_20:22:46 AC pin4: 1572
2016-11-02_20:22:46 AC power4: 3.705
2016-11-02_20:23:46 AC pin4: 1597
2016-11-02_20:23:46 AC power6: 4067.695
2016-11-02_20:23:46 AC pin6: 451
2016-11-02_20:23:46 AC power4: 3.700
2016-11-02_20:24:46 AC pin4: 1622
2016-11-02_20:23:47 AC power6: 4.018
2016-11-02_20:24:46 AC pin6: 456
2016-11-02_20:24:46 AC power4: 3.707
2016-11-02_20:25:46 AC pin4: 1647
2016-11-02_20:25:46 AC power5: 0.000
2016-11-02_20:25:46 AC pin5: 18
2016-11-02_20:24:47 AC power6: 4.027
2016-11-02_20:25:46 AC pin6: 461
2016-11-02_20:25:48 AC power4: 3.707
2016-11-02_20:26:46 AC pin4: 1671
2016-11-02_20:26:46 AC power4: 3.710
2016-11-02_20:27:46 AC pin4: 1696
2016-11-02_20:26:47 AC power6: 4.029
2016-11-02_20:27:46 AC pin6: 471
2016-11-02_20:27:45 AC power4: 3.709
2016-11-02_20:28:46 AC pin4: 1721
2016-11-02_20:28:48 AC power4: 3.712
2016-11-02_20:29:46 AC pin4: 1745
2016-11-02_20:29:45 AC power4: 3.712
2016-11-02_20:30:46 AC pin4: 1770
2016-11-02_20:25:45 AC power5: 0.000
2016-11-02_20:30:46 AC pin5: 18
2016-11-02_20:29:43 AC power6: 6.038
2016-11-02_20:30:46 AC pin6: 493
2016-11-02_20:30:45 AC power4: 3.708
2016-11-02_20:31:46 AC pin4: 1795
2016-11-02_20:31:46 AC power6: 67198.320
2016-11-02_20:31:46 AC pin6: 500
2016-11-02_20:31:45 AC power4: 3.704
2016-11-02_20:32:46 AC pin4: 1820
2016-11-02_20:32:48 AC power4: 3.705
2016-11-02_20:33:46 AC pin4: 1844
2016-11-02_20:33:46 AC power4: 3.729
2016-11-02_20:34:46 AC pin4: 1869
2016-11-02_20:34:46 AC power6: 47998.800
2016-11-02_20:34:46 AC pin6: 517
2016-11-02_20:34:44 AC power4: 5.396
2016-11-02_20:35:46 AC pin4: 1906
2016-11-02_20:30:38 AC power5: 0.000
2016-11-02_20:35:46 AC pin5: 18
2016-11-02_20:34:38 AC power6: 5.684
2016-11-02_20:35:46 AC pin6: 525
2016-11-02_20:35:47 AC power4: 5.515
2016-11-02_20:36:46 AC pin4: 1942
2016-11-02_20:36:45 AC power4: 5.509
2016-11-02_20:37:46 AC pin4: 1979
2016-11-02_20:37:46 AC power6: 63998.400
2016-11-02_20:37:46 AC pin6: 540
2016-11-02_20:37:45 AC power4: 5.500
2016-11-02_20:38:46 AC pin4: 2016
2016-11-02_20:38:46 AC power6: 67198.320
2016-11-02_20:38:46 AC pin6: 547
2016-11-02_20:38:47 AC power4: 5.493
2016-11-02_20:39:46 AC pin4: 2052
2016-11-02_20:39:46 AC power5: 1800.000
2016-11-02_20:39:46 AC pin5: 19
2016-11-02_20:38:49 AC power6: 5.945
2016-11-02_20:39:46 AC pin6: 554
2016-11-02_20:39:45 AC power4: 5.505
2016-11-02_20:40:46 AC pin4: 2089
2016-11-02_20:39:41 AC power6: 5.954
2016-11-02_20:40:46 AC pin6: 562
2016-11-02_20:40:45 AC power4: 5.498
2016-11-02_20:41:46 AC pin4: 2126
2016-11-02_20:40:49 AC power6: 5.954
2016-11-02_20:41:46 AC pin6: 569
2016-11-02_20:41:47 AC power4: 5.494
2016-11-02_20:42:46 AC pin4: 2162
2016-11-02_20:41:41 AC power6: 5.951
2016-11-02_20:42:46 AC pin6: 577
2016-11-02_20:42:45 AC power4: 5.487
2016-11-02_20:43:45 AC pin4: 2199
2016-11-02_20:42:49 AC power6: 5.935
2016-11-02_20:43:46 AC pin6: 584
2016-11-02_20:43:46 AC power4: 5.480
2016-11-02_20:44:45 AC pin4: 2235
2016-11-02_20:39:34 AC power5: 0.000
2016-11-02_20:44:46 AC pin5: 19
2016-11-02_20:43:41 AC power6: 5.920
2016-11-02_20:44:46 AC pin6: 592
2016-11-02_20:44:45 AC power4: 5.487
2016-11-02_20:45:45 AC pin4: 2272
2016-11-02_20:44:49 AC power6: 5.910
2016-11-02_20:45:45 AC pin6: 599
2016-11-02_20:45:45 AC power4: 5.498
2016-11-02_20:46:45 AC pin4: 2309
2016-11-02_20:45:42 AC power6: 6.056
2016-11-02_20:46:45 AC pin6: 607
2016-11-02_20:46:46 AC power4: 5.480
2016-11-02_20:47:45 AC pin4: 2345
2016-11-02_20:46:50 AC power6: 8.650
2016-11-02_20:47:45 AC pin6: 617
2016-11-02_20:47:45 AC power4: 5.505
2016-11-02_20:48:45 AC pin4: 2382
2016-11-02_20:47:43 AC power6: 7.676
2016-11-02_20:48:45 AC pin6: 627
2016-11-02_20:48:45 AC power4: 5.522
2016-11-02_20:49:45 AC pin4: 2419
2016-11-02_20:44:45 AC power5: 0.000
2016-11-02_20:49:45 AC pin5: 19
2016-11-02_20:48:49 AC power6: 5.938
2016-11-02_20:49:45 AC pin6: 634
2016-11-02_20:49:48 AC power4: 3.759
2016-11-02_20:50:45 AC pin4: 2443
2016-11-02_20:49:51 AC power6: 4.389
2016-11-02_20:50:45 AC pin6: 639
2016-11-02_20:50:43 AC power4: 3.035
2016-11-02_20:51:45 AC pin4: 2464
2016-11-02_20:50:35 AC power6: 3.443
2016-11-02_20:51:45 AC pin6: 644
2016-11-02_20:51:46 AC power4: 3.032
2016-11-02_20:52:45 AC pin4: 2484
2016-11-02_20:51:49 AC power6: 3.439
2016-11-02_20:52:45 AC pin6: 648
2016-11-02_20:52:46 AC power4: 3.038
2016-11-02_20:53:45 AC pin4: 2504
2016-11-02_20:52:50 AC power6: 3.469
2016-11-02_20:53:45 AC pin6: 652
2016-11-02_20:53:46 AC power4: 3.035
2016-11-02_20:54:45 AC pin4: 2524
2016-11-02_20:49:45 AC power5: 0.000
2016-11-02_20:54:45 AC pin5: 19
2016-11-02_20:53:37 AC power6: 3.510
2016-11-02_20:54:45 AC pin6: 657
2016-11-02_20:54:43 AC power4: 3.036
2016-11-02_20:55:45 AC pin4: 2545
2016-11-02_20:54:50 AC power6: 3.498
2016-11-02_20:55:45 AC pin6: 661
2016-11-02_20:55:46 AC power4: 3.035
2016-11-02_20:56:45 AC pin4: 2565
2016-11-02_20:55:50 AC power6: 3.500
2016-11-02_20:56:45 AC pin6: 665
2016-11-02_20:56:45 AC power4: 3.031
2016-11-02_20:57:45 AC pin4: 2585
2016-11-02_20:56:36 AC power6: 3.496
2016-11-02_20:57:45 AC pin6: 670
2016-11-02_20:57:45 AC power4: 3.023
2016-11-02_20:58:45 AC pin4: 2605
2016-11-02_20:57:50 AC power6: 3.521
2016-11-02_20:58:45 AC pin6: 674
2016-11-02_20:58:46 AC power4: 2.733
2016-11-02_20:59:45 AC pin4: 2623
2016-11-02_20:54:45 AC power5: 0.000
2016-11-02_20:59:45 AC pin5: 19
2016-11-02_20:58:51 AC power6: 3.535
2016-11-02_20:59:45 AC pin6: 678
2016-11-02_20:59:43 AC power4: 1.887
2016-11-02_21:00:45 AC pin4: 2636
2016-11-02_20:59:44 AC power6: 2.362
2016-11-02_21:00:45 AC pin6: 681
2016-11-02_21:00:48 AC power4: 1.893
2016-11-02_21:01:45 AC pin4: 2648
2016-11-02_21:00:44 AC power6: 2.364
2016-11-02_21:01:45 AC pin6: 684
2016-11-02_21:01:43 AC power4: 1.892
2016-11-02_21:02:45 AC pin4: 2661
2016-11-02_21:01:44 AC power6: 2.355
2016-11-02_21:02:45 AC pin6: 687
2016-11-02_21:02:43 AC power4: 1.891
2016-11-02_21:03:45 AC pin4: 2674
2016-11-02_21:02:44 AC power6: 2.366
2016-11-02_21:03:45 AC pin6: 690
2016-11-02_21:03:47 AC power4: 1.890
2016-11-02_21:04:45 AC pin4: 2686
2016-11-02_20:59:45 AC power5: 0.000
2016-11-02_21:04:45 AC pin5: 19
2016-11-02_21:03:44 AC power6: 2.364
2016-11-02_21:04:45 AC pin6: 693
2016-11-02_21:04:43 AC power4: 1.891
2016-11-02_21:05:44 AC pin4: 2699
2016-11-02_21:04:44 AC power6: 2.362
2016-11-02_21:05:45 AC pin6: 696
2016-11-02_21:05:47 AC power4: 1.887
2016-11-02_21:06:44 AC pin4: 2711
2016-11-02_21:05:43 AC power6: 2.357
2016-11-02_21:06:45 AC pin6: 699
2016-11-02_21:06:43 AC power4: 1.893
2016-11-02_21:07:44 AC pin4: 2724
2016-11-02_21:06:44 AC power6: 2.362
2016-11-02_21:07:44 AC pin6: 702
2016-11-02_21:07:42 AC power4: 1.891
2016-11-02_21:08:44 AC pin4: 2737
2016-11-02_21:07:44 AC power6: 2.394
2016-11-02_21:08:44 AC pin6: 705
2016-11-02_21:08:47 AC power4: 1.893
2016-11-02_21:09:44 AC pin4: 2749
2016-11-02_21:04:44 AC power5: 0.000
2016-11-02_21:09:44 AC pin5: 19
2016-11-02_21:08:44 AC power6: 2.400
2016-11-02_21:09:44 AC pin6: 708
2016-11-02_21:09:42 AC power4: 1.892
2016-11-02_21:10:44 AC pin4: 2762
2016-11-02_21:09:44 AC power6: 2.389
2016-11-02_21:10:44 AC pin6: 711


Der Zählerstand (Pin6) wurde 15:05 manuell abgeglichen und stimmt jetzt 21:12 Uhr exakt! Also zusätzliche Impulse sehe ich da nicht.

Siehe Kurve im Bild. Mein WW Durchlauferhitzer hat 27 kW meine Gesamtleistung könnte theoretisch  45 kW erreichen. Es gibt auch bei der blauen Linie (Warmwasser) Spitzen, dahinter steckt ein S0 Zähler.

Soll ich noch irgendetwas anderes liefern?
Vielleicht hat der Arduino einen Schuss? Ich werde morgen mal einen anderen einbauen.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 02 November 2016, 22:21:42
Hallo Otto,

Ich habe bei mir jetzt nochmal die Logs angesehen, aber keine Sonderzeichen / Störungen gesehen.
Was für Kabel verwendest Du denn? Kann es sein, dass Du nicht nur Störimpulse auf der S0-Schnittstelle hast, sondern auch auf dem Kabel zwischen Arduino und Fhem?
Was für Hardware verwendest Du denn?

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 02 November 2016, 22:54:01
Hallo Stefan,

vor Ort läuft ein PI Plus, Kabel im Umfeld ca 0,5 meter.
Arduino nano über kurzes USB Kabel am aktive Hub und dann am Pi.
Ein zusätzlicher Arduino nano macht die Abtastung des Ferraris Zählers. Der hängt aber gar nicht an FHEM sondern nur am "Strom".
Siehe letzten Beitrag in meinem Blog  ;)
Bis jetzt sind aus meiner Sicht die Impulse sauber, weil die Zählerstände an den Zählern und in FHEM stimmen exakt.

Aber solche Werte 2016-11-02_20:39:46 AC power5: 1800.000 die sind Außerirdisch   ;)

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 02 November 2016, 23:00:00
Hallo,

Deinen letzen Post hatte ich noch gar nicht bemerkt.
In Deinem neuen Log sieht man gut, dass die vermeintlichen Spitzen daher kommen, dass die seriell übertragenen Werte kaputt sind. Der Wert für die Zeitdiffernz enthält immer wieder Sonderzeichen und wird deshalb auf Fhem-Seite nicht richtig geparsed bzw. abgeschnitten.
17:40:54 ist ein erstes Beispiel.
Es hängt also primär an der Verbindung zwischen Fhem und Arduino...

Gruß
    Stefan


Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 02 November 2016, 23:11:19
Ich tausche morgen den Arduino und schau mir die Kommunikation an.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 03 November 2016, 17:54:57
Hallo Stefan,

wie sagt das Sprichwort? Kaum stottert der Arduino nano nicht mehr, funktioniert alles! - Oder so ähnlich.

Der hat tatsächlich einen Schuss, ich habe einen neuen genommen ansonsten nichts geändert, die Sonderzeichen sind weg und die Werte sehen gut aus. Keine unerklärlichen Spitzen mehr!

Der kann offenbar über die serielle Schnittstelle nicht richtig lesen - CH340G defekt?

Jetzt hätte ich noch folgende Idee.
Du kannst doch die komplette Config aus dem Arduino auslesen. Wenn Du die mit der Config in FHEM vergleichst und alles stimmt, gibt es doch keinen Grund die Config im Arduino neu zu setzen.
Dann könnte man FHEM neu starten und der Arduino würde während FHEm down ist weiterzählen und man kann die gezählten Impulse später auslesen.

Oder habe ich da einen Denkfehler?

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 03 November 2016, 23:14:06
Hallo Otto,

Es freut mich dass das Problem gelöst ist.
In der nächsten Version kommt dann ein add pin ohne den counter zu nullen, eine verbesserte Fehlererkennung für die serielle Übertragung und die 30ms Filterung als Option.

In den nächsten Tagen werde ich aber nicht gleich dazu kommen.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 13 November 2016, 15:54:38
Hallo,

anbei eine nochmal deutlich überarbeitete Version.
man kann jetzt eine minimale Impulsdauer angeben. Beispiel:

attr AC interval 60 600 10
attr AC pinD4 falling pullup 30
attr AC pinD5 falling pullup 30

setzt das normale Reporting-Intervall im Arduino auf 60 Sekunden und das maximale Intervall auf 10 Minuten.
Wenn die Impulse nicht mindestens 10 Sekunden auseinander liegen wird nach dem normalen Intervall noch nicht reportet sondern witergezählt bis entweder genügend Impulse / Zeit vorhanden ist oder das maximale Intervall abgelaufen ist.

Es werden zwei zu zählende Pins definiert, bei beiden zieht der Impuls den Pin gegen GND und deshalb ist der Pullup aktiviert.
"falling" gibt an, dass der Impuls entsprechend mit der fallenden Flanke beginnt (sonst wird die Länge der Pause gemessen und nicht die Länge des Pulses) und das 30 steht für minimale Pulslänge von 30 ms.

Weitere neue Attribute:

attr AC verboseReadings4 1
attr AC verboseReadings5 1


erzeugt einige Zusatzreadings, zum Beispiel:

lastMsg4 R4 C142 D9 T59230 X0 M first at 2782, last at 54211, average length 89
countDiff4 9
timeDiff4 59230
reject4 0

Damit sollte man besser nachvollziehen können, was genau passiert.
lastMsg zeigt dabei die interne Nachricht vom Arduino an Fhem.

Die Readings bzw. die erste lastMsg4 bedeuten:
Report für Pin4, interner Zählerstand: 142, Differenz zum letzten Report:9, Zeit zwischen dem ersten und letzten Impuls in diesem Analyseintervall: 59,2 Sekunden, keine Impulse waren zu kurz und wurden ignoriert, der erste Impuls kam nach 2,78 Sekunden und der letzte nach 54,2 Sekunden. Die durchschnittliche Länge der Impuls in diesem Zeitraum war 89 ms.

Der alte Sketch ist mit dem neuen Modul nicht mehr kompatibel. Der Arduino muss daher neu geflasht werden. Dafür habe ich auch einen set flash Befehl eingebaut (der Code ist weitgehend vom Jeenode-Modul übernommen).
Die Firmware muss dafür unter ./Fhem/firmware liegen. Da liegen auch die anderen Firmware-Files für Jeenode etc.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 19 November 2016, 13:18:23
Hi Stefan,

bin jetzt dazu gekommen mal alles auszuprobieren. Danke für Deine Arbeit.
Wann genau wolltest Du mir davon erzählen? 9600 -> 38400  ;D

Braucht man zum flashen aus FHEM heraus noch irgendwelche anderen Vorbereitungen? Bei mir ensteht nicht mal ein Logfile wie in der Ausschrift auf dem Schirm. Also ich drücke flash, es kommen drei Zeilen auf dem Schirm und weiter passiert nichts.
Ich habe dann das ino mit der IDE geflasht.

Edit: habe es gefunden: flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
Das man avrdude braucht gehört in die Doku vom Modul -> commandref  ;)

Weitere Infos folgen, habe es erstmal zum laufen bekommen.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 22 November 2016, 17:39:12
Hallo Otto,

sorry, das mit der Änderung der Default-Baudrate hätte ich erwähnen sollen.
Die Doku ist nun aktualisiert. Wenn sonst alles klappt, checke ich die neue Version ein.
Das Wiki muss dann leider auch noch aktualisiert werden.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 22 November 2016, 20:08:38
Hallo Stefan,

ich könnte mich ums Wiki kümmern, ich schau mir das mal an. Vielleicht nicht heute

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 23 November 2016, 10:23:06
Hallo Stefan,
hallo Otto,

ein verständlicher Install - Passus für AVRDUDE im Wiki-Beitrag wäre für die breite Anwenderscharr (z. B. für die Raspi-Betreiber) wohl auch ratsam...

Gruß BillyPbg
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 02 Dezember 2016, 14:53:21
Hallo Stefan.

brauche mal ein wenig Hilfe...

Bin gerade beim Installieren/ Austesten Deiner aktuellsten Version.

Kannst Du Dirdarauf einen Reim machen ?
Wollte gerade erstmals (auf meinem NANO 3.0) die Flash-Funktion testen und bekam folgendes zurück:

"flashing Arduino as ArduCounter for ArduCOUNTER
hex file: ./FHEM/firmware/ArduCounter.hex
port: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2.2:1.0-port0
log file: ./log/ArduCounterFlash.log
ArduCOUNTER closed
command: avrdude -p atmega328P -c arduino -P /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2.2:1.0-port0 -D -U flash:w:./FHEM/firmware/ArduCounter.hex 2>./log/ArduCounterFlash.log

--- AVRDUDE ---------------------------------------------------------------------------------
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1c

avrdude done.  Thank you.

--- AVRDUDE ---------------------------------------------------------------------------------

ArduCOUNTER opened "

Ergänzend dazu als Anlage die AVRDUDE-Datei: "/usr/local/etc/avrdude.conf".

Der Betrieb bzw. die Info-Abfrage läuft hingegen schmerzfrei.
Offensichtliuch ein AVRDUDE Installationsproblem - aber welches, wie beheben?

VG. BillyPbg
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 03 Dezember 2016, 09:57:54
Hallo,

Ich glaube ich hatte das Problem auch schon einmal.
Scheint typischerweise daran zu liegen, das der falsche Port ausgewählt wurde.
Es gibt aber scheinbar auch andere Erklärungen.
Wenn Du die Fehlermeldung in Google eintippst, kommen viele Treffer ...

Wenn Du auf einem Raspi das vorbelegte Attribut nicht änderst
flashCommand avrdude -p atmega328P -c arduino -b 57600 -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
dann ersetzt das Modul selbst die Werte in [] und der Port wird so gewählt, wie auch Fhem mit dem Arduino spricht.
Mit set flash in Fhem klappt dann normalerweise alles.
Alternativ kannst Du natürlich auch alles mit der Arduino IDE machen.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: hermann258 am 04 Dezember 2016, 13:30:43
Hallo
Ich habe das Hex File mit dem XLoader hochgeladen.
Gruß Hermann
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 12 Dezember 2016, 10:30:52
Hallo Stefan,

nachdem jetzt alles ne Weile gut lief, habe ich folgendes Phänomen:
Ich habe drei Pins definiert, die werden beim reset vom Arduino auch gemeldet:
2016.12.12 10:11:46 3: AC: Arduino reported setup done, Firmware 1.5 - sending config cmds
2016.12.12 10:11:46 3: AC: InitDev calls Attr with pinD4 rising pullup
2016.12.12 10:11:46 3: AC: InitDev calls Attr with pinD5 rising pullup
2016.12.12 10:11:46 3: AC: InitDev calls Attr with interval 60 300
2016.12.12 10:11:46 3: AC: InitDev calls Attr with pinD6 rising pullup
2016.12.12 10:11:46 3: AC: defined pin 4 PCInt pin 20, iMode rising, no min len, count 0 (+0) in 0 ms
2016.12.12 10:11:46 3: AC: defined pin 5 PCInt pin 21, iMode rising, no min len, count 0 (+0) in 0 ms
2016.12.12 10:11:46 3: AC: defined pin 6 PCInt pin 22, iMode rising, no min len, count 0 (+0) in 1 ms

Starte ich jetzt FHEM neu, fehlt pin 6:
2016.12.12 10:15:58 3: AC: Arduino reported setup done, Firmware 1.5 - sending config cmds
2016.12.12 10:15:58 3: AC: InitDev calls Attr with pinD4 rising pullup
2016.12.12 10:15:58 3: AC: InitDev calls Attr with pinD5 rising pullup
2016.12.12 10:15:58 3: AC: InitDev calls Attr with interval 60 300
2016.12.12 10:15:58 3: AC: InitDev calls Attr with pinD6 rising pullup
2016.12.12 10:16:00 3: AC: defined pin 4 PCInt pin 20, iMode rising, no min len, count 0 (+0) in 1 ms
2016.12.12 10:16:00 3: AC: defined pin 5 PCInt pin 21, iMode rising, no min len, count 0 (+0) in 0 ms

Ach der Aufruf get AC info fördert ihn nicht zu Tage
2016.12.12 10:22:34 3: AC: Sending info command to Arduino
2016.12.12 10:22:34 3: AC: Status: ArduCounter V1.5
2016.12.12 10:22:34 3: AC: normal interval 60000
2016.12.12 10:22:34 3: AC: max interval 300000
2016.12.12 10:22:34 3: AC: min interval 2000
2016.12.12 10:22:34 3: AC: min count 1
2016.12.12 10:22:34 3: AC: pin 4 PCInt pin 20, iMode rising, no min len, count 33 (+0) in 200060 ms
2016.12.12 10:22:34 3: AC: pin 5 PCInt pin 21, iMode rising, no min len, count 0 (+0) in 95116 ms
2016.12.12 10:22:34 3: AC: Next report in 24861 Milliseconds

So ist es definiert:
Internals:
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         10
   Initialized 1
   ModuleVersion 3.5 - 13.11.2016
   NAME       AC
   NR         29
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   buffer
   Readings:
     2016-12-12 10:15:58   FirmwareVersion 1.5
     2016-12-12 10:28:59   ZaehlerHzg      3639.1825
     2016-12-12 00:35:34   ZaehlerHzgKorr  3639.065
     2016-12-12 10:28:59   ZaehlerSumme    43452.4966666667
     2016-12-12 00:41:58   ZaehlerSummeKorr 43452.3766666667
     2016-12-12 10:28:59   ZaehlerWW       4597.314
     2016-12-12 00:36:20   ZaehlerWWKorr   4597.314
     2016-11-19 12:34:36   countDiff       1
     2016-11-19 12:34:36   lastMsg         first at 7804, last at 7804
     2016-12-12 10:28:59   pin4            47
     2016-12-12 10:25:59   pin5            0
     2016-12-12 10:15:16   pin6            9
     2016-12-12 10:28:59   power4          0.309
     2016-12-12 10:25:59   power5          0.000
     2016-12-12 10:15:16   power6          1.949
     2016-12-12 10:15:53   state           opened
     2016-11-19 12:34:36   timeDiff        9301
     2016-11-03 11:38:13   version         ArduCounter V1.2
Attributes:
   factor     1000
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 300
   pinD4      rising pullup
   pinD5      rising pullup
   pinD6      rising pullup
   readingFactor4 2500
   readingFactor5 1000
   readingFactor6 13333
   userReadings ZaehlerHzg {ReadingsVal("AC","pin4",0)/400 + ReadingsNum("AC","ZaehlerHzgKorr",0) },ZaehlerWW {ReadingsVal("AC","pin5",0)/1000 + ReadingsNum("AC","ZaehlerWWKorr",0)},ZaehlerSumme {ReadingsVal("AC","pin6",0)/75 + ReadingsNum("AC","ZaehlerSummeKorr",0) }
   userattr   pinD4 pinD5 pinD6 readingFactor4 readingFactor5 readingFactor6


Habe ich schon wieder ein Problem mit einem Arduino? Hast Du dazu eine Idee?
Wenn ich den Arduino resette dann ist pin 6 wieder da, siehe ersten Code Block.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 12 Dezember 2016, 11:09:08
Hallo Otto,

Dein Arduino dürfte "ok" sein, habe selbiges Phänomen:
bei mir ist Pin 4, 5 und 6 definiert, wobei nur Pin 5 tatsächlich scharf geschalten ist, sprich Impulse erhält.
Und Dieser verabschiedet sich aus unerfindlichen Gründen, konnte noch kein Muster feststellen, deshalb auch mein Schweigen...

VG.
BillyPbg
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 12 Dezember 2016, 11:44:46
Hi,

ja ich habe gerade einen anderen Arduino probiert, gleiches Verhalten. Nachdem neustart von FHEM ist das pin 6 weg. Mit nicht ganz nachvollziehbaren Aktionen bekomme ich es wieder:
- Power Reset
- Reset Knopf
- Neu flashen.

Offensichtlich ein Glücksspiel ob beim Reset das pin 6 wieder mitkommt oder nicht.

Anstatt der letzten Nachricht -> AC: defined pin 6 PCInt pin 22, iMode rising, no min len, count 0 (+0) in 1 ms
habe ich auch so etwas mal gesehen -> AC: unparseable message: Error in input: r

Habe jetzt mal verbose 5 laufen, dass sieht aber alles gut aus  :-[

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 12 Dezember 2016, 21:37:56
Hallo,

das erfreuliche daran ist aber auch dass das Problem offensichtlich reproduzierbar ist.
Dann wird sich der Fehler auch finden lassen :-)

Ich versuche es bei mir auch mal mit den entsprechenden Pins.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 13 Dezember 2016, 21:36:26
Ich denke das ist ein Problem der Kommunikation zwischen Fhem und Arduino.
Wenn Fhem neu startet und der Arduino noch läuft, dann kommt keine Setup done Meldung und das Fhem-Modul wartet bis sich der Arduino mit den nächsten Zählerständen meldet. Bis dahin ist das interne initialized-Flag nicht gesetzt und es kann nichts an den Arduino gesendet werden.
Zudem scheint in der seriellen Queue Müll zu stehen, was zu den Fehlermeldungen führt.
Außerdem verwende ich im Sketch noch die String-Klasse, was für den dynamischen Speicher sehr ungünstig ist.
Daher baue ich den ganzen Kommunikationsteil nochmal um ...
Wird ein paar Tage dauern.

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 23 Dezember 2016, 14:38:12
Hallo,

anbei eine neue Version zum Testen.
Ich habe die Kommunikation zwischen Fhem und dem Arduino komplett umgebaut. Es sollte jetzt robuster laufen.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 23 Dezember 2016, 15:28:02
Hallo Stefan,
Danke für das tolle Weihnachtsgeschenk!

Frohes Fest!
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 23 Dezember 2016, 16:07:46
Hallo Stefan,

na da wird es ja Weihnachten  nicht langweilig!

Danke und schöne Weihnachten
Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 23 Dezember 2016, 19:55:12
Hallo Stefan,

ich wollt endlich mal am Pi flashen und nicht erst den Arduino nano an Windows anstöpseln müssen:
Da muss ich meckern  ;) im flashCommand fehlt die Baudrate, offenbar kann nur mit 57600 geflashed werden.

Also Inhalt vom attr flashCommand avrdude -p atmega328P -b 57600 -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
Und es funktioniert!

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 30 Dezember 2016, 00:50:11
Hallo Stephan,

irgendwie zählt die neue Version zusätzliche Impulse.

Ich werde morgen mal auf die alte Version gehen.

Wie könnte ich das Verhalten analysieren?

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 30 Dezember 2016, 09:28:53
Hallo Otto,

bei Verbose 5 wird alles protokolliert.
Verwendest Du eine Mindestlänge um Störungen auszufiltern?

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 30 Dezember 2016, 22:24:22
Hallo Stefan,

ich zähle drei Zähler, ich kann immer nach einiger Zeit einfach die Zählerstände vergleichen um zu sehen ob es richtig läuft.
Die DEF habe ich nicht verändert
Die Hardware habe ich nicht verändert.

Ich hatte von Version 1.5 zu 1.6 lediglich das pm ausgetauscht und das hex File geflashed.
Jetzt habe ich das Ganze retour gemacht, also altes pm (Version 1.5) und Version 1.5 hex File geflashed.

Anbei zwei Logs,
eines mit der Version 1.6  - das Ergebnis im Vergleich mit meinen Zählern ist Fehlerhaft, AC hat zu viel gezählt!
Das andere mit Version 1.5 - das Ergebnis stimmt exakt.

Hier noch das List (aktuell wieder Version 1.5 andere deswegen aber noch anderes Internal und anderes Reading)
Internals:
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         4
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         29
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.6
   VersionModule 4.01 - 21.12.2016
   buffer
   Readings:
     2016-12-30 17:58:37   FirmwareVersion 1.5
     2016-12-30 22:22:09   ZaehlerHzg      3940.3325
     2016-12-30 22:22:09   ZaehlerSumme    44187.4533333335
     2016-12-30 22:22:09   ZaehlerWW       4658.74
     2016-12-30 22:22:09   pin4            2458
     2016-12-30 22:21:09   pin5            1754
     2016-12-30 22:22:09   pin6            1043
     2016-12-30 22:22:09   power4          1.930
     2016-12-30 22:21:09   power5          0.000
     2016-12-30 22:22:09   power6          2.463
     2016-12-30 17:58:36   state           opened
Attributes:
   factor     1000
   flashCommand avrdude -p atmega328P -b57600 -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 300
   pinD4      rising pullup
   pinD5      rising pullup
   pinD6      rising pullup
   readingFactor4 2500
   readingFactor5 1000
   readingFactor6 13333
   userReadings ZaehlerHzg monotonic {ReadingsVal("AC","pin4",0)/400},ZaehlerWW monotonic {ReadingsVal("AC","pin5",0)/1000},ZaehlerSumme monotonic {ReadingsVal("AC","pin6",0)/75}

   userattr   pinD4 pinD5 pinD6 readingFactor4 readingFactor5 readingFactor6
   verbose    5


Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 31 Dezember 2016, 11:12:26
Hallo Otto,

das ist sehr seltsam. Zwischen 1.5 und 1.6 hat sich der Code nur an den Stellen geändert, an denen der Arduino mit Fhem kommuniziert. Das Zählen ist unverändert. Im Log sehe ich nichts auffälliges.

Könntest Du bitte nochmal einen Test mit 1.6 machen und nach dem Start mit get Info prüfen ob auch alle Werte korrekt sind?

Um wie viel weicht der Zähler denn ab?
Kann es sein, dass die Abweichung nur durch den Ablesezeitpunkt kommt? Fhem bzw. der Arduino aktualisiert den Zählerstand ja erst am Ende eines Intervalls und wenn Du kurz vor Ablauf des Intervalls vergleichst, dann ist eine Abweichung zwangsläufig vorhanden.

Gruss
   Stefan

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 31 Dezember 2016, 11:34:01
Hallo Stefan,

also jetzt mit Version 1.5 ist seit gestern Abend der Zählerstand mit den physischen Zählern bis auf die Nachkommastellen absolut identisch. Das mit den Nachkommastellen ist Zeitabhängig das ist mir klar.

Mit Version 1.6 waren die Unterschiede an einem Tag erheblich, die Vorkommastellen gingen gegenüber den physischen Zählern um einige 10 bis 200 "vor"

Das war auch zu sehen an den Plots. Man sah deutliche Peaks, die sonst nicht zu sehen waren.
Im Anhang der Plot von gestern. Das ist nicht ganz eindeutig zu sehen, aber es sind ja die Zeitraüme von gestern wo ich Dir auch die Logs angehangen hatte. Die rote Kurve geht im Normalfall nicht über 5 kW Du siehst es aber deutlich vor 18:00 geht sie das mehrfach. Danach hatte ich umgestellt auf 1.5
Ich mache das nochmal mit Version 1.6 aber heute wird das nichts mehr  ;)
Nächste Woche könnte ich das sicher sogar mal mit konstanten Leistungen nachstellen, geht im normalen Familienbetrieb nicht  ;D

Dir eine guten Rutsch in neue Jahr!

Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 03 Januar 2017, 11:09:01
Hallo Otto,

kannst Du nochmal testen und ein paar ausführlichere Daten posten?
- ein SVG nur mit der roten Kurve und mit größerer Y-Achse, so dass man den tatsächlichen Verlauf der Werte sieht
- Die tatsächliche Abweichung im Betrachtungszeitraum zwischen Fhem und Deinem Zähler mit Einheit (Impulse oder kWh?)

Da sich der relevante Code nicht geändert hat und die Kommunikation in Deinen Logs korrekt aussieht, sieht es für mich so aus als ob Deine Heizung tatsächlich mal eine Weile mehr Strom verbraucht hat.

2016.12.30 16:37:35 4: AC: Parsed: Pin 4 count 52627 (diff 50) in 60548 ms, first at 1653, last at 59888
2016.12.30 16:38:35 4: AC: Parsed: Pin 4 count 52675 (diff 48) in 57919 ms, first at 2214, last at 57807

und viele ähnliche Zeilen in dem Zeitraum zeigen ca. 50 Impulse in ca einer Minute.
Das entspricht laut den Logs bei Deinem Faktor für Pin4 von 2500 einem Verbrauch von ca. 7,5kW.
Das geht dann recht lange so und erst gegen 16:47 auf 5,7 kW und gegen 17:04 auf 3,6kW und danach auf 0 herunter.
nach einem Bug sieht das eigentlich nicht aus und die Version 1.5 hätte in der Zeit sicher genau das gleiche gezählt.

Ich baue gerade noch ein ausführlicheres Logging ins Modul ein, aber bei allen meinen bisherigen Tests mit 1.6 hat bei mir jetzt alles korrekt funktioniert.

Gruss
   Stefan


Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 03 Januar 2017, 12:38:11
Hallo Stefan,

ich mache das morgen, heute geht noch nicht.

Ich mache das so, dass es möglichst gut nachvollziehbar ist!

Danke Dir bis dahin

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 04 Januar 2017, 15:45:32
Hallo Stefan,

ich habe mal alle Dateien zusammengepackt.
Ich habe jeweils ein Stunde mitgeschrieben, 13:00 Uhr bis 14:00 mit Version 1.5 dann umgestellt und mit Version 1.6 von 14:30 bis 15:30 Uhr
Hardware ist alles so geblieben, nur geflashed und Modul kopiert, FHEM neu gestartet und Arduino Reset.

Ich habe den Eindruck, der zählt mit Version 1.6 einfach doppelt.

Zählerstände Ac und in echt abgelesen
Filelog
Fhemlog
Bild vom Plot gestreckt
List vom define


Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 04 Januar 2017, 18:06:42
Hallo Otto,

ändere Mal von "rising pullup" auf "falling pullup 30" bzw. die "30ms" entsprechend Deines S0-Zählers.

Bei mir, wie offensichtlich auch bei Stefan, sind es z.B. 90ms.
Du zählst die Pausen, keine Impulse, somit zählt Dein Counter bei Spikes bzw. fehlerhaften Impulsen mindestens doppelt...

Zitiere Stefan:
"falling" gibt an, dass der Impuls entsprechend mit der fallenden Flanke beginnt (sonst wird die Länge der Pause gemessen und nicht die Länge des Pulses) und das 30 steht für minimale Pulslänge von 30 ms.

Gruß
BillyPbg
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 04 Januar 2017, 21:19:18
Hi BillyPbg,

kann ich machen, aber Dein Zitat stammt von der Version 1.5. damit funktioniert alles. Meine Zähler haben Open Collector Ausgänge die liefern saubere Impulse. Und warum sollte die Zählung nur von der Version abhängen? Ist für mich unlogisch.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 04 Januar 2017, 21:29:27
Hallo,

Der entscheidende Hinweis war die Ausgabe zu get info aus dem Log.
Da steht iMode change ... also wird bei jeder Ämderung ein Interrupt ausgelöst.
Ich habe ja die Kommunikation zwischen Fhem und dem Arduino umgebaut. Im Sketch hat in einem case ein break gefehlt. So wurde aus RISING ein CHANGE und bei jedem Impuls wird zwei mal gezählt...
Bei falling bzw. wenn die Pulslänge geprüft wird sollte alles stimmen.
Update kommt. Ich teste es nur noch ein wenig ;-)

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 04 Januar 2017, 21:53:27
Hallo Stefan,

na dann war das ja Glück, dass ich mal get info gedrückt hab. Und beim kopieren ist mir das change auch aufgefallen. Da wollte ich noch was dazu schreiben, habe ich aber dann beim zusammenkopieren vergessen.
Ich wollte eigentlich die get info Ausgaben noch separat dazu schreiben, das wäre ja dann der entscheidende Hinweis gewesen.
Jetzt mit 1.5 steht rising.  8)

Gruß Otto


Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 05 Januar 2017, 11:30:34
So, hier eine neue Version mit der letzten Korrektur.
Vielen Dank für die Unterstützung bei der Fehlersuche :-)
Ich hab auch noch was neues eingebaut. Das Modul versucht jetzt nebenbei noch die Abweichung des millis() Timers im Arduino zu ermitteln. Der weicht ja z.B. auch wegen der Interrupts ab. Wenn es sich lohnt, könnte man in einer künftigen Version diese Abweichung bei der Berechnung berücksichtigen. Vermutlich wäre das aber nur Spielerei ;-)

Das neue Modul benötigt auch wieder einen neuen Sketch bzw. neue Firmware. Anbei die Dateien.
Wenn es bei Euch soweit klappt, würde ich alles einchecken und von contrib in den offiziellen Fhem-Zweig verschieben, so dass es künftig per Update verteilt wird. Ich denke inzwischen ist es reif dafür.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 05 Januar 2017, 11:40:25
Moin Stefan,

danke! Test läuft  8) get info sieht gut aus  ;)

2017.01.05 11:37:24 5: AC: ReadAnswer called
2017.01.05 11:37:24 4: AC: device reported firmware 1.8
2017.01.05 11:37:24 3: AC: device: normal interval 60000
2017.01.05 11:37:24 3: AC: device: max interval 300000
2017.01.05 11:37:24 3: AC: device: min interval 2000
2017.01.05 11:37:24 3: AC: device: min count 1
2017.01.05 11:37:24 3: AC: device: pin 4 PCInt pin 20, iMode rising, no min len, count 16 (+4) in 28413 ms
2017.01.05 11:37:24 3: AC: device:   first at 900, last at 22225, avg len 0
2017.01.05 11:37:24 3: AC: device: pin 5 PCInt pin 21, iMode rising, no min len, count 0 (+0) in 112089 ms
2017.01.05 11:37:24 3: AC: device: pin 6 PCInt pin 22, iMode rising, no min len, count 3 (+1) in 29745 ms
2017.01.05 11:37:24 3: AC: device:   first at 540, last at 540, avg len 0
2017.01.05 11:37:24 3: AC: device: Next report in 36557 Milliseconds
2017.01.05 11:37:24 5: AC: ReadAnswer matched Next report in [0-9]+ Milliseconds

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 05 Januar 2017, 20:12:44
Hallo Stefan,

schlechte News...

Die aktuelle Version  ( Vers.1.8 ) hat einen FileLog,Bug:
Beim Zeitstempel fehlt das Datum:

Auszug:
...
20:05:16 ArduCOUNTER power5W: 61 W
20:05:16 ArduCOUNTER lastMsg5: R5 C263 D1 T58542 N8602371 X0 F58542 L58542 A90
20:05:16 ArduCOUNTER pin5: 263
20:04:17 ArduCOUNTER power5: 0.061
2017-01-05_20:04:16 ArduCOUNTER Verbrauch5kWh: 0.298 kWh (UserReading, zum Vergleich)
20:04:16 ArduCOUNTER power5W: 63 W
20:04:16 ArduCOUNTER lastMsg5: R5 C262 D1 T56699 N8542371 X0 F56699 L56699 A90
20:04:16 ArduCOUNTER pin5: 262
20:03:19 ArduCOUNTER power5: 0.063
2017-01-05_20:03:16 ArduCOUNTER Verbrauch5kWh: 0.297 kWh (UserReading, zum Vergleich)
...

Ansonsten bin ich noch beim Austesten - Bericht/ Ergebnis folgt...

Gruß
BillyPbg

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 05 Januar 2017, 20:27:10
Kleiner Nachtrag...

fand gerade zwei Perl-Warnungen direkt nach/während der Einspielung der ".pm" im zentralen LogFile:

2017.01.05 16:37:59.670 1: PERL WARNING: Argument "" isn't numeric in numeric ge (>=) at ./FHEM/98_ArduCounter.pm line 624.
2017.01.05 16:37:18.371 1: PERL WARNING: Argument "" isn't numeric in subtraction (-) at ./FHEM/98_ArduCounter.pm line 631.
[/b]
2017.01.05 16:36:43.716 1: PERL WARNING: Subroutine ArduCounter_Ready redefined at ./FHEM/98_ArduCounter.pm line 808.
2017.01.05 16:36:43.713 1: PERL WARNING: Subroutine ArduCounter_ReadAnswer redefined at ./FHEM/98_ArduCounter.pm line 734.
2017.01.05 16:36:43.709 1: PERL WARNING: Subroutine ArduCounter_Read redefined at ./FHEM/98_ArduCounter.pm line 709.
2017.01.05 16:36:43.705 1: PERL WARNING: Subroutine ArduCounter_Parse redefined at ./FHEM/98_ArduCounter.pm line 536.
2017.01.05 16:36:43.693 1: PERL WARNING: Subroutine ArduCounter_HandleVersion redefined at ./FHEM/98_ArduCounter.pm line 519.
2017.01.05 16:36:43.691 1: PERL WARNING: Subroutine ArduCounter_Get redefined at ./FHEM/98_ArduCounter.pm line 483.
2017.01.05 16:36:43.688 1: PERL WARNING: Subroutine ArduCounter_Set redefined at ./FHEM/98_ArduCounter.pm line 384.
2017.01.05 16:36:43.681 1: PERL WARNING: Subroutine ArduCounter_Attr redefined at ./FHEM/98_ArduCounter.pm line 245.
2017.01.05 16:36:43.673 1: PERL WARNING: Subroutine ArduCounter_HelloTimeout redefined at ./FHEM/98_ArduCounter.pm line 233.
2017.01.05 16:36:43.671 1: PERL WARNING: Subroutine ArduCounter_SendHello redefined at ./FHEM/98_ArduCounter.pm line 214.
2017.01.05 16:36:43.669 1: PERL WARNING: Subroutine ArduCounter_Write redefined at ./FHEM/98_ArduCounter.pm line 195.
2017.01.05 16:36:43.668 1: PERL WARNING: Subroutine ArduCounter_Notify redefined at ./FHEM/98_ArduCounter.pm line 165.
2017.01.05 16:36:43.666 1: PERL WARNING: Subroutine ArduCounter_Undef redefined at ./FHEM/98_ArduCounter.pm line 156.
2017.01.05 16:36:43.665 1: PERL WARNING: Subroutine ArduCounter_ConfigureDevice redefined at ./FHEM/98_ArduCounter.pm line 137.
2017.01.05 16:36:43.663 1: PERL WARNING: Subroutine ArduCounter_Define redefined at ./FHEM/98_ArduCounter.pm line 105.
2017.01.05 16:36:43.660 1: PERL WARNING: Subroutine ArduCounter_Initialize redefined at ./FHEM/98_ArduCounter.pm line 71.

Gruß
BillyPbg
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 05 Januar 2017, 21:14:51
Hallo BillyPbg,

danke für's Testen!
Offensichlich verwendest Du das readingStartTime Feature ;-)

Hier nochmal ein Update. Bei mir kommen keine Warnings mehr.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 05 Januar 2017, 21:31:13
Hallo Stefan,

ALLES SUPI!
Danke für den erstklassigen Support!

Melde mich mit meinem Feedback voraussichtlich Sonntag oder Montag.

Gru
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 06 Januar 2017, 10:17:55
Hallo Stefan,

habe gerade gemerkt: die Zähler im Arduino werden jetzt aber wieder beim neustart von FHEM gelöscht.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 06 Januar 2017, 14:47:31
Hallo Otto,

bei mir macht er das nicht:

2017.01.06 14:41:34 4: ACTest: Pin 4 (pin4) count 79 (diff 0) in 60.000s, result 0.000
2017.01.06 14:41:34 5: ACTest: interval 14:40:34 until 14:41:34
2017.01.06 14:41:34 5: ACTest: readingStartTime4 specified: setting reading timestamp to 14:40:34
2017.01.06 14:41:34 5: ACTest: set readings power4 to 0.000, timeDiff4 to 60000 and countDiff4 to 0
2017.01.06 14:41:34 5: ACTest: Device Time 63480, Drift -0.099s in 119.901s, -0.08%

2017.01.06 14:41:43 0: Server shutdown
2017.01.06 14:41:46 1: Including fhem.cfg
2017.01.06 14:41:46 3: telnetPort: port 7072 opened
2017.01.06 14:41:47 3: WEB: port 8083 opened
2017.01.06 14:41:47 3: WEBphone: port 8084 opened
2017.01.06 14:41:47 3: WEBtablet: port 8085 opened
2017.01.06 14:41:48 2: eventTypes: loaded 256 events from ./log/eventTypes.txt
2017.01.06 14:41:52 1: Including ./log/fhem.save
2017.01.06 14:41:52 5: ACTest: Notify called with events: INITIALIZED, open device and set timer to send hello to device
2017.01.06 14:41:52 3: Opening ACTest device /dev/ArduinoSainsmart
2017.01.06 14:41:52 3: Setting ACTest serial parameters to 38400,8,N,1
2017.01.06 14:41:52 3: ACTest device opened
2017.01.06 14:41:52 0: Featurelevel: 5.7
2017.01.06 14:41:52 0: Server started with 15 defined entities (fhem.pl:12804/2016-12-17 perl:5.020002 os:linux user:fhem pid:12271)
2017.01.06 14:41:55 3: ACTest: sending h(ello) to device to ask for version
2017.01.06 14:41:55 5: SW: h

2017.01.06 14:41:55 3: ACTest: device replied to hello, V1.8
2017.01.06 14:41:55 4: ACTest: device reported firmware 1.8
2017.01.06 14:41:55 3: ACTest: ConfigureDevice calls Attr with interval 30 60
2017.01.06 14:41:55 5: SW: 30,60,0,0i

2017.01.06 14:41:55 3: ACTest: ConfigureDevice calls Attr with pin4 rising pullup
2017.01.06 14:41:55 5: SW: 4,3,1a

2017.01.06 14:41:55 3: ACTest: device: intervals set to 30 60 0 0
2017.01.06 14:41:55 3: ACTest: device: defined pin 4 PCInt pin 20, iMode rising, no min len, count 79 (+0) in 21021 ms

2017.01.06 14:42:34 4: ACTest: Pin 4 (pin4) count 79 (diff 0) in 60.000s, result 0.000
2017.01.06 14:42:34 5: ACTest: interval 14:41:34 until 14:42:34
2017.01.06 14:42:34 5: ACTest: readingStartTime4 specified: setting reading timestamp to 14:41:34
2017.01.06 14:42:34 5: ACTest: set readings power4 to 0.000, timeDiff4 to 60000 and countDiff4 to 0
2017.01.06 14:42:34 5: ACTest: Initialize clock offset to 1483646614.23288
2017.01.06 14:42:34 5: ACTest: Device Time 63540, Drift 0.000s in 0.000s


Beim Starten schickt Fhem einen (h)ello Befehl an den Arduino, der meldet sich und dann werden die Pins nochmal übermittelt.
Der interne Zähler bleibt dabei unverändert (bei mir im obigen Log auf 79).

Es ist natürlich denkbar, dass ein anderer Arduino sich beim Öffnen der seriellen Schnittstelle resettet.
Wie sieht das bei Dir im Log aus?

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 06 Januar 2017, 15:06:19
Hallo Stefan,

naja bei mir macht er genau das nicht, die Zähler sind null. Ich habe mal ein get info gemacht, dann shutdwon restart dann sieht man was er macht und dann noch ein get info.
2017.01.06 10:08:22 3: AC: Sending info command to device
2017.01.06 10:08:22 3: AC: device: normal interval 60000
2017.01.06 10:08:22 3: AC: device: max interval 300000
2017.01.06 10:08:22 3: AC: device: min interval 2000
2017.01.06 10:08:22 3: AC: device: min count 1
2017.01.06 10:08:22 3: AC: device: pin 4 PCInt pin 20, iMode rising, no min len, count 0 (+0) in 278826 ms
2017.01.06 10:08:22 3: AC: device: pin 5 PCInt pin 21, iMode rising, no min len, count 64 (+0) in 144995 ms
2017.01.06 10:08:22 3: AC: device: pin 6 PCInt pin 22, iMode rising, no min len, count 11 (+0) in 29646 ms
2017.01.06 10:08:22 3: AC: device: Next report in 49917 Milliseconds
2017.01.06 10:14:55 0: Server shutdown
....
2017.01.06 10:15:12 3: AC: device sent setup message, V1.8
2017.01.06 10:15:12 3: AC: ConfigureDevice calls Attr with pinD4 rising pullup
2017.01.06 10:15:12 3: AC: ConfigureDevice calls Attr with pinD5 rising pullup
2017.01.06 10:15:12 3: AC: ConfigureDevice calls Attr with interval 60 300
2017.01.06 10:15:12 3: AC: ConfigureDevice calls Attr with pinD6 rising pullup
2017.01.06 10:15:12 3: AC: device: defined pin 4 PCInt pin 20, iMode rising, no min len, count 0 (+0) in 0 ms
2017.01.06 10:15:12 3: AC: device: defined pin 5 PCInt pin 21, iMode rising, no min len, count 0 (+0) in 0 ms
2017.01.06 10:15:12 3: AC: device: intervals set to 60 300 0 0
2017.01.06 10:15:12 3: AC: device: defined pin 6 PCInt pin 22, iMode rising, no min len, count 0 (+0) in 4 ms
2017.01.06 10:15:41 3: AC: Sending info command to device
2017.01.06 10:15:41 3: AC: device: normal interval 60000
2017.01.06 10:15:41 3: AC: device: max interval 300000
2017.01.06 10:15:41 3: AC: device: min interval 2000
2017.01.06 10:15:41 3: AC: device: min count 1
2017.01.06 10:15:41 3: AC: device: pin 4 PCInt pin 20, iMode rising, no min len, count 6 (+6) in 26665 ms
2017.01.06 10:15:41 3: AC: device:   first at 12, last at 26677, avg len 0
2017.01.06 10:15:41 3: AC: device: pin 5 PCInt pin 21, iMode rising, no min len, count 0 (+0) in 29569 ms
2017.01.06 10:15:41 3: AC: device: pin 6 PCInt pin 22, iMode rising, no min len, count 1 (+1) in 15840 ms
2017.01.06 10:15:41 3: AC: device:   first at 10309, last at 26149, avg len 0
2017.01.06 10:15:41 3: AC: device: Next report in 58883 Milliseconds


Das ging doch aber schon mal  :o der nano ist noch derselbe. Wo kann ich sehen ob der Reset macht?

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 06 Januar 2017, 15:54:31
Hallo Otto,

wenn im Log "device sent setup message, V1.8" steht, dann ist im Ardiuno die setup()-Funktion gelaufen. Sieht nach Reset aus.
Bei mir kommt das ja nicht. Statt dessen wird hello gesendet und danach kommt "device replied to hello, V1.8".

Schau doch mal im Log weiter in die Vergangenheit, seit wann das so ist.
Eventuell hängt es an der Übertragungsrate?

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 06 Januar 2017, 17:00:39
Hallo Stephan,

naja genau genommen hat er das noch nie gemacht  :-\
Ich bin mir zwar sicher diese hello message schon gesehen zu haben, aber das kann auf einem anderen System gewesen sein.

Ich glaube: als ich das auf dem "quasi Produktiven" testen wollte, waren die Pins beim Start weg und da bin ich dann abgestorben.  :-[

Ich überprüfe das und melde mich zurück!

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 06 Januar 2017, 20:30:49
Hallo Stefan,
hallo Otto,

vielleicht kann ich bei der Lösung des Problems mit meinen Log ein wenig beitragen:

Fakt ist, auch bei mir sind nach einem "Shutdown Restart" die Zähler  bzw. "Get Info..."auf "0".
Konstellation: Raspi 3, Arduino Nano 3.0 - Aktueller Softwarestand...

Log-Auszug ("Shutdown Restart"-Vorgang, Verbose 5, gekürzt...):
2017.01.06 18:57:56.469 3: ArduCOUNTER: Sending info command to device
2017.01.06 18:57:56.469 5: SW: sh

2017.01.06 18:57:56.471 5: ArduCOUNTER: ReadAnswer called
2017.01.06 18:57:56.586 4: ArduCOUNTER: device reported firmware 1.8
2017.01.06 18:57:56.589 3: ArduCOUNTER: device: normal interval 15000
2017.01.06 18:57:56.589 3: ArduCOUNTER: device: max interval 1200000
2017.01.06 18:57:56.590 3: ArduCOUNTER: device: min interval 5000
2017.01.06 18:57:56.590 3: ArduCOUNTER: device: min count 1
2017.01.06 18:57:56.590 3: ArduCOUNTER: device: pin 4 PCInt pin 20, iMode change, min len 30 ms falling, count 0 (+0) in 664069 ms Rej 0
2017.01.06 18:57:56.590 3: ArduCOUNTER: device: pin 5 PCInt pin 21, iMode change, min len 90 ms falling, count 9934 (+0) in 14472 ms Rej 0
2017.01.06 18:57:56.591 3: ArduCOUNTER: device: pin 6 PCInt pin 22, iMode change, min len 30 ms falling, count 0 (+0) in 664093 ms Rej 0
2017.01.06 18:57:56.591 3: ArduCOUNTER: device: Next report in 10881 Milliseconds
2017.01.06 18:57:56.591 5: ArduCOUNTER: ReadAnswer matched Next report in [0-9]+ Milliseconds
2017.01.06 18:58:22.449 4: ArduCOUNTER: Pin 5 (pin5) count 9935 (diff 1) in 25.766s, reject 0, result 0.140
2017.01.06 18:58:22.450 5: ArduCOUNTER: interval 18:57:56 until 18:58:22, First at 25766
2017.01.06 18:58:22.451 5: ArduCOUNTER: readingStartTime5 specified: setting reading timestamp to 18:57:56
2017.01.06 18:58:22.451 5: ArduCOUNTER: set readings power5 to 0.140, timeDiff5 to 25766 and countDiff5 to 1
2017.01.06 18:58:22.629 5: ArduCOUNTER: Device Time 78700.172, Drift -25.666s in 78604.308s, -0.03%
2017.01.06 18:58:37.481 4: ArduCOUNTER: Pin 5 (pin5) count 9936 (diff 1) in 25.517s, reject 0, result 0.141
2017.01.06 18:58:37.481 5: ArduCOUNTER: interval 18:58:11 until 18:58:37, First at 25517
2017.01.06 18:58:37.482 5: ArduCOUNTER: readingStartTime5 specified: setting reading timestamp to 18:58:11
2017.01.06 18:58:37.482 5: ArduCOUNTER: set readings power5 to 0.141, timeDiff5 to 25517 and countDiff5 to 1
2017.01.06 18:58:37.657 5: ArduCOUNTER: Device Time 78715.172, Drift -25.634s in 78619.340s, -0.03%
2017.01.06 18:59:07.679 4: ArduCOUNTER: Pin 5 (pin5) count 9937 (diff 1) in 25.887s, reject 0, result 0.139
2017.01.06 18:59:07.679 5: ArduCOUNTER: interval 18:58:41 until 18:59:07, First at 25887
2017.01.06 18:59:07.680 5: ArduCOUNTER: readingStartTime5 specified: setting reading timestamp to 18:58:41
2017.01.06 18:59:07.680 5: ArduCOUNTER: set readings power5 to 0.139, timeDiff5 to 25887 and countDiff5 to 1
2017.01.06 18:59:07.855 5: ArduCOUNTER: Device Time 78745.172, Drift -25.436s in 78649.538s, -0.03%
2017.01.06 18:59:28.962 0:
-             ---------------   SHUTDOWN !  ---------------
-
2017.01.06 18:59:29.163 0: Server shutdown

2017.01.06 19:00:21.542 1: Including ./log/fhem.save
2017.01.06 19:00:23.814 5: ArduCOUNTER: Notify called with events: INITIALIZED, open device and set timer to send hello to device
2017.01.06 19:00:23.815 3: Opening ArduCOUNTER device /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2.2:1.0-port0
2017.01.06 19:00:23.822 3: Setting ArduCOUNTER serial parameters to 38400,8,N,1
2017.01.06 19:00:23.839 3: ArduCOUNTER device opened
2017.01.06 19:00:29.279 0: Featurelevel: 5.7
2017.01.06 19:00:29.279 0: Server started with 708 defined entities (fhem.pl:12955/2017-01-04 perl:5.020002 os:linux user:fhem pid:3909)
2017.01.06 19:00:32.649 3: ArduCOUNTER: sending h(ello) to device to ask for version
2017.01.06 19:00:32.649 5: SW: h
2017.01.06 19:00:36.093 4: ArduCOUNTER: Pin 5 (pin5) count 9938 (diff 1) in 26.271s, reject 0, result 0.137
2017.01.06 19:00:36.093 5: ArduCOUNTER: interval 19:00:09 until 19:00:36
2017.01.06 19:00:36.094 5: ArduCOUNTER: readingStartTime5 specified: setting reading timestamp to 19:00:09
2017.01.06 19:00:36.094 5: ArduCOUNTER: set readings power5 to 0.137, timeDiff5 to 26271 and countDiff5 to 1
2017.01.06 19:00:36.182 5: ArduCOUNTER: Initialize clock offset to 1483646860.9212
2017.01.06 19:00:36.183 5: ArduCOUNTER: Device Time 78775.172, Drift 0.000s in 0.000s
2017.01.06 19:00:36.183 3: ArduCOUNTER: device reported count
2017.01.06 19:00:36.184 3: ArduCOUNTER: device sent setup message, V1.8
2017.01.06 19:00:36.185 4: ArduCOUNTER: device reported firmware 1.8
2017.01.06 19:00:36.185 3: ArduCOUNTER: ConfigureDevice calls Attr with interval 15 1200 5 1
2017.01.06 19:00:36.185 5: SW: 15,1200,5,1i
2017.01.06 19:00:36.187 3: ArduCOUNTER: ConfigureDevice calls Attr with pinD5 falling pullup 90
2017.01.06 19:00:36.188 5: SW: 5,2,1,90a
2017.01.06 19:00:36.192 3: ArduCOUNTER: ConfigureDevice calls Attr with pinD6 falling pullup 30
2017.01.06 19:00:36.192 5: SW: 6,2,1,30a
2017.01.06 19:00:36.196 3: ArduCOUNTER: ConfigureDevice calls Attr with pinD4 falling pullup 30
2017.01.06 19:00:36.196 5: SW: 4,2,1,30a
2017.01.06 19:00:36.202 3: ArduCOUNTER: device replied to hello, V1.8
2017.01.06 19:00:36.202 4: ArduCOUNTER: device reported firmware 1.8

2017.01.06 19:01:12.182 3: ArduCOUNTER: device: intervals set to 15 1200 5 1
2017.01.06 19:01:12.182 3: ArduCOUNTER: device: defined pin 5 PCInt pin 21, iMode change, min len 90 ms falling, count 0 (+0) in 2 ms Rej 0
2017.01.06 19:01:12.183 3: ArduCOUNTER: device: defined pin 6 PCInt pin 22, iMode change, min len 30 ms falling, count 0 (+0) in 4 ms Rej 0
2017.01.06 19:01:12.183 3: ArduCOUNTER: device: defined pin 4 PCInt pin 20, iMode change, min len 30 ms falling, count 0 (+0) in 4 ms Rej 0
2017.01.06 19:01:51.179 4: ArduCOUNTER: Pin 5 (pin5) count 1 (diff 1) in 31.270s, reject 1, result 0.115
2017.01.06 19:01:51.180 5: ArduCOUNTER: interval 19:01:19 until 19:01:51
2017.01.06 19:01:51.180 5: ArduCOUNTER: readingStartTime5 specified: setting reading timestamp to 19:01:19
2017.01.06 19:01:51.181 5: ArduCOUNTER: set readings power5 to 0.115, timeDiff5 to 31270 and countDiff5 to 1
2017.01.06 19:01:51.305 5: ArduCOUNTER: device clock wrapped (now 85.919, before 78775.172). New offset is 1483725625.25978
2017.01.06 19:01:51.305 5: ArduCOUNTER: Device Time 85.919, Drift 0.000s in 75.086s, 0.00%

2017.01.06 19:02:36.164 4: ArduCOUNTER: Pin 5 (pin5) count 2 (diff 1) in 45.876s, reject 0, result 0.078
2017.01.06 19:02:36.164 5: ArduCOUNTER: interval 19:01:50 until 19:02:36, First at 45876
2017.01.06 19:02:36.165 5: ArduCOUNTER: readingStartTime5 specified: setting reading timestamp to 19:01:50
2017.01.06 19:02:36.166 5: ArduCOUNTER: set readings power5 to 0.078, timeDiff5 to 45876 and countDiff5 to 1
2017.01.06 19:02:36.353 5: ArduCOUNTER: Device Time 130.919, Drift -0.015s in 120.070s, -0.01%

2017.01.06 19:03:21.148 4: ArduCOUNTER: Pin 5 (pin5) count 3 (diff 1) in 46.496s, reject 0, result 0.077
2017.01.06 19:03:21.149 5: ArduCOUNTER: interval 19:02:34 until 19:03:21, First at 46496
2017.01.06 19:03:21.150 5: ArduCOUNTER: readingStartTime5 specified: setting reading timestamp to 19:02:34
2017.01.06 19:03:21.150 5: ArduCOUNTER: set readings power5 to 0.077, timeDiff5 to 46496 and countDiff5 to 1
2017.01.06 19:03:21.303 5: ArduCOUNTER: Device Time 175.92, Drift -0.031s in 165.055s, -0.02%

Gruß
BillyPbg

PS:
Ist die Log- und Info-Angabe "iMode change" im Modus "falling" korrekt - ein wenig verwirrend wegen rising-falling-change...
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 06 Januar 2017, 23:06:48
Was für Arduinos verwendet Ihr denn?
Ich denke das ganze ist ein Hardware-Thema ...
http://playground.arduino.cc/Main/DisablingAutoResetOnSerialConnection
Ich habe sowohl einen Jeenode als auch einen UNO von Sainsmart, die keinen Reset machen ...
Unabhängig davon sollte es aber auch nicht wirklich stören wenn der Arduino sich beim Neustart von Fhem auch neu startet. Der interne Zähler ist ja unabhängig von der Ausgabe der Impulse je Intervall und alle paar Wochen läuft der sowieso über.

Zum iMode: wenn eine Impulsdauer überwacht werden soll, steht iMode automatisch auf change. Rising der falling bedeutet dann ob der Puls steigend oder fallend beginnt. Sonst werden die Pausen statt der Impulslängen gemessen.
Ich könnte die Ausgbe von iMode natürlich auch weglassen - es ist ja eher eine interne Angabe.

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 07 Januar 2017, 00:44:25
Hallo Stefan,

Danke für die "iMode" Infos.
Bezüglich der Hardware - wie bereits erwähnt, ist es bei mir ein Nano 3.0, Modell "China-Direct".

Bisher hatte ich die Nullung über die "monotonic"-Userreadings als Basis für weitere Auswertungen gelöst.
Und diesen Mechanismus könntest Du ja auch - somit wäre das Ganze unabhängig von der Hardware - in das Modul  für die beiden Werte implementieren, was zudem das Thema des Überlaufs somit sowieso erschlagen würde.

Ergänzenderweise fände ich (Achtung Idee...  ;) noch einen Lösungsansatz interessant, zwecks fiktive Ergänzung für die verlustig gehenden Impulse während der "Shutdown Restart" Pausen:

Zum Beispiel in der Art, dass wenn man die letzten (z.B.) fünf Werte abgleicht mittels Durchschnittsbildung, diesen in Beziehung setzt mit der Länge der "Pause" bis zum nächsten regulären Impuls, vorausgesetzt dass die Pause nur maximal (z.B.) eine Minute, oder mindestens aber einen "Durchschnitts"-Impuls dauert und der regulär folgende Wert in einem Karenzraum von (z.B.) +-5%, ersatzweise der nächsten (z.B.) fünf Werte im Durchschnitt +-XX Prozent.

Die zur Berechnung nötigen Werte und Daten würde ich unbedingt mittels Temp- oder Log-Datei absturzsicher machen wollen, was dann die Zuverlässigkeit des durchgehenden Zählens und somit die Qualität des Moduls nochmal enorm steigern würde.

Und sollte dann eine "Unterbrechung" stattfinden, die nicht mehr nachberechnet werden kann, sollte das z.B. per INTERNAL Reading eindeutig signalisiert werden (z.B. "Unterbrechung von XX:XX bis XX:XX Uhr/ Datum - Zählerstände prüfen!").
Über dieses Reading könnte man dann auch nachberechnete Impulse im selben Stil mit Handlungsaufforderung, sprich Warnung anzeigen (z.B. "Nachberechnete Impulse von XX:XX bis XX:XX Uhr/ Datum, Anzahl XX - Zählerstände prüfen!")
Dies wiederum könnte dann vom User oder bereits mittels Modulattribut mit einem DevStateIcon (z.B. farbige Warndreiecke) oder entsprechend DevStateStyle (rot/gelb/grün) signalisiert werden.

Zudem würde ich diese berechneten Werte in einem gesonderten Reading (parallel zum "pinDx", oder als Attribut: 'Erkannte verarbeitete Impulse/ Getrennt (verarbeitete und berechnete Impulse, zwei Readings)/ Beide zusammen' ) deklarieren wollen, um diese gesondert mittels Log je nach persönlicher Situation und Gusto auswerten lassen zu können.

Was hältst Du davon, machbar ?

Gruß
BillyPbg
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 29 Januar 2017, 19:44:35
Hallo BillyPbg,

machbar ist vieles. Ich nehme es mal in die langfristige Wunschliste auf.

Übrigens habe ich den Wiki-Eintrag zum ArduCounter heute mal überarbeitet.
Falls jemand noch Fehler / wichtige fehlende Details hat, dürft Ihr das gerne ergänzen.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 06 Februar 2017, 19:29:11
Hallo,

ich habe die letzt Version im svn eingecheckt und von contrib in den normalen Bereich verschoben, so dass sie per update verteilt wird. Schaut doch mal ob es bei Euch problemlos ankommt.

Gruss / Thanx
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 07 Februar 2017, 16:36:59
Hallo Stefan,

die version ist angekommen -> 98_ArduCounter.pm           13345 2017-02-06 18:22:20Z StefanStrobel
Vielen Dank.
Wegen dem Reset Verhalten bin ich noch am prüfen, ich denke es ist wohl normal/so gewollt. Wenn die serielle Schnittstelle initialisiert wird, wird über DTR ein reset ausgelöst. Aber wie gesagt, habe ich bisher nur gelesen und bin noch dabei zu testen.

Was mir jetzt noch auffiel: Man kann keinen leeren Arduino nano damit in Betrieb nehmen. Das Modul prüft immer ob die Schnittstelle geöffnet ist, ist natürlich ohne Firmware nicht der Fall.
Damit bekommt man leider die Firmware nicht drauf. Geht man ins Terminal und kopiert die Zeile flashCommand dann geht es sofort. Danach habe ich FHEM neu gestartet (reload 98_ArduCounter.pm hätte vielleicht gereicht?) und alles lief.

Vielleicht noch als Idee für Verbesserung, flash auch versuchen wenn Schnittstelle nicht geöffnet.  ;)

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 08 Februar 2017, 14:51:55
Hallo Stefan,

ich habe jetzt die "Eigenheit" des Arduino nano ermittelt.
Das Reset Pin ist mit einem 1 kOhm Widerstand nach 5 Volt geführt und wird über einen Kondensator vom DTR Pin beim Initialisieren der seriellen Schnittstelle kurz nach Masse gezogen. Das löst den Reset aus, da beim Neustart von FHEM auch die serielle Schnittstelle zurückgesetzt/initialisiert wird. Sieht dann so aus:
2017.02.08 14:02:31 3: Opening AC device /dev/ttyUSB0
2017.02.08 14:02:31 3: Setting AC serial parameters to 38400,8,N,1
2017.02.08 14:02:31 3: AC device opened
2017.02.08 14:02:32 0: Server started with 16 defined entities (fhem.pl:13334/2017-02-05 perl:5.020002 os:linux user:fhem pid:17892)
2017.02.08 14:02:34 3: AC: device sent setup message, V1.8
2017.02.08 14:02:34 3: AC: ConfigureDevice calls Attr with pinD4 falling pullup
2017.02.08 14:02:34 3: AC: device: defined pin 4 PCInt pin 20, iMode falling, no min len, count 0 (+0) in 0 ms


Mit einem zusätzlichen Widerstand von 220 Ohm von RST nach 5 Volt kann man den Reset über DTR verhindern, sieht dann so aus:
2017.02.08 14:35:00 3: Opening AC device /dev/ttyUSB0
2017.02.08 14:35:00 3: Setting AC serial parameters to 38400,8,N,1
2017.02.08 14:35:00 3: AC device opened
2017.02.08 14:35:00 0: Server started with 16 defined entities (fhem.pl:13334/2017-02-05 perl:5.020002 os:linux user:fhem pid:18652)
2017.02.08 14:35:03 3: AC: sending h(ello) to device to ask for version
2017.02.08 14:35:03 3: AC: device replied to hello, V1.8
2017.02.08 14:35:03 3: AC: ConfigureDevice calls Attr with pinD4 falling pullup
2017.02.08 14:35:03 3: AC: device: defined pin 4 PCInt pin 20, iMode falling, no min len, count 296 (+0) in 47944 ms


Also irgendwie erklärbar.

Wie schon gesagt, vielleicht kannst Du das Flashen von einem frischen Arduino nano ja noch umstricken, also nicht abfragen ob das Modul schon opened ist.  ;)

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 08 Februar 2017, 17:36:18
Hallo Otto,

vielen Dank für den Hinweis.
Das klingt sinnvoll und ich schau mal wie ich das umgesetzt bekomme.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 08 Februar 2017, 21:32:44
Hallo Stefan,

zur Commandref: Das Modul braucht ja keine besonderen Perlmodule, die FHEM nicht sowieso braucht. Aber zum Flashen braucht man avrdude.  Das solltest Du vielleicht in der commandref am Anfang mit erwähnen, auch das man keine besonderen Berechtigungen braucht. Es ist wirklich simpel. Hier stand ja mal in einem Post: man bräuchte eine Wikianleitung für avrdude, kann ich nicht  nachvollziehen -> das geht einfach.

Ich mag es wenn klar da steht, was ich zusätzlich installieren muss.  ;D

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 11 Februar 2017, 14:55:08
Guter Hinweis, kommt in der nächsten Version.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Naiszen am 13 Februar 2017, 12:45:30
Nach dem Update habe ich jetzt ständig dieses Problem...

2017.02.13 12:35:11 3: Setting AC serial parameters to 9600,8,N,1
2017.02.13 12:35:11 3: AC device opened
2017.02.13 12:35:11 3: NTFY return:  AC:1486985714.53514
2017.02.13 12:35:14 3: AC: sending h(ello) to device to ask for version
2017.02.13 12:35:17 3: AC: device didn't reply to h(ello). Is the right sketch flashed?

vorher ging alles mit der alten Version ohne Probleme
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 13 Februar 2017, 13:34:37
Hi,

Der Sketch (Firmware Arduino) und das Modul wurden geändert.
du musst entweder (einfach):
aus dem Restore Verzeichnis  die alte Modul Version wieder nehmen.
Oder (etwas aufwendiger):
den neuen sketch flashen (geht direkt aus dem Modul, du musst nur avrdude installiert haben)
die DEF von 9600 auf 38400 ändern

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Naiszen am 14 Februar 2017, 12:33:07
Sehr schon, Vielen Dank.
Ich hatte schon alles gemacht, mir leider nicht die DEF auf 38400. Das habe ich wohl übersehen, jedenfalls nicht gelesen. nun klappt alles wieder.

Jetzt habe ich aber doch noch eine Frage, kann man beim Arducounter etwas gegen dieses Alzheimer machen, wenn das Gerät mal kurz ohne Strom ist?
Habe das Problem z.b. wenn ich immer mal wieder von der Karte ein Backup mache.

Viele Grüße
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 14 Februar 2017, 16:20:58
Zitat von: Naiszen am 14 Februar 2017, 12:33:07
Jetzt habe ich aber doch noch eine Frage, kann man beim Arducounter etwas gegen dieses Alzheimer machen, wenn das Gerät mal kurz ohne Strom ist?
Habe das Problem z.b. wenn ich immer mal wieder von der Karte ein Backup mache.
Hi,

Du meinst, das die Counter zurückgesetzt werden?

Das hat Stefan eigentlich eingebaut, wenn der Arduino nicht vom Strom geht wird in der neuen Version beim Neustart des Moduls abgefragt ob er schon konfiguriert ist, wenn ja wird kein reset gemacht. Damit bleiben theoretisch die gezählten Impulse, während das Modul offline war, erhalten. Die Praxis macht uns allerdings einen Strich durch die Rechnung:
Irgendwie wird während des FHEM Starts die Serielle Schnittstelle initialisiert (Stefan macht das soweit ich sehen konnte nicht explizit im Modul, das wird in DevIo gemacht) der USB/Seriell Chip am Arduino macht über sein DTR Pin ein Reset Signal an den Atmel und das wars dann mit den "Offline Impulsen".

Es hängt davon ab was Du einsetzt, bei mir ist ein Widerstand von Reset nach Plus von 1 kOhm, wenn ich da 220 Ohm außen parallel schalte wird der Reset Impuls unterdrückt.  8)
Reset mit Taster geht dann immer noch, dabei fließt bloß ein bisschen mehr Strom  :)

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 14 Februar 2017, 16:46:30
Zitat von: Otto123 am 08 Februar 2017, 14:51:55
...

ich habe jetzt die "Eigenheit" des Arduino nano ermittelt.
Das Reset Pin ist mit einem 1 kOhm Widerstand nach 5 Volt geführt und wird über einen Kondensator vom DTR Pin beim Initialisieren der seriellen Schnittstelle kurz nach Masse gezogen.
Das löst den Reset aus, da beim Neustart von FHEM auch die serielle Schnittstelle zurückgesetzt/initialisiert wird. ...

Mit einem zusätzlichen Widerstand von 220 Ohm von RST nach 5 Volt kann man den Reset über DTR verhindern,

...

Hallo Otto,

irre ich, wenn ich sage, die Daten bleiben bei einem "Shutdown Restart"-Manöver erhalten,
aber bei einem z. B. "Raspi"-Restart, bzw. einem "sudo /etc/init.d/fhem stop - status - start"-Manöver dagegen sind die Daten nach wie vor weg?

Hast Du mal das Verhalten getestet, wenn Du den NANO mit einer fremden, somit zusätzlichen, eigenen 5V-Quelle (stabilisiert: Pin27, bzw. extern 6-20V: Pin30) und natürlich dann auch den "RST" am besten mit diesen 5V (über 220 Ohm Widerstand) fütterst?

Würde mich echt interessieren, ob er dann seine "Gedächtnislücken" nach wie vor produziert? 

Gruß
BillyPbg

PS:
Für meinen Test habe ich in der ".pm"-Datei (Version 4.5) die Zeile 147 testweise deaktiviert...
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Thorsten Pferdekaemper am 14 Februar 2017, 16:51:32
Zitat von: BillyPbg am 14 Februar 2017, 16:46:30
Hast Du mal das Verhalten getestet, wenn Du den NANO mit einer fremden, somit zusätzlichen, eigenen 5V-Quelle (stabilisiert: Pin27, bzw. extern 6-20V: Pin30) und natürlich dann auch den "RST" am besten mit diesen 5V (über 220 Ohm Widerstand) fütterst?
Normalerweise macht man das mit einem 10uF Kondensator zwischen RST und GND. ...zumindest beim Uno.
Gruß,
   Thorsten
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 14 Februar 2017, 20:18:34
Hi,

also nano an eigener Spannungsversorgung (aktiver Hub) und RST "abgeklemmt" - die Daten bleiben erhalten. Arducounter neuste Version, neuster Flash. Erkennbar am Dialog in meinem Post weiter oben vom 08 Februar 2017, 14:51:55.
->  ... count 296 ...

Gerade nochmal probiert, auch ein reboot vom Raspberry ohne aktiven Hub also einfach am USB wird überlebt.

@ Thorsten wie immer viele Wege :) Widerstand ist kleiner  als Elko ;)

P.S. gerade noch festgestellt: die 10 µ sind stabiler als der 220 Ohm.  :o Der Widerstand ist offenbar die Grenze, wenn man das damit machen will muss man vielleicht besser 100 Ohm nehmen

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Thorsten Pferdekaemper am 14 Februar 2017, 20:42:12
Zitat von: Otto123 am 14 Februar 2017, 20:18:34@ Thorsten wie immer viele Wege :) Widerstand ist kleiner  als Elko ;)
Der Elko spart Strom...
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 14 Februar 2017, 22:01:35
Zitat von: Thorsten Pferdekaemper am 14 Februar 2017, 20:42:12
Der Elko spart Strom...
Naja das wird jetzt sehr philosophisch und OT aber der Widerstand zieht ja bloß den Eingang der schon auf Plus gezogen ist noch etwas fester nach Plus. Statisch fließt da gar nix.
Dynamisch gesehen muss der Elko auch immer mal geladen werden. :)
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Naiszen am 15 Februar 2017, 02:31:15
Ich besorg mir erstmal einfach ein USB Hub, mit einem Starken Netzteil, und klemme da gleich den Raspberry Pi mit an, dann sollte das in die richtige Richtung gehen....

Jetzt kommt mir da aber noch eine Frage: Ist es auch möglich, den Zähler über LAN bzw. lan an zu sprechen? bzw. was muss man an einem Arduino nano noch alles anklemmen?

Danke schon mal für die Antworten
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 15 Februar 2017, 09:03:03
Zitat von: Naiszen am 15 Februar 2017, 02:31:15
Jetzt kommt mir da aber noch eine Frage: Ist es auch möglich, den Zähler über LAN bzw. lan an zu sprechen? bzw. was muss man an einem Arduino nano noch alles anklemmen?
Arducounter macht es meines Wissen nur "seriell" ob das dann auch mit irgendwelchen ser2net socat oder sonstwie Umleitungen geht, keine Ahnung.

Für den ESP8266 gibt es im ESPEasy ja auch einen Counter, ich denke damit geht das auch. Da hättest Du wlan.

Beschalten musst Du für Arducounter nix, so hab ich das gemacht ->http://heinz-otto.blogspot.de/2016/10/mein-erstes-arduino-projekt.html

Gruß Otto

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 18 Februar 2017, 18:52:27
Hallo,

ich habe nochmal einen Bug im ArduCounter-Modul gefixt und das Logging etwas optimiert.
@Otto: das mit dem Flashen sollte jetzt auch funktionieren.
Wenn bei Euch auch noch alles funktioniert, checke ich die neue Version ein.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 19 Februar 2017, 18:48:10
Hallo Stefan,

das Flashen klappt jetzt bei "leerem" Arduino nano, was mich jetzt nur irritiert: Auch wenn gar keine Firmware drauf ist steht das Modul auf openend.

Ansonsten scheint alles zu laufen.

Danke!

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 20 Februar 2017, 10:19:12
Zitat von: Thorsten Pferdekaemper am 14 Februar 2017, 16:51:32
Normalerweise macht man das mit einem 10uF Kondensator zwischen RST und GND. ...zumindest beim Uno.
Gruß,
   Thorsten

Hallo Thorsten,
hallo Otto,

zur allgemeinen Info für die asiatische "NANO 3.0"-Gemeinde:

Nachdem ich nach Otto's Anleitung, mit Widerständen (220 Ohm, oder auch 120 Ohm, wie in anderen Gockel-Ergebnissen empfohlen, auch unter zu Hilfenahme von Potis) meine China-Direkt "Nano's 3.0" (anstelle mit FTDI, mit CH340 bestückt, siehe Anlage) nicht annähernd - gar zuverlässig - zähmen konnte, testete ich die "10µF ElKo"- Variante von Thorsten und siehe da, die Dinger schnurren wie gewünscht - ohne "Alzheimer"...

Gruß
BillyPbg

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 20 Februar 2017, 10:33:20
Zitat von: BillyPbg am 20 Februar 2017, 10:19:12
Hallo Thorsten,
hallo Otto,

zur allgemeinen Info für die asiatische "NANO 3.0"-Gemeinde:

Nachdem ich nach Otto's Anleitung, mit Widerständen (220 Ohm, oder auch 120 Ohm, wie in anderen Gockel-Ergebnissen empfohlen, auch unter zu Hilfenahme von Potis) meine China-Direkt "Nano's 3.0" (anstelle mit FTDI, mit CH340 bestückt, siehe Anlage) nicht annähernd - gar zuverlässig - zähmen konnte, testete ich die "10µF ElKo"- Variante von Thorsten und siehe da, die Dinger schnurren wie gewünscht - ohne "Alzheimer"...

Gruß
BillyPbg
Moin,
ich muss auch zugeben, Thorstens Variante ist viel zuverlässiger! Mir tat der kleine Taster leid, der jetzt einen kurzen Kurzschluss des Elkos ertragen muss.

Mit dieser Maßnahme geht dann natürlich unbeaufsichtigtes Flashen  nicht mehr (irgendwas ist ja immer   :P)
Vorgehen: set AC flash dann den RST Taster kurz drücken.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 20 Februar 2017, 10:39:00
Zitat von: StefanStrobel am 18 Februar 2017, 18:52:27
...
ich habe nochmal einen Bug im ArduCounter-Modul gefixt und das Logging etwas optimiert.
@Otto: das mit dem Flashen sollte jetzt auch funktionieren.
Wenn bei Euch auch noch alles funktioniert, checke ich die neue Version ein.
...

Hallo Stefan,

bis dato keine Anomalien feststellbar.

Kleine Anregung - Idee am Rande:

Attribut "FlashAuto:0:1"
Wenn Du eh' eine Versionsprüfung eingebaut hast, könntest Du sie doch für diejenigen, die keine abgewandelte ".ino/.hex"-Datei Variante im Einsatz haben, automatisiert gemäß Anweisung von Attribut "flashCommand" flashen lassen (->"1"), und für die Anderen eben nicht (->"0")...

Gruß
BillyPbg

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 22 Februar 2017, 19:33:36
Hallo,

ich habe die neue Version eingecheckt.
Der Status "opened" wird übrigens von DevIo gesetzt sobald die Schnittstelle geöffnet wurde.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 16 März 2017, 14:53:02
Hallo Stefan,

kannst Du Dir auf folgende Meldungen einen Reim machen ?

Nach jedem Neustart finden sich genau einmal folgende zwei Warnmeldungen:
-> 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at fhem.pl line 4147. (z.B. 11:48:53.292 Uhr)
-> 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at fhem.pl line 4147. (z.B. 11:48:53.294 Uhr)

HARDWARE::
Arduino Nano 3.0, Clone mit 10µF Elko (Antwort #130, zwischen RST und GND )

LOG-Auszug:
...
2017.03.16 11:48:38.334 3: TEST: sending h(ello) to device to ask for version
2017.03.16 11:48:38.335 5: SW: h
2017.03.16 11:48:53.290 4: TEST: Pin 3 (pin3) count 10923 (diff 1) in 25.642s, result 0.140
2017.03.16 11:48:53.290 5: TEST: interval 11:48:27 until 11:48:53
2017.03.16 11:48:53.290 5: TEST: readingStartTime3 specified: setting reading timestamp to 11:48:27
2017.03.16 11:48:53.291 5: TEST: set readings power3 to 0.140, timeDiff3 to 25642 and countDiff3 to 1
2017.03.16 11:48:53.292 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at fhem.pl line 4147.
2017.03.16 11:48:53.293 1: stacktrace:
2017.03.16 11:48:53.293 1: main::__ANON__ called by fhem.pl (4147)
2017.03.16 11:48:53.293 1: main::readingsEndUpdate called by ./FHEM/98_ArduCounter.pm (652)
2017.03.16 11:48:53.294 1: main::ArduCounter_Parse called by ./FHEM/98_ArduCounter.pm (756)
2017.03.16 11:48:53.294 1: main::ArduCounter_Read called by fhem.pl (3314)
2017.03.16 11:48:53.294 1: main::CallFn called by fhem.pl (676)
2017.03.16 11:48:53.294 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at fhem.pl line 4147.
2017.03.16 11:48:53.295 1: stacktrace:
2017.03.16 11:48:53.295 1: main::__ANON__ called by fhem.pl (4147)
2017.03.16 11:48:53.295 1: main::readingsEndUpdate called by ./FHEM/98_ArduCounter.pm (652)
2017.03.16 11:48:53.295 1: main::ArduCounter_Parse called by ./FHEM/98_ArduCounter.pm (756)
2017.03.16 11:48:53.296 1: main::ArduCounter_Read called by fhem.pl (3314)
2017.03.16 11:48:53.296 1: main::CallFn called by fhem.pl (676)
2017.03.16 11:48:53.403 5: TEST: Initialize clock offset to 1489486007.69165
2017.03.16 11:48:53.404 5: TEST: Device Time 175325.598, Drift 0.000s in 0.000s
2017.03.16 11:48:53.404 3: TEST: device is still counting
2017.03.16 11:48:53.405 3: TEST: device replied to hello, V1.8
2017.03.16 11:48:53.406 4: TEST: device reported firmware 1.8
2017.03.16 11:48:53.406 3: TEST: ConfigureDevice calls Attr with pinD3 falling pullup 89
2017.03.16 11:48:53.407 5: SW: 3,2,1,89a
2017.03.16 11:48:53.410 3: TEST: ConfigureDevice calls Attr with interval 15 1200 5 1
2017.03.16 11:48:53.410 5: SW: 15,1200,5,1i
...


RAW-Definition:

defmod TEST ArduCounter /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2.2:1.0-port0@38400
attr TEST userattr pinD3 readingStartTime3 verboseReadings3
attr TEST flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
attr TEST icon measure_power
attr TEST interval 15 1200 5 1
attr TEST pinD3 falling pullup 89
attr TEST readingStartTime3 1
attr TEST room S0
attr TEST sortby 02
attr TEST stateFormat ZÄHLER: pin3, Verbrauch: power3 W (reject3Result)
attr TEST userReadings reject3Summe:reject3.* monotonic {ReadingsNum ($name, "reject3", 0)},\
reject3Result:reject3.* {"FEHLER: ".ReadingsNum ($name, "reject3", 0)." von ".ReadingsNum ($name, "reject3Summe", 0)}
attr TEST verbose 3
attr TEST verboseReadings3 1

setstate TEST ZÄHLER: 11567, Verbrauch: 0.260 W (FEHLER: 0 von 756)
setstate TEST 2017-03-16 14:47:34 countDiff3 2
setstate TEST 2017-03-16 14:47:34 lastMsg3 R3 C11567 D2 T27696 N186155598 X0 F13873 L27696 A90
setstate TEST 2017-03-16 14:47:34 pin3 11567
setstate TEST 2017-03-16 14:47:06 power3 0.260
setstate TEST 2017-03-16 14:47:34 reject3 0
setstate TEST 2017-03-16 14:47:34 reject3Result FEHLER: 0 von 756
setstate TEST 2017-03-16 14:47:34 reject3Summe 756
setstate TEST 2017-03-16 11:48:04 state opened
setstate TEST 2017-03-16 14:47:34 timeDiff3 27696



VG.
BillyPbg
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 16 März 2017, 21:32:06
Hallo,

Was steht denn in der Zeile in Deiner fhem.pl?
Ich habe vermutlich nicht die gleiche Version und kann es daher nicht prüfen.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 17 März 2017, 10:44:56
Hallo Stefan,

Version:
fhem.pl:13700/2017-03-14 (Siehe Anhang)

VG.
BillyPbg
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 18 März 2017, 23:20:00
In 4147 wird die Addition für monotonic gemacht ...
Die Meldung kommt also von Deinem Userreading.

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 20 März 2017, 20:44:02

Hallo Stefan,

wenn kein Fehler seitens des Arduino gemeldet wird, schickt line 580 'Nichts' rüber, was zu meiner Fehlermeldung beim 'Monotonic' führt:
Ich hab's nun für mich wie folgt gelöst:
          'reject3Summe:reject3:.* monotonic {my $a=ReadingsVal ($name, "reject3", 0); $a =~ /([\d])/g?$a:0}'

... eleganter aber wäre wohl, wenn Du in Line 580 die NULL für diesen Fall setzen könntest...  ;)
         'my $reject = ($6 ? substr($6, 2) : 0);'

VG.
BillyPbg
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 20 März 2017, 23:12:01
Wenn der Arduino keine Rejects hat, sollte er X0 melden.
Ich frage mich woher Meldungen ohne X kommen. Evt. sind das Reste im seriellen Puffer - zumindest bekomme ich nach dem Reset des Arduino gelegentlich erst mal eine Müll-Zeile.
In so einem Fall wäre es aber vermutlich sinnvoller, gar kein Reading zu setzen statt einer 0.
Kannst Du den Fall mal mit verbose 5 protokollieren, so dass ich die Kommunikation zwischen Ardiuno und Fhem sehe wenn Dein Problem auftritt?

Gruss / Thanx
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 21 März 2017, 03:37:52
... Wird gemacht...
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 21 März 2017, 15:08:25
Zitat von: StefanStrobel am 20 März 2017, 23:12:01
Wenn der Arduino keine Rejects hat, sollte er X0 melden.
Ich frage mich woher Meldungen ohne X kommen. Evt. sind das Reste im seriellen Puffer - zumindest bekomme ich nach dem Reset des Arduino gelegentlich erst mal eine Müll-Zeile.
In so einem Fall wäre es aber vermutlich sinnvoller, gar kein Reading zu setzen statt einer 0.
Kannst Du den Fall mal mit verbose 5 protokollieren, so dass ich die Kommunikation zwischen Ardiuno und Fhem sehe wenn Dein Problem auftritt?
...

LOG-Auszüge, jeweils in der Restart-Phase:

...
2017.03.21 05:59:23.922 5: TEST: Notify called with events: INITIALIZED DEFINED Melde_Anrufer_A, open device and set timer to send hello to device
2017.03.21 05:59:23.923 3: Opening TEST device /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2.2:1.0-port0
2017.03.21 05:59:23.931 3: Setting TEST serial parameters to 38400,8,N,1
2017.03.21 05:59:23.947 3: TEST device opened
2017.03.21 05:59:24.846 0: Featurelevel: 5.8
2017.03.21 05:59:24.846 0: Server started with 759 defined entities (fhem.pl:13733/2017-03-19 perl:5.020002 os:linux user:fhem pid:9092)
...
2017.03.21 05:59:55.002 3: TEST: sending h(ello) to device to ask for version
2017.03.21 05:59:55.003 5: SW: h
...
2017.03.21 05:59:59.057 4: TEST: Pin 3 (pin3) count 46145 (diff 1) in 58.538s, result 0.061
2017.03.21 05:59:59.057 5: TEST: interval 05:59:00 until 05:59:59
2017.03.21 05:59:59.058 5: TEST: readingStartTime3 specified: setting reading timestamp to 05:59:00
2017.03.21 05:59:59.058 5: TEST: set readings power3 to 0.061, timeDiff3 to 58538 and countDiff3 to 1
2017.03.21 05:59:59.060 1: PERL WARNING: "" isn't numeric in numeric gt (>) at fhem.pl line 4147.
2017.03.21 05:59:59.161 5: TEST: Initialize clock offset to 1489485938.45901
2017.03.21 05:59:59.162 5: TEST: Device Time 586460.598, Drift 0.000s in 0.000s
2017.03.21 05:59:59.162 3: TEST: device is still counting
2017.03.21 05:59:59.163 3: TEST: device replied to hello, V1.8
2017.03.21 05:59:59.163 4: TEST: device reported firmware 1.8
2017.03.21 05:59:59.164 3: TEST: ConfigureDevice calls Attr with interval 15 1200 5 1
2017.03.21 05:59:59.164 5: SW: 15,1200,5,1i

2017.03.21 05:59:59.166 3: TEST: ConfigureDevice calls Attr with pinD3 falling pullup 89
2017.03.21 05:59:59.166 5: SW: 3,2,1,89a

...
2017.03.21 06:00:04.414 3: TEST: device: intervals set to 15 1200 5 1
2017.03.21 06:00:04.414 3: TEST: device: defined pin 3 PCInt pin 19, iMode change, min len 89 ms falling, count 46147 (+1) in 49050 ms Rej 0
2017.03.21 06:00:04.415 3: TEST: device:   first at 37299, last at 37299, avg len 89
2017.03.21 06:00:04.415 4: TEST: Pin 3 (pin3) count 46147 (diff 1) in 49.050s, reject 0, result 0.073
2017.03.21 06:00:04.416 5: TEST: interval 05:59:15 until 06:00:04, First at 49050
2017.03.21 06:00:04.416 5: TEST: readingStartTime3 specified: setting reading timestamp to 05:59:15
2017.03.21 06:00:04.416 5: TEST: set readings power3 to 0.073, timeDiff3 to 49050 and countDiff3 to 1
2017.03.21 06:00:04.519 5: TEST: Device Time 586565.598, Drift -99.642s in 5.358s, -1859.51%
...



...
2017.03.21 09:36:30.216 5: TEST: Notify called with events: INITIALIZED DEFINED Melde_Anrufer_A, open device and set timer to send hello to device
2017.03.21 09:36:30.216 3: Opening TEST device /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2.2:1.0-port0
2017.03.21 09:36:30.224 3: Setting TEST serial parameters to 38400,8,N,1
2017.03.21 09:36:30.241 3: TEST device opened
2017.03.21 09:36:31.144 0: Featurelevel: 5.8
2017.03.21 09:36:31.144 0: Server started with 759 defined entities (fhem.pl:13733/2017-03-19 perl:5.020002 os:linux user:fhem pid:4649)
2017.03.21 09:37:02.669 3: TEST: sending h(ello) to device to ask for version
2017.03.21 09:37:02.669 5: SW: h

2017.03.21 09:37:03.942 4: TEST: Pin 3 (pin3) count 46724 (diff 1) in 15.085s, result 0.239
2017.03.21 09:37:03.942 5: TEST: interval 09:36:48 until 09:37:03
2017.03.21 09:37:03.942 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:36:48
2017.03.21 09:37:03.943 5: TEST: set readings power3 to 0.239, timeDiff3 to 15085 and countDiff3 to 1
2017.03.21 09:37:03.945 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at fhem.pl line 4147.
2017.03.21 09:37:04.050 5: TEST: Initialize clock offset to 1489485928.34374
2017.03.21 09:37:04.051 5: TEST: Device Time 599495.598, Drift 0.000s in 0.000s
2017.03.21 09:37:04.051 3: TEST: device is still counting
2017.03.21 09:37:04.053 4: TEST: Pin 3 (pin3) count 46730 (diff 1) in 15.436s, reject 0, result 0.233
2017.03.21 09:37:04.053 5: TEST: interval 09:36:48 until 09:37:04, First at 15436
2017.03.21 09:37:04.053 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:36:48
2017.03.21 09:37:04.053 5: TEST: set readings power3 to 0.233, timeDiff3 to 15436 and countDiff3 to 1
2017.03.21 09:37:04.157 5: TEST: Device Time 599585.598, Drift -89.889s in 0.111s, -80997.06%
2017.03.21 09:37:04.158 3: TEST: device is still counting
2017.03.21 09:37:04.159 3: TEST: device replied to hello, V1.8
2017.03.21 09:37:04.159 4: TEST: device reported firmware 1.8
2017.03.21 09:37:04.160 3: TEST: ConfigureDevice calls Attr with interval 15 1200 5 1
2017.03.21 09:37:04.160 5: SW: 15,1200,5,1i

2017.03.21 09:37:04.162 3: TEST: ConfigureDevice calls Attr with pinD3 falling pullup 89
2017.03.21 09:37:04.162 5: SW: 3,2,1,89a

2017.03.21 09:37:09.438 3: TEST: device: intervals set to 15 1200 5 1
2017.03.21 09:37:09.438 3: TEST: device: defined pin 3 PCInt pin 19, iMode change, min len 89 ms falling, count 46730 (+0) in 7074 ms Rej 0
2017.03.21 09:37:16.449 4: TEST: Pin 3 (pin3) count 46731 (diff 1) in 15.467s, reject 0, result 0.233
2017.03.21 09:37:16.450 5: TEST: interval 09:37:00 until 09:37:16, First at 15467
2017.03.21 09:37:16.450 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:37:00
2017.03.21 09:37:16.450 5: TEST: set readings power3 to 0.233, timeDiff3 to 15467 and countDiff3 to 1
2017.03.21 09:37:16.563 5: TEST: Device Time 599600.598, Drift -92.493s in 12.507s, -739.51%
2017.03.21 09:37:33.155 4: TEST: Pin 3 (pin3) count 46732 (diff 1) in 15.604s, reject 0, result 0.231
2017.03.21 09:37:33.156 5: TEST: interval 09:37:17 until 09:37:33, First at 15604
2017.03.21 09:37:33.156 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:37:17
2017.03.21 09:37:33.156 5: TEST: set readings power3 to 0.231, timeDiff3 to 15604 and countDiff3 to 1
2017.03.21 09:37:33.261 5: TEST: Device Time 599615.598, Drift -90.786s in 29.214s, -310.77%
2017.03.21 09:38:16.869 4: TEST: Pin 3 (pin3) count 46733 (diff 1) in 15.684s, reject 0, result 0.230
2017.03.21 09:38:16.869 5: TEST: interval 09:38:01 until 09:38:16, First at 15684
2017.03.21 09:38:16.870 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:38:01
2017.03.21 09:38:16.870 5: TEST: set readings power3 to 0.230, timeDiff3 to 15684 and countDiff3 to 1
2017.03.21 09:38:16.975 5: TEST: Device Time 599630.598, Drift -62.073s in 72.927s, -85.12%
2017.03.21 09:38:16.976 4: TEST: Pin 3 (pin3) count 46734 (diff 1) in 15.770s, reject 0, result 0.228
2017.03.21 09:38:16.977 5: TEST: interval 09:38:01 until 09:38:16, First at 15770
2017.03.21 09:38:16.977 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:38:01
2017.03.21 09:38:16.977 5: TEST: set readings power3 to 0.228, timeDiff3 to 15770 and countDiff3 to 1
2017.03.21 09:38:17.083 5: TEST: Device Time 599645.598, Drift -76.965s in 73.035s, -105.38%
2017.03.21 09:38:30.269 4: TEST: Pin 3 (pin3) count 46735 (diff 1) in 15.816s, reject 0, result 0.228
2017.03.21 09:38:30.269 5: TEST: interval 09:38:14 until 09:38:30, First at 15816
2017.03.21 09:38:30.270 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:38:14
2017.03.21 09:38:30.270 5: TEST: set readings power3 to 0.228, timeDiff3 to 15816 and countDiff3 to 1
2017.03.21 09:38:30.374 5: TEST: Device Time 599675.598, Drift -93.673s in 86.327s, -108.51%
2017.03.21 09:38:45.090 4: TEST: Pin 3 (pin3) count 46736 (diff 1) in 15.828s, reject 0, result 0.227
2017.03.21 09:38:45.090 5: TEST: interval 09:38:29 until 09:38:45, First at 15828
2017.03.21 09:38:45.091 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:38:29
2017.03.21 09:38:45.091 5: TEST: set readings power3 to 0.227, timeDiff3 to 15828 and countDiff3 to 1
2017.03.21 09:38:45.205 5: TEST: Device Time 599690.598, Drift -93.852s in 101.148s, -92.79%
2017.03.21 09:39:00.145 4: TEST: Pin 3 (pin3) count 46737 (diff 1) in 15.827s, reject 0, result 0.227
2017.03.21 09:39:00.145 5: TEST: interval 09:38:44 until 09:39:00, First at 15827
2017.03.21 09:39:00.146 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:38:44
2017.03.21 09:39:00.146 5: TEST: set readings power3 to 0.227, timeDiff3 to 15827 and countDiff3 to 1
2017.03.21 09:39:00.257 5: TEST: Device Time 599705.598, Drift -93.797s in 116.203s, -80.72%
2017.03.21 09:39:15.085 4: TEST: Pin 3 (pin3) count 46738 (diff 1) in 15.669s, reject 0, result 0.230
2017.03.21 09:39:15.086 5: TEST: interval 09:38:59 until 09:39:15, First at 15669
2017.03.21 09:39:15.086 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:38:59
2017.03.21 09:39:15.087 5: TEST: set readings power3 to 0.230, timeDiff3 to 15669 and countDiff3 to 1
2017.03.21 09:39:15.199 5: TEST: Device Time 599720.598, Drift -93.856s in 131.144s, -71.57%
2017.03.21 09:39:30.082 4: TEST: Pin 3 (pin3) count 46739 (diff 1) in 15.524s, reject 0, result 0.232
2017.03.21 09:39:30.083 5: TEST: interval 09:39:14 until 09:39:30, First at 15524
2017.03.21 09:39:30.083 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:39:14
2017.03.21 09:39:30.084 5: TEST: set readings power3 to 0.232, timeDiff3 to 15524 and countDiff3 to 1
2017.03.21 09:39:30.204 5: TEST: Device Time 599735.598, Drift -93.859s in 146.141s, -64.23%
2017.03.21 09:39:45.082 4: TEST: Pin 3 (pin3) count 46740 (diff 1) in 15.123s, reject 0, result 0.238
2017.03.21 09:39:45.083 5: TEST: interval 09:39:29 until 09:39:45, First at 15123
2017.03.21 09:39:45.083 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:39:29
2017.03.21 09:39:45.083 5: TEST: set readings power3 to 0.238, timeDiff3 to 15123 and countDiff3 to 1
2017.03.21 09:39:45.221 5: TEST: Device Time 599750.598, Drift -93.860s in 161.140s, -58.25%
2017.03.21 09:40:00.078 4: TEST: Pin 3 (pin3) count 46741 (diff 1) in 15.149s, reject 0, result 0.238
2017.03.21 09:40:00.079 5: TEST: interval 09:39:44 until 09:40:00, First at 15149
2017.03.21 09:40:00.079 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:39:44
2017.03.21 09:40:00.080 5: TEST: set readings power3 to 0.238, timeDiff3 to 15149 and countDiff3 to 1
2017.03.21 09:40:00.210 5: TEST: Device Time 599765.598, Drift -93.863s in 176.137s, -53.29%
2017.03.21 09:40:15.077 4: TEST: Pin 3 (pin3) count 46742 (diff 1) in 15.146s, reject 0, result 0.238
2017.03.21 09:40:15.078 5: TEST: interval 09:39:59 until 09:40:15, First at 15146
2017.03.21 09:40:15.079 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:39:59
2017.03.21 09:40:15.079 5: TEST: set readings power3 to 0.238, timeDiff3 to 15146 and countDiff3 to 1
2017.03.21 09:40:15.191 5: TEST: Device Time 599780.598, Drift -93.864s in 191.136s, -49.11%
2017.03.21 09:40:30.074 4: TEST: Pin 3 (pin3) count 46743 (diff 1) in 15.209s, reject 0, result 0.237
2017.03.21 09:40:30.074 5: TEST: interval 09:40:14 until 09:40:30, First at 15209
2017.03.21 09:40:30.075 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:40:14
2017.03.21 09:40:30.075 5: TEST: set readings power3 to 0.237, timeDiff3 to 15209 and countDiff3 to 1
2017.03.21 09:40:30.187 5: TEST: Device Time 599795.598, Drift -93.868s in 206.132s, -45.54%
2017.03.21 09:40:45.072 4: TEST: Pin 3 (pin3) count 46744 (diff 1) in 15.239s, reject 0, result 0.236
2017.03.21 09:40:45.072 5: TEST: interval 09:40:29 until 09:40:45, First at 15239
2017.03.21 09:40:45.073 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:40:29
2017.03.21 09:40:45.073 5: TEST: set readings power3 to 0.236, timeDiff3 to 15239 and countDiff3 to 1
2017.03.21 09:40:45.179 5: TEST: Device Time 599810.598, Drift -93.870s in 221.130s, -42.45%
2017.03.21 09:41:00.069 4: TEST: Pin 3 (pin3) count 46745 (diff 1) in 15.167s, reject 0, result 0.237
2017.03.21 09:41:00.070 5: TEST: interval 09:40:44 until 09:41:00, First at 15167
2017.03.21 09:41:00.070 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:40:44
2017.03.21 09:41:00.071 5: TEST: set readings power3 to 0.237, timeDiff3 to 15167 and countDiff3 to 1
2017.03.21 09:41:00.181 5: TEST: Device Time 599825.598, Drift -93.873s in 236.127s, -39.76%
2017.03.21 09:41:15.066 4: TEST: Pin 3 (pin3) count 46746 (diff 1) in 15.226s, reject 0, result 0.236
2017.03.21 09:41:15.067 5: TEST: interval 09:40:59 until 09:41:15, First at 15226
2017.03.21 09:41:15.067 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:40:59
2017.03.21 09:41:15.068 5: TEST: set readings power3 to 0.236, timeDiff3 to 15226 and countDiff3 to 1
2017.03.21 09:41:15.178 5: TEST: Device Time 599840.598, Drift -93.875s in 251.125s, -37.38%
2017.03.21 09:41:30.068 4: TEST: Pin 3 (pin3) count 46747 (diff 1) in 15.211s, reject 0, result 0.237
2017.03.21 09:41:30.069 5: TEST: interval 09:41:14 until 09:41:30, First at 15211
2017.03.21 09:41:30.069 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:41:14
2017.03.21 09:41:30.069 5: TEST: set readings power3 to 0.237, timeDiff3 to 15211 and countDiff3 to 1
2017.03.21 09:41:30.174 5: TEST: Device Time 599855.598, Drift -93.873s in 266.127s, -35.27%
2017.03.21 09:41:45.061 4: TEST: Pin 3 (pin3) count 46748 (diff 1) in 15.245s, reject 0, result 0.236
2017.03.21 09:41:45.062 5: TEST: interval 09:41:29 until 09:41:45, First at 15245
2017.03.21 09:41:45.062 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:41:29
2017.03.21 09:41:45.062 5: TEST: set readings power3 to 0.236, timeDiff3 to 15245 and countDiff3 to 1
2017.03.21 09:41:45.166 5: TEST: Device Time 599870.598, Drift -93.880s in 281.120s, -33.40%
2017.03.21 09:42:00.060 4: TEST: Pin 3 (pin3) count 46749 (diff 1) in 15.058s, reject 0, result 0.239
2017.03.21 09:42:00.061 5: TEST: interval 09:41:45 until 09:42:00, First at 15058
2017.03.21 09:42:00.061 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:41:45
2017.03.21 09:42:00.062 5: TEST: set readings power3 to 0.239, timeDiff3 to 15058 and countDiff3 to 1
2017.03.21 09:42:00.172 5: TEST: Device Time 599885.598, Drift -93.881s in 296.119s, -31.70%
2017.03.21 09:42:15.095 4: TEST: Pin 3 (pin3) count 46750 (diff 1) in 15.057s, reject 0, result 0.239
2017.03.21 09:42:15.096 5: TEST: interval 09:42:00 until 09:42:15, First at 15057
2017.03.21 09:42:15.096 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:42:00
2017.03.21 09:42:15.097 5: TEST: set readings power3 to 0.239, timeDiff3 to 15057 and countDiff3 to 1
2017.03.21 09:42:15.222 5: TEST: Device Time 599900.598, Drift -93.847s in 311.153s, -30.16%
2017.03.21 09:42:30.056 4: TEST: Pin 3 (pin3) count 46751 (diff 1) in 15.105s, reject 0, result 0.238
2017.03.21 09:42:30.056 5: TEST: interval 09:42:14 until 09:42:30, First at 15105
2017.03.21 09:42:30.056 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:42:14
2017.03.21 09:42:30.057 5: TEST: set readings power3 to 0.238, timeDiff3 to 15105 and countDiff3 to 1
2017.03.21 09:42:30.183 5: TEST: Device Time 599915.598, Drift -93.886s in 326.114s, -28.79%
2017.03.21 09:42:45.053 4: TEST: Pin 3 (pin3) count 46752 (diff 1) in 15.114s, reject 0, result 0.238
2017.03.21 09:42:45.054 5: TEST: interval 09:42:29 until 09:42:45, First at 15114
2017.03.21 09:42:45.054 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:42:29
2017.03.21 09:42:45.054 5: TEST: set readings power3 to 0.238, timeDiff3 to 15114 and countDiff3 to 1
2017.03.21 09:42:45.182 5: TEST: Device Time 599930.598, Drift -93.889s in 341.111s, -27.52%
2017.03.21 09:43:00.051 4: TEST: Pin 3 (pin3) count 46753 (diff 1) in 15.228s, reject 0, result 0.236
2017.03.21 09:43:00.051 5: TEST: interval 09:42:44 until 09:43:00, First at 15228
2017.03.21 09:43:00.052 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:42:44
2017.03.21 09:43:00.052 5: TEST: set readings power3 to 0.236, timeDiff3 to 15228 and countDiff3 to 1
2017.03.21 09:43:00.157 5: TEST: Device Time 599945.598, Drift -93.891s in 356.109s, -26.37%
2017.03.21 09:43:15.048 4: TEST: Pin 3 (pin3) count 46754 (diff 1) in 15.263s, reject 0, result 0.236
2017.03.21 09:43:15.049 5: TEST: interval 09:42:59 until 09:43:15, First at 15263
2017.03.21 09:43:15.049 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:42:59
2017.03.21 09:43:15.050 5: TEST: set readings power3 to 0.236, timeDiff3 to 15263 and countDiff3 to 1
2017.03.21 09:43:15.160 5: TEST: Device Time 599960.598, Drift -93.893s in 371.107s, -25.30%
2017.03.21 09:43:30.046 4: TEST: Pin 3 (pin3) count 46755 (diff 1) in 15.295s, reject 0, result 0.235
2017.03.21 09:43:30.046 5: TEST: interval 09:43:14 until 09:43:30, First at 15295
2017.03.21 09:43:30.046 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:43:14
2017.03.21 09:43:30.047 5: TEST: set readings power3 to 0.235, timeDiff3 to 15295 and countDiff3 to 1
2017.03.21 09:43:30.158 5: TEST: Device Time 599975.598, Drift -93.896s in 386.104s, -24.32%
...



...
2017.03.21 09:52:10.159 5: TEST: Notify called with events: INITIALIZED DEFINED Melde_Anrufer_A, open device and set timer to send hello to device
2017.03.21 09:52:10.184 3: TEST device opened
2017.03.21 09:52:11.210 0: Featurelevel: 5.8
2017.03.21 09:52:11.211 0: Server started with 759 defined entities (fhem.pl:13733/2017-03-19 perl:5.020002 os:linux user:fhem pid:6421)
---
2017.03.21 09:52:16.497 4: TEST: Pin 3 (pin3) count 46780 (diff 1) in 24.998s, result 0.144
2017.03.21 09:52:16.497 5: TEST: interval 09:51:51 until 09:52:16
2017.03.21 09:52:16.498 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:51:51
2017.03.21 09:52:16.499 5: TEST: set readings power3 to 0.144, timeDiff3 to 24998 and countDiff3 to 1
2017.03.21 09:52:16.502 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at fhem.pl line 4147.
2017.03.21 09:52:16.637 5: TEST: Initialize clock offset to 1489485895.89887
2017.03.21 09:52:16.637 5: TEST: Device Time 600440.598, Drift 0.000s in 0.000s
2017.03.21 09:52:16.638 3: TEST: device is still counting
2017.03.21 09:52:16.638 3: TEST: sending h(ello) to device to ask for version
2017.03.21 09:52:16.638 5: SW: h

...
2017.03.21 09:52:44.798 3: TEST: device didn't reply to h(ello). Is the right sketch flashed? Is speed set to 38400?
...
2017.03.21 09:52:49.934 3: TEST: device replied to hello, V1.8
2017.03.21 09:52:49.934 4: TEST: device reported firmware 1.8
2017.03.21 09:52:49.934 3: TEST: ConfigureDevice calls Attr with interval 15 1200 5 1
2017.03.21 09:52:49.935 5: SW: 15,1200,5,1i

2017.03.21 09:52:49.937 3: TEST: ConfigureDevice calls Attr with pinD3 falling pullup 89
2017.03.21 09:52:49.937 5: SW: 3,2,1,89a

2017.03.21 09:52:49.943 4: TEST: Pin 3 (pin3) count 46783 (diff 1) in 26.369s, reject 0, result 0.137
2017.03.21 09:52:49.943 5: TEST: interval 09:52:23 until 09:52:49, First at 26369
2017.03.21 09:52:49.943 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:52:23
2017.03.21 09:52:49.943 5: TEST: set readings power3 to 0.137, timeDiff3 to 26369 and countDiff3 to 1
2017.03.21 09:52:50.050 5: TEST: Device Time 600515.598, Drift -41.554s in 33.446s, -124.24%
...
2017.03.21 09:52:50.524 3: TEST: device: intervals set to 15 1200 5 1
2017.03.21 09:52:50.524 3: TEST: device: defined pin 3 PCInt pin 19, iMode change, min len 89 ms falling, count 46783 (+0) in 22827 ms Rej 0
...
2017.03.21 09:53:03.191 4: TEST: Pin 3 (pin3) count 46784 (diff 1) in 26.360s, reject 0, result 0.137
2017.03.21 09:53:03.192 5: TEST: interval 09:52:36 until 09:53:03, First at 26360
2017.03.21 09:53:03.192 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:52:36
2017.03.21 09:53:03.192 5: TEST: set readings power3 to 0.137, timeDiff3 to 26360 and countDiff3 to 1
2017.03.21 09:53:03.304 5: TEST: Device Time 600545.598, Drift -58.306s in 46.694s, -124.87%
...
2017.03.21 09:54:03.108 4: TEST: Pin 3 (pin3) count 46785 (diff 1) in 30.463s, reject 0, result 0.118
2017.03.21 09:54:03.108 5: TEST: interval 09:53:32 until 09:54:03, First at 30463
2017.03.21 09:54:03.109 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:53:32
2017.03.21 09:54:03.109 5: TEST: set readings power3 to 0.118, timeDiff3 to 30463 and countDiff3 to 1
2017.03.21 09:54:03.227 5: TEST: Device Time 600575.598, Drift -28.389s in 106.611s, -26.63%
2017.03.21 09:54:03.228 4: TEST: Pin 3 (pin3) count 46786 (diff 1) in 33.255s, reject 0, result 0.108
2017.03.21 09:54:03.228 5: TEST: interval 09:53:29 until 09:54:03, First at 33255
2017.03.21 09:54:03.229 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:53:29
2017.03.21 09:54:03.229 5: TEST: set readings power3 to 0.108, timeDiff3 to 33255 and countDiff3 to 1
2017.03.21 09:54:03.338 5: TEST: Device Time 600605.598, Drift -58.269s in 106.731s, -54.59%
...
2017.03.21 09:54:44.941 4: TEST: Pin 3 (pin3) count 46787 (diff 1) in 34.299s, reject 0, result 0.105
2017.03.21 09:54:44.942 5: TEST: interval 09:54:10 until 09:54:44, First at 34299
2017.03.21 09:54:44.942 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:54:10
2017.03.21 09:54:44.942 5: TEST: set readings power3 to 0.105, timeDiff3 to 34299 and countDiff3 to 1
2017.03.21 09:54:45.048 5: TEST: Device Time 600650.598, Drift -61.555s in 148.445s, -41.47%
2017.03.21 09:55:14.937 4: TEST: Pin 3 (pin3) count 46788 (diff 1) in 34.470s, reject 0, result 0.104
2017.03.21 09:55:14.937 5: TEST: interval 09:54:40 until 09:55:14, First at 34470
2017.03.21 09:55:14.938 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:54:40
2017.03.21 09:55:14.938 5: TEST: set readings power3 to 0.104, timeDiff3 to 34470 and countDiff3 to 1
2017.03.21 09:55:15.044 5: TEST: Device Time 600680.598, Drift -61.560s in 178.440s, -34.50%
2017.03.21 09:55:44.942 4: TEST: Pin 3 (pin3) count 46789 (diff 1) in 31.259s, reject 0, result 0.115
2017.03.21 09:55:44.943 5: TEST: interval 09:55:13 until 09:55:44, First at 31259
2017.03.21 09:55:44.943 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:55:13
2017.03.21 09:55:44.943 5: TEST: set readings power3 to 0.115, timeDiff3 to 31259 and countDiff3 to 1
2017.03.21 09:55:45.059 5: TEST: Device Time 600710.598, Drift -61.555s in 208.445s, -29.53%
2017.03.21 09:56:14.927 4: TEST: Pin 3 (pin3) count 46790 (diff 1) in 30.826s, reject 0, result 0.117
2017.03.21 09:56:14.927 5: TEST: interval 09:55:44 until 09:56:14, First at 30826
2017.03.21 09:56:14.928 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:55:44
2017.03.21 09:56:14.928 5: TEST: set readings power3 to 0.117, timeDiff3 to 30826 and countDiff3 to 1
2017.03.21 09:56:15.033 5: TEST: Device Time 600740.598, Drift -61.570s in 238.430s, -25.82%
2017.03.21 09:56:44.923 4: TEST: Pin 3 (pin3) count 46791 (diff 1) in 30.922s, reject 0, result 0.116
2017.03.21 09:56:44.924 5: TEST: interval 09:56:14 until 09:56:44, First at 30922
2017.03.21 09:56:44.924 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:56:14
2017.03.21 09:56:44.924 5: TEST: set readings power3 to 0.116, timeDiff3 to 30922 and countDiff3 to 1
2017.03.21 09:56:45.028 5: TEST: Device Time 600770.598, Drift -61.574s in 268.426s, -22.94%
2017.03.21 09:57:15.330 4: TEST: Pin 3 (pin3) count 46792 (diff 1) in 30.977s, reject 0, result 0.116
2017.03.21 09:57:15.330 5: TEST: interval 09:56:44 until 09:57:15, First at 30977
2017.03.21 09:57:15.331 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:56:44
2017.03.21 09:57:15.331 5: TEST: set readings power3 to 0.116, timeDiff3 to 30977 and countDiff3 to 1
2017.03.21 09:57:15.459 5: TEST: Device Time 600800.598, Drift -61.168s in 298.832s, -20.47%
2017.03.21 09:57:45.772 4: TEST: Pin 3 (pin3) count 46793 (diff 1) in 30.706s, reject 0, result 0.117
2017.03.21 09:57:45.773 5: TEST: interval 09:57:15 until 09:57:45, First at 30706
2017.03.21 09:57:45.773 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:57:15
2017.03.21 09:57:45.773 5: TEST: set readings power3 to 0.117, timeDiff3 to 30706 and countDiff3 to 1
2017.03.21 09:57:45.882 5: TEST: Device Time 600830.598, Drift -60.725s in 329.275s, -18.44%
2017.03.21 09:57:59.911 4: TEST: Pin 3 (pin3) count 46794 (diff 1) in 16.151s, reject 0, result 0.223
2017.03.21 09:57:59.912 5: TEST: interval 09:57:43 until 09:57:59, First at 16151
2017.03.21 09:57:59.913 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:57:43
2017.03.21 09:57:59.913 5: TEST: set readings power3 to 0.223, timeDiff3 to 16151 and countDiff3 to 1
2017.03.21 09:58:00.027 5: TEST: Device Time 600845.598, Drift -61.585s in 343.415s, -17.93%
2017.03.21 09:58:14.949 4: TEST: Pin 3 (pin3) count 46795 (diff 1) in 15.812s, reject 0, result 0.228
2017.03.21 09:58:14.950 5: TEST: interval 09:57:59 until 09:58:14, First at 15812
2017.03.21 09:58:14.950 5: TEST: readingStartTime3 specified: setting reading timestamp to 09:57:59
2017.03.21 09:58:14.950 5: TEST: set readings power3 to 0.228, timeDiff3 to 15812 and countDiff3 to 1
2017.03.21 09:58:15.060 5: TEST: Device Time 600860.598, Drift -61.548s in 358.452s, -17.17%
...



...
2017.03.21 10:32:38.290 5: TEST: Notify called with events: INITIALIZED DEFINED Melde_Anrufer_A DEFINED firmata_reconnector ATTR firmata_reconnector room ZÄHLER, open device and set timer to send hello to device
2017.03.21 10:32:38.291 3: Opening TEST device /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2.2:1.0-port0
2017.03.21 10:32:38.298 3: Setting TEST serial parameters to 38400,8,N,1
2017.03.21 10:32:38.315 3: TEST device opened
2017.03.21 10:32:39.808 0: Featurelevel: 5.8
2017.03.21 10:32:39.809 0: Server started with 760 defined entities (fhem.pl:13733/2017-03-19 perl:5.020002 os:linux user:fhem pid:10557)
...
2017.03.21 10:32:45.058 4: TEST: Pin 3 (pin3) count 46876 (diff 1) in 33.000s, result 0.109
2017.03.21 10:32:45.059 5: TEST: interval 10:32:12 until 10:32:45
2017.03.21 10:32:45.059 5: TEST: readingStartTime3 specified: setting reading timestamp to 10:32:12
2017.03.21 10:32:45.060 5: TEST: set readings power3 to 0.109, timeDiff3 to 33000 and countDiff3 to 1
2017.03.21 10:32:45.062 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at fhem.pl line 4147.
2017.03.21 10:32:45.164 5: TEST: Initialize clock offset to 1489485894.46045
2017.03.21 10:32:45.164 5: TEST: Device Time 602870.598, Drift 0.000s in 0.000s
2017.03.21 10:32:45.164 3: TEST: device is still counting
2017.03.21 10:32:45.165 3: TEST: sending h(ello) to device to ask for version
2017.03.21 10:32:45.165 5: SW: h

...
2017.03.21 10:33:08.401 3: TEST: device replied to hello, V1.8
2017.03.21 10:33:08.402 4: TEST: device reported firmware 1.8
2017.03.21 10:33:08.402 3: TEST: ConfigureDevice calls Attr with pinD3 falling pullup 89
2017.03.21 10:33:08.403 5: SW: 3,2,1,89a

2017.03.21 10:33:08.406 3: TEST: ConfigureDevice calls Attr with interval 15 1200 5 1
2017.03.21 10:33:08.406 5: SW: 15,1200,5,1i

...
2017.03.21 10:33:19.160 3: TEST: device: defined pin 3 PCInt pin 19, iMode change, min len 89 ms falling, count 46879 (+1) in 29771 ms Rej 0
2017.03.21 10:33:19.161 3: TEST: device:   first at 19695, last at 19695, avg len 90
2017.03.21 10:33:19.161 3: TEST: device: intervals set to 15 1200 5 1
2017.03.21 10:33:19.162 4: TEST: Pin 3 (pin3) count 46879 (diff 1) in 29.771s, reject 0, result 0.121
2017.03.21 10:33:19.162 5: TEST: interval 10:32:49 until 10:33:19, First at 29771
2017.03.21 10:33:19.162 5: TEST: readingStartTime3 specified: setting reading timestamp to 10:32:49
2017.03.21 10:33:19.162 5: TEST: set readings power3 to 0.121, timeDiff3 to 29771 and countDiff3 to 1
2017.03.21 10:33:19.265 5: TEST: Device Time 602960.598, Drift -55.897s in 34.103s, -163.90%
...
2017.03.21 10:33:44.775 4: TEST: Pin 3 (pin3) count 46880 (diff 1) in 33.057s, reject 0, result 0.109
2017.03.21 10:33:44.775 5: TEST: interval 10:33:11 until 10:33:44, First at 33057
2017.03.21 10:33:44.775 5: TEST: readingStartTime3 specified: setting reading timestamp to 10:33:11
2017.03.21 10:33:44.776 5: TEST: set readings power3 to 0.109, timeDiff3 to 33057 and countDiff3 to 1
2017.03.21 10:33:44.881 5: TEST: Device Time 602990.598, Drift -60.284s in 59.716s, -100.95%
...
2017.03.21 10:34:26.214 4: TEST: Pin 3 (pin3) count 46881 (diff 1) in 30.123s, reject 0, result 0.120
2017.03.21 10:34:26.215 5: TEST: interval 10:33:56 until 10:34:26, First at 30123
2017.03.21 10:34:26.215 5: TEST: readingStartTime3 specified: setting reading timestamp to 10:33:56
2017.03.21 10:34:26.215 5: TEST: set readings power3 to 0.120, timeDiff3 to 30123 and countDiff3 to 1
2017.03.21 10:34:26.320 5: TEST: Device Time 603020.598, Drift -48.844s in 101.156s, -48.29%
2017.03.21 10:34:44.814 4: TEST: Pin 3 (pin3) count 46882 (diff 1) in 27.924s, reject 0, result 0.129
2017.03.21 10:34:44.814 5: TEST: interval 10:34:16 until 10:34:44, First at 27924
2017.03.21 10:34:44.814 5: TEST: readingStartTime3 specified: setting reading timestamp to 10:34:16
2017.03.21 10:34:44.815 5: TEST: set readings power3 to 0.129, timeDiff3 to 27924 and countDiff3 to 1
2017.03.21 10:34:44.923 5: TEST: Device Time 603050.598, Drift -60.245s in 119.755s, -50.31%
2017.03.21 10:35:14.578 4: TEST: Pin 3 (pin3) count 46883 (diff 1) in 27.522s, reject 0, result 0.131
2017.03.21 10:35:14.578 5: TEST: interval 10:34:47 until 10:35:14, First at 27522
2017.03.21 10:35:14.579 5: TEST: readingStartTime3 specified: setting reading timestamp to 10:34:47
2017.03.21 10:35:14.579 5: TEST: set readings power3 to 0.131, timeDiff3 to 27522 and countDiff3 to 1
2017.03.21 10:35:14.684 5: TEST: Device Time 603080.598, Drift -60.481s in 149.519s, -40.45%
2017.03.21 10:35:44.792 4: TEST: Pin 3 (pin3) count 46884 (diff 1) in 26.745s, reject 0, result 0.135
2017.03.21 10:35:44.792 5: TEST: interval 10:35:18 until 10:35:44, First at 26745
2017.03.21 10:35:44.792 5: TEST: readingStartTime3 specified: setting reading timestamp to 10:35:18
2017.03.21 10:35:44.793 5: TEST: set readings power3 to 0.135, timeDiff3 to 26745 and countDiff3 to 1
2017.03.21 10:35:44.894 5: TEST: Device Time 603110.598, Drift -60.267s in 179.733s, -33.53%
2017.03.21 10:35:59.572 4: TEST: Pin 3 (pin3) count 46885 (diff 1) in 26.420s, reject 0, result 0.136
2017.03.21 10:35:59.572 5: TEST: interval 10:35:33 until 10:35:59, First at 26420
2017.03.21 10:35:59.573 5: TEST: readingStartTime3 specified: setting reading timestamp to 10:35:33
2017.03.21 10:35:59.573 5: TEST: set readings power3 to 0.136, timeDiff3 to 26420 and countDiff3 to 1
2017.03.21 10:35:59.678 5: TEST: Device Time 603125.598, Drift -60.487s in 194.513s, -31.10%
...



...
2017.03.21 12:52:10.805 5: TEST: Notify called with events: INITIALIZED DEFINED Melde_Anrufer_A, open device and set timer to send hello to device
2017.03.21 12:52:10.806 3: Opening TEST device /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2.2:1.0-port0
2017.03.21 12:52:10.814 3: Setting TEST serial parameters to 38400,8,N,1
2017.03.21 12:52:10.832 3: TEST device opened
2017.03.21 12:52:11.828 0: Featurelevel: 5.8
2017.03.21 12:52:11.828 0: Server started with 759 defined entities (fhem.pl:13733/2017-03-19 perl:5.020002 os:linux user:fhem pid:11749)
...
2017.03.21 12:52:21.533 4: TEST: Pin 3 (pin3) count 49243 (diff 7) in 10.539s, result 2.391
2017.03.21 12:52:21.533 5: TEST: interval 12:52:10 until 12:52:21
2017.03.21 12:52:21.534 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:52:10
2017.03.21 12:52:21.534 5: TEST: set readings power3 to 2.391, timeDiff3 to 10539 and countDiff3 to 7
2017.03.21 12:52:21.536 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at fhem.pl line 4147.
2017.03.21 12:52:21.651 5: TEST: Initialize clock offset to 1489485915.93464
2017.03.21 12:52:21.652 5: TEST: Device Time 611225.598, Drift 0.000s in 0.000s
2017.03.21 12:52:21.652 3: TEST: device is still counting
2017.03.21 12:52:21.652 3: TEST: sending h(ello) to device to ask for version
2017.03.21 12:52:21.653 5: SW: h

...
2017.03.21 12:52:58.501 3: TEST: device replied to hello, V1.8
2017.03.21 12:52:58.502 4: TEST: device reported firmware 1.8
2017.03.21 12:52:58.502 3: TEST: ConfigureDevice calls Attr with pinD3 falling pullup 89
2017.03.21 12:52:58.503 5: SW: 3,2,1,89a

2017.03.21 12:52:58.506 3: TEST: ConfigureDevice calls Attr with interval 15 1200 5 1
2017.03.21 12:52:58.507 5: SW: 15,1200,5,1i

2017.03.21 12:52:58.511 4: TEST: Pin 3 (pin3) count 49249 (diff 1) in 14.527s, reject 0, result 0.248
2017.03.21 12:52:58.512 5: TEST: interval 12:52:43 until 12:52:58, First at 14527
2017.03.21 12:52:58.512 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:52:43
2017.03.21 12:52:58.512 5: TEST: set readings power3 to 0.248, timeDiff3 to 14527 and countDiff3 to 1
2017.03.21 12:52:58.790 5: TEST: Device Time 611315.598, Drift -53.021s in 36.979s, -143.38%
2017.03.21 12:52:58.791 4: TEST: Pin 3 (pin3) count 49251 (diff 2) in 29.331s, reject 0, result 0.245
2017.03.21 12:52:58.792 5: TEST: interval 12:52:29 until 12:52:58, First at 14811
2017.03.21 12:52:58.792 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:52:29
2017.03.21 12:52:58.792 5: TEST: set readings power3 to 0.245, timeDiff3 to 29331 and countDiff3 to 2
2017.03.21 12:52:58.906 5: TEST: Device Time 611330.598, Drift -67.741s in 37.259s, -181.81%
2017.03.21 12:52:58.907 4: TEST: Pin 3 (pin3) count 49252 (diff 1) in 14.305s, reject 0, result 0.252
2017.03.21 12:52:58.907 5: TEST: interval 12:52:44 until 12:52:58, First at 14305
2017.03.21 12:52:58.908 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:52:44
2017.03.21 12:52:58.908 5: TEST: set readings power3 to 0.252, timeDiff3 to 14305 and countDiff3 to 1
2017.03.21 12:52:59.022 5: TEST: Device Time 611345.598, Drift -82.625s in 37.375s, -221.07%
2017.03.21 12:52:59.727 3: TEST: device: defined pin 3 PCInt pin 19, iMode change, min len 89 ms falling, count 49252 (+0) in 816 ms Rej 0
2017.03.21 12:52:59.728 3: TEST: device: intervals set to 15 1200 5 1
2017.03.21 12:53:14.417 4: TEST: Pin 3 (pin3) count 49253 (diff 1) in 13.521s, reject 0, result 0.266
2017.03.21 12:53:14.418 5: TEST: interval 12:53:00 until 12:53:14, First at 13521
2017.03.21 12:53:14.419 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:53:00
2017.03.21 12:53:14.419 5: TEST: set readings power3 to 0.266, timeDiff3 to 13521 and countDiff3 to 1
2017.03.21 12:53:14.534 5: TEST: Device Time 611360.598, Drift -82.115s in 52.885s, -155.27%
...
2017.03.21 12:53:43.830 4: TEST: Pin 3 (pin3) count 49254 (diff 1) in 18.334s, reject 0, result 0.196
2017.03.21 12:53:43.830 5: TEST: interval 12:53:25 until 12:53:43, First at 18334
2017.03.21 12:53:43.831 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:53:25
2017.03.21 12:53:43.831 5: TEST: set readings power3 to 0.196, timeDiff3 to 18334 and countDiff3 to 1
2017.03.21 12:53:43.943 5: TEST: Device Time 611390.598, Drift -82.703s in 82.297s, -100.49%
2017.03.21 12:53:58.511 4: TEST: Pin 3 (pin3) count 49255 (diff 1) in 23.069s, reject 0, result 0.156
2017.03.21 12:53:58.512 5: TEST: interval 12:53:35 until 12:53:58, First at 23069
2017.03.21 12:53:58.513 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:53:35
2017.03.21 12:53:58.513 5: TEST: set readings power3 to 0.156, timeDiff3 to 23069 and countDiff3 to 1
2017.03.21 12:53:58.632 5: TEST: Device Time 611405.598, Drift -83.021s in 96.979s, -85.61%
2017.03.21 12:54:13.941 4: TEST: Pin 3 (pin3) count 49264 (diff 9) in 19.362s, reject 0, result 1.673
2017.03.21 12:54:13.941 5: TEST: interval 12:53:54 until 12:54:13, First at 6914
2017.03.21 12:54:13.942 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:53:54
2017.03.21 12:54:13.942 5: TEST: set readings power3 to 1.673, timeDiff3 to 19362 and countDiff3 to 9
2017.03.21 12:54:14.060 5: TEST: Device Time 611420.598, Drift -82.592s in 112.408s, -73.47%
2017.03.21 12:54:28.482 4: TEST: Pin 3 (pin3) count 49274 (diff 10) in 15.628s, reject 0, result 2.304
2017.03.21 12:54:28.482 5: TEST: interval 12:54:12 until 12:54:28, First at 1577
2017.03.21 12:54:28.483 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:54:12
2017.03.21 12:54:28.483 5: TEST: set readings power3 to 2.304, timeDiff3 to 15628 and countDiff3 to 10
2017.03.21 12:54:28.597 5: TEST: Device Time 611435.598, Drift -83.051s in 126.949s, -65.42%
2017.03.21 12:54:44.467 4: TEST: Pin 3 (pin3) count 49284 (diff 10) in 15.636s, reject 0, result 2.302
2017.03.21 12:54:44.468 5: TEST: interval 12:54:28 until 12:54:44, First at 1562
2017.03.21 12:54:44.469 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:54:28
2017.03.21 12:54:44.469 5: TEST: set readings power3 to 2.302, timeDiff3 to 15636 and countDiff3 to 10
2017.03.21 12:54:44.620 5: TEST: Device Time 611450.598, Drift -82.066s in 142.934s, -57.41%
2017.03.21 12:54:58.479 4: TEST: Pin 3 (pin3) count 49293 (diff 9) in 14.189s, reject 0, result 2.283
2017.03.21 12:54:58.479 5: TEST: interval 12:54:44 until 12:54:58, First at 1569
2017.03.21 12:54:58.480 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:54:44
2017.03.21 12:54:58.480 5: TEST: set readings power3 to 2.283, timeDiff3 to 14189 and countDiff3 to 9
2017.03.21 12:54:58.605 5: TEST: Device Time 611465.598, Drift -83.054s in 156.946s, -52.92%
2017.03.21 12:55:13.638 4: TEST: Pin 3 (pin3) count 49303 (diff 10) in 15.793s, reject 0, result 2.279
2017.03.21 12:55:13.638 5: TEST: interval 12:54:57 until 12:55:13, First at 1576
2017.03.21 12:55:13.639 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:54:57
2017.03.21 12:55:13.639 5: TEST: set readings power3 to 2.279, timeDiff3 to 15793 and countDiff3 to 10
2017.03.21 12:55:13.773 5: TEST: Device Time 611480.598, Drift -82.895s in 172.105s, -48.17%
2017.03.21 12:55:29.152 4: TEST: Pin 3 (pin3) count 49312 (diff 9) in 14.208s, reject 0, result 2.280
2017.03.21 12:55:29.153 5: TEST: interval 12:55:14 until 12:55:29, First at 1585
2017.03.21 12:55:29.153 5: TEST: readingStartTime3 specified: setting reading timestamp to 12:55:14
2017.03.21 12:55:29.153 5: TEST: set readings power3 to 2.280, timeDiff3 to 14208 and countDiff3 to 9
2017.03.21 12:55:29.294 5: TEST: Device Time 611495.598, Drift -82.381s in 187.619s, -43.91%
...


Langzeit-Mitschnitt: 13:44 bis 13:55 Uhr

...
2017.03.21 13:44:51.960 5: TEST: Notify called with events: INITIALIZED DEFINED Melde_Anrufer_A, open device and set timer to send hello to device
2017.03.21 13:44:51.960 3: Opening TEST device /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2.2:1.0-port0
2017.03.21 13:44:51.968 3: Setting TEST serial parameters to 38400,8,N,1
2017.03.21 13:44:51.985 3: TEST device opened
2017.03.21 13:44:52.963 0: Featurelevel: 5.8
2017.03.21 13:44:52.963 0: Server started with 759 defined entities (fhem.pl:13733/2017-03-19 perl:5.020002 os:linux user:fhem pid:17442)
...
2017.03.21 13:44:59.478 4: TEST: Pin 3 (pin3) count 50522 (diff 9) in 14.215s, result 2.279
2017.03.21 13:44:59.478 5: TEST: interval 13:44:45 until 13:44:59
2017.03.21 13:44:59.479 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:44:45
2017.03.21 13:44:59.479 5: TEST: set readings power3 to 2.279, timeDiff3 to 14215 and countDiff3 to 9
2017.03.21 13:44:59.641 5: TEST: Initialize clock offset to 1489485908.87963
2017.03.21 13:44:59.641 5: TEST: Device Time 614390.598, Drift 0.000s in 0.000s
2017.03.21 13:44:59.642 3: TEST: device is still counting
2017.03.21 13:44:59.642 3: TEST: sending h(ello) to device to ask for version
2017.03.21 13:44:59.643 5: SW: h

...
2017.03.21 13:45:43.233 3: TEST: device didn't reply to h(ello). Is the right sketch flashed? Is speed set to 38400?
2017.03.21 13:45:43.463 3: TEST: device replied to hello, V1.8
2017.03.21 13:45:43.463 4: TEST: device reported firmware 1.8
2017.03.21 13:45:43.463 3: TEST: ConfigureDevice calls Attr with interval 15 1200 5 1
2017.03.21 13:45:43.464 5: SW: 15,1200,5,1i

2017.03.21 13:45:43.466 3: TEST: ConfigureDevice calls Attr with pinD3 falling pullup 89
2017.03.21 13:45:43.466 5: SW: 3,2,1,89a

2017.03.21 13:45:43.473 4: TEST: Pin 3 (pin3) count 50579 (diff 10) in 15.946s, reject 0, result 2.258
2017.03.21 13:45:43.474 5: TEST: interval 13:45:27 until 13:45:43, First at 1594
2017.03.21 13:45:43.474 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:45:27
2017.03.21 13:45:43.474 5: TEST: set readings power3 to 2.258, timeDiff3 to 15946 and countDiff3 to 10
2017.03.21 13:45:43.764 5: TEST: Device Time 614480.598, Drift -46.004s in 43.996s, -104.57%
2017.03.21 13:45:43.765 4: TEST: Pin 3 (pin3) count 50588 (diff 9) in 14.313s, reject 1, result 2.264
2017.03.21 13:45:43.765 5: TEST: interval 13:45:29 until 13:45:43, First at 1590
2017.03.21 13:45:43.766 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:45:29
2017.03.21 13:45:43.766 5: TEST: set readings power3 to 2.264, timeDiff3 to 14313 and countDiff3 to 9
2017.03.21 13:45:43.884 5: TEST: Device Time 614495.598, Drift -60.712s in 44.288s, -137.09%
2017.03.21 13:45:43.885 4: TEST: Pin 3 (pin3) count 50598 (diff 10) in 15.846s, reject 0, result 2.272
2017.03.21 13:45:43.885 5: TEST: interval 13:45:28 until 13:45:43, First at 1583
2017.03.21 13:45:43.885 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:45:28
2017.03.21 13:45:43.886 5: TEST: set readings power3 to 2.272, timeDiff3 to 15846 and countDiff3 to 10
2017.03.21 13:45:44.004 5: TEST: Device Time 614510.598, Drift -75.593s in 44.407s, -170.23%
2017.03.21 13:45:45.374 3: TEST: device: intervals set to 15 1200 5 1
2017.03.21 13:45:45.374 3: TEST: device: defined pin 3 PCInt pin 19, iMode change, min len 89 ms falling, count 50598 (+0) in 501 ms Rej 0
...
2017.03.21 13:45:59.170 4: TEST: Pin 3 (pin3) count 50607 (diff 9) in 14.236s, reject 0, result 2.276
2017.03.21 13:45:59.170 5: TEST: interval 13:45:44 until 13:45:59, First at 1584
2017.03.21 13:45:59.171 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:45:44
2017.03.21 13:45:59.171 5: TEST: set readings power3 to 2.276, timeDiff3 to 14236 and countDiff3 to 9
2017.03.21 13:45:59.288 5: TEST: Device Time 614525.598, Drift -75.308s in 59.692s, -126.16%
...
2017.03.21 13:46:25.228 4: TEST: Pin 3 (pin3) count 50617 (diff 10) in 15.824s, reject 0, result 2.275
2017.03.21 13:46:25.229 5: TEST: interval 13:46:09 until 13:46:25, First at 1582
2017.03.21 13:46:25.229 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:46:09
2017.03.21 13:46:25.230 5: TEST: set readings power3 to 2.275, timeDiff3 to 15824 and countDiff3 to 10
2017.03.21 13:46:25.346 5: TEST: Device Time 614540.598, Drift -64.249s in 85.751s, -74.93%
...
2017.03.21 13:46:28.438 4: TEST: Pin 3 (pin3) count 50626 (diff 9) in 14.229s, reject 0, result 2.277
2017.03.21 13:46:28.438 5: TEST: interval 13:46:14 until 13:46:28, First at 1581
2017.03.21 13:46:28.439 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:46:14
2017.03.21 13:46:28.439 5: TEST: set readings power3 to 2.277, timeDiff3 to 14229 and countDiff3 to 9
2017.03.21 13:46:28.571 5: TEST: Device Time 614555.598, Drift -76.040s in 88.960s, -85.48%
2017.03.21 13:46:43.157 4: TEST: Pin 3 (pin3) count 50636 (diff 10) in 15.804s, reject 0, result 2.278
2017.03.21 13:46:43.157 5: TEST: interval 13:46:27 until 13:46:43, First at 1582
2017.03.21 13:46:43.158 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:46:27
2017.03.21 13:46:43.158 5: TEST: set readings power3 to 2.278, timeDiff3 to 15804 and countDiff3 to 10
2017.03.21 13:46:43.297 5: TEST: Device Time 614570.598, Drift -76.321s in 103.679s, -73.61%
2017.03.21 13:46:58.619 4: TEST: Pin 3 (pin3) count 50645 (diff 9) in 14.236s, reject 0, result 2.276
2017.03.21 13:46:58.619 5: TEST: interval 13:46:44 until 13:46:58, First at 1581
2017.03.21 13:46:58.620 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:46:44
2017.03.21 13:46:58.621 5: TEST: set readings power3 to 2.276, timeDiff3 to 14236 and countDiff3 to 9
2017.03.21 13:46:58.763 5: TEST: Device Time 614585.598, Drift -75.860s in 119.140s, -63.67%
2017.03.21 13:47:13.161 4: TEST: Pin 3 (pin3) count 50655 (diff 10) in 15.818s, reject 0, result 2.276
2017.03.21 13:47:13.161 5: TEST: interval 13:46:57 until 13:47:13, First at 1583
2017.03.21 13:47:13.162 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:46:57
2017.03.21 13:47:13.162 5: TEST: set readings power3 to 2.276, timeDiff3 to 15818 and countDiff3 to 10
2017.03.21 13:47:13.283 5: TEST: Device Time 614600.598, Drift -76.317s in 133.683s, -57.09%
2017.03.21 13:47:28.409 4: TEST: Pin 3 (pin3) count 50664 (diff 9) in 14.258s, reject 0, result 2.272
2017.03.21 13:47:28.410 5: TEST: interval 13:47:14 until 13:47:28, First at 1585
2017.03.21 13:47:28.411 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:47:14
2017.03.21 13:47:28.412 5: TEST: set readings power3 to 2.272, timeDiff3 to 14258 and countDiff3 to 9
2017.03.21 13:47:28.573 5: TEST: Device Time 614615.598, Drift -76.070s in 148.930s, -51.08%
2017.03.21 13:47:43.192 4: TEST: Pin 3 (pin3) count 50674 (diff 10) in 15.699s, reject 0, result 2.293
2017.03.21 13:47:43.192 5: TEST: interval 13:47:27 until 13:47:43, First at 1582
2017.03.21 13:47:43.193 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:47:27
2017.03.21 13:47:43.193 5: TEST: set readings power3 to 2.293, timeDiff3 to 15699 and countDiff3 to 10
2017.03.21 13:47:43.312 5: TEST: Device Time 614630.598, Drift -76.286s in 163.714s, -46.60%
2017.03.21 13:47:58.227 4: TEST: Pin 3 (pin3) count 50683 (diff 9) in 14.103s, reject 0, result 2.297
2017.03.21 13:47:58.228 5: TEST: interval 13:47:44 until 13:47:58, First at 1567
2017.03.21 13:47:58.228 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:47:44
2017.03.21 13:47:58.228 5: TEST: set readings power3 to 2.297, timeDiff3 to 14103 and countDiff3 to 9
2017.03.21 13:47:58.340 5: TEST: Device Time 614645.598, Drift -76.250s in 178.750s, -42.66%
2017.03.21 13:48:13.148 4: TEST: Pin 3 (pin3) count 50693 (diff 10) in 15.662s, reject 0, result 2.299
2017.03.21 13:48:13.148 5: TEST: interval 13:47:57 until 13:48:13, First at 1566
2017.03.21 13:48:13.149 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:47:57
2017.03.21 13:48:13.149 5: TEST: set readings power3 to 2.299, timeDiff3 to 15662 and countDiff3 to 10
2017.03.21 13:48:13.269 5: TEST: Device Time 614660.598, Drift -76.330s in 193.670s, -39.41%
2017.03.21 13:48:28.145 4: TEST: Pin 3 (pin3) count 50702 (diff 9) in 14.131s, reject 0, result 2.293
2017.03.21 13:48:28.146 5: TEST: interval 13:48:14 until 13:48:28, First at 1569
2017.03.21 13:48:28.146 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:48:14
2017.03.21 13:48:28.147 5: TEST: set readings power3 to 2.293, timeDiff3 to 14131 and countDiff3 to 9
2017.03.21 13:48:28.259 5: TEST: Device Time 614675.598, Drift -76.332s in 208.668s, -36.58%
2017.03.21 13:48:43.474 4: TEST: Pin 3 (pin3) count 50712 (diff 10) in 15.721s, reject 0, result 2.290
2017.03.21 13:48:43.475 5: TEST: interval 13:48:27 until 13:48:43, First at 1569
2017.03.21 13:48:43.475 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:48:27
2017.03.21 13:48:43.475 5: TEST: set readings power3 to 2.290, timeDiff3 to 15721 and countDiff3 to 10
2017.03.21 13:48:43.590 5: TEST: Device Time 614690.598, Drift -76.003s in 223.997s, -33.93%
2017.03.21 13:48:59.331 4: TEST: Pin 3 (pin3) count 50721 (diff 9) in 14.118s, reject 0, result 2.295
2017.03.21 13:48:59.332 5: TEST: interval 13:48:45 until 13:48:59, First at 1568
2017.03.21 13:48:59.332 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:48:45
2017.03.21 13:48:59.332 5: TEST: set readings power3 to 2.295, timeDiff3 to 14118 and countDiff3 to 9
2017.03.21 13:48:59.449 5: TEST: Device Time 614705.598, Drift -75.146s in 239.854s, -31.33%
2017.03.21 13:49:14.209 4: TEST: Pin 3 (pin3) count 50731 (diff 10) in 15.666s, reject 0, result 2.298
2017.03.21 13:49:14.210 5: TEST: interval 13:48:58 until 13:49:14, First at 1569
2017.03.21 13:49:14.211 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:48:58
2017.03.21 13:49:14.211 5: TEST: set readings power3 to 2.298, timeDiff3 to 15666 and countDiff3 to 10
2017.03.21 13:49:14.325 5: TEST: Device Time 614720.598, Drift -75.268s in 254.732s, -29.55%
2017.03.21 13:49:28.140 4: TEST: Pin 3 (pin3) count 50740 (diff 9) in 14.105s, reject 0, result 2.297
2017.03.21 13:49:28.140 5: TEST: interval 13:49:14 until 13:49:28, First at 1567
2017.03.21 13:49:28.141 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:49:14
2017.03.21 13:49:28.141 5: TEST: set readings power3 to 2.297, timeDiff3 to 14105 and countDiff3 to 9
2017.03.21 13:49:28.254 5: TEST: Device Time 614735.598, Drift -76.338s in 268.662s, -28.41%
2017.03.21 13:49:43.198 4: TEST: Pin 3 (pin3) count 50750 (diff 10) in 15.693s, reject 0, result 2.294
2017.03.21 13:49:43.199 5: TEST: interval 13:49:27 until 13:49:43, First at 1566
2017.03.21 13:49:43.200 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:49:27
2017.03.21 13:49:43.200 5: TEST: set readings power3 to 2.294, timeDiff3 to 15693 and countDiff3 to 10
2017.03.21 13:49:43.335 5: TEST: Device Time 614750.598, Drift -76.279s in 283.721s, -26.89%
2017.03.21 13:49:59.577 4: TEST: Pin 3 (pin3) count 50760 (diff 10) in 15.660s, reject 0, result 2.299
2017.03.21 13:49:59.578 5: TEST: interval 13:49:43 until 13:49:59, First at 1565
2017.03.21 13:49:59.578 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:49:43
2017.03.21 13:49:59.579 5: TEST: set readings power3 to 2.299, timeDiff3 to 15660 and countDiff3 to 10
2017.03.21 13:49:59.693 5: TEST: Device Time 614765.598, Drift -74.900s in 300.100s, -24.96%
2017.03.21 13:50:14.239 4: TEST: Pin 3 (pin3) count 50769 (diff 9) in 14.142s, reject 0, result 2.291
2017.03.21 13:50:14.239 5: TEST: interval 13:50:00 until 13:50:14, First at 1570
2017.03.21 13:50:14.240 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:50:00
2017.03.21 13:50:14.240 5: TEST: set readings power3 to 2.291, timeDiff3 to 14142 and countDiff3 to 9
2017.03.21 13:50:14.362 5: TEST: Device Time 614780.598, Drift -75.239s in 314.761s, -23.90%
2017.03.21 13:50:28.135 4: TEST: Pin 3 (pin3) count 50779 (diff 10) in 15.735s, reject 0, result 2.288
2017.03.21 13:50:28.135 5: TEST: interval 13:50:12 until 13:50:28, First at 1568
2017.03.21 13:50:28.136 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:50:12
2017.03.21 13:50:28.136 5: TEST: set readings power3 to 2.288, timeDiff3 to 15735 and countDiff3 to 10
2017.03.21 13:50:28.249 5: TEST: Device Time 614795.598, Drift -76.343s in 328.657s, -23.23%
2017.03.21 13:50:43.437 4: TEST: Pin 3 (pin3) count 50788 (diff 9) in 14.215s, reject 0, result 2.279
2017.03.21 13:50:43.437 5: TEST: interval 13:50:29 until 13:50:43, First at 1580
2017.03.21 13:50:43.438 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:50:29
2017.03.21 13:50:43.438 5: TEST: set readings power3 to 2.279, timeDiff3 to 14215 and countDiff3 to 9
2017.03.21 13:50:43.577 5: TEST: Device Time 614810.598, Drift -76.041s in 343.959s, -22.11%
2017.03.21 13:50:58.561 4: TEST: Pin 3 (pin3) count 50798 (diff 10) in 15.807s, reject 0, result 2.277
2017.03.21 13:50:58.561 5: TEST: interval 13:50:42 until 13:50:58, First at 1577
2017.03.21 13:50:58.562 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:50:42
2017.03.21 13:50:58.562 5: TEST: set readings power3 to 2.277, timeDiff3 to 15807 and countDiff3 to 10
2017.03.21 13:50:58.675 5: TEST: Device Time 614825.598, Drift -75.917s in 359.083s, -21.14%
2017.03.21 13:51:13.355 4: TEST: Pin 3 (pin3) count 50807 (diff 9) in 14.201s, reject 0, result 2.282
2017.03.21 13:51:13.356 5: TEST: interval 13:50:59 until 13:51:13, First at 1580
2017.03.21 13:51:13.356 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:50:59
2017.03.21 13:51:13.356 5: TEST: set readings power3 to 2.282, timeDiff3 to 14201 and countDiff3 to 9
2017.03.21 13:51:13.469 5: TEST: Device Time 614840.598, Drift -76.122s in 373.878s, -20.36%
2017.03.21 13:51:28.127 4: TEST: Pin 3 (pin3) count 50817 (diff 10) in 15.416s, reject 0, result 2.335
2017.03.21 13:51:28.128 5: TEST: interval 13:51:12 until 13:51:28, First at 1567
2017.03.21 13:51:28.128 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:51:12
2017.03.21 13:51:28.128 5: TEST: set readings power3 to 2.335, timeDiff3 to 15416 and countDiff3 to 10
2017.03.21 13:51:28.248 5: TEST: Device Time 614855.598, Drift -76.350s in 388.650s, -19.65%
2017.03.21 13:51:43.127 4: TEST: Pin 3 (pin3) count 50827 (diff 10) in 15.387s, reject 0, result 2.340
2017.03.21 13:51:43.128 5: TEST: interval 13:51:27 until 13:51:43, First at 1514
2017.03.21 13:51:43.128 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:51:27
2017.03.21 13:51:43.128 5: TEST: set readings power3 to 2.340, timeDiff3 to 15387 and countDiff3 to 10
2017.03.21 13:51:43.245 5: TEST: Device Time 614870.598, Drift -76.350s in 403.650s, -18.92%
2017.03.21 13:51:58.125 4: TEST: Pin 3 (pin3) count 50836 (diff 9) in 14.093s, reject 0, result 2.299
2017.03.21 13:51:58.126 5: TEST: interval 13:51:44 until 13:51:58, First at 1559
2017.03.21 13:51:58.126 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:51:44
2017.03.21 13:51:58.127 5: TEST: set readings power3 to 2.299, timeDiff3 to 14093 and countDiff3 to 9
2017.03.21 13:51:58.264 5: TEST: Device Time 614885.598, Drift -76.352s in 418.648s, -18.24%
2017.03.21 13:52:14.118 4: TEST: Pin 3 (pin3) count 50846 (diff 10) in 15.683s, reject 0, result 2.295
2017.03.21 13:52:14.118 5: TEST: interval 13:51:58 until 13:52:14, First at 1564
2017.03.21 13:52:14.119 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:51:58
2017.03.21 13:52:14.119 5: TEST: set readings power3 to 2.295, timeDiff3 to 15683 and countDiff3 to 10
2017.03.21 13:52:14.255 5: TEST: Device Time 614900.598, Drift -75.360s in 434.640s, -17.34%
2017.03.21 13:52:28.122 4: TEST: Pin 3 (pin3) count 50855 (diff 9) in 14.121s, reject 0, result 2.294
2017.03.21 13:52:28.123 5: TEST: interval 13:52:14 until 13:52:28, First at 1568
2017.03.21 13:52:28.123 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:52:14
2017.03.21 13:52:28.123 5: TEST: set readings power3 to 2.294, timeDiff3 to 14121 and countDiff3 to 9
2017.03.21 13:52:28.264 5: TEST: Device Time 614915.598, Drift -76.356s in 448.644s, -17.02%
2017.03.21 13:52:43.122 4: TEST: Pin 3 (pin3) count 50865 (diff 10) in 15.700s, reject 0, result 2.293
2017.03.21 13:52:43.122 5: TEST: interval 13:52:27 until 13:52:43, First at 1568
2017.03.21 13:52:43.123 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:52:27
2017.03.21 13:52:43.123 5: TEST: set readings power3 to 2.293, timeDiff3 to 15700 and countDiff3 to 10
2017.03.21 13:52:43.236 5: TEST: Device Time 614930.598, Drift -76.356s in 463.644s, -16.47%
2017.03.21 13:52:58.133 4: TEST: Pin 3 (pin3) count 50875 (diff 10) in 14.626s, reject 0, result 2.461
2017.03.21 13:52:58.134 5: TEST: interval 13:52:43 until 13:52:58, First at 1567
2017.03.21 13:52:58.134 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:52:43
2017.03.21 13:52:58.134 5: TEST: set readings power3 to 2.461, timeDiff3 to 14626 and countDiff3 to 10
2017.03.21 13:52:58.252 5: TEST: Device Time 614945.598, Drift -76.344s in 478.656s, -15.95%
2017.03.21 13:53:13.364 4: TEST: Pin 3 (pin3) count 50885 (diff 10) in 14.890s, reject 0, result 2.418
2017.03.21 13:53:13.364 5: TEST: interval 13:52:58 until 13:53:13, First at 1487
2017.03.21 13:53:13.365 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:52:58
2017.03.21 13:53:13.365 5: TEST: set readings power3 to 2.418, timeDiff3 to 14890 and countDiff3 to 10
2017.03.21 13:53:13.512 5: TEST: Device Time 614960.598, Drift -76.114s in 493.886s, -15.41%
2017.03.21 13:53:28.219 4: TEST: Pin 3 (pin3) count 50895 (diff 10) in 14.871s, reject 0, result 2.421
2017.03.21 13:53:28.219 5: TEST: interval 13:53:13 until 13:53:28, First at 1489
2017.03.21 13:53:28.220 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:53:13
2017.03.21 13:53:28.220 5: TEST: set readings power3 to 2.421, timeDiff3 to 14871 and countDiff3 to 10
2017.03.21 13:53:28.333 5: TEST: Device Time 614975.598, Drift -76.259s in 508.741s, -14.99%
2017.03.21 13:53:43.115 4: TEST: Pin 3 (pin3) count 50905 (diff 10) in 14.897s, reject 0, result 2.417
2017.03.21 13:53:43.115 5: TEST: interval 13:53:28 until 13:53:43, First at 1489
2017.03.21 13:53:43.116 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:53:28
2017.03.21 13:53:43.116 5: TEST: set readings power3 to 2.417, timeDiff3 to 14897 and countDiff3 to 10
2017.03.21 13:53:43.230 5: TEST: Device Time 614990.598, Drift -76.363s in 523.637s, -14.58%
2017.03.21 13:53:58.114 4: TEST: Pin 3 (pin3) count 50915 (diff 10) in 14.980s, reject 0, result 2.403
2017.03.21 13:53:58.115 5: TEST: interval 13:53:43 until 13:53:58, First at 1494
2017.03.21 13:53:58.115 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:53:43
2017.03.21 13:53:58.116 5: TEST: set readings power3 to 2.403, timeDiff3 to 14980 and countDiff3 to 10
2017.03.21 13:53:58.256 5: TEST: Device Time 615005.598, Drift -76.364s in 538.636s, -14.18%
2017.03.21 13:54:13.386 4: TEST: Pin 3 (pin3) count 50925 (diff 10) in 14.994s, reject 0, result 2.401
2017.03.21 13:54:13.387 5: TEST: interval 13:53:58 until 13:54:13, First at 1497
2017.03.21 13:54:13.387 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:53:58
2017.03.21 13:54:13.387 5: TEST: set readings power3 to 2.401, timeDiff3 to 14994 and countDiff3 to 10
2017.03.21 13:54:13.509 5: TEST: Device Time 615020.598, Drift -76.092s in 553.908s, -13.74%
2017.03.21 13:54:28.635 4: TEST: Pin 3 (pin3) count 50935 (diff 10) in 14.995s, reject 0, result 2.401
2017.03.21 13:54:28.635 5: TEST: interval 13:54:13 until 13:54:28, First at 1497
2017.03.21 13:54:28.636 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:54:13
2017.03.21 13:54:28.636 5: TEST: set readings power3 to 2.401, timeDiff3 to 14995 and countDiff3 to 10
2017.03.21 13:54:28.777 5: TEST: Device Time 615035.598, Drift -75.843s in 569.157s, -13.33%
2017.03.21 13:54:43.395 4: TEST: Pin 3 (pin3) count 50945 (diff 10) in 15.029s, reject 0, result 2.395
2017.03.21 13:54:43.396 5: TEST: interval 13:54:28 until 13:54:43, First at 1499
2017.03.21 13:54:43.396 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:54:28
2017.03.21 13:54:43.396 5: TEST: set readings power3 to 2.395, timeDiff3 to 15029 and countDiff3 to 10
2017.03.21 13:54:43.761 5: TEST: Device Time 615050.598, Drift -76.083s in 583.917s, -13.03%
2017.03.21 13:55:02.258 4: TEST: Pin 3 (pin3) count 50955 (diff 10) in 15.026s, reject 0, result 2.396
2017.03.21 13:55:02.259 5: TEST: interval 13:54:47 until 13:55:02, First at 1508
2017.03.21 13:55:02.260 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:54:47
2017.03.21 13:55:02.260 5: TEST: set readings power3 to 2.396, timeDiff3 to 15026 and countDiff3 to 10
2017.03.21 13:55:02.448 5: TEST: Device Time 615065.598, Drift -72.220s in 602.780s, -11.98%
2017.03.21 13:55:13.870 4: TEST: Pin 3 (pin3) count 50965 (diff 10) in 15.001s, reject 0, result 2.400
2017.03.21 13:55:13.871 5: TEST: interval 13:54:58 until 13:55:13, First at 1497
2017.03.21 13:55:13.876 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:54:58
2017.03.21 13:55:13.876 5: TEST: set readings power3 to 2.400, timeDiff3 to 15001 and countDiff3 to 10
2017.03.21 13:55:14.022 5: TEST: Device Time 615080.598, Drift -75.608s in 614.392s, -12.31%
2017.03.21 13:55:28.105 4: TEST: Pin 3 (pin3) count 50975 (diff 10) in 15.069s, reject 0, result 2.389
2017.03.21 13:55:28.106 5: TEST: interval 13:55:13 until 13:55:28, First at 1504
2017.03.21 13:55:28.107 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:55:13
2017.03.21 13:55:28.107 5: TEST: set readings power3 to 2.389, timeDiff3 to 15069 and countDiff3 to 10
2017.03.21 13:55:28.224 5: TEST: Device Time 615095.598, Drift -76.372s in 628.628s, -12.15%
2017.03.21 13:55:43.148 4: TEST: Pin 3 (pin3) count 50985 (diff 10) in 15.097s, reject 0, result 2.385
2017.03.21 13:55:43.148 5: TEST: interval 13:55:28 until 13:55:43, First at 1515
2017.03.21 13:55:43.149 5: TEST: readingStartTime3 specified: setting reading timestamp to 13:55:28
2017.03.21 13:55:43.149 5: TEST: set readings power3 to 2.385, timeDiff3 to 15097 and countDiff3 to 10
2017.03.21 13:55:43.279 5: TEST: Device Time 615110.598, Drift -76.330s in 643.670s, -11.86%

VG.
BillyPbg
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 21 März 2017, 18:01:30
Schade, die entscheidenden Zeilen sind auskommentiert ...
Kannst Du im Modul mal die Kommentarzeichen vor Zeile 572 und 752 entfernen damit die Kommunikation zwischen Arduino und Modul auch protokolliert wird?

Gruss / Thanx
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: BillyPbg am 21 März 2017, 19:14:18
OK - wird erledigt...

Gruß
BillyPbg
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 19 April 2017, 23:25:17
Evtl. eine dumme Frage, aber wenn man einen ArduCounter bauen möchte, benötigt man dann zwingend ein Arduino Nano oder geht das auch mit einem Arduino Micro (bzw. dessen Klon)?
Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 21 April 2017, 20:54:17
Hallo,

ich habe es nur mit den 328er Controllern probiert.
Ob die pin change interrupts exakt so auch mit dem 32u4 funktionieren kann ich nicht sagen.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Skusi am 15 Mai 2017, 18:55:03
Hallo zusammen,
nun muß ich doch mal um eure Hilfe bitten:

Ich habe einen WEMOS an meinem S0 Zähler angeschlossen, und lese damit auch erfolgreich meinen  Verbrauch aus. Das Auswerten der Werte funktioniert auch sehr gut.
Nun habe ich mir ein Doif gebaut das am Tagesende den Wert des tagesverbrauchs in ein reading "Gestern" schiebt und den ESP resettet.
Eingebunden ist das ganze über eine ESPBridge und ein entsprechendes ESPEasy Device, also ohne Mosquito.

..sieht dann also so aus:
   
([23:59])
(setreading Strom Vorgestern [Strom:Gestern],
setreading Strom Gestern [Strom:Heute],
setreading Strom Monat [Strom_Statistik:Strom_zaehler_jetzt_EnergyMonth],
setreading Strom zaehler_vortag [Strom:zaehler_jetzt],
set PulsStrom reboot)


Nun ist mein Problem das der reboot nachts nicht ausgeführt wird. Feuer ich das DOIF aber manuell ab, funktioniert es. Alledings habe ich das Gefühl das auch manuell der reboot nicht immer ausgeführt wird.

Kennt das jemand von Euch ?
Warum nimmt der Wemos ESP den reboot nicht immer an. Komischerweise hat er das um 23:59 seit einer guten Woche, die ich nun schon daran rumdoktor, noch nie getan.

Hab ich irgendwo noch eine Atribut falsch gesetzt ?

hier nochmal die defs:

define espBridge ESPEasy bridge 8383
attr espBridge authentication 0
attr espBridge autocreate 1
attr espBridge combineDevices 0
attr espBridge group ESPEasy Bridge
attr espBridge room 9.0_System


define PulsStrom ESPEasy 192.168.12.40 80 espBridge Stromcount_StromImpuls
attr PulsStrom IODev espBridge
attr PulsStrom group Strom
attr PulsStrom presenceCheck 1
attr PulsStrom readingSwitchText 1
attr PulsStrom room 8.2_Energie
attr PulsStrom setState 3


define set_Stromverbrauch DOIF ([23:59])\
(setreading Strom Vorgestern [Strom:Gestern], \
setreading Strom Gestern [Strom:Heute], \
setreading Strom Monat [Strom_Statistik:Strom_zaehler_jetzt_EnergyMonth],\
setreading Strom zaehler_vortag [Strom:zaehler_jetzt])\
\
(set PulsStrom reboot) \
\
DOELSEIF ([00:01] and $mday==1) \
(setreading Strom Vormonat [Strom:Monat], \
setreading Strom Monat 0)
attr set_Stromverbrauch do always
attr set_Stromverbrauch group Strom
attr set_Stromverbrauch room 8.2_Energie
attr set_Stromverbrauch verbose 3


Help...!
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Skusi am 17 Mai 2017, 19:28:37
Hmm, keiner ne Idee ???
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Thorsten Pferdekaemper am 18 Mai 2017, 08:23:57
Hi,
was mir auffällt ist, dass Du zwei verschiedene Definitionen Deines DOIFs zeigst. Im zweiten steht "set PulsStrom reboot" in eigenen Klammern, also  (set PulsStrom reboot), beim ersten steht es mit den setreadings in denselben Klammern.
Keine Ahnung, was das bei DOIF macht, aber bei IF würde die zweite Definition wahrscheinlich gar nicht funktionieren.
Gruß,
   Thorsten
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Skusi am 19 Mai 2017, 12:53:58
Du hast Recht, das hat sich beim schreiben des Postings wohl überschnitten. Den ersten Code habe ich aus der Web Oberfläche und den 2. aus der fhem.cfg. Dazwischen habe ich kein save ausgeführt.

Beide Definitionen funktionieren aber bei DOIF. Mit der (set PulsStrom reboot) ist es möglich eine Verzögerung einzubauen. Mittlerweile habe ich es schon so versucht das ich mit folgender Schreibweise:

([23:59])
(setreading Strom Vorgestern [Strom:Gestern],
setreading Strom Gestern [Strom:Heute],
setreading Strom Monat [Strom_Statistik:Strom_zaehler_jetzt_EnergyMonth],
setreading Strom zaehler_vortag [Strom:zaehler_jetzt],
set PulsStrom reboot)
(set PulsStrom reboot)
(set PulsStrom reboot)

DOELSEIF ([00:02] and $mday==1)
(setreading Strom Vormonat [Strom:Monat],
setreading Strom Monat 0)


und einem wait 0,5,5:0

den reboot Befehl 3 mal im 5 sec Takt schicke. Leider ohne Erfolg.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Skusi am 22 Mai 2017, 11:57:52
So, nun glaube ich endlich den Fehler gefunden zu haben:

Es lag wohl am Passwortschutz des ESP. Seitdem ich das admin Passwort des ESPEasy entfernt habe, funktioniert der reboot.
Nun habe ich es auch wieder mir dem reboot Befehl des  ESPDevice Moduls laufen.

Meine manuell Tests haben wohl immer funktioniert weil ich auf dem ESP über einen 2. Browser Tab eingeloggt war. Nachdem der ESP sich wieder abgemeldet hatte ist der roboot Befehl wohl nicht durchgegangen, weil ich kein Passwort mit übermittelt habe (geht das eigentlich ? )

Ich beobachte weiter...
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Takero am 17 Juni 2017, 20:57:41
Hallo Zusammen,

ich bräuchte mal etwas Starthilfe zu diesem Projekt.

Ich habe einen B+G E-Tech DRT428DC-V3 Zähler installiert, soweit ich weiß ist der S0 Ausgang Potentialfrei.

Den Arduino Nano habe ich am Bus zwischen GND und D5.
Als Setup habe ich folgendes:

define AC ArduCounter /dev/ttyUSB1@38400
attr AC factor 500
attr AC interval 30 300
attr AC pinD5 falling pullup

Leider zählt er überhaupt nichts. So wie ich das verstehe wird mit "pinD5 falling pullup" der Pin D5 auf high gezogen und reagiert auf die fallende Flanke, bei jedem Impulse wird D5 auf GND gezogen, somit sollte gezählt werden.

Der Faktor sollte eigentlich auch stimmen bei 2000Imp/1kWh

Sieht einen einen Fehler?
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 17 Juni 2017, 21:09:28
Hi Takero,

läuft denn der Nano überhaupt? Gib mal ein list AC
Was sagt get AC info?


Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Takero am 17 Juni 2017, 21:12:02
Ja, laufen tut er.

M Status: ArduCounter V1.8

normal interval 30000

max interval 300000

min interval 2000

min count 1

pin 5 PCInt pin 21, iMode falling, no min len, count 0 (+0) in 110344 ms

Next report in 9118 Milliseconds




Flashen funktioniert auch tadellos.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 17 Juni 2017, 21:24:13
Passiert was wenn Du Pin5 manuell mit einem Draht mit Masse impulsartig verbindest? Er sollte dabei zählen.
Richtiges Pin verwendet?

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Takero am 17 Juni 2017, 21:51:56
Also per Hand funktioniert es . . . Wenn ich mit rising arbeite und statt GND 3V3 nehme kommt auch etwas raus, aber das passt nicht wirklich.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 17 Juni 2017, 22:16:35
Du weißt schon, das die S0 Schnittstelle nicht unipolar ist? Also + muss an Pin5 und - an Masse.
Ich arbeite auch mit rising.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Takero am 17 Juni 2017, 22:24:53
Zitat von: Otto123 am 17 Juni 2017, 22:16:35
Du weißt schon, das die S0 Schnittstelle nicht unipolar ist? Also + muss an Pin5 und - an Masse.

Bingo das war es  :-[

Danke!
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 17 Juni 2017, 22:26:26
Steht auch im Handbuch, der Ausgang ist ein optokoppler mit Open Kollektor Ausgang  ;)
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Fritz Muster am 14 August 2017, 09:26:53
Hallo in die Runde,

bei mir will das Attribute readingFactor nicht machen was ich mir vorstelle. Der Counter an sich funktioniert prima, die gezählten Impulse passen mit der Anzeige im Stromzähler. Nur wie gesagt klappt die Umrechnung mit dem readingFactor nicht. Das Kuriose ist, die Werte vom reading "hüpfen" wie es mir scheint nach belieben hin und her. Mal sind es 0.081, dann mal 0.135 dann springt er mal wieder auf 0.081 usw. Bin mir nicht zu 100% sicher, aber ich vermute das es aber immer die selben Werte sind, welche mal im reading stehen. Der Stromzähler ist ein Eltako WSZ12DE-32 A und liefert 2000 Imp/ kWh und hat eine Impulslänge von 50ms.

Hier ein list device
Internals:
   CFGFN
   DEF        /dev/ttyUSB2 /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH02KF7X-if00-port0@38400
   DeviceName /dev/ttyUSB2@38400
   FD         21
   Initialized 1
   NAME       S0CounterWP
   NOTIFYDEV  global
   NR         2637
   NTFY_ORDER 50-S0CounterWP
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.8
   VersionModule 4.7 - 18.2.2017
   buffer
   Readings:
     2017-08-12 22:55:43   S0EnergWp       583
     2017-08-12 22:55:43   S0EnergWp_kWh   1.707
     2017-08-12 13:40:51   power3          0.000
     2017-08-12 13:38:41   state           opened
Attributes:
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   pinD3      rising pullup 30
   readingFactor3 2000
   readingNameCount3 S0EnergWp
   readingNamePower3 S0EnergWp_kWh
   room       System
   userattr   pinD3 readingFactor3 readingNameCount3 readingNamePower3


Und noch die Ausgabe vom get info
M Status: ArduCounter V1.8

normal interval 30000

max interval 60000

min interval 2000

min count 1

pin 3 PCInt pin 19, iMode change, min len 30 ms rising, count 584 (+1) in 1876 ms Rej 0

  first at 1876, last at 1876, avg len 87603

Next report in 21594 Milliseconds


Der Arducounter läuft auf einem ArduinoNano mit FTDI Chip. Habe das Device jetzt auch schon 2-3 mal gelöscht und nochmal neu angelegt, leider ohne Erfolg.

Hat jemand eine Idee woran es evtl. liegen könnte.

Danke und Grüße.
Fritz
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 14 August 2017, 21:16:03
Hallo Fritz,

hast Du mal falling statt rising verwendet?

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 14 August 2017, 21:37:17
Hallo Fritz,

ich habe mir das mal so aufgeschrieben:
ZitatDas power Reading liefert den momentane Leistung am Zähler. Damit die stimmt muss auch der Faktor stimmen.
Mein Zähler SMD630 liefert 400 Impulse pro 1 kWh.
1 Impulse entspricht also 0,0025 kWh.
Um den Zählerstand in kWh zu ermittteln, muss man einfach die Anzahl der Impules durch die Zahl Impulse/kWh dividieren.
ArduCounter ermittelt den Wert für die momentane Leistung in Impulsen/h ((delta count) / (delta time) * factor). Liefert der Zähler 1 Impuls pro 1 W/h, dann erhält man mit dem Faktor 1000 den Wert in kW angezeigt. Da mein Zähler 1 Impuls pro 2,5 W/h liefert, muss ich 2500 (statt Standardwert 1000) als Faktor einstellen.
Danach würde ich bei Dir den readingFactor3 500 setzen und nicht 2000.

Erklärt jetzt sicher nicht Dein eigentliches Problem. Welches Reading meinst Du eigentlich mit hüpft? power3?

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Fritz Muster am 15 August 2017, 10:35:58
Zitat von: StefanStrobel am 14 August 2017, 21:16:03
hast Du mal falling statt rising verwendet?

Hatte auch mal bei der Fehlersuche / rumprobieren mit falling versucht. Dann waren aber die Zählimpulse nio. Kann aber durchaus sei, das der Arducounter durch das viele hin und her durcheinader war. Werde mal den Counter löschen und mit falling neu aufsetzen.

Danke für den Tipp.

Zitat von: Otto123 am 14 August 2017, 21:37:17
Welches Reading meinst Du eigentlich mit hüpft? power3?

Nein das Reading S0EnergWp_kWh "hüpft"

Auch Dir vielen Dank für Deine Anmerkung, obwohl das mit der Berechnung des Factors ich noch nicht nachvollziehen kann. Aber erstmal will ich das Problem mit dem readingfactor in den Griff bekommen.

Grüße Fritz
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 15 August 2017, 16:03:56
Hallo Fritz,

aber readingNamePower3 S0EnergWp_kWh ist doch power3?!
ZitatreadingNamePower[0-9]+
Change the name of the power reading powerX to something more meaningful.

Und auch wenn Du es so benennst power3 liefert Dir Momentanleistung in Watt und nicht kWh!

Die kWh liefert Dir dein Zähler in Impulsen und bei Dir entspricht 1 Impuls 0,0005 kWh.

Ich hätte ja spontan behauptet die Sprünge kommen einfach von den digitalen Restfehlern bei der Berechnung, aber das kann eigentlich bei 2000 Impulsen  pro kWh nicht sein.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Fritz Muster am 16 August 2017, 10:16:04
Zitat von: Otto123 am 15 August 2017, 16:03:56
Und auch wenn Du es so benennst power3 liefert Dir Momentanleistung in Watt und nicht kWh!

Danke Otto, dann habe ich den Fehler. Ich bin davon ausgegangen das das power3 reading mir die kWh (mit Hilfe des Factors) ausgibt. Daher auch meine Benennung des readings (S0EnergWp_kWh)  ;).

Habe somit bei dem reading power3 ein stetig steigenden Wert erwartet (kummulierte kWh`s). Da es sich aber um die momentane Leistung handelt machen die angezeigten Werte natürlich Sinn und scheinen korrekt zu sein.

Also muss ich mir mit einem userreading den Wert für die Arbeit (kWh) selber bauen, Richtig?

Nochmal Danke und Grüße
Fritz
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 16 August 2017, 10:23:56
Moin Fritz,

rüschdüsch  ;D ;D ;D

So etwa -> attr userReadings S0CounterWP Zaehler monotonic {ReadingsVal("S0CounterWP","pin3",0)/2000}
Dann gehst Du vor Deinen Zähler liest den Zählerstand ab und machst setreading S0CounterWP Zaehler <Wert> in und Zukunft sollte alles synchron laufen.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: FunkOdyssey am 19 August 2017, 22:26:45
Ich habe auch das Problem, dass sich der Counter bei jedem Pi-Neustart zurücksetzt.
Man kann das also mit nem 10uf-Kondensator lösen?
Aber warum wird das Reading überhaupt überschrieben? Sind die Werte nicht im fhem.state und werden wiederhergestellt? Warum lässt man es dann zu, dass der Nano die Werte nullt?
Oder wo liegt mein Gedankenfehler?
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 19 August 2017, 23:56:43
https://forum.fhem.de/index.php/topic,19285.msg554986/topicseen.html#msg554986
Und dann dort etwas weiter lesen....
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: FunkOdyssey am 20 August 2017, 00:50:07
Ja, das kannte ich schon. Darum hatte ich das mit dem Kondensator auch erwähnt.
Ich frage mich nur, warum sich der Counter davon irritieren lässt, da man in FHEM doch alles hat. Der Arduino muss doch nur inkrementieren. Der eigentliche Wert steckt doch im Reading und nicht im Arduino, oder?
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 20 August 2017, 00:57:22
ZitatDer interne Zähler ist ja unabhängig von der Ausgabe der Impulse je Intervall und alle paar Wochen läuft der sowieso über.

In dem Du das userreadings wie oben erwähnt anlegst, passiert ja genau das. Die gezählten Impulse werden einfach in FHEM inkrementiert. Dann steckt der eigentliche Wert im Reading.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: FunkOdyssey am 20 August 2017, 14:24:47
Oh man. Ich war die ganze Zeit auf die Hardware fixiert und sehe jetzt erst, dass in jedem zweiten Post über userreadings die Rede ist. Sorry. Das habe ich glatt übersehen.

Mein Counter-Reading lautet "Gas".

Ich hoffe, dass der folgende Ansatz funktioniert.

userReadings Zaehler:Gas.* monotonic {ReadingsVal($name,"Gas",0)}

Ich wundere mich über den modifier "monotonic". Laut CommandRef:

Zitatmonotonic: wenn die Differenz zw. dem aktuellen und dem vorherigen Wert positiv ist wird diese Differenz zum Reading addiert. Damit lässt sich von einem Zähler der bei Stromverlust zurückgesetzt wird ein monoton wachsender Zähler ableiten.

Den habe ich zuvor noch nie gesehen. Hoffentlich bewirkt er Wunder. :-)




Wieso beschäftige ich mich eigentlich immer in der Sommerzeit mit dem Gas-Zähler? :-)
Da muss man tagelang auf eine Veränderung warten. Eigentlich gut - aber schlecht zum Debuggen.
Da muss der Magnet halt herhalten. :-)
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: FunkOdyssey am 21 September 2017, 12:17:36
Ich habe nun seit etwa einem Monat den ArduCounter im Betrieb. Im Vergleich zu vorher (GPIO) habe ich endlich aussagekräftige Plots und der GasCalculator rechnet nun auch besser. :-)

Aber irgendwie laufen FHEM-Zähler und der echte Gaszähler (Elster BK-4M) auseinander.


Datum FHEM Zähler Differenz
09.09.2017 3953,826 3953,765 0,061
16.09.2017 3957,156 3957,107 0,049
18.09.2017 3957,666 3957,614 0,052


Mein ArduCounter:
Internals:
   DEF        /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@38400
   DeviceName /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@38400
   FD         4
   Initialized 1
   NAME       ArduCounter
   NOTIFYDEV  global
   NR         592
   NTFY_ORDER 50-ArduCounter
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.8
   VersionModule 4.71 - 9.5.2017
   buffer
   READINGS:
     2017-09-21 12:14:24   Gas             0
     2017-09-21 12:14:24   Zaehler         867
     2017-09-21 12:14:24   power4          0.000
     2017-09-21 09:39:16   state           opened
Attributes:
   factor     100
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 300
   pinD4      falling pullup
   readingNameCount4 Gas
   userReadings Zaehler:Gas.* monotonic {ReadingsVal($name,"Gas",0)}
   userattr   pinD4 readingNameCount4 readingNamePower4


Hat jemand einen Tipp, wie ich das in den Griff bekommen kann? Vielen Dank.




Zu dieser Jahreszeit hat man ja nur wenige Zyklen, wo nur für kurze Zeit Gas benötigt wird. Im Thread habe ich aus ausführlichen Ausführungen (https://forum.fhem.de/index.php/topic,19285.msg513028.html#msg513028) zu den verschiedenen Intervallen (normal max min mincout) gelesen.

Ich versuche es mal mit: interval 60 600 10

Nur mincount habe ich noch nicht verstanden.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 23 September 2017, 13:42:24
Hallo zusammen

Bin gerade dabei mich mit dem ArduCounter vertraut zu machen. Momentan noch mit einem Versuchsaufbau auf einem Breadboard. Ich verwende einem 10uF Kondensator, Sketch V1.8 und die S0 Schnittstelle simuliere momentan mit einem Taster.

Dabei ist mir aufgefallen, dass jeweils immer der erste Impuls (nach Reset oder Stromunterbruch) ignoriert wird. Ab dem zweiten Impuls wird dann zuverlässig gezählt.
Ist dieses (? Fehl- ?) Verhalten auch sonst noch jemandem aufgefallen?

@ FunkOdyssey: Könnte dies deine Abweichungen erklären?

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 23 September 2017, 14:18:01
Hallo birdy,

wenn der erste Impuls scheinbar nicht gezählt wird, könnte das an einer falschen Polarität liegen,
so dass nicht die Impulse sondern die Pausen zwischen den Impulsen gezählt werden.
Poste doch mal Deine Konfiguration und ein Log mit Verbose 5...

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 23 September 2017, 14:23:08
Hallo FunkOdyssey,

weicht der Zählerstand im laufenden Betrieb ab oder hattest Du Unterbrechungen (Fhem-Neustart o.ä.) dazwischen?

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: FunkOdyssey am 23 September 2017, 20:15:01
Hmm. Ich hatte definitiv einige Neustarts dazwischen. Ich halte mein FHEM fast tagaktuell.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 23 September 2017, 23:29:24
Zitat von: StefanStrobel am 23 September 2017, 14:18:01
...könnte das an einer falschen Polarität liegen,

Hallo Stefan

An der falschen Polarität von was?

Konfig:

Internals:
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         4
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         21
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.8
   VersionModule 4.71 - 9.5.2017
   buffer
   READINGS:
     2017-09-23 23:02:55   pin4            0
     2017-09-23 23:02:55   power4          0.000
     2017-09-23 11:44:17   state           opened
Attributes:
   factor     10000
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   pinD4      rising pullup
   userattr   pinD4
   verbose    5



Testablauf

23:18:30   Reset ausgelöst
23:18:40   1. Impuls
23:18:50   2. Impuls

Log:


2017.09.23 23:18:30 3: Opening AC device /dev/ttyUSB0
2017.09.23 23:18:30 3: Setting AC serial parameters to 38400,8,N,1
2017.09.23 23:18:30 3: AC device opened
2017.09.23 23:18:30 5: SW: r

2017.09.23 23:18:31 3: AC: device sent setup message, V1.8
2017.09.23 23:18:31 4: AC: device reported firmware 1.8
2017.09.23 23:18:31 3: AC: ConfigureDevice calls Attr with pinD4 rising pullup
2017.09.23 23:18:31 5: SW: 4,3,1a

2017.09.23 23:18:31 3: AC: device: defined pin 4 PCInt pin 20, iMode rising, no min len, count 0 (+0) in 0 ms
2017.09.23 23:19:30 4: AC: Pin 4 (pin4) count 1 (diff 1) in 10.280s, result 3.502
2017.09.23 23:19:30 5: AC: interval 23:19:20 until 23:19:30
2017.09.23 23:19:30 5: AC: set readings power4 to 3.502, timeDiff4 to 10280 and countDiff4 to 1
2017.09.23 23:19:30 5: AC: Device Time 41953.51, Drift -0.141s in 269.974s, -0.05%


Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 24 September 2017, 11:00:18
Hallo birdy,

Die ArduCounter Firmware beginnt beim ersten Impuls mit der Messung und hat beim zweiten Impuls erstmals ein Intervall, mit dem gerechnet werden kann.
Der erste Impuls geht daher in der Zählung verloren, was aber normalerweise nicht weiter interessant ist, da vor dem Neustart ja typischerweise noch viel mehr Impulse nicht gezählt werden können
(wenn ArduCounter nicht läuft bzw. Fhem gerade neu startet, kann nicht gezählt werden).

Wenn die Firmware den ersten Impuls schon berücksichtigen würde, würde das die Messung ungenauer machen, da dann das zugehörige Intervall unbekannt ist bzw. Impulse / Intervall nicht korrekt ist.

Man könnte natürlich versuchen abzuschätzen, wie viele Impulse nach einem Neustart unter Annahme des aktuellen Energieverbrauchs bis zum Weiterzählen verpasst worden sein könnten... Aber ich denke das ist so oder so falsch.

Zur Polarität:
Da ist vor allem dann interessant, wenn Du die Pulslängen überwachst (z.B. 30 als minimale Pulslänge um Störsingnale ignorieren zu können). Dann gibt rising oder falling an, ob die Impulse auf 0 gehen oder 1.
wenn Du "pullup" angegeben hast, vermute ich, dass Dein Zähler als Impuls den Ausgang auf Masse zieht. Das ist auch bei meinen Stromzählern der Fall.
Mit "rising sagst Du aber dass die steigende Flanke gezählt werden soll. Das wäre gerade falsch herum und Du würdest Pausen statt Impulse überwachen.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 24 September 2017, 15:43:09
Hallo,

ich hab mal ein neues Feature zum Testen, mit dem evt. die monotonic user readings für den ArduCounter überflüssig werden und der Zählerstand auch beim Restart nicht mehr so weit abdriftet:

Wenn verboseReadingsX (X für den Pin) auf 1 steht, wird nun auch ein Reading longCountX erzeugt (kann aber mit readingNameLongCount umbenannt werden).
Dieses Reading zeigt nicht den internen Zähler im Arduino sondern addiert immer die Differenzen auf.
Wenn der Arduino sich mit seiner Setup-Meldung meldet, ermittelt das Modul die Zeit seit der letzten Zähler-Meldung und der neuen Setup-Meldung und versucht die ausgelassenen Pulse zu schätzen und addiert auch diese Zahl. Korrekt wird sie vermutlich nicht sein...

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: FunkOdyssey am 24 September 2017, 20:29:54
Ich probiere das morgen mal aus.
Ich kann mir aber irgendwie nicht vorstellen, dass ein Neustart die Differenzen vollständig verursacht. Ich habe am Tag gerade einmal zwei-drei Zyklen wo der Gaszähler kurz anläuft. Da muss ich schon richtig Pech haben, dass ich genau dann mein FHEM neu starte. Da stehe ich meistens in der Dusche. 😄

Okay, es wird vielleicht der erste Impulse nicht gezählt, weil es ohne Zeitdelta halt kein Intervall geben kann. Ich werde die Zähler gleich mal wieder angleichen und morgen weiterschauen.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 25 September 2017, 23:45:31
Hallo Stefan

Ui ja, das hatte ich so nicht bedacht. Der Impuls ist wenn der Ausgang kurzzeitig auf 0=Masse gezogen wird. Das ist bei der S0-Schnittstelle wie auch bei meinem Versuchsaufbau mit dem Taster so. Der Impuls beginnt gem. meinem Verständnis mit einer fallenden Flanke und endet mit einer steigenden. Ist es da wirklich von Bedeutung ob bei der steigenden Flanke, der fallenden oder irgendwo dazwischen gezählt wird?

Wenn man die Impulslänge überwachen möchte (was ich eigentlich möchte) kann man natürlich nicht schon bei der ersten Flanke zählen. Zu diesem Zeitpunkt ist ja noch nicht bekannt ob der Impuls auch die notwendigen 30ms andauern wird. Man muss also zwischendurch, sobald die 30ms erreicht sind, oder am Ende bei steigender Flanke zählen, sofern mind. 30ms verstrichen sind.

Der Energieversorger hat mich nicht direkt an die S0-Schnittstelle des Zählers gelassen. Der hatte Angst mein Nano könnte den Zähler beschädigen. Somit musste der Installateur ein Relais dazwischen schalten. Wie lange diese Relaisimpulse dauern ist mir momentan noch nicht bekannt. Dazu muss ich erst noch ein passendes Messgerät organisieren.

An dieser Stelle ein herzliches Dankeschön für die Tolle Arbeit die Du bisher geleistet hast.


Wir haben doch einen Energiezähler der einfach ,,nur" Energie zählt. Dabei entspricht jeder Impuls einer definierten Grösse bei mir z.B. 0.01 KWh. Warum man hier den ersten Impuls ignoriert ist mir nicht klar. Ich kann keinen Sinn dahinter erkennen.

Das Andere ist, wir würden gerne die ,,momentane" Leistung im KW kennen. Dabei muss dann die Energie auf eine bestimmte Zeitspanne aufgerechnet werden. Dazu ist ein Startschuss erforderlich (1. Impuls) und natürlich ist erst ab dem zweiten Impuls eine Leistungsangabe möglich. In diesem Zusammenhang wird eine Leistungsangabe ja sowieso immer indirekt ermittelt und ist ein Durchschnitt über ein bestimmtes Zeitfenster. Abhängig davon wie man die Intervalle legt und wann der nächste Impuls kommt oder kommen wird. Das hast Du ja in einem Deiner ersten Post ausführlich beschrieben. Würde die Firmware bereits den ersten Impuls zählen würde die ,,Messung" genauer, die errechnete Leistung könnte wie von Dir angesprochen etwas ungenauer werden. Aber dies wäre doch nur für die sehr kurze Dauer der ersten Messperiode für die Leistung von Bedeutung. Meiner Ansicht nach absolut vernachlässigbar, im Vergleich zur Energiemessung. Man könnte sogar überlegen im ersten Intervall die Leistung wegzulassen. Bei der Energiemessung schleppt man aber jede einzelne Abweichung (kumulierend) für immer mit :(

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Markus Bloch am 26 September 2017, 09:26:49
Zitat von: birdy am 25 September 2017, 23:45:31
Warum man hier den ersten Impuls ignoriert ist mir nicht klar. Ich kann keinen Sinn dahinter erkennen.

Weil Du bei dem ersten Impuls nicht die genaue Zeit zum vorrangegangenen Impuls kennst (wo ja noch garnicht mitgelauscht wurde). Wenn Du jetzt den ersten Impuls direkt zählst und der kommt nur wenige Sekunden nach dem Start, dann hast du plötzlich einen hohen Stromverbrauch anliegen, obwohl dem in Wirklichkeit nicht so ist. Daher ignoriert man den ersten Impuls, aber zählt von da an die Zeit bis zum zweiten Impuls. Dann hat man einen validen Wert

Gruß
Markus
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 26 September 2017, 11:29:13
Zitat von: Markus Bloch am 26 September 2017, 09:26:49
.... dann hast du plötzlich einen hohen Stromverbrauch anliegen,....

Hallo Markus

Was verstehst Du unter Stromverbrauch?

Bei mir wird der ,,Stromverbrauch" vom ,,Stromzähler" gezählt und der ermittelt was ich dem EW zahlen muss. Das wird nun mal in KWh gemessen, schau doch mal auf deinen Zähler. Das was Du meinst ist wohl die (momentane) Leistung. Bezieht man kurzfristig eine hohe Leistung führt dies noch lange nicht zu einem hohen ,,Stromverbrauch" und in der Folge zu hohen Kosten. Wie bereits erklärt (mein letzter Post war möglicherweise etwas (zu) lange) kann die Leistung natürlich erst ab den zweiten Impuls gerechnet werden. Für den Energieverbrauch, dass was der ,,Stromzähler" zählt, macht es aber absolut keinen Sinn irgendeinen Impuls zu ignorieren.

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: FunkOdyssey am 26 September 2017, 11:48:42
Zitat von: StefanStrobel am 24 September 2017, 15:43:09
Hallo, ich hab mal ein neues Feature zum Testen, mit dem evt. die monotonic user readings für den ArduCounter überflüssig werden und der Zählerstand auch beim Restart nicht mehr so weit abdriftet:
Wenn verboseReadingsX (X für den Pin) auf 1 steht, wird nun auch ein Reading longCountX erzeugt (kann aber mit readingNameLongCount umbenannt werden).
Dieses Reading zeigt nicht den internen Zähler im Arduino sondern addiert immer die Differenzen auf.
Wenn der Arduino sich mit seiner Setup-Meldung meldet, ermittelt das Modul die Zeit seit der letzten Zähler-Meldung und der neuen Setup-Meldung und versucht die ausgelassenen Pulse zu schätzen und addiert auch diese Zahl. Korrekt wird sie vermutlich nicht sein...

Kurzer Zwischenbericht: Ich habe meinen ArduCounter ein wenig umgebaut und die Umbennenung der Readings entfernt. Also nicht mehr vergleichbar mit den vorherigen Posts.

Internals:
   DEF        /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@38400
   DeviceName /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@38400
   FD         5
   Initialized 1
   NAME       ArduCounter
   NOTIFYDEV  global
   NR         592
   NTFY_ORDER 50-ArduCounter
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.8
   VersionModule 4.71 - 9.5.2017
   buffer
   CounterInterpolated:
   READINGS:
     2017-09-26 11:29:13   Zaehler         1023
     2017-09-26 11:29:13   countDiff4      0
     2017-09-26 11:29:13   lastMsg4        R4 C156 D0 T600000 N419047057

     2017-09-26 11:29:13   long4           58
     2017-09-26 11:29:13   pin4            156
     2017-09-26 11:29:13   power4          0.000
     2017-09-26 11:29:13   reject4
     2017-09-21 15:06:43   state           opened
     2017-09-26 11:29:13   timeDiff4       600000
Attributes:
   factor     100
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 600 10
   pinD4      falling pullup
   readingFactor4 100
   userReadings Zaehler:pin4.* monotonic {ReadingsVal($name,"pin4",0)}
   userattr   pinD4 readingFactor4 readingNameCount4 readingNamePower4 verboseReadings4
   verboseReadings4 1


Mit "longCountX" meinst du das neue Reading "longX", oder? (-Count)
Mir fällt auf, dass beide Werte von pin4 und long4 nicht mehr zurückgesetzt werden. Mein userReading 'Zaehler' habe ich noch drin gelassen. Quasi als temporäres Backup-Reading.
Nachtrag: Beim nächsten Intervall wurde pin4 genullt. long4 hat seine Werte behalten. Also exakt so wie du es beschrieben hast.

Am Rande:
Ich habe den Gaszähler immer schon mit einem 13 kOhm Widerstand auf 3,3 Volt gezogen. So hatte ich das damals bei der GPIO-Variante auch. Das sollte ich doch belassen, oder? "falling pullup" ist doch dennoch korrekt, oder?

Ich hatte gestern übrigens innerhalb von 4 Stunden eine Abweichung von 0,014 kWh zwischen dem ArduCounter und Zähler. Es gab zu dieser Zeit keinen Neustart.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 26 September 2017, 20:52:41
Hallo birdy,

die neue Version, die ich gepostet habe, hat ein neues Reading, bei dem auch der erste Impuls immer mitgezählt wird.
Probier's doch mal aus.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 26 September 2017, 21:01:05
Hallo FunkOdyssey,

pullup kannst Du weglassen wenn Du extern schon einen pullup-Widerstand angeschlossen hast. Sollte aber auch kein Problem sein.
Wenn auch ohne Neustart Impulse verloren gehen, kann es eigentlich kein Software-Problem mehr sein. Das hätte Otto schon bemerkt ;-)

Vielleicht kommen Impulse zwischendurch mal zu schnell für den Arduino oder die Impulse sind gelegentlich zu schwach. Es gab auch schon Probleme mit defekten Arduinos.

Oder gehen gar keine Impulse verloren sondern die Berechnung des Stromverbrauchs ist das Problem?
Kannst Du zum Testen einen anderen Impuls-Zähler parallel anschließen?

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 27 September 2017, 22:41:52
Zitat von: StefanStrobel am 26 September 2017, 20:52:41
Probier's doch mal aus.

Funktioniert ausgezeichnet,
Korrektur...
Stefan, wo genau sollte ich das Reading sehen welches ab dem ersten Impuls zählt?

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 29 September 2017, 23:03:56
Mein Problem: Sobald ich verboseReadings4 auf 1 setze geht nichts mehr, aus die Maus :(
Der Webinterface ich nach ein paar Sekunden nicht mehr erreichbar. Wahrscheinlich beim Übergang zum nächsten Intervall.
Was mache ich falsch?
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 29 September 2017, 23:15:55
Hallo Birdy,

poste doch bitte Deine aktuelle Konfiguration und einen Auszug aus dem Log mit verbose 5 für den relevanten Zeitraum.

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 02 Oktober 2017, 22:33:51
Zitat von: StefanStrobel am 29 September 2017, 23:15:55
poste doch bitte Deine aktuelle Konfiguration und einen Auszug aus dem Log mit verbose 5 für den relevanten Zeitraum.

Hier die Konfiguration, natürlich noch bevor ich verboseReadings4 auf 1 gesetzt habe.

Internals:
   CounterResetTime 1506974919.01365
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         4
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         21
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.8
   VersionModule 4.8 - 24.9.2017
   buffer
   READINGS:
     2017-10-02 22:12:04   pin4            16
     2017-10-02 22:12:04   power4          0.033
     2017-10-02 22:08:32   state           opened
Attributes:
   factor     100
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   pin4       falling pullup
   userattr   pin4
   verbose    5


Dann habe ich ca. 22:13  verboseReadings4 auf 1 gesetzt..

2017.10.02 22:09:25 3: AC: Sending info command to device
2017.10.02 22:09:25 3: AC: device: normal interval 30000
2017.10.02 22:09:25 3: AC: device: max interval 60000
2017.10.02 22:09:25 3: AC: device: min interval 2000
2017.10.02 22:09:25 3: AC: device: min count 1
2017.10.02 22:09:25 3: AC: device: pin 4 PCInt pin 20, iMode falling, no min len, count 0 (+0) in 6654 ms
2017.10.02 22:09:25 3: AC: device: Next report in 8782 Milliseconds
2017.10.02 22:09:30 3: AC: Sending info command to device
2017.10.02 22:09:30 3: AC: device: normal interval 30000
2017.10.02 22:09:30 3: AC: device: max interval 60000
2017.10.02 22:09:30 3: AC: device: min interval 2000
2017.10.02 22:09:30 3: AC: device: min count 1
2017.10.02 22:09:30 3: AC: device: pin 4 PCInt pin 20, iMode falling, no min len, count 3 (+3) in 11363 ms
2017.10.02 22:09:30 3: AC: device:   first at 39832, last at 51195, avg len 0
2017.10.02 22:09:30 3: AC: device: Next report in 3341 Milliseconds
2017.10.02 22:09:34 1: PERL WARNING: Use of uninitialized value $longCount in concatenation (.) or string at ./FHEM/98_ArduCounter.pm line 642.
2017.10.02 22:10:34 4: AC: Pin 4 (pin4) count 9 longCount  (diff 5) in 56.300s, result 0.032
2017.10.02 22:10:34 5: AC: interval 22:09:37 until 22:10:34, First at 47437
2017.10.02 22:10:34 5: AC: set readings power4 to 0.032, timeDiff4 to 56300 and countDiff4 to 5
2017.10.02 22:10:34 5: AC: Device Time 120, Drift -0.035s in 59.965s, -0.06%
2017.10.02 22:11:04 4: AC: Pin 4 (pin4) count 12 longCount  (diff 3) in 30.580s, result 0.035
2017.10.02 22:11:04 5: AC: interval 22:10:33 until 22:11:04, First at 29313
2017.10.02 22:11:04 5: AC: set readings power4 to 0.035, timeDiff4 to 30580 and countDiff4 to 3
2017.10.02 22:11:04 5: AC: Device Time 150, Drift -0.053s in 89.947s, -0.06%
2017.10.02 22:12:04 4: AC: Pin 4 (pin4) count 16 longCount  (diff 4) in 43.618s, result 0.033
2017.10.02 22:12:04 5: AC: interval 22:11:20 until 22:12:04, First at 42695
2017.10.02 22:12:04 5: AC: set readings power4 to 0.033, timeDiff4 to 43618 and countDiff4 to 4
2017.10.02 22:12:04 5: AC: Device Time 210, Drift -0.088s in 149.912s, -0.06%
2017.10.02 22:13:04 4: AC: Pin 4 (pin4) count 16 longCount  (diff 0) in 81.696s, result 0.000
2017.10.02 22:13:04 5: AC: interval 22:11:42 until 22:13:04
2017.10.02 22:13:04 5: AC: set readings power4 to 0.000, timeDiff4 to 81696 and countDiff4 to 0
2017.10.02 22:13:04 5: AC: Device Time 270, Drift -0.123s in 209.877s, -0.06%
Illegal division by zero at ./FHEM/98_ArduCounter.pm line 625.
2017.10.02 22:15:06 1: Including fhem.cfg
2017.10.02 22:15:06 3: telnetPort: port 7072 opened
2017.10.02 22:15:06 3: WEB: port 8083 opened
2017.10.02 22:15:06 3: WEBphone: port 8084 opened
2017.10.02 22:15:06 3: WEBtablet: port 8085 opened
2017.10.02 22:15:06 2: eventTypes: loaded 75 events from ./log/eventTypes.txt
2017.10.02 22:15:06 2: VCONTROL300: Using USB device
2017.10.02 22:15:06 3: VCONTROL300: Define open DATEI 'VPlusHO1_300.cfg'
2017.10.02 22:15:06 3: VCONTROL300: Opening file 'VPlusHO1_300.cfg'
2017.10.02 22:15:06 3: VCONTROL300: File 'VPlusHO1_300.cfg' refreshed
2017.10.02 22:15:06 3: VCONTROL300: Using protocol 300
2017.10.02 22:15:07 1: Including ./log/fhem.save
2017.10.02 22:15:07 3: WARNING: unsupported character in reading Temp-Aussen? (not A-Za-z/\d_\.-), notify the VCONTROL300 module maintainer.
2017.10.02 22:15:07 5: AC: Notify called with events: INITIALIZED, open device and set timer to send hello to device
2017.10.02 22:15:07 3: Opening AC device /dev/ttyUSB0
2017.10.02 22:15:07 3: Setting AC serial parameters to 38400,8,N,1
2017.10.02 22:15:07 3: AC device opened
2017.10.02 22:15:07 1: usb create starting
2017.10.02 22:15:07 3: Probing CUL device /dev/ttyAMA0
2017.10.02 22:15:07 3: Probing TCM_ESP3 device /dev/ttyAMA0
2017.10.02 22:15:07 3: Probing ZWDongle device /dev/ttyAMA0
2017.10.02 22:15:08 3: Probing FRM device /dev/ttyAMA0
2017.10.02 22:15:13 1: usb create end
2017.10.02 22:15:13 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no associated allowed device with basicAuth. telnetPort has no associated allowed device with password/globalpassword.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2017.10.02 22:15:13 0: Featurelevel: 5.8
2017.10.02 22:15:13 0: Server started with 11 defined entities (fhem.pl:15112/2017-09-21 perl:5.020002 os:linux user:fhem pid:624)
2017.10.02 22:15:13 3: AC: sending h(ello) to device to ask for version
2017.10.02 22:15:13 5: SW: h

2017.10.02 22:15:13 3: VCONTROL300: USB connection opened
2017.10.02 22:15:13 3: Opening Heizung device /dev/ttyUSB1
2017.10.02 22:15:13 3: Can't open /dev/ttyUSB1: Datei oder Verzeichnis nicht gefunden
2017.10.02 22:15:13 2: Attempt to write to disconnected device.
2017.10.02 22:15:13 3: AC: device sent setup message, V1.8
2017.10.02 22:15:13 4: AC: device reported firmware 1.8
2017.10.02 22:15:13 3: AC: ConfigureDevice calls Attr with pin4 falling pullup
2017.10.02 22:15:13 5: SW: 4,2,1a

2017.10.02 22:15:13 3: AC: device replied to hello, V1.8
2017.10.02 22:15:13 4: AC: device reported firmware 1.8
2017.10.02 22:15:13 3: AC: ConfigureDevice calls Attr with pin4 falling pullup
2017.10.02 22:15:13 5: SW: 4,2,1a

2017.10.02 22:15:13 3: AC: device: defined pin 4 PCInt pin 20, iMode falling, no min len, count 0 (+0) in 0 ms
2017.10.02 22:15:13 3: AC: device: defined pin 4 PCInt pin 20, iMode falling, no min len, count 0 (+0) in 8 ms


Kurz darauf habe ich den Pi frisch gestartet weil das Webinterface von FHEM nicht mehr erreichbar war.

Mach ich etwas falsch?
So wie ich verstanden habe muss man verboseReadingsX au 1 setzen um ein Reading longCount zu erzeugen.

Schon mal vielen Dank für Deine Hilfe.

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: FunkOdyssey am 04 Oktober 2017, 12:40:59
Zitat von: StefanStrobel am 26 September 2017, 21:01:05
Oder gehen gar keine Impulse verloren sondern die Berechnung des Stromverbrauchs ist das Problem?

Ich habe die Werte im Gaszähler, im ArduCounter und im GasCalculator-Device manuell überprüft und kann bestätigen, dass es nicht am GasCalculator-Device und dann auch vermutlich nicht am ArduCounter liegt. Fakt ist, dass die Impulse irgendwie nicht immer 100%ig erkannt werden.

Zitat von: StefanStrobel am 26 September 2017, 21:01:05
Kannst Du zum Testen einen anderen Impuls-Zähler parallel anschließen?

Leider habe ich keinen zweiten Zähler. Die Investition würde ich mir auch gerne ersparen.

Zitat von: StefanStrobel am 26 September 2017, 21:01:05
Vielleicht kommen Impulse zwischendurch mal zu schnell für den Arduino oder die Impulse sind gelegentlich zu schwach. Es gab auch schon Probleme mit defekten Arduinos.

Ottos Erfahrung mit einem defekten Arduino hatte ich gelesen. Ich habe aber bereits unterschiedliche Ardus getestet.
Ich könnte mir vorstellen, dass es irgendetwas mit den Flanken und dem PullUp zu tun hat. Gab es nicht auch Wege über Kondensatoren anstatt über PullUp-Widerstände? Kann da jemand eine Empfehlung aussprechen?

Hat irgendjemand den ArduCounter an einem Elster Gas Meter BK-G4M im Einsatz?
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 04 Oktober 2017, 20:40:04
Hallo birdy,

Du hast einen Bug gefunden.
Neue Version kommt ...

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 04 Oktober 2017, 21:35:00
Zitat von: StefanStrobel am 04 Oktober 2017, 20:40:04
Neue Version kommt ...

Ausgezeichnet, schon mal vielen Dank.

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: AxelSchweiss am 04 Oktober 2017, 22:19:12
Hi
Immer wenn ich FHEM neu starte wird der Counter wieder auf 0 gesetzt.
Mach ich da was falsch oder muss ich noch etwas einstellen?
Meine momentane Config:
define ArduCounter ArduCounter /dev/ttyUSB0
attr ArduCounter userattr pinD5
attr ArduCounter factor 15
attr ArduCounter flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
attr ArduCounter interval 10 60
attr ArduCounter pinD5 rising pullup


Die Modulversion ist $Id: 98_ArduCounter.pm 15148 2017-09-28 18:10:35Z StefanStrobel
Die Version vom Sketch ist 1.8

Ansonsten ist FHEM uptodate


Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 04 Oktober 2017, 23:37:54
Zitat von: AxelSchweiss am 04 Oktober 2017, 22:19:12
Hi
Immer wenn ich FHEM neu starte wird der Counter wieder auf 0 gesetzt.
die Beschreibung gab es schon mal viel weiter vorn. Liegt am Reset des Arduino nano.

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: AxelSchweiss am 05 Oktober 2017, 00:06:09
Ah .. Danke .. habe ich nicht gefunden.
Mal sehen ob ich den Code so ändern kann das er die Werte ins EEPROM schreibt ... programmieren is ja nicht so meins  :)
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: AxelSchweiss am 05 Oktober 2017, 00:08:06
Moment ... dann müsste es doch mit einem Arduino Micro und einem FTDI Wandler funktionieren ... mal probieren
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 05 Oktober 2017, 00:10:09
lohnt sich nicht. Der Zähler läuft eh irgendwann über.
Mach ein userreadings mit monotonic BeispielZaehlerHzg monotonic {ReadingsVal("AC","pin4",0)/400}

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 05 Oktober 2017, 20:27:53
... oder nimm die neue Version des Fhem-Moduls, die hat einen zusätzlichen Zähler, der weiterzählt und beim Neustart nicht auf 0 geht.
(verboseReadings muss dafür je Zähler auf 1 gesetzt sein)
Anbei eine Version, die hoffentlich keine neuen Bugs hat ;-)

Wenn keine neuen Probleme auftreten, checke ich die Version wieder ein.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 05 Oktober 2017, 22:49:10
Hallo Stefan

Das Webinterface funktioniert nun auch wenn ich verboseReadingsX auf  1 setze.

Internals:
   CounterResetTime 1507233774.81938
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         4
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         21
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.8
   VersionModule 4.9 - 3.10.2017
   buffer
   CounterInterpolated:
     4          1
   READINGS:
     2017-10-05 22:04:24   countDiff4      2
     2017-10-05 22:04:24   lastMsg4        R4 C2 D2 T4840 N90522 F0 L4840

     2017-10-05 22:04:24   long4           54
     2017-10-05 22:04:24   pin4            2
     2017-10-05 22:04:24   power4          0.149
     2017-10-05 22:04:24   reject4
     2017-10-05 22:02:52   state           opened
     2017-10-05 22:04:24   timeDiff4       4840
Attributes:
   factor     100
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   pin4       falling pullup
   userattr   pin4 verboseReadings4
   verbose    5
   verboseReadings4 1


Ich habe jetzt auch das Reading longX welches nach einen Reset munter weiter zählt.
Aber der erste Impuls wir weiterhin unterschlagen.

Was muss ich beachten, damit jeweils auch der erste Impust gezählt wird?

Ich habe immer noch einen Versuchsaufbau mit Impulsgeber= Taster
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 06 Oktober 2017, 21:05:09
Hallo birdy,

wenn Du verboseReadings das erste mal auf 1 setzt dann wird der erste Impuls noch für den Start der Messung verwendet und nicht gezählt. Sobald aber einmal das Reading existiert, sollte auch nach einem Restart von Fhem jeder Impuls gezählt werden.

Anbei nochmal eine neue Version, in der auch der allererste Impuls gezählt wird wenn verboseReadings das erste mal definiert wurde.

Schau doch mal ob das bei Dir jetzt auch so klappt.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 07 Oktober 2017, 17:02:04
Hallo Stefan

Vielen Dank für Deine Bemühungen.

Ich konnte das folgende Verhalten feststellen. Dieses lässt sich auch jederzeit zuverlässig reproduzieren. Meine manuellen Impulse sehen meiner Meinung nach ,,sauber" aus, so dass davon eigentlich kein Problem ausgehen sollte.

Wo wird der erste Impuls unterdrückt, geschieht dies im der Firmware des Arduino oder im AdruCounter Modul?


Internals:
   CounterResetTime 1507381057.041
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         4
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         21
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.8
   VersionModule 4.10 - 6.10.2017
   buffer
   CounterInterpolated:
     4          1
   READINGS:
     2017-10-07 15:28:36   countDiff4      0
     2017-10-07 15:28:36   lastMsg4        R4 C1 D0 T60000 N1860521

     2017-10-07 15:28:36   long4           147
     2017-10-07 15:28:36   pin4            1
     2017-10-07 15:28:36   power4          0.000
     2017-10-07 15:28:36   reject4
     2017-10-07 14:57:35   state           opened
     2017-10-07 15:28:36   timeDiff4       60000
Attributes:
   factor     100
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   pin4       falling pullup
   userattr   pin4 verboseReadings4
   verbose    5
   verboseReadings4 1


Update:
Ich habe wieder meinen 10uF Kondensator dazu geschaltet und nochmals ein paar Tests gemacht.
Restart von FHEM führt nicht zu einer Erhöhung des longX Wertes.
Ab den ersten Impuls wird korrekt gezählt.

Ich trenne den Arduino vorübergehend von Pi(Strom) und schliesse ihn dann wieder an. Jetzt verschwinden die ersten beiden Impulse wieder im schwarzen Loch.
Anscheinend ist es schwieriger Impulse zu zählen als ich gedacht hätte.

Gruss birdy

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 08 Oktober 2017, 19:37:00
Hallo birdy,

ich möchte das Problem mit dem ersten Impuls nach einem Neustart nochmal versuchen in Perspektive zu setzen.

der Arducounter versucht eben nicht einfach nur Impulse in einem vorgegebenen Intervall zu zählen und diese an Fhem weiter zu geben.
Das machen andere Sketches. Das Problem ist dabei dass der aktuelle Verbrauch nicht exakt ermittelt werden kann und das Verbrauchs-Ergebnis (Impulse / Zeit) ständig leicht hin und her schwankt.

Die Idee beim Arducounter ist statt dessen, dass möglichst genaue Zeitintervalle von einem Startimpuls bis zu einem Endimpuls gemessen und weiter gegeben werden. Damit bekommt man eine glattere Verbrauchskurve.

Das bedeutet aber auch, dass man nicht direkt nach einem Reset des Arduino mit dem Zählen beginnen kann, da der Beginn des Intervalls seit dem letzten Impuls ja noch unbekannt ist. Deshalb beginnt der Arducounter nach einem Neustart erst nach dem ersten Impuls zu zählen.

Solange der Arducounter läuft, funktioniert das gut. Wenn der Arduino aber neu gestartet wird, muss man wieder bis zu einem ersten Impuls warten, bevor das Zeitmessen und Zählen beginnen kann.

Problematisch sind also die Neustarts des Arduino.

Der ganze Mechanismus mit dem longCount ist ein zum Scheitern verurteilter Versuch, den Zählerstand korrekt zu halten, auch wenn der Arduino zwischendrin neu startet und dabei gar nicht zählen kann und somit der Zählerstand nicht mehr korrekt sein kann.
Das Fhem-Modul berechnet dafür einen Mittelwert aus der letzten Messung vor dem Neustart und der ersten Messung nach dem Neustart und interpoliert für den Zeitraum dazwischen die vermutlich verpassten Impulse.
Diese Interpolation kann manchmal stimmen, sie kann aber auch falsch sein.

In jedem Fall ist es nicht besser als eine Näherung. Wer es genauer braucht, muss hardwareseitig dafür sorgen, dass der Arduino dauerhaft läuft und nicht neu startet.

Das Problem ist also folgendes:
1) Wenn der Arduino nicht läuft oder gerade neu startet, zählt er noch nicht.
2) Wenn der Arduino neu startet, gehen die Zählerstände und die gemessenen Zeitintervalle im Arduino verloren,
    sofern sie noch nicht an Fhem weiter gegeben wurden.
3) Wenn Fhem neu startet und der Arduino nicht hardwareseitig verändert wurde, startet auch der Arduino neu. -> 2)

Wenn verboseReadings noch nicht gesetzt ist, fehlen Readings, die für die Interpolation beim Neustart benötigt werden. Deshalb klappt es in diesem aller ersten Fall noch schlechter.
In der letzten Modulversion habe ich für diesen Fall statt der Interpolation (die noch nicht möglich ist) einfach einen Impuls als angenommenen Startimpuls auf longCount addiert. Das ist aber natürlich Unsinn, wenn gar keine Impulse gekommen sind. Das habe ich jetzt nochmal geändert.

So oder so ist aber jede Zählung falsch wenn der Arduino neu startet und somit Impulse verliert.

Wenn man nun Impulse zum Testen von Hand gibt, kann man bei Starten des Arduinos "Fehler" bemerken.
In der Praxis ist das aber völlig irrelevant, da der "Fehler" durch die verlorenen Impulse beim Neustart viel größer ist.

Um die Internas besser zu verstehen, kann man entweder verbose auf 4 oder sogar 5 setzen, dann schreibt das Modul einige Internas und vor allem die Meldungen vom Arduino ins Log, oder man kann den Quellcode vom Modul und dem Sketch lesen. Beides ist recht kurz und überschaubar.

Anbei nochmal eine neue Version, die für den ersten Neustart des Arduino (wenn verboseReadings zum ersten Mal gesetzt wird und die Readings für die Interpolation noch fehlen) nochmal etwas besser rät.

Ich habe es nicht mit Impulsen per Taster getestet, da mein Arducounter am Stromzähler hängt. Im laufenden Betrieb sieht es für mich gut aus und der Sonderfall für den ersten Start sollte für jeden Anwender eh nur einmal überhaupt relevant sein.
Sobald ich wieder etwas mehr Zeit habe, versuche ich nochmal einen Test-Arduino mit Taster aufzusetzen und das mit den zwei Impulsen nachzustellen.

Für weitere Bug-Reports wäre ein Auszug aus dem Log mit verbose 5 hilfreich. Da sehe ich dann was der Arduino gemeldet hat.

Gruss und vielen Dank für's Testen
   Stefan



Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 08 Oktober 2017, 21:44:47
Ergänzung:

Inzwischen konnte ich nachstellen, dass nach einem Restart des Arduino dieser erst mit dem zweiten Impuls zu zählen beginnt.
Das muss ein Bug bei der Initialisierung sein. Liegt auf jeden Fall im Arduino-Sketch und nicht im Fhem-Modul.
Neue Version kommt, sobald ich die Zeit hatte, den Fehler zu beheben.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 09 Oktober 2017, 00:36:52
Hallo Stefan

Vielen Dank für Deine Arbeit. Es ist wirklich toll was Du hier gebaut hast. Deine Erklärung verstehe ich durchaus. Ich habe erst mal mit einem manuellen Aufbau getestet, denn ich möchte im Detail verstehen wie das Ganze funktioniert. So wird mir klar auf was ich mich ,,einlasse", denn ich möchte nicht im Nachhinein enttäuscht sein. Das nicht immer alles nach meinen Vorstellungen funktioniert ist mir klar. Wenn das aber so ist, möchte ich wissen was abweicht, damit ich mich bewusst dafür oder dagegen entscheiden kann.
Zitat von: StefanStrobel am 08 Oktober 2017, 19:37:00
der Arducounter versucht eben nicht einfach nur Impulse in einem vorgegebenen Intervall zu zählen und diese an Fhem weiter zu geben.
Das ist ja genau der Vorteil von Deiner Lösung, dass die noch mehr kann. Darum habe ich Sie ja auch gewählt. Ich bin aber davon ausgegangen, dass er ,,eben einfach nur Impulse Zählen" auch kann, und das ohne Probleme.

Zitat von: StefanStrobel am 08 Oktober 2017, 19:37:00
Deshalb beginnt der Arducounter nach einem Neustart erst nach dem ersten Impuls zu zählen.
Meine Meinung: Zählen sollte er schon, aber noch nicht rechnen.

Zitat von: StefanStrobel am 08 Oktober 2017, 19:37:00
Wenn der Arduino aber neu gestartet wird, muss man wieder bis zu einem ersten Impuls warten, bevor das Zeitmessen und Zählen beginnen kann.
Zeitmessen ist klar.

Möglicherweise hast Du hier einen anderen Standpunkt und dies ist bei Dir nicht die erste Priorität. Wenn das so ist, werde ich damit leben müssen und können. Ich für mich sehe es etwas anders. Ein korrektes Zählen ist für mich die Grundlage und das sollte so korrekt wie nur irgendwie möglich erledigt werden.

Zitat von: StefanStrobel am 08 Oktober 2017, 19:37:00
auch wenn der Arduino zwischendrin neu startet und dabei gar nicht zählen kann und somit der Zählerstand nicht mehr korrekt sein kann.
Evtl. gibt es in dieser Zeit auch gar nichts zu zählen. Es muss also nicht zwingend so sein, dass der Zählerstand abweichen muss.

Wie auch schon geschrieben ist jeder ignorierte Impuls, ein Fehler der sich bis in alle Ewigkeit weiter zieht. Ein beim Re- /Start falsch oder ungenau errechneter Momentanverbrauch ist für mich nicht von Bedeutung weil sich dieser nur auf den ersten Zyklus auswirkt und danach bereits Geschichte ist.
Toll das Du es mit einer Interpolation versuchst. Ich für mich sehe keinen wirklichen Bedarf. Ist es nicht so, dass Du hier viel Aufwand für etwas fast unmögliches betreibst. Ob sich dieser Einsatz auch auszahlt. Ich hoffe es.

Zitat von: StefanStrobel am 08 Oktober 2017, 19:37:00
1) Wenn der Arduino nicht läuft oder gerade neu startet, zählt er noch nicht.
Das ist mir klar.
Zitat von: StefanStrobel am 08 Oktober 2017, 19:37:00
2) Wenn der Arduino neu startet, gehen die Zählerstände und die gemessenen Zeitintervalle im Arduino verloren, sofern sie noch nicht an Fhem weiter gegeben wurden. 
Klar, Wie ich verstanden habe kann hier jeder Einfluss auf die Zeitintervalle und somit auf die Weitergabe nehmen.
Zitat von: StefanStrobel am 08 Oktober 2017, 19:37:00
3) Wenn Fhem neu startet und der Arduino nicht hardwareseitig verändert wurde, startet auch der Arduino neu. -> 2) 
Dafür habe ich den 10uF im Einsatz.

Zitat von: StefanStrobel am 08 Oktober 2017, 19:37:00
Wenn man nun Impulse zum Testen von Hand gibt, kann man bei Starten des Arduinos "Fehler" bemerken.
In der Praxis ist das aber völlig irrelevant, da der "Fehler" durch die verlorenen Impulse beim Neustart viel größer ist.
Kein Zweifel, bei einem Neustart könne natürlich Impulse verloren gehen, müssen aber nicht. Das hängt davon ab wie lange der Neustart dauert bzw. in welchen Abständen die Impulse daher kommen.

Evtl. nochmals kurz meine Vorstellung. Ob Du diese mit ArduCounter abdecken kannst oder willst, liegt natürlich bei Dir.
Möglichst korrektes Zählen der Impulse.


Schon mal vielen Dank für die neuen Versionen. 
Ich werte testen und meine Erkenntnisse bekannt geben..

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 14 Oktober 2017, 19:18:35
Hallo,

anbei eine neue Version des Moduls und ein neuer Arduino-Sketch bzw. die Firmware für den Arduino Uno dazu zum Testen.

In der Firmware war ein Bug in der Verarbeitung der Pin-Change-Interrupts, wodurch gelegentlich der erste Impuls nach einem Restart des Arduino ignoriert wurde (zusätzlich zu dem zweiten Impuls, der dann erst das Intervall gestartet hat).

Die neue Modulversion ist nicht mehr kompatibel zur alten Firmware. Sie zählt jetzt alle Impulse. Auch nach einem Restart des Arduino. Nur für die Berechnung des Verbrauchs wird im ersten Intervall der erste Impuls nicht für die Puls-Differenz verwendet sondern als Intervall-Start. Gezählt wird er aber dennoch.
So kann es nach dem Start sein, dass die erste Berechnung nach 30 Sekunden mit 4 Impulsen in 22 Sekunden erfolgt, der Zähler aber von 0 auf 5 geht.

Wen Ihr keine neuen / alten Bugs meldet, checke ich Firmware und Modul in den nächsten Tagen ein.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: FunkOdyssey am 15 Oktober 2017, 17:46:46
Ich habe Modul und Firmware aktualisiert. Aber mal ne kurze Frage:

Muss ich bei mir evtl. nach einer anderen Ursache suchen, wenn mein Zähler in FHEM größer ist als der Wert am Gaszähler? Bei mir ist FHEM anscheinend schneller. Also sollte das bei mir doch sicherlich ein anderes Problem sein, oder?
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 15 Oktober 2017, 18:57:47
Hallo,

Bei jedem Fhem-Neustart wird ja interpoliert, wie viele Impulse der Zähler möglicherweise verpasst hat. Dadurch können Abweichungen entstehen.
Wenn es aber um größere Abweichungen geht, dann würde ich auch nach anderen Fehlerquellen suchen.
Hast Du eine minimale Pulsweite angegeben?
Das ist sinnvoll um Störimpulse auszufiltern.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 15 Oktober 2017, 21:33:31
Hallo Stefan

Vielen Dank für das Bereitstellen der neuen Versionen.

Ich bin gerade dabei die zu testen.

Zitat von: StefanStrobel am 15 Oktober 2017, 18:57:47
Bei jedem Fhem-Neustart wird ja interpoliert, wie viele Impulse der Zähler möglicherweise verpasst hat.
Was oder wie wird interpoliert? Es wäre hilfreich wenn Du dazu noch ein paar erklären Worte liefern könntest.

Ist es (nur) der Wert des Long Readings?
Ich denke da habe ich ,,willkürliche" Sprünge nach vorne gesehen.

Was ist die Grundlage für die Interpolation.
Kann es sein, dass einfach der letzte Zyklus vor den Restart verwendet wird?
Angenommen der Physische -Zähler steht 1-2 Zyklen vor den Restart von FHEM. Muss ich dann mit einer ,,künstlichen" Erhöhung von irgendwelchen Readings rechnen?

Besten Dank und Gruss
birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 16 Oktober 2017, 18:41:15
Hallo birdy,

die Interpolation betrifft nur den longCounter. Es wird der Mittelwert für Impulse / Intervall aus der letzten Messung vor dem Restart und der ersten Messung nach dem Restart genommen und mit der Dauer der Unterbrechung (Ende der letzten erfolgreichen Messung bis zur Started-Meldung des Arduino multipliziert.
Im Log wird das entsprechend protokolliert.
Siehe 98_Arducounter.pm in den Zeilen 626 bis 643.

Ich kann gerne alternative Interpolationen einbauen, sofern sie mit den vorhandenen Readings / Werten mit vertretbarem Aufwand machbar sind ;-)
Ebenso kann ich noch ein Attribut einbauen, mit dem die Interpolation ganz abgeschaltet wird.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 16 Oktober 2017, 22:17:21
Hallo Stefan

Vielen Dank für Deine Erklärungen.
Ich denke wenn Interpolation, dann mach sie so Sinn.
Ich habe vor im Keller neben dem Strom- auch den Ölzähler mit den Arducounter auszuwerten. Da ist mir wichtig, dass beim Ölzähler während den Sommermonaten, wenn die Heizung abgeschaltet ist, nicht irgendetwas interpoliert wird was es gar nicht gibt. Dabei soll egal sein wie oft ich restarte. Mit deiner Implementation der Interpolation scheint mir dies nun ideal gelöst zu sein (zumindest konnte ich noch nichts Gegenteiliges feststellen).

Ein Attribut um die Interpolation ein oder ausschalten zu können ist sicher eine gute Idee. Ich würde aber eher eine Lösung mit einem zweiten LongCounter priorisieren. So hätte man beide Werte zur Verfügung (mit und ohne Interpolation) und könnte den der besser passt auswählen. Aber notwendig ist dies nicht, ich denke ich komme mit der aktuellen Lösung ganz gut zurecht.

Besten Dank und Gruss
birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 17 Oktober 2017, 21:28:54
Hallo Stefan

Noch eine Frage: Ist bei besonders langen Impulsen mit Problemen zu rechnen?

Mein Durchlaufzähler in der Ölleitung hat ein Reedkontakt, welcher pro 0.1L ein Impuls gibt. Das bedeutet der Kontakt ist ca. 0.05L lang geöffnet und bleibt dann 0.05L lang geschlossen. Was eine Impulsdauer von gefühlten 2-3 Minuten ergibt. Stell die Heizung, ab dauert ein begonnener Impuls u.U. ewig.

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 17 Oktober 2017, 21:55:51
hallo birdy,

eigentlich sollte ein so langer Impuls kein Problem sein.
Der Arduino zählt ja über die pin change interrupts und merkt sich dort den vorherigen Zustand je Pin in Variablen.
Einen Timeout habe ich da nicht eingebaut. Wenn sich der Status an einem Pin nicht ändert, passiert einfach nichts weiter.

Anbei habe ich nochmal eine neue Version.
Ich habe Deine Idee aufgegriffen, einen long counter mit und ohne Interpolation einzubauen.
Der longX interpoliert jetzt nicht mehr, dafür gibt es noch ein zusätzliches Reading interpolatedLongX.
Beide Reading-Namen kann man wie üblich per Attribut ändern.
Die Firmware bleibt gleich, nur das Fhem-Modul hat ein paar Zeile Code dazu bekommen.

Ich komme jetzt leider auch in den nächsten Tagen nicht mehr zum Testen oder Programmieren.
Wenn also jemand bei Testen helfen möchte, wäre das schön.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 29 Oktober 2017, 21:27:04
Hallo Stefan

Nach den Breadbord habe ich nun mein Arduino im Keller in Betrieb genommen. Dort ist er mit den Strom- und dem Durchflusszähler (Öl) verbunden.
Die langen Impulse/Pausen des Durchflusszähler scheinen für den ArduCounter problematisch zu sein. Da fehlen mir täglich einige Impulse. Ich konnte aber bis jetzt noch keine genaueren Beobachtungen anstellen.
Hast Du zufällig eine Idee woran dies liegen könnte?

Noch eine Frage zum Intervall. Kann man dies auch pro Pin separat definieren?
(Den Faktor kann man, obwohl in der Commandref nicht explizit beschrieben, auch pro Pin separat angeben.


Danke und Gruss
birdy

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 30 Oktober 2017, 08:49:25
Hallo birdy,

Die Reporting–Intervalle sind nicht je Pin vorgesehen. Das minimale Intervall für die Überwachung der Puls-Länge wird aber je Pin angegeben.
Für die Fehlersuche solltest Du auf jeden Fall verbose auf 5 stellen und im Log die Meldungen vom Arduino an Fhem ansehen. Ich habe keine Ideen, wie noch Impulse übersehen werden könnten, es sei denn, sie sind so kurz, dass der Arduino sie in der Interrupt-Routine nicht sehen kann.

Wie viele Impulse am Tag hast Du denn, wie viele fehlen Dir und mit was vergleichst Du sie denn?
Wie lange sind die Impulse typischerweise?

Gruss
     Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 30 Oktober 2017, 23:01:53
Hallo Stefan

Zitat von: StefanStrobel am 30 Oktober 2017, 08:49:25
Die Reporting–Intervalle sind nicht je Pin vorgesehen.
Kein Problem, habe auch keinen direkten Bedarf dafür. Ich wollte nur nachfragen.

Zitat von: StefanStrobel am 30 Oktober 2017, 08:49:25
.... sie sind so kurz, dass der Arduino sie in der Interrupt-Routine nicht sehen kann.
So gut wie ausgeschlossen.

Momentan benötige ich ca. 5-6 Liter Öl pro Tag. Der mechanische Durchlaufzähler zählt mit 1 ,,Impuls" pro 0.1 L was also 50 -60 Impulse pro Tag ergeben sollte. Heute fehlen mir im Vergleich zu Gestern 23 Impulse bzw. 2.3L was in etwa 50% entspricht.
Wenn die Heizung läuft ist das Relais jeweils ca. 0.06 L lang offen und danach wieder 0.04L geschlossen. Es dauert zwischen 3 und 5 Minuten bis 0.1L verbraucht sind, abhängig von der aktuellen Leistung (modellierender Brenner). Eine konkrete Messung mit den DMM bei eher hoher Leistung hat ergeben 1:40 offen/ 1:34 geschlossen (Pin 4 wird auf 0 gezogen).
Wenn die Heizung ausschaltet fliest natürlich kein Öl mehr. Dann bleibt das Relais u.U. mehrere Stunden in der momentanen Position stehen.

Anmerkung: Auch beim Stromzähler scheint es so, als ob nicht alle Impulse gezählt würden. Das werde ich aber noch genauer beobachten.

Internals:
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         4
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         21
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.9
   VersionModule 5.1 - 17.10.2017
   buffer
   CounterInterpolated:
   READINGS:
     2017-10-30 22:53:08   OelVorrat       1223
     2017-10-30 22:53:08   OelZaehler      231
     2017-10-30 22:53:08   OelZaehlerI     231
     2017-10-30 22:49:08   countDiff4      0
     2017-10-30 22:53:08   countDiff6      1
     2017-10-30 22:49:08   interpolatedLong4 2310
     2017-10-30 22:53:08   interpolatedLong6 2334236
     2017-10-30 22:49:08   lastMsg4        R4 C92 D0 R0 T360000 N175800520 X0

     2017-10-30 22:53:08   lastMsg6        R6 C2871 D1 R1 T87200 N176040520 X0 F87200 L87200 A101

     2017-10-30 22:49:08   long4           2310
     2017-10-30 22:53:08   long6           2334236
     2017-10-30 22:49:08   pin4            92
     2017-10-30 22:53:08   pin6            2871
     2017-10-30 22:49:08   power4          0.000
     2017-10-30 22:53:08   power6          0.413
     2017-10-30 22:49:08   reject4         0
     2017-10-30 22:53:08   reject6         0
     2017-10-29 11:11:02   state           opened
     2017-10-30 22:49:08   timeDiff4       360000
     2017-10-30 22:53:08   timeDiff6       87200
Attributes:
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 360
   pin4       falling pullup 3000
   pin6       falling pullup 90
   readingFactor6 10000
   userReadings OelZaehler {ReadingsVal("AC","long4",0)/10},OelZaehlerI {ReadingsVal("AC","interpolatedLong4",0)/10},OelVorrat {1454-ReadingsVal("AC","OelZaehlerI",0)}
   userattr   pin4 pin6 readingFactor6 verboseReadings4 verboseReadings6
   verbose    5
   verboseReadings4 1
   verboseReadings6 1


Log:
2017.10.30 21:52:10 5: AC: Parse line: R6 C2821 D1 R1 T49629 N172380520 X0 F49629 L49629 A99
2017.10.30 21:52:10 4: AC: adding 1 to long count 2334185 and interpolated count 2334185
2017.10.30 21:52:10 4: AC: Pin 6 (pin6) count 2821 longCount 2334186 interpCount 2334186 (diff 1) in 49.629s, reject 0, Avg Len 99ms, result 0.725
2017.10.30 21:52:10 5: AC: interval 21:51:20 until 21:52:10, First at 49629, Last at 49629
2017.10.30 21:52:10 5: AC: set readings power6 to 0.725, timeDiff6 to 49629 and countDiff6 to 1
2017.10.30 21:52:10 5: AC: Device Time 172380.52, Drift -68.009s in 124851.991s, -0.05%
2017.10.30 21:53:10 5: AC: Parse line: R6 C2822 D1 R1 T43997 N172440520 X0 F43997 L43997 A100
2017.10.30 21:53:10 4: AC: adding 1 to long count 2334186 and interpolated count 2334186
2017.10.30 21:53:10 4: AC: Pin 6 (pin6) count 2822 longCount 2334187 interpCount 2334187 (diff 1) in 43.997s, reject 0, Avg Len 100ms, result 0.818
2017.10.30 21:53:10 5: AC: interval 21:52:26 until 21:53:10, First at 43997, Last at 43997
2017.10.30 21:53:10 5: AC: set readings power6 to 0.818, timeDiff6 to 43997 and countDiff6 to 1
2017.10.30 21:53:10 5: AC: Device Time 172440.52, Drift -68.044s in 124911.956s, -0.05%
2017.10.30 21:54:09 5: AC: Parse line: R6 C2824 D2 R2 T90113 N172500520 X0 F45066 L90113 A99
2017.10.30 21:54:09 4: AC: adding 2 to long count 2334187 and interpolated count 2334187
2017.10.30 21:54:09 4: AC: Pin 6 (pin6) count 2824 longCount 2334189 interpCount 2334189 (diff 2) in 90.113s, reject 0, Avg Len 99ms, result 0.799
2017.10.30 21:54:09 5: AC: interval 21:52:39 until 21:54:09, First at 45066, Last at 90113
2017.10.30 21:54:09 5: AC: set readings power6 to 0.799, timeDiff6 to 90113 and countDiff6 to 2
2017.10.30 21:54:10 5: AC: Device Time 172500.52, Drift -68.080s in 124971.920s, -0.05%
2017.10.30 21:55:09 5: AC: Parse line: R4 C92 D2 R2 T194955 N172560520 X0 F699 L194955 A109219
2017.10.30 21:55:09 4: AC: adding 2 to long count 2282 and interpolated count 2282
2017.10.30 21:55:09 4: AC: Pin 4 (pin4) count 92 longCount 2284 interpCount 2284 (diff 2) in 194.955s, reject 0, Avg Len 109219ms, result 0.037
2017.10.30 21:55:09 5: AC: interval 21:51:55 until 21:55:09, First at 699, Last at 194955
2017.10.30 21:55:09 5: AC: set readings power4 to 0.037, timeDiff4 to 194955 and countDiff4 to 2
2017.10.30 21:55:09 5: AC: Device Time 172560.52, Drift -68.097s in 125031.903s, -0.05%
2017.10.30 21:55:09 5: AC: Parse line: R6 C2825 D1 R1 T44973 N172560520 X0 F44973 L44973 A99
2017.10.30 21:55:09 4: AC: adding 1 to long count 2334189 and interpolated count 2334189
2017.10.30 21:55:09 4: AC: Pin 6 (pin6) count 2825 longCount 2334190 interpCount 2334190 (diff 1) in 44.973s, reject 0, Avg Len 99ms, result 0.800
2017.10.30 21:55:09 5: AC: interval 21:54:25 until 21:55:09, First at 44973, Last at 44973
2017.10.30 21:55:09 5: AC: set readings power6 to 0.800, timeDiff6 to 44973 and countDiff6 to 1
2017.10.30 21:55:09 5: AC: Device Time 172560.52, Drift -68.097s in 125031.903s, -0.05%
2017.10.30 21:56:09 5: AC: Parse line: R6 C2826 D1 R1 T46564 N172620520 X0 F46564 L46564 A101
2017.10.30 21:56:09 4: AC: adding 1 to long count 2334190 and interpolated count 2334190
2017.10.30 21:56:09 4: AC: Pin 6 (pin6) count 2826 longCount 2334191 interpCount 2334191 (diff 1) in 46.564s, reject 0, Avg Len 101ms, result 0.773
2017.10.30 21:56:09 5: AC: interval 21:55:23 until 21:56:09, First at 46564, Last at 46564
2017.10.30 21:56:09 5: AC: set readings power6 to 0.773, timeDiff6 to 46564 and countDiff6 to 1
2017.10.30 21:56:09 5: AC: Device Time 172620.52, Drift -68.149s in 125091.851s, -0.05%
2017.10.30 21:57:09 5: AC: Parse line: R6 C2827 D1 R1 T48386 N172680520 X0 F48386 L48386 A100
2017.10.30 21:57:09 4: AC: adding 1 to long count 2334191 and interpolated count 2334191
2017.10.30 21:57:09 4: AC: Pin 6 (pin6) count 2827 longCount 2334192 interpCount 2334192 (diff 1) in 48.386s, reject 0, Avg Len 100ms, result 0.744
2017.10.30 21:57:09 5: AC: interval 21:56:21 until 21:57:09, First at 48386, Last at 48386
2017.10.30 21:57:09 5: AC: set readings power6 to 0.744, timeDiff6 to 48386 and countDiff6 to 1
2017.10.30 21:57:09 5: AC: Device Time 172680.52, Drift -68.184s in 125151.816s, -0.05%
2017.10.30 21:58:09 5: AC: Parse line: R6 C2828 D1 R1 T54457 N172740520 X0 F54457 L54457 A99
2017.10.30 21:58:09 4: AC: adding 1 to long count 2334192 and interpolated count 2334192
2017.10.30 21:58:09 4: AC: Pin 6 (pin6) count 2828 longCount 2334193 interpCount 2334193 (diff 1) in 54.457s, reject 0, Avg Len 99ms, result 0.661
2017.10.30 21:58:09 5: AC: interval 21:57:15 until 21:58:09, First at 54457, Last at 54457
2017.10.30 21:58:09 5: AC: set readings power6 to 0.661, timeDiff6 to 54457 and countDiff6 to 1
2017.10.30 21:58:09 5: AC: Device Time 172740.52, Drift -68.203s in 125211.797s, -0.05%
2017.10.30 21:59:09 5: AC: Parse line: R6 C2829 D1 R1 T56942 N172800520 X0 F56942 L56942 A100
2017.10.30 21:59:09 4: AC: adding 1 to long count 2334193 and interpolated count 2334193
2017.10.30 21:59:09 4: AC: Pin 6 (pin6) count 2829 longCount 2334194 interpCount 2334194 (diff 1) in 56.942s, reject 0, Avg Len 100ms, result 0.632
2017.10.30 21:59:09 5: AC: interval 21:58:12 until 21:59:09, First at 56942, Last at 56942
2017.10.30 21:59:09 5: AC: set readings power6 to 0.632, timeDiff6 to 56942 and countDiff6 to 1
2017.10.30 21:59:09 5: AC: Device Time 172800.52, Drift -68.238s in 125271.762s, -0.05%
2017.10.30 22:00:09 5: AC: Parse line: R6 C2830 D1 R1 T61125 N172860520 X0 F61125 L61125 A99
2017.10.30 22:00:09 4: AC: adding 1 to long count 2334194 and interpolated count 2334194
2017.10.30 22:00:09 4: AC: Pin 6 (pin6) count 2830 longCount 2334195 interpCount 2334195 (diff 1) in 61.125s, reject 0, Avg Len 99ms, result 0.589
2017.10.30 22:00:09 5: AC: interval 21:59:08 until 22:00:09, First at 61125, Last at 61125
2017.10.30 22:00:09 5: AC: set readings power6 to 0.589, timeDiff6 to 61125 and countDiff6 to 1
2017.10.30 22:00:09 5: AC: Device Time 172860.52, Drift -68.273s in 125331.727s, -0.05%
2017.10.30 22:01:09 5: AC: Parse line: R4 C92 D0 R0 T405045 N172920520 X0
2017.10.30 22:01:09 4: AC: adding 0 to long count 2284 and interpolated count 2284
2017.10.30 22:01:09 4: AC: Pin 4 (pin4) count 92 longCount 2284 interpCount 2284 (diff 0) in 405.045s, reject 0, Avg Len ms, result 0.000
2017.10.30 22:01:09 5: AC: interval 21:54:24 until 22:01:09, First at , Last at
2017.10.30 22:01:09 5: AC: set readings power4 to 0.000, timeDiff4 to 405045 and countDiff4 to 0
2017.10.30 22:01:09 5: AC: Device Time 172920.52, Drift -68.290s in 125391.710s, -0.05%
2017.10.30 22:01:09 5: AC: Parse line: R6 C2831 D1 R1 T62282 N172920520 X0 F62282 L62282 A100
2017.10.30 22:01:09 4: AC: adding 1 to long count 2334195 and interpolated count 2334195
2017.10.30 22:01:09 4: AC: Pin 6 (pin6) count 2831 longCount 2334196 interpCount 2334196 (diff 1) in 62.282s, reject 0, Avg Len 100ms, result 0.578
2017.10.30 22:01:09 5: AC: interval 22:00:07 until 22:01:09, First at 62282, Last at 62282
2017.10.30 22:01:09 5: AC: set readings power6 to 0.578, timeDiff6 to 62282 and countDiff6 to 1
2017.10.30 22:01:09 5: AC: Device Time 172920.52, Drift -68.290s in 125391.710s, -0.05%
2017.10.30 22:01:10 3: VCONTROL300: USB connection opened


Gruss
birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 31 Oktober 2017, 21:43:41
Eine Verständnisfrage

Die Ausganslage: Ein Relais / S0 Schnittstelle welche zwischen Pin X und GND liegt, und den Pin währen dem Impuls von 5V auf 0 zieht.
Auf dem ArduCounter gibt es die folgende Definition (pin4 falling pullup 3000).

Ist dann ,,falling" relativ (invers) oder absolut gemeint?
Konkret, wann sollte gezählt werden. Wenn der Pin von 5V auf 0 fällt, oder wenn der von 0 wieder auf 5V geht?

Gruss birdy



Nachtrag:

Ist es gewollt, dass der interpolatedLongX kleiner als die LongX ist?
Ich dachte der sei vorgesehen, um möglicherweise verpasste Impulse zu interpolieren.
Hier werden real existiere Impulse unterdrückt.
Szenario: Arduino resetet, alle Zähler mit setreading auf 0 gestellt, 3 Impulse manuell abgesetzt.

Resultat :

017.10.31 22:51:52 5: AC: ReadAnswer called
2017.10.31 22:51:53 5: AC: Parse line: M Status: ArduCounter V1.9
2017.10.31 22:51:53 4: AC: device reported firmware 1.9
2017.10.31 22:51:53 5: AC: Parse line: M normal interval 60000
2017.10.31 22:51:53 3: AC: device: normal interval 60000
2017.10.31 22:51:53 5: AC: Parse line: M max interval 360000
2017.10.31 22:51:53 3: AC: device: max interval 360000
2017.10.31 22:51:53 5: AC: Parse line: M min interval 2000
2017.10.31 22:51:53 3: AC: device: min interval 2000
2017.10.31 22:51:53 5: AC: Parse line: M min count 1
2017.10.31 22:51:53 3: AC: device: min count 1
2017.10.31 22:51:53 5: AC: Parse line: M pin 4 PCInt pin 20, iMode change, min len 2000 ms falling, count 3 (+2) in 13163 ms Rej 1
2017.10.31 22:51:53 3: AC: device: pin 4 PCInt pin 20, iMode change, min len 2000 ms falling, count 3 (+2) in 13163 ms Rej 1
2017.10.31 22:51:53 5: AC: Parse line: M   first at 97509, last at 110672, avg len 6458
2017.10.31 22:51:53 3: AC: device:   first at 97509, last at 110672, avg len 6458
2017.10.31 22:51:53 5: AC: Parse line: M pin 5 PCInt pin 21, iMode change, min len 2000 ms falling, count 0 (+0) in 112735 ms Rej 0
2017.10.31 22:51:53 3: AC: device: pin 5 PCInt pin 21, iMode change, min len 2000 ms falling, count 0 (+0) in 112735 ms Rej 0
2017.10.31 22:51:53 5: AC: Parse line: M pin 6 PCInt pin 22, iMode change, min len 90 ms falling, count 0 (+0) in 112743 ms Rej 0
2017.10.31 22:51:53 3: AC: device: pin 6 PCInt pin 22, iMode change, min len 90 ms falling, count 0 (+0) in 112743 ms Rej 0
2017.10.31 22:51:53 5: AC: Parse line: M Next report in 7197 Milliseconds
2017.10.31 22:51:53 3: AC: device: Next report in 7197 Milliseconds
2017.10.31 22:51:53 5: AC: ReadAnswer matched Next report in [0-9]+ Milliseconds
2017.10.31 22:52:00 5: AC: Parse line: R4 C3 D2 R3 T13163 N6129504 X1 F0 L13163 A6458
2017.10.31 22:52:00 4: AC: arduino was restarted so some impulses might have got lost for 4 (pin4)
2017.10.31 22:52:00 3: AC: interpolation after counter reset for pin 4 (pin4): offline -43.73 secs, -2 estimated pulses (before 0 in 310355 ms, now 2 in 13163 ms, avg ratio 0.0759705234369065 p/s)
2017.10.31 22:52:00 4: AC: adding interpolated -2 to interpolated count 0
2017.10.31 22:52:00 4: AC: adding 3 to long count 0 and interpolated count -2
2017.10.31 22:52:00 4: AC: Pin 4 (pin4) count 3 longCount 3 interpCount 1 (diff 2) in 13.163s, reject 1, Avg Len 6458ms, result 0.547
2017.10.31 22:52:00 5: AC: interval 22:51:47 until 22:52:00, First at 0, Last at 13163
2017.10.31 22:52:00 5: AC: set readings power4 to 0.547, timeDiff4 to 13163 and countDiff4 to 2
2017.10.31 22:52:00 5: AC: Device Time 6129.504, Drift -2.999s in 5640.268s, -0.05%
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 12 November 2017, 21:22:17
Hallo Stefan

Kannst Du mir verraten ob die folgenden Definition für (m)ein Relais geeignet ist und wann genau (welche Flanke) damit der Zähler im ArduCounter erhöht werden sollte?
Danke
pin4       falling pullup 3000

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 13 November 2017, 21:30:31
Hallo Birdy,

sorry für die späte Antwort, ich habe Deine vorletzte Frage erst jetzt bemerkt.

Zitat
Auf dem ArduCounter gibt es die folgende Definition (pin4 falling pullup 3000).
Ist dann ,,falling" relativ (invers) oder absolut gemeint?
Konkret, wann sollte gezählt werden. Wenn der Pin von 5V auf 0 fällt, oder wenn der von 0 wieder auf 5V geht?

sobald Du die Pulslängen-Kontrolle aktivierst (3000 setzt die minimale Pulslänge auf 3 Sekunden und aktiviert damit die Pulslängen-Kontrolle), ändert sich das Verhalten des Arducounters.
Um die Pulslänge zu ermitteln, wird bei jeder Flanke ein Interrupt ausgelöst um Beginn und Ende des Impulses zu erfassen. "falling" gibt dann an, dass die Impulse mit einer fallenden Flanke (1->0) beginnen. Erst am Ende des Impulses (wieder steigende Flanke) kann dann ausgewertet werden, ob der Impuls die Mindestlänge erreicht hat. Somit wird auch erst beim Ende des Impulses, in diesem Fall also bei der steigenden Flanke der Impuls gezählt. Wenn er zu kurz war, wird er nicht als gültiger Impuls gezählt sondern der Reject-Counter erhöht.

Zitat
Ist es gewollt, dass der interpolatedLongX kleiner als die LongX ist?
Ich dachte der sei vorgesehen, um möglicherweise verpasste Impulse zu interpolieren.
Hier werden real existiere Impulse unterdrückt.
Szenario: Arduino resetet, alle Zähler mit setreading auf 0 gestellt, 3 Impulse manuell abgesetzt.

Es ist nicht gewollt, dass interpolatedLongX kleiner als LongX ist.
Ich interpretiere das Log so:

Vor dem Beginn Deines Log-Auszugs müsste der Arduino neu gestartet worden sein. Dort sollte im Log eine entsprechende Meldung stehen.
Das Fhem-Modul setzt in diesem Moment auch das Internal CounterResetTime auf die aktuelle Zeit. Zudem wird das Flag gelöscht, an dem das Modul erkennt, dass eine Interpolation bereits gemacht wurde.

Durch Dein anschließendes Löschen aller Readings ziehst Du dem Modul die Zeit der letzten Meldung vom Arduino quasi "unter dem Hintern weg". Diese Zeit wird aber später für die Ermittlung der "Offline-Zeit" benötigt...

ca 13 Sekunden nach dem Reset des Arduino hast Du offenbar get info eingegeben:
Zitat
017.10.31 22:51:52 5: AC: ReadAnswer called
2017.10.31 22:51:53 5: AC: Parse line: M Status: ArduCounter V1.9
2017.10.31 22:51:53 4: AC: device reported firmware 1.9
2017.10.31 22:51:53 5: AC: Parse line: M normal interval 60000
2017.10.31 22:51:53 3: AC: device: normal interval 60000
2017.10.31 22:51:53 5: AC: Parse line: M max interval 360000
2017.10.31 22:51:53 3: AC: device: max interval 360000
2017.10.31 22:51:53 5: AC: Parse line: M min interval 2000
2017.10.31 22:51:53 3: AC: device: min interval 2000
2017.10.31 22:51:53 5: AC: Parse line: M min count 1
2017.10.31 22:51:53 3: AC: device: min count 1
2017.10.31 22:51:53 5: AC: Parse line: M pin 4 PCInt pin 20, iMode change, min len 2000 ms falling, count 3 (+2) in 13163 ms Rej 1
2017.10.31 22:51:53 3: AC: device: pin 4 PCInt pin 20, iMode change, min len 2000 ms falling, count 3 (+2) in 13163 ms Rej 1
2017.10.31 22:51:53 5: AC: Parse line: M   first at 97509, last at 110672, avg len 6458
2017.10.31 22:51:53 3: AC: device:   first at 97509, last at 110672, avg len 6458
2017.10.31 22:51:53 5: AC: Parse line: M pin 5 PCInt pin 21, iMode change, min len 2000 ms falling, count 0 (+0) in 112735 ms Rej 0
2017.10.31 22:51:53 3: AC: device: pin 5 PCInt pin 21, iMode change, min len 2000 ms falling, count 0 (+0) in 112735 ms Rej 0
2017.10.31 22:51:53 5: AC: Parse line: M pin 6 PCInt pin 22, iMode change, min len 90 ms falling, count 0 (+0) in 112743 ms Rej 0
2017.10.31 22:51:53 3: AC: device: pin 6 PCInt pin 22, iMode change, min len 90 ms falling, count 0 (+0) in 112743 ms Rej 0
2017.10.31 22:51:53 5: AC: Parse line: M Next report in 7197 Milliseconds
2017.10.31 22:51:53 3: AC: device: Next report in 7197 Milliseconds
2017.10.31 22:51:53 5: AC: ReadAnswer matched Next report in [0-9]+ Milliseconds
Dann meldet sich der Arducounter mit dem Zwischenergebnis:
Zitat
2017.10.31 22:52:00 5: AC: Parse line: R4 C3 D2 R3 T13163 N6129504 X1 F0 L13163 A6458
Das bedeutet:
Report für Pin 4, Count 3, verwertbare neue Impulse (Differenz) 2, Real Count (tatsächlich gezählte Impulse für LongCount): 3 (da wird auch der erste Impuls mitgezählt, bei dem die Intervall-Messung beginnt), Time: 13 Sekunden,
Now: 6129504, Rejected: 1, First after 0 ms, Last at 13 sec, average 6 sec.

Dann bemerkt das Modul, dass dies die erste Meldung des Arduino seit einem Neustart ist.
Das Modul berechnet die Zeit zwischen der letzten Meldung und dem Neustart des Arduino. Diese Subtraktion geht schief und liefert ein negatives Ergebnis, da Du zum genau richtigen Zeitpunkt die Readings gelöscht hast (da muss ich noch eine Prüfung einbauen, die so etwas erkennt / verhindert ...)

entsprechend interpoliert das Modul eine negative Zahl von Impulsen:
Zitat
2017.10.31 22:52:00 4: AC: arduino was restarted so some impulses might have got lost for 4 (pin4)
2017.10.31 22:52:00 3: AC: interpolation after counter reset for pin 4 (pin4): offline -43.73 secs, -2 estimated pulses (before 0 in 310355 ms, now 2 in 13163 ms, avg ratio 0.0759705234369065 p/s)
2017.10.31 22:52:00 4: AC: adding interpolated -2 to interpolated count 0
2017.10.31 22:52:00 4: AC: adding 3 to long count 0 and interpolated count -2
2017.10.31 22:52:00 4: AC: Pin 4 (pin4) count 3 longCount 3 interpCount 1 (diff 2) in 13.163s, reject 1, Avg Len 6458ms, result 0.547
2017.10.31 22:52:00 5: AC: interval 22:51:47 until 22:52:00, First at 0, Last at 13163
2017.10.31 22:52:00 5: AC: set readings power4 to 0.547, timeDiff4 to 13163 and countDiff4 to 2
2017.10.31 22:52:00 5: AC: Device Time 6129.504, Drift -2.999s in 5640.268s, -0.05%

Gruss
  Stefan

EDIT: Detailformulierung konkretisiert / korrigiert
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 13 November 2017, 22:07:20
Hallo,

anbei eine neue Version zum Testen, die zusätzlich Prüfungen zur Plausibilität der berechneten Offline-Zeit bei der Interpolation enthält.
Falls die benötigten Readings oder die Timestamps der benötigten Readings fehlen oder falls die Zeit negativ wird, wird nichts interpoliert.
@Birdy: Falls Du es schaffst, damit einen ähnlichen Zustand zu reproduzieren, würde ich noch weitere Log-Meldungen einbauen um zu verstehen, wie das genau passiert...

Gruss / vielen Dank fürs Testen
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 14 November 2017, 10:02:51
Hallo Stefan

Zitat von: StefanStrobel am 13 November 2017, 21:30:31
sorry für die späte Antwort,
Kein Problem es gibt (zum Glück) neben FHEM noch andere interessante Dinge im Leben

Gerne teste ich die neue Version. Doch zuvor möchte ich sicher sein, dass ich eine geeignete Pin Definition verwende. Was kannst Du beim mir empfehlen?

Zitat von: StefanStrobel am 13 November 2017, 21:30:31
sobald Du die Pulslängen-Kontrolle aktivierst (3000 setzt die minimale Pulslänge auf 3 Sekunden und aktiviert damit die Pulslängen-Kontrolle), ändert sich das Verhalten des Arducounters.
Wenn ich richtig verstanden habe, wird ohne Pulslängen-Kontrolle zu Beginn des Impulses (5>0) gezählt. Mit Pulslängen-Kontrolle erst am Ende des Impulses (0>5) sofern der Impuls genügend lange gedauert hat. Es muss also die Dauer gezählt werden.
Könnte es sein, dass es hier zu einem Zählerüberlauf kommt, Da bei mir einzelne Impulse mehrere Stunden dauern können. Dieser Impuls in der Folge dann ins schwarze Loch fällt und nicht gezählt wird?
Soll ich mal ohne Pulslängen-Kontrolle weiter testen. Was ist Deine Empfehlung?

Vielen Dank für Deine aktive Unterstützung.

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 18 November 2017, 17:12:26
hallo Birdy,

die Zeitwerte werden im Sketch als Millisekunden in einem unsigned long (32 Bit) gespeichert. Das sollte erst nach 49 Tagen überlaufen.
Ich würde schon mit Pulslängen-Kontrolle weiter testen.

Wenn ich es richtig verstehe und Deine Impulse von einem Relais erzeugt werden und Minuten oder sogar Stunden lang sein können, dann könnte ich zur Kontrolle auch in den Sketch eine Debug-Funktion einbauen, die in Fhem bei jedem Zustandswechsel am Arduino-Pin einen Log-Eintrag erzeugt - unabhängig vom Zählen.
Eventuell kommst Du dann dem Problem eher auf die Spur?
(für normale S0-Signale würde das nicht funktionieren ...)

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 21 November 2017, 17:21:28
Hallo Stefan

Ich habe das Ganze mal ein wenig beobachtet und mir ein paar Notizen gemacht.

1.   Mit Pulslängen-Kontrolle.
Über 42 Stunden habe 19.4 Liter verbraucht was 194 Impulsen entsprechen müsste. Der Arducounter hat aber nur 74 Impulse gezählt (120 fehlen).

2.   Ohne Pulslängen-Kontrolle.
Über 31 Stunden habe 11.9 Liter verbraucht was 119 Impulsen entsprechen müsste. Der Arducounter hat aber nur 69 Impulse gezählt (50 fehlen).

Die Pulslängen-Kontrolle scheint also beim Verhalten nicht den entscheidenden Unterschied zu machen.

Zitat von: StefanStrobel am 18 November 2017, 17:12:26
.....könnte ich zur Kontrolle auch in den Sketch eine Debug-Funktion einbauen, die in Fhem bei jedem Zustandswechsel am Arduino-Pin einen Log-Eintrag erzeugt - unabhängig vom Zählen.

Ja sehr gerne wenn das möglich ist. Ich denke das würde mich dann einen wichtigen Stritt weiter bringen.

So kann ich mein DMM mit USB Ausgang einige Stunden mitlaufen lassen und die Werte Aufzeichnen. Anschliessend die beiden Logs gegeneinander abgleichen und es wird sofort klar wo Differenz entsteht. :)

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 26 November 2017, 11:39:44
Hallo birdy,

anbei eine Variante der Firmware, die bei jedem Status-Change eines im ArduCounter verwendeten Ports eine Log-Zeile ausgibt. Das ganze ist nicht für den Normalbetrieb geeignet, sondern nur zum Debugging.
In Fhem sollte das verbose-Level auf 4 stehen.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 26 November 2017, 12:37:51
Hallo Stefan

Super vielen herzlichen Dank.
Sobald ich neue Erkenntnisse habe, werde ich hier berichten.

Gruss und noch einen schönen Sonntag
birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 27 November 2017, 00:03:46
Hallo Stefan

Ich habe heute wären rund 6 Stunden das Verhalten mit den DMM aufgezeichnet und die Logs abgeglichen.

Zuerst das erfreuliche, die neue Debugg Funktion zeigt den Status Wechsel zuverlässig. Ein Vergleich zum DMM Log ergab über die gesamte Zeit eine vollständige Übereinstimmung.

Aber nach diesen 6 Stunden hatte der ArduCounter an Pin 4 mehr Impulse gezählt als der mechanische Zähler. ::)
Jetzt zählt er plötzlich mehr als die vorhanden Impulse

Ich habe den ArduCounter (unbewusst) ohne Pulslängen-Kontrolle laufen gelassen. gem. meinem Verständnis müsste er also immer bzw. nur bei 5>0 zählen.
Das macht er gem. Log in der Regel auch korrekt z.B. 18:51:01 / 18:51:20
Dann aber 19:20:58 / 19:21:19 Pin geht Pin 4 von 0>5 und ArduCounter erhöht den Zähler aus einem mir nicht ersichtlichen Grund..... ???


2017.11.26 18:49:20 4: AC: adding 0 to long count 4489 and interpolated count 4489
2017.11.26 18:49:20 4: AC: Pin 4 (pin4) count 17 longCount 4489 interpCount 4489 (diff 0) in 360.000s, Avg Len ms, result 0.000
2017.11.26 18:49:20 4: AC: interval 18:43:20 until 18:49:20, First at , Last at
2017.11.26 18:51:01 3: AC: device: pin 4 changed state to 0 , count 18 (+1)
2017.11.26 18:51:20 4: AC: adding 1 to long count 4489 and interpolated count 4489
2017.11.26 18:51:20 4: AC: Pin 4 (pin4) count 18 longCount 4490 interpCount 4490 (diff 1) in 101.144s, Avg Len ms, result 0.036
2017.11.26 18:51:20 4: AC: interval 18:49:39 until 18:51:20, First at 101144, Last at 101144
2017.11.26 18:52:20 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.26 18:52:20 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 18:52:20 4: AC: interval 18:46:20 until 18:52:20, First at , Last at
2017.11.26 18:52:20 4: AC: Pin 5 (pin5) count 0 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 18:52:20 4: AC: interval 18:46:20 until 18:52:20, First at , Last at
2017.11.26 18:54:22 3: AC: device: pin 4 changed state to 1 , count 18 (+0)
2017.11.26 18:57:20 4: AC: adding 0 to long count 4490 and interpolated count 4490
2017.11.26 18:57:20 4: AC: Pin 4 (pin4) count 18 longCount 4490 interpCount 4490 (diff 0) in 378.856s, Avg Len ms, result 0.000
2017.11.26 18:57:20 4: AC: interval 18:51:01 until 18:57:20, First at , Last at
2017.11.26 18:58:20 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.26 18:58:20 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 18:58:20 4: AC: interval 18:52:20 until 18:58:20, First at , Last at
2017.11.26 18:58:20 4: AC: Pin 5 (pin5) count 0 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 18:58:20 4: AC: interval 18:52:20 until 18:58:20, First at , Last at
2017.11.26 19:03:20 4: AC: adding 0 to long count 4490 and interpolated count 4490
2017.11.26 19:03:20 4: AC: Pin 4 (pin4) count 18 longCount 4490 interpCount 4490 (diff 0) in 360.000s, Avg Len ms, result 0.000
2017.11.26 19:03:20 4: AC: interval 18:57:20 until 19:03:20, First at , Last at
2017.11.26 19:04:20 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.26 19:04:20 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 19:04:20 4: AC: interval 18:58:20 until 19:04:20, First at , Last at
2017.11.26 19:04:20 4: AC: Pin 5 (pin5) count 0 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 19:04:20 4: AC: interval 18:58:20 until 19:04:20, First at , Last at
2017.11.26 19:09:20 4: AC: adding 0 to long count 4490 and interpolated count 4490
2017.11.26 19:09:20 4: AC: Pin 4 (pin4) count 18 longCount 4490 interpCount 4490 (diff 0) in 360.000s, Avg Len ms, result 0.000
2017.11.26 19:09:20 4: AC: interval 19:03:20 until 19:09:20, First at , Last at
2017.11.26 19:10:20 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.26 19:10:20 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 19:10:20 4: AC: interval 19:04:20 until 19:10:20, First at , Last at
2017.11.26 19:10:20 4: AC: Pin 5 (pin5) count 0 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 19:10:20 4: AC: interval 19:04:20 until 19:10:20, First at , Last at
2017.11.26 19:14:47 3: AC: device: pin 4 changed state to 0 , count 19 (+1)
2017.11.26 19:15:20 4: AC: adding 1 to long count 4490 and interpolated count 4490
2017.11.26 19:15:20 4: AC: Pin 4 (pin4) count 19 longCount 4491 interpCount 4491 (diff 1) in 327.078s, Avg Len ms, result 0.011
2017.11.26 19:15:20 4: AC: interval 19:09:52 until 19:15:20, First at 327078, Last at 327078
2017.11.26 19:16:19 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.26 19:16:19 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 19:16:19 4: AC: interval 19:10:19 until 19:16:19, First at , Last at
2017.11.26 19:16:19 4: AC: Pin 5 (pin5) count 0 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 19:16:19 4: AC: interval 19:10:19 until 19:16:19, First at , Last at
2017.11.26 19:20:58 3: AC: device: pin 4 changed state to 1 , count 20 (+1)
2017.11.26 19:21:19 4: AC: adding 1 to long count 4491 and interpolated count 4491
2017.11.26 19:21:19 4: AC: Pin 4 (pin4) count 20 longCount 4492 interpCount 4492 (diff 1) in 372.010s, Avg Len ms, result 0.010
2017.11.26 19:21:19 4: AC: interval 19:15:07 until 19:21:19, First at 372010, Last at 372010
2017.11.26 19:22:19 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.26 19:22:19 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 19:22:19 4: AC: interval 19:16:19 until 19:22:19, First at , Last at
2017.11.26 19:22:19 4: AC: Pin 5 (pin5) count 0 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 19:22:19 4: AC: interval 19:16:19 until 19:22:19, First at , Last at
2017.11.26 19:24:06 3: AC: device: pin 4 changed state to 0 , count 21 (+1)
2017.11.26 19:24:19 4: AC: adding 1 to long count 4492 and interpolated count 4492
2017.11.26 19:24:19 4: AC: Pin 4 (pin4) count 21 longCount 4493 interpCount 4493 (diff 1) in 187.734s, Avg Len ms, result 0.019
2017.11.26 19:24:19 4: AC: interval 19:21:11 until 19:24:19, First at 187734, Last at 187734
2017.11.26 19:26:59 3: AC: device: pin 4 changed state to 1 , count 21 (+0)
2017.11.26 19:28:19 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.26 19:28:19 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 19:28:19 4: AC: interval 19:22:19 until 19:28:19, First at , Last at
2017.11.26 19:28:19 4: AC: Pin 5 (pin5) count 0 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.26 19:28:19 4: AC: interval 19:22:19 until 19:28:19, First at , Last at




Internals:
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         4
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         21
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.91
   VersionModule 5.3 - 26.11.2017
   buffer
   CounterInterpolated:
   READINGS:
     2017-11-26 23:47:10   OelVorrat       1002.9
     2017-11-26 23:47:10   OelZaehler      451.1
     2017-11-26 23:47:10   OelZaehlerI     451.1
     2017-11-26 23:47:10   countDiff4      0
     2017-11-26 23:46:10   countDiff6      0
     2017-11-26 23:47:10   interpolatedLong4 4511
     2017-11-26 23:46:10   interpolatedLong6 13112
     2017-11-26 23:47:10   lastMsg4        R4 C46 D0 R0 T399642 N32826713

     2017-11-26 23:46:10   lastMsg6        R6 C0 D0 R0 T360000 N32766695 X0

     2017-11-26 23:47:10   long4           4511
     2017-11-26 23:46:10   long6           13112
     2017-11-26 23:47:10   pin4            46
     2017-11-26 23:46:10   pin5            0
     2017-11-26 23:46:10   pin6            0
     2017-11-26 23:47:10   power4          0.000
     2017-11-26 23:46:10   power5          0.000
     2017-11-26 23:46:10   power6          0.000
     2017-11-26 23:47:10   reject4
     2017-11-26 23:46:10   reject6         0
     2017-11-26 14:48:57   state           opened
     2017-11-26 23:47:10   timeDiff4       399642
     2017-11-26 23:46:10   timeDiff6       360000
Attributes:
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 360
   pin4       falling pullup
   pin5       falling pullup 2000
   pin6       falling pullup 90
   readingFactor6 10000
   userReadings OelZaehler {ReadingsVal("AC","long4",0)/10},OelZaehlerI {ReadingsVal("AC","interpolatedLong4",0)/10},OelVorrat {1454-ReadingsVal("AC","OelZaehlerI",0)}
   userattr   pin4 pin5 pin6 readingFactor6 verboseReadings4 verboseReadings6
   verbose    4
   verboseReadings4 1
   verboseReadings6 1


Falls Du weitere Angaben benötigst, bitte melden.

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 28 November 2017, 07:14:07
Hallo birdy,

ich gehe davon aus, dass die Differenz von kurzen Störimpulsen ausgeht. Ohne Pulslängenkontrolle werden die mitgezählt.
Das Zählen erfolgt im Sketch über Interrupts und ist daher schnell. Die Debug-Ausgabe der Zustandsänderungen läuft aber in der Hauptschleife und ist für kurze Impulse zu langsam. Daher kann es gut sein, dass so ein kurzer Störimpuls zwar einen Interrupt auslöst und gezählt wird, aber in der Hauptschleife gar nicht bemerkt wird.

Daher würde ich empfehlen mit Pulslängenkontrolle zu zählen. Ein kurzer Störimpuls wird dann als "rejected" gezählt.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 28 November 2017, 14:35:18
Hallo Stefan

Ja möglicherweise prellt der Reed Kontakt. Vielen Dank für den Hinweis. Werde die nächste Messreihe mit Pulslängenkontrolle laufen lassen.

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: GlennDandy am 29 November 2017, 18:19:19
Hallo, hab es nach Gebaut und es scheint Zu funktionieren. :D Und somit bin ich schon einmal begeistert von eurer Arbeit. Hatte vorher den IST Verbrauch mit dem S0COUNTER Modul ausgelesen es geht geht auch schnell. Aber es gab unzählige Impulsspitzen.

Aber jetzt zu Frage?

Gibt es eine Möglichkeit das Modul mit dem HourCounter zuverbinden?
Im HourCounter wiki wird ja define <name> HourCounter <regexp_for_ON>

Gibt es eine Befehl für den on Wert? Oder könnnte man das Implementieren? Dann könnte man eine Tages/Monats/... Statistik führen?
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 30 November 2017, 17:39:10
Hallo,

schau doch mal das an:
https://fhem.de/commandref_DE.html#statistics

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 30 November 2017, 23:06:28
Hallo Stefan

Ich habe heute von 17:30 – 21:20 das Verhalten mit den DMM mitgeschnitten.
Der Durchlaufzähler hat 2.24L gezählt. In dieser Zeit ist das Signal gem. DMM Log 23x von 0>5. Der ArduCounter hat in dieser Zeit aber nur 15 Impulse gezählt. Während dieser Zeit sind also 8 Impulse ignoriert worden.
Die Debugg Funktion des ArduCounter hat alle Statusübergänge übereinstimmend zum DMM Log 1:1 erkannt.
Der Zähler reject4 hatte danach den Wert 0  (siehe List )
Die nicht gezählten Impulse kannst Du hier im Log finden.

18:35:17 / 18:37:04
18:49:57 / 18:51:03
18:54:21 / 18:55:03
19:28:12 / 19:29:02
20:20:14 / 20:01:01
20:46:49 / 20:48:49
20:56:59 / 20:58:59
21:02:43 / 21:04:59

Gruss birdy

Log

2017.11.30 17:28:10 3: AC: device: pin 4 changed state to 0 , count 344 (+0)  Rej 1
2017.11.30 17:29:06 4: AC: adding 0 to long count 4793 and interpolated count 4793
2017.11.30 17:29:06 4: AC: Pin 4 (pin4) count 344 longCount 4793 interpCount 4793 (diff 0) in 360.000s, reject 1, Avg Len ms, result 0.000
2017.11.30 17:29:06 4: AC: interval 17:23:06 until 17:29:06, First at , Last at
2017.11.30 17:31:06 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 17:31:06 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 17:31:06 4: AC: interval 17:25:06 until 17:31:06, First at , Last at
2017.11.30 17:35:06 4: AC: adding 0 to long count 4893 and interpolated count 4893
2017.11.30 17:35:06 4: AC: Pin 4 (pin4) count 344 longCount 4893 interpCount 4893 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 17:35:06 4: AC: interval 17:29:06 until 17:35:06, First at , Last at
2017.11.30 17:37:06 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 17:37:06 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 17:37:06 4: AC: interval 17:31:06 until 17:37:06, First at , Last at
2017.11.30 17:41:05 4: AC: adding 0 to long count 4893 and interpolated count 4893
2017.11.30 17:41:05 4: AC: Pin 4 (pin4) count 344 longCount 4893 interpCount 4893 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 17:41:05 4: AC: interval 17:35:05 until 17:41:05, First at , Last at
2017.11.30 17:41:45 3: AC: device: pin 4 changed state to 1 , count 345 (+1)  Rej 0
2017.11.30 17:42:05 4: AC: adding 1 to long count 4893 and interpolated count 4893
2017.11.30 17:42:05 4: AC: Pin 4 (pin4) count 345 longCount 4894 interpCount 4894 (diff 1) in 39.191s, reject 0, Avg Len 815499ms, result 0.092
2017.11.30 17:42:05 4: AC: interval 17:41:26 until 17:42:05, First at 39191, Last at 39191
2017.11.30 17:43:05 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 17:43:05 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 17:43:05 4: AC: interval 17:37:05 until 17:43:05, First at , Last at
2017.11.30 17:44:36 3: AC: device: pin 4 changed state to 0 , count 345 (+0)  Rej 0
2017.11.30 17:46:58 3: AC: device: pin 4 changed state to 1 , count 346 (+1)  Rej 0
2017.11.30 17:47:05 4: AC: adding 1 to long count 4894 and interpolated count 4894
2017.11.30 17:47:05 4: AC: Pin 4 (pin4) count 346 longCount 4895 interpCount 4895 (diff 1) in 313.321s, reject 0, Avg Len 141880ms, result 0.011
2017.11.30 17:47:05 4: AC: interval 17:41:52 until 17:47:05, First at 313321, Last at 313321
2017.11.30 17:49:05 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 17:49:05 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 17:49:05 4: AC: interval 17:43:05 until 17:49:05, First at , Last at
2017.11.30 17:49:06 3: AC: device: pin 4 changed state to 0 , count 346 (+0)  Rej 0
2017.11.30 17:51:29 3: AC: device: pin 4 changed state to 1 , count 347 (+1)  Rej 0
2017.11.30 17:52:05 4: AC: adding 1 to long count 4895 and interpolated count 4895
2017.11.30 17:52:05 4: AC: Pin 4 (pin4) count 347 longCount 4896 interpCount 4896 (diff 1) in 271.241s, reject 0, Avg Len 143317ms, result 0.013
2017.11.30 17:52:05 4: AC: interval 17:47:34 until 17:52:05, First at 271241, Last at 271241
2017.11.30 17:54:25 3: AC: device: pin 4 changed state to 0 , count 347 (+0)  Rej 0
2017.11.30 17:55:05 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 17:55:05 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 17:55:05 4: AC: interval 17:49:05 until 17:55:05, First at , Last at
2017.11.30 17:57:15 3: AC: device: pin 4 changed state to 1 , count 348 (+1)  Rej 0
2017.11.30 17:58:05 4: AC: adding 1 to long count 4896 and interpolated count 4896
2017.11.30 17:58:05 4: AC: Pin 4 (pin4) count 348 longCount 4897 interpCount 4897 (diff 1) in 346.313s, reject 0, Avg Len 169927ms, result 0.010
2017.11.30 17:58:05 4: AC: interval 17:52:19 until 17:58:05, First at 346313, Last at 346313
2017.11.30 18:01:05 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 18:01:05 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:01:05 4: AC: interval 17:55:05 until 18:01:05, First at , Last at
2017.11.30 18:04:05 4: AC: adding 0 to long count 4897 and interpolated count 4897
2017.11.30 18:04:05 4: AC: Pin 4 (pin4) count 348 longCount 4897 interpCount 4897 (diff 0) in 409.934s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:04:05 4: AC: interval 17:57:15 until 18:04:05, First at , Last at
2017.11.30 18:07:05 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 18:07:05 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:07:05 4: AC: interval 18:01:05 until 18:07:05, First at , Last at
2017.11.30 18:10:05 4: AC: adding 0 to long count 4897 and interpolated count 4897
2017.11.30 18:10:05 4: AC: Pin 4 (pin4) count 348 longCount 4897 interpCount 4897 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:10:05 4: AC: interval 18:04:05 until 18:10:05, First at , Last at
2017.11.30 18:13:04 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 18:13:04 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:13:04 4: AC: interval 18:07:04 until 18:13:04, First at , Last at
2017.11.30 18:16:04 4: AC: adding 0 to long count 4897 and interpolated count 4897
2017.11.30 18:16:04 4: AC: Pin 4 (pin4) count 348 longCount 4897 interpCount 4897 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:16:04 4: AC: interval 18:10:04 until 18:16:04, First at , Last at
2017.11.30 18:17:32 3: AC: device: pin 4 changed state to 0 , count 348 (+0)  Rej 0
2017.11.30 18:19:04 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 18:19:04 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:19:04 4: AC: interval 18:13:04 until 18:19:04, First at , Last at
2017.11.30 18:20:15 3: AC: device: pin 4 changed state to 1 , count 349 (+1)  Rej 0
2017.11.30 18:21:04 4: AC: adding 1 to long count 4897 and interpolated count 4897
2017.11.30 18:21:04 4: AC: Pin 4 (pin4) count 349 longCount 4898 interpCount 4898 (diff 1) in 250.662s, reject 0, Avg Len 163394ms, result 0.014
2017.11.30 18:21:04 4: AC: interval 18:16:54 until 18:21:04, First at 250662, Last at 250662
2017.11.30 18:23:10 3: AC: device: pin 4 changed state to 0 , count 349 (+0)  Rej 1
2017.11.30 18:25:04 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 18:25:04 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:25:04 4: AC: interval 18:19:04 until 18:25:04, First at , Last at
2017.11.30 18:27:04 4: AC: adding 0 to long count 4898 and interpolated count 4898
2017.11.30 18:27:04 4: AC: Pin 4 (pin4) count 349 longCount 4898 interpCount 4898 (diff 0) in 409.338s, reject 1, Avg Len ms, result 0.000
2017.11.30 18:27:04 4: AC: interval 18:20:15 until 18:27:04, First at , Last at
2017.11.30 18:31:04 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 18:31:04 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:31:04 4: AC: interval 18:25:04 until 18:31:04, First at , Last at
2017.11.30 18:33:04 4: AC: adding 0 to long count 4898 and interpolated count 4898
2017.11.30 18:33:04 4: AC: Pin 4 (pin4) count 349 longCount 4898 interpCount 4898 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:33:04 4: AC: interval 18:27:04 until 18:33:04, First at , Last at
2017.11.30 18:35:17 3: AC: device: pin 4 changed state to 1 , count 349 (+0)  Rej 1
2017.11.30 18:37:04 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 18:37:04 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:37:04 4: AC: interval 18:31:04 until 18:37:04, First at , Last at
2017.11.30 18:39:04 4: AC: adding 0 to long count 4898 and interpolated count 4898
2017.11.30 18:39:04 4: AC: Pin 4 (pin4) count 349 longCount 4898 interpCount 4898 (diff 0) in 360.000s, reject 1, Avg Len ms, result 0.000
2017.11.30 18:39:04 4: AC: interval 18:33:04 until 18:39:04, First at , Last at
2017.11.30 18:43:03 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 18:43:03 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:43:03 4: AC: interval 18:37:03 until 18:43:03, First at , Last at
2017.11.30 18:45:03 4: AC: adding 0 to long count 4898 and interpolated count 4898
2017.11.30 18:45:03 4: AC: Pin 4 (pin4) count 349 longCount 4898 interpCount 4898 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:45:03 4: AC: interval 18:39:03 until 18:45:03, First at , Last at
2017.11.30 18:47:22 3: AC: device: pin 4 changed state to 0 , count 349 (+0)  Rej 1
2017.11.30 18:49:03 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 18:49:03 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:49:03 4: AC: interval 18:43:03 until 18:49:03, First at , Last at
2017.11.30 18:49:57 3: AC: device: pin 4 changed state to 1 , count 349 (+0)  Rej 2
2017.11.30 18:51:03 4: AC: adding 0 to long count 4898 and interpolated count 4898
2017.11.30 18:51:03 4: AC: Pin 4 (pin4) count 349 longCount 4898 interpCount 4898 (diff 0) in 360.000s, reject 2, Avg Len ms, result 0.000
2017.11.30 18:51:03 4: AC: interval 18:45:03 until 18:51:03, First at , Last at
2017.11.30 18:52:05 3: AC: device: pin 4 changed state to 0 , count 349 (+0)  Rej 1
2017.11.30 18:54:21 3: AC: device: pin 4 changed state to 1 , count 349 (+0)  Rej 2
2017.11.30 18:55:03 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 18:55:03 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 18:55:03 4: AC: interval 18:49:03 until 18:55:03, First at , Last at
2017.11.30 18:57:03 4: AC: adding 0 to long count 4898 and interpolated count 4898
2017.11.30 18:57:03 4: AC: Pin 4 (pin4) count 349 longCount 4898 interpCount 4898 (diff 0) in 360.000s, reject 2, Avg Len ms, result 0.000
2017.11.30 18:57:03 4: AC: interval 18:51:03 until 18:57:03, First at , Last at
2017.11.30 18:57:18 3: AC: device: pin 4 changed state to 0 , count 349 (+0)  Rej 0
2017.11.30 19:01:03 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 19:01:03 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:01:03 4: AC: interval 18:55:03 until 19:01:03, First at , Last at
2017.11.30 19:03:03 4: AC: adding 0 to long count 4898 and interpolated count 4898
2017.11.30 19:03:03 4: AC: Pin 4 (pin4) count 349 longCount 4898 interpCount 4898 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:03:03 4: AC: interval 18:57:03 until 19:03:03, First at , Last at
2017.11.30 19:07:03 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 19:07:03 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:07:03 4: AC: interval 19:01:03 until 19:07:03, First at , Last at
2017.11.30 19:09:03 4: AC: adding 0 to long count 4898 and interpolated count 4898
2017.11.30 19:09:03 4: AC: Pin 4 (pin4) count 349 longCount 4898 interpCount 4898 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:09:03 4: AC: interval 19:03:03 until 19:09:03, First at , Last at
2017.11.30 19:13:02 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 19:13:02 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:13:02 4: AC: interval 19:07:02 until 19:13:02, First at , Last at
2017.11.30 19:14:44 3: AC: device: pin 4 changed state to 1 , count 350 (+1)  Rej 0
2017.11.30 19:15:02 4: AC: adding 1 to long count 4898 and interpolated count 4898
2017.11.30 19:15:02 4: AC: Pin 4 (pin4) count 350 longCount 4899 interpCount 4899 (diff 1) in 341.257s, reject 0, Avg Len 1046114ms, result 0.011
2017.11.30 19:15:02 4: AC: interval 19:09:21 until 19:15:02, First at 341257, Last at 341257
2017.11.30 19:17:38 3: AC: device: pin 4 changed state to 0 , count 350 (+0)  Rej 0
2017.11.30 19:19:02 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 19:19:02 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:19:02 4: AC: interval 19:13:02 until 19:19:02, First at , Last at
2017.11.30 19:19:28 3: AC: device: pin 4 changed state to 1 , count 351 (+1)  Rej 0
2017.11.30 19:20:02 4: AC: adding 1 to long count 4899 and interpolated count 4899
2017.11.30 19:20:02 4: AC: Pin 4 (pin4) count 351 longCount 4900 interpCount 4900 (diff 1) in 284.802s, reject 0, Avg Len 110373ms, result 0.013
2017.11.30 19:20:02 4: AC: interval 19:15:17 until 19:20:02, First at 284802, Last at 284802
2017.11.30 19:21:09 3: AC: device: pin 4 changed state to 0 , count 351 (+0)  Rej 0
2017.11.30 19:22:48 3: AC: device: pin 4 changed state to 1 , count 352 (+1)  Rej 0
2017.11.30 19:23:02 4: AC: adding 1 to long count 4900 and interpolated count 4900
2017.11.30 19:23:02 4: AC: Pin 4 (pin4) count 352 longCount 4901 interpCount 4901 (diff 1) in 199.455s, reject 0, Avg Len 98981ms, result 0.018
2017.11.30 19:23:02 4: AC: interval 19:19:43 until 19:23:02, First at 199455, Last at 199455
2017.11.30 19:25:02 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 19:25:02 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:25:02 4: AC: interval 19:19:02 until 19:25:02, First at , Last at
2017.11.30 19:25:23 3: AC: device: pin 4 changed state to 0 , count 352 (+0)  Rej 1
2017.11.30 19:28:12 3: AC: device: pin 4 changed state to 1 , count 352 (+0)  Rej 2
2017.11.30 19:29:02 4: AC: adding 0 to long count 4901 and interpolated count 4901
2017.11.30 19:29:02 4: AC: Pin 4 (pin4) count 352 longCount 4901 interpCount 4901 (diff 0) in 374.486s, reject 2, Avg Len ms, result 0.000
2017.11.30 19:29:02 4: AC: interval 19:22:47 until 19:29:02, First at , Last at
2017.11.30 19:31:02 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 19:31:02 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:31:02 4: AC: interval 19:25:02 until 19:31:02, First at , Last at
2017.11.30 19:35:02 4: AC: adding 0 to long count 4901 and interpolated count 4901
2017.11.30 19:35:02 4: AC: Pin 4 (pin4) count 352 longCount 4901 interpCount 4901 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:35:02 4: AC: interval 19:29:02 until 19:35:02, First at , Last at
2017.11.30 19:37:02 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 19:37:02 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:37:02 4: AC: interval 19:31:02 until 19:37:02, First at , Last at
2017.11.30 19:40:42 3: AC: device: pin 4 changed state to 0 , count 352 (+0)  Rej 0
2017.11.30 19:41:02 4: AC: adding 0 to long count 4901 and interpolated count 4901
2017.11.30 19:41:02 4: AC: Pin 4 (pin4) count 352 longCount 4901 interpCount 4901 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:41:02 4: AC: interval 19:35:02 until 19:41:02, First at , Last at
2017.11.30 19:43:01 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 19:43:01 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:43:01 4: AC: interval 19:37:01 until 19:43:01, First at , Last at
2017.11.30 19:47:01 4: AC: adding 0 to long count 4901 and interpolated count 4901
2017.11.30 19:47:01 4: AC: Pin 4 (pin4) count 352 longCount 4901 interpCount 4901 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:47:01 4: AC: interval 19:41:01 until 19:47:01, First at , Last at
2017.11.30 19:48:46 3: AC: device: pin 4 changed state to 1 , count 353 (+1)  Rej 0
2017.11.30 19:49:01 4: AC: adding 1 to long count 4901 and interpolated count 4901
2017.11.30 19:49:01 4: AC: Pin 4 (pin4) count 353 longCount 4902 interpCount 4902 (diff 1) in 104.928s, reject 0, Avg Len 484137ms, result 0.034
2017.11.30 19:49:01 4: AC: interval 19:47:16 until 19:49:01, First at 104928, Last at 104928
2017.11.30 19:49:01 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 19:49:01 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:49:01 4: AC: interval 19:43:01 until 19:49:01, First at , Last at
2017.11.30 19:51:42 3: AC: device: pin 4 changed state to 0 , count 353 (+0)  Rej 0
2017.11.30 19:54:27 3: AC: device: pin 4 changed state to 1 , count 354 (+1)  Rej 0
2017.11.30 19:55:01 4: AC: adding 1 to long count 4902 and interpolated count 4902
2017.11.30 19:55:01 4: AC: Pin 4 (pin4) count 354 longCount 4903 interpCount 4903 (diff 1) in 341.340s, reject 0, Avg Len 165051ms, result 0.011
2017.11.30 19:55:01 4: AC: interval 19:49:20 until 19:55:01, First at 341340, Last at 341340
2017.11.30 19:55:01 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 19:55:01 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 19:55:01 4: AC: interval 19:49:01 until 19:55:01, First at , Last at
2017.11.30 19:57:32 3: AC: device: pin 4 changed state to 0 , count 354 (+0)  Rej 1
2017.11.30 20:00:14 3: AC: device: pin 4 changed state to 1 , count 354 (+0)  Rej 2
2017.11.30 20:01:01 4: AC: adding 0 to long count 4903 and interpolated count 4903
2017.11.30 20:01:01 4: AC: Pin 4 (pin4) count 354 longCount 4903 interpCount 4903 (diff 0) in 393.732s, reject 2, Avg Len ms, result 0.000
2017.11.30 20:01:01 4: AC: interval 19:54:27 until 20:01:01, First at , Last at
2017.11.30 20:01:01 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 20:01:01 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:01:01 4: AC: interval 19:55:01 until 20:01:01, First at , Last at
2017.11.30 20:03:13 3: AC: device: pin 4 changed state to 0 , count 354 (+0)  Rej 0
2017.11.30 20:07:01 4: AC: adding 0 to long count 4903 and interpolated count 4903
2017.11.30 20:07:01 4: AC: Pin 4 (pin4) count 354 longCount 4903 interpCount 4903 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:07:01 4: AC: interval 20:01:01 until 20:07:01, First at , Last at
2017.11.30 20:07:01 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 20:07:01 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:07:01 4: AC: interval 20:01:01 until 20:07:01, First at , Last at
2017.11.30 20:13:00 4: AC: adding 0 to long count 4903 and interpolated count 4903
2017.11.30 20:13:00 4: AC: Pin 4 (pin4) count 354 longCount 4903 interpCount 4903 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:13:00 4: AC: interval 20:07:00 until 20:13:00, First at , Last at
2017.11.30 20:13:00 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 20:13:00 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:13:00 4: AC: interval 20:07:00 until 20:13:00, First at , Last at
2017.11.30 20:19:00 4: AC: adding 0 to long count 4903 and interpolated count 4903
2017.11.30 20:19:00 4: AC: Pin 4 (pin4) count 354 longCount 4903 interpCount 4903 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:19:00 4: AC: interval 20:13:00 until 20:19:00, First at , Last at
2017.11.30 20:19:00 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 20:19:00 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:19:00 4: AC: interval 20:13:00 until 20:19:00, First at , Last at
2017.11.30 20:20:49 3: AC: device: pin 4 changed state to 1 , count 355 (+1)  Rej 0
2017.11.30 20:21:00 4: AC: adding 1 to long count 4903 and interpolated count 4903
2017.11.30 20:21:00 4: AC: Pin 4 (pin4) count 355 longCount 4904 interpCount 4904 (diff 1) in 109.240s, reject 0, Avg Len 1056614ms, result 0.033
2017.11.30 20:21:00 4: AC: interval 20:19:11 until 20:21:00, First at 109240, Last at 109240
2017.11.30 20:23:42 3: AC: device: pin 4 changed state to 0 , count 355 (+0)  Rej 0
2017.11.30 20:25:00 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 20:25:00 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:25:00 4: AC: interval 20:19:00 until 20:25:00, First at , Last at
2017.11.30 20:26:29 3: AC: device: pin 4 changed state to 1 , count 356 (+1)  Rej 0
2017.11.30 20:27:00 4: AC: adding 1 to long count 4904 and interpolated count 4904
2017.11.30 20:27:00 4: AC: Pin 4 (pin4) count 356 longCount 4905 interpCount 4905 (diff 1) in 339.949s, reject 0, Avg Len 167296ms, result 0.011
2017.11.30 20:27:00 4: AC: interval 20:21:20 until 20:27:00, First at 339949, Last at 339949
2017.11.30 20:29:29 3: AC: device: pin 4 changed state to 0 , count 356 (+0)  Rej 1
2017.11.30 20:31:00 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 20:31:00 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:31:00 4: AC: interval 20:25:00 until 20:31:00, First at , Last at
2017.11.30 20:33:00 4: AC: adding 0 to long count 4905 and interpolated count 4905
2017.11.30 20:33:00 4: AC: Pin 4 (pin4) count 356 longCount 4905 interpCount 4905 (diff 0) in 390.811s, reject 1, Avg Len ms, result 0.000
2017.11.30 20:33:00 4: AC: interval 20:26:29 until 20:33:00, First at , Last at
2017.11.30 20:37:00 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 20:37:00 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:37:00 4: AC: interval 20:31:00 until 20:37:00, First at , Last at
2017.11.30 20:39:00 4: AC: adding 0 to long count 4905 and interpolated count 4905
2017.11.30 20:39:00 4: AC: Pin 4 (pin4) count 356 longCount 4905 interpCount 4905 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:39:00 4: AC: interval 20:33:00 until 20:39:00, First at , Last at
2017.11.30 20:42:59 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 20:42:59 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:42:59 4: AC: interval 20:36:59 until 20:42:59, First at , Last at
2017.11.30 20:44:59 4: AC: adding 0 to long count 4905 and interpolated count 4905
2017.11.30 20:44:59 4: AC: Pin 4 (pin4) count 356 longCount 4905 interpCount 4905 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:44:59 4: AC: interval 20:38:59 until 20:44:59, First at , Last at
2017.11.30 20:46:49 3: AC: device: pin 4 changed state to 1 , count 356 (+0)  Rej 1
2017.11.30 20:48:59 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 20:48:59 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:48:59 4: AC: interval 20:42:59 until 20:48:59, First at , Last at
2017.11.30 20:49:45 3: AC: device: pin 4 changed state to 0 , count 356 (+0)  Rej 1
2017.11.30 20:50:59 4: AC: adding 0 to long count 4905 and interpolated count 4905
2017.11.30 20:50:59 4: AC: Pin 4 (pin4) count 356 longCount 4905 interpCount 4905 (diff 0) in 360.000s, reject 1, Avg Len ms, result 0.000
2017.11.30 20:50:59 4: AC: interval 20:44:59 until 20:50:59, First at , Last at
2017.11.30 20:52:14 3: AC: device: pin 4 changed state to 1 , count 357 (+1)  Rej 0
2017.11.30 20:52:59 4: AC: adding 1 to long count 4905 and interpolated count 4905
2017.11.30 20:52:59 4: AC: Pin 4 (pin4) count 357 longCount 4906 interpCount 4906 (diff 1) in 74.544s, reject 0, Avg Len 149033ms, result 0.048
2017.11.30 20:52:59 4: AC: interval 20:51:45 until 20:52:59, First at 74544, Last at 74544
2017.11.30 20:54:27 3: AC: device: pin 4 changed state to 0 , count 357 (+0)  Rej 1
2017.11.30 20:54:59 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 20:54:59 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 20:54:59 4: AC: interval 20:48:59 until 20:54:59, First at , Last at
2017.11.30 20:56:59 3: AC: device: pin 4 changed state to 1 , count 357 (+0)  Rej 2
2017.11.30 20:58:59 4: AC: adding 0 to long count 4906 and interpolated count 4906
2017.11.30 20:58:59 4: AC: Pin 4 (pin4) count 357 longCount 4906 interpCount 4906 (diff 0) in 405.456s, reject 2, Avg Len ms, result 0.000
2017.11.30 20:58:59 4: AC: interval 20:52:13 until 20:58:59, First at , Last at
2017.11.30 20:59:54 3: AC: device: pin 4 changed state to 0 , count 357 (+0)  Rej 1
2017.11.30 21:00:59 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 21:00:59 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 21:00:59 4: AC: interval 20:54:59 until 21:00:59, First at , Last at
2017.11.30 21:02:43 3: AC: device: pin 4 changed state to 1 , count 357 (+0)  Rej 2
2017.11.30 21:04:59 4: AC: adding 0 to long count 4906 and interpolated count 4906
2017.11.30 21:04:59 4: AC: Pin 4 (pin4) count 357 longCount 4906 interpCount 4906 (diff 0) in 360.000s, reject 2, Avg Len ms, result 0.000
2017.11.30 21:04:59 4: AC: interval 20:58:59 until 21:04:59, First at , Last at
2017.11.30 21:06:59 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 21:06:59 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 21:06:59 4: AC: interval 21:00:59 until 21:06:59, First at , Last at
2017.11.30 21:10:59 4: AC: adding 0 to long count 4906 and interpolated count 4906
2017.11.30 21:10:59 4: AC: Pin 4 (pin4) count 357 longCount 4906 interpCount 4906 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 21:10:59 4: AC: interval 21:04:59 until 21:10:59, First at , Last at
2017.11.30 21:12:58 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 21:12:58 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 21:12:58 4: AC: interval 21:06:58 until 21:12:58, First at , Last at
2017.11.30 21:16:58 4: AC: adding 0 to long count 4906 and interpolated count 4906
2017.11.30 21:16:58 4: AC: Pin 4 (pin4) count 357 longCount 4906 interpCount 4906 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 21:16:58 4: AC: interval 21:10:58 until 21:16:58, First at , Last at
2017.11.30 21:18:58 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 21:18:58 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 21:18:58 4: AC: interval 21:12:58 until 21:18:58, First at , Last at
2017.11.30 21:19:52 3: AC: device: pin 4 changed state to 0 , count 357 (+0)  Rej 0
2017.11.30 21:22:38 3: AC: device: pin 4 changed state to 1 , count 358 (+1)  Rej 0
2017.11.30 21:22:58 4: AC: adding 1 to long count 4906 and interpolated count 4906
2017.11.30 21:22:58 4: AC: Pin 4 (pin4) count 358 longCount 4907 interpCount 4907 (diff 1) in 339.616s, reject 0, Avg Len 165550ms, result 0.011
2017.11.30 21:22:58 4: AC: interval 21:17:19 until 21:22:58, First at 339616, Last at 339616
2017.11.30 21:24:58 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 21:24:58 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 21:24:58 4: AC: interval 21:18:58 until 21:24:58, First at , Last at
2017.11.30 21:25:34 3: AC: device: pin 4 changed state to 0 , count 358 (+0)  Rej 0
2017.11.30 21:28:24 3: AC: device: pin 4 changed state to 1 , count 359 (+1)  Rej 0
2017.11.30 21:28:58 4: AC: adding 1 to long count 4907 and interpolated count 4907
2017.11.30 21:28:58 4: AC: Pin 4 (pin4) count 359 longCount 4908 interpCount 4908 (diff 1) in 346.147s, reject 0, Avg Len 169740ms, result 0.010
2017.11.30 21:28:58 4: AC: interval 21:23:12 until 21:28:58, First at 346147, Last at 346147
2017.11.30 21:30:58 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 21:30:58 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 21:30:58 4: AC: interval 21:24:58 until 21:30:58, First at , Last at
2017.11.30 21:34:58 4: AC: adding 0 to long count 4908 and interpolated count 4908
2017.11.30 21:34:58 4: AC: Pin 4 (pin4) count 359 longCount 4908 interpCount 4908 (diff 0) in 394.237s, reject 0, Avg Len ms, result 0.000
2017.11.30 21:34:58 4: AC: interval 21:28:24 until 21:34:58, First at , Last at
2017.11.30 21:36:58 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 21:36:58 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 21:36:58 4: AC: interval 21:30:58 until 21:36:58, First at , Last at
2017.11.30 21:40:58 4: AC: adding 0 to long count 4908 and interpolated count 4908
2017.11.30 21:40:58 4: AC: Pin 4 (pin4) count 359 longCount 4908 interpCount 4908 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 21:40:58 4: AC: interval 21:34:58 until 21:40:58, First at , Last at
2017.11.30 21:42:57 4: AC: adding 0 to long count 13112 and interpolated count 13112
2017.11.30 21:42:57 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.11.30 21:42:57 4: AC: interval 21:36:57 until 21:42:57, First at , Last at


List

Internals:
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         4
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         21
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.91
   VersionModule 5.3 - 26.11.2017
   buffer
   CounterInterpolated:
   READINGS:
     2017-11-30 21:34:58   OelVorrat       963.2
     2017-11-30 21:34:58   OelZaehler      490.8
     2017-11-30 21:34:58   OelZaehlerI     490.8
     2017-11-30 21:34:58   countDiff4      0
     2017-11-30 21:30:58   countDiff6      0
     2017-11-30 21:34:58   interpolatedLong4 4908
     2017-11-30 21:30:58   interpolatedLong6 13112
     2017-11-30 21:34:58   lastMsg4        R4 C359 D0 R0 T394237 N370686695 X0

     2017-11-30 21:30:58   lastMsg6        R6 C0 D0 R0 T360000 N370446695 X0

     2017-11-30 21:34:58   long4           4908
     2017-11-30 21:30:58   long6           13112
     2017-11-30 21:34:58   pin4            359
     2017-11-30 21:30:58   pin6            0
     2017-11-30 21:34:58   power4          0.000
     2017-11-30 21:30:58   power6          0.000
     2017-11-30 21:34:58   reject4         0
     2017-11-30 21:30:58   reject6         0
     2017-11-28 08:45:23   state           opened
     2017-11-30 21:34:58   timeDiff4       394237
     2017-11-30 21:30:58   timeDiff6       360000
Attributes:
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 360
   pin4       falling pullup 2000
   pin6       falling pullup 90
   readingFactor6 10000
   userReadings OelZaehler {ReadingsVal("AC","long4",0)/10},OelZaehlerI {ReadingsVal("AC","interpolatedLong4",0)/10},OelVorrat {1454-ReadingsVal("AC","OelZaehlerI",0)}
   userattr   pin4 pin5 pin6 readingFactor6 verboseReadings4 verboseReadings6
   verbose    4
   verboseReadings4 1
   verboseReadings6 1
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: GlennDandy am 01 Dezember 2017, 02:16:07
Zitat von: StefanStrobel am 30 November 2017, 17:39:10
Hallo,

schau doch mal das an:
https://fhem.de/commandref_DE.html#statistics

Gruss
    Stefan

Genau das was ich gesucht habe. Danke für die Info.
Hab am Impuls Zähler den Wert mit den vom Arducounter Verglichen von 1Tag.  Konnte keine Abweichung feststellen.

Hab ich etwas übersehen oder gibt's die Möglichkeit nen Start Count zusetzten?

edit: Habs gelesen, userReadings ist das Sprichwort mit dem Monotonic Befehl, damits den Zähler nicht zurück setzt.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 02 Dezember 2017, 20:56:14
Hallo GlennDandy,

user readings und monotonic brauchst Du nicht wenn Du für das jeweilige Pin verboseReadingsX (X=Pin-Nummer) setzt.
Den Start-Wert des longCounters kannst Du dann mit setreading setzen.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 02 Dezember 2017, 21:10:20
Hallo birdy,

vielen Dank für das ausführliche Testen. Ich denke wir kommen der Sache näher!


2017.11.30 18:35:17 3: AC: device: pin 4 changed state to 1 , count 349 (+0)  Rej 1

zeigt dass gerade auch ein Impuls rejected wurde.
Das scheint bei Dir oft der Fall zu sein. Die Frage ist nun warum die Impulse als rejected gewertet werden.
Nach Deiner Definition müsste dafür der Impuls oder die Pause vor dem Impuls kleiner als 2 Sekunden sein.
Setz doch mal den Minimalwert auf 100 statt 2000. Das sollte ausreichen um ein Prellen auszufiltern.

Anbei eine neue Version, bei der die zurückgewiesenen Pulse auch summiert werden. Das Modul hat das bisher nicht gemacht (Bug).
Zudem habe ich im Sketch eine zusätzliche Debug-Ausgabe eingebaut, die die letzten 4 Impulslängen und die Pausen dazwischen ausgibt.
Ich hoffe, damit finden wir den Fehler bald.

Ergänzung: der angehängte Sketch hat immer noch das spezielle Debugging aktiviert und ist deshalb für den Normalgebrauch nicht geeignet.

Gruss
   Stefan

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 03 Dezember 2017, 01:16:48
Hallo Stefan

Bin wirklich froh um Deine Unterstützung. Ein hervorragender Service. Vielen vielen Dank.
Ich habe die neuen Versionen installiert. Jetzt zählt der Reject Zähler.

Nachfolgend ein Auszug aus dem Log.
Falls ich mit weiteren Test oder Messungen weiter helfen kann, bitte melden.

Internals:
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         4
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         21
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.92
   VersionModule 5.4 - 02.12.2017
   buffer
   CounterInterpolated:
   READINGS:
     2017-12-03 01:08:02   OelVorrat       938.5
     2017-12-03 01:08:02   OelZaehler      515.5
     2017-12-03 01:08:02   OelZaehlerI     515.5
     2017-12-03 01:04:03   countDiff4      1
     2017-12-03 01:08:02   countDiff6      0
     2017-12-03 01:04:03   interpolatedLong4 5155
     2017-12-03 01:08:02   interpolatedLong6 13112
     2017-12-03 01:04:03   lastMsg4        R4 C9 D1 R1 T95078 N10924502 X0 F95078 L95078 A166299

     2017-12-03 01:08:02   lastMsg6        R6 C0 D0 R0 T360000 N11164502 X0

     2017-12-03 01:04:03   long4           5155
     2017-12-03 01:08:02   long6           13112
     2017-12-03 01:04:03   pin4            9
     2017-12-03 01:08:02   pin6            0
     2017-12-03 01:04:03   power4          0.038
     2017-12-03 01:08:02   power6          0.000
     2017-12-03 01:04:03   reject4         2
     2017-12-03 01:08:02   reject6         0
     2017-12-02 22:02:06   state           opened
     2017-12-03 01:04:03   timeDiff4       95078
     2017-12-03 01:08:02   timeDiff6       360000
Attributes:
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 360
   pin4       falling pullup 100
   pin6       falling pullup 90
   readingFactor6 10000
   userReadings OelZaehler {ReadingsVal("AC","long4",0)/10},OelZaehlerI {ReadingsVal("AC","interpolatedLong4",0)/10},OelVorrat {1454-ReadingsVal("AC","OelZaehlerI",0)}
   userattr   pin4 pin5 pin6 readingFactor6 verboseReadings4 verboseReadings6
   verbose    4
   verboseReadings4 1
   verboseReadings6 1


2017.12.02 23:20:06 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.02 23:20:06 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.02 23:20:06 4: AC: interval 23:14:06 until 23:20:06, First at , Last at
2017.12.02 23:22:06 4: AC: Pin 4 debug: adding 0 to long count 5148 and interpolated count 5148
2017.12.02 23:22:06 4: AC: Pin 4 (pin4) count 2 longCount 5148 interpCount 5148 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.02 23:22:06 4: AC: interval 23:16:06 until 23:22:06, First at , Last at
2017.12.02 23:22:40 3: AC: device: pin 4 changed state to 0 , count 2 (+0)  Rej 0   pulse history (ms): 0 pulse, 0 gap,  168738 pulse, 171265 gap,  208399 pulse, 2790606 gap,  0 pulse, 0 gap
2017.12.02 23:25:53 3: AC: device: pin 4 changed state to 1 , count 3 (+1)  Rej 1   pulse history (ms): 0 pulse, 0 gap,  192169 pulse, 1499503 gap,  0 pulse, 0 gap,  168738 pulse, 171265 gap
2017.12.02 23:26:06 4: AC: Pin 4 debug: adding 1 to long count 5148 and interpolated count 5148
2017.12.02 23:26:06 4: AC: Pin 4 (pin4) count 3 longCount 5149 interpCount 5149 (diff 1) in 226.662s, reject 1, Avg Len 192169ms, result 0.016
2017.12.02 23:26:06 4: AC: interval 23:22:19 until 23:26:06, First at 226662, Last at 226662
2017.12.02 23:26:06 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.02 23:26:06 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.02 23:26:06 4: AC: interval 23:20:06 until 23:26:06, First at , Last at
2017.12.02 23:28:50 3: AC: device: pin 4 changed state to 0 , count 3 (+0)  Rej 0   pulse history (ms): 0 pulse, 0 gap,  192169 pulse, 1499503 gap,  0 pulse, 0 gap,  168738 pulse, 171265 gap


Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 03 Dezember 2017, 12:07:23
Hallo birdy,

in dem Log-Ausschnitt scheinen keine Impulse verloren zu gehen.
Dein Signal prellt zwar, aber im angehängten Log-Auszug wird der Puls dennoch gezählt.


2017.12.02 23:22:40 3: AC: device: pin 4 changed state to 0 , count 2 (+0)  Rej 0   pulse history (ms): 0 pulse, 0 gap,  168738 pulse, 171265 gap,  208399 pulse, 2790606 gap,  0 pulse, 0 gap
2017.12.02 23:25:53 3: AC: device: pin 4 changed state to 1 , count 3 (+1)  Rej 1   pulse history (ms): 0 pulse, 0 gap,  192169 pulse, 1499503 gap,  0 pulse, 0 gap,  168738 pulse, 171265 gap
2017.12.02 23:26:06 4: AC: Pin 4 debug: adding 1 to long count 5148 and interpolated count 5148
2017.12.02 23:26:06 4: AC: Pin 4 (pin4) count 3 longCount 5149 interpCount 5149 (diff 1) in 226.662s, reject 1, Avg Len 192169ms, result 0.016


um 23:25 geht das Signal auf 1. Es war nach einer Pause von 1499503 ms (24 Minuten) auf 0 gegangen, ist dann 192169 ms (3 Minuten) auf 0 geblieben und dann wieder auf 1 gegangen. Dabei ist es einmal sehr schnell auf 0 und wieder 1 gesprungen (0 pulse, 0 gap). Das hat Interrupts und einen "reject" erzeugt, war aber zu schnell um in der Hauptschleife einen Log-Eintrag zu erzeugen.
Der Zähler ist folglich um 1 erhöht worden (count 3 (+1)).

Schau mal ob Du im Log Einträge findest, bei denen ein langsamer Impuls sichtbar ist (device: pin 4 changed state to 1) aber ohne dass der Zähler erhöht wird.
Dann hoffe ich, dass die puls history uns erklären kann, was da passiert ist ...

Gruss
   Stefan

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 03 Dezember 2017, 13:22:37
Hallo Stefan

Ich habe soeben (13:00) die Zähler gecheckt. Momentan stimmt der Durchflussmesser und der ArduConter noch überein. Gleichstand keine Abweichung über die Nacht.  :)
Und dies obwohl seit der letzten Synchronisation ca. 50 Impulse gezählt wurden.  Reiner Zufall?

Mach wohl so keinen Sinn das Logs genauer zu untersuchen?

Ich behalte das Ganze im Auge.
Könnte es sein, dass Deine letzte Änderung (Fix Reject Zähler) hier eine Verbesserung bewirkt hat?

Gruss bridy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 03 Dezember 2017, 13:45:12
Hallo birdy,

meine letzten Änderungen können eigentlich keine Auswirkungen haben.
Eventuell hat aber die Einstellung der minimalen Pulsdauer einen Einfluss.
Du könntest die zum Testen wieder auf 2000 setzen.
Wenn es sonst keine Abweichungen gibt, hilft das eventuell bei der Fehlersuche.
Oder Deine Ölpumpe hat zwischendrin "Spurts", bei denen die Impulse tatsächlich kürzer als 2 Sekunden waren ...

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 13 Dezember 2017, 17:39:40
Hallo birdy,

gibt es etwas Neues von Deinem Ölzähler?
Hast Du noch Abweichungen oder stimmen die Zähler inzwischen überein?

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 15 Dezember 2017, 00:07:12
Hallo Stefan

Der AdruConter ist nun knapp 2 Wochen mit einer Pulslängen-Kontrolle von 100 gelaufen. Dabei hat alles ausgezeichnet funktioniert. Über die gesamte Zeit keine Abweichung, 100% Übereinstimmung. Perfekt. Die letzten zwei Tage hab ich noch mit 2000 getestet. Auch hier keine Abweichungen.  :)
Auch wenn Du anderer Meinung bist, der letzte Change hat den entscheidenden Unterschied gebracht, zumindest bei mir.
Die von Dir angenommen ,,Spurts" der Ölpumpe sind ausgeschlossen, das würde ja bedeuten, das 0.1 Liter in 2 Sekunden durchlaufen. Unmöglich!

Jetzt könnte die spezielle Debug - Firmwareversion wieder mit einer regulären ersetzt werden.


Internals:
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         4
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         21
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.92
   VersionModule 5.4 - 02.12.2017
   buffer
   CounterInterpolated:
   READINGS:
     2017-12-14 23:52:14   OelVorrat       808.2
     2017-12-14 23:52:14   OelZaehler      645.8
     2017-12-14 23:52:14   OelZaehlerI     645.8
     2017-12-14 23:52:14   countDiff4      0
     2017-12-14 23:52:14   countDiff6      0
     2017-12-14 23:52:14   interpolatedLong4 6458
     2017-12-14 23:52:14   interpolatedLong6 13112
     2017-12-14 23:52:14   lastMsg4        R4 C1311 D0 R0 T360000 N1044004502 X0

     2017-12-14 23:52:14   lastMsg6        R6 C0 D0 R0 T360000 N1044004502 X0

     2017-12-14 23:52:14   long4           6458
     2017-12-14 23:52:14   long6           13112
     2017-12-14 23:52:14   pin4            1311
     2017-12-14 23:52:14   pin6            0
     2017-12-14 23:52:14   power4          0.000
     2017-12-14 23:52:14   power6          0.000
     2017-12-14 23:52:14   reject4         47
     2017-12-14 23:52:14   reject6         0
     2017-12-09 12:58:05   state           opened
     2017-12-14 23:52:14   timeDiff4       360000
     2017-12-14 23:52:14   timeDiff6       360000
Attributes:
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 360
   pin4       falling pullup 2000
   pin6       falling pullup 90
   readingFactor6 10000
   userReadings OelZaehler {ReadingsVal("AC","long4",0)/10},OelZaehlerI {ReadingsVal("AC","interpolatedLong4",0)/10},OelVorrat {1454-ReadingsVal("AC","OelZaehlerI",0)}
   userattr   pin4 pin5 pin6 readingFactor6 verboseReadings4 verboseReadings6
   verbose    4
   verboseReadings4 1
   verboseReadings6 1


Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 17 Dezember 2017, 20:37:01
hallo,

anbei das ganze wieder ohne Debug-Code.
Eigentlich ist es nur ein #define slowDebug, der geändert werden muss.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 17 Dezember 2017, 22:05:16
Hallo Stefan

Immer noch Gleichstand zwischen dem mechanischen Zähler und dem ArduConter. Also alles bestens, auch mit einer Pulslängen-Kontrolle von 2000 ;)
Jetzt habe ich soeben die neue Firmware (1.93) aufgespielt.
Vielen Dank für bereitstellen.

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: hermann258 am 19 Dezember 2017, 13:23:16
Hallo
Ich habe alles auf den neuesten Stand gebracht ,leider steht jetzt nur noch opened in Fhem.
Wie kann ich das beheben
Gruß Hermann
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 19 Dezember 2017, 14:44:27
Hallo Stefan

Es ist wie verhext. Seit Sonntag habe ich die Firmwaren Version von Post #240 (1.93) im Einsatz. Seit diesem Zeitpunkt treten bei mir wieder täglich massive Abweichungen auf. Etwa 25%-35% der Impulse werden nicht gezählt.  :(

Ich denke ich werde versuchen die Firmware nochmals aufzuspielen. Sonst hat ja nichts geändert gegenüber der letzten Woche.
Hast Du evtl. noch eine Idee was das Problem sein könnte?

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Nighthawk am 19 Dezember 2017, 20:04:49
Hallo zusammen,

auch ich kann bestätigen, dass seit dem Flashen der 1.93 nur ein Bruchteil gezählt wird.
Ich habe eben die 1.90 wieder geflasht und siehe da, es wird alles gezählt.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 22 Dezember 2017, 15:08:48
Hallo,

das ist wirklich seltsam.
Alles was ich seit Sketch Version 1.9(0) eingebaut habe, waren Debug-Features um herauszufinden, warum in der 1.90er bei birdy Impulse nicht gezählt werden.
Das Zwischenergebnis war, dass die fehlenden Impulse, die ich in birdys Log sehen konnte, als rejected gezählt wurden. Das ist ein Feature der Impulslängenkontrolle, die zu kurze Impulse bzw. Störungen ignoriert. Ob die fehlenden Impulse zu recht ignoriert wurden oder nicht, kann ich natürlich nicht sagen.

Bei den langsamen Impulsen von birdys Ölpumpe wäre ein Vergleich mit dem Protokoll eines DMM ideal zur Fehlersuche, nur leider sind seit der erweiterten Debug-Ausgabe keine Abweichungen mehr aufgetreten. Das ist schon verhext.

Der Unterschied von 1.92 zu 1.93 ist der #define slowdebug.
wenn slowdebug definiert ist, werden zusätzliche Werte (Länge der letzten Impulse und der Pausen dazwischen) gespeichert und ausgegeben. Die Code-Größe und der RAM-Bedarf steigen dadurch. Am Zählen per Interrupt sollte sich dadurch nichts ändern.

@birdy: wenn Du in Zeile 73 die Kommentarzeichen (//) entfernst, wird der Debug-Code wieder reincompiliert. Bitte prüf doch mal, ob bei Dir dann alles wieder klappt.
Das beantwortet dann zwar immer noch nicht warum das so ist, aber immerhin sind wir dann sicher, dass der Debug-Code tatsächlich den Unterschied macht und ich kann da weitersuchen.
Unabhängig von den Debug-Ausgaben habe ich seit 1.9(0) nur zusätzliche Kommentare eingefügt, ein paar Variablennamen geändert, so dass ihre Funktion leichter verständlich ist und unbenutzte Variable entfernt. Das alles darf keine Auswirkungen auf die Funktion des compilats haben.

@Nighthawk: verwendest Du Pulslängenkontrolle? werden Impulse rejected? Womit vergleichst Du die gezählten Impulse? Die 1.9(0), die bei Dir und auch bisher allen anderen Anwendern funktioniert, ist genau die, die bei birdys Ölpumpe nicht funktioniert. Oder meintest Du die 1.92, auf die Du zurück gegangen bist?
Hast Du einen Stromzähler mit S0-Ausgang oder auch einen Spezial-Zähler mit Reedkontakt?

Da ich das Problem leider nicht nachstellen kann, bin ich weiter auf Eure Hilfe beim Testen / Eingrenzen angewiesen.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 23 Dezember 2017, 11:44:25
Hallo Stefan

Erst mal eine Frage:
Ich habe wie in früheren  Post, vor einigen Monaten  diskutieret, einen Kondensator verbaut. Macht dies in der aktuellen Firm- /Software Kombination noch einen Sinn?
Ohne diesen Kondensator würde das flashen der Firmware etwas einfacher gehen.

Zitat von: StefanStrobel am 22 Dezember 2017, 15:08:48
@birdy: wenn Du in Zeile 73 die Kommentarzeichen (//) entfernst, wird der Debug-Code wieder reincompiliert. Bitte prüf doch mal, ob bei Dir dann alles wieder klappt.
Klaro, werde ich in den nächsten Tagen machen.


Zitat von: StefanStrobel am 22 Dezember 2017, 15:08:48
Ob die fehlenden Impulse zu recht ignoriert wurden oder nicht, kann ich natürlich nicht sagen. 
In der letzten korrekt funktionierenden Version (mit Debug Option) hatte ich immer wieder Rejects. Offensichtlich prellt der Kontakt bei mir (manchmal). Diese Impulse wurden also zu recht ignoriert. Ich hatte ja während rund 2 Wochen keinerlei Abweichung, nicht einen einzigen Impuls. Wie es in der letzten Version (ohne Debut Option) aussieht kann ich auch nicht sagen. Ich sehe gerade auch keine Möglichkeit die berechtigen Rejects von allfälligen nicht berechtigten zu unterscheiden.


Zitat von: StefanStrobel am 22 Dezember 2017, 15:08:48
Da ich das Problem leider nicht nachstellen kann, bin ich weiter auf Eure Hilfe beim Testen / Eingrenzen angewiesen.
Mache ich sehr gerne, werde ja von Dir auch sehr tatkräftig unterstützt.  :)

Gruss birdy

PS: Ist zwar nicht von Bedeutung aber meine ,,Ölpumpe" ist genau genommen ein Ringkolbendurchfluszähler. 
http://www.weinmann-schanz.de/de/de/Heizung/%C3%96l-Installation/%C3%96lz%C3%A4hler/pid.1143.1160/agid.89208.89536.2378/ecm.ag/Ringkolbenz%C3%A4hler-AQUA-METRO-VZO-4-8-mit-Innengewindeanschluss.html
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 23 Dezember 2017, 18:17:48
Hallo birdy,

ich würde den Kondensator drin lassen.
Zum Flashen habe ich auf meinem Fhem-Raspberry, an dem der Arduino angeschlossen ist, avrdude installiert. Dann kann man die neue Firmware (als hex-File) direkt aus Fhem heraus flashen und muss keine Kabel abklemmen. Einfach set flash.

Bin gespannt, was Deine weiteren Tests ergeben.
Ich habe gerade nochmals per diff geprüft, ob ich wirklich nicht versehentlich noch etwas anderes geändert habe, aber zwischen 1.92 und 1.93 ändert sich nur der #define und der Versionsstring. Folglich müsste dann ja mit Debug-Code wieder alles funktionieren.
Ich werde dann schrittweise die Debug-Funktionen wieder entfernen um so einzugrenzen, an welcher Stelle es Seiteneffekte gibt...

Noch eine Frage zum Verhalten mit der 1.93er Version ohne Debug-Ausgabe:
Sind die jetzt fehlenden Pulse als Rejected gezählt worden oder fehlen die einfach spurlos?
Kannst Du mit dem DMM und gleichzeitigem Fhem-Log mit verbose 5 nochmal ein Protokoll posten wo man die fehlenden Pulse sieht?

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Nighthawk am 23 Dezember 2017, 20:50:13
Hallo Stefan,

ich nutze den Arducounter für einen Gas und einen Wasserzähler mit Reedkontakt.
Pulslängenkontrolle habe ich bisher nicht genutzt.
Rejects habe ich wenige mit der 1.90, mit der 1.93 sind die fehlenden Impulse gar nicht da.
Ich teste gerade die 1,92 und hier werden die rejectete Impulse mitgezählt und es ist nun sehr nahe an dem realen Zähler, ich beobachte es noch ein paar tage.

Hier ein List von meiem aktuellen Device:

Internals:
   DEF        /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@38400
   DeviceName /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@38400
   FD         4
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         1100
   NTFY_ORDER 50-AC
   PARTIAL   
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.92
   VersionModule 5.4 - 02.12.2017
   buffer     
   CounterInterpolated:
 
   READINGS:
     2017-12-23 20:47:12   GasZaehler      96185
     2017-12-18 19:59:54   GasZaehlerStart 91772
     2017-12-23 20:47:12   Gaszaehler_Longcount 4413
     2017-12-23 20:47:12   WasserZaehler   549728
     2017-12-23 17:57:08   WasserZaehlerStart 534835
     2017-12-23 20:45:12   Wasserzaehler_Longcount 14893
     2017-12-23 20:47:12   countDiff4      0
     2017-12-23 20:45:12   countDiff6      0
     2017-12-23 20:47:12   interpolatedLong4 4415
     2017-12-23 20:45:12   interpolatedLong6 1737
     2017-12-23 20:47:12   lastMsg4        R4 C327 D0 R0 T360000 N357120548 X0
     2017-12-23 20:45:12   lastMsg6        R6 C1737 D0 R0 T360000 N357000548 X0
     2017-10-23 10:34:20   long4           2
     2017-12-23 20:47:12   pin4            327
     2017-12-23 20:45:12   pin6            1737
     2017-12-23 20:47:12   power4          0.000
     2017-12-23 20:45:12   power6          0.000
     2017-12-23 20:47:12   reject4         166
     2017-12-23 20:45:12   reject6         21
     2017-12-23 20:47:12   statGasZaehler  Hour: 6 Day: 70 Month: 1993 Year: 4497 (since: 2017-10-23 )
     2017-12-23 20:47:12   statGasZaehlerDay 70
     2017-12-22 23:59:55   statGasZaehlerDayLast 77
     2017-12-23 19:59:55   statGasZaehlerLast Hour: 9 Day: 77 Month: 2127 Year: -
     2017-12-23 20:47:12   statGasZaehlerMonth 1993
     2017-11-30 23:59:55   statGasZaehlerMonthLast 2127
     2017-12-23 20:47:12   statWasserZaehler Hour: 17 Day: 525 Month: 6504 Year: 17674 (since: 2017-10-23 )
     2017-12-23 20:47:12   statWasserZaehlerDay 525
     2017-12-22 23:59:55   statWasserZaehlerDayLast 158
     2017-12-23 19:59:55   statWasserZaehlerLast Hour: 203 Day: 158 Month: 8116 Year: -
     2017-12-23 20:47:12   statWasserZaehlerMonth 6504
     2017-11-30 23:59:55   statWasserZaehlerMonthLast 8116
     2017-12-19 18:56:25   state           opened
     2017-12-23 20:47:12   timeDiff4       360000
     2017-12-19 20:04:35   timeDiff5       360000
     2017-12-23 20:45:12   timeDiff6       360000
   helper:
     _98_statistics myStatDevice
Attributes:
   event-on-change-reading .*
   flashCommand avrdude -p atmega328P -c arduino -b 57600 -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   group      Energie
   interval   60 360
   pinD4      falling 100
   pinD6      falling 100
   readingNameLongCount4 Gaszaehler_Longcount
   readingNameLongCount6 Wasserzaehler_Longcount
   room       Anschlussraum
   sortby     10
   userReadings GasZaehler {ReadingsVal("AC","Gaszaehler_Longcount",0) + ReadingsNum("AC","GasZaehlerStart",0) }, WasserZaehler {ReadingsVal("AC","Wasserzaehler_Longcount",0) + ReadingsNum("AC","WasserZaehlerStart",0) }
   userattr   pinD4 pinD6 readingNameLongCount4 readingNameLongCount6 verboseReadings4 verboseReadings6
   verbose    5
   verboseReadings4 1
   verboseReadings6 1
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 26 Dezember 2017, 15:16:27
Hallo Stefan

Zitat von: StefanStrobel am 23 Dezember 2017, 18:17:48

ich würde den Kondensator drin lassen.
Zum Flashen habe ich auf meinem Fhem-Raspberry, an dem der Arduino angeschlossen ist, avrdude installiert. Dann kann man die neue Firmware (als hex-File) direkt aus Fhem heraus flashen und muss keine Kabel abklemmen. Einfach set flash.

Hast Du auch einen Kondensator verbaut?
Ich muss mit dem verbauten Kondensator immer genau im richtigen Moment den Reset Taster auf dem Arduino drücken um zu flashen. Ohne geht es nicht, auch nicht mit avrdude. Drücke ich den Taster einen Bruchteil einer Sekunde zu früh oder zu säht scheitert der Flashvorgang.

Zitat von: StefanStrobel am 23 Dezember 2017, 18:17:48
Noch eine Frage zum Verhalten mit der 1.93er Version ohne Debug-Ausgabe:
Sind die jetzt fehlenden Pulse als Rejected gezählt worden oder fehlen die einfach spurlos?
Das habe ich mir auch schon überlegt, aber dazu habe ich noch keinen Ansatz gefunden wie ich das eingrenzen könnte. Mein Reedkontakt prellt offensichtlich. Die ,,Prell" Impulse werden zu recht nur bei den Rejcts gezählt. Ich habe keinen Ahnung wie viele und wann solche zu kurzen Impulse auftreten. Somit habe ich auch keine Ahnung wie ich die zurecht ignorierten von den fälschlicherweise ignorierten unterscheiden könnte.

Leider bin ich bis jetzt noch nicht dazu gekommen irgendwelche Test zu machen.

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 27 Dezember 2017, 12:19:44
Hallo birdy,

wo hast Du den Kondensator denn eingebaut? Ich fürchte ich habe Dich hier falsch verstanden und Du hast den Kondensator gar nicht zum Entprellen sondern zum Verhindern des Reset eingebaut oder?
Ich denke auf den kannst Du inzwischen verzichten. Der LongCounter zählt ja im Modul entsprechend weiter. Es bleibt also nur das Risiko, dass während des Restarts ein Impuls übersehen wird.
Ich würde ihn zumindest so lange entfernen bis wir das Problem gelöst / vollständig verstanden haben.

Ich versuche gerade Deine Umgebung zu simulieren und einen zweiten Arduino als Signalgeber an den Eingang zu hängen. Wie hast Du denn den Arducounter genau konfiguriert wenn die Probleme auftreten? In welchen Abständen kommen zu der Zeit ungefähr die Impulse? (dann kann ich versuchen das so nahe wie möglich zu simulieren)

Gruss
   Stefan

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 27 Dezember 2017, 14:05:53
Hallo Stefan

Genau den Kondensator hatte ich zum Verhindern des Reset eingebaut. 
Diesen habe gestern gegen Abend entfernt (Flashen mit set flash hat trotzdem noch nicht funktioniert) .
Ich habe Deine 1.93 genommen den Kommentar bei Zeile 73 entfern und so die Debug Funktion wieder aktiviert. Seit gestern ca. 17:00 bis jetzt keinerlei Abweichung :)

Der Reedkonkakt hängt zwischen Pin 4 und GND.
Nachfolgend ein Extrakt des Log aus Post @230, aus dem ich alle Statusübergänge extrahiert habe. Diese liegen in der Regel ca. 2:30 auseinander. Je nach aktueller Leistung kann dies etwas variieren. Zwischendurch schaltet die Heizung auch mal für 20, 30 Minuten aus.   


2017.11.30 17:28:10 3: AC: device: pin 4 changed state to 0 , count 344 (+0)  Rej 1
2017.11.30 17:41:45 3: AC: device: pin 4 changed state to 1 , count 345 (+1)  Rej 0
2017.11.30 17:44:36 3: AC: device: pin 4 changed state to 0 , count 345 (+0)  Rej 0
2017.11.30 17:46:58 3: AC: device: pin 4 changed state to 1 , count 346 (+1)  Rej 0
2017.11.30 17:49:06 3: AC: device: pin 4 changed state to 0 , count 346 (+0)  Rej 0
2017.11.30 17:51:29 3: AC: device: pin 4 changed state to 1 , count 347 (+1)  Rej 0
2017.11.30 17:54:25 3: AC: device: pin 4 changed state to 0 , count 347 (+0)  Rej 0
2017.11.30 17:57:15 3: AC: device: pin 4 changed state to 1 , count 348 (+1)  Rej 0
2017.11.30 18:17:32 3: AC: device: pin 4 changed state to 0 , count 348 (+0)  Rej 0
2017.11.30 18:20:15 3: AC: device: pin 4 changed state to 1 , count 349 (+1)  Rej 0
2017.11.30 18:23:10 3: AC: device: pin 4 changed state to 0 , count 349 (+0)  Rej 1
2017.11.30 18:35:17 3: AC: device: pin 4 changed state to 1 , count 349 (+0)  Rej 1
2017.11.30 18:47:22 3: AC: device: pin 4 changed state to 0 , count 349 (+0)  Rej 1
2017.11.30 18:49:57 3: AC: device: pin 4 changed state to 1 , count 349 (+0)  Rej 2
2017.11.30 18:52:05 3: AC: device: pin 4 changed state to 0 , count 349 (+0)  Rej 1
2017.11.30 18:54:21 3: AC: device: pin 4 changed state to 1 , count 349 (+0)  Rej 2
2017.11.30 18:57:18 3: AC: device: pin 4 changed state to 0 , count 349 (+0)  Rej 0
2017.11.30 19:14:44 3: AC: device: pin 4 changed state to 1 , count 350 (+1)  Rej 0
2017.11.30 19:17:38 3: AC: device: pin 4 changed state to 0 , count 350 (+0)  Rej 0
2017.11.30 19:19:28 3: AC: device: pin 4 changed state to 1 , count 351 (+1)  Rej 0
2017.11.30 19:21:09 3: AC: device: pin 4 changed state to 0 , count 351 (+0)  Rej 0
2017.11.30 19:22:48 3: AC: device: pin 4 changed state to 1 , count 352 (+1)  Rej 0
2017.11.30 19:25:23 3: AC: device: pin 4 changed state to 0 , count 352 (+0)  Rej 1
2017.11.30 19:28:12 3: AC: device: pin 4 changed state to 1 , count 352 (+0)  Rej 2
2017.11.30 19:40:42 3: AC: device: pin 4 changed state to 0 , count 352 (+0)  Rej 0
2017.11.30 19:48:46 3: AC: device: pin 4 changed state to 1 , count 353 (+1)  Rej 0
2017.11.30 19:51:42 3: AC: device: pin 4 changed state to 0 , count 353 (+0)  Rej 0
2017.11.30 19:54:27 3: AC: device: pin 4 changed state to 1 , count 354 (+1)  Rej 0
2017.11.30 19:57:32 3: AC: device: pin 4 changed state to 0 , count 354 (+0)  Rej 1
2017.11.30 20:00:14 3: AC: device: pin 4 changed state to 1 , count 354 (+0)  Rej 2
2017.11.30 20:03:13 3: AC: device: pin 4 changed state to 0 , count 354 (+0)  Rej 0
2017.11.30 20:20:49 3: AC: device: pin 4 changed state to 1 , count 355 (+1)  Rej 0
2017.11.30 20:26:29 3: AC: device: pin 4 changed state to 1 , count 356 (+1)  Rej 0
2017.11.30 20:29:29 3: AC: device: pin 4 changed state to 0 , count 356 (+0)  Rej 1
2017.11.30 20:49:45 3: AC: device: pin 4 changed state to 0 , count 356 (+0)  Rej 1
2017.11.30 20:52:14 3: AC: device: pin 4 changed state to 1 , count 357 (+1)  Rej 0
2017.11.30 20:54:27 3: AC: device: pin 4 changed state to 0 , count 357 (+0)  Rej 1
2017.11.30 20:56:59 3: AC: device: pin 4 changed state to 1 , count 357 (+0)  Rej 2
2017.11.30 20:59:54 3: AC: device: pin 4 changed state to 0 , count 357 (+0)  Rej 1
2017.11.30 21:02:43 3: AC: device: pin 4 changed state to 1 , count 357 (+0)  Rej 2
2017.11.30 21:19:52 3: AC: device: pin 4 changed state to 0 , count 357 (+0)  Rej 0
2017.11.30 21:22:38 3: AC: device: pin 4 changed state to 1 , count 358 (+1)  Rej 0
2017.11.30 21:25:34 3: AC: device: pin 4 changed state to 0 , count 358 (+0)  Rej 0
2017.11.30 21:28:24 3: AC: device: pin 4 changed state to 1 , count 359 (+1)  Rej 0


Und List des ArduCounters:

Internals:
   CounterResetTime 1514298686.03582
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         4
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         21
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.94
   VersionModule 5.4 - 02.12.2017
   buffer
   CounterInterpolated:
     4          1
     6          1
   READINGS:
     2017-12-27 14:00:38   OelVorrat       681.8
     2017-12-27 14:00:38   OelZaehler      772.2
     2017-12-27 14:00:38   OelZaehlerI     772.2
     2017-12-27 14:00:38   countDiff4      1
     2017-12-27 14:00:38   countDiff6      0
     2017-12-27 14:00:38   interpolatedLong4 7722
     2017-12-27 14:00:38   interpolatedLong6 13112
     2017-12-27 14:00:38   lastMsg4        R4 C94 D1 R1 T275143 N81000523 X0 F275143 L275143 A515709

     2017-12-27 14:00:38   lastMsg6        R6 C0 D0 R0 T360000 N81000523 X0

     2017-12-27 14:00:38   long4           7722
     2017-12-27 14:00:38   long6           13112
     2017-12-27 14:00:38   pin4            94
     2017-12-27 14:00:38   pin6            0
     2017-12-27 14:00:38   power4          0.013
     2017-12-27 14:00:38   power6          0.000
     2017-12-27 14:00:38   reject4         27
     2017-12-27 14:00:38   reject6         0
     2017-12-26 15:31:24   state           opened
     2017-12-27 14:00:38   timeDiff4       275143
     2017-12-27 14:00:38   timeDiff6       360000
Attributes:
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 360
   pin4       falling pullup 2000
   pin6       falling pullup 90
   readingFactor6 10000
   userReadings OelZaehler {ReadingsVal("AC","long4",0)/10},OelZaehlerI {ReadingsVal("AC","interpolatedLong4",0)/10},OelVorrat {1454-ReadingsVal("AC","OelZaehlerI",0)}
   userattr   pin4 pin6 readingFactor6 verboseReadings4 verboseReadings6
   verbose    5
   verboseReadings4 1
   verboseReadings6 1


Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 27 Dezember 2017, 15:54:33
vielen Dank!

dann sind es also tatsächlich die Debug-Funktionen.
Jetzt würde ich gerne weiter eingrenzen, welcher Teil der Debug-Funktionen den Unterschied macht.

Als Basis wäre es hilfreich, wenn Du nochmal Dein DMM zum Vergleich mitlaufen lassen würdest und dabei mit der bisherigen Version ohne Debug-Funktionen aber mit verbose 5 einen Log-Auszug posten könntest, in dem man sieht, wo / unter welchen Bedingungen bzw. wie oft Abweichungen auftreten.

Danach würde ich Dir gerne eine neue Version schicken, bei der zunächst nur der Debug-Teil in der Hauptschleife drin steckt, nicht aber der Teil im Interrupt-Handler, der die zusätzlichen Daten bereitstellt.
Eigentlich sollte das dann keinen Unterschied machen, denn gezählt wird ja per Interrupt. Folglich sollten hier wieder Impulse fehlen. Warum auch immer ...

Gruss / Thanx
   Stefan

Anbei schon mal die neue Version für den zweiten Test
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 28 Dezember 2017, 00:37:32
Hallo Stefan

Ich habe heute Abend währen rund 3 Stunden  einen Test durchgeführt.

Start: 20:19

Ende: 23:24

Erklärungen:
Der Reed-Kontakt schliesst jeweils bei x.x1 und öffnet bei x.x6 Liter. Ergibt ein Zyklus per 0.1L
Das DMM Protokoll habe ich bearbeitet, es sind nur noch die Statusübergänge enthalten. Immer der letzte Messwert vor und nach dem Übergang.
Es ist davon auszugehen, dass die beiden Uhren DDM und FHEM nicht ganz synchron laufen.

List:
Internals:
   CounterResetTime 1514402090.93483
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         10
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         21
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 1.93
   VersionModule 5.4 - 02.12.2017
   buffer
   CounterInterpolated:
     4          1
     6          1
   READINGS:
     2017-12-27 23:26:44   OelVorrat       678.7
     2017-12-27 23:26:44   OelZaehler      775.3
     2017-12-27 23:26:44   OelZaehlerI     775.3
     2017-12-27 23:23:44   countDiff4      0
     2017-12-27 23:26:44   countDiff6      0
     2017-12-27 23:23:44   interpolatedLong4 7753
     2017-12-27 23:26:44   interpolatedLong6 13112
     2017-12-27 23:23:44   lastMsg4        R4 C5 D0 R0 T360000 N11340534 X1

     2017-12-27 23:26:44   lastMsg6        R6 C0 D0 R0 T360000 N11520534 X0

     2017-12-27 23:23:44   long4           7753
     2017-12-27 23:26:44   long6           13112
     2017-12-27 23:23:44   pin4            5
     2017-12-27 23:26:44   pin6            0
     2017-12-27 23:23:44   power4          0.000
     2017-12-27 23:26:44   power6          0.000
     2017-12-27 23:23:44   reject4         23
     2017-12-27 23:26:44   reject6         0
     2017-12-27 20:14:49   state           opened
     2017-12-27 23:23:44   timeDiff4       360000
     2017-12-27 23:26:44   timeDiff6       360000
Attributes:
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 360
   pin4       falling pullup 2000
   pin6       falling pullup 90
   readingFactor6 10000
   userReadings OelZaehler {ReadingsVal("AC","long4",0)/10},OelZaehlerI {ReadingsVal("AC","interpolatedLong4",0)/10},OelVorrat {1454-ReadingsVal("AC","OelZaehlerI",0)}
   userattr   pin4 pin6 readingFactor6 verboseReadings4 verboseReadings6
   verbose    5
   verboseReadings4 1
   verboseReadings6 1


DMM-Log:
No Time DC/AC Value Unit
1 20:19:49 DC 0.0060 V
328 20:25:20 DC 0.0060 V
329 20:25:21 DC 04.775 V
502 20:28:17 DC 04.776 V
503 20:28:18 DC 0.0040 V
644 20:30:40 DC 0.0060 V
645 20:30:41 DC 04.775 V
771 20:32:49 DC 04.776 V
772 20:32:50 DC 0.0060 V
888 20:34:48 DC 0.0060 V
889 20:34:49 DC 04.774 V
1047 20:37:30 DC 04.777 V
1048 20:37:31 DC 0.0060 V
1216 20:40:21 DC 0.0060 V
1217 20:40:22 DC 04.775 V
2441 21:01:03 DC 04.777 V
2442 21:01:04 DC 0.0060 V
2584 21:03:28 DC 0.0060 V
2585 21:03:29 DC 04.775 V
2755 21:06:21 DC 04.777 V
2756 21:06:22 DC 0.0060 V
2923 21:09:12 DC 0.0060 V
2924 21:09:13 DC 04.777 V
3098 21:12:09 DC 04.778 V
3099 21:12:10 DC 0.0060 V
4252 21:31:39 DC 00.060 V
4253 21:31:40 DC 04.775 V
4389 21:33:58 DC 04.778 V
4390 21:33:59 DC 0.0060 V
4554 21:36:46 DC 0.0060 V
4555 21:36:47 DC 04.775 V
4730 21:39:44 DC 04.777 V
4731 21:39:45 DC 0.0060 V
6142 22:03:36 DC 0.0060 V
6143 22:03:37 DC 04.774 V
6308 22:06:24 DC 04.777 V
6309 22:06:25 DC 0.0060 V
6439 22:08:37 DC 0.0060 V
6440 22:08:38 DC 04.775 V
6544 22:10:23 DC 04.777 V
6545 22:10:24 DC 0.0060 V
6648 22:12:09 DC 0.0059 V
6649 22:12:10 DC 04.776 V
6813 22:14:56 DC 04.777 V
6814 22:14:57 DC 0.0060 V
6980 22:17:45 DC 00.060 V
6981 22:17:46 DC 04.775 V
8548 22:44:15 DC 04.777 V
8549 22:44:16 DC 0.0060 V
8713 22:47:03 DC 0.0060 V
8714 22:47:04 DC 04.777 V
8887 22:49:59 DC 0.4778 V
8888 22:50:00 DC 0.0060 V
9054 22:52:48 DC 0.0060 V
9055 22:52:49 DC 04.775 V
10068 23:09:57 DC 04.777 V
10069 23:09:58 DC 0.0060 V
10234 23:12:45 DC 0.0060 V
10235 23:12:46 DC 04.775 V
10394 23:15:27 DC 04.777 V
10395 23:15:28 DC 0.0060 V
10563 23:18:18 DC 0.0060 V
10564 23:18:20 DC 04.775 V
10737 23:21:15 DC 04.777 V
10738 23:21:16 DC 0.0060 V
10954 23:24:55 DC 0.0059 V


FHEM-Log:
2017.12.27 20:14:51 3: AC: device: Next report in 29861 Milliseconds
2017.12.27 20:14:51 5: AC: ReadAnswer matched Next report in [0-9]+ Milliseconds
2017.12.27 20:20:50 4: AC: arduino was restarted so some impulses might have got lost for 4 (pin4)
2017.12.27 20:20:50 4: AC: interpolation of missed pulses for pin 4 (pin4) not possible - no valid historic data.
2017.12.27 20:20:50 4: AC: Pin 4 debug: adding 0 to long count 7748 and interpolated count 7748
2017.12.27 20:20:50 4: AC: Pin 4 (pin4) count 0 longCount 7748 interpCount 7748 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 20:20:50 4: AC: interval 20:14:50 until 20:20:50, First at , Last at
2017.12.27 20:20:50 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 20:20:50 4: AC: device clock wrapped or reset (now 360.52, before 101340.523). New offset is 1514402090.22161
2017.12.27 20:20:50 5: AC: Device Time 360.52, Drift -59.366s in 326197.966s, -0.02%
2017.12.27 20:20:50 4: AC: arduino was restarted so some impulses might have got lost for 6 (pin6)
2017.12.27 20:20:50 3: AC: interpolation after counter reset for pin 6 (pin6): offline 2304.93 secs, 0 estimated pulses (before 0 in 360000 ms, now 0 in 360000 ms, avg ratio 0 p/s)
2017.12.27 20:20:50 4: AC: adding interpolated 0 to interpolated count 13112
2017.12.27 20:20:50 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 20:20:50 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 20:20:50 4: AC: interval 20:14:50 until 20:20:50, First at , Last at
2017.12.27 20:20:50 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 20:20:50 5: AC: Device Time 360.534, Drift 0.002s in 326197.982s, 0.00%
2017.12.27 20:26:50 4: AC: Pin 4 debug: adding 0 to long count 7748 and interpolated count 7748
2017.12.27 20:26:50 4: AC: Pin 4 (pin4) count 0 longCount 7748 interpCount 7748 (diff 0) in 360.000s, reject 2, Avg Len ms, result 0.000
2017.12.27 20:26:50 4: AC: interval 20:20:50 until 20:26:50, First at , Last at
2017.12.27 20:26:50 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 20:26:50 5: AC: Device Time 720.52, Drift -0.178s in 326557.787s, -0.00%
2017.12.27 20:26:50 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 20:26:50 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 20:26:50 4: AC: interval 20:20:50 until 20:26:50, First at , Last at
2017.12.27 20:26:50 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 20:26:50 5: AC: Device Time 720.534, Drift -0.192s in 326557.787s, -0.00%
2017.12.27 20:32:50 4: AC: Pin 4 debug: adding 1 to long count 7748 and interpolated count 7748
2017.12.27 20:32:50 4: AC: Pin 4 (pin4) count 1 longCount 7749 interpCount 7749 (diff 0) in 129.761s, reject 1, Avg Len ms, result 0.000
2017.12.27 20:32:50 4: AC: interval 20:30:40 until 20:32:50, First at , Last at
2017.12.27 20:32:50 5: AC: set readings power4 to 0.000, timeDiff4 to 129761 and countDiff4 to 0
2017.12.27 20:32:50 5: AC: Device Time 1080.52, Drift -0.390s in 326917.576s, -0.00%
2017.12.27 20:32:50 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 20:32:50 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 20:32:50 4: AC: interval 20:26:50 until 20:32:50, First at , Last at
2017.12.27 20:32:50 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 20:32:50 5: AC: Device Time 1080.534, Drift -0.404s in 326917.576s, -0.00%
2017.12.27 20:38:50 4: AC: Pin 4 debug: adding 0 to long count 7749 and interpolated count 7749
2017.12.27 20:38:50 4: AC: Pin 4 (pin4) count 1 longCount 7749 interpCount 7749 (diff 0) in 360.000s, reject 1, Avg Len ms, result 0.000
2017.12.27 20:38:50 4: AC: interval 20:32:50 until 20:38:50, First at , Last at
2017.12.27 20:38:50 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 20:38:50 5: AC: Device Time 1440.52, Drift -0.601s in 327277.365s, -0.00%
2017.12.27 20:38:50 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 20:38:50 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 20:38:50 4: AC: interval 20:32:50 until 20:38:50, First at , Last at
2017.12.27 20:38:50 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 20:38:50 5: AC: Device Time 1440.534, Drift -0.615s in 327277.365s, -0.00%
2017.12.27 20:40:50 4: AC: Pin 4 debug: adding 1 to long count 7749 and interpolated count 7749
2017.12.27 20:40:50 4: AC: Pin 4 (pin4) count 2 longCount 7750 interpCount 7750 (diff 1) in 90.159s, reject 0, Avg Len 314630ms, result 0.040
2017.12.27 20:40:50 4: AC: interval 20:39:19 until 20:40:50, First at 4294477535, Last at 90159
2017.12.27 20:40:50 5: AC: set readings power4 to 0.040, timeDiff4 to 90159 and countDiff4 to 1
2017.12.27 20:40:50 5: AC: Device Time 1560.534, Drift -0.668s in 327397.311s, -0.00%
2017.12.27 20:44:49 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 20:44:49 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 20:44:49 4: AC: interval 20:38:49 until 20:44:49, First at , Last at
2017.12.27 20:44:49 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 20:44:49 5: AC: Device Time 1800.534, Drift -0.825s in 327637.154s, -0.00%
2017.12.27 20:46:49 4: AC: Pin 4 debug: adding 0 to long count 7750 and interpolated count 7750
2017.12.27 20:46:49 4: AC: Pin 4 (pin4) count 2 longCount 7750 interpCount 7750 (diff 0) in 389.855s, reject 0, Avg Len ms, result 0.000
2017.12.27 20:46:49 4: AC: interval 20:40:20 until 20:46:49, First at , Last at
2017.12.27 20:46:49 5: AC: set readings power4 to 0.000, timeDiff4 to 389855 and countDiff4 to 0
2017.12.27 20:46:49 5: AC: Device Time 1920.534, Drift -0.896s in 327757.084s, -0.00%
2017.12.27 20:50:49 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 20:50:49 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 20:50:49 4: AC: interval 20:44:49 until 20:50:49, First at , Last at
2017.12.27 20:50:49 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 20:50:49 5: AC: Device Time 2160.534, Drift -1.020s in 327996.959s, -0.00%
2017.12.27 20:52:49 4: AC: Pin 4 debug: adding 0 to long count 7750 and interpolated count 7750
2017.12.27 20:52:49 4: AC: Pin 4 (pin4) count 2 longCount 7750 interpCount 7750 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 20:52:49 4: AC: interval 20:46:49 until 20:52:49, First at , Last at
2017.12.27 20:52:49 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 20:52:49 5: AC: Device Time 2280.534, Drift -1.091s in 328116.889s, -0.00%
2017.12.27 20:56:49 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 20:56:49 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 20:56:49 4: AC: interval 20:50:49 until 20:56:49, First at , Last at
2017.12.27 20:56:49 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 20:56:49 5: AC: Device Time 2520.534, Drift -1.231s in 328356.748s, -0.00%
2017.12.27 20:58:49 4: AC: Pin 4 debug: adding 0 to long count 7750 and interpolated count 7750
2017.12.27 20:58:49 4: AC: Pin 4 (pin4) count 2 longCount 7750 interpCount 7750 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 20:58:49 4: AC: interval 20:52:49 until 20:58:49, First at , Last at
2017.12.27 20:58:49 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 20:58:49 5: AC: Device Time 2640.534, Drift -1.302s in 328476.678s, -0.00%
2017.12.27 21:02:49 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 21:02:49 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:02:49 4: AC: interval 20:56:49 until 21:02:49, First at , Last at
2017.12.27 21:02:49 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 21:02:49 5: AC: Device Time 2880.534, Drift -1.442s in 328716.537s, -0.00%
2017.12.27 21:04:49 4: AC: Pin 4 debug: adding 0 to long count 7750 and interpolated count 7750
2017.12.27 21:04:49 4: AC: Pin 4 (pin4) count 2 longCount 7750 interpCount 7750 (diff 0) in 360.000s, reject 2, Avg Len ms, result 0.000
2017.12.27 21:04:49 4: AC: interval 20:58:49 until 21:04:49, First at , Last at
2017.12.27 21:04:49 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 21:04:49 5: AC: Device Time 3000.534, Drift -1.513s in 328836.467s, -0.00%
2017.12.27 21:08:49 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 21:08:49 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:08:49 4: AC: interval 21:02:49 until 21:08:49, First at , Last at
2017.12.27 21:08:49 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 21:08:49 5: AC: Device Time 3240.534, Drift -1.637s in 329076.342s, -0.00%
2017.12.27 21:10:49 4: AC: Pin 4 debug: adding 0 to long count 7750 and interpolated count 7750
2017.12.27 21:10:49 4: AC: Pin 4 (pin4) count 2 longCount 7750 interpCount 7750 (diff 0) in 360.000s, reject 2, Avg Len ms, result 0.000
2017.12.27 21:10:49 4: AC: interval 21:04:49 until 21:10:49, First at , Last at
2017.12.27 21:10:49 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 21:10:49 5: AC: Device Time 3360.534, Drift -1.708s in 329196.272s, -0.00%
2017.12.27 21:14:48 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 21:14:48 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:14:48 4: AC: interval 21:08:48 until 21:14:48, First at , Last at
2017.12.27 21:14:48 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 21:14:48 5: AC: Device Time 3600.534, Drift -1.848s in 329436.132s, -0.00%
2017.12.27 21:16:48 4: AC: Pin 4 debug: adding 0 to long count 7750 and interpolated count 7750
2017.12.27 21:16:48 4: AC: Pin 4 (pin4) count 2 longCount 7750 interpCount 7750 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:16:48 4: AC: interval 21:10:48 until 21:16:48, First at , Last at
2017.12.27 21:16:48 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 21:16:48 5: AC: Device Time 3720.534, Drift -1.918s in 329556.061s, -0.00%
2017.12.27 21:20:48 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 21:20:48 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:20:48 4: AC: interval 21:14:48 until 21:20:48, First at , Last at
2017.12.27 21:20:48 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 21:20:48 5: AC: Device Time 3960.534, Drift -2.043s in 329795.937s, -0.00%
2017.12.27 21:22:48 4: AC: Pin 4 debug: adding 0 to long count 7750 and interpolated count 7750
2017.12.27 21:22:48 4: AC: Pin 4 (pin4) count 2 longCount 7750 interpCount 7750 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:22:48 4: AC: interval 21:16:48 until 21:22:48, First at , Last at
2017.12.27 21:22:48 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 21:22:48 5: AC: Device Time 4080.534, Drift -2.113s in 329915.866s, -0.00%
2017.12.27 21:26:48 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 21:26:48 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:26:48 4: AC: interval 21:20:48 until 21:26:48, First at , Last at
2017.12.27 21:26:48 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 21:26:48 5: AC: Device Time 4320.534, Drift -2.254s in 330155.726s, -0.00%
2017.12.27 21:28:48 4: AC: Pin 4 debug: adding 0 to long count 7750 and interpolated count 7750
2017.12.27 21:28:48 4: AC: Pin 4 (pin4) count 2 longCount 7750 interpCount 7750 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:28:48 4: AC: interval 21:22:48 until 21:28:48, First at , Last at
2017.12.27 21:28:48 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 21:28:48 5: AC: Device Time 4440.534, Drift -2.324s in 330275.656s, -0.00%
2017.12.27 21:31:48 4: AC: Pin 4 debug: adding 1 to long count 7750 and interpolated count 7750
2017.12.27 21:31:48 4: AC: Pin 4 (pin4) count 3 longCount 7751 interpCount 7751 (diff 1) in 170.321s, reject 0, Avg Len 1169784ms, result 0.021
2017.12.27 21:31:48 4: AC: interval 21:28:58 until 21:31:48, First at 170321, Last at 170321
2017.12.27 21:31:48 5: AC: set readings power4 to 0.021, timeDiff4 to 170321 and countDiff4 to 1
2017.12.27 21:31:48 5: AC: Device Time 4620.534, Drift -2.413s in 330455.566s, -0.00%
2017.12.27 21:32:48 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 21:32:48 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:32:48 4: AC: interval 21:26:48 until 21:32:48, First at , Last at
2017.12.27 21:32:48 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 21:32:48 5: AC: Device Time 4680.534, Drift -2.465s in 330515.515s, -0.00%
2017.12.27 21:36:48 4: AC: Pin 4 debug: adding 1 to long count 7751 and interpolated count 7751
2017.12.27 21:36:48 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 1) in 307.402s, reject 1, Avg Len 167935ms, result 0.012
2017.12.27 21:36:48 4: AC: interval 21:31:40 until 21:36:48, First at 307402, Last at 307402
2017.12.27 21:36:48 5: AC: set readings power4 to 0.012, timeDiff4 to 307402 and countDiff4 to 1
2017.12.27 21:36:48 5: AC: Device Time 4920.534, Drift -2.589s in 330755.391s, -0.00%
2017.12.27 21:38:48 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 21:38:48 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:38:48 4: AC: interval 21:32:48 until 21:38:48, First at , Last at
2017.12.27 21:38:48 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 21:38:48 5: AC: Device Time 5040.534, Drift -2.659s in 330875.320s, -0.00%
2017.12.27 21:42:47 4: AC: Pin 4 debug: adding 0 to long count 7752 and interpolated count 7752
2017.12.27 21:42:47 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 0) in 362.277s, reject 1, Avg Len ms, result 0.000
2017.12.27 21:42:47 4: AC: interval 21:36:45 until 21:42:47, First at , Last at
2017.12.27 21:42:47 5: AC: set readings power4 to 0.000, timeDiff4 to 362277 and countDiff4 to 0
2017.12.27 21:42:47 5: AC: Device Time 5280.534, Drift -2.800s in 331115.180s, -0.00%
2017.12.27 21:44:47 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 21:44:47 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:44:47 4: AC: interval 21:38:47 until 21:44:47, First at , Last at
2017.12.27 21:44:47 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 21:44:47 5: AC: Device Time 5400.534, Drift -2.870s in 331235.109s, -0.00%
2017.12.27 21:48:47 4: AC: Pin 4 debug: adding 0 to long count 7752 and interpolated count 7752
2017.12.27 21:48:47 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:48:47 4: AC: interval 21:42:47 until 21:48:47, First at , Last at
2017.12.27 21:48:47 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 21:48:47 5: AC: Device Time 5640.534, Drift -3.011s in 331474.969s, -0.00%
2017.12.27 21:50:47 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 21:50:47 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:50:47 4: AC: interval 21:44:47 until 21:50:47, First at , Last at
2017.12.27 21:50:47 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 21:50:47 5: AC: Device Time 5760.534, Drift -3.081s in 331594.899s, -0.00%
2017.12.27 21:54:47 4: AC: Pin 4 debug: adding 0 to long count 7752 and interpolated count 7752
2017.12.27 21:54:47 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:54:47 4: AC: interval 21:48:47 until 21:54:47, First at , Last at
2017.12.27 21:54:47 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 21:54:47 5: AC: Device Time 6000.534, Drift -3.205s in 331834.774s, -0.00%
2017.12.27 21:56:47 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 21:56:47 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 21:56:47 4: AC: interval 21:50:47 until 21:56:47, First at , Last at
2017.12.27 21:56:47 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 21:56:47 5: AC: Device Time 6120.534, Drift -3.276s in 331954.704s, -0.00%
2017.12.27 22:00:47 4: AC: Pin 4 debug: adding 0 to long count 7752 and interpolated count 7752
2017.12.27 22:00:47 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:00:47 4: AC: interval 21:54:47 until 22:00:47, First at , Last at
2017.12.27 22:00:47 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 22:00:47 5: AC: Device Time 6360.534, Drift -3.416s in 332194.563s, -0.00%
2017.12.27 22:02:47 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 22:02:47 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:02:47 4: AC: interval 21:56:47 until 22:02:47, First at , Last at
2017.12.27 22:02:47 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 22:02:47 5: AC: Device Time 6480.534, Drift -3.486s in 332314.493s, -0.00%
2017.12.27 22:06:47 4: AC: Pin 4 debug: adding 0 to long count 7752 and interpolated count 7752
2017.12.27 22:06:47 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 0) in 360.000s, reject 2, Avg Len ms, result 0.000
2017.12.27 22:06:47 4: AC: interval 22:00:47 until 22:06:47, First at , Last at
2017.12.27 22:06:47 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 22:06:47 5: AC: Device Time 6720.534, Drift -3.627s in 332554.353s, -0.00%
2017.12.27 22:08:47 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 22:08:47 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:08:47 4: AC: interval 22:02:47 until 22:08:47, First at , Last at
2017.12.27 22:08:47 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 22:08:47 5: AC: Device Time 6840.534, Drift -3.697s in 332674.282s, -0.00%
2017.12.27 22:12:46 4: AC: Pin 4 debug: adding 0 to long count 7752 and interpolated count 7752
2017.12.27 22:12:46 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 0) in 360.000s, reject 3, Avg Len ms, result 0.000
2017.12.27 22:12:46 4: AC: interval 22:06:46 until 22:12:46, First at , Last at
2017.12.27 22:12:46 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 22:12:46 5: AC: Device Time 7080.534, Drift -3.822s in 332914.158s, -0.00%
2017.12.27 22:14:46 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 22:14:46 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:14:46 4: AC: interval 22:08:46 until 22:14:46, First at , Last at
2017.12.27 22:14:46 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 22:14:46 5: AC: Device Time 7200.534, Drift -3.892s in 333034.087s, -0.00%
2017.12.27 22:18:46 4: AC: Pin 4 debug: adding 0 to long count 7752 and interpolated count 7752
2017.12.27 22:18:46 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 0) in 360.000s, reject 2, Avg Len ms, result 0.000
2017.12.27 22:18:46 4: AC: interval 22:12:46 until 22:18:46, First at , Last at
2017.12.27 22:18:46 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 22:18:46 5: AC: Device Time 7440.534, Drift -4.033s in 333273.947s, -0.00%
2017.12.27 22:20:46 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 22:20:46 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:20:46 4: AC: interval 22:14:46 until 22:20:46, First at , Last at
2017.12.27 22:20:46 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 22:20:46 5: AC: Device Time 7560.534, Drift -4.103s in 333393.877s, -0.00%
2017.12.27 22:24:46 4: AC: Pin 4 debug: adding 0 to long count 7752 and interpolated count 7752
2017.12.27 22:24:46 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:24:46 4: AC: interval 22:18:46 until 22:24:46, First at , Last at
2017.12.27 22:24:46 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 22:24:46 5: AC: Device Time 7800.534, Drift -4.244s in 333633.736s, -0.00%
2017.12.27 22:26:46 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 22:26:46 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:26:46 4: AC: interval 22:20:46 until 22:26:46, First at , Last at
2017.12.27 22:26:46 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 22:26:46 5: AC: Device Time 7920.534, Drift -4.314s in 333753.666s, -0.00%
2017.12.27 22:30:46 4: AC: Pin 4 debug: adding 0 to long count 7752 and interpolated count 7752
2017.12.27 22:30:46 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:30:46 4: AC: interval 22:24:46 until 22:30:46, First at , Last at
2017.12.27 22:30:46 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 22:30:46 5: AC: Device Time 8160.534, Drift -4.438s in 333993.541s, -0.00%
2017.12.27 22:32:46 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 22:32:46 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:32:46 4: AC: interval 22:26:46 until 22:32:46, First at , Last at
2017.12.27 22:32:46 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 22:32:46 5: AC: Device Time 8280.534, Drift -4.509s in 334113.471s, -0.00%
2017.12.27 22:36:46 4: AC: Pin 4 debug: adding 0 to long count 7752 and interpolated count 7752
2017.12.27 22:36:46 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:36:46 4: AC: interval 22:30:46 until 22:36:46, First at , Last at
2017.12.27 22:36:46 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 22:36:46 5: AC: Device Time 8520.534, Drift -4.649s in 334353.330s, -0.00%
2017.12.27 22:38:46 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 22:38:46 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:38:46 4: AC: interval 22:32:46 until 22:38:46, First at , Last at
2017.12.27 22:38:46 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 22:38:46 5: AC: Device Time 8640.534, Drift -4.719s in 334473.260s, -0.00%
2017.12.27 22:42:45 4: AC: Pin 4 debug: adding 0 to long count 7752 and interpolated count 7752
2017.12.27 22:42:45 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:42:45 4: AC: interval 22:36:45 until 22:42:45, First at , Last at
2017.12.27 22:42:45 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 22:42:45 5: AC: Device Time 8880.534, Drift -4.860s in 334713.119s, -0.00%
2017.12.27 22:44:45 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 22:44:45 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:44:45 4: AC: interval 22:38:45 until 22:44:45, First at , Last at
2017.12.27 22:44:45 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 22:44:45 5: AC: Device Time 9000.534, Drift -4.930s in 334833.049s, -0.00%
2017.12.27 22:48:45 4: AC: Pin 4 debug: adding 0 to long count 7752 and interpolated count 7752
2017.12.27 22:48:45 4: AC: Pin 4 (pin4) count 4 longCount 7752 interpCount 7752 (diff 0) in 360.000s, reject 2, Avg Len ms, result 0.000
2017.12.27 22:48:45 4: AC: interval 22:42:45 until 22:48:45, First at , Last at
2017.12.27 22:48:45 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 22:48:45 5: AC: Device Time 9240.534, Drift -5.055s in 335072.925s, -0.00%
2017.12.27 22:50:45 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 22:50:45 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:50:45 4: AC: interval 22:44:45 until 22:50:45, First at , Last at
2017.12.27 22:50:45 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 22:50:45 5: AC: Device Time 9360.534, Drift -5.125s in 335192.855s, -0.00%
2017.12.27 22:53:45 4: AC: Pin 4 debug: adding 1 to long count 7752 and interpolated count 7752
2017.12.27 22:53:45 4: AC: Pin 4 (pin4) count 5 longCount 7753 interpCount 7753 (diff 1) in 242.745s, reject 0, Avg Len 169465ms, result 0.015
2017.12.27 22:53:45 4: AC: interval 22:49:42 until 22:53:45, First at 242745, Last at 242745
2017.12.27 22:53:45 5: AC: set readings power4 to 0.015, timeDiff4 to 242745 and countDiff4 to 1
2017.12.27 22:53:45 5: AC: Device Time 9540.534, Drift -5.230s in 335372.749s, -0.00%
2017.12.27 22:56:45 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 22:56:45 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:56:45 4: AC: interval 22:50:45 until 22:56:45, First at , Last at
2017.12.27 22:56:45 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 22:56:45 5: AC: Device Time 9720.534, Drift -5.336s in 335552.644s, -0.00%
2017.12.27 22:59:45 4: AC: Pin 4 debug: adding 0 to long count 7753 and interpolated count 7753
2017.12.27 22:59:45 4: AC: Pin 4 (pin4) count 5 longCount 7753 interpCount 7753 (diff 0) in 417.255s, reject 0, Avg Len ms, result 0.000
2017.12.27 22:59:45 4: AC: interval 22:52:48 until 22:59:45, First at , Last at
2017.12.27 22:59:45 5: AC: set readings power4 to 0.000, timeDiff4 to 417255 and countDiff4 to 0
2017.12.27 22:59:45 5: AC: Device Time 9900.534, Drift -5.441s in 335732.539s, -0.00%
2017.12.27 23:02:45 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 23:02:45 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 23:02:45 4: AC: interval 22:56:45 until 23:02:45, First at , Last at
2017.12.27 23:02:45 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 23:02:45 5: AC: Device Time 10080.534, Drift -5.530s in 335912.449s, -0.00%
2017.12.27 23:05:45 4: AC: Pin 4 debug: adding 0 to long count 7753 and interpolated count 7753
2017.12.27 23:05:45 4: AC: Pin 4 (pin4) count 5 longCount 7753 interpCount 7753 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 23:05:45 4: AC: interval 22:59:45 until 23:05:45, First at , Last at
2017.12.27 23:05:45 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 23:05:45 5: AC: Device Time 10260.534, Drift -5.636s in 336092.344s, -0.00%
2017.12.27 23:08:45 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 23:08:45 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 23:08:45 4: AC: interval 23:02:45 until 23:08:45, First at , Last at
2017.12.27 23:08:45 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 23:08:45 5: AC: Device Time 10440.534, Drift -5.741s in 336272.238s, -0.00%
2017.12.27 23:11:44 4: AC: Pin 4 debug: adding 0 to long count 7753 and interpolated count 7753
2017.12.27 23:11:44 4: AC: Pin 4 (pin4) count 5 longCount 7753 interpCount 7753 (diff 0) in 360.000s, reject 1, Avg Len ms, result 0.000
2017.12.27 23:11:44 4: AC: interval 23:05:44 until 23:11:44, First at , Last at
2017.12.27 23:11:44 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 23:11:44 5: AC: Device Time 10620.534, Drift -5.846s in 336452.133s, -0.00%
2017.12.27 23:14:44 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 23:14:44 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 23:14:44 4: AC: interval 23:08:44 until 23:14:44, First at , Last at
2017.12.27 23:14:44 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 23:14:44 5: AC: Device Time 10800.534, Drift -5.952s in 336632.028s, -0.00%
2017.12.27 23:17:44 4: AC: Pin 4 debug: adding 0 to long count 7753 and interpolated count 7753
2017.12.27 23:17:44 4: AC: Pin 4 (pin4) count 5 longCount 7753 interpCount 7753 (diff 0) in 360.000s, reject 2, Avg Len ms, result 0.000
2017.12.27 23:17:44 4: AC: interval 23:11:44 until 23:17:44, First at , Last at
2017.12.27 23:17:44 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 23:17:44 5: AC: Device Time 10980.534, Drift -6.057s in 336811.922s, -0.00%
2017.12.27 23:20:44 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 23:20:44 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 23:20:44 4: AC: interval 23:14:44 until 23:20:44, First at , Last at
2017.12.27 23:20:44 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 23:20:44 5: AC: Device Time 11160.534, Drift -6.147s in 336991.833s, -0.00%
2017.12.27 23:23:44 4: AC: Pin 4 debug: adding 0 to long count 7753 and interpolated count 7753
2017.12.27 23:23:44 4: AC: Pin 4 (pin4) count 5 longCount 7753 interpCount 7753 (diff 0) in 360.000s, reject 1, Avg Len ms, result 0.000
2017.12.27 23:23:44 4: AC: interval 23:17:44 until 23:23:44, First at , Last at
2017.12.27 23:23:44 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 23:23:44 5: AC: Device Time 11340.534, Drift -6.252s in 337171.728s, -0.00%
2017.12.27 23:26:44 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 23:26:44 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 23:26:44 4: AC: interval 23:20:44 until 23:26:44, First at , Last at
2017.12.27 23:26:44 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 23:26:44 5: AC: Device Time 11520.534, Drift -6.357s in 337351.622s, -0.00%
2017.12.27 23:29:44 4: AC: Pin 4 debug: adding 0 to long count 7753 and interpolated count 7753
2017.12.27 23:29:44 4: AC: Pin 4 (pin4) count 5 longCount 7753 interpCount 7753 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 23:29:44 4: AC: interval 23:23:44 until 23:29:44, First at , Last at
2017.12.27 23:29:44 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 23:29:44 5: AC: Device Time 11700.534, Drift -6.463s in 337531.517s, -0.00%
2017.12.27 23:32:44 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 23:32:44 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 23:32:44 4: AC: interval 23:26:44 until 23:32:44, First at , Last at
2017.12.27 23:32:44 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 23:32:44 5: AC: Device Time 11880.534, Drift -6.568s in 337711.411s, -0.00%
2017.12.27 23:35:44 4: AC: Pin 4 debug: adding 0 to long count 7753 and interpolated count 7753
2017.12.27 23:35:44 4: AC: Pin 4 (pin4) count 5 longCount 7753 interpCount 7753 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 23:35:44 4: AC: interval 23:29:44 until 23:35:44, First at , Last at
2017.12.27 23:35:44 5: AC: set readings power4 to 0.000, timeDiff4 to 360000 and countDiff4 to 0
2017.12.27 23:35:44 5: AC: Device Time 12060.534, Drift -6.674s in 337891.306s, -0.00%
2017.12.27 23:38:43 4: AC: Pin 6 debug: adding 0 to long count 13112 and interpolated count 13112
2017.12.27 23:38:43 4: AC: Pin 6 (pin6) count 0 longCount 13112 interpCount 13112 (diff 0) in 360.000s, reject 0, Avg Len ms, result 0.000
2017.12.27 23:38:43 4: AC: interval 23:32:43 until 23:38:43, First at , Last at
2017.12.27 23:38:43 5: AC: set readings power6 to 0.000, timeDiff6 to 360000 and countDiff6 to 0
2017.12.27 23:38:43 5: AC: Device Time 12240.534, Drift -6.763s in 338071.217s, -0.00%
2017.12.27 23:41:43 4: AC: Pin 4 debug: adding 1 to long count 7753 and interpolated count 7753
2017.12.27 23:41:43 4: AC: Pin 4 (pin4) count 6 longCount 7754 interpCount 7754 (diff 1) in 326.944s, reject 0, Avg Len 1196436ms, result 0.011
2017.12.27 23:41:43 4: AC: interval 23:36:16 until 23:41:43, First at 326944, Last at 326944
2017.12.27 23:41:43 5: AC: set readings power4 to 0.011, timeDiff4 to 326944 and countDiff4 to 1
2017.12.27 23:41:43 5: AC: Device Time 12420.534, Drift -6.868s in 338251.111s, -0.00%


Ich hoffe Du kannst mit diesen Angaben schon mal etwas anfangen.
Den zweiten Test mit der Version aus #252 werde ich in den nächsten Tagen durchführen.

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 28 Dezember 2017, 21:02:05
Hallo Stefan

Die in #252 enthaltene ArduCounter1.94.ino enthält die folgende Code Zeile

const char versionStr[] PROGMEM = "ArduCounter V1.93";

Ist das korrekt? Bevor ich weiter teste möchte ich sicherstellen, dass ich die richtige V1.94 verwende.

Ich wäre froh um einen Tipp bezüglich avrdude. Ich habe es noch nicht zu Stande gebracht den Arduino direkt zu flashen. Wenn das ginge, würde dies mir das weitere Testen deutlich vereinfachen.

flashing device as ArduCounter for AC
hex file: ./FHEM/firmware/ArduCounter.hex
port: /dev/ttyUSB0
log file: ./log/ArduCounterFlash.log
AC closed
command: avrdude -p atmega328P -c arduino -P /dev/ttyUSB0 -D -U flash:w:./FHEM/firmware/ArduCounter.hex 2>./log/ArduCounterFlash.log

--- AVRDUDE ---------------------------------------------------------------------------------
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1c

avrdude done.  Thank you.

--- AVRDUDE ---------------------------------------------------------------------------------

AC opened



Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 29 Dezember 2017, 12:08:04
Hallo birdy,

das Problem mit dem Flashen und der Fehlermeldung "not in Sync" liegt vermutlich am Aufruf von avrdude (Attribut flashCommand).
Bei einem ArduCounter auf Basis eines Arduino Nano muss man z.B. ein -b57600 einfügen.

attr ArduColunterDevice flashCommand avrdude -p atmega328P -c arduino -b 57600 -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]


Ich habe versucht das im Wiki so zu beschreiben:
Zitat
flash
flashes the ArduCounter firmware ArduCounter.hex from the fhem subdirectory FHEM/firmware
onto the device. This command needs avrdude to be installed.
The attribute flashCommand specifies how avrdude is called.
If it is not modifed then the module sets it to
avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
This setting should work for a standard installation and the placeholders are automatically replaced when the command is used. So normally there is no need to modify this attribute.
Depending on your specific Arduino board however, you might need to insert -b 57600 in the flash Command.

Unabhängig davon habe ich vermutlich das Problem mit den fehlenden Impulsen identifiziert. Ich konnte das Problem in der Simulation mit einem zweiten Arduino als Signalgeber nachstellen.
Auslöser ist der prellende Reed-Kontakt. Das bringt den Mechanismus zur Pulslängenkontrolle durcheinander so dass der Puls nach dem Prellen rejected wird.
Eine einfache Lösung wäre daher ein elektrisches Entprellen mit einem Kondensator und Widerstand:
siehe https://www.mikrocontroller.net/articles/Entprellung

Das erklärt auch warum die Anwender mit Stromzählern mit S0-Ausgang keine Probleme haben. Ein S0-Signal prellt nicht und hat eine Signalbreite von 30ms.
Ich überarbeite gerade den entsprechenden Code-Teil im ArduCounter Sketch und habe hoffentlich bald eine neue Version fertig, die dann auch mit unsauberen Signalen klar kommt.

Mit weiteren Tests kannst Du daher erst mal warten. Ich melde mich sobald ich die neue Version fertig und getestet habe.

Gruss / Thanx
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 29 Dezember 2017, 22:36:41
Hallo Stefan

Vielen Dank für Dein Update.
Ich habe - b 57600 eingefügt, das Flashen funktioniert nun. Vielen Dank für den Hinweis :)

Ich habe versucht mich bezüglich dem elektrischen Entprellen etwas schlau zu machen.
Dabei musste ich zur Kenntnis nehmen, dass von einer Hardware Lösung tendenziell abgeraten und eine Software Lösung empfohlen wird.
Eine Kondensator Lösung kann ich auf die Schnelle nicht realisieren. 1. müsste ich zuerst ausfindig machen wie die Bauteile zu dimensionieren sind. 2. Müsste ich diese dann zuerst noch besorgen.

Welche Flanke müsste Deiner Ansicht nach entprellt werden?


Ich habe mal versucht das Prellen sichtbar zu machen. Ich habe div. Schalvorgänge aufgezeichnet, die haben alle wie folgt ausgesehen....

Bin gerne bereit weitere Test durchzuführen.

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 31 Dezember 2017, 12:51:11
Hallo birdy,

anbei mal ein Zwischenstand zum Jahresende.
Bei Verbose 4 oder 5 wird eine "History" der letzten Pulse je Pin ausgegeben...
Eigentlich sollte der Sketch so mit dem Prellen klar kommen.

Im Oszi wirst Du das Prellen erst bei entsprechender Sample-Rate bzw. Zeitbasis sehen.
Ein Reed-Kontakt prellt (wenn er prellt) angeblich im Bereich < 1ms.
In der History im Fhem-Log sollte es aber angezeigt werden.

Die Zeiten im History-Log sind in ms angegeben, die Buchstaben bedeuten:

C - Puls, wird gezählt
X ignoriere kurzen Drop
R ignoriere kurzen Puls
P Rest eines Puls der schon gezählt wurde (nach einem kurzen Drop)
G Gap zwischen Impulsen

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: FunkOdyssey am 31 Dezember 2017, 15:57:04
Zitat von: StefanStrobel am 31 Dezember 2017, 12:51:11
Hallo birdy,

anbei mal ein Zwischenstand zum Jahresende.
Bei Verbose 4 oder 5 wird eine "History" der letzten Pulse je Pin ausgegeben...
Eigentlich sollte der Sketch so mit dem Prellen klar kommen.

Meinst du das normale verbose oder das verboseReading?

Zitat von: StefanStrobel am 31 Dezember 2017, 12:51:11
Im Oszi wirst Du das Prellen erst bei entsprechender Sample-Rate bzw. Zeitbasis sehen.
Ein Reed-Kontakt prellt (wenn er prellt) angeblich im Bereich < 1ms.
In der History im Fhem-Log sollte es aber angezeigt werden.

Die Zeiten im History-Log sind in ms angegeben, die Buchstaben bedeuten:

Sorry, kurze Frage: Was ist ein History-Log? Ich logge das Device ganz normal per FileLog.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 31 Dezember 2017, 17:23:01
Hallo,

in dem zuletzt geposteten Sketch und Modul erzeugt das Modul nach jeder Meldung des Zählerstandes auch eine Protokollierung der letzten Änderungen an den überwachten Arduino-Eingängen im Fhem-Log mit Loglevel 4. Das meinte ich mit "History-Log".
Ich werde das aber noch weiter umbauen, so dass diese Ausgabe nur bei "get info" oder im Loglevel 5 ausgegeben wird.

Wenn Ihr es schon mal testen wollt, dann am besten für den ArduCounter verbose 4 oder 5 und für die relevanten Pins eine minimale Pulsdauer von 30ms und verboseReadingsX 1 setzen.

Beispiel:

attr ACTest flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
attr ACTest interval 10 20
attr ACTest pinD4 falling pullup 30
attr ACTest pinD5 falling pullup 30
attr ACTest pinD6 falling pullup 30
attr ACTest verbose 4
attr ACTest verboseReadings4 1
attr ACTest verboseReadings5 1
attr ACTest verboseReadings6 1


Die Ausgabe im Fhem-Log sieht dann z.B. so aus:


2017.12.31 12:31:02 4: ACTest: Pin 4 (pin4) count 201 longCount 350625 interpCount 351292 (diff 200) in 19.845s, reject 0, Avg Len 50
ms, result 36.281
2017.12.31 12:31:02 4: ACTest: interval 12:30:43 until 12:31:02, First at 0, Last at 19845
2017.12.31 12:31:03 4: ACTest: Pin 5 (pin5) count 168 longCount 174047 interpCount 1227898 (diff 84) in 9.997s, reject 0, Avg Len 59m
s, result 30.249
2017.12.31 12:31:03 4: ACTest: interval 12:30:52 until 12:31:02, First at 119, Last at 9997
2017.12.31 12:31:03 4: ACTest: Pin 6 (pin6) count 20 longCount 16426 interpCount 146170 (diff 10) in 9.918s, reject 0, Avg Len 495ms,
result 3.630
2017.12.31 12:31:03 4: ACTest: interval 12:30:53 until 12:31:02, First at 991, Last at 9918
2017.12.31 12:31:03 4: ACTest: device: pulse history:
2017.12.31 12:31:03 4: ACTest: device: slot 3 pin 5 start 10314 len 60 at 1 G
2017.12.31 12:31:03 4: ACTest: device: slot 4 pin 4 start 10357 len 49 at 1 G
2017.12.31 12:31:03 4: ACTest: device: slot 5 pin 6 start 9918 len 495 at 1 G
2017.12.31 12:31:03 4: ACTest: device: slot 6 pin 5 start 10374 len 59 at 0 C
2017.12.31 12:31:03 4: ACTest: device: slot 7 pin 4 start 10406 len 50 at 0 C
2017.12.31 12:31:03 4: ACTest: device: slot 8 pin 5 start 10433 len 60 at 1 G
2017.12.31 12:31:03 4: ACTest: device: slot 9 pin 4 start 10456 len 50 at 1 G
2017.12.31 12:31:03 4: ACTest: device: slot 0 pin 5 start 10493 len 59 at 0 C
2017.12.31 12:31:03 4: ACTest: device: slot 1 pin 4 start 10506 len 49 at 0 C
2017.12.31 12:31:03 4: ACTest: device: slot 2 pin 4 start 10555 len 50 at 1 G


Gruss
   Stefan


Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 01 Januar 2018, 20:25:56
Hallo,

anbei nun der letzte Stand. Die letzten Impulse mit jeweiliger Länge sieht man nun am Ende von get info.
Die Probleme mit prellenden Reed-Kontakten sollten damit eigentlich gelöst sein.
@birdy / @FunkOdissey: Wenn Ihr das bestätigen könnt, checke ich die neue Version ein.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 01 Januar 2018, 23:24:32
Danke Stefan

Das Update ist durchgeführt, die neuen Versionen sind im Einsatz.
Ich schaue mal wie es läuft, und berichte dann wieder.

Ich habe noch 2-3 Messungen mit deutlich erhöhter Sample –Rate gemacht. Doch ein Prellen konnte ich (noch) nicht messen. Ich denke, der Reedkonkakt prellt auch nicht grundsätzlich /immer, und man müsste Glück haben einen entsprechenden Schaltvorgang aufzuzeichnen.

Vielen Dank für Deine hervorragende Unterstützung.
Gruss birdy 
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 03 Januar 2018, 11:14:28
Hier noch ein Update vor dem CheckIn:
Die Doku ist aktualisiert, die Darstellung der Impuls-History optimiert und die Readings etwas angepasst.
Die Long-Counter werden jetzt immer erzeugt. verboseReadingsX ist nur noch nötig wenn man die Impuls-History sowie countDiffX und timeDiffX als Reading sehen möchte.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Kornelius777 am 03 Januar 2018, 11:38:53
Hallo Stefan,

das ist schon ziemlich klasse, was Du hier so auf die Beine gestellt hast! Danke!

Ich war gerade im Wiki - da steht jetzt noch:
ZitatreadingNameLongCount[0-9]+
Change the name of the long counter reading longX (only created when verboseReadingsX is set to 1) to something more meaningful.

Ist das jetzt noch aktuell?

Grüße!

Kornelius
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: FunkOdyssey am 03 Januar 2018, 15:37:10
Zitat von: StefanStrobel am 01 Januar 2018, 20:25:56
Hallo,

anbei nun der letzte Stand. Die letzten Impulse mit jeweiliger Länge sieht man nun am Ende von get info.
Die Probleme mit prellenden Reed-Kontakten sollten damit eigentlich gelöst sein.
@birdy / @FunkOdissey: Wenn Ihr das bestätigen könnt, checke ich die neue Version ein.

Gruss
   Stefan

Du hast aber ne ordentliche Schlagzahl drauf in den letzten Tagen. Da komme ich mit dem Flashen und Aktualisieren kaum hinterher. :-)
Ich weiß nicht, ob meine Test wirklich repräsentativ sind. Ich habe in den letzten Wochen ein wenig den Überblick verloren über die neuen Features (long, interpolated, Impuls-History, etc.). Da ich noch geringe Abweichungen hatte, habe ich gestern meinen Counter erst einmal auf das long-Reading umgestellt. Ich muss halt nur immer einige Tage warten bis ich die Abweichung feststelle. Zwar verbrauche ich im Winter mehr Gas, aber die Abweichungen sind bei mir halt nicht nach wenigen Stunden sichtbar. Vom Gefühl her könnten die neuen Readings (bei mir) aber besser passen. Ich werde das mal beobachten.

Ich meine, dass seitdem ich mit einem 10uF Kondensator entprelle, die Abweichungen auch geringer geworden sind. Ich habe halt - wie gesagt - noch keinen repräsentativen Zeitraum, da irgendwie immer etwas war. Einige Wochen habe ich bewusst mit einer Differenz gelebt, die durch eine Offline-Phase des Raspberrys entstanden ist. Dies im Nachhinein zu rekonstruieren, ist ein wenig schwierig.

Aber danke für deine Unterstützung und die neuen Möglichkeiten.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 03 Januar 2018, 18:54:09
Hallo Stefan

Seit knapp 2 Tagen habe ich die Version aus Post #260 im Einsatz. Die Funktioniert einwandfrei, keinerlei Abweichung bis jetzt. Hervorragende Arbeit, Chapeau. (Die neueste Version habe ich noch nicht getestet, wird aber in Kürze folgen).

Meine Testes sind mit einer Pluslängenkontrolle von 200 gelaufen. Aufgefallen ist mir lediglich, dass in der Kombination Firm-/Software 2.03 / 5.6 keine Rejects gezählt wurden. In der Vergangenheit hatte ich immer ein paar pro Tag.
Ist die Pulslängenkontrolle immer noch sinnvoll oder notwendig. Was ist Deine Empfehlung?

Gruss birdy


Titel: Antw:Stromzähler mit S0 Schnittstelle nochmal
Beitrag von: StefanStrobel am 04 Januar 2018, 16:40:57
Hallo,

Ich würde grundsätzlich eine minimale Pulslänge angeben und damit die Pulslängenkontrolle aktivieren. Bei einem S0–Ausgang eines Stromzählers sollten das 30ms sein.

Die frühere Version der Arducounter–Firmware hatte einen Bug in der Pulslängenkontrolle, so dass bei prellenden Kontakten auch gültige Signale rejected wurden. Die neue Version sollte das Problem behoben haben.

Das verwirrende bei Deinem Reed–Kontakt war, dass er so schnell geprellt hat und die Debug–Funktionen in der Firmware die Analyse etwas verlangsamt haben, so dass das Prellen ,,übersehen" wurde. Mit Debug–Funktionen hat deshalb vermutlich alles funktioniert und ohne Debug–Funktionen war das Problem wieder da.

Die Pulse–History–Funktion, die ich jetzt in der neuen Version eingebaut habe, verlangsamt den Sketch auch ein klein wenig, ist aber deutlich effizienter implementiert als die frühere Debug-Funktion.

Ich habe die neue Version auf einem Arduino UNO getestet und an 15 Eingängen jeweils Signale mit nur 5–10 Millisekunden Puls- und Pausenlänge angelegt. Das hat problemlos funktioniert. Deshalb würde ich die Funktion dauerhaft drin lassen. Wenn dann mal etwas seltsam aussieht, kann man mit diesem Feature viel besser nachvollziehen, was passiert ist.

Die Pulse-History speichert zwar insgesamt nur 20 Potential-Änderungen an allen Eingängen zusammen, aber man kann ja das Intervall-Attribut entsprechend klein machen und die pulseHistory-Readings in ein Filelog packen, so dass man tatsächlich alle Änderungen nachvollziehen kann.
Für mehr als 20 Einträge ist der RAM eines Uno etwas knapp. Da müsste man den Zähler für einen Arduino Mega compilieren.

@Kornelius: Danke für den Hinweis auf den Fehler im Wiki. Das korrigiere ich gleich noch.

Gruss
    Stefan



Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Kornelius777 am 05 Januar 2018, 06:39:12
Hallo Stefan,

gestern habe ich (endlich) einen passenden Reedkontakt für meinen Gaszähler geliefert bekommen. Nun tickert ArduCounter fröhlich vor sin hin. Keinerlei Abweichung - kein Reject, keine "vergessenen" Zähler. Läuft klasse!

Jetzt noch eine Newbie-Frage:
Pro "interval" liefert mir ArduCounter ja "ArduCounter.powerX" als Reading.
Was muss ich nun wie anpassen, damit ich ein Delta-Reading bekomme in der Form von: "Während des letzten "interval" hat ArduCounter Y Ticks (Ganzzahl) gezählt"?

Vielen Dank für Deinen großartigen Einsatz!

Kornelius
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 05 Januar 2018, 09:59:27
Hallo Kornelius,

so richtig klar ist mir Deine Frage nicht. Was willst Du denn mit dieser Ganzzahl? Willst Du die Differenz zum vorhergehenden Zählerstand?
Dann mach Dir ein Userreading mit dem modifier difference aber nicht mit Power sondern mit pinx.
Zitatdifference: das Reading wird auf die Differenz zw. dem aktuellen und dem vorherigen Wert gesetzt.

Power liefert die Momentanleistung.
So habe ich mir das mal mit Power für mich verdeutlicht, damit mir klar wird wie ich den factor angeben muss:
Power ist der Wert für die momentane Leistung in Impulsen/h ((delta count) / (delta time) * factor).

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Kornelius777 am 05 Januar 2018, 10:25:26
Danke, Otto!

Genau, was ich gesucht hatte!
Ist eine steile Lernkurve hier!  :)

Vielen Dank!

Kornelius
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 05 Januar 2018, 15:14:45
Hallo,

Wenn z.B. Für Pin4 auch das Attribut verboseReadings4 auf 1 gesetzt ist, dann werden auch Readings countDiff4 und timeDiff4 erzeugt. Die liefern jeweils das Delta zum aktuellen Intervall...

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 05 Januar 2018, 21:43:37
Hallo Stefan

Seit ca. 24 h läuft bei mir die Kombination 2.04/5.7 funktioniert zuverlässig, keine Abweichung bis jetzt.

Eine ,,Spezialität" ist mir aber noch aufgefallen. Die Pin Attribute werden nach dem Neuaufbau der Webseite korrekt dargestellt -> Bild 1.
Aber sobald der erste Impuls daher kommt, werden die Attribute mit dem Readings des entsprechenden Pin überschrieben -> Bild 2.
Das F5 drücken löst dann das Problem kurzfristig. Trotzdem bin ich mir nicht ganz sicher ob dies wirklich im Sinne des Erfinders ist.  ;)

Beste Grüsse birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 06 Januar 2018, 18:27:56
Hallo birdy,

Das klingt seltsam. Muss ich mal in Ruhe versuchen nachzustellen.
Die Darstellung macht allerdings ein Frontend-Modul bzw. das Fhemweb-Modul. Arducounter zählt und schreibt die Werte in die Readings...

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 07 Januar 2018, 16:42:53
Das Phänomen ist zugegebener massen nicht ganz neu. Hat mit Sicherheit schon in der letzten Version bestanden. Aber seit wann oder ab welcher Version kann ich nicht eingrenzen. Könnte dies am identischen Namen liegen der via Longpoll  (oder wie die Technik auch immer heisst) automatisch aktualisiert wird?
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Kornelius777 am 10 Januar 2018, 18:08:46
Hallo,

ich brauche bitte gerade mal etwas Hilfe:

Meine Schaltung im Hausanschlussraum sieht folgendermaßen aus:

Gaszähler --> Hallsensor --> Arduino1 --> Arduino2
Arduino1 legt brav (gerade nachgemessen) 5V bzw 0V an PinD7 von Arduino2 an.

Allerdings misst ArduCounter (läuft auf Arduino2) nix.

hier mein Listing:


Internals:
   CounterResetTime 1515603774.14519
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH06NIQN-if00-port0@38400
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH06NIQN-if00-port0@38400
   FD         5
   Initialized 1
   NAME       HAR.ArduCounter
   NOTIFYDEV  global
   NR         24
   NTFY_ORDER 50-HAR.ArduCounter
   PARTIAL   
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 2.04
   VersionModule 5.7 - 2.1.2018
   buffer     
   Helper:
     DBLOG:
       GasZaehler:
         DBLogging:
           TIME       1515603671.90253
           VALUE      395.8
       GasZaehlerArdu:
         DBLogging:
           TIME       1515603671.90253
           VALUE      39580
       GasZaehlerTicks:
         DBLogging:
           TIME       1515603671.90253
           VALUE      0
       interpolatedLong7:
         DBLogging:
           TIME       1515603671.90253
           VALUE      0
       pin7:
         DBLogging:
           TIME       1515603671.90253
           VALUE      0
       power7:
         DBLogging:
           TIME       1515603671.90253
           VALUE      0.000
       reject7:
         DBLogging:
           TIME       1515603671.90253
           VALUE      0
   READINGS:
     2018-01-10 18:01:11   GasZaehler      395.8
     2018-01-10 18:01:11   GasZaehlerArdu  39580
     2018-01-10 18:01:11   GasZaehlerTicks 0
     2018-01-10 18:01:11   interpolatedLong7 0
     2018-01-10 18:01:11   pin7            0
     2018-01-10 18:01:11   power7          0.000
     2018-01-10 18:01:11   reject7         0
     2018-01-10 17:41:06   state           opened
Attributes:
   DbLogInclude .*
   event-on-update-reading .*
   flashCommand avrdude -b 57600 -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 300
   pinD7      rising
   readingNameLongCount7 GasZaehlerArdu
   room       HAR
   userReadings GasZaehler {ReadingsVal("HAR.ArduCounter","GasZaehlerArdu",0)/100}, GasZaehlerTicks difference {ReadingsVal("HAR.ArduCounter","GasZaehlerArdu",0)}
   userattr   pinD7 readingNameLongCount7


Was mache ich denn bloß falsch?

Vielleicht kann mir mal bitte jemand die Tomaten von den Augen nehmen.

Viele Grüße,

Kornelius

Hier übrigens noch:


M Status: ArduCounter V2.04
normal interval 60000
max interval 300000
min interval 0
min count 0
pin 7 PCInt pin 23, iMode rising, no min len, count 0 (+0) in 109997 ms
Next report in 9982 Milliseconds
pulse history:
pin 7 start -711279 len 8614 at 1 
pin 7 start -702665 len 20624 at 0 
pin 7 start -682041 len 8008 at 1 
pin 7 start -674033 len 19291 at 0 
pin 7 start -654742 len 7886 at 1 
pin 7 start -646856 len 19290 at 0 
pin 7 start -627566 len 7522 at 1 
pin 7 start -620044 len 19655 at 0 
pin 7 start -600389 len 7643 at 1 
pin 7 start -592746 len 20383 at 0 
pin 7 start -572363 len 8493 at 1 
pin 7 start -563870 len 22809 at 0 
pin 7 start -541061 len 9220 at 1 
pin 7 start -531841 len 25235 at 0 
pin 7 start -506606 len 10070 at 1 
pin 7 start -496536 len 28511 at 0 
pin 7 start -468025 len 11526 at 1 
pin 7 start -456499 len 32030 at 0 
pin 7 start -424469 len 12981 at 1 
pin 7 start -736151 len 24872 at 0 
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Kornelius777 am 10 Januar 2018, 19:49:32
Kann es sein, dass das Attribut "factor" verpflichtend ist?
Ich habe jetzt factor = 1 gesetzt.
Scheint erstmal zu zählen.

Viele Grüße!

Kornelius
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 10 Januar 2018, 22:19:22
Hi Kornelius,

Aus der Doku,
Zitatfactor
Define a multiplicator for calculating the power from the impulse count and the time between the first and the last impulse

Kann sein wenn Du das Attribute löschst, dann Faktor 0  ::)

Ich wiedehole mich:
ZitatPower liefert die Momentanleistung.
So habe ich mir das mal mit Power für mich verdeutlicht, damit mir klar wird wie ich den factor angeben muss:
Power ist der Wert für die momentane Leistung in Impulsen/h ((delta count) / (delta time) * factor).

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Kornelius777 am 10 Januar 2018, 22:23:46
Hmpf. Aus meiner Sicht ist dieses Vorgehen suboptimal. Denn: 0 x factor = 0!
Meine Empfehlung:
Setze den default-Wert für factor auf "1".

Viele Grüße!

Kornelius
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 10 Januar 2018, 22:32:15
Der default Wert ist meines Wissens 1000 - wie gesagt wenn Du ihn löschst ...  :-X

Also kann sein die Antwort auf Deine Frage #275 ist Ja.  :D
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 11 Januar 2018, 19:43:31
Hallo,

aus dem Modul-Code (Zeile 607):

my $factor = AttrVal($name, "readingFactor$pin", AttrVal($name, "factor", 1000));


wenn das Atribut nicht existiert, wird mit 1000 gerechnet.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Nighthawk am 12 Januar 2018, 19:54:26
HalloStefan,

vielen Dank für die Änderungen, nach längerer Beobachtung funktioniert der Zähler nun tadellos.

Offtopic:
Da ich einen zusätzlichen Wasserzähler mit Reedkontakt verbaut habe und dieser nicht ganz genau so zählt wie der Hauptzähler, bräuchte ich eine Art Offsetfunktion. Der Hauptzähler Zählt ca 2,25% mehr als der Zähler mit dem Reedkontakt, wie könnte ich diesen Offset im FHEM verarbeiten?

Gruß Alex
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 12 Januar 2018, 20:14:25
Hallo Alex

Versuch es doch mal mit einem User reading in etwa so...

WasserNebenzaehler{ReadingsVal("HAR.ArduCounter","pin7",0)/2.25}

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Nighthawk am 12 Januar 2018, 20:19:06
Das war schnell, danke, werde ich testen.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Kornelius777 am 12 Januar 2018, 20:55:20
...allerdings eher "* 1.0225"
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Nighthawk am 13 Januar 2018, 08:32:58
Das war klar ;-)
Funktioniert gut, danke!
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 13 Januar 2018, 14:17:21
Hallo,

der Effekt mit den sich selbst in der Anzeige ändernden Attributen bei birdy hat sich übrigens auch geklärt:
https://forum.fhem.de/index.php/topic,82586.0.html

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Oscar am 13 Januar 2018, 18:13:37
Hallo,

als erstes möchte ich mich bei allen Entwicklern für die Arbeit bedanken, ich beschäftige mich seit Jahren mit FHEM und habe (gerade mit der neuesten Version) schon einige gute Lösungen aufbauen können. Klasse.

Nun zu meiner Frage..

Ich habe mir den ArduCounter gebaut um meinen Stromzähler auszulesen.
Dazu habe ich die ArduCounter1.8.ino auf den Nano gespielt und diesen mit
define Verbrauch ArduCounter /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI04XE7B-if00-port0
in FHEM angelegt.

Die Versionsabfrage in FHEM funktioniert.

Wenn ich jetzt einen Port definieren will mit
attr Verbrauch pinD2 falling pullup 50   (Zähler gibt Impulse mit Impulslänge von 65ms aus)
steht im Logfile von FHEM
Verbrauch: unparseable message from device: Error: Illegal pin specification 2

Kann mir jemand sagen was ich falsch mache.

Weiterhin möchte ich an den anderen Ports andere Zähler anschliesen, diese haben aber andere Verbrauchsfaktoren.
Wie muß ich diese definieren?

Vielen Dank für eure Hilfe.

Gruß Oscar
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 13 Januar 2018, 20:44:17
Hallo Oscar,

der Sketch erlaubt nicht alle Pins, da manche eventuell für andere Zwecke reserviert sind. Im Sketch steht das ab ca. Zeile 80:

/* arduino pins that are typically ok to use
* (some are left out because they are used
* as reset, serial, led or other things on most boards) */
byte allowedPins[MAX_ARDUINO_PIN] =
  { 0,  0,  0,  3,  4, 5, 6, 7,
    8,  9, 10, 11, 12, 13,
   14, 15, 16, 17,  0, 0};


Nimm einfach einen Pin ab 4.

Ich habe übrigens gerade die neuen Versionen des Moduls und des Sketches (2.05) eingecheckt.
Da sind ein paar Fehler behoben.

Gruss
   Stefan

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Oscar am 14 Januar 2018, 10:42:50
Hallo Stefan,

Danke, das war der Fehler.
Der Zähler zählt jetzt freudig.

Jetzt werde ich mich mal um die Anpassungen kümmern.

Gruß Oscar
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 15 Januar 2018, 18:16:24
Zitat von: StefanStrobel am 13 Januar 2018, 14:17:21
der Effekt mit den sich selbst in der Anzeige ändernden Attributen bei birdy hat sich übrigens auch geklärt:

Ja genau, alle Probleme sind gelöst, alles funktioniert besten. Vielen Dank an alle Beteiligten.

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 03 März 2018, 19:49:53
Hallo Stefan,

ich setze den ArduCounter zum Auslesen meines Ferraris-Stromzählers ein. Vor allem die im Modul eingebaute Möglichkeit zum Entprellen des Signals ist genial. Vorher habe ich lange Zeit vergeblich mit dem ESPEasy PulseCounter experimentiert.

Ich habe das Modul minimal modifiziert, um die serielle Schnittstelle des Arduino via esp-link und ser2net remote lesen zu können. Das funktioniert prinzipiell auch zunächst problemlos.

S0 -> Arduino -> esplink -> ser2net -> FHEM auf RPi3

Heute ist mir aufgefallen, daß das Reading pin4 häufig zurückgesetzt wird.

2018-03-03_16:55:47 AC pin4: 52
2018-03-03_16:57:55 AC pin4: 53
2018-03-03_16:58:49 AC pin4: 54
2018-03-03_16:59:57 AC pin4: 55
2018-03-03_17:01:42 AC pin4: 56
2018-03-03_17:03:42 AC pin4: 57
2018-03-03_17:05:06 AC pin4: 58
2018-03-03_17:06:28 AC pin4: 59
2018-03-03_17:07:48 AC pin4: 60
2018-03-03_17:09:14 AC pin4: 61
2018-03-03_17:10:48 AC pin4: 62
2018-03-03_17:12:24 AC pin4: 63
2018-03-03_17:14:06 AC pin4: 64
2018-03-03_17:16:00 AC pin4: 65
2018-03-03_17:17:52 AC pin4: 66
2018-03-03_17:21:49 AC pin4: 2
2018-03-03_17:24:11 AC pin4: 3
2018-03-03_17:26:21 AC pin4: 4
2018-03-03_17:27:54 AC pin4: 5
2018-03-03_17:28:10 AC pin4: 6
2018-03-03_17:28:56 AC pin4: 7
2018-03-03_17:30:16 AC pin4: 8
2018-03-03_17:30:46 AC pin4: 9
2018-03-03_17:31:36 AC pin4: 10
2018-03-03_17:31:54 AC pin4: 11
2018-03-03_17:32:36 AC pin4: 12
2018-03-03_17:34:38 AC pin4: 13
2018-03-03_17:36:48 AC pin4: 14
2018-03-03_17:40:27 AC pin4: 2
2018-03-03_17:42:29 AC pin4: 3
2018-03-03_17:44:47 AC pin4: 4
2018-03-03_17:47:05 AC pin4: 5
2018-03-03_17:49:23 AC pin4: 6
2018-03-03_17:51:38 AC pin4: 7
2018-03-03_17:53:26 AC pin4: 8
2018-03-03_17:56:37 AC pin4: 2
2018-03-03_17:58:17 AC pin4: 3
2018-03-03_17:59:51 AC pin4: 4
2018-03-03_18:01:33 AC pin4: 5
2018-03-03_18:03:13 AC pin4: 6
2018-03-03_18:04:53 AC pin4: 7
2018-03-03_18:06:31 AC pin4: 8
2018-03-03_18:08:05 AC pin4: 9
2018-03-03_18:10:05 AC pin4: 10
2018-03-03_18:12:01 AC pin4: 11
2018-03-03_18:13:45 AC pin4: 12


Woran kann das liegen?

Hier noch ein list des ArduCounters:

fhem> list AC
Internals:
   CounterResetTime 1520102461.46709
   DEF        192.168.8.69:23
   DeviceName 192.168.8.69:23
   FD         5
   Initialized 1
   NAME       AC
   NOTIFYDEV  global
   NR         213
   NTFY_ORDER 50-AC
   PARTIAL
   STATE      72065.69
   TYPE       ArduCounter
   VersionFirmware 2.05
   VersionModule 5.7 - 2.1.2018
   buffer
   READINGS:
     2018-03-03 19:40:42   TotalKWh        72065.6949999636
     2018-03-03 19:40:42   countDiff4      1
     2018-03-03 19:40:42   interpolatedLong4 21484
     2018-03-03 19:40:42   lastMsg4        R4 C13 D1 R1 T69896 N978594 X0 F69896 L69896 A2883 H-631573/3523:0C, -628050/69726:1G, -558324/2838:0C, -555486/65147:1G, -490339/2823:0C, -487516/65364:1G, -422152/2847:0C, -419305/66294:1G, -353011/2889:0C, -350122/66820:1G, -283302/2907:0C, -280395/67235:1G, -213160/2903:0C, -210257/67622:1G, -142635/2992:0C, -139643/66267:1G, -73376/2917:0C, -70459/67013:1G, -3446/2883:0C
     2018-03-03 19:40:42   long4           18823
     2018-03-03 19:40:42   pin4            13
     2018-03-03 19:40:42   pinHistory4     -631573/3523:0C, -628050/69726:1G, -558324/2838:0C, -555486/65147:1G, -490339/2823:0C, -487516/65364:1G, -422152/2847:0C, -419305/66294:1G, -353011/2889:0C, -350122/66820:1G, -283302/2907:0C, -280395/67235:1G, -213160/2903:0C, -210257/67622:1G, -142635/2992:0C, -139643/66267:1G, -73376/2917:0C, -70459/67013:1G, -3446/2883:0C
     2018-03-03 19:40:42   power4          0.429
     2018-03-03 19:40:42   reject4         6804
     2018-03-03 03:17:19   state           opened
     2018-03-03 19:40:42   timeDiff4       69896
Attributes:
   disable    0
   factor     8333
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   2 300 1 1
   pinD4      falling pullup 30
   room       Strom
   stateFormat { sprintf("%.2f", round( ReadingsVal("AC","TotalKWh",0), 2))}
   userReadings TotalKWh:long4.* monotonic { ReadingsVal("AC","long4",0)/120 }
   userattr   pinD4 verboseReadings4
   verboseReadings4 1



Angehangen ist ein Logfile des Zählers mit debug Readings sowie das von mir für ser2net modifizierte Modul.

VG
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 04 März 2018, 16:28:59
Hallo Tobias,

zur Fehlersuche bräuchte ich einen Auszug aus dem Fhem-Log bei dem das Modula auf verbose 5 steht.

Aber eventuell kann ich Dir auch anders helfen:
ich habe angefangen, den ArduCounter auf den ESP8266 (bei mir einen Wemos D1) zu portieren. Es ist zwar noch nicht alles drin, was ich mir vorgenommen habe, aber die bisherigen Features scheinen soweit schon zu funktionieren.
Wenn Du Interesse hast, könnte ich Dir den aktuellen Stand (geändertes Modul und Sketch) zur Verfügung stellen und Du könntest es mal testen.

Was noch nicht drin ist:
- Speichern der aktuellen Konfiguration im Flash, so dass der ESP nach einem Reboot gleich weiter zählen kann
- Aufräumen des Sketch, so dass er auch wieder auf einem normalen Arduino läuft (bisher habe ich viel für den ESP umgebaut)

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 04 März 2018, 16:39:09
Hallo Stefan,

besten Dank - Log mit verbose 5 ist in Arbeit.

Sehr gerne teste ich auch den Port auf den ESP8266. Einen wemos D1 hierfür habe ich da.

Ist mit dem ESP8266 Port der direkte Anschluß per WLAN an das ArduCounter Modul möglich?

Gruß
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 04 März 2018, 19:12:29
Zitat von: tpm88 am 04 März 2018, 16:39:09
Ist mit dem ESP8266 Port der direkte Anschluß per WLAN an das ArduCounter Modul möglich?

Genau das ist die Idee :-)

Ich räume den Code noch ein bisschen auf und poste dann eine Testversion in den nächsten Tagen.

Gruß
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 04 März 2018, 20:11:11
Zitat von: StefanStrobel am 04 März 2018, 19:12:29

Zitat von: tpm88 am 04 März 2018, 16:39:09
Ist mit dem ESP8266 Port der direkte Anschluß per WLAN an das ArduCounter Modul möglich?
Genau das ist die Idee :-)

Ich räume den Code noch ein bisschen auf und poste dann eine Testversion in den nächsten Tagen.

Gruß
   Stefan

Dann könnte ich ja meinen Keller- RPi  in Rente schicken....
und hätte die Reading direkt in Haupt-FHEM?  Wenn das mal keine guten Neuigkeiten sind!

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 06 März 2018, 19:54:57
Ok, hier eine erste neue Version für den ESP8266 zum Testen.
Im Sketch muss die SSID und der WLAN Key manuell eingetragen werden (Zeile 100 und 101).
Debug kann durch Löschen der Zeile 80 entfernt werden.

Zum Flashen eines Wemos D1 muss in der Arduino IDE per Boardmanager der Support für den ESP8266 nachinstalliert sein. Dann muss das korrekte Board (z.B. Wemos D1 mini) ausgewählt werden.
Das angehängte Modul ist für den neuen Sketch angepasst und funktioniert nicht mehr mit der veröffentlichten stabilen Version des ArduCounter Sketches für den Arduino.

Im Modul wird dann statt z.B. /dev/ttyUSB1 einfach eine IP-Adresse mit Port 80 angegeben, z.B.:
define ACTest ArduCounter 192.168.1.112:80

das ganze ist sicher noch nicht ausgereift. Wer einen stabilen Zähler braucht, sollte die eingecheckte Version des Moduls und Sketches für den Arduino nutzen ;-)

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 06 März 2018, 20:46:50
Ja die aktuelle Version für den Arduino läuft sehr stabil.

Ich werde mir gelegentlich einen ESP8266 zulegen, um das Ganze auszuprobieren. Die Idee mit den ESP8266 finde ich einfach genial!
Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 07 März 2018, 18:46:13
Hallo Stefan,

auf den ersten Blick sieht der ESP8266 Support schon sehr gut aus:

fhem> list ACtest
Internals:
   CFGFN
   CounterResetTime 1520443884.5059
   DEF        192.168.8.69:80
   DeviceName 192.168.8.69:80
   FD         60
   Initialized 1
   NAME       ACtest
   NOTIFYDEV  global
   NR         10789
   NTFY_ORDER 50-ACtest
   PARTIAL
   STATE      opened
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 2.25
   VersionModule 5.84 - 6.3.2018
   WaitForAlive 0
   allowedPins 0,1,2,5,6,7
   buffer
   nextOpenDelay 60
   CounterInterpolated:
     5          1
   READINGS:
     2018-03-07 18:35:40   interpolatedLong5 3
     2018-03-07 18:35:40   long5           3
     2018-03-07 18:35:40   pin5            3
     2018-03-07 18:36:50   pinHistory5     -326003/81072@1G, -244931/3617@0C, -241314/12@1X, -241302/1@0R, -241301/82031@1G, -159270/3544@0C, -155726/81936@1G, -73790/0@0R, -73790/1@1X, -73789/0@0R, -73789/8@1X, -73781/3605@0C
     2018-03-07 18:35:40   power5          0.351
     2018-03-07 18:35:40   reject5         3
     2018-03-07 18:31:24   state           opened
Attributes:
   factor     8333
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   2 300 1 1
   pinD5      falling pullup 30
   room       Strom
   userattr   pinD0 pinD5


Erste Erkenntnisse:


Mit den oben gesetzten Attributen schreibt das Modul alle 2 Sekunden folgende Meldungen ins Log - auch ohne verboseReadings. Liegt das an dem DebugFlag im Sketch?

2018-03-07_18:44:12 ACtest pinHistory5: -434634/1@0R, -434633/24@1X, -434609/2877@0C, -431732/72774@1G, -358958/3279@0C, -355679/76906@1G, -278773/0@0R, -278773/0@1X, -278773/1@0R, -278772/34@1G, -278738/3485@0C, -275253/79549@1G, -195704/0@0R, -195704/38@1G, -195666/3480@0C, -192186/79954@1G, -112232/3503@0C, -108729/80112@1G, -28617/3497@0C
2018-03-07_18:44:14 ACtest pinHistory5: -436634/1@0R, -436633/24@1X, -436609/2877@0C, -433732/72774@1G, -360958/3279@0C, -357679/76906@1G, -280773/0@0R, -280773/0@1X, -280773/1@0R, -280772/34@1G, -280738/3485@0C, -277253/79549@1G, -197704/0@0R, -197704/38@1G, -197666/3480@0C, -194186/79954@1G, -114232/3503@0C, -110729/80112@1G, -30617/3497@0C
2018-03-07_18:44:16 ACtest pinHistory5: -438634/1@0R, -438633/24@1X, -438609/2877@0C, -435732/72774@1G, -362958/3279@0C, -359679/76906@1G, -282773/0@0R, -282773/0@1X, -282773/1@0R, -282772/34@1G, -282738/3485@0C, -279253/79549@1G, -199704/0@0R, -199704/38@1G, -199666/3480@0C, -196186/79954@1G, -116232/3503@0C, -112729/80112@1G, -32617/3497@0C


Ich werde weiter testen. Aber bereits jetzt: DANKE für die Weiterentwicklung!

Gruß
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 07 März 2018, 22:50:51
Hallo Tobias,

die Pins 3,4 und 8 setzen den Boot-Modus des ESP. Wenn da ein Zähler angeschlossen ist, kommt der ESP möglicherweise nach einem Reboot nicht mehr hoch.
Die Pullup-Einstellung für die anderen Pins war noch nicht mit dem ESP kompatibel. Das sollte jetzt funktionieren.
Ebenso habe ich das mit der Pin-History gefixt. Das war noch nicht fertig ...

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 08 März 2018, 17:00:57
Hallo Stefan,

v2.26 habe ich eingespielt. Funktioniert auf den ersten Blick wieder einwandfrei.

Die pinHistoryX readings kommen jetzt nur noch, wenn verboseReadingsX gesetzt ist. Dann allerdings alle zwei Sekunden (möglicherweise abhängig von meinen Intervall Settings)??

interval   2 300 1 1


Was noch nicht drin ist:
- Speichern der aktuellen Konfiguration im Flash, so dass der ESP nach einem Reboot gleich weiter zählen kann
- Aufräumen des Sketch, so dass er auch wieder auf einem normalen Arduino läuft (bisher habe ich viel für den ESP umgebaut)
[/quote]

Interessehalber - speicherst du die longX/interpolatedLongX Counter im Flash des ESP8266? Wenn ja, wie sieht es da mit dem Flash Wear Leveling aus? Siehe z.B. https://design.goeszen.com/mitigating-flash-wear-on-the-esp8266-or-any-other-microcontroller-with-flash.html (https://design.goeszen.com/mitigating-flash-wear-on-the-esp8266-or-any-other-microcontroller-with-flash.html)

Gruß
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 08 März 2018, 19:36:30
Hallo Tobias,

die Long Counter existieren bisher nur auf der Fhem/Perl-Seite.
Im EEPROM / Flash speichere ich bisher nichts. Bei den Countern wäre das vermutlich auch ungesund.

Die Idee ist aber, dass die Pin-Konfiguration (aktive Pins, pullup, min length) im Flash gespeichert wird (wenn man das explizit mit einem set initiiert), so dass nach einem Cras / reboot sofort wieder richtig weiter gezählt werden kann. Das habe ich aber noch nicht implementiert.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 12 März 2018, 12:31:36
Hallo Stefan,

ich habe folgende Verbindungsabbrüche (ESP8266 WLAN) im Log gesehen:

2018-03-09_13:30:36 AC_Strom DISCONNECTED
2018-03-09_13:30:37 AC_Strom CONNECTED
2018-03-09_14:13:00 AC_Strom DISCONNECTED
2018-03-09_14:13:00 AC_Strom CONNECTED
2018-03-09_14:14:02 AC_Strom DISCONNECTED
2018-03-09_14:14:04 AC_Strom CONNECTED
2018-03-09_14:29:36 AC_Strom DISCONNECTED
2018-03-09_14:29:37 AC_Strom CONNECTED
2018-03-09_18:02:54 AC_Strom DISCONNECTED
2018-03-09_18:02:54 AC_Strom CONNECTED
2018-03-09_18:12:36 AC_Strom DISCONNECTED
2018-03-09_18:12:38 AC_Strom CONNECTED
2018-03-09_18:57:31 AC_Strom DISCONNECTED
2018-03-09_18:57:31 AC_Strom CONNECTED
2018-03-09_18:59:33 AC_Strom DISCONNECTED
2018-03-09_18:59:33 AC_Strom CONNECTED
2018-03-09_19:01:25 AC_Strom DISCONNECTED
2018-03-09_19:01:28 AC_Strom CONNECTED
2018-03-09_19:01:40 AC_Strom DISCONNECTED
2018-03-09_19:01:43 AC_Strom CONNECTED
2018-03-10_16:00:39 AC_Strom DISCONNECTED
2018-03-10_16:00:40 AC_Strom CONNECTED
2018-03-11_10:09:50 AC_Strom DISCONNECTED
2018-03-11_10:09:51 AC_Strom CONNECTED
2018-03-11_12:46:11 AC_Strom DISCONNECTED
2018-03-11_12:46:13 AC_Strom CONNECTED


In diesem Zeitraum habe ich definitiv nichts an meinem Setup geändert. Nun hat der wemos im Keller sicherlich nicht den besten WLAN-Empfang - aber als ich ihn an etwa gleicher Stelle noch mit ESPEasy in Betrieb hatte, waren die rssi Werte nicht so schlecht.

Gibt es da (im Sketch) irgendeine Debug-Möglichkeit?

Viele Grüße
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 12 März 2018, 18:50:57
Hallo Tobias,

wenn Du das verbose-Attribut im ArduCounter-Gerät auf 5 setzt, dann schreibt das Modul sehr viele Details ins Fhem-Log. Unter anderem auch die Kommunikation mit dem Sketch.
Da sollte dann erkennbar sein, was genau passiert.
Probier das doch mal aus und poste dann einen größeren Ausschnitt aus dem Fhem-Log.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 13 März 2018, 12:28:48
Hallo Stefan,

seit ich verbose auf 5 gesetzt habe, gab es wieder zwei kurze Unterbrechungen:

2018-03-12_20:17:14 AC_Strom DISCONNECTED
2018-03-12_20:17:14 AC_Strom CONNECTED
2018-03-13_07:12:19 AC_Strom DISCONNECTED
2018-03-13_07:12:19 AC_Strom CONNECTED


1. Unterbrechung - Ausschnitt aus dem verbose 5 fhem log:


...
2018.03.12 20:16:27 5: AC_Strom: Pin 5 debug: adding 1 to long count 4975 and interpolated count 4975
2018.03.12 20:16:27 4: AC_Strom: Pin 5 (pin5) Cnt 4314 lCnt 4976 iCnt 4976 (diff 1) in 11.162s, Rej 0, Avg 455ms, result 2.688
2018.03.12 20:16:27 5: AC_Strom: interval 20:16:16 until 20:16:27
2018.03.12 20:16:27 5: AC_Strom: set readings power5 to 2.688, timeDiff5 to 11162 and countDiff5 to 1
2018.03.12 20:16:27 5: AC_Strom: Device Time 382075.947, Drift 0.764s in 61108.776s, 0.00%
2018.03.12 20:16:32 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:16:32 5: AC_Strom: Write: k
2018.03.12 20:16:32 5: SW: k

2018.03.12 20:16:37 5: AC_Strom: Pin 5 debug: adding 1 to long count 4976 and interpolated count 4976
2018.03.12 20:16:37 4: AC_Strom: Pin 5 (pin5) Cnt 4315 lCnt 4977 iCnt 4977 (diff 1) in 11.153s, Rej 0, Avg 453ms, result 2.690
2018.03.12 20:16:37 5: AC_Strom: interval 20:16:26 until 20:16:37
2018.03.12 20:16:37 5: AC_Strom: set readings power5 to 2.690, timeDiff5 to 11153 and countDiff5 to 1
2018.03.12 20:16:37 5: AC_Strom: Device Time 382085.947, Drift 0.767s in 61118.779s, 0.00%
2018.03.12 20:16:42 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:16:42 5: AC_Strom: Write: k
2018.03.12 20:16:42 5: SW: k

2018.03.12 20:16:49 5: AC_Strom: Pin 5 debug: adding 1 to long count 4977 and interpolated count 4977
2018.03.12 20:16:49 4: AC_Strom: Pin 5 (pin5) Cnt 4316 lCnt 4978 iCnt 4978 (diff 1) in 11.132s, Rej 0, Avg 454ms, result 2.695
2018.03.12 20:16:49 5: AC_Strom: interval 20:16:38 until 20:16:49
2018.03.12 20:16:49 5: AC_Strom: set readings power5 to 2.695, timeDiff5 to 11132 and countDiff5 to 1
2018.03.12 20:16:49 5: AC_Strom: Device Time 382097.947, Drift 0.767s in 61130.779s, 0.00%
2018.03.12 20:16:52 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:16:52 5: AC_Strom: Write: k
2018.03.12 20:16:52 5: SW: k

2018.03.12 20:17:01 5: AC_Strom: Pin 5 debug: adding 1 to long count 4978 and interpolated count 4978
2018.03.12 20:17:01 4: AC_Strom: Pin 5 (pin5) Cnt 4317 lCnt 4979 iCnt 4979 (diff 1) in 11.178s, Rej 0, Avg 455ms, result 2.684
2018.03.12 20:17:01 5: AC_Strom: interval 20:16:50 until 20:17:01
2018.03.12 20:17:01 5: AC_Strom: set readings power5 to 2.684, timeDiff5 to 11178 and countDiff5 to 1
2018.03.12 20:17:01 5: AC_Strom: Device Time 382109.947, Drift 0.766s in 61142.778s, 0.00%
2018.03.12 20:17:02 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:17:02 5: AC_Strom: Write: k

2018.03.12 20:17:12 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:17:12 5: AC_Strom: Write: k
2018.03.12 20:17:12 5: SW: k

2018.03.12 20:17:14 3: AC_Strom: device didn't reply to k(eeepAlive). Is the right sketch flashed?
2018.03.12 20:17:14 1: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.03.12 20:17:14 1: 192.168.8.69:80 reappeared (AC_Strom)
2018.03.12 20:17:14 3: AC_Strom: device maybe not initialized yet, set timer to send h(ello
2018.03.12 20:17:14 3: AC_Strom: unparseable message from device: R^M
2018.03.12 20:17:14 3: AC_Strom: device sent hello, V2.26, 0,1,2,5,6,7
2018.03.12 20:17:14 4: AC_Strom: device reported firmware 2.26
2018.03.12 20:17:14 3: AC_Strom: sending configuration from attributes to device
2018.03.12 20:17:14 3: AC_Strom: ConfigureDevice calls Attr with pinD5 falling pullup 30
2018.03.12 20:17:14 5: AC_Strom: Write: 5,2,1,30a
2018.03.12 20:17:14 5: SW: 5,2,1,30a

2018.03.12 20:17:14 3: AC_Strom: ConfigureDevice calls Attr with interval 2 300 1 1
2018.03.12 20:17:14 5: AC_Strom: Write: 2,300,1,1i
2018.03.12 20:17:14 5: SW: 2,300,1,1i

2018.03.12 20:17:14 4: AC_Strom: device sent time: T 382123077 boot at 561^M
2018.03.12 20:17:14 3: AC_Strom: unparseable message from device: P5 falling pullup min 30^M
2018.03.12 20:17:14 3: AC_Strom: device: defined P5 falling pullup min 30^M
2018.03.12 20:17:14 3: AC_Strom: device: intervals set to 2 300 1 1^M
2018.03.12 20:17:23 5: AC_Strom: Pin 5 debug: adding 1 to long count 4979 and interpolated count 4979
2018.03.12 20:17:23 4: AC_Strom: Pin 5 (pin5) Cnt 4319 lCnt 4980 iCnt 4980 (diff 1) in 11.218s, Rej 0, Avg 457ms, result 2.674
2018.03.12 20:17:23 5: AC_Strom: interval 20:17:12 until 20:17:23
2018.03.12 20:17:23 5: AC_Strom: set readings power5 to 2.674, timeDiff5 to 11218 and countDiff5 to 1
2018.03.12 20:17:23 5: AC_Strom: Device Time 382131.947, Drift 0.772s in 61164.784s, 0.00%
2018.03.12 20:17:24 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:17:24 5: AC_Strom: Write: k
2018.03.12 20:17:24 5: SW: k

2018.03.12 20:17:33 5: AC_Strom: Pin 5 debug: adding 1 to long count 4980 and interpolated count 4980
2018.03.12 20:17:33 4: AC_Strom: Pin 5 (pin5) Cnt 4320 lCnt 4981 iCnt 4981 (diff 1) in 11.245s, Rej 0, Avg 454ms, result 2.668
2018.03.12 20:17:33 5: AC_Strom: interval 20:17:22 until 20:17:33
2018.03.12 20:17:33 5: AC_Strom: set readings power5 to 2.668, timeDiff5 to 11245 and countDiff5 to 1
2018.03.12 20:17:33 5: AC_Strom: Device Time 382141.947, Drift 0.767s in 61174.779s, 0.00%
2018.03.12 20:17:34 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:17:34 5: AC_Strom: Write: k
2018.03.12 20:17:34 5: SW: k

2018.03.12 20:17:44 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:17:44 5: AC_Strom: Write: k
2018.03.12 20:17:44 5: SW: k

2018.03.12 20:17:45 5: AC_Strom: Pin 5 debug: adding 1 to long count 4981 and interpolated count 4981
2018.03.12 20:17:45 4: AC_Strom: Pin 5 (pin5) Cnt 4321 lCnt 4982 iCnt 4982 (diff 1) in 11.185s, Rej 0, Avg 454ms, result 2.682
2018.03.12 20:17:45 5: AC_Strom: interval 20:17:34 until 20:17:45
2018.03.12 20:17:45 5: AC_Strom: set readings power5 to 2.682, timeDiff5 to 11185 and countDiff5 to 1
2018.03.12 20:17:45 5: AC_Strom: Device Time 382153.947, Drift 0.765s in 61186.777s, 0.00%
2018.03.12 20:17:54 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:17:54 5: AC_Strom: Write: k
2018.03.12 20:17:54 5: SW: k

2018.03.12 20:17:57 5: AC_Strom: Pin 5 debug: adding 1 to long count 4982 and interpolated count 4982
2018.03.12 20:17:57 4: AC_Strom: Pin 5 (pin5) Cnt 4322 lCnt 4983 iCnt 4983 (diff 1) in 11.196s, Rej 0, Avg 456ms, result 2.679
2018.03.12 20:17:57 5: AC_Strom: interval 20:17:46 until 20:17:57
2018.03.12 20:17:57 5: AC_Strom: set readings power5 to 2.679, timeDiff5 to 11196 and countDiff5 to 1
2018.03.12 20:17:57 5: AC_Strom: Device Time 382165.947, Drift 0.766s in 61198.778s, 0.00%
2018.03.12 20:18:04 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:18:04 5: AC_Strom: Write: k
2018.03.12 20:18:04 5: SW: k

2018.03.12 20:18:07 5: AC_Strom: Pin 5 debug: adding 1 to long count 4983 and interpolated count 4983
2018.03.12 20:18:07 4: AC_Strom: Pin 5 (pin5) Cnt 4323 lCnt 4984 iCnt 4984 (diff 1) in 11.200s, Rej 0, Avg 454ms, result 2.678
2018.03.12 20:18:07 5: AC_Strom: interval 20:17:56 until 20:18:07
2018.03.12 20:18:07 5: AC_Strom: set readings power5 to 2.678, timeDiff5 to 11200 and countDiff5 to 1
2018.03.12 20:18:07 5: AC_Strom: Device Time 382175.947, Drift 0.765s in 61208.777s, 0.00%
2018.03.12 20:18:14 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:18:14 5: AC_Strom: Write: k
2018.03.12 20:18:14 5: SW: k

2018.03.12 20:18:19 5: AC_Strom: Pin 5 debug: adding 1 to long count 4984 and interpolated count 4984
2018.03.12 20:18:19 4: AC_Strom: Pin 5 (pin5) Cnt 4324 lCnt 4985 iCnt 4985 (diff 1) in 11.193s, Rej 0, Avg 458ms, result 2.680
2018.03.12 20:18:19 5: AC_Strom: interval 20:18:08 until 20:18:19
2018.03.12 20:18:19 5: AC_Strom: set readings power5 to 2.680, timeDiff5 to 11193 and countDiff5 to 1
2018.03.12 20:18:19 5: AC_Strom: Device Time 382187.947, Drift 0.767s in 61220.779s, 0.00%
2018.03.12 20:18:24 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:18:24 5: AC_Strom: Write: k
2018.03.12 20:18:24 5: SW: k

2018.03.12 20:18:29 5: AC_Strom: Pin 5 debug: adding 1 to long count 4985 and interpolated count 4985
2018.03.12 20:18:29 4: AC_Strom: Pin 5 (pin5) Cnt 4325 lCnt 4986 iCnt 4986 (diff 1) in 11.227s, Rej 0, Avg 457ms, result 2.672
2018.03.12 20:18:29 5: AC_Strom: interval 20:18:18 until 20:18:29
2018.03.12 20:18:29 5: AC_Strom: set readings power5 to 2.672, timeDiff5 to 11227 and countDiff5 to 1
2018.03.12 20:18:29 5: AC_Strom: Device Time 382197.947, Drift 0.766s in 61230.778s, 0.00%
2018.03.12 20:18:34 5: AC_Strom: sending k(eepAlive) to device
2018.03.12 20:18:34 5: AC_Strom: Write: k
2018.03.12 20:18:34 5: SW: k
...


2. Unterbrechung - Ausschnitt aus dem verbose 5 fhem log:


...
2018.03.13 07:10:47 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:10:47 5: AC_Strom: Write: k
2018.03.13 07:10:47 5: SW: k

2018.03.13 07:10:57 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:10:57 5: AC_Strom: Write: k
2018.03.13 07:10:57 5: SW: k

2018.03.13 07:11:07 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:11:07 5: AC_Strom: Write: k
2018.03.13 07:11:07 5: SW: k

2018.03.13 07:11:17 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:11:17 5: AC_Strom: Write: k
2018.03.13 07:11:17 5: SW: k

2018.03.13 07:11:27 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:11:27 5: AC_Strom: Write: k
2018.03.13 07:11:27 5: SW: k

2018.03.13 07:11:37 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:11:37 5: AC_Strom: Write: k
2018.03.13 07:11:37 5: SW: k

2018.03.13 07:11:46 5: AC_Strom: Pin 5 debug: adding 1 to long count 5370 and interpolated count 5370
2018.03.13 07:11:46 4: AC_Strom: Pin 5 (pin5) Cnt 4711 lCnt 5371 iCnt 5371 (diff 1) in 83.901s, Rej 0, Avg 768ms, result 0.358
2018.03.13 07:11:46 5: AC_Strom: interval 07:10:22 until 07:11:46
2018.03.13 07:11:46 5: AC_Strom: set readings power5 to 0.358, timeDiff5 to 83901 and countDiff5 to 1
2018.03.13 07:11:46 5: AC_Strom: Device Time 421393.948, Drift 0.177s in 13974.177s, 0.00%
2018.03.13 07:11:47 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:11:47 5: AC_Strom: Write: k
2018.03.13 07:11:47 5: SW: k

2018.03.13 07:11:57 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:11:57 5: AC_Strom: Write: k
2018.03.13 07:11:57 5: SW: k

2018.03.13 07:12:07 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:12:07 5: AC_Strom: Write: k
2018.03.13 07:12:07 5: SW: k

2018.03.13 07:12:17 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:12:17 5: AC_Strom: Write: k
2018.03.13 07:12:17 5: SW: k

2018.03.13 07:12:19 3: AC_Strom: device didn't reply to k(eeepAlive). Is the right sketch flashed?
2018.03.13 07:12:19 1: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.03.13 07:12:19 1: 192.168.8.69:80 reappeared (AC_Strom)
2018.03.13 07:12:19 3: AC_Strom: device maybe not initialized yet, set timer to send h(ello
2018.03.13 07:12:19 3: AC_Strom: unparseable message from device: a^M
2018.03.13 07:12:19 3: AC_Strom: device sent hello, V2.26, 0,1,2,5,6,7
2018.03.13 07:12:19 4: AC_Strom: device reported firmware 2.26
2018.03.13 07:12:19 3: AC_Strom: sending configuration from attributes to device
2018.03.13 07:12:19 3: AC_Strom: ConfigureDevice calls Attr with pinD5 falling pullup 30
2018.03.13 07:12:19 5: AC_Strom: Write: 5,2,1,30a
2018.03.13 07:12:19 5: SW: 5,2,1,30a

2018.03.13 07:12:19 3: AC_Strom: ConfigureDevice calls Attr with interval 2 300 1 1
2018.03.13 07:12:19 5: AC_Strom: Write: 2,300,1,1i
2018.03.13 07:12:19 5: SW: 2,300,1,1i

2018.03.13 07:12:19 4: AC_Strom: device sent time: T 421427741 boot at 561^M
2018.03.13 07:12:19 3: AC_Strom: unparseable message from device: P5 falling pullup min 30^M
2018.03.13 07:12:19 3: AC_Strom: device: defined P5 falling pullup min 30^M
2018.03.13 07:12:19 3: AC_Strom: device: intervals set to 2 300 1 1^M
2018.03.13 07:12:29 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:12:29 5: AC_Strom: Write: k
2018.03.13 07:12:29 5: SW: k

2018.03.13 07:12:39 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:12:39 5: AC_Strom: Write: k
2018.03.13 07:12:39 5: SW: k

2018.03.13 07:12:48 5: AC_Strom: Pin 5 debug: adding 1 to long count 5371 and interpolated count 5371
2018.03.13 07:12:48 4: AC_Strom: Pin 5 (pin5) Cnt 4713 lCnt 5372 iCnt 5372 (diff 1) in 30.713s, Rej 1, Avg 1284ms, result 0.977
2018.03.13 07:12:48 5: AC_Strom: interval 07:12:17 until 07:12:48
2018.03.13 07:12:48 5: AC_Strom: set readings power5 to 0.977, timeDiff5 to 30713 and countDiff5 to 1
2018.03.13 07:12:48 5: AC_Strom: Device Time 421455.948, Drift 0.177s in 14036.177s, 0.00%
2018.03.13 07:12:49 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:12:49 5: AC_Strom: Write: k
2018.03.13 07:12:49 5: SW: k

2018.03.13 07:12:59 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:12:59 5: AC_Strom: Write: k
2018.03.13 07:12:59 5: SW: k

2018.03.13 07:13:09 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:13:09 5: AC_Strom: Write: k
2018.03.13 07:13:09 5: SW: k

2018.03.13 07:13:19 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 07:13:19 5: AC_Strom: Write: k
2018.03.13 07:13:19 5: SW: k

2018.03.13 07:13:20 5: AC_Strom: Pin 5 debug: adding 1 to long count 5372 and interpolated count 5372
2018.03.13 07:13:20 4: AC_Strom: Pin 5 (pin5) Cnt 4714 lCnt 5373 iCnt 5373 (diff 1) in 31.378s, Rej 1, Avg 1282ms, result 0.956
2018.03.13 07:13:20 5: AC_Strom: interval 07:12:48 until 07:13:20
2018.03.13 07:13:20 5: AC_Strom: set readings power5 to 0.956, timeDiff5 to 31378 and countDiff5 to 1
2018.03.13 07:13:20 5: AC_Strom: Device Time 421487.948, Drift 0.176s in 14068.176s, 0.00%
2018.03.13 07:13:29 5: AC_Strom: sending k(eepAlive) to device
...


Kannst Du aus den Logs eine Ursache herauslesen?

VG
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 13 März 2018, 17:46:01
Hallo Tobias,

Das Modul sendet alle 10 Sekunden ein ,,k" an den ESP und erwartet eine ,,alive"-Antwort. Wenn die nicht innerhalb von 2 Sekunden kommt, dann schließt das Modul die TCP-Verbindung und versucht sie neu aufzubauen.
Ohne so einen Mechanismus kann es passieren, dass ein Crash des ESP erst viel später bemerkt wird und dazwischen Impulse nicht gezählt werden.
Bei Deinen Abbrüchen hat aber der ESP gar nicht neu gestartet und ist folglich auch nicht abgestürzt. Nur die alive-Antwort kam nicht rechtzeitig.
Um die genaue Ursache dafür zu finden muss ich vermutlich noch ein paar Debug-Ausgaben einbauen. Ich hoffe dass ich am Wochenende dazu komme und dann poste ich eine neue Version.

Gruß und vielen Dank fürs Testen
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 13 März 2018, 18:50:20
Hallo Stefan,

hier ist noch etwas, was vielleicht noch nicht optimal funktioniert. Beim Restart von FHEM läuft die Initialisierung des AC offenbar immer zweimal ab. Das konnte ich reproduzieren.

Anbei ein verbose 5 Log vom FHEM-Start - zur besseren Übersicht habe ich alle Nicht-AC Zeilen ausgelassen:


...
2018.03.13 18:42:49 5: AC_Strom: Notify called with events: INITIALIZED, open device and set timer to send hello to device
2018.03.13 18:42:49 5: AC_Strom: ArduCounter_Open trying to open connection
2018.03.13 18:42:49 3: Opening AC_Strom device 192.168.8.69:80
2018.03.13 18:42:49 3: AC_Strom device opened
2018.03.13 18:42:49 5: AC_Strom: ArduCounter_Open succeeded - set timer to send hello
...
2018.03.13 18:42:55 0: Featurelevel: 5.8
2018.03.13 18:42:55 0: Server started with 207 defined entities (fhem.pl:16354/2018-03-09 perl:5.020002 os:linux user:fhem pid:26102)
2018.03.13 18:42:55 3: AC_Strom: sending h(ello) to device to ask for version
2018.03.13 18:42:55 5: AC_Strom: Write: h
2018.03.13 18:42:55 5: SW: h

2018.03.13 18:42:55 3: AC_Strom: device sent hello, V2.26, 0,1,2,5,6,7
2018.03.13 18:42:55 4: AC_Strom: device reported firmware 2.26
2018.03.13 18:42:55 3: AC_Strom: sending configuration from attributes to device
2018.03.13 18:42:55 3: AC_Strom: ConfigureDevice calls Attr with pinD5 falling pullup 30
2018.03.13 18:42:55 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/98_ArduCounter.pm line 375.
2018.03.13 18:42:55 5: AC_Strom: Write: 5,2,1,30a
2018.03.13 18:42:55 5: SW: 5,2,1,30a

2018.03.13 18:42:55 3: AC_Strom: ConfigureDevice calls Attr with interval 2 300 1 1
2018.03.13 18:42:55 5: AC_Strom: Write: 2,300,1,1i
2018.03.13 18:42:55 5: SW: 2,300,1,1i

2018.03.13 18:42:55 4: AC_Strom: device sent time: T 462856493 boot at 561
2018.03.13 18:42:55 3: AC_Strom: unparseable message from device: P5 falling pullup min 30
2018.03.13 18:42:55 3: AC_Strom: device sent hello, V2.26, 0,1,2,5,6,7
2018.03.13 18:42:55 4: AC_Strom: device reported firmware 2.26
2018.03.13 18:42:55 3: AC_Strom: sending configuration from attributes to device
2018.03.13 18:42:55 3: AC_Strom: ConfigureDevice calls Attr with pinD5 falling pullup 30
2018.03.13 18:42:55 5: AC_Strom: Write: 5,2,1,30a
2018.03.13 18:42:55 5: SW: 5,2,1,30a

2018.03.13 18:42:55 3: AC_Strom: ConfigureDevice calls Attr with interval 2 300 1 1
2018.03.13 18:42:55 5: AC_Strom: Write: 2,300,1,1i
2018.03.13 18:42:55 5: SW: 2,300,1,1i

2018.03.13 18:42:55 4: AC_Strom: device sent time: T 462863039 boot at 561
2018.03.13 18:42:55 3: AC_Strom: unparseable message from device: P5 falling pullup min 30
2018.03.13 18:42:56 3: AC_Strom: device: defined P5 falling pullup min 30
2018.03.13 18:42:56 3: AC_Strom: device: intervals set to 2 300 1 1
2018.03.13 18:42:56 3: AC_Strom: device: defined P5 falling pullup min 30
2018.03.13 18:42:56 3: AC_Strom: device: intervals set to 2 300 1 1
...
2018.03.13 18:42:59 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 18:42:59 5: AC_Strom: Write: k
2018.03.13 18:42:59 5: SW: k

2018.03.13 18:43:09 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 18:43:09 5: AC_Strom: Write: k
2018.03.13 18:43:09 5: SW: k

2018.03.13 18:43:19 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 18:43:19 5: AC_Strom: Write: k
2018.03.13 18:43:19 5: SW: k

2018.03.13 18:43:24 5: AC_Strom: Pin 5 debug: adding 1 to long count 5879 and interpolated count 5879
2018.03.13 18:43:24 4: AC_Strom: Pin 5 (pin5) Cnt 5221 lCnt 5880 iCnt 5880 (diff 1) in 112.310s, Rej 0, Avg 4624ms, result 0.267
2018.03.13 18:43:24 5: AC_Strom: interval 18:41:32 until 18:43:24
2018.03.13 18:43:24 5: AC_Strom: set readings power5 to 0.267, timeDiff5 to 112310 and countDiff5 to 1
2018.03.13 18:43:24 5: AC_Strom: Initialize clock offset to 1520500112.61918
2018.03.13 18:43:24 5: AC_Strom: Device Time 462891.949, Drift 0.000s in 0.000s

2018.03.13 18:43:29 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 18:43:29 5: AC_Strom: Write: k
2018.03.13 18:43:29 5: SW: k

2018.03.13 18:43:39 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 18:43:39 5: AC_Strom: Write: k
2018.03.13 18:43:39 5: SW: k

2018.03.13 18:43:49 5: AC_Strom: sending k(eepAlive) to device
2018.03.13 18:43:49 5: AC_Strom: Write: k
2018.03.13 18:43:49 5: SW: k


VG
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 16 März 2018, 11:23:16
Zitat von: StefanStrobel am 13 März 2018, 17:46:01
Bei Deinen Abbrüchen hat aber der ESP gar nicht neu gestartet und ist folglich auch nicht abgestürzt. Nur die alive-Antwort kam nicht rechtzeitig.
Um die genaue Ursache dafür zu finden muss ich vermutlich noch ein paar Debug-Ausgaben einbauen.

Hallo Stefan.

Ich habe den freezemon eingerichtet, um festzustellen, ob ich zeitgleich mit den Verbindungsabbrüchen freezes im FHEM sehe. Das ist aber definitiv nicht der Fall. Letzter aufgezeichneter freeze war vom FHEM restart nach dem Backup nachts.

fhem> list fm

Internals:
   NAME       fm
   NR         207
   NTFY_ORDER 99-fm
   STATE      s:03:18:38 e:03:18:40 f:2.546 d:DENON_AVR_ConnectionCheck(myDenon) SIP_watch_listen(N/A)
   TYPE       freezemon
   VERSION    0.0.18
   READINGS:
     2018-03-16 03:18:40   fcDay           1
     2018-03-16 00:00:57   fcDayLast       4
     2018-03-16 03:18:40   freezeDevice    DENON_AVR_ConnectionCheck(myDenon) SIP_watch_listen(N/A)
     2018-03-16 03:18:40   freezeTime      2.546
     2018-03-16 03:18:40   ftDay           2.546
     2018-03-16 00:00:57   ftDayLast       7.779
     2018-03-16 03:18:40   state           s:03:18:38 e:03:18:40 f:2.546 d:DENON_AVR_ConnectionCheck(myDenon) SIP_watch_listen(N/A)


Möglicherweise verliert der wemos kurzzeitig die WLAN Verbindung zur FritzBox. Hierzu werde ich mal das Logging für WLAN Anmeldungen in der FritzBox aktivieren.

Vorher gab es vier Abbrüche kurz hintereinander - hierzu nochmal das ungekürzte fhem verbose 5 Log für den Zeitraum:

2018.03.16 10:33:08 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:33:08 5: AC_Strom: Write: k
2018.03.16 10:33:08 5: SW: k

2018.03.16 10:33:18 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:33:18 5: AC_Strom: Write: k
2018.03.16 10:33:18 5: SW: k

2018.03.16 10:33:28 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:33:28 5: AC_Strom: Write: k
2018.03.16 10:33:28 5: SW: k

2018.03.16 10:33:30 3: AC_Strom: device didn't reply to k(eeepAlive). Is the right sketch flashed?
2018.03.16 10:33:30 1: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.03.16 10:33:30 1: 192.168.8.69:80 reappeared (AC_Strom)
2018.03.16 10:33:30 3: AC_Strom: device maybe not initialized yet, set timer to send h(ello
2018.03.16 10:33:33 3: AC_Strom: device sent hello, V2.26, 0,1,2,5,6,7
2018.03.16 10:33:33 4: AC_Strom: device reported firmware 2.26
2018.03.16 10:33:33 3: AC_Strom: sending configuration from attributes to device
2018.03.16 10:33:33 3: AC_Strom: ConfigureDevice calls Attr with pinD5 falling pullup 30
2018.03.16 10:33:33 5: AC_Strom: Write: 5,2,1,30a
2018.03.16 10:33:33 5: SW: 5,2,1,30a

2018.03.16 10:33:33 3: AC_Strom: ConfigureDevice calls Attr with interval 2 300 1 1
2018.03.16 10:33:33 5: AC_Strom: Write: 2,300,1,1i
2018.03.16 10:33:33 5: SW: 2,300,1,1i

2018.03.16 10:33:33 4: AC_Strom: device sent time: T 74773060 boot at 560^M
2018.03.16 10:33:33 3: AC_Strom: unparseable message from device: P5 falling pullup min 30^M
2018.03.16 10:33:33 5: AC_Strom: Pin 5 debug: adding 1 to long count 6726 and interpolated count 6726
2018.03.16 10:33:33 4: AC_Strom: Pin 5 (pin5) Cnt 696 lCnt 6727 iCnt 6727 (diff 1) in 143.070s, Rej 0, Avg 4810ms, result 0.210
2018.03.16 10:33:33 5: AC_Strom: interval 10:31:10 until 10:33:33
2018.03.16 10:33:33 5: AC_Strom: set readings power5 to 0.210, timeDiff5 to 143070 and countDiff5 to 1
2018.03.16 10:33:33 5: AC_Strom: Device Time 74774.566, Drift 1.407s in 26031.407s, 0.01%
2018.03.16 10:33:37 3: AC_Strom: device: defined P5 falling pullup min 30^M
2018.03.16 10:33:38 3: AC_Strom: device: intervals set to 2 300 1 1^M
2018.03.16 10:33:40 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:33:40 5: AC_Strom: Write: k
2018.03.16 10:33:40 5: SW: k

2018.03.16 10:33:50 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:33:50 5: AC_Strom: Write: k
2018.03.16 10:33:50 5: SW: k

2018.03.16 10:34:00 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:34:00 5: AC_Strom: Write: k
2018.03.16 10:34:00 5: SW: k

2018.03.16 10:34:02 3: AC_Strom: device didn't reply to k(eeepAlive). Is the right sketch flashed?
2018.03.16 10:34:02 1: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.03.16 10:34:02 1: 192.168.8.69:80 reappeared (AC_Strom)
2018.03.16 10:34:02 3: AC_Strom: device maybe not initialized yet, set timer to send h(ello
2018.03.16 10:34:02 3: AC_Strom: unparseable message from device: a^M
2018.03.16 10:34:02 3: AC_Strom: device sent hello, V2.26, 0,1,2,5,6,7
2018.03.16 10:34:02 4: AC_Strom: device reported firmware 2.26
2018.03.16 10:34:02 3: AC_Strom: sending configuration from attributes to device
2018.03.16 10:34:02 3: AC_Strom: ConfigureDevice calls Attr with pinD5 falling pullup 30
2018.03.16 10:34:02 5: AC_Strom: Write: 5,2,1,30a
2018.03.16 10:34:02 5: SW: 5,2,1,30a

2018.03.16 10:34:02 3: AC_Strom: ConfigureDevice calls Attr with interval 2 300 1 1
2018.03.16 10:34:02 5: AC_Strom: Write: 2,300,1,1i
2018.03.16 10:34:02 5: SW: 2,300,1,1i

2018.03.16 10:34:02 4: AC_Strom: device sent time: T 74805207 boot at 560^M
2018.03.16 10:34:02 3: AC_Strom: unparseable message from device: P5 falling pullup min 30^M
2018.03.16 10:34:07 3: AC_Strom: device: defined P5 falling pullup min 30^M
2018.03.16 10:34:07 3: AC_Strom: device: intervals set to 2 300 1 1^M
2018.03.16 10:34:12 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:34:12 5: AC_Strom: Write: k
2018.03.16 10:34:12 5: SW: k

2018.03.16 10:34:22 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:34:22 5: AC_Strom: Write: k
2018.03.16 10:34:22 5: SW: k

2018.03.16 10:34:32 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:34:32 5: AC_Strom: Write: k
2018.03.16 10:34:32 5: SW: k

2018.03.16 10:34:34 3: AC_Strom: device didn't reply to k(eeepAlive). Is the right sketch flashed?
2018.03.16 10:34:34 1: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.03.16 10:34:35 1: 192.168.8.69:80 reappeared (AC_Strom)
2018.03.16 10:34:35 3: AC_Strom: device maybe not initialized yet, set timer to send h(ello
2018.03.16 10:34:35 3: AC_Strom: device sent hello, V2.26, 0,1,2,5,6,7
2018.03.16 10:34:35 4: AC_Strom: device reported firmware 2.26
2018.03.16 10:34:35 3: AC_Strom: sending configuration from attributes to device
2018.03.16 10:34:35 3: AC_Strom: ConfigureDevice calls Attr with pinD5 falling pullup 30
2018.03.16 10:34:35 5: AC_Strom: Write: 5,2,1,30a
2018.03.16 10:34:35 5: SW: 5,2,1,30a

2018.03.16 10:34:35 3: AC_Strom: ConfigureDevice calls Attr with interval 2 300 1 1
2018.03.16 10:34:35 5: AC_Strom: Write: 2,300,1,1i
2018.03.16 10:34:35 5: SW: 2,300,1,1i

2018.03.16 10:34:35 4: AC_Strom: device sent time: T 74837316 boot at 560^M
2018.03.16 10:34:35 3: AC_Strom: unparseable message from device: P5 falling pullup min 30^M
2018.03.16 10:34:39 3: AC_Strom: device: defined P5 falling pullup min 30^M
2018.03.16 10:34:39 3: AC_Strom: device: intervals set to 2 300 1 1^M
2018.03.16 10:34:45 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:34:45 5: AC_Strom: Write: k
2018.03.16 10:34:45 5: SW: k

2018.03.16 10:34:55 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:34:55 5: AC_Strom: Write: k
2018.03.16 10:34:55 5: SW: k

2018.03.16 10:34:57 3: AC_Strom: device didn't reply to k(eeepAlive). Is the right sketch flashed?
2018.03.16 10:34:57 1: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.03.16 10:34:57 1: 192.168.8.69:80 reappeared (AC_Strom)
2018.03.16 10:34:57 3: AC_Strom: device maybe not initialized yet, set timer to send h(ello
2018.03.16 10:34:57 3: AC_Strom: unparseable message from device: H^M
2018.03.16 10:34:57 3: AC_Strom: device sent hello, V2.26, 0,1,2,5,6,7
2018.03.16 10:34:57 4: AC_Strom: device reported firmware 2.26
2018.03.16 10:34:57 3: AC_Strom: sending configuration from attributes to device
2018.03.16 10:34:57 3: AC_Strom: ConfigureDevice calls Attr with pinD5 falling pullup 30
2018.03.16 10:34:57 5: AC_Strom: Write: 5,2,1,30a
2018.03.16 10:34:57 5: SW: 5,2,1,30a

2018.03.16 10:34:57 3: AC_Strom: ConfigureDevice calls Attr with interval 2 300 1 1
2018.03.16 10:34:57 5: AC_Strom: Write: 2,300,1,1i
2018.03.16 10:34:57 5: SW: 2,300,1,1i

2018.03.16 10:34:57 4: AC_Strom: device sent time: T 74859513 boot at 560^M
2018.03.16 10:34:57 3: AC_Strom: unparseable message from device: P5 falling pullup min 30^M
2018.03.16 10:34:57 3: AC_Strom: device: defined P5 falling pullup min 30^M
2018.03.16 10:34:57 3: AC_Strom: device: intervals set to 2 300 1 1^M
2018.03.16 10:35:07 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:35:07 5: AC_Strom: Write: k
2018.03.16 10:35:07 5: SW: k

2018.03.16 10:35:17 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:35:17 5: AC_Strom: Write: k
2018.03.16 10:35:17 5: SW: k

2018.03.16 10:35:27 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:35:27 5: AC_Strom: Write: k
2018.03.16 10:35:27 5: SW: k

2018.03.16 10:35:37 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:35:37 5: AC_Strom: Write: k
2018.03.16 10:35:37 5: SW: k

2018.03.16 10:35:38 5: AC_Strom: Pin 5 debug: adding 1 to long count 6727 and interpolated count 6727
2018.03.16 10:35:38 4: AC_Strom: Pin 5 (pin5) Cnt 697 lCnt 6728 iCnt 6728 (diff 1) in 126.528s, Rej 1, Avg 6363ms, result 0.237
2018.03.16 10:35:38 5: AC_Strom: interval 10:33:31 until 10:35:38
2018.03.16 10:35:38 5: AC_Strom: set readings power5 to 0.237, timeDiff5 to 126528 and countDiff5 to 1
2018.03.16 10:35:38 5: AC_Strom: Device Time 74900.566, Drift 0.325s in 26156.325s, 0.00%
2018.03.16 10:35:47 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:35:47 5: AC_Strom: Write: k
2018.03.16 10:35:47 5: SW: k

2018.03.16 10:35:57 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:35:57 5: AC_Strom: Write: k
2018.03.16 10:35:57 5: SW: k

2018.03.16 10:36:07 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:36:07 5: AC_Strom: Write: k
2018.03.16 10:36:07 5: SW: k

2018.03.16 10:36:17 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:36:17 5: AC_Strom: Write: k
2018.03.16 10:36:17 5: SW: k

2018.03.16 10:36:27 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:36:27 5: AC_Strom: Write: k
2018.03.16 10:36:27 5: SW: k

2018.03.16 10:36:37 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:36:37 5: AC_Strom: Write: k
2018.03.16 10:36:37 5: SW: k

2018.03.16 10:36:47 5: AC_Strom: sending k(eepAlive) to device
2018.03.16 10:36:47 5: AC_Strom: Write: k
2018.03.16 10:36:47 5: SW: k
...


Gruß
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 18 März 2018, 15:07:51
Hallo,

anbei ein neuerer Entwicklungsstand.
@Tobias: kannst Du parallel auch einen Wireshark mitlaufen lassen?
Falls Deine Fritzbox keine Informationen zu WLAN Disconnects liefert, dann würde man im Packet-Dump am besten sehen, wer die Verbindung beendet.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 19 März 2018, 09:38:53
Hallo Stefan,

habe den neuen Stand auf Basis 2.31 eingespielt.

Das FritzBox Log hat bei den beobachteten DISCONNECT/CONNECT Ereignissen keine WLAN Ab-/Anmeldung gemeldet. Habe daher jetzt einen tcpdump aufgesetzt. Bisher gab es aber noch keinen neuen Verbindungsabbruch.

Hier für dich noch zur Info das verbose 5 Log vom FHEM Start mit v 2.31 - die doppelte Antwort auf "hello" hängt wohl mit verbose=5 zusammen, oder?

2018.03.19 08:57:02 3: AC_Strom: Notify called with events: INITIALIZED, open device and set timer to send hello to device
2018.03.19 08:57:02 5: AC_Strom: ArduCounter_Open trying to open connection
2018.03.19 08:57:02 3: Opening AC_Strom device 192.168.8.69:80
2018.03.19 08:57:02 3: AC_Strom device opened
2018.03.19 08:57:02 5: AC_Strom: ArduCounter_Open succeeded - set timer to send hello
...
2018.03.19 08:57:08 0: Server started with 201 defined entities (fhem.pl:16403/2018-03-13 perl:5.020002 os:linux user:fhem pid:2884)
2018.03.19 08:57:08 3: CUL_HM set sd_Test statusRequest
2018.03.19 08:57:08 3: AC_Strom: sending h(ello) to device to ask for version
2018.03.19 08:57:08 5: SW: h

2018.03.19 08:57:09 4: AC_Strom: device reported firmware 2.31 on ESP8266 compiled Mar 18 2018 17:24:08
2018.03.19 08:57:09 3: AC_Strom: device sent Hello message, V2.31 on ESP8266 compiled Mar 18 2018 17:24:08 0,1,2,5,6,7
2018.03.19 08:57:09 4: AC_Strom: device sent time: T 55780733 boot at 560^M
2018.03.19 08:57:09 4: AC_Strom: device sent config for pin 5: 5 falling min pullup
2018.03.19 08:57:09 4: AC_Strom: device reported firmware 2.31 on ESP8266 compiled Mar 18 2018 17:24:08
2018.03.19 08:57:09 3: AC_Strom: device sent Hello message, V2.31 on ESP8266 compiled Mar 18 2018 17:24:08 0,1,2,5,6,7
2018.03.19 08:57:09 4: AC_Strom: device sent time: T 55787409 boot at 560^M
2018.03.19 08:57:09 4: AC_Strom: device sent config for pin 5: 5 falling min pullup

2018.03.19 08:57:11 5: AC_Strom: ConfigureDevice: got running config - comparing
2018.03.19 08:57:11 5: AC_Strom: ConfigureDevice: interval attr not set - take default 30 60 2 2
2018.03.19 08:57:11 5: AC_Strom: ConfigureDevice: comparing interval
2018.03.19 08:57:11 5: AC_Strom: ConfigureDevice: interval does not match (>2 300 1 1< vs >30 60 2 2< from attr)
2018.03.19 08:57:11 3: AC_Strom: sending configuration from attributes to device
2018.03.19 08:57:11 3: AC_Strom: ConfigureDevice calls Attr with interval 2 300 1 1
2018.03.19 08:57:11 5: SW: 2,300,1,1i

2018.03.19 08:57:11 3: AC_Strom: ConfigureDevice calls Attr with pinD5 falling pullup 30
2018.03.19 08:57:11 5: SW: 5,2,1,30a

2018.03.19 08:57:11 3: AC_Strom: device: intervals set to 2 300 1 1^M
2018.03.19 08:57:11 3: AC_Strom: device: defined P5 falling pullup min 30^M

2018.03.19 08:57:12 5: AC_Strom: sending k(eepAlive) to device
2018.03.19 08:57:12 5: SW: k

2018.03.19 08:57:22 5: AC_Strom: sending k(eepAlive) to device
2018.03.19 08:57:22 5: SW: k

2018.03.19 08:57:32 5: AC_Strom: sending k(eepAlive) to device
2018.03.19 08:57:32 5: SW: k

2018.03.19 08:57:42 5: AC_Strom: sending k(eepAlive) to device
2018.03.19 08:57:42 5: SW: k

2018.03.19 08:57:47 5: AC_Strom: Pin 5 debug: adding 1 to long count 10266 and interpolated count 10266
2018.03.19 08:57:47 4: AC_Strom: Pin 5 (pin5) Cnt 960 lCnt 10267 iCnt 10267 (diff 1) in 108.302s, Rej 0, Avg 4530ms, result 0.277
2018.03.19 08:57:47 5: AC_Strom: interval 08:55:58 until 08:57:47
2018.03.19 08:57:47 5: AC_Strom: set readings power5 to 0.277, timeDiff5 to 108302 and countDiff5 to 1
2018.03.19 08:57:47 5: AC_Strom: Initialize clock offset to 1521390441.52977
2018.03.19 08:57:47 5: AC_Strom: Device Time 55825.678, Drift 0.000s in 0.000s
...


Und hier noch ein get info nach dem Start:

fhem> get AC_Strom info

Status: ArduCounter V2.31 on ESP8266 compiled Mar 18 2018 17:24:08

I2 300 1 1

P5 falling pullup min 30, R5 C963 D0/0 T0 N56269378 X0 S0

M Next report in 289 Milliseconds


Gruß
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 19 März 2018, 19:52:55
Hallo Tobias,

das doppelte Hello ist ein Timing-Problem.
Das Modul wartet nach dem Starten und Öffnen der Verbindung 3 Sekunden ob sich ein Gerät mit "Hello" oder "Started" meldet. Danach fragt es explizit nach.
Wenn danach doch noch ein Hello gelesen wird, kommt es zwei mal. Das stört aber nicht weiter und wird bei verbose < 4 auch nicht angezeigt.
Du kannst aber auch das Attribut helloSendDelay auf z.B. 15 setzen, dann wartet das Modul 15 Sekunden...

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 23 März 2018, 20:07:52
Zitat von: StefanStrobel am 18 März 2018, 15:07:51
@Tobias: kannst Du parallel auch einen Wireshark mitlaufen lassen?
Falls Deine Fritzbox keine Informationen zu WLAN Disconnects liefert, dann würde man im Packet-Dump am besten sehen, wer die Verbindung beendet.

Hallo Stefan,

nach fast einer Woche ohne Aussetzer habe ich jetzt mit großer Wahrscheinlichkeit die Ursache gefunden. Unsere Mikrowelle! Diese ist nur selten in Betrieb und verursacht offenbar auch nicht immer dieses Problem. Bei den letzen beiden kurzen Disconnects gestern war sie aber gerade in Betrieb.
Nach meinem Urlaub werde ich schauen, ob ich die Aussetzer reproduzieren kann.

Leider kann ich hierzu (noch) kein Wireshark Protokoll liefern, weil mein Mitschnitt nur 48h gelaufen war. Ich war davon ausgegangen, daß er nach 48h die stündlichen Logs zyklisch überschreibt, aber das war nicht der Fall.

Können bei den kurzen Aussetzern die Zählung von Impulsen verlorengehen oder kann der Sketch damit umgehen?

Ansonsten funktioniert der Zähler auf dem wemos mit der letzten Version top. Kein Vergleich zum PulseCounter und ESPEasy mit dem ich immer wieder falsche Impulse hatte.

Gruß
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 24 März 2018, 09:10:54
Hallo Tobias,

Vielen Dank für das Feedback!

Wenn die WLAN-Verbindung unterbrochen ist, zählt der Arducounter normal weiter. Nur wenn die Verbindung in dem Moment weg ist, wenn der Arducounter seinen aktuellen Stand und die Impulse im letzten Intervall an Fhem berichten möchte, kann derzeit etwas verloren gehen.
Da baue ich noch etwas ein um den Bericht dann nachzuholen sobald die Verbindung wieder da ist. Nur bei längeren Unterbrechungen wird das nicht klappen.

Momentan bin ich dabei Firmware-Updates direkt aus Fhem und über WLAN zu ermöglichen.

Gruß
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 24 März 2018, 11:14:39
Hallo Stefan,

jetzt habe ich doch einen tcpdump mit einem Disconnect/Connect von heute morgen.

Hierbei ist der wemos: 192.168.8.69
Und der RPI mit FHEM: 192.168.8.46 (rpi3)

Leider hat der tcpdump keine Zeitstempel - ich denke aber interessant wird es ab Frame 3490. Davor gab es nur ein paar TCP Retransmits.

Danke für die Analyse. Gruß
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 25 März 2018, 21:36:33
Hallo Tobias,

Mit tcpdump -nr pcapfile wird es inkl. Zeitstempel angezeigt.
Sieht schon nach gestörter WLAN Verbindung aus.

Gruß
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 21 April 2018, 23:39:14
Hallo Stefan
Kann man den Arduino/Adrucounter auch remote, mittels ser2net, an FHEM anschliessen. Also direkt ohne esplink?
Etwa so Arduino -> Pi -> ser2net -> (w)lan -> FHEM

Gruss birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 22 April 2018, 09:28:15
Hallo birdy,

der alte ArduCounter geht von einer seriellen Verbindung aus.
In der neuen Version, die dann auch auf dem ESP laufen kann, kann man beim Define auch IP-Adresse und Port angeben.
Dann versucht Fhem direkt per TCP mit dem Zähler zu reden.
Unter der Adresse kann dann entweder direkt ein ESP erreichbar sein oder auch ein Umsetzer:

Fhem - WLAN - ESP8266
oder
Fhem - WLAN - ser2Net - Arduino

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: birdy am 22 April 2018, 21:01:11
Danke Stefan

Ab welcher Version sprechen wir von...
Zitat von: StefanStrobel am 22 April 2018, 09:28:15
... der neuen Version, die dann auch auf dem ESP laufen kann......
Gruss
birdy
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 22 April 2018, 21:46:24
Hallo,

Die Version für den ESP ist noch nicht eingecheckt. Der letzte Abstand, den ich gepostet habe, ist vom 18.3.
(Hier im Thread gepostet)

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 05 Mai 2018, 12:35:55
Hallo,

anbei der aktuelle Entwicklungsstand des ArduCounters für Arduino und ESP8266.
Ich habe einiges im Modul und im Sketch umgebaut, damit es sowohl mit einem Uno / Nano als auch mit einem ESP funktioniert. Für Kommunikation per TCP sind ein paar neue Features hinzugekommen:

- bei Verbindung per TCP sendet das Modul regelmäßig eine Keepalive-Anfrage an das Zähler-Board um zu prüfen, ob die TCP- bzw. WLAN-Verbindung noch steht. Falls keine Antwort kommt, wird die Verbindung geschlossen und versucht sie neu aufzubauen.
- Auf Board-Seite wird bei Verbindungen über TCP bemerkt wenn die TCP-Verbindung unterbrochen wurde. Dann wird die nächste Meldung des Zählerstandes bis zu drei mal verzögert und weitergezählt.
- Das Modul versucht verpasste Zählerstands-Meldungen zu rekonstruieren.
- Die Pin-History und Debug-Meldungen bei jedem Pegelwechsel an einem Input können per set devVerbose eingestellt werden.

Ich hoffe dass noch alles so wie vorher funktioniert und keine neuen Fehler im Code sind. Da ich aber sehr viel umgebaut habe, ist das nicht auszuschließen. Es wäre daher schön wenn ich ein paar Test-Feedbacks bekomme.

Für den ESP muss das Board noch über die Arduino IDE geflasht werden. Auch die eigene WLAN SSID und das WLAN-Passwort müssen noch manuell in den Code eingetragen werden.

Gruss / vielen Dank
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 05 Mai 2018, 22:18:29
Hallo Stefan,

danke für die TCP-Erweiterungen - genau mein Anwendungsfall ;-)

Allererstes Feedback: Zähler 2.35 zählt auf meinem Wemos D1 ...

FHEM-Log:

2018.05.05 21:58:38 3: AC_Strom: disable attribute removed
2018.05.05 21:58:38 3: Opening AC_Strom device 192.168.8.69:80
2018.05.05 21:58:38 3: AC_Strom device opened
2018.05.05 21:58:38 3: AC_Strom: device sent hello: ArduCounter V2.35 on ESP8266 ESP8266_WEMOS_D1MINI compiled May  5 2018 21:52:33 Hello, pins 0,1,2,5,6,7 available T99636,0 B559,0
2018.05.05 21:58:39 3: AC_Strom: sending configuration from attributes to device
2018.05.05 21:58:39 3: AC_Strom: ConfigureDevice calls Attr with pinD5 falling pullup 30
2018.05.05 21:58:39 3: AC_Strom: ConfigureDevice calls Attr with interval 2 300 1 1
2018.05.05 21:58:39 3: AC_Strom: device: defined P5 falling pullup min 30
2018.05.05 21:58:39 3: AC_Strom: device: intervals set to 2 300 1 1
2018.05.05 22:01:55 3: AC_Strom: pin 5 (pin5) interpolating for 1067.29 secs until boot, 10 estimated pulses (before 1 in 108133 ms, now 1 in 108133 ms, avg ratio 0.00924787067777644 p/s)


Und das zugehörige Log:


2018-05-05_21:37:48 AC_Strom power5: 0.333
2018-05-05_21:37:48 AC_Strom pin5: 44820
2018-05-05_21:37:48 AC_Strom long5: 54081
2018-05-05_21:37:48 AC_Strom reject5: 12683
2018-05-05_21:37:48 AC_Strom TotalKWh: 72576.3416665697
2018-05-05_21:39:12 AC_Strom power5: 0.350
2018-05-05_21:39:12 AC_Strom pin5: 44821
2018-05-05_21:39:12 AC_Strom long5: 54082
2018-05-05_21:39:12 AC_Strom reject5: 12683
2018-05-05_21:39:12 AC_Strom TotalKWh: 72576.349999903
==== STOP v 2.31

==== Beginn v 2.35
2018-05-05_22:01:55 AC_Strom power5: 0.277
2018-05-05_22:01:55 AC_Strom reject5: 12684
2018-05-05_22:01:55 AC_Strom timeDiff5: 108133
2018-05-05_22:01:55 AC_Strom countDiff5: 1
2018-05-05_22:01:55 AC_Strom pin5: 2
2018-05-05_22:01:55 AC_Strom long5: 54084
2018-05-05_22:01:55 AC_Strom seq5: 1
2018-05-05_22:01:55 AC_Strom TotalKWh: 72576.3666665697
2018-05-05_22:03:43 AC_Strom power5: 0.278
2018-05-05_22:03:43 AC_Strom reject5: 12684
2018-05-05_22:03:43 AC_Strom timeDiff5: 107814
2018-05-05_22:03:43 AC_Strom countDiff5: 1
2018-05-05_22:03:43 AC_Strom pin5: 3
2018-05-05_22:03:43 AC_Strom long5: 54085
2018-05-05_22:03:43 AC_Strom seq5: 2
2018-05-05_22:03:43 AC_Strom TotalKWh: 72576.374999903
2018-05-05_22:05:29 AC_Strom power5: 0.280
2018-05-05_22:05:29 AC_Strom reject5: 12684
2018-05-05_22:05:29 AC_Strom timeDiff5: 107098
2018-05-05_22:05:29 AC_Strom countDiff5: 1
2018-05-05_22:05:29 AC_Strom pin5: 4
2018-05-05_22:05:29 AC_Strom long5: 54086
2018-05-05_22:05:29 AC_Strom seq5: 3
2018-05-05_22:05:29 AC_Strom TotalKWh: 72576.3833332364


Kurze Frage zu den neuen Readings: timeDiff ist wohl selbsterklärend. Welche genaue Bedeutung haben countDiff und seq? In der CommandRef fehlen sie noch...

Gruß,
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 06 Mai 2018, 11:27:51
Hallo Tobias,

jede Zählermeldung vom Board an Fhem hat nun eine Sequenz-Nummer. Damit kann das Modul erkennen, wenn es eine Meldung verpasst hat. Das ist das Reading seq.
CountDiff ist das Delte zur letzten Zählermeldung. Dieses Delta wird zusammen mit TimeDiff zur Berechnung des Verbrauchs verwendet.
Ich werd's in der Commandref noch ergänzen. Danke für den Hinweis.
Sind die anderen Werte sonst in Ordnung?

Gruss und vielen Dank fürs Testen
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 06 Mai 2018, 12:06:57
Hallo Stefan,

danke, bisher sieht alles einwandfrei aus. Ich möchte noch ein wenig testen und Fehler ( TCP / WLAN - Abbrüche ) simulieren, das schaffe ich aber erst frühestens nächstes Wochenende. Bis dahin gleiche ich den Stromzähler noch einmal ab und sehe dann, ob innerhalb einer Woche keine Impulse verloren gehen.

Ich vermute mal, daß die Attribute keepAliveDelay, keepAliveTimeout, nextOpenDelay und openTimeout mit Default Werten vorbelegt sind. Als internal ( mit Default 60s ) habe ich nur nextOpenDelay gefunden. Wäre super, wenn du die Defaults in der CommandRef ergänzen könntest.

VG
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 11 Mai 2018, 21:32:16
Hallo Stefan,

eben ist das neue ArduCounter Modul Amok gelaufen. Der Status des Wemos ist innerhalb ca 3 Minuten etwa 820x ununterbrochen von CONNECTED auf DISCONNECTED gesprungen. Ein Notify schickt mir hierzu jedesmal eine Push Nachricht (1740 Messages...). Nach einem manuellen Reboot des Wemos hat sich das System wieder gefangen. Was das ganze ausgelöst hat, kann ich nicht sagen. Vielleicht kannst Du aus den Logs etwas herauslesen.

AC Log:


2018-05-11_20:59:12 AC_Strom power5: 0.337
2018-05-11_20:59:12 AC_Strom reject5: 14418
2018-05-11_20:59:12 AC_Strom timeDiff5: 89071
2018-05-11_20:59:12 AC_Strom countDiff5: 1
2018-05-11_20:59:12 AC_Strom pin5: 5341
2018-05-11_20:59:12 AC_Strom long5: 59423
2018-05-11_20:59:12 AC_Strom seq5: 220
2018-05-11_20:59:12 AC_Strom TotalKWh: 72620.5583332261
2018-05-11_21:00:52 AC_Strom power5: 0.302
2018-05-11_21:00:52 AC_Strom reject5: 14418
2018-05-11_21:00:52 AC_Strom timeDiff5: 99247
2018-05-11_21:00:52 AC_Strom countDiff5: 1
2018-05-11_21:00:52 AC_Strom pin5: 5342
2018-05-11_21:00:52 AC_Strom long5: 59424
2018-05-11_21:00:52 AC_Strom seq5: 221
2018-05-11_21:00:52 AC_Strom TotalKWh: 72620.5666665594
2018-05-11_21:02:29 AC_Strom DISCONNECTED
2018-05-11_21:02:29 AC_Strom CONNECTED
2018-05-11_21:02:29 AC_Strom DISCONNECTED
2018-05-11_21:02:30 AC_Strom CONNECTED
2018-05-11_21:02:30 AC_Strom DISCONNECTED
2018-05-11_21:02:30 AC_Strom CONNECTED
2018-05-11_21:02:30 AC_Strom DISCONNECTED
2018-05-11_21:02:31 AC_Strom CONNECTED
2018-05-11_21:02:31 AC_Strom DISCONNECTED
2018-05-11_21:02:31 AC_Strom CONNECTED
2018-05-11_21:02:31 AC_Strom DISCONNECTED
2018-05-11_21:02:31 AC_Strom CONNECTED
2018-05-11_21:02:31 AC_Strom DISCONNECTED
2018-05-11_21:02:31 AC_Strom CONNECTED
2018-05-11_21:02:31 AC_Strom DISCONNECTED
2018-05-11_21:02:31 AC_Strom CONNECTED
2018-05-11_21:02:31 AC_Strom DISCONNECTED
2018-05-11_21:02:31 AC_Strom CONNECTED
2018-05-11_21:02:31 AC_Strom DISCONNECTED
2018-05-11_21:02:31 AC_Strom CONNECTED
2018-05-11_21:02:32 AC_Strom DISCONNECTED
2018-05-11_21:02:32 AC_Strom CONNECTED
2018-05-11_21:02:32 AC_Strom DISCONNECTED
2018-05-11_21:02:32 AC_Strom CONNECTED
2018-05-11_21:02:32 AC_Strom DISCONNECTED
2018-05-11_21:02:32 AC_Strom CONNECTED
2018-05-11_21:02:32 AC_Strom DISCONNECTED
2018-05-11_21:02:32 AC_Strom CONNECTED
2018-05-11_21:02:32 AC_Strom DISCONNECTED
2018-05-11_21:02:32 AC_Strom CONNECTED
2018-05-11_21:02:32 AC_Strom DISCONNECTED
2018-05-11_21:02:32 AC_Strom CONNECTED
2018-05-11_21:02:32 AC_Strom DISCONNECTED
2018-05-11_21:02:32 AC_Strom CONNECTED
2018-05-11_21:02:33 AC_Strom DISCONNECTED
...
2018-05-11_21:04:21 AC_Strom DISCONNECTED
2018-05-11_21:04:21 AC_Strom CONNECTED
2018-05-11_21:04:21 AC_Strom DISCONNECTED
2018-05-11_21:04:21 AC_Strom CONNECTED
2018-05-11_21:04:21 AC_Strom DISCONNECTED
2018-05-11_21:04:21 AC_Strom CONNECTED
2018-05-11_21:04:21 AC_Strom DISCONNECTED
2018-05-11_21:04:21 AC_Strom CONNECTED
2018-05-11_21:04:21 AC_Strom DISCONNECTED
2018-05-11_21:04:21 AC_Strom CONNECTED
2018-05-11_21:04:22 AC_Strom DISCONNECTED
2018-05-11_21:04:22 AC_Strom CONNECTED
2018-05-11_21:04:22 AC_Strom DISCONNECTED
2018-05-11_21:04:22 AC_Strom CONNECTED
2018-05-11_21:04:22 AC_Strom DISCONNECTED
2018-05-11_21:04:22 AC_Strom CONNECTED
2018-05-11_21:04:22 AC_Strom DISCONNECTED
2018-05-11_21:04:22 AC_Strom CONNECTED
2018-05-11_21:04:22 AC_Strom DISCONNECTED
2018-05-11_21:04:22 AC_Strom CONNECTED
2018-05-11_21:04:22 AC_Strom DISCONNECTED
2018-05-11_21:04:22 AC_Strom CONNECTED
2018-05-11_21:04:22 AC_Strom DISCONNECTED
2018-05-11_21:05:27 AC_Strom CONNECTED
2018-05-11_21:07:40 AC_Strom power5: 0.386
2018-05-11_21:07:40 AC_Strom reject5: 14418
2018-05-11_21:07:40 AC_Strom timeDiff5: 77777
2018-05-11_21:07:40 AC_Strom countDiff5: 1
2018-05-11_21:07:40 AC_Strom pin5: 2
2018-05-11_21:07:40 AC_Strom long5: 59426
2018-05-11_21:07:40 AC_Strom seq5: 1
2018-05-11_21:07:40 AC_Strom TotalKWh: 72620.5833332261
2018-05-11_21:09:00 AC_Strom power5: 0.378
2018-05-11_21:09:00 AC_Strom reject5: 14418
2018-05-11_21:09:00 AC_Strom timeDiff5: 79390
2018-05-11_21:09:00 AC_Strom countDiff5: 1
2018-05-11_21:09:00 AC_Strom pin5: 3
2018-05-11_21:09:00 AC_Strom long5: 59427
2018-05-11_21:09:00 AC_Strom seq5: 2
2018-05-11_21:09:00 AC_Strom TotalKWh: 72620.5916665594


FHEM Log:


2018.05.11 21:02:04 3: AC_Strom: device didn't reply to k(eeepAlive). Is the right sketch flashed?
2018.05.11 21:02:19 3: AC_Strom: device didn't reply to k(eeepAlive). Is the right sketch flashed?
2018.05.11 21:02:29 3: AC_Strom: device didn't reply to k(eeepAlive). Is the right sketch flashed?
2018.05.11 21:02:29 3: AC_Strom: no retries left, setting device to disconnected
2018.05.11 21:02:29 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:29 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:02:29 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:02:29 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:30 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:02:30 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:02:30 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:30 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:02:30 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:02:30 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:31 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:02:31 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:02:31 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:31 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:02:31 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:02:31 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:31 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:02:31 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:02:31 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:31 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:02:31 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:02:31 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:31 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:02:31 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:02:31 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:31 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:02:31 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:02:31 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:31 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:02:31 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:02:32 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:32 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:02:32 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:02:32 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:32 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:02:32 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:02:32 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:02:32 3: 192.168.8.69:80 reappeared (AC_Strom)
...
2018.05.11 21:04:22 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:04:22 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:04:22 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:04:22 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:04:22 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:04:22 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:04:22 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:04:22 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:04:22 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:04:22 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:04:22 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:04:22 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:04:22 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:04:22 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:04:22 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:04:22 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:04:22 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:04:22 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:04:22 3: AC_Strom: unparseable message from device: connection already busy
2018.05.11 21:04:22 3: 192.168.8.69:80 disconnected, waiting to reappear (AC_Strom)
2018.05.11 21:04:24 3: AC_Strom: device didn't reply to k(eeepAlive). Is the right sketch flashed?
2018.05.11 21:04:24 3: AC_Strom: no retries left, setting device to disconnected
2018.05.11 21:04:37 3: AC_Strom: sending h(ello) to device to ask for version
2018.05.11 21:05:27 3: 192.168.8.69:80 reappeared (AC_Strom)
2018.05.11 21:05:27 3: AC_Strom: device sent hello: ArduCounter V2.35 on ESP8266 ESP8266_WEMOS_D1MINI compiled May  5 2018 21:52:33
Hello, pins 0,1,2,5,6,7 available T38156,0 B561,0
2018.05.11 21:05:28 3: AC_Strom: sending configuration from attributes to device
2018.05.11 21:05:28 3: AC_Strom: ConfigureDevice calls Attr with interval 2 300 1 1
2018.05.11 21:05:28 3: AC_Strom: ConfigureDevice calls Attr with pinD5 falling pullup 30
2018.05.11 21:05:28 3: AC_Strom: device: intervals set to 2 300 1 1
2018.05.11 21:05:28 3: AC_Strom: device: defined P5 falling pullup min 30
2018.05.11 21:07:40 3: AC_Strom: pin 5 (pin5) interpolating for 237.60 secs until boot, 3 estimated pulses (before 1 in 77777 ms, no
w 1 in 77777 ms, avg ratio 0.0128572714298572 p/s)
2018.05.11 21:10:12 3: AC_Strom: device didn't reply to k(eeepAlive). Is the right sketch flashed?


Danke & Gruß
Tobias
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 12 Mai 2018, 10:53:10
Hallo Tobias,

Aus den Logs lese ich folgendes:
Das Fhem-Modul hat keine Antworten mehr vom Wemos D1 bekommen. Könnte am WLAN oder anderen Problemen gelegen haben. Das Modul hat daraufhin die TCP-Verbindung beendet und versucht sie neu zu öffnen.
Auf Seite des Wemos werden zwei TCP-Verbindungen verwaltet.
Die erste / primäre Verbindung kommuniziert mit Fhem. Die zweite ist nur dazu da einen weiteren Verbindungsversuch ordentlich abzuweisen. Dabei wird ,,connection already busy" gesendet und die Verbindung geschlossen.
In Deinem Fall scheint der Wemos nicht mitbekommen zu haben, dass die erste Verbindung beendet wurde und dann kam Fhem nicht mehr ran ...
Ich denke da muss ich auf Geräteseite auch einen KeepAlive / Timeout für die Verbindung einbauen. Dann würde auch der Wemos die erste Verbindung wegwefen und die neue akzeptieren.
Zudem sollte das Modul nach einer ,,connection busy"-Meldung kurz warten.

Gruss
    Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 14 Mai 2018, 19:32:05
Hallo,

anbei eine neue Version zum Testen.
Das Modul teilt dem Device nun auch mit, wann die nächste keepalive-Nachricht zu erwarten ist. Wenn die zu lange ausbleibt, beendet auch das Device die TCP-Verbindung und wartet darauf, dass sie neu aufgebaut wird.

Gruss
   Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: tpm88 am 15 Mai 2018, 14:56:59
Hallo Stefan,

vielen Dank für die neue Version. Werde ich gerne testen, bin aber derzeit geschäftlich auswärts unterwegs. Kann also ein wenig dauern, da ich von remote den wemos nicht flashen kann...  8)

Ich melde mich...

Gruß
Tobias

Edit: Habe eben die v 2.36 eingespielt
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Takero am 27 Mai 2018, 10:49:59
Hallo Zusammen,

ich habe vor kurzem die Adapter in Fhem aktualisiert. So weit so gut.

Leider funktioniert seit dem der Counter meine S0 Schnittstelle nicht mehr. Davor funktionierte es tadellos.

Ich habe die aktuell Firmware des Arduino geflashed.

Meine config sieht wie folgt aus:

define AC ArduCounter /dev/ttyUSB0
attr AC factor 500
attr AC interval 10 300
attr AC pinD5 falling pullup
attr AC verboseReadings5
#attr AC userReadings Zaehler {ReadingsVal("AC","pinD5",0)/2000 }


get Info spukt das hier aus:

M Status: ArduCounter V2.05
normal interval 10000
max interval 300000
min interval 0
min count 0
pin 5 PCInt pin 21, iMode falling, no min len, count 0 (+0) in 177374 ms
Next report in 2603 Milliseconds
pulse history:
pin 5 start -7264 len 29 at 0 
pin 5 start -7235 len 746 at 1 
pin 5 start -6489 len 30 at 0 
pin 5 start -6459 len 738 at 1 
pin 5 start -5721 len 30 at 0 
pin 5 start -5691 len 742 at 1 
pin 5 start -4949 len 30 at 0 
pin 5 start -4919 len 741 at 1 
pin 5 start -4178 len 30 at 0 
pin 5 start -4148 len 742 at 1 
pin 5 start -3406 len 31 at 0 
pin 5 start -3375 len 741 at 1 
pin 5 start -2634 len 30 at 0 
pin 5 start -2604 len 739 at 1 
pin 5 start -1865 len 30 at 0 
pin 5 start -1835 len 710 at 1 
pin 5 start -1125 len 29 at 0 
pin 5 start -1096 len 659 at 1 
pin 5 start -437 len 29 at 0 


Ich habe auch schon versucht den PIN D5 manuell auf GND zu ziehen, dabei geschieht auch nichts.

Wo ist mein Fehler?

Ich könnte noch rising versuchen, aber dann müsste der zweite PIN vom S0 auf VCC oder irre ich?

Danke und viele Grüße,
Andreas
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 28 Mai 2018, 10:59:42
Hallo Andreas,

Welche Modulversion verwendest Du denn?
Sketch 2.05 ist der aus dem SVN. Hier im Thread findest Du eine deutlich neuere Version.

Am besten nimmst Du gleich die neue Version des Moduls und des Sketches hier aus dem Thread.
Die beiden Versionen müssen zusammen passen, sonst klappt es nicht.

Bitte gib doch nach falling pullup noch ein 20 als Mindestlänge an.
In der Pulse-History sieht man dass der Zähler durchaus Impulse sieht, die 30ms auf GND liegen.
Nur gezählt werden sie wohl nicht.
Das sollte mit der aktuellen Version und Angabe einer Mindestlänge kein Problem sein.

Gruß
    Stefan

Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Takero am 28 Mai 2018, 16:20:26
Hallo, vielen Dank für die Antwort. Konnte das Problem vorhin schon lösen. Es war wie die auch schreibst das Timing. Falling pullup 30 ist es bei mir.

B+G E-Tech Zähler.
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: Otto123 am 13 Juni 2018, 11:07:06
Zitat von: Takero am 28 Mai 2018, 16:20:26
Hallo, vielen Dank für die Antwort. Konnte das Problem vorhin schon lösen. Es war wie die auch schreibst das Timing. Falling pullup 30 ist es bei mir.

B+G E-Tech Zähler.
Hallo Stefan,

irgendwie hat mir genau der Hinweis beim Update (habe es schon dreimal zurück gedreht) gefehlt. Mit der alten DEF (ohne das Timing) gab es keine Impulse mehr  :'(

Danke  ;)

So jetzt mal die ganz neue Version auf dem ESP testen  ;)

Gruß Otto
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 13 Juni 2018, 18:52:57
Hallo,

Dann ist da wohl ein Bug in der letzten eingecheckten Version.
Umso wichtiger wäre es mir dass die neue Version keine Probleme macht, bevor ich sie einchecke.
Sie sollte sowohl auf dem ESP als auch auf einem Arduino funktionieren.

In der neuen Version wird die Pulslänge übrigens immer geprüft. Falls sie nicht angegeben wurde, wird sie auf 2ms gesetzt. Das Problem sollte mit der neuen Version aus dem Thread also nicht mehr auftreten können.

Gruß
  Stefan
Titel: Antw:Stromzähler mit S0 Schnittstelle nochmals
Beitrag von: StefanStrobel am 04 September 2018, 18:42:42
Hallo,

ich habe die neue Version soeben eingecheckt.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: sash.sc am 04 September 2018, 19:58:47
Läuft die Version auf nen esp mit wlan?

Habe mit espeasy und dem pulse counter so meine Probleme.

Bin da auf der Suche nach was neuen bzw anderem.

Gruß Sascha

Gesendet von meinem E6653 mit Tapatalk
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 04 September 2018, 21:05:16
Hallo Sascha,

Ich habe es bei mir auf einem Wemos D1 am Laufen.
Zum Flashen musst Du den Sketch (habe ich unter contrib/arduino abgelegt) für Deinen ESP neu übersetzen und von der Arduino IDE aus auf den ESP übertragen. Im Quellcode muss dabei Deine SSID und Passort eingetragen werden.

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: sash.sc am 04 September 2018, 21:11:19
Besten Dank.

Gruß Sascha

Gesendet von meinem E6653 mit Tapatalk

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: GlennDandy am 13 November 2018, 12:20:29
hallo, ich glaube ich bin unfähig die neue Version zuflashen bei mir erscheint immer

Arduino: 1.6.5 (Windows 8.1), Platine: "Arduino Nano, ATmega328"

WARNUNG: Bibliothek ESP8266WiFi behauptet auf [esp8266] Architektur(en) ausgeführt werden zu können und ist möglicherweise inkompatibel mit Ihrer derzeitigen Platine, welche auf [avr] Architektur(en) ausgeführt werden kann.



In file included from C:\Program Files (x86)\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFi.h:33:0,
                 from C:\Program Files (x86)\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFi.cpp:25:
C:\Program Files (x86)\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiType.h:26:19: fatal error: queue.h: No such file or directory
#include <queue.h>
                   ^
compilation terminated.
Fehler beim Kompilieren.

  Dieser Report hätte mehr Informationen mit
  "Ausführliche Ausgabe während der Kompilierung"
  aktiviert in Datei > Einstellungen


übersehe ich irgendwo eine einstellung damit es auf dem Arduino Nano zuflashen geht?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 13 November 2018, 17:35:09
Hallo,

bei mir compiliert ArduCounter 2.36 ohne Problem für den Nano. die ESP8266-Stellen stehen eigentlich immer in einem #ifdef ESP8266 #endif, so dass die beim compilieren ausgeblendet werden sollten wenn Du für einen Nano compilierst.
Ich verwende allerdings die Arduino IDE in Version 1.8.5

Für den Nano muss Du aber auch gar nicht selbst compilieren. Mit set <device> flash kanst Du die Nano-Firmware direkt aus Fhem heraus flashen. Die 2.36er Firmware ist eingecheckt (landet unter FHEM/Firmware).

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: heinemannj66 am 19 November 2018, 21:02:50
Hi,

ist der ArduCounter Sketch in der aktuellen Version auch auf einem Arduino Mega 2560 lauffähig?
Hatte den Sketch mal vor ~2,5 Jahren ausporbiert - bin leider vor die Pumpe gelaufen.

Ich benötige derzeit ~30 S0 Zähler - Tendenz steigend  8)

Gruß
Jörg
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 19 November 2018, 21:47:15
Hallo Jörg,

Der 2560 unterstützt leider nicht auf allen Pins einen Pin change interrupt
https://arduino.stackexchange.com/questions/9481/why-is-my-interrupt-code-not-working
Daran wird es dann wohl scheitern.
Mit 2 oder 3 Nanos parallel kommst Du eher weiter.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 09 Januar 2019, 21:07:36
Hallo,

da ich auch noch einen alten Ferraris-Zähler im Keller habe und mir die Auswertung per Funk mit meinem alten Sensor zu unzuverlässig wurde, habe ich die Idee mit Reflexlichtschranke an einem Arduino von Martin Kompf übernommen und die Firmware dazu in den ArduCounter integriert. (siehe https://www.kompf.de/tech/emeir.html)

Als Hardware muss man eigentlich nur einen Fototransistor und eine LED jeweils mit Vorwiderstand an einen Arduino Nano anlöten.
Bei der Gelegenheit habe ich ein paar Altlasten im ArduCounter-Modul behoben:

1) der Faktor zur Umrechnung der Anzahl Impulse in kWh oder andere Einheiten. Das war bisher sehr unschön gelöst. Als Alternative gibt es jetzt ein Attribut pulsesPerKWh. Das würde man bei einem Ferraris-Zähler typischerweise auf 75 setzen (75 Umdrehungen der Scheibe je kWh).

2) die Attribute zum Umbenennen von Readings etc. Die mussten bei Pin D4 z.B. readingNameCount4 lauten, auch wenn der Pin mit dem Attribut pinD4 definiert wurde. Unschön ist das für analoge Pins wie A7 geworden, wie man es für Ferraris-Zähler benötigt. Deshalb habe ich das geändert. Jetzt können die Zusatzattribute immer genauso benannt werden, wie auch der Pin definiert wurde. Bei Pin2 also readingNameCount2, bei PinD2 readingNameCountD2 und bei pinA7 readingNameCountA7.
Auch die Readings (sofern sie nicht mit einem Attribut umbenannt wurden) orientieren sich jetzt klar an der Definition. Wenn Pin 5 als pin5 definiert wurde, wird ein Reading power5 erzeugt. Wenn der gleiche Pin aber als PinD5 definiert wurde, wird auch das Reading powerD5 genannt.

Das könnte in einzelnen Fällen zu Änderungsbedarf führen, ist aber langfristig deutlich klarer. Sorry falls Ihr betroffen seid.

Für Ferraris-Counter, die über eine Reflexlichtschranke analog gelesen werden, gibt es noch das neue Attribut analogThresholds und um die Definition zu erleichtern, gibt es einen neuen get-Befehl, mit denen man die analogen Messwerte ansehen kann (get levels), allerdings liefert der nur werte, wenn vorher das Verbose-Level im Arduino auch mit dem Attribut devVerbose auf 20 gesetzt wurde.

Die Referenz sollte im angehängten Modul aktualisiert sein.

Vielleicht möchte es ja jemand nachbauen.

Gruss
   Stefan


Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 10 Januar 2019, 11:16:33
Hallo Stefan,

Du bist der Größte! Ich habe genau diese Lösung (mangels Fähigkeit) auf zwei Arduinos (eine Lichtschranke und ein Arducounter) nebeneinander/zusammen laufen.
Läuft bei mir sehr zuverlässig.

Danke, ich werde das zeitnah probieren!

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 10 Januar 2019, 11:20:41
Zitat von: StefanStrobel am 09 Januar 2019, 21:07:36

2) die Attribute zum Umbenennen von Readings etc. Die mussten bei Pin D4 z.B. readingNameCount4 lauten, auch wenn der Pin mit dem Attribut pinD4 definiert wurde. Unschön ist das für analoge Pins wie A7 geworden, wie man es für Ferraris-Zähler benötigt. Deshalb habe ich das geändert. Jetzt können die Zusatzattribute immer genauso benannt werden, wie auch der Pin definiert wurde. Bei Pin2 also readingNameCount2, bei PinD2 readingNameCountD2 und bei pinA7 readingNameCountA7.
Auch die Readings (sofern sie nicht mit einem Attribut umbenannt wurden) orientieren sich jetzt klar an der Definition. Wenn Pin 5 als pin5 definiert wurde, wird ein Reading power5 erzeugt. Wenn der gleiche Pin aber als PinD5 definiert wurde, wird auch das Reading powerD5 genannt.


Perfekt. Trifft zwar vermutlich viele. Aber ist konsistenter.
Hat mich damals auch schon gewundert.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 17 Januar 2019, 09:49:14
Zitat von: sash.sc am 04 September 2018, 21:11:19
Besten Dank.

Gruß Sascha

Gesendet von meinem E6653 mit Tapatalk

Kannst du schon etwas dazu sagen?

Habe auch noch einen ESP mit ESPEasy und Impulscounter am laufen.
Gefällt mir so aber auch absolut nicht.

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: sash.sc am 17 Januar 2019, 12:42:54
Zitat von: no_Legend am 17 Januar 2019, 09:49:14
Kannst du schon etwas dazu sagen?

Habe auch noch einen ESP mit ESPEasy und Impulscounter am laufen.
Gefällt mir so aber auch absolut nicht.

Danke und Gruß Robert
Bis heute noch nicht. Hatte da noch keine Zeit für bzw andere Sachen vorgezogen. Wenn ich was weiß dann sage ich hier bescheid.

Gesendet von meinem E6653 mit Tapatalk

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 17 Januar 2019, 12:51:28
Zitat von: sash.sc am 17 Januar 2019, 12:42:54
Bis heute noch nicht. Hatte da noch keine Zeit für bzw andere Sachen vorgezogen. Wenn ich was weiß dann sage ich hier bescheid.

Gesendet von meinem E6653 mit Tapatalk

Ich hoffe der Nachwuchs geht heute früh genüg ins bett.
Dann komm ich vll dazu es ausprobieren.
Ich hab nur gerade garkeine Ahnung mehr wie es momentan verdrahtet ist!  ;D

Noch was anderes, beim Einsatz mit nem Gazähler.
Das zählen erfolgt nur auf die Flanken oder?

Edit: Gefunden, hast sich erledigt.

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 17 Januar 2019, 16:48:28
Kann mir jemand kurz erklären wie ich eine Pin in FHEM deklariere.
Sobald ich über die Gui probiere das attr pin.* auszuwählen, kommt immer folgender Fehler:

jquery.min.js line 2:
Error: Syntax error, unrecognized expression: a[name=pin\.*]


Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 17 Januar 2019, 21:17:45
Meinst Du sowas?
attr AC pinD4 falling pullup 30

Musst Du einfach in der FHEM Kommandozeile machen. Geht nicht mit "klicken".

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 17 Januar 2019, 21:30:21
Zitat von: Otto123 am 17 Januar 2019, 21:17:45
Meinst Du sowas?
attr AC pinD4 falling pullup 30

Musst Du einfach in der FHEM Kommandozeile machen. Geht nicht mit "klicken".

Gruß Otto

Hallo Otto,

schön dich hier auch zu treffen.
Auch wenn du mich mittlerweile echt für bescheuert halten musst, der Befehl geht nicht.
Habe folgender maßen ausprobiert: attr AC pinD4 falling

Dann kommt folgende Fehlermeldung: Invalid / disallowed pin specification pinD4

Es geht nur wenn man attr AC pin.D4 falling eingibt.
Allerdings gezählt wir dann nicht.

Dazu wenn man probiert einen pin zu löschen kommt Invalid pin name pin.0

Edit:
FHEM ist Updtodate.
Sketch ist 2.36 aus den Contribut Ordner

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 17 Januar 2019, 21:49:24
Hallo Robert,

also das mit dem Punkt erscheint mir unlogisch.
Hast Du ESP oder Arduino?

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 17 Januar 2019, 21:52:16
Zitat von: Otto123 am 17 Januar 2019, 21:49:24
Hallo Robert,

also das mit dem Punkt erscheint mir unlogisch.
Hast Du ESP oder Arduino?

Gruß Otto

Hab nen Wemoo D1 Mini (also ESP8266 glaub ich)

Wenn ich's dir sag. Es muss den Punkt nehmen sonst wird die Eingabe nicht akzeptiert.

Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 17 Januar 2019, 22:03:18
naja aber gezählt wird dann nicht. Ist also auch nicht richtig?
Du ich weiß es nicht, hab es mit dem ESP noch nicht probiert. Mein AC läuft mit dem Arduino nano - und da ist es so wie von mir gepostet (und in der Doku).
Ich weiß es nicht. Kann man den D4 nehmen beim ESP?
Hast Du mal D1 oder D2 probiert? Das sind die einzigen die völlig "frei" sind.

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 17 Januar 2019, 22:06:17
Zitat von: Otto123 am 17 Januar 2019, 22:03:18
naja aber gezählt wird dann nicht. Ist also auch nicht richtig?
Du ich weiß es nicht, hab es mit dem ESP noch nicht probiert. Mein AC läuft mit dem Arduino nano - und da ist es so wie von mir gepostet (und in der Doku).
Ich weiß es nicht. Kann man den D4 nehmen beim ESP?
Hast Du mal D1 oder D2 probiert? Das sind die einzigen die völlig "frei" sind.

Gruß Otto

Nein gezählt wird definitiv nichts.
Arduino hab ich auch noch einige da.
Hab fest verdrahtet am wemoo

Allerdings scheint der wemoo schon zu senden. Die led am wlan Chip blinkt.

Vll kann der maintainer Was dazu sagen?

Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 17 Januar 2019, 22:29:03
Hallo,

Pin 4 ist beim ESP nicht erlaubt. Dass das mit einem Punkt kein Fehlermeldung gibt ist eher ein Bug.
Muss ich mir mal ansehen.
Zitat aus dem Sketch:

short allowedPins[MAX_APIN] =
  { 0,  1,  2,  -1, 
     -1, 5,  6, 7};
/* Wemos / NodeMCU Pins 3,4 and 8 (GPIO 0,2 and 15) define boot mode and therefore
* can not be used to connect to signal
*/


Bei den Pins 3,4 und 8 kann es passieren, dass der ESP nicht mehr bootet wenn beim Starten zur falschen Zeit ein Puls kommt. Deshalb habe ich die als "unerlaubt" markiert.
Wenn Du ihn trotzdem verwenden möchtest, musst Du nur in obigem Array  an Position 4 eine 4 statt der -1 eintragen.
Du musst den Sketch ja sowieso neu compilieren, damit Deine WLAN-SSID und das Passwort drin steht.

Ich würde auch empfehlen, gleich die neue Version von Sketch und Modul hier aus dem Thread zu nehmen.

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 18 Januar 2019, 05:25:39
Zitat von: StefanStrobel am 17 Januar 2019, 22:29:03
Hallo,

Pin 4 ist beim ESP nicht erlaubt. Dass das mit einem Punkt kein Fehlermeldung gibt ist eher ein Bug.
Muss ich mir mal ansehen.
Zitat aus dem Sketch:

short allowedPins[MAX_APIN] =
  { 0,  1,  2,  -1, 
     -1, 5,  6, 7};
/* Wemos / NodeMCU Pins 3,4 and 8 (GPIO 0,2 and 15) define boot mode and therefore
* can not be used to connect to signal
*/


Bei den Pins 3,4 und 8 kann es passieren, dass der ESP nicht mehr bootet wenn beim Starten zur falschen Zeit ein Puls kommt. Deshalb habe ich die als "unerlaubt" markiert.
Wenn Du ihn trotzdem verwenden möchtest, musst Du nur in obigem Array  an Position 4 eine 4 statt der -1 eintragen.
Du musst den Sketch ja sowieso neu compilieren, damit Deine WLAN-SSID und das Passwort drin steht.

Ich würde auch empfehlen, gleich die neue Version von Sketch und Modul hier aus dem Thread zu nehmen.

Gruß
   Stefan


Guten Morgen Stefan,

Danke für die schnelle Antwort.
Okay also nehme ich am besten einen anderen Pin.
Sind eigentlich D4 und Pin 4 dann gleich?

Den Sketch min Version 3.0 meinst du?
Wenn du die meinst, Hatte ich gestern schon Probiert.
Da kam eine Fehler Meldung beim Compilern, wegen eine LED oder so
Kann ich heute nach der Arbeit noch mal schauen.

Edit:

Die Fehlermeldung kommt bei der Version 3.0 immer
'ledOutPin' was not declared in this scope


Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 18 Januar 2019, 07:57:07
Hallo Robert,

Der Teil des Sketches für das Auslesen eines Ferraris-Zählers mit Reflexlichtschranke ist für den ESP noch nicht drin. Das habe ich bisher nur für den Arduino Nano eingebaut und es kann sein, dass es für den ESP so auch gar nicht möglich ist, da er angeblich nicht ohne Unterbrechungen A-D wandeln kann.
(angeblich bricht dann die WLAN-Verbundung ab).

Du müsstest also bei der 3.0 die Zeile

#define analogIR 1

auskommentieren.

ich werde im Modul noch ein paar aussagekräftigere Meldungen einbauen, damit es deutlicher wird, wenn ein Pin nicht erlaubt ist.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 18 Januar 2019, 08:01:22
Zitat von: StefanStrobel am 18 Januar 2019, 07:57:07
Hallo Robert,

Der Teil des Sketches für das Auslesen eines Ferraris-Zählers mit Reflexlichtschranke ist für den ESP noch nicht drin. Das habe ich bisher nur für den Arduino Nano eingebaut und es kann sein, dass es für den ESP so auch gar nicht möglich ist, da er angeblich nicht ohne Unterbrechungen A-D wandeln kann.
(angeblich bricht dann die WLAN-Verbundung ab).

Du müsstest also bei der 3.0 die Zeile

#define analogIR 1

auskommentieren.

ich werde im Modul noch ein paar aussagekräftigere Meldungen einbauen, damit es deutlicher wird, wenn ein Pin nicht erlaubt ist.

Gruss
   Stefan

Hallo Stefan,

das mit dem Auskommentieren hatte ich eben auch schon probiert.
Dann kommt gleich wieder ein fehler.
'showThresholds' was not declared in this scope

Ich werde nach der Arbeit den PIN D4 gegen den D2 tauschen.
Damit bin ich dann ja erst mal save.

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 18 Januar 2019, 17:05:55
Hab den Pin auf D2 umgelötet.
Zählen Funktioniert nun.

Eine Frage noch zum Factor.
Mein Gaszähler macht 1 Impuls = 0.01 m3
Es scheint als ob der Factor nur ohne Kommastelle zulässig ist.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 18 Januar 2019, 17:10:17
Dann nimm doch 10 (dm³=Liter) und mach Dir ein userReadings für die m³ (/1000)

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 18 Januar 2019, 17:25:08
Zitat von: Otto123 am 18 Januar 2019, 17:10:17
Dann nimm doch 10 (dm³=Liter) und mach Dir ein userReadings für die m³ (/1000)

Gruß Otto

Gute Idee.
Was wird denn genau unter dem power Reading brechnet.
Arbeitest du auch mit den GasCalculator Modul aus FHEM?

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 18 Januar 2019, 17:58:48
Hallo Robert,

ich zitiere mal meine Aufzeichnung, so hatte ich das mal verstanden
ZitatFeintuning
Das power Reading liefert den momentane Leistung am Zähler. Damit die stimmt muss auch der Faktor stimmen.
Mein Zähler SMD630 liefert 400 Impulse pro 1 kWh.
1 Impulse entspricht also 0,0025 kWh.
Um den Zählerstand in kWh zu ermittteln, muss man einfach die Anzahl der Impules durch die Zahl Impulse/kWh dividieren.
ArduCounter ermittelt den Wert für die momentane Leistung in Impulsen/h ((delta count) / (delta time) * factor). Liefert der Zähler 1 Impuls pro 1 W/h, dann erhält man mit dem Faktor 1000 den Wert in kW angezeigt. Da mein Zähler 1 Impuls pro 2,5 W/h liefert, muss ich 2500 (statt Standardwert 1000) als Faktor einstellen.
Ich nehme das nur für Strom nicht für Gas (ich heize mit Holz)  :D

Wenn ich richtig drüber nachdenke: ist power für Dich sinnvoll?
Der Stromzähler liefert ja Impulse pro Leistung (kWh) du zählst ja Liter. Ein Liter Gas hat auch irgendeinen Wert in kWh, Du könntest also auch die momentane Heizleistung damit anzeigen.

Du müsstest nur den Gas 1 Liter = x kWh (Heizwert) Wert wissen. Steht eventuell  in deinem Gasvertrag.

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 18 Januar 2019, 19:48:27
Zitat von: Otto123 am 18 Januar 2019, 17:58:48
Hallo Robert,

ich zitiere mal meine Aufzeichnung, so hatte ich das mal verstandenIch nehme das nur für Strom nicht für Gas (ich heize mit Holz)  :D

Wenn ich richtig drüber nachdenke: ist power für Dich sinnvoll?
Der Stromzähler liefert ja Impulse pro Leistung (kWh) du zählst ja Liter. Ein Liter Gas hat auch irgendeinen Wert in kWh, Du könntest also auch die momentane Heizleistung damit anzeigen.

Du müsstest nur den Gas 1 Liter = x kWh (Heizwert) Wert wissen. Steht eventuell  in deinem Gasvertrag.

Gruß Otto

Wenn ich den GasCalculator benutze, ist eigentlich eher ein Aktueller Zählerstand wichtig.
Mit dem Firmata den ich mal laufen hatte, habe ich einfach einen Hourcounter mit on und off gefüttert.
Hier wurde dann der Zählerstand gebildet, welcher dann der GasCalculator weiterverarbeitet hat.

Ottos deinen Blog habe ich gelesen.
Hättest du aber nicht mit dem Befehl monotonic arbeiten können?

Das mit dem Dummy hab ich auch nicht ganz verstanden gehabt.
Gibt aber wohl keine einfache Möglichkeit den Zählerstand in ein Userreading einzutragen.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 18 Januar 2019, 21:01:01
Du hast aber nach Faktor gefragt.  ::)
Zitatfactor
Define a multiplicator for calculating the power from the impulse count and the time between the first and the last impulse
Für den Zählerstand nehme ich sowas attr AC userReadings ZaehlerHzg monotonic {sprintf("%.2f",ReadingsVal("AC","pin4",0)/400)}
Dann gehe ich einmal her und mache sein setreading AC ZahlerHzg xxxxxund trage dort einfach den aktuellen Stand ein.

Mein Artikel ist da leider nicht auf dem Stand der Zeit, deswegen gibt es da die rote Zeile  ;)

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 19 Januar 2019, 12:24:07
Zitat von: Otto123 am 18 Januar 2019, 21:01:01
Du hast aber nach Faktor gefragt.  ::)Für den Zählerstand nehme ich sowas attr AC userReadings ZaehlerHzg monotonic {sprintf("%.2f",ReadingsVal("AC","pin4",0)/400)}
Dann gehe ich einmal her und mache sein setreading AC ZahlerHzg xxxxxund trage dort einfach den aktuellen Stand ein.

Mein Artikel ist da leider nicht auf dem Stand der Zeit, deswegen gibt es da die rote Zeile  ;)

Gruß Otto

Hallo Otto,

das war genau der Schubs in die Richtige Richtung.

Habe es nun mit dem Readings auf die gleiche weiße gelöst.
GasZaehlerstand monotonic {sprintf("%.2f",ReadingsVal("Gaszaehler","pin2",0)/100)}

Mal schauen wie es nun mit dem GasCalculator weiter geht.

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 21 Januar 2019, 08:23:28
Also seit Funktioniert alles ganz gut.

Irgendwie scheinen ein paar Impulse nicht gezählt zu werden.
Woran es allerdings genau liegt kann ich nicht sagen.

Dazu hab ich dann ein paar fragen:
1. Wie sieht es eigentlicht mit dem Entprellen aus?
2. Ich hab den Pin nun wie folgt definiert: pinD2 falling pullup 5
Die Zeit für den minimal Impuls (hier 5ms), wenn man den weg lässt, gibt es einen Default wert?
Also wenn ich nichts definiere, was pinD2 falling pullup, was wird dann genommen?
3. Wird eigentlich immer das pinHistory reading angelegt?
Bei mir ist es nicht zu finden.


Edit:
3. Frage hinzu gefügt

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 21 Januar 2019, 20:04:47
Hallo Robert,

als minimale Impulslänge würde ich 30ms angeben. Das ist auch die Mindestlänge eines Impulses über eine S0-Schnittstelle. Ein Prellen würde damit auch ganz gut entfernt.
Wenn Du nichts angibst, wird 2ms angenommen.

Die pulseHistory wird von der Firmware nur übertragen wenn devVerbose >=5 ist.
Das Fhem-Modul erzeugt selbst bei übertragener History nur Readings dafür wenn verboseReadings gesetzt ist.

In der neuen Version habe ich die Anleitung übrigens etwas ausführlicher geschrieben. Ich poste demnächst noch eine neue Version, die dann auch wieder für einen ESP compilieren sollte.
Gerade bin ich am Testen, ob das mit dem Auslesen per Reflexlichtschranke auch mit einem ESP klappt...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 21 Januar 2019, 20:13:20
Zitat von: StefanStrobel am 21 Januar 2019, 20:04:47
Hallo Robert,

als minimale Impulslänge würde ich 30ms angeben. Das ist auch die Mindestlänge eines Impulses über eine S0-Schnittstelle. Ein Prellen würde damit auch ganz gut entfernt.
Wenn Du nichts angibst, wird 2ms angenommen.

Die pulseHistory wird von der Firmware nur übertragen wenn devVerbose >=5 ist.
Das Fhem-Modul erzeugt selbst bei übertragener History nur Readings dafür wenn verboseReadings gesetzt ist.

In der neuen Version habe ich die Anleitung übrigens etwas ausführlicher geschrieben. Ich poste demnächst noch eine neue Version, die dann auch wieder für einen ESP compilieren sollte.
Gerade bin ich am Testen, ob das mit dem Auslesen per Reflexlichtschranke auch mit einem ESP klappt...

Gruss
   Stefan


Hallo Stefan,

Super Danke.
Echt spitze dein Support.
Momentan scheint er mit 5ms richtig zu zählen.
Ich werde es noch mal mit 30ms testen.
Bin mir halt nicht sicher wie die Impulslänge sein soll.
Hab auch keine Oszi zur hand, leider.

Damit Reflexlichtschranken sollte gehen.
Bei ESPEasy gibt es dafür support.
Vll kannst du ja was von den Jungs adaptieren.
https://www.letscontrolit.com/wiki/index.php?title=Devices


Die Wasseruhr will ich ja auch schon ewig lange erfassen.
Nur die Uhr ist nicht sehr einfach Abzufragen.
Weder mit Lichtschranke noch mit Induktionssensor oder so.
Hat leider kein Rad wo man etwas reflektiert bekommt.
Manche nehmen dafür einen Laser nur der Aufwand, davor kraust es mir schon jetzt.
Hab noch zu viele andere Baustellen.

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 22 Januar 2019, 13:07:53
@StefanStrobel

Mal ne Frage ist der Aufwand groß den Sketch auch ESP32 anzupassen?
Ich bin da auf ein Intresante Lolin Modul gestoßen.
https://www.exp-tech.de/plattformen/esp32/9077/d32-v1.0.0 (https://www.exp-tech.de/plattformen/esp32/9077/d32-v1.0.0)

Der hat gleich die Ladeelektronik mit drauf, die ich beim Wemos D1 mini als Shield dran habe.

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 22 Januar 2019, 21:26:02
Hallo Robert,

eine Anpassung an den ESP32 sollte eigentlich nicht so schwer sein. Ich hatte leider noch keine Zeit mich damit zu beschäftigen.

Anbei nun auch eine aktuelle Version, die bei mir auch auf dem ESP8266 läuft, auch mit der Refelxlichtschranke an A0.

Das Thema mit dem Faktor hat sich übrigens auch erledigt. Dafür gibt es das einfachere Attribut pulsesPerKWh

Gruss
   Stefan

EDIT 9.7.19: neue Version ist eingecheckt (Firmware Quellcode unter contrib/arduino, Hex-File für den Arduino Nano unter FHEM/firmware)
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 22 Januar 2019, 21:40:45
kleine Ergänzung falls jemand die Reflexlichtschranke an einem ESP8266 nachbauen möchte:
Ich musste den pull down Widerstand am Phototransistor ganz weglassen und den Vorwiderstand an der IR-LED mit 330 Ohm etwas höher bemessen als beim Arduino.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 23 Januar 2019, 06:27:47
Zitat von: StefanStrobel am 22 Januar 2019, 21:26:02
Hallo Robert,

eine Anpassung an den ESP32 sollte eigentlich nicht so schwer sein. Ich hatte leider noch keine Zeit mich damit zu beschäftigen.

Anbei nun auch eine aktuelle Version, die bei mir auch auf dem ESP8266 läuft, auch mit der Refelxlichtschranke an A0.

Das Thema mit dem Faktor hat sich übrigens auch erledigt. Dafür gibt es das einfachere Attribut pulsesPerKWh

Gruss
   Stefan

Danke Stefan, für deine Arbeit.
Echt spitze das Modul.

Das mit dem ESP32 ist noch nicht fix.
Ich bin mir nicht sicher, wie ich es genau machen will.
Auf der einen Seite ist es recht einfach ESPs mit BAckup Batterie zu versorgen.
Ich hab allerdings auch keine Lust, so viel müll im WLAN zu haben.
Dazu ist der NUC mit Fhem keine 2 m Weg von der Gas und Wasseruhr
Naja wer die Wahl hat, hat die Qual.

Noch eine allgemein Frage, Frägt das Modul zyklisch beim Counter nach den werten oder sendet der Counter im eingestellten Intervall die Daten?
Mir geht es darum ob bei einem Neustart werte verloren gehen können?

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 23 Januar 2019, 18:16:17
Hallo Robert,

das Arduino / ESP-Board sendet seine Zähl-Ergebnisse von sich aus an Fhem.
Entweder seriell oder über eine TCP-Verbindung, die von Fhem aus zum Board aufgebaut wird.
Falls die TCP-Verbindung unterbrochen ist, wenn das Board gerade seine Zählerstände berichten möchte, wird das Berichten nachgeholt, sobald die Verbindung wieder steht.
Wenn das Board neu startet gehen die noch nicht an Fhem weitergeleiteten Pulse zunächst verloren (zumal Impulse während dem Neustart des Boards sowieso nicht gezählt werden können).
Fhem versucht dann aber nach dem ersten Bereicht nach einem Neustart des Boards aus dem Mittelwert der Impulse je Zeit vor dem Neustart und nach dem Neustart zu interpolieren,
wie viele Impulse vermutlich verpasst wurden. Das kommt dann zusätzlich zum normalen Zähler in den Interpolated counter in Fhem.

Deshalb zeigt das Fhem-Modul so viele verschiedene Zähler an:

Beispiel (Readings meines ArduCounters am Ferraris-Zähler):

state opened
seqA7 5
pinA7 2976
rejectA7 0
countDiffA7 2
timeDiffA7 49810
powerA7 1.927
longA7 2976
interpolatedLongA7 2976
calcCounterA7 39.6799999999992
calcCounterA7_i 0


state opened
Das bedeutet dass die serielle Schnittstelle, an der das Board hängt, geöffnet ist.

seqA7 5
Jeder Bericht für einen Pin wird vom Board fortlaufend durchnummeriert. So kann Fhem erkennen, wenn es einen Bericht verpasst hat, weil die Verbindung unterbrochen war.

pinA7 2976
Das ist der interne Zählerstand für Pin A7 im Board. Bei einem Neustart des Boards beginnt dieser Zähler wieder bei 0

rejectA7 0
Das ist der interne Reject-Zählerstand für Pin A7 im Board. Hier werden die Impulse gezählt, die zu kurz waren (evt. Prellen). Bei einem Neustart des Boards beginnt dieser Zähler wieder bei 0

countDiffA7 2
Das ist die Anzahl der Impulse seit dem letzten Bericht des Boards. Aus dieser Zahl und timeDiffA7 wird der aktuelle Verbrauch (z.B. als kW) berechnet.

timeDiffA7 49810
Das ist die Zeit zwischen dem letzten Impuls des vorherigen Berichts und dem letzten Impuls des aktuellen Berichts-Intervalls.

powerA7 1.927
Das ist der aktuelle Verbrauch als Impulse / Zeit unter Berücksichtigung der Impulse je Einheit (Attribut pulsesPerKwh)

longA7 2976
Das ist ein Zähler in Fhem, der die berichteten Impulse vom Board aufaddiert und damit weiterzählt, auch wenn das Board neu gestartet wurde oder wenn Fhem neu gestartet wurde.

interpolatedLongA7 2976
Das ist ein Zähler, der ähnlich wie logA7 weiter zählt, zusätzlich aber noch verlorene Impulse (während Neustarts) interpoliert.

calcCounterA7 39.6799999999992
Dieser Zähler arbeitet ähnlich wie interpolatedLongA7, berücksichtigt aber pulsesPerKwh und zählt damit nicht Impulse sondern Kilowattstunden oder Liter o.ä. Voraussetzung ist dass das Attribut pulsesPerKwh existiert, sonst wird dieses Reading auch nicht erzeugt.

calcCounterA7_i 0
Dieser Zähler ergänzt calcCounterA7 und zählt nur die eventuell interpolierten Einheiten. Damit kann man sehen, was echt ist und was geraten ist.

zusätzliche User-Readings oder Dummies sollte man somit nicht mehr benötigen.

Die Länge des Intervalls, in dem das Board seine Zählerstände an Fhem berichtet, ist dynamisch und wird über das interval-Attribut beeinflusst. Das ist in der Anleitung ausführlich beschrieben. Der entscheidende Punkt dabei ist dass man bei geringem Stromverbrauch und somit wenigen Impulsen länger warten sollte um den Stromverbrauch sinnvoll berechnen zu können.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 24 Januar 2019, 10:26:01
Zitat von: StefanStrobel am 23 Januar 2019, 18:16:17
Hallo Robert,

das Arduino / ESP-Board sendet seine Zähl-Ergebnisse von sich aus an Fhem.
Entweder seriell oder über eine TCP-Verbindung, die von Fhem aus zum Board aufgebaut wird.
Falls die TCP-Verbindung unterbrochen ist, wenn das Board gerade seine Zählerstände berichten möchte, wird das Berichten nachgeholt, sobald die Verbindung wieder steht.
Wenn das Board neu startet gehen die noch nicht an Fhem weitergeleiteten Pulse zunächst verloren (zumal Impulse während dem Neustart des Boards sowieso nicht gezählt werden können).
Fhem versucht dann aber nach dem ersten Bereicht nach einem Neustart des Boards aus dem Mittelwert der Impulse je Zeit vor dem Neustart und nach dem Neustart zu interpolieren,
wie viele Impulse vermutlich verpasst wurden. Das kommt dann zusätzlich zum normalen Zähler in den Interpolated counter in Fhem.

Gruss
   Stefan

Dank dir für die Erklärung.

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 12 Februar 2019, 21:23:45
Hallo,

ich habe die neue Version eingecheckt und hoffe dass sie keine neuen Fehöer / Probleme mit sich bringt.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kornelius777 am 14 Februar 2019, 15:43:19
Hallo zusammen,
hallo Stefan,

heute habe ich mir aus irgend einem Grund meinen ArduCounter "zerschossen", der seit einem guten Jahr vollkommen klaglos seinen Dienst verrichtet hat.
Grund muss (aus meiner Sicht) ein Update sein, das ich gemacht habe. Und davon gab es heute "einige":

Am Raspberry habe ich

apt-get update
apt-get dist-upgrade


durchgeführt. Und anschließend in fhem ein
update

Den Arduino Nano habe ich nschließend neu geflasht.

Mein (physikalischer) Aufbau ist wie folgt:

Gaszähler --> HallSensor --> Arduino1 (eigenes Script) --> Arduino2 (ArduCounter) --> Raspberry USB-Port

Pro 0,01 qm Gasverbrauch (eine Umdrehung der letzten Zählerwalze) legt Arduino1 an Port D7 von Arduino2 das Signal einmal auf 3,3V und anschließend wieder auf 0 zurück.
Leider geht seit dem heutigen Update gar nix mehr.  Ich bekomme einfach keine Daten mehr in Port D7 rein.
Arduino1 läuft allerdings munter weiter (die Signal-LED zeigt mir den jeweiligen Zustand des Ausgangs an).

Wie kann ich das Ganze debuggen? Welche Messreihen kann ich liefern, damit Ihr mir helfen könnt?

Mein Device sieht so aus:
Internals:
   Board      NANO
   BoardDet   
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH06NIQN-if00-port0@38400
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH06NIQN-if00-port0@38400
   FD         4
   FUUID      5c5c4798-f33f-f563-c529-cb1480ffee8a50cb
   Initialized 1
   LASTOPEN   1550153626.47919
   NAME       HAR.ArduCounter
   NOTIFYDEV  global
   NR         24
   NTFY_ORDER 50-HAR.ArduCounter
   PARTIAL   
   STATE      1479.89 qm
   SketchCompile Jan  6 2019 17:11:47
   TYPE       ArduCounter
   VersionFirmware 3.10
   VersionModule 6.07 - 27.1.2019
   allowedPins 3,4,5,6,7,8,9,10,11,13,14,A0,15,A1,16,A2,17,A3,18,A4,19,A5,20,A6,21,A7
   buffer     
   deviceBooted 1550153628.49667
   devioLoglevel 3
   nextOpenDelay 60
   Helper:
     DBLOG:
       GasZaehler:
         DBLogging:
           TIME       1550155304.07053
           VALUE      1479.89
       GasZaehlerArdu:
         DBLogging:
           TIME       1550155304.07053
           VALUE      147989
       GasZaehlerTicks:
         DBLogging:
           TIME       1550155304.07053
           VALUE      0
   READINGS:
     2019-02-14 15:41:44   GasZaehler      1479.89
     2019-02-14 15:41:44   GasZaehlerArdu  147989
     2019-02-14 15:41:44   GasZaehlerTicks 0
     2019-02-14 09:08:17   countDiff7      1
     2019-02-14 15:41:44   countDiffD7     0
     2019-02-14 09:08:17   interpolatedLong7 106610
     2019-02-14 15:41:44   interpolatedLongD7 0
     2019-02-14 09:08:17   pin7            187
     2019-02-14 15:41:44   pinD7           0
     2019-02-14 09:08:17   power7          0.000
     2019-02-14 15:41:44   powerD7         0.000
     2019-02-14 09:08:17   reject7         0
     2019-02-14 15:41:44   rejectD7        0
     2019-02-14 09:08:17   seq7            181
     2019-02-14 15:41:44   seqD7           5
     2018-04-02 12:24:58   statStateDay    opened: 12:25:03 opened_Count: 1
     2018-04-01 23:59:55   statStateDayLast opened: 24:00:00 opened_Count: 1
     2018-04-02 12:24:58   statStateMonth  opened: 1d 12:25:03 opened_Count: 1
     2018-03-31 23:59:55   statStateMonthLast opened: 30d 22:59:59 opened_Count: 1
     2018-04-02 12:24:58   statStateYear   opened: 73d 20:15:57 opened_Count: 1 (since: 2018-01-18_15:09:01)
     2019-02-14 15:13:46   state           opened
     2019-02-14 09:08:17   timeDiff7       92909
     2019-02-14 15:41:44   timeDiffD7      300000
   runningCfg:
     I          30 60 2 2
     T          100 110
Attributes:
   DbLogInclude GasZaehler,GasZaehlerArdu,GasZaehlerTicks
   devVerbose 20
   event-on-update-reading .*
   factor     1
   flashCommand avrdude -b 57600 -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 300
   pinD7      rising 60
   readingNameLongCount7 GasZaehlerArdu
   room       HAR
   stateFormat GasZaehler qm
   userReadings GasZaehler {ReadingsVal("HAR.ArduCounter","GasZaehlerArdu",0)/100}, GasZaehlerTicks difference {ReadingsVal("HAR.ArduCounter","GasZaehlerArdu",0)}
   userattr   pinD7 readingNameLongCount7


Hoffentlich kann mir jemand helfen...

Dankeschön!

Viele Grüße!

Kornelius
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kornelius777 am 14 Februar 2019, 15:51:57
Nach einigem Grübeln mal eine kurze Frage:
Muss ich evtl "readingNameLongCount7" durch "readingNameLongCountD7" ersetzen?
Oder wird diese Änderung durch das Modul abgefedert?

Grüße!

Kornelius
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kornelius777 am 14 Februar 2019, 16:29:43
Yay, Das scheint es gewesen zu sein! Es läuft wieder!

Viele Grüße!

Kornelius
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 14 Februar 2019, 16:57:46
Hallo,

das neue Modul versucht bei der Benennung der Readings und beim verarbeiten der Attribute konsitenter zu sein als früher.
Wenn ein Pin als pinD7 angelegt wird, dann werden auch die Readings mit D7 benannt und die Attribute mit D7 gesucht.
Wenn ein Attribut mit D7 nicht existiert, sollte aber auch eines mit 7 am Ende verwendet werden, damit es weiterhin kompatibel bleibt.
Eigentlich hätte also auch readingNameLongCount7 funktionieren sollen ...
Welches Reading ist denn statt dessen erzeugt worden?

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kornelius777 am 14 Februar 2019, 17:09:46
Erzeugt wurden countDiffD7, interpolatedLongD7, powerD7, rejectD7, seqD7, timeDiffD7, readingNameLongCountD7
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 14 Februar 2019, 17:27:03
Ach Mist. Ich habe den Vorhaben vor einigen Wochen sogar gelesen und auch begrüßt.
Nur habe ich überhaupt nicht wahrgenommen, dass es vor wenigen Tagen committed wurde.

Bei mir stimmt mein Device nun auch nicht mehr und meine Statistiken sind daher nutzlos.

Ist die Abwärtskompatibilität nur dann vorhanden, wenn ich die Firmware neu flashe? Das habe ich gerade erst gemacht und ich muss dann nun warten bis der Gas-Zähler erneut auslöst.

Meine letzten Einträge sind die folgenden:
2019-02-10_14:02:20 ArduCounter power4: 0.043
2019-02-10_14:02:20 ArduCounter timeDiff4: 83299
2019-02-10_14:02:20 ArduCounter pin4: 2
2019-02-10_14:02:20 ArduCounter long4: 150254
2019-02-10_14:02:20 ArduCounter interpolatedLong4: 150791
2019-02-10_14:02:20 ArduCounter seq4: 1


Ich nutze Pin D4.

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 14 Februar 2019, 18:51:44
Hallo FunkOdyssey,

eigentlich sollte es keine Abwärtskompatibilitätsprobleme geben.
Was genau stimmt denn nicht mehr?

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 14 Februar 2019, 19:05:11
Hallo FunkOdyssey,

ich glaube jetzt habe ich Dein Problem doch noch verstanden.
Wenn Du die Readings nicht mit readingNameXY-Attributen umbenannt hast und das Pin als pinD4 definiert ist,
dann lauten die Readings jetzt nicht mehr power4 etc. sondern PowerD4 etc.

Um das wieder so zu haben wir vorher könntest Du die Readings einfach explizit so benennen wie sie vorher waren (readingNamePowerD4 power4)
Bei der Gelegenheit habe ich gerade auch noch einen Tippfehler im Modul gefunden. Update kommt ...

Gruss / Sorry
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 14 Februar 2019, 20:21:10
Hallo Stefan,
das mit den Readings würde ich später schon irgendwie schaffen.
Ich habe glücklicherweise ein Zaehler-userreading für weitere Zwecke angelegt. Da ist mir die Syntax im AC-Modul erst einmal irrelevant.

Mein Problem ist, dass nichts mehr reinkommt.
Alle Readings sind seit dem Update stumm.

Auch bei einer manuellen Auslösung per Magnet passiert nichts.
Ich nutze jetzt die Version aus denn SVN.





Internals:
   Board      NANO
   BoardDet   
   DEF        /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@38400
   DeviceName /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@38400
   FD         231
   FUUID      5c42dca7-f33f-47ae-3843-421b6bc9d292319f
   Initialized 1
   LASTOPEN   1550172491.86915
   NAME       ArduCounter
   NOTIFYDEV  global
   NR         538
   NTFY_ORDER 50-ArduCounter
   PARTIAL   
   STATE      opened
   SketchCompile Jan  6 2019 17:11:47
   TYPE       ArduCounter
   VersionFirmware 3.10
   VersionModule 6.07 - 27.1.2019
   allowedPins 3,4,5,6,7,8,9,10,11,13,14,A0,15,A1,16,A2,17,A3,18,A4,19,A5,20,A6,21,A7
   buffer     
   deviceBooted 1550172493.87813
   devioLoglevel 3
   nextOpenDelay 60
   READINGS:
     2019-02-10 14:02:20   Zaehler         147161
     2019-02-10 14:02:20   countDiff4      1
     2019-02-10 14:02:20   interpolatedLong4 150791
     2018-01-03 15:08:56   lastMsg4        R4 C412 D0 R0 T350061 N60314385 X0
     2019-02-10 14:02:20   long4           150254
     2019-02-10 14:02:20   pin4            2
     2019-02-10 14:02:20   power4          0.043
     2019-02-10 14:02:20   reject4         0
     2019-02-10 14:02:20   seq4            1
     2019-02-14 20:28:11   state           opened
     2019-02-10 14:02:20   timeDiff4       83299
   analogLevels:
   runningCfg:
     I          30 60 2 2
     T          100 110
Attributes:
   event-on-change-reading .*
   factor     1000
   flashCommand avrdude -p atmega328P -b 57600 -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 300 10
   pinD4      falling pullup 60
   readingFactor4 1000
   userReadings Zaehler:long4.* monotonic {ReadingsVal($name,"pin4",0)}
   userattr   pinD4 readingFactor4 readingNameCount4 readingNamePower4 verboseReadings4
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 14 Februar 2019, 22:38:30
Hallo,

Aus irgendeinem Grund ist die Pin-Konfiguration bei Dir nicht korrekt auf das Board übertragen worden. Sonst wäre ein entsprechender Eintrag im Internal runningCfg.
Kannst Du mal verbose für den ArduCounter auf 5 setzen und dann das Board kurz aus und wieder einstecken oder ersetzen? Dann sollte im Log alles nötige drin stehen um den Fehler einzugrenzen.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 14 Februar 2019, 23:53:52
Hier das V5-Log.


2019.02.14 23:51:04.610 3: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 disconnected, waiting to reappear (ArduCounter)
2019.02.14 23:51:08.980 3: Setting ArduCounter serial parameters to 38400,8,N,1
2019.02.14 23:51:08.981 3: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 reappeared (ArduCounter)
2019.02.14 23:51:08.988 5: ArduCounter: ArduCounter_Open succeeded in callback
2019.02.14 23:51:11.009 3: ArduCounter: device: restoring config from EEPROM
2019.02.14 23:51:11.009 3: ArduCounter: device: intervals set to 60 300 10 0
2019.02.14 23:51:11.009 3: ArduCounter: device: analog thresholds set to 100 110
2019.02.14 23:51:11.009 3: ArduCounter: device sent hello: ArduCounter V3.10 on NANO compiled Jan  6 2019 17:11:47 Hello, pins 3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21 available T508,0 B508,0
2019.02.14 23:51:11.011 4: ArduCounter: device sent interval config 60 300 10 0
2019.02.14 23:51:11.011 4: ArduCounter: device sent analog threshold config 100 110
2019.02.14 23:51:12.010 5: ArduCounter: ConfigureDevice: pins in running config:
2019.02.14 23:51:12.010 5: ArduCounter: ConfigureDevice: pins from attrs: pinD4
2019.02.14 23:51:12.010 5: ArduCounter: ConfigureDevice: got running config - comparing
2019.02.14 23:51:12.010 5: ArduCounter: ConfigureDevice: comparing intervals (>60 300 10 0< vs >60 300 10 0< from attr)
2019.02.14 23:51:12.010 3: ArduCounter: ConfigureDevice: no analogThresholds attribute
2019.02.14 23:51:12.010 5: ArduCounter: ConfigureDevice: matches so far - now compare pins
2019.02.14 23:51:12.011 5: ArduCounter: ConfigureDevice: number of defined pins doesn't match ( vs. pinD4)
2019.02.14 23:51:12.011 5: ArduCounter: ConfigureDevice: now check for pins without attr in
2019.02.14 23:51:12.011 3: ArduCounter: ConfigureDevice: no match -> send config
2019.02.14 23:51:12.011 5: ArduCounter: ConfigureDevice calls Attr with interval 60 300 10
2019.02.14 23:51:12.011 5: SW: 60,300,10,0i.
2019.02.14 23:51:12.012 5: ArduCounter: ConfigureDevice can not send pin config for pinD4, internal pin number can not be determined
2019.02.14 23:51:12.013 5: ArduCounter: ConfigureDevice: no pins in running config without attribute in Fhem
2019.02.14 23:51:12.023 3: ArduCounter: device: intervals set to 60 300 10 0
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kornelius777 am 15 Februar 2019, 19:17:21
Hmpf. Seit dem heutigen Update geht hier gar nix mehr.
HILFE!

Edit: Funktioniert das neue Modul evtl erst ab dem 14.03.2019?
Selbst der Report "nix zu berichten" alle 300 Sekunden findet im Moment nicht statt
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: event horizon am 15 Februar 2019, 20:12:04
Hallo zusammen,

ich habe vor zwei Tagen aktualisiert, dann ging auch nichts mehr.
Habe dann die alte Version wieder eingespielt.
Meine Konfiguration:
Arduino Uno an Raspi

Ansonsten vielen Dank für dieses tolle Modul!

Ferdi

Gesendet von meinem SM-G930F mit Tapatalk

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 15 Februar 2019, 20:14:32
Das beruhigt mich sehr. Dann bin ich damit nicht so alleine.
Vielleicht könntet ihr ja auch ein Log zur Verfügung stellen (s.o.), so dass Stefan damit auch etwas anfangen kann. Könnte ja sein, dass mehrere Logs helfen. Kann ich nicht beurteilen.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kornelius777 am 15 Februar 2019, 20:27:05
Tja... Log ist so eine Sache.
Nach der Initialisierung passiert einfach nix mehr:

2019.02.15 20:09:25 3: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH06NIQN-if00-port0 disconnected, waiting to reappear (HAR.ArduCounter)
2019.02.15 20:09:35 3: Setting HAR.ArduCounter serial parameters to 38400,8,N,1
2019.02.15 20:09:35 3: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH06NIQN-if00-port0 reappeared (HAR.ArduCounter)
2019.02.15 20:09:35 5: HAR.ArduCounter: ArduCounter_Open succeeded in callback
2019.02.15 20:09:37 3: HAR.ArduCounter: unparseable message from device:
2019.02.15 20:09:37 3: HAR.ArduCounter: device: no config in EEPROM
2019.02.15 20:09:37 3: HAR.ArduCounter: device sent hello: ArduCounter V3.10 on NANO compiled Jan  6 2019 17:11:47 Hello, pins 3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,
21 available T499,0 B499,0
2019.02.15 20:09:37 4: HAR.ArduCounter: device sent interval config 30 60 2 2
2019.02.15 20:09:37 4: HAR.ArduCounter: device sent analog threshold config 100 110
2019.02.15 20:09:38 5: HAR.ArduCounter: ConfigureDevice: pins in running config:
2019.02.15 20:09:38 5: HAR.ArduCounter: ConfigureDevice: pins from attrs: pinD7
2019.02.15 20:09:38 5: HAR.ArduCounter: ConfigureDevice: got running config - comparing
2019.02.15 20:09:38 5: HAR.ArduCounter: ConfigureDevice: comparing intervals (>30 60 2 2< vs >60 300 0 0< from attr)
2019.02.15 20:09:38 5: HAR.ArduCounter: ConfigureDevice: intervals don't match (>30 60 2 2< vs >60 300 0 0< from attr)
2019.02.15 20:09:38 5: HAR.ArduCounter: ConfigureDevice: now check for pins without attr in
2019.02.15 20:09:38 3: HAR.ArduCounter: ConfigureDevice: no match -> send config
2019.02.15 20:09:38 5: HAR.ArduCounter: ConfigureDevice can not send pin config for pinD7, internal pin number can not be determined
2019.02.15 20:09:38 5: HAR.ArduCounter: ConfigureDevice calls Attr with interval 60 300
2019.02.15 20:09:38 5: SW: 60,300,0,0i.
2019.02.15 20:09:38 5: HAR.ArduCounter: ConfigureDevice: no pins in running config without attribute in Fhem
2019.02.15 20:09:38 3: HAR.ArduCounter: device: intervals set to 60 300 0 0


Danach: Schweigen....

Edit: Woher die "30 60 2 2" kommen - keine Ahnung. Von mir jedenfalls nicht...
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kornelius777 am 15 Februar 2019, 21:41:06
Bin jetzt mal auf v6.06 zuruck gegangen. Die läuft auch.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 15 Februar 2019, 22:18:47
Hallo,

Anbei eine Version mit Bugfix.
Ich hoffe, die löst die Probleme.

Gruß
   Stefan

Edit: Versionsnummer noch erhöht ...
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kornelius777 am 15 Februar 2019, 22:32:48
Ja - läuft.
Danke für den schnellen fix!
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 15 Februar 2019, 22:49:56
Sorry für den Ärger.
Durch den Umbau für analoge Pins ist ein kleiner Fehler reingekommen, den ich beim Testen nicht bemerkt habe, da ich die Konfiguration im Board EEPROM gespeichert habe (set saveConfig).

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 15 Februar 2019, 23:50:01
Danke, Stefan, für den Fix. Läuft scheinbar.
Übrigens bist du mit der Version einen Monat in der Zukunft. 😃
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 16 Februar 2019, 08:20:58
Danke für den Hinweis.
Hab es korrigiert und eingecheckt.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: event horizon am 16 Februar 2019, 18:43:04
Bei mir läuft es auch wieder.

Vielen Dank für das rasche Update!

Ferdi
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 18 Februar 2019, 08:08:43
Bei mir gibt läuft es momentan garnicht.

Die Verbindung zum wemos d1 mini bricht immer wieder ab.
Wifi Verbindung steht aber da ein Ping durch geht.

Dazu werden auch wenn er mal verbunden ist keine Impulse gezählt.
Sketch und Modul sind aktuell.

Kann ich noch etwas zum bug tracking beitragen?

Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: SamNitro am 18 Februar 2019, 09:03:11
Ich stecke selber noch in den Kinderschuhen bei dem Thema, mein wemos d1 Mini hatte auch immer verbindungsabbrüche. Nachdem ich dann ein NodeMCU genommen habe war wenigstens die Verbindung stabil aber mit einer Drahtbrücke zählt er nicht alle impulse.

Hoffe dir hilft das erstmal weiter
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 18 Februar 2019, 09:48:00
Zitat von: SamNitro am 18 Februar 2019, 09:03:11
Ich stecke selber noch in den Kinderschuhen bei dem Thema, mein wemos d1 Mini hatte auch immer verbindungsabbrüche. Nachdem ich dann ein NodeMCU genommen habe war wenigstens die Verbindung stabil aber mit einer Drahtbrücke zählt er nicht alle impulse.

Hoffe dir hilft das erstmal weiter


Danke.
Ich habe mir am Wochenende eine Lolin d32 bestellt.
Wenn das so klappt wie gedacht, setzte ich lieber wieder auf eine Kabelverbindung.

Hat jemand eigentlich eine Lösung für einen arduino mit einer USV?


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 18 Februar 2019, 19:55:34
Sorry, Stefan, doofe Frage:
Aber kann es sein, dass es im Modul noch irgendwo eine Stelle gibt, an der die PIN-Zuordnung noch nicht durchgeführt wurde? Ich habe plötzlich starke Abweichung zwischen Gaszähler und ArduCounter.
Der Gaszähler hat höhere Werte.

Kann es am PIN-Attribut liegen, den ich aber immer so schon hatte:
pinD4: falling pullup 60

List vom Device (hier): https://forum.fhem.de/index.php/topic,19285.msg906300.html#msg906300
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 18 Februar 2019, 21:37:12
Hallo,

das eigentliche Zählen im Sketch hat sich nicht geändert. Wenn ein Pin prinzipiell zählt, sollte er so wie vorher auch zählen.
Falls es Abweichungen gibt, würde ich Verbose im Modul auf 5 setzen und wenn der Strom- oder Gaszähler nicht gerade viele Impulse / Sekunde liefert, auch devVerbose auf 20.
Dann sollte sehr viel Zusatzinformation entstehen. Auf einem ESP könnte man außerdem die Pin-History von 20 Impulsen auf z.B. 100 Impulse setzen.
(Zeile 162 im Sketch: #define MAX_HIST 20) Beim Arduino fehlt der nötige Speicher umd mehr als 20 zu speichern.)

Bei devVerbose 20 meldet der Sketch jeden Pegelwechsel an Fhem und dort landet es im Log:

2019.02.18 20:35:16 3: ACF: device: pin 21 ( internal 21 )  to 1  histIdx 11  count 6985  reject 0
2019.02.18 20:35:39 3: ACF: device: pin 21 ( internal 21 )  to 0  histIdx 12  count 6986  reject 0
2019.02.18 20:35:39 3: ACF: device: pin 21 ( internal 21 )  to 1  histIdx 13  count 6986  reject 0


Wenn Verbindungen abbrechen, liegt es vermutlich an der Qualität der WLAN-Verbindung.
Zwischen ESP und Fhem werden Keepalive-Nachrichten ausgetauscht und wenn mehrere verloren gehen, dann wird die Verbindung getrennt und neu aufgebaut. Im Log sollte bei verbose 5 alles drinstehen.
Zur Fehlersuche ist deshalb ein Log die Basis...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 20 Februar 2019, 21:54:19
Zitat von: StefanStrobel am 18 Februar 2019, 21:37:12
Hallo,

das eigentliche Zählen im Sketch hat sich nicht geändert. Wenn ein Pin prinzipiell zählt, sollte er so wie vorher auch zählen.
Falls es Abweichungen gibt, würde ich Verbose im Modul auf 5 setzen und wenn der Strom- oder Gaszähler nicht gerade viele Impulse / Sekunde liefert, auch devVerbose auf 20.
Dann sollte sehr viel Zusatzinformation entstehen. Auf einem ESP könnte man außerdem die Pin-History von 20 Impulsen auf z.B. 100 Impulse setzen.
(Zeile 162 im Sketch: #define MAX_HIST 20) Beim Arduino fehlt der nötige Speicher umd mehr als 20 zu speichern.)

Bei devVerbose 20 meldet der Sketch jeden Pegelwechsel an Fhem und dort landet es im Log:

2019.02.18 20:35:16 3: ACF: device: pin 21 ( internal 21 )  to 1  histIdx 11  count 6985  reject 0
2019.02.18 20:35:39 3: ACF: device: pin 21 ( internal 21 )  to 0  histIdx 12  count 6986  reject 0
2019.02.18 20:35:39 3: ACF: device: pin 21 ( internal 21 )  to 1  histIdx 13  count 6986  reject 0


Wenn Verbindungen abbrechen, liegt es vermutlich an der Qualität der WLAN-Verbindung.
Zwischen ESP und Fhem werden Keepalive-Nachrichten ausgetauscht und wenn mehrere verloren gehen, dann wird die Verbindung getrennt und neu aufgebaut. Im Log sollte bei verbose 5 alles drinstehen.
Zur Fehlersuche ist deshalb ein Log die Basis...

Gruss
   Stefan

Heute ist der wemos Lolin d32 pro gekommen.
Vll komm ich am we dazu ihn kn Betrieb zu nehmen.

Wenn ich die wlan Daten nicht setzte sollte doch die Kommunikation per seriöser Schnittstelle laufen oder?

Weit weg ist der NUC nicht, dann nehme ich lieber ein Kabel. Kabel geht immer, außer man. Bohrt es an [emoji23]

Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 21 Februar 2019, 12:23:39
Zitat von: StefanStrobel am 18 Februar 2019, 21:37:12
Hallo,

das eigentliche Zählen im Sketch hat sich nicht geändert. Wenn ein Pin prinzipiell zählt, sollte er so wie vorher auch zählen.
Falls es Abweichungen gibt, würde ich Verbose im Modul auf 5 setzen und wenn der Strom- oder Gaszähler nicht gerade viele Impulse / Sekunde liefert, auch devVerbose auf 20.
Dann sollte sehr viel Zusatzinformation entstehen. Auf einem ESP könnte man außerdem die Pin-History von 20 Impulsen auf z.B. 100 Impulse setzen.
(Zeile 162 im Sketch: #define MAX_HIST 20) Beim Arduino fehlt der nötige Speicher umd mehr als 20 zu speichern.)

Bei devVerbose 20 meldet der Sketch jeden Pegelwechsel an Fhem und dort landet es im Log:

2019.02.18 20:35:16 3: ACF: device: pin 21 ( internal 21 )  to 1  histIdx 11  count 6985  reject 0
2019.02.18 20:35:39 3: ACF: device: pin 21 ( internal 21 )  to 0  histIdx 12  count 6986  reject 0
2019.02.18 20:35:39 3: ACF: device: pin 21 ( internal 21 )  to 1  histIdx 13  count 6986  reject 0


Wenn Verbindungen abbrechen, liegt es vermutlich an der Qualität der WLAN-Verbindung.
Zwischen ESP und Fhem werden Keepalive-Nachrichten ausgetauscht und wenn mehrere verloren gehen, dann wird die Verbindung getrennt und neu aufgebaut. Im Log sollte bei verbose 5 alles drinstehen.
Zur Fehlersuche ist deshalb ein Log die Basis...

Danke dir. Ich hatte alles so schön vorbereitet für ein aussagekräftiges Log und sogar Fotos der Zähler gemacht.
Helft mir bitte mal auf die Sprünge: Ich sehe wie die Gas-Therme definitiv um 06:00 Uhr ne Menge Gas verbraucht hat, aber der ArduCounter fing erst um 09:00 Uhr an, Zählerbewegungen festzustellen. Und im Log sehe ich dazu natürlich auch erst etwas um 08:30 Uhr.

Habt ihr einen Tipp wonach ich suchen muss? 10uf-Kondensator ist vorhanden. Widerstand habe ich seit Monaten nicht mehr im Einsatz.

Bis gestern hatte ich noch "falling pullup 60" im Einsatz. Aber ich hatte ja auch gestern schon Probleme mit dem Abdriften der Werte. Gas-Zähler ist weiter als FHEM-Zähler.

List
Internals:
   Board      NANO
   BoardDet   
   DEF        /dev/serial/by-id/usb-xx86_USB2.0-Serial-if00-port0@38400
   DeviceName /dev/serial/by-id/usb-xx86_USB2.0-Serial-if00-port0@38400
   FD         4
   Initialized 1
   LASTOPEN   1550736031.10957
   NAME       ArduCounter
   NOTIFYDEV  global
   NR         538
   NTFY_ORDER 50-ArduCounter
   PARTIAL   
   STATE      opened
   SketchCompile Jan  6 2019 17:11:47
   TYPE       ArduCounter
   VersionFirmware 3.10
   VersionModule 6.10 - 16.2.2019
   allowedPins 3,4,5,6,7,8,9,10,11,13,14,A0,15,A1,16,A2,17,A3,18,A4,19,A5,20,A6,21,A7
   buffer     
   deviceBooted 1550736043.0207
   devioLoglevel 3
   nextOpenDelay 60
   OLDREADINGS:
   READINGS:
     2019-02-21 12:20:59   Zaehler         8502026
     2019-02-21 12:20:59   calcCounterD4   1.75299999999992
     2019-02-21 12:20:59   calcCounterD4_i 0.001
     2019-02-21 12:20:59   countDiffD4     1
     2019-02-21 12:20:59   interpolatedLongD4 1766
     2019-02-21 12:20:59   lastMsgD4       R4 C140 D1/1 T88433 N12030499,0 X0 S139 A11085
     2019-02-21 12:20:59   longD4          1763
     2019-02-21 12:20:59   pinD4           140
     2019-02-21 12:20:59   powerD4         0.041
     2019-02-21 12:20:59   rejectD4        0
     2019-02-21 12:20:59   seqD4           139
     2019-02-21 09:00:31   state           opened
     2019-02-21 12:20:59   timeDiffD4      88433
   runningCfg:
     I          60 300 10 0
     T          100 110
Attributes:
   devVerbose 20
   disable    0
   event-on-change-reading .*
   flashCommand avrdude -p atmega328P -b 57600 -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 300 10
   pinD4      falling pullup 30
   pulsesPerKWh 1000
   userReadings Zaehler:longD4.* monotonic {ReadingsVal($name,"pinD4",0)}
   userattr   pinD4 readingFactorD4 readingNameCountD4 readingNamePowerD4 verboseReadingsD4
   verbose    5
   verboseReadingsD4 1



Log
2019.02.21 09:00:31.109 3: ArduCounter: Notify called with events: INITIALIZED, open device and set timer to send hello to device
2019.02.21 09:00:31.109 4: ArduCounter: trying to open connection to /dev/serial/by-id/usb-xxxx_USB2.0-Serial-if00-port0@38400
2019.02.21 09:00:31.109 3: Opening ArduCounter device /dev/serial/by-id/usb-xxxx_USB2.0-Serial-if00-port0
2019.02.21 09:00:31.110 3: Setting ArduCounter serial parameters to 38400,8,N,1
2019.02.21 09:00:31.111 3: ArduCounter device opened
2019.02.21 09:00:31.111 5: ArduCounter: ArduCounter_Open succeeded in callback
2019.02.21 09:00:31.111 5: ArduCounter: ArduCounter_Open succeeded immediately

2019.02.21 09:00:43.020 3: ArduCounter: device: restoring config from EEPROM
2019.02.21 09:00:43.020 3: ArduCounter: device: intervals set to 60 300 10 0
2019.02.21 09:00:43.020 3: ArduCounter: device: analog thresholds set to 100 110
2019.02.21 09:00:43.020 3: ArduCounter: device sent hello: ArduCounter V3.10 on NANO compiled Jan  6 2019 17:11:47 Hello, pins 3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21 available T508,0 B508,0
2019.02.21 09:00:43.021 4: ArduCounter: device sent interval config 60 300 10 0
2019.02.21 09:00:43.021 4: ArduCounter: device sent analog threshold config 100 110

2019.02.21 09:00:44.284 5: ArduCounter: ConfigureDevice: pins in running config:
2019.02.21 09:00:44.284 5: ArduCounter: ConfigureDevice: pins from attrs: pinD4
2019.02.21 09:00:44.284 5: ArduCounter: ConfigureDevice: got running config - comparing
2019.02.21 09:00:44.284 5: ArduCounter: ConfigureDevice: comparing intervals (>60 300 10 0< vs >60 300 10 0< from attr)
2019.02.21 09:00:44.284 3: ArduCounter: ConfigureDevice: no analogThresholds attribute
2019.02.21 09:00:44.284 5: ArduCounter: ConfigureDevice: matches so far - now compare pins
2019.02.21 09:00:44.284 5: ArduCounter: ConfigureDevice: number of defined pins doesn't match ( vs. pinD4)
2019.02.21 09:00:44.284 5: ArduCounter: ConfigureDevice: now check for pins without attr in
2019.02.21 09:00:44.284 3: ArduCounter: ConfigureDevice: no match -> send config
2019.02.21 09:00:44.284 5: ArduCounter: ConfigureDevice calls Attr with pinD4 falling pullup 30
2019.02.21 09:00:44.284 5: SW: 4,2,1,30a.
2019.02.21 09:00:44.286 5: ArduCounter: ConfigureDevice calls Attr with interval 60 300 10
2019.02.21 09:00:44.286 5: SW: 60,300,10,0i.
2019.02.21 09:00:44.287 5: ArduCounter: ConfigureDevice: no pins in running config without attribute in Fhem
2019.02.21 09:00:44.326 3: ArduCounter: device: defined P4 falling pullup min 30
2019.02.21 09:00:44.326 3: ArduCounter: device: intervals set to 60 300 10 0


2019.02.21 09:03:03.034 5: ArduCounter: Device Time 150.499
2019.02.21 09:03:03.034 5: ArduCounter: Initialize device clock offset to 1550736032.53496
2019.02.21 09:03:03.034 4: ArduCounter: pin D4 (pin4) Cnt 2 (diff 1/2) in 71.008s from 09:01:52 until 09:03:03, seq 1, Rej 0, Avg 16217ms, result 0.051
2019.02.21 09:03:03.035 5: ArduCounter: pin D4 (pin4) device restarted at 09:00:43, last reported at 20:41:08, count changed from 69 to 2, sequence from 102 to 1
2019.02.21 09:03:03.035 4: ArduCounter: pin D4 (pin4) interpolation of missed pulses for pin D4 (pin4) not possible - no valid historic data.
2019.02.21 09:03:03.035 5: ArduCounter: pin D4 (pin4) adding rDiff 2 to long count 1623 and interpolated count 1626
2019.02.21 09:04:03.015 5: ArduCounter: Device Time 210.499
2019.02.21 09:04:03.016 4: ArduCounter: pin D4 (pin4) Cnt 3 (diff 1/1) in 74.761s from 09:02:48 until 09:04:03, seq 2, Rej 0, Avg 8844ms, result 0.048
2019.02.21 09:04:03.016 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1625 and interpolated count 1628


2019.02.21 09:06:02.978 5: ArduCounter: Device Time 330.499
2019.02.21 09:06:02.978 4: ArduCounter: pin D4 (pin4) Cnt 4 (diff 1/1) in 76.969s from 09:04:46 until 09:06:02, seq 3, Rej 0, Avg 9195ms, result 0.047
2019.02.21 09:06:02.979 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1626 and interpolated count 1629
2019.02.21 09:07:02.960 5: ArduCounter: Device Time 390.499
2019.02.21 09:07:02.960 4: ArduCounter: pin D4 (pin4) Cnt 5 (diff 1/1) in 76.198s from 09:05:46 until 09:07:02, seq 4, Rej 0, Avg 9272ms, result 0.047
2019.02.21 09:07:02.961 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1627 and interpolated count 1630
2019.02.21 09:08:02.942 5: ArduCounter: Device Time 450.499
2019.02.21 09:08:02.942 4: ArduCounter: pin D4 (pin4) Cnt 6 (diff 1/1) in 76.330s from 09:06:46 until 09:08:02, seq 5, Rej 0, Avg 9212ms, result 0.047
2019.02.21 09:08:02.943 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1628 and interpolated count 1631
2019.02.21 09:09:02.924 5: ArduCounter: Device Time 510.499
2019.02.21 09:09:02.925 4: ArduCounter: pin D4 (pin4) Cnt 7 (diff 1/1) in 76.513s from 09:07:46 until 09:09:02, seq 6, Rej 0, Avg 9236ms, result 0.047
2019.02.21 09:09:02.925 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1629 and interpolated count 1632
2019.02.21 09:11:02.886 5: ArduCounter: Device Time 630.499
2019.02.21 09:11:02.887 4: ArduCounter: pin D4 (pin4) Cnt 8 (diff 1/1) in 77.407s from 09:09:45 until 09:11:02, seq 7, Rej 0, Avg 9487ms, result 0.047
2019.02.21 09:11:02.887 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1630 and interpolated count 1633
2019.02.21 09:12:02.868 5: ArduCounter: Device Time 690.499
2019.02.21 09:12:02.869 4: ArduCounter: pin D4 (pin4) Cnt 9 (diff 1/1) in 76.950s from 09:10:45 until 09:12:02, seq 8, Rej 0, Avg 9113ms, result 0.047
2019.02.21 09:12:02.869 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1631 and interpolated count 1634


2019.02.21 09:13:02.850 5: ArduCounter: Device Time 750.499
2019.02.21 09:13:02.850 4: ArduCounter: pin D4 (pin4) Cnt 10 (diff 1/1) in 76.273s from 09:11:46 until 09:13:02, seq 9, Rej 0, Avg 9103ms, result 0.047
2019.02.21 09:13:02.850 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1632 and interpolated count 1635
2019.02.21 09:15:02.813 5: ArduCounter: Device Time 870.499
2019.02.21 09:15:02.813 4: ArduCounter: pin D4 (pin4) Cnt 11 (diff 1/1) in 75.508s from 09:13:47 until 09:15:02, seq 10, Rej 0, Avg 9134ms, result 0.048
2019.02.21 09:15:02.814 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1633 and interpolated count 1636
2019.02.21 09:16:02.795 5: ArduCounter: Device Time 930.499
2019.02.21 09:16:02.796 4: ArduCounter: pin D4 (pin4) Cnt 12 (diff 1/1) in 74.512s from 09:14:48 until 09:16:02, seq 11, Rej 0, Avg 9198ms, result 0.048
2019.02.21 09:16:02.796 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1634 and interpolated count 1637
2019.02.21 09:17:02.777 5: ArduCounter: Device Time 990.499
2019.02.21 09:17:02.778 4: ArduCounter: pin D4 (pin4) Cnt 13 (diff 1/1) in 74.971s from 09:15:47 until 09:17:02, seq 12, Rej 0, Avg 9447ms, result 0.048
2019.02.21 09:17:02.778 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1635 and interpolated count 1638
2019.02.21 09:18:02.759 5: ArduCounter: Device Time 1050.499
2019.02.21 09:18:02.759 4: ArduCounter: pin D4 (pin4) Cnt 14 (diff 1/1) in 76.436s from 09:16:46 until 09:18:02, seq 13, Rej 0, Avg 10118ms, result 0.047
2019.02.21 09:18:02.759 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1636 and interpolated count 1639
2019.02.21 09:20:02.723 5: ArduCounter: Device Time 1170.499
2019.02.21 09:20:02.723 4: ArduCounter: pin D4 (pin4) Cnt 15 (diff 1/1) in 79.163s from 09:18:43 until 09:20:02, seq 14, Rej 0, Avg 10674ms, result 0.045
2019.02.21 09:20:02.724 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1637 and interpolated count 1640
2019.02.21 09:21:02.705 5: ArduCounter: Device Time 1230.499
2019.02.21 09:21:02.705 4: ArduCounter: pin D4 (pin4) Cnt 16 (diff 1/1) in 79.718s from 09:19:42 until 09:21:02, seq 15, Rej 0, Avg 10701ms, result 0.045
2019.02.21 09:21:02.706 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1638 and interpolated count 1641
2019.02.21 09:22:02.685 5: ArduCounter: Device Time 1290.499
2019.02.21 09:22:02.686 4: ArduCounter: pin D4 (pin4) Cnt 17 (diff 1/1) in 80.482s from 09:20:42 until 09:22:02, seq 16, Rej 0, Avg 10734ms, result 0.045
2019.02.21 09:22:02.686 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1639 and interpolated count 1642
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 21 Februar 2019, 14:40:47
So, jetzt habe ich ein Log über einen kurzen Zeitraum, wo der Gaszähler den ArduCounter wieder überholt hat.

13:52 Uhr      8504.889 (Gaszähler)       8504.889 (FHEM)           START
14:29 Uhr      8505.025 (Gaszähler)       8504.903 (FHEM)           DIFFERENZ


Ergibt ein Delta von 0.122 in 37 Minuten.


FHEM-Log:

2019.02.21 13:49:57.760 5: ArduCounter: Device Time 17370.499
2019.02.21 13:49:57.760 4: ArduCounter: pin D4 (pin4) Cnt 191 (diff 0/0) in 300.000s from 13:44:57 until 13:49:57, seq 193, Rej 0, Avg ms, result 0.000
2019.02.21 13:49:57.761 5: ArduCounter: pin D4 (pin4) adding rDiff 0 to long count 1814 and interpolated count 1817
2019.02.21 13:54:57.668 5: ArduCounter: Device Time 17670.499
2019.02.21 13:54:57.668 4: ArduCounter: pin D4 (pin4) Cnt 191 (diff 0/0) in 300.000s from 13:49:57 until 13:54:57, seq 194, Rej 0, Avg ms, result 0.000
2019.02.21 13:54:57.669 5: ArduCounter: pin D4 (pin4) adding rDiff 0 to long count 1814 and interpolated count 1817
2019.02.21 13:59:57.576 5: ArduCounter: Device Time 17970.499
2019.02.21 13:59:57.576 4: ArduCounter: pin D4 (pin4) Cnt 191 (diff 0/0) in 300.000s from 13:54:57 until 13:59:57, seq 195, Rej 0, Avg ms, result 0.000
2019.02.21 13:59:57.577 5: ArduCounter: pin D4 (pin4) adding rDiff 0 to long count 1814 and interpolated count 1817
2019.02.21 14:04:57.484 5: ArduCounter: Device Time 18270.499
2019.02.21 14:04:57.484 4: ArduCounter: pin D4 (pin4) Cnt 191 (diff 0/0) in 300.000s from 13:59:57 until 14:04:57, seq 196, Rej 0, Avg ms, result 0.000
2019.02.21 14:04:57.485 5: ArduCounter: pin D4 (pin4) adding rDiff 0 to long count 1814 and interpolated count 1817
2019.02.21 14:09:57.391 5: ArduCounter: Device Time 18570.499
2019.02.21 14:09:57.392 4: ArduCounter: pin D4 (pin4) Cnt 191 (diff 0/0) in 300.000s from 14:04:57 until 14:09:57, seq 197, Rej 0, Avg ms, result 0.000
2019.02.21 14:09:57.392 5: ArduCounter: pin D4 (pin4) adding rDiff 0 to long count 1814 and interpolated count 1817
2019.02.21 14:14:57.300 5: ArduCounter: Device Time 18870.499
2019.02.21 14:14:57.300 4: ArduCounter: pin D4 (pin4) Cnt 191 (diff 0/0) in 300.000s from 14:09:57 until 14:14:57, seq 198, Rej 0, Avg ms, result 0.000
2019.02.21 14:14:57.301 5: ArduCounter: pin D4 (pin4) adding rDiff 0 to long count 1814 and interpolated count 1817
2019.02.21 14:17:57.246 5: ArduCounter: Device Time 19050.499
2019.02.21 14:17:57.246 4: ArduCounter: pin D4 (pin4) Cnt 192 (diff 1/1) in 157.845s from 14:15:19 until 14:17:57, seq 199, Rej 0, Avg 4132ms, result 0.023
2019.02.21 14:17:57.247 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1814 and interpolated count 1817
2019.02.21 14:18:57.228 5: ArduCounter: Device Time 19110.499
2019.02.21 14:18:57.228 4: ArduCounter: pin D4 (pin4) Cnt 195 (diff 3/3) in 62.751s from 14:17:54 until 14:18:57, seq 200, Rej 0, Avg 2774ms, result 0.172
2019.02.21 14:18:57.229 5: ArduCounter: pin D4 (pin4) adding rDiff 3 to long count 1815 and interpolated count 1818
2019.02.21 14:19:57.210 5: ArduCounter: Device Time 19170.499
2019.02.21 14:19:57.210 4: ArduCounter: pin D4 (pin4) Cnt 198 (diff 3/3) in 68.392s from 14:18:48 until 14:19:57, seq 201, Rej 0, Avg 3524ms, result 0.158
2019.02.21 14:19:57.211 5: ArduCounter: pin D4 (pin4) adding rDiff 3 to long count 1818 and interpolated count 1821
2019.02.21 14:20:57.191 5: ArduCounter: Device Time 19230.499
2019.02.21 14:20:57.192 4: ArduCounter: pin D4 (pin4) Cnt 200 (diff 2/2) in 65.801s from 14:19:51 until 14:20:57, seq 202, Rej 0, Avg 5234ms, result 0.109
2019.02.21 14:20:57.193 5: ArduCounter: pin D4 (pin4) adding rDiff 2 to long count 1821 and interpolated count 1824
2019.02.21 14:21:57.172 5: ArduCounter: Device Time 19290.499
2019.02.21 14:21:57.173 4: ArduCounter: pin D4 (pin4) Cnt 201 (diff 1/1) in 40.568s from 14:21:16 until 14:21:57, seq 203, Rej 0, Avg 6194ms, result 0.089
2019.02.21 14:21:57.173 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1823 and interpolated count 1826
2019.02.21 14:22:57.154 5: ArduCounter: Device Time 19350.499
2019.02.21 14:22:57.154 4: ArduCounter: pin D4 (pin4) Cnt 202 (diff 1/1) in 45.762s from 14:22:11 until 14:22:57, seq 204, Rej 0, Avg 6967ms, result 0.079
2019.02.21 14:22:57.155 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1824 and interpolated count 1827
2019.02.21 14:23:57.137 5: ArduCounter: Device Time 19410.499
2019.02.21 14:23:57.137 4: ArduCounter: pin D4 (pin4) Cnt 203 (diff 1/1) in 51.460s from 14:23:05 until 14:23:57, seq 205, Rej 0, Avg 7641ms, result 0.070
2019.02.21 14:23:57.138 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1825 and interpolated count 1828
2019.02.21 14:24:57.118 5: ArduCounter: Device Time 19470.499
2019.02.21 14:24:57.118 4: ArduCounter: pin D4 (pin4) Cnt 204 (diff 1/1) in 56.654s from 14:24:00 until 14:24:57, seq 206, Rej 0, Avg 8406ms, result 0.064
2019.02.21 14:24:57.119 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1826 and interpolated count 1829
2019.02.21 14:25:57.099 5: ArduCounter: Device Time 19530.499
2019.02.21 14:25:57.099 4: ArduCounter: pin D4 (pin4) Cnt 205 (diff 1/1) in 60.193s from 14:24:56 until 14:25:57, seq 207, Rej 0, Avg 8858ms, result 0.060
2019.02.21 14:25:57.100 5: ArduCounter: pin D4 (pin4) adding rDiff 1 to long count 1827 and interpolated count 1830
2019.02.21 14:30:57.006 5: ArduCounter: Device Time 19830.499
2019.02.21 14:30:57.007 4: ArduCounter: pin D4 (pin4) Cnt 205 (diff 0/0) in 350.574s from 14:25:06 until 14:30:57, seq 208, Rej 0, Avg ms, result 0.000
2019.02.21 14:30:57.008 5: ArduCounter: pin D4 (pin4) adding rDiff 0 to long count 1828 and interpolated count 1831


ArduCounter-Log

2019-02-21_13:49:57 ArduCounter lastMsgD4: R4 C191 D0/0 T300000 N17370499,0 X0 S193
2019-02-21_13:49:57 ArduCounter seqD4: 193
2019-02-21_13:52:55 ArduCounter Zaehler: 8504889
2019-02-21_13:54:57 ArduCounter lastMsgD4: R4 C191 D0/0 T300000 N17670499,0 X0 S194
2019-02-21_13:54:57 ArduCounter seqD4: 194
2019-02-21_13:59:57 ArduCounter lastMsgD4: R4 C191 D0/0 T300000 N17970499,0 X0 S195
2019-02-21_13:59:57 ArduCounter seqD4: 195
2019-02-21_14:04:57 ArduCounter lastMsgD4: R4 C191 D0/0 T300000 N18270499,0 X0 S196
2019-02-21_14:04:57 ArduCounter seqD4: 196
2019-02-21_14:09:57 ArduCounter lastMsgD4: R4 C191 D0/0 T300000 N18570499,0 X0 S197
2019-02-21_14:09:57 ArduCounter seqD4: 197
2019-02-21_14:14:57 ArduCounter lastMsgD4: R4 C191 D0/0 T300000 N18870499,0 X0 S198
2019-02-21_14:14:57 ArduCounter seqD4: 198
2019-02-21_14:17:57 ArduCounter powerD4: 0.023
2019-02-21_14:17:57 ArduCounter timeDiffD4: 157845
2019-02-21_14:17:57 ArduCounter countDiffD4: 1
2019-02-21_14:17:57 ArduCounter lastMsgD4: R4 C192 D1/1 T157845 N19050499,0 X0 S199 A4132
2019-02-21_14:17:57 ArduCounter pinD4: 192
2019-02-21_14:17:57 ArduCounter longD4: 1815
2019-02-21_14:17:57 ArduCounter interpolatedLongD4: 1818
2019-02-21_14:17:57 ArduCounter calcCounterD4: 1.80499999999992
2019-02-21_14:17:57 ArduCounter seqD4: 199
2019-02-21_14:17:57 ArduCounter Zaehler: 8504890
2019-02-21_14:18:57 ArduCounter powerD4: 0.172
2019-02-21_14:18:57 ArduCounter timeDiffD4: 62751
2019-02-21_14:18:57 ArduCounter countDiffD4: 3
2019-02-21_14:18:57 ArduCounter lastMsgD4: R4 C195 D3/3 T62751 N19110499,0 X0 S200 A2774
2019-02-21_14:18:57 ArduCounter pinD4: 195
2019-02-21_14:18:57 ArduCounter longD4: 1818
2019-02-21_14:18:57 ArduCounter interpolatedLongD4: 1821
2019-02-21_14:18:57 ArduCounter calcCounterD4: 1.80799999999992
2019-02-21_14:18:57 ArduCounter seqD4: 200
2019-02-21_14:18:57 ArduCounter Zaehler: 8504893
2019-02-21_14:19:57 ArduCounter powerD4: 0.158
2019-02-21_14:19:57 ArduCounter timeDiffD4: 68392
2019-02-21_14:19:57 ArduCounter lastMsgD4: R4 C198 D3/3 T68392 N19170499,0 X0 S201 A3524
2019-02-21_14:19:57 ArduCounter pinD4: 198
2019-02-21_14:19:57 ArduCounter longD4: 1821
2019-02-21_14:19:57 ArduCounter interpolatedLongD4: 1824
2019-02-21_14:19:57 ArduCounter calcCounterD4: 1.81099999999992
2019-02-21_14:19:57 ArduCounter seqD4: 201
2019-02-21_14:19:57 ArduCounter Zaehler: 8504896
2019-02-21_14:20:57 ArduCounter powerD4: 0.109
2019-02-21_14:20:57 ArduCounter timeDiffD4: 65801
2019-02-21_14:20:57 ArduCounter countDiffD4: 2
2019-02-21_14:20:57 ArduCounter lastMsgD4: R4 C200 D2/2 T65801 N19230499,0 X0 S202 A5234
2019-02-21_14:20:57 ArduCounter pinD4: 200
2019-02-21_14:20:57 ArduCounter longD4: 1823
2019-02-21_14:20:57 ArduCounter interpolatedLongD4: 1826
2019-02-21_14:20:57 ArduCounter calcCounterD4: 1.81299999999992
2019-02-21_14:20:57 ArduCounter seqD4: 202
2019-02-21_14:20:57 ArduCounter Zaehler: 8504898
2019-02-21_14:21:57 ArduCounter powerD4: 0.089
2019-02-21_14:21:57 ArduCounter timeDiffD4: 40568
2019-02-21_14:21:57 ArduCounter countDiffD4: 1
2019-02-21_14:21:57 ArduCounter lastMsgD4: R4 C201 D1/1 T40568 N19290499,0 X0 S203 A6194
2019-02-21_14:21:57 ArduCounter pinD4: 201
2019-02-21_14:21:57 ArduCounter longD4: 1824
2019-02-21_14:21:57 ArduCounter interpolatedLongD4: 1827
2019-02-21_14:21:57 ArduCounter calcCounterD4: 1.81399999999992
2019-02-21_14:21:57 ArduCounter seqD4: 203
2019-02-21_14:21:57 ArduCounter Zaehler: 8504899
2019-02-21_14:22:57 ArduCounter powerD4: 0.079
2019-02-21_14:22:57 ArduCounter timeDiffD4: 45762
2019-02-21_14:22:57 ArduCounter lastMsgD4: R4 C202 D1/1 T45762 N19350499,0 X0 S204 A6967
2019-02-21_14:22:57 ArduCounter pinD4: 202
2019-02-21_14:22:57 ArduCounter longD4: 1825
2019-02-21_14:22:57 ArduCounter interpolatedLongD4: 1828
2019-02-21_14:22:57 ArduCounter calcCounterD4: 1.81499999999992
2019-02-21_14:22:57 ArduCounter seqD4: 204
2019-02-21_14:22:57 ArduCounter Zaehler: 8504900
2019-02-21_14:23:57 ArduCounter powerD4: 0.070
2019-02-21_14:23:57 ArduCounter timeDiffD4: 51460
2019-02-21_14:23:57 ArduCounter lastMsgD4: R4 C203 D1/1 T51460 N19410499,0 X0 S205 A7641
2019-02-21_14:23:57 ArduCounter pinD4: 203
2019-02-21_14:23:57 ArduCounter longD4: 1826
2019-02-21_14:23:57 ArduCounter interpolatedLongD4: 1829
2019-02-21_14:23:57 ArduCounter calcCounterD4: 1.81599999999992
2019-02-21_14:23:57 ArduCounter seqD4: 205
2019-02-21_14:23:57 ArduCounter Zaehler: 8504901
2019-02-21_14:24:57 ArduCounter powerD4: 0.064
2019-02-21_14:24:57 ArduCounter timeDiffD4: 56654
2019-02-21_14:24:57 ArduCounter lastMsgD4: R4 C204 D1/1 T56654 N19470499,0 X0 S206 A8406
2019-02-21_14:24:57 ArduCounter pinD4: 204
2019-02-21_14:24:57 ArduCounter longD4: 1827
2019-02-21_14:24:57 ArduCounter interpolatedLongD4: 1830
2019-02-21_14:24:57 ArduCounter calcCounterD4: 1.81699999999992
2019-02-21_14:24:57 ArduCounter seqD4: 206
2019-02-21_14:24:57 ArduCounter Zaehler: 8504902
2019-02-21_14:25:57 ArduCounter powerD4: 0.060
2019-02-21_14:25:57 ArduCounter timeDiffD4: 60193
2019-02-21_14:25:57 ArduCounter lastMsgD4: R4 C205 D1/1 T60193 N19530499,0 X0 S207 A8858
2019-02-21_14:25:57 ArduCounter pinD4: 205
2019-02-21_14:25:57 ArduCounter longD4: 1828
2019-02-21_14:25:57 ArduCounter interpolatedLongD4: 1831
2019-02-21_14:25:57 ArduCounter calcCounterD4: 1.81799999999992
2019-02-21_14:25:57 ArduCounter seqD4: 207
2019-02-21_14:25:57 ArduCounter Zaehler: 8504903
2019-02-21_14:30:57 ArduCounter powerD4: 0.000
2019-02-21_14:30:57 ArduCounter timeDiffD4: 350574
2019-02-21_14:30:57 ArduCounter countDiffD4: 0
2019-02-21_14:30:57 ArduCounter lastMsgD4: R4 C205 D0/0 T350574 N19830499,0 X0 S208
2019-02-21_14:30:57 ArduCounter seqD4: 208
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 21 Februar 2019, 19:22:28
Hallo FunkOdyssey,

sieht so aus, als ob Dein Arduino in dem besagten Zeitraum gar keine Pegeländerungen am Eingang bekommt.

Kann es sein, dass am Kabel ein Wackelkontakt ist?

Wie ist der Zähler denn am Arduino angeschlossen und wie ist der Pin jetzt definiert? Mit Pullup oder ohne?

Mit minimaler Pulslänge etc. scheint es nichts zu tun zu haben. Soweit ich das Protokoll lese kommen bei Dir ja eher nur 3 Impulse je Minute und die dauern dann auch mehrere Sekunden.

setzte doch mal verbose auf 5 und devVerbose auf 20, damit Du jede Pegeländerung im Protokoll sehen kannst.

Gruss
   Stefan

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 21 Februar 2019, 20:19:17
Zitat von: StefanStrobel am 21 Februar 2019, 19:22:28
sieht so aus, als ob Dein Arduino in dem besagten Zeitraum gar keine Pegeländerungen am Eingang bekommt.

Sieht danach aus. Und das kann nicht damit zu haben, dass der Arduino die Pegeländerungen einfach nur nicht erkennt?

Zitat von: StefanStrobel am 21 Februar 2019, 19:22:28
Kann es sein, dass am Kabel ein Wackelkontakt ist?

Wäre logisch, aber ich habe es doppelt geprüft. Es läuft ja auch relativ lange und das ohne irgendeine Berührung danach.

Zitat von: StefanStrobel am 21 Februar 2019, 19:22:28
Wie ist der Zähler denn am Arduino angeschlossen und wie ist der Pin jetzt definiert? Mit Pullup oder ohne?

Ich haben einen Elster IN-Z65, den ich heute sogar richtig festgeschraubt habe. Vorsichtshalber. :-)
Dann geht es auf den Arduino Nano, Pin D4. Und einen 10uf Kondensator, um das Prellen zu vermeiden. Einen Hardware-Pullup-Widerstand habe ich nicht angeschlossen. Nur die Konfiguration in FHEM.
Aktuell: pind4 = falling pullup 5
Aber auch bereits mit 60 und 30 getestet.

Zitat von: StefanStrobel am 21 Februar 2019, 19:22:28
Mit minimaler Pulslänge etc. scheint es nichts zu tun zu haben. Soweit ich das Protokoll lese kommen bei Dir ja eher nur 3 Impulse je Minute und die dauern dann auch mehrere Sekunden.

Je nachdem ob ich Heißwasser öffne oder die Fußbodenheizung nachlegt. Dann könnte auch mehr passieren. Aber du hast Recht. Aktuell dürfte der sich nur recht langsam drehen. Ich sehe das nur leider sehr selten.

Zitat von: StefanStrobel am 21 Februar 2019, 19:22:28
setzte doch mal verbose auf 5 und devVerbose auf 20, damit Du jede Pegeländerung im Protokoll sehen kannst.

Das habe ich ja bereits gemacht und mich gewundert, dass ich nicht die Ausgabe erhalten wie du gezeigt hattest.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 23 Februar 2019, 12:57:22
Hallo FunkOdyssey,

Es kann sein, dass devVerbose verloren gegangen ist, wenn Dein Board neu gestartet hat.
Ich habe nochmal eine neue Version angehängt, in der die Debug-Ausgaben erweitert sind.
devVerbose wird jetzt auch nach einem Neustart des Boards neu gesetzt und es gibt ein neues "get History", das (sofern devVerbose >5 ist) die detaillierte pin History nach einer Meldung des Boards lesbarer aufbereitet.

Zitat von: FunkOdyssey am 21 Februar 2019, 20:19:17
Sieht danach aus. Und das kann nicht damit zu haben, dass der Arduino die Pegeländerungen einfach nur nicht erkennt?
Die Frage ist warum er die Pegeländerungen nicht erkennt.
Ich glaube nicht, dass es an der Firmware liegt, aber mit den Debug-Ausgaben sollte sich das klären lassen.
Bitte versuch nochmal verbose 5 und devVerbose 20.
Die Ausgabe der pin-Änderungen ist dabei dann unabhängig vom Interrupt-Händling und dem Zählen.

Zitat von: FunkOdyssey am 21 Februar 2019, 20:19:17
Wäre logisch, aber ich habe es doppelt geprüft. Es läuft ja auch relativ lange und das ohne irgendeine Berührung danach.
Ich haben einen Elster IN-Z65, den ich heute sogar richtig festgeschraubt habe. Vorsichtshalber. :-)
Dann geht es auf den Arduino Nano, Pin D4. Und einen 10uf Kondensator, um das Prellen zu vermeiden. Einen Hardware-Pullup-Widerstand habe ich nicht angeschlossen. Nur die Konfiguration in FHEM.
Aktuell: pind4 = falling pullup 5
Aber auch bereits mit 60 und 30 getestet.
Da muss ich nochmal nachfragen:
der Zähler geht auf D4 und das andere Ende? Auf GND?
Der 10 uF Kondensator hängt wo? Direkt zwischen D4 und GND? Das könnte ungesund sein.
Generell sollte so ein Kondensator gar nicht nötig sein. Die Angabe der minimalen Pulslänge (die letzte Zahl beim Attribut "attr XY pinD4 falling pullup 60") - hier also 60 ist genau dazu da, Prellen oder ähnliche Störungen, die kürzer als 60 Millisekunden sind zu filtern. Bei get History sieht man solche Aktivitäten.

Zitat von: FunkOdyssey am 21 Februar 2019, 20:19:17
Je nachdem ob ich Heißwasser öffne oder die Fußbodenheizung nachlegt. Dann könnte auch mehr passieren. Aber du hast Recht. Aktuell dürfte der sich nur recht langsam drehen. Ich sehe das nur leider sehr selten.
Das habe ich ja bereits gemacht und mich gewundert, dass ich nicht die Ausgabe erhalten wie du gezeigt hattest.

das sollte mit der neuen Version jetzt funktionieren. Ich hoffe die Log-Ausgabe ist dann aufschlussreich.
Wenn wieder Impulse nicht gezählt werden und auch im Log keine Änderung angezeigt wird, dann hätte ich Deinen Kondensator oder den Nano in Verdacht.

Gruss
   Stefan

EDIT 9.7.19: neue Version ist eingecheckt (Firmware Quellcode unter contrib/arduino, Hex-File für den Arduino Nano unter FHEM/firmware)
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 23 Februar 2019, 19:37:22
Hallo,

ich habe noch die Dokumentation für "get History" und das Attribut MaxHist ergänzt und die neue Version eingecheckt.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 23 Februar 2019, 19:43:48
Hallo Stefan,

mein ArduCounter auf einem Wemos D1 Mini zählt ebenfalls mit der neuen Version von Ende Januar nicht mehr.

Ich habe eben das neue Modul von heute eingespielt und werde gleich entsprechende Logs zusammenstellen.

Gruß
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: SamNitro am 23 Februar 2019, 19:48:55
Könnte mir mal jemand bitte auf die Sprünge helfen wie ich meinen Zaehler auf eine kommastelle bekomme

Internals:
   Board      ESP8266
   BoardDet    ESP8266_NODEMCU
   DEF        10.1.1.44:80
   DeviceName 10.1.1.44:80
   FD         19
   FUUID      5c5b580f-f33f-19ae-2fdd-f55fd3a6f2c1034a
   Initialized 1
   LASTOPEN   1550855874.90837
   NAME       AC
   NOTIFYDEV  global
   NR         175
   NTFY_ORDER 50-AC
   PARTIAL   
   STATE      opened
   SketchCompile Feb 22 2019 18:01:12
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 3.12
   VersionModule 6.10 - 16.2.2019
   WaitForAlive 0
   allowedPins 0,1,2,5,17,A0
   buffer     
   deviceBooted 1550855859.01573
   devioLoglevel 3
   nextOpenDelay 60
   READINGS:
     2019-02-23 19:45:27   Zaehler         410.313000000002
     2019-02-23 19:45:27   calcCounterD2   9.41199999999984
     2019-02-23 19:45:27   calcCounterD2_i 0
     2019-02-23 19:45:27   countDiffD2     2
     2019-02-23 19:45:27   interpolatedLongD2 9469
     2019-02-23 19:45:27   longD2          9453
     2019-02-23 19:45:27   pinD2           9419
     2019-02-23 19:45:27   powerD2         0.273
     2019-02-23 19:45:27   rejectD2        7407
     2019-02-23 19:45:27   seqD2           45
     2019-02-22 18:17:54   state           opened
     2019-02-23 19:45:27   timeDiffD2      26372
   runningCfg:
     2          falling pullup 30
     I          30 60 2 2
     T          100 110
     V          0
Attributes:
   disable    0
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   pinD2      falling pullup 30
   pulsesPerKWh 1000
   room       Zähler,
   userReadings Zaehler:longD2.* monotonic {ReadingsVal($name,"pinD2",0)/1000}
   userattr   pinD2



Danke Gruß Patrick
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 23 Februar 2019, 19:52:11
Die Pegeländerungen - zeitgleich mit dem Leuchten der roten LED am Ferrarisleser -  werden erkannt, aber offenbar nicht gezählt.

2019.02.23 19:34:36 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 0  histIdx 1  count 0  reject 0
2019.02.23 19:34:40 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 1  histIdx 2  count 0  reject 0



So, hier erste Logs mit verbose 5 und devVerbose 20.


FHEM-Log:

2019.02.23 19:32:14 0: HourCounter CN.S0_Strom Define.228 parameters: CN.S0_Strom HourCounter AC_Strom:long5:.*
2019.02.23 19:32:15 3: AC_Strom: disable attribute cleared
2019.02.23 19:32:17 3: AC_Strom: Notify called with events: INITIALIZED, open device and set timer to send hello to device
2019.02.23 19:32:17 3: Opening AC_Strom device 192.168.8.69:80
2019.02.23 19:32:19 3: AC_Strom device opened
2019.02.23 19:32:19 3: AC_Strom: device sent hello: ArduCounter V3.12 on ESP8266 ESP8266_WEMOS_D1MINI compiled Feb 22 2019 21:44:47 Hello, pins 0,1,2,5,17 available T77966179,0 B560,0
2019.02.23 19:32:23 3: AC_Strom: ConfigureDevice: no analogThresholds attribute
2019.02.23 19:34:08 3: AC_Strom: device: devVerbose set to 20
2019.02.23 19:34:22 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:34:22 5: SW: 1,10k.
2019.02.23 19:34:32 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:34:32 5: SW: 1,10k.
2019.02.23 19:34:36 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 0  histIdx 1  count 0  reject 0
2019.02.23 19:34:40 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 1  histIdx 2  count 0  reject 0
2019.02.23 19:34:42 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:34:42 5: SW: 1,10k.
2019.02.23 19:34:52 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:34:52 5: SW: 1,10k.
2019.02.23 19:35:02 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:35:02 5: SW: 1,10k.
2019.02.23 19:35:12 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:35:12 5: SW: 1,10k.
2019.02.23 19:35:22 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:35:22 5: SW: 1,10k.
2019.02.23 19:35:32 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:35:32 5: SW: 1,10k.
2019.02.23 19:35:42 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:35:42 5: SW: 1,10k.
2019.02.23 19:35:52 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:35:52 5: SW: 1,10k.
2019.02.23 19:36:02 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:36:02 5: SW: 1,10k.
2019.02.23 19:36:12 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:36:12 5: SW: 1,10k.
2019.02.23 19:36:17 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 0  histIdx 5  count 0  reject 0
2019.02.23 19:36:21 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 1  histIdx 6  count 0  reject 0
2019.02.23 19:36:21 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 0  histIdx 10  count 0  reject 0
2019.02.23 19:36:21 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 1  histIdx 10  count 0  reject 0
2019.02.23 19:36:22 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:36:22 5: SW: 1,10k.
2019.02.23 19:36:33 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:36:33 5: SW: 1,10k.
2019.02.23 19:36:43 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:36:43 5: SW: 1,10k.
2019.02.23 19:36:53 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:36:53 5: SW: 1,10k.
2019.02.23 19:37:03 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:37:03 5: SW: 1,10k.
2019.02.23 19:37:13 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:37:13 5: SW: 1,10k.
2019.02.23 19:37:23 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:37:23 5: SW: 1,10k.
2019.02.23 19:37:33 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:37:33 5: SW: 1,10k.
2019.02.23 19:37:43 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:37:43 5: SW: 1,10k.
2019.02.23 19:37:53 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:37:53 5: SW: 1,10k.
2019.02.23 19:37:57 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 0  histIdx 11  count 0  reject 0
2019.02.23 19:38:00 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 1  histIdx 12  count 0  reject 0
2019.02.23 19:38:03 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:38:03 5: SW: 1,10k.
2019.02.23 19:38:13 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:38:13 5: SW: 1,10k.
2019.02.23 19:38:23 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:38:23 5: SW: 1,10k.
2019.02.23 19:38:29 5: AC_Strom: Device Time 78337.54
2019.02.23 19:38:29 4: AC_Strom: pin D5 (pin5) Cnt 0 (diff 0/0) in 300.000s from 19:33:29 until 19:38:29, seq 5, Rej 0, Avg ms, result 0.000
2019.02.23 19:38:29 5: AC_Strom: pin D5 (pin5) adding rDiff 0 to long count 0 and interpolated count 0
2019.02.23 19:38:33 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:38:33 5: SW: 1,10k.
2019.02.23 19:38:43 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:38:43 5: SW: 1,10k.
2019.02.23 19:38:53 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:38:53 5: SW: 1,10k.
2019.02.23 19:39:03 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:39:03 5: SW: 1,10k.
2019.02.23 19:39:13 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:39:13 5: SW: 1,10k.
2019.02.23 19:39:23 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:39:23 5: SW: 1,10k.
2019.02.23 19:39:28 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 0  histIdx 17  count 0  reject 0
2019.02.23 19:39:32 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 1  histIdx 18  count 0  reject 0
2019.02.23 19:39:33 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:39:33 5: SW: 1,10k.
2019.02.23 19:39:43 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:39:43 5: SW: 1,10k.
2019.02.23 19:39:53 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:39:53 5: SW: 1,10k.
2019.02.23 19:40:03 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:40:03 5: SW: 1,10k.
2019.02.23 19:40:13 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:40:13 5: SW: 1,10k.
2019.02.23 19:40:23 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:40:23 5: SW: 1,10k.
2019.02.23 19:40:33 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:40:33 5: SW: 1,10k.
2019.02.23 19:40:43 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:40:43 5: SW: 1,10k.
2019.02.23 19:40:53 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:40:53 5: SW: 1,10k.
2019.02.23 19:40:57 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 0  histIdx 3  count 0  reject 0
2019.02.23 19:41:01 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 1  histIdx 4  count 0  reject 0
2019.02.23 19:41:03 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:41:03 5: SW: 1,10k.
2019.02.23 19:41:13 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:41:13 5: SW: 1,10k.
2019.02.23 19:41:23 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:41:23 5: SW: 1,10k.
2019.02.23 19:41:33 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:41:33 5: SW: 1,10k.
2019.02.23 19:41:43 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:41:43 5: SW: 1,10k.
2019.02.23 19:41:53 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:41:53 5: SW: 1,10k.
2019.02.23 19:42:03 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:42:03 5: SW: 1,10k.
2019.02.23 19:42:13 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:42:13 5: SW: 1,10k.
2019.02.23 19:42:23 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:42:23 5: SW: 1,10k.
2019.02.23 19:42:33 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:42:33 5: SW: 1,10k.
2019.02.23 19:42:34 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 0  histIdx 10  count 0  reject 0
2019.02.23 19:42:34 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 1  histIdx 13  count 0  reject 0
2019.02.23 19:42:34 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 0  histIdx 16  count 0  reject 0
2019.02.23 19:42:34 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 1  histIdx 18  count 0  reject 0
2019.02.23 19:42:34 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 0  histIdx 1  count 0  reject 0
2019.02.23 19:42:38 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 1  histIdx 2  count 0  reject 0
2019.02.23 19:42:43 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:42:43 5: SW: 1,10k.
2019.02.23 19:42:53 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:42:53 5: SW: 1,10k.
2019.02.23 19:43:03 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:43:03 5: SW: 1,10k.
2019.02.23 19:43:13 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:43:13 5: SW: 1,10k.
2019.02.23 19:43:23 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:43:23 5: SW: 1,10k.
2019.02.23 19:43:29 5: AC_Strom: Device Time 78637.54
2019.02.23 19:43:29 4: AC_Strom: pin D5 (pin5) Cnt 0 (diff 0/0) in 300.000s from 19:38:29 until 19:43:29, seq 6, Rej 0, Avg ms, result 0.000
2019.02.23 19:43:29 5: AC_Strom: pin D5 (pin5) adding rDiff 0 to long count 0 and interpolated count 0
2019.02.23 19:43:33 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:43:33 5: SW: 1,10k.
2019.02.23 19:43:43 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:43:43 5: SW: 1,10k.
2019.02.23 19:43:53 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:43:53 5: SW: 1,10k.
2019.02.23 19:44:03 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:44:03 5: SW: 1,10k.
2019.02.23 19:44:13 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:44:13 5: SW: 1,10k.
2019.02.23 19:44:14 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 0  histIdx 5  count 0  reject 0
2019.02.23 19:44:18 3: AC_Strom: device: pin 5 ( internal 14 ) changed to 1  histIdx 6  count 0  reject 0
2019.02.23 19:44:23 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:44:23 5: SW: 1,10k.
2019.02.23 19:44:33 5: AC_Strom: sending k(eepAlive) to device
2019.02.23 19:44:33 5: SW: 1,10k.


Das Device-Log für den gleichen Zeitraum:

2019-02-23_19:33:29 AC_Strom powerD5: 0.000
2019-02-23_19:33:29 AC_Strom rejectD5: 0
2019-02-23_19:33:29 AC_Strom timeDiffD5: 300000
2019-02-23_19:33:29 AC_Strom countDiffD5: 0
2019-02-23_19:33:29 AC_Strom pinD5: 0
2019-02-23_19:33:29 AC_Strom longD5: 0
2019-02-23_19:33:29 AC_Strom interpolatedLongD5: 0
2019-02-23_19:33:29 AC_Strom seqD5: 4
2019-02-23_19:38:29 AC_Strom powerD5: 0.000
2019-02-23_19:38:29 AC_Strom rejectD5: 0
2019-02-23_19:38:29 AC_Strom timeDiffD5: 300000
2019-02-23_19:38:29 AC_Strom countDiffD5: 0
2019-02-23_19:38:29 AC_Strom pinD5: 0
2019-02-23_19:38:29 AC_Strom longD5: 0
2019-02-23_19:38:29 AC_Strom interpolatedLongD5: 0
2019-02-23_19:38:29 AC_Strom seqD5: 5
2019-02-23_19:43:29 AC_Strom powerD5: 0.000
2019-02-23_19:43:29 AC_Strom rejectD5: 0
2019-02-23_19:43:29 AC_Strom timeDiffD5: 300000
2019-02-23_19:43:29 AC_Strom countDiffD5: 0
2019-02-23_19:43:29 AC_Strom pinD5: 0
2019-02-23_19:43:29 AC_Strom longD5: 0
2019-02-23_19:43:29 AC_Strom interpolatedLongD5: 0
2019-02-23_19:43:29 AC_Strom seqD5: 6


Und hier noch ein list des Device:

fhem> list AC_Strom
Internals:
   Board      ESP8266
   BoardDet    ESP8266_WEMOS_D1MINI
   DEF        192.168.8.69:80
   DeviceName 192.168.8.69:80
   FD         4
   FUUID      5c4dc97d-f33f-7f16-106f-1dfbbdd3b8f23dff
   Initialized 1
   LASTOPEN   1550946737.7726
   NAME       AC_Strom
   NOTIFYDEV  global
   NR         205
   NTFY_ORDER 50-AC_Strom
   PARTIAL
   STATE      73902.38
   SketchCompile Feb 22 2019 21:44:47
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 3.12
   VersionModule 6.12 - 23.2.2019
   WaitForAlive 0
   allowedPins 0,1,2,5,17,A0
   buffer
   deviceBooted 1550868774.02701
   devioLoglevel 3
   nextOpenDelay 60
   READINGS:
     2019-02-07 20:07:00   TotalKWh        73902.3833330495
     2019-02-23 03:13:28   calcCounterD5   0
     2019-02-23 03:13:28   calcCounterD5_i 0
     2019-02-07 20:07:00   countDiff5      1
     2019-02-23 19:43:29   countDiffD5     0
     2019-02-07 20:07:00   interpolatedLong5 313494
     2019-02-23 19:43:29   interpolatedLongD5 0
     2018-03-08 16:49:53   lastMsg5        R5 C193 D1/1 T94823 N24086290 X0 A3271
     2019-02-23 03:13:28   lastMsgD5       R5 C0 D0/0 T300000 N19237540,0 X0 S64
     2019-02-07 20:07:00   long5           313392
     2019-02-23 19:43:29   longD5          0
     2019-02-07 20:07:00   pin5            26229
     2019-02-23 19:43:29   pinD5           0
     2018-03-08 16:52:19   pinHistory5     -690172/0@1X, -690172/1@0R, -690171/24@1X, -690147/6303@0C, -683844/157421@1G, -526423/6211@0C, -520212/134914@1G, -385298/5549@0C, -379749/132382@1G, -247367/1@0R, -247366/44@1G, -247322/6100@0C, -241222/91552@1G, -149670/3271@0C, -146399/140151@1G, -6248/1@0R, -6247/1@1X, -6246/0@0R, -6246/13@1X
     2019-02-07 20:07:00   power5          0.396
     2019-02-23 19:43:29   powerD5         0.000
     2019-02-07 20:07:00   reject5         62004
     2019-02-23 19:43:29   rejectD5        0
     2019-02-07 20:07:00   seq5            52
     2019-02-23 19:43:29   seqD5           6
     2019-02-23 19:32:19   state           opened
     2019-02-07 20:07:00   timeDiff5       75847
     2019-02-23 19:43:29   timeDiffD5      300000
   runningCfg:
     5          falling pullup 30
     I          2 300 1 1
     T          100 110
Attributes:
   comment    17.05.18 Korrektur 72682.3 v2.36
   devVerbose 20
   disable    0
   factor     8333
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   2 300 1 1
   pinD5      falling pullup 30
   room       Strom
   stateFormat { sprintf("%.2f", round( ReadingsVal("AC_Strom","TotalKWh",0), 2))}
   userReadings TotalKWh:long5.* monotonic { ReadingsVal("AC_Strom","long5",0)/120 }
   userattr   pinD0 pinD5 verboseReadings5
   verbose    5


Im list sind noch die alten Readings (ohne "D" vor der 5) sowie die neuen Readings. Bis auf die verbose Attribute ist alles unverändert, vor allem auch der elektronische Aufbau.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 23 Februar 2019, 20:48:40
Zitat von: StefanStrobel am 23 Februar 2019, 12:57:22
Es kann sein, dass devVerbose verloren gegangen ist, wenn Dein Board neu gestartet hat.
Ich habe nochmal eine neue Version angehängt, in der die Debug-Ausgaben erweitert sind.
devVerbose wird jetzt auch nach einem Neustart des Boards neu gesetzt und es gibt ein neues "get History", das (sofern devVerbose >5 ist) die detaillierte pin History nach einer Meldung des Boards lesbarer aufbereitet.

Das macht Sinn. Plötzlich hatte ich nämlich doch die gewünschte Ausgabe. Mal nicht - mal doch. Danke für den Hinweis. Und vielen Dank für die Erweiterung.

Zitat von: StefanStrobel am 23 Februar 2019, 12:57:22
Da muss ich nochmal nachfragen:
der Zähler geht auf D4 und das andere Ende? Auf GND?
Der 10 uF Kondensator hängt wo? Direkt zwischen D4 und GND? Das könnte ungesund sein.

Ja, zwischen D4 und GND. Also parallel zum Zähler. Zuvor wurde halt einfach zu viel getriggert.
Aber inwiefern könnte das ungesund werden? Das macht mich jetzt nervös? :-)

Zitat von: StefanStrobel am 23 Februar 2019, 12:57:22
Generell sollte so ein Kondensator gar nicht nötig sein. Die Angabe der minimalen Pulslänge (die letzte Zahl beim Attribut "attr XY pinD4 falling pullup 60") - hier also 60 ist genau dazu da, Prellen oder ähnliche Störungen, die kürzer als 60 Millisekunden sind zu filtern. Bei get History sieht man solche Aktivitäten.
Okay, das ist mir - eigentlich - sogar bekannt. Ich kann mich nicht mehr genau daran erinnern, wie die Probleme damals (vor ca. 1,5 Jahren) waren. Seitdem ist der halt noch parallel geschaltet. Ich würde den auch entfernen, aber mir rennt die Zeit davon. Ab Frühling dreht sich mein Gaszähler vermutlich kaum noch. Und die Zeit zum Testen wird immer kürzer.

Zitat von: StefanStrobel am 23 Februar 2019, 12:57:22
das sollte mit der neuen Version jetzt funktionieren. Ich hoffe die Log-Ausgabe ist dann aufschlussreich.
Wenn wieder Impulse nicht gezählt werden und auch im Log keine Änderung angezeigt wird, dann hätte ich Deinen Kondensator oder den Nano in Verdacht.

Zitat von: StefanStrobel am 23 Februar 2019, 12:57:22
Die Frage ist warum er die Pegeländerungen nicht erkennt.
Ich glaube nicht, dass es an der Firmware liegt, aber mit den Debug-Ausgaben sollte sich das klären lassen.
Bitte versuch nochmal verbose 5 und devVerbose 20.
Die Ausgabe der pin-Änderungen ist dabei dann unabhängig vom Interrupt-Händling und dem Zählen.
Danke.

Jetzt kommt aber der eigentlich Grund wieso ich auf deine vielen Hilfsangebote nur skeptisch eingehe. Ich traue mich kaum, es hier zu erwähnen. Also: Ich würde mich weiterhin vollständig mit allen Logs der Welt rumschlagen und sogar den Kondensator ausbauen und weiter debuggen, wäre das nicht.....
Es scheint zu laufen. Seit zwei Tagen. Und ich denke, dass ich der Fehler war, denn ich habe die ArduCounter/GasCalculator-Konfiguration mit der neuen Version auch neu aufgesetzt. Insbesondere das Zähler-Reading.
Mein Gaszähler gibt einen Impulse bei 0,01 Kubikmeter. Der Zähler wird aber dennoch dreistellig angezeigt. Also habe ich ArduCounter in der dritten Nachkommastelle zählen lassen. Das macht natürlich überhaupt keinen Sinn und erklärt die großen/schnellen Abweichungen.
Ich habe jetzt den Zähler sogar als Dezimalzahl mit Nachkommastelle als userreading im ArduCounter angelegt. Zusätzlich den long-Counter angeglichen (hier aber ohne Nachkommatas) und habe das Verhalten zwei Tage mit den echten Werten des Zählers verglichen.
Zusätzlich habe ich den Thread nun dreimal komplett durchgelesen und mit birdys Probleme mit seinem Öl-Zähler genauer angeschaut. Bei ihm wird auch langsam gezählt. Also habe ich Intervall und Pin-Konfiguration bei birdy abgeguckt.
Und es scheint wirklich zu funktionieren.

Es tut mir wirklich leid, dass ich dich wieder mit dem Support für mich belästigt habe.

Langzeiterfahrung habe ich mit der Konstellation zwar noch nicht, aber ich bin optimistisch.

Mein aktuelles Device:
Internals:
   Board      NANO
   BoardDet   
   DEF        /dev/serial/by-id/usb-xxxx_USB2.0-Serial-if00-port0@38400
   DeviceName /dev/serial/by-id/usb-xxx_USB2.0-Serial-if00-port0@38400
   FD         4
   Initialized 1
   LASTOPEN   1550949722.75865
   NAME       ArduCounter
   NOTIFYDEV  global
   NR         538
   NTFY_ORDER 50-ArduCounter
   PARTIAL   
   STATE      opened
   SketchCompile Jan  6 2019 17:11:47
   TYPE       ArduCounter
   VersionFirmware 3.10
   VersionModule 6.10 - 16.2.2019
   allowedPins 3,4,5,6,7,8,9,10,11,13,14,A0,15,A1,16,A2,17,A3,18,A4,19,A5,20,A6,21,A7
   buffer     
   deviceBooted 1550949734.45458
   devioLoglevel 3
   nextOpenDelay 60
   READINGS:
     2019-02-23 20:28:04   Zaehler         8512.23000000009
     2019-02-22 14:02:03   calcCounterD4   2.00199999999992
     2019-02-22 14:02:03   calcCounterD4_i 0.001
     2019-02-23 20:28:04   countDiffD4     0
     2019-02-23 20:28:04   interpolatedLongD4 2552
     2019-02-23 20:28:04   lastMsgD4       R4 C0 D0/0 T360000 N360508,0 X0 S1
     2019-02-23 20:28:04   longD4          851223
     2019-02-23 20:28:04   pinD4           0
     2019-02-23 20:16:56   pinHistory4     1277s-26080587/77144@1G, 1278s-26003443/11975@0C, 1279s-25991468/76902@1G, 1280s-25914566/12083@0C, 1281s-25902483/76865@1G, 1282s-25825618/12221@0C, 1283s-25813397/77062@1G, 1284s-25736335/11979@0C, 1285s-25724356/76929@1G, 1286s-25647427/11608@0C, 1287s-25635819/76936@1G, 1288s-25558883/11700@0C, 1289s-25547183/77436@1G, 1290s-25469747/11434@0C, 1291s-25458313/77594@1G, 1292s-25380719/11341@0C, 1293s-25369378/77741@1G, 1294s-25291637/11219@0C, 1295s-25280418/77600@1G
     2019-02-23 20:28:04   powerD4         0.000
     2019-02-23 20:28:04   rejectD4        0
     2019-02-23 20:28:04   seqD4           1
     2019-02-23 20:22:02   state           opened
     2019-02-23 20:28:04   timeDiffD4      360000
   runningCfg:
     4          falling pullup 60
     I          60 600 5 2
     T          100 110
Attributes:
   interval   60 360
   pinD4      falling pullup 100
   readingPulsesPerKWhD4 10
   userReadings Zaehler:pinD4.* monotonic {ReadingsVal($name,"pinD4",0)/100}
   userattr   pinD4 readingFactorD4 readingNameCountD4 readingNamePowerD4 readingPulsesPerKWhD4 verboseReadingsD4
   verboseReadingsD4 1




Ich bin ein wenig verwundert über den Wert bei readingPulsesPerKWhD4. Ich habe verschiedene Zehnerpotenzen ausprobiert. Aber der Wert 10 scheint korrekt zu sein.

Obwohl mein GasCalculator sogar auf den ArduCounter aufsetzt, sehen die Heizleistungswerte im Plot nun sauberer aus. Das kann ich irgendwie nicht nachvollziehen, warum GC hier zu "kantig" aussieht. GC berücksichtigt auch die Zeiten zwischen den Verbrauchsimpulsen. Gleiche Datenbasis.

Anbei mal eine Grafik dazu.

Danke, Stefan, für deine Unterstützung.

Macht es noch Sinn, deine Debug-Version zu testen? Hilft dir das denn? Oder wäre das nur für mich gewesen?  ;)
Nachtrag: ich habe die PM mal hochgeladen.

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 24 Februar 2019, 13:33:31
Hallo Tobias,

könntest Du bitte noch die Ausgabe von "get info" posten?
Damit kannst Du abfragen welche Konfiguration tatsächlich im Board aktiv ist.

Beispiel:

M Status: ArduCounter V3.10 on NANO compiled Jan  6 2019 17:11:47
I60 600 10 0
T100 110
V0
P4 falling pullup min 30, R4 C4 D3/4 T43008 N62090,0 X1 A120
P5 falling pullup min 30, R5 C1 D0/1 T0 N62090,0 X0
M EEPROM Config: Cfg Slots: 3
M Slot: I 60,600,10,0
M Slot: A 4,2,1,30
M Slot: A 5,2,1,30
M Next report in 28291 milliseconds


und dann wäre es noch hilfreich ein get history zu sehen.
Das sieht z.B. so aus:

0 2019-02-24 13:29:39       0 seconds at 0 -> reject
1 2019-02-24 13:29:39    5.86 seconds at 1 -> gap
2 2019-02-24 13:29:45    0.09 seconds at 0 -> count
5 2019-02-24 13:29:45  14.241 seconds at 1 -> gap
6 2019-02-24 13:29:59    0.09 seconds at 0 -> count
7 2019-02-24 13:29:59  14.259 seconds at 1 -> gap
8 2019-02-24 13:30:13    0.09 seconds at 0 -> count
9 2019-02-24 13:30:13  14.238 seconds at 1 -> gap


da seht man dann was der Zähl-Algorithmus genau gemacht hat (auch wenn zu kurze Impuls ignoriert werden etc.)

Gruss / Thanx
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 24 Februar 2019, 13:38:33
Hallo Patrick,

die tatsächlichen Werte würde ich nicht runden.
Wenn Du im State oder anderswo gerundete Werte haben möchtest, kannst Du das mit stateFormat oder in einer ReadingsGoup oder als Userreading etc. mit einem sprintf machen.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: SamNitro am 24 Februar 2019, 13:46:52
aktuell habe ich mir diese Lösung gebastelt:
attr AC stateFormat {sprintf("Zähler: %.1f kWh / E-Tech: %.1f kWh", ReadingsVal("AC","Haupt_Zaehler",0),ReadingsVal("AC","E-Tech",0))}
attr AC userReadings E-Tech:longD2.* monotonic {ReadingsVal($name,"pinD2",0)/1000},\
Haupt_Zaehler:longD2.* monotonic {ReadingsVal($name,"pinD2",0)/1000}


Wollte eigentlich das userReading schon gerundet haben, aber da habe ich noch keine Lösung
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 24 Februar 2019, 14:34:19
Hallo Stefan,

aktiv ist jetzt das Modul von heute aus dem normalen Update:

98_ArduCounter.pm           18704 2019-02-23 18:36:06Z StefanStrobel


Hier sehr gerne noch die weiteren Infos:

Zitat von: StefanStrobel am 24 Februar 2019, 13:33:31
könntest Du bitte noch die Ausgabe von "get info" posten?

M Status: ArduCounter V3.12 on ESP8266 ESP8266_WEMOS_D1MINI compiled Feb 22 2019 21:44:47
I2 300 1 1
T100 110
V20
P5 falling pullup min 30, R5 C0 D0/0 T0 N146198761,0 X0
M no config in EEPROM
M Next report in 772 milliseconds


Zitat von: StefanStrobel am 24 Februar 2019, 13:33:31
und dann wäre es noch hilfreich ein get history zu sehen.

Leider ist die history (noch) leer: no history data so far

Danke für deine Unterstützung!

Gruß
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 24 Februar 2019, 15:44:19
Hallo Tobias,

ich konnte den Fehler nachvollziehen. Auch auf meinem Wemos D1 geht Pin D5 nicht.
Pin D2 geht aber. Ich suche jetzt nach der Ursache ...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 24 Februar 2019, 16:10:22
Also ich denke ich habe den Fehler gefunden.
Wenn die Firmware für einen ESP8266 und mit analogem Support compiliert wurde, dann waren die internen Pin-Nummern für die Interrupt-Routine falsch.
Für den Nano oder den ESP ohne analogen Support sollte das unerheblich sein ...
(#define analogIR 1 sollte dann auskommentiert sein)

Anbei eine neue Version zum Testen. Ich checke sie auch gleich ein, da sich nur der eine Fall (ESP mit analogIR) ändert und der war eh defekt ;-)

Gruss
   Stefan

EDIT 9.7.19: neue Version ist eingecheckt (Firmware Quellcode unter contrib/arduino, Hex-File für den Arduino Nano unter FHEM/firmware)
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 24 Februar 2019, 16:11:29
Zitat von: StefanStrobel am 24 Februar 2019, 15:44:19
ich konnte den Fehler nachvollziehen. Auch auf meinem Wemos D1 geht Pin D5 nicht.
Pin D2 geht aber. Ich suche jetzt nach der Ursache ...

Da hat Murphy wieder zugeschlagen....

Mit dem vorherigen Sketch (2.36) und der alten Modulversion hat der Pin D5 aber problemlos funktioniert...

Danke & Gruß
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 24 Februar 2019, 16:12:45
ja, vorher gab es noch keinen Support für Reflexlichtschranken ...

Gruss
  Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 24 Februar 2019, 16:28:30
Zitat von: StefanStrobel am 24 Februar 2019, 16:10:22
Anbei eine neue Version zum Testen. Ich checke sie auch gleich ein, da sich nur der eine Fall (ESP mit analogIR) ändert und der war eh defekt ;-)

Super, das sieht sehr viel besser aus. Jetzt zählt er wieder auf Pin D5 ...

fhem> get AC_Strom history
0 2019-02-24 16:23:00  16.722 seconds at 1 -> gap
1 2019-02-24 16:23:17   0.001 seconds at 0 -> reject
2 2019-02-24 16:23:17   0.002 seconds at 1 -> ignore drop
3 2019-02-24 16:23:17   0.002 seconds at 0 -> reject
4 2019-02-24 16:23:17       0 seconds at 1 -> ignore drop
5 2019-02-24 16:23:17   0.001 seconds at 0 -> reject
6 2019-02-24 16:23:17   0.002 seconds at 1 -> ignore drop
7 2019-02-24 16:23:17   0.001 seconds at 0 -> reject
8 2019-02-24 16:23:17       0 seconds at 1 -> ignore drop
9 2019-02-24 16:23:17   0.001 seconds at 0 -> reject
10 2019-02-24 16:23:17       0 seconds at 1 -> ignore drop
11 2019-02-24 16:23:17   0.001 seconds at 0 -> reject
12 2019-02-24 16:23:17   0.001 seconds at 1 -> ignore drop
13 2019-02-24 16:23:17   3.718 seconds at 0 -> count
14 2019-02-24 16:23:20   0.003 seconds at 1 -> ignore drop
15 2019-02-24 16:23:20       0 seconds at 0 -> reject
16 2019-02-24 16:23:20   0.002 seconds at 1 -> ignore drop
17 2019-02-24 16:23:20   0.001 seconds at 0 -> reject
18 2019-02-24 16:23:20       0 seconds at 1 -> ignore drop
19 2019-02-24 16:23:20   0.001 seconds at 0 -> reject
20 2019-02-24 16:23:20   0.001 seconds at 1 -> ignore drop
21 2019-02-24 16:23:20   0.001 seconds at 0 -> reject
22 2019-02-24 16:23:20   0.001 seconds at 1 -> ignore drop
23 2019-02-24 16:23:20       0 seconds at 0 -> reject
24 2019-02-24 16:23:20   0.001 seconds at 1 -> ignore drop
25 2019-02-24 16:23:20   0.001 seconds at 0 -> reject
26 2019-02-24 16:23:20  82.112 seconds at 1 -> gap
27 2019-02-24 16:24:42   3.879 seconds at 0 -> count
28 2019-02-24 16:24:46   0.006 seconds at 1 -> ignore drop
29 2019-02-24 16:24:46       0 seconds at 0 -> reject
30 2019-02-24 16:24:46   0.002 seconds at 1 -> ignore drop


Vielen Dank für deinen prompten Support und überhaupt für das geniale Modul. Auch die DebugInfos (History) sind jetzt für mich viel aussagekräftiger.

Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 24 Februar 2019, 18:05:46
Zitat von: StefanStrobel am 23 Februar 2019, 19:37:22
ich habe noch die Dokumentation für "get History" und das Attribut MaxHist ergänzt und die neue Version eingecheckt.

Hmmmm. Ist die Doku zu den beiden Punkten in der letzten Version von heute wieder verlorengegangen?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 24 Februar 2019, 20:56:08
Nicht wirklich, sie war nur noch nicht vollständig ;-)
Ich habe gerade noch eine neue Version eingecheckt, in der man bei get history auch den Pin angeben kann.
Zudem war maxHist fälschlicherweise MaxHist. Ist jetzt auch korrigiert.

Gruss
   Stefan

EDIT 9.7.19: neue Version ist eingecheckt (Firmware Quellcode unter contrib/arduino, Hex-File für den Arduino Nano unter FHEM/firmware)
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 24 Februar 2019, 21:00:26
Ich sehe übrigens gerade in der Ausgabe Deines get history, dass es kräftig prellt ;-)
Die Erläuterung "ignore drop" sollte eher "ignore spike" sein. Das ändere ich dann noch mit dem nächsten Update ...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 24 Februar 2019, 22:40:01
Zitat von: StefanStrobel am 24 Februar 2019, 21:00:26
Ich sehe übrigens gerade in der Ausgabe Deines get history, dass es kräftig prellt ;-)

Das ist genau der Grund, warum ich anfangs mit EspEasy und PulseCounter schier verzweifelt bin. Egal mit welcher Parametrisierung habe ich das nie entprellt bekommen. Erst der ArduCounter hat dann von Anfang an ,,richtig" gezählt.

Gruß
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: andreas.maurer am 11 März 2019, 19:55:33
Nabend, ich setzte den ArduCounter seit ein paar Tagen in einem Testsystem ein. Das Modul läuft was Aussetzer betrifft besser als meine Firmata Lösung. Allerdings hängt sich die Verbindung zum nano in unterschiedlichen Abständen weg. Ein reconnect hilft dann immer.

Im Log steht nichts auffälliges:

2019.03.10 22:59:17 3: serverElectricityCounter: device: pin 4 ( internal 4 ) changed to 0  histIdx 0  count 2019  reject 0
2019.03.10 22:59:17 3: serverElectricityCounter: device: pin 4 ( internal 4 ) changed to 1  histIdx 1  count 2020  reject 0
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory no CL
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5122 2019-03-10 22:48:24 4   0.069 seconds at 0 -> count (5122s-654238/69@0C)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5123 2019-03-10 22:48:24 4  93.578 seconds at 1 -> gap (5123s-654169/93578@1G)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5124 2019-03-10 22:49:57 4   0.066 seconds at 0 -> count (5124s-560591/66@0C)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5125 2019-03-10 22:49:57 4  93.474 seconds at 1 -> gap (5125s-560525/93474@1G)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5126 2019-03-10 22:51:31 4   0.068 seconds at 0 -> count (5126s-467051/68@0C)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5127 2019-03-10 22:51:31 4  92.158 seconds at 1 -> gap (5127s-466983/92158@1G)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5128 2019-03-10 22:53:03 4   0.069 seconds at 0 -> count (5128s-374825/69@0C)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5131 2019-03-10 22:53:03 4  94.024 seconds at 1 -> gap (5131s-374756/94024@1G)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5132 2019-03-10 22:54:37 4   0.065 seconds at 0 -> count (5132s-280732/65@0C)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5133 2019-03-10 22:54:37 4  93.638 seconds at 1 -> gap (5133s-280667/93638@1G)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5134 2019-03-10 22:56:11 4   0.068 seconds at 0 -> count (5134s-187029/68@0C)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5135 2019-03-10 22:56:11 4  94.235 seconds at 1 -> gap (5135s-186961/94235@1G)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5136 2019-03-10 22:57:45 4   0.065 seconds at 0 -> count (5136s-92726/65@0C)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5139 2019-03-10 22:57:45 4  92.184 seconds at 1 -> gap (5139s-92661/92184@1G)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5140 2019-03-10 22:59:17 4   0.065 seconds at 0 -> count (5140s-477/65@0C
)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory no CL
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5129 2019-03-10 22:48:07 5 301.584 seconds at 1 -> gap (5129s-671030/301584@1G)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5130 2019-03-10 22:53:08 5   0.066 seconds at 0 -> count (5130s-369446/66@0C)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5137 2019-03-10 22:53:09 5 304.532 seconds at 1 -> gap (5137s-369380/304532@1G)
2019.03.10 22:59:18 5: serverElectricityCounter: HandleHistory   5138 2019-03-10 22:58:13 5   0.068 seconds at 0 -> count (5138s-64848/68@0C
)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory no CL
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5122 2019-03-10 22:48:24 4   0.069 seconds at 0 -> count (5122s-684099/69@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5123 2019-03-10 22:48:24 4  93.578 seconds at 1 -> gap (5123s-684030/93578@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5124 2019-03-10 22:49:57 4   0.066 seconds at 0 -> count (5124s-590452/66@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5125 2019-03-10 22:49:57 4  93.474 seconds at 1 -> gap (5125s-590386/93474@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5126 2019-03-10 22:51:31 4   0.068 seconds at 0 -> count (5126s-496912/68@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5127 2019-03-10 22:51:31 4  92.158 seconds at 1 -> gap (5127s-496844/92158@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5128 2019-03-10 22:53:03 4   0.069 seconds at 0 -> count (5128s-404686/69@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5131 2019-03-10 22:53:03 4  94.024 seconds at 1 -> gap (5131s-404617/94024@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5132 2019-03-10 22:54:37 4   0.065 seconds at 0 -> count (5132s-310593/65@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5133 2019-03-10 22:54:37 4  93.638 seconds at 1 -> gap (5133s-310528/93638@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5134 2019-03-10 22:56:11 4   0.068 seconds at 0 -> count (5134s-216890/68@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5135 2019-03-10 22:56:11 4  94.235 seconds at 1 -> gap (5135s-216822/94235@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5136 2019-03-10 22:57:45 4   0.065 seconds at 0 -> count (5136s-122587/65@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5139 2019-03-10 22:57:45 4  92.184 seconds at 1 -> gap (5139s-122522/92184@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5140 2019-03-10 22:59:17 4   0.065 seconds at 0 -> count (5140s-30338/65@0C
)
2019.03.10 22:59:48 5: serverElectricityCounter: Device Time 189181.566
2019.03.10 22:59:48 4: serverElectricityCounter: pin 5 (pin5) Cnt 545 (diff 0/0) in 60.000s from 22:58:48 until 22:59:48, seq 81, Rej 0, Avg ms, result 0.000
2019.03.10 22:59:48 5: serverElectricityCounter: pin 5 (pin5) adding rDiff 0 to long count 1063 and interpolated count 1063
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory no CL
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5129 2019-03-10 22:48:07 5 301.584 seconds at 1 -> gap (5129s-700891/301584@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5130 2019-03-10 22:53:08 5   0.066 seconds at 0 -> count (5130s-399307/66@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5137 2019-03-10 22:53:09 5 304.532 seconds at 1 -> gap (5137s-399241/304532@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5138 2019-03-10 22:58:13 5   0.068 seconds at 0 -> count (5138s-94709/68@0C
)
2019.03.10 22:59:48 5: serverElectricityCounter: Device Time 189181.705
2019.03.10 22:59:48 4: serverElectricityCounter: pin 4 (pin4) Cnt 2020 (diff 1/1) in 60.000s from 22:58:48 until 22:59:48, seq 81, Rej 0, Avg 65ms, result 0.060
2019.03.10 22:59:48 5: serverElectricityCounter: pin 4 (pin4) adding rDiff 1 to long count 3955 and interpolated count 3955
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory no CL
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5122 2019-03-10 22:48:24 4   0.069 seconds at 0 -> count (5122s-684238/69@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5123 2019-03-10 22:48:24 4  93.578 seconds at 1 -> gap (5123s-684169/93578@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5124 2019-03-10 22:49:57 4   0.066 seconds at 0 -> count (5124s-590591/66@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5125 2019-03-10 22:49:57 4  93.474 seconds at 1 -> gap (5125s-590525/93474@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5126 2019-03-10 22:51:31 4   0.068 seconds at 0 -> count (5126s-497051/68@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5127 2019-03-10 22:51:31 4  92.158 seconds at 1 -> gap (5127s-496983/92158@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5128 2019-03-10 22:53:03 4   0.069 seconds at 0 -> count (5128s-404825/69@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5131 2019-03-10 22:53:03 4  94.024 seconds at 1 -> gap (5131s-404756/94024@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5132 2019-03-10 22:54:37 4   0.065 seconds at 0 -> count (5132s-310732/65@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5133 2019-03-10 22:54:37 4  93.638 seconds at 1 -> gap (5133s-310667/93638@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5134 2019-03-10 22:56:11 4   0.068 seconds at 0 -> count (5134s-217029/68@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5135 2019-03-10 22:56:11 4  94.235 seconds at 1 -> gap (5135s-216961/94235@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5136 2019-03-10 22:57:45 4   0.065 seconds at 0 -> count (5136s-122726/65@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5139 2019-03-10 22:57:45 4  92.184 seconds at 1 -> gap (5139s-122661/92184@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5140 2019-03-10 22:59:17 4   0.065 seconds at 0 -> count (5140s-30477/65@0C
)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory no CL
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5129 2019-03-10 22:48:07 5 301.584 seconds at 1 -> gap (5129s-701030/301584@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5130 2019-03-10 22:53:08 5   0.066 seconds at 0 -> count (5130s-399446/66@0C)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5137 2019-03-10 22:53:09 5 304.532 seconds at 1 -> gap (5137s-399380/304532@1G)
2019.03.10 22:59:48 5: serverElectricityCounter: HandleHistory   5138 2019-03-10 22:58:13 5   0.068 seconds at 0 -> count (5138s-94848/68@0C
)

Das wars ..

Info vom Arduino:
D got 0s size 1
M Status: ArduCounter V3.10 on NANO compiled Jan  6 2019 17:11:47
I30 60 2 2
T100 110
V20
P4 falling pullup min 5, R4 C2822 D0/0 T0 N264431404,0 X0
P5 falling pullup min 5, R5 C779 D0/0 T0 N264431404,0 X0
M no config in EEPROM
M Next report in 20142 milliseconds


Im Device ist nichts aus der Reihe konfiguriert:
defmod serverElectricityCounter ArduCounter /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900D4IC-if00-port0
attr serverElectricityCounter userattr pin4 pin5
attr serverElectricityCounter devVerbose 20
attr serverElectricityCounter event-on-change-reading .*
attr serverElectricityCounter flashCommand avrdude -p atmega328P -b 57600 -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
attr serverElectricityCounter pin4 falling pullup 5
attr serverElectricityCounter pin5 falling pullup 5
attr serverElectricityCounter pulsesPerKWh 1000
attr serverElectricityCounter room 7. Keller
attr serverElectricityCounter verbose 5


Jemand eine Idee?
Andreas
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 11 März 2019, 20:16:08
Hallo Andreas,

Was genau meinst Du denn mit ,,hängt sich weg"?
Was steht denn in so einem Moment im Log?

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: andreas.maurer am 11 März 2019, 20:56:32
Das Modul stellt dann komplett den Dienst ein. Keine Einträge im Log, kein update irgendwelcher readings. der "state" bleibt auf "open" stehen.

Tot.

nur ein "Set .. reconnect" hilft.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 11 März 2019, 21:24:37
Hallo Andreas,

Kommt in diesem Zustand denn noch eine Reaktion auf "get info"?
Bzw. Was steht im Log wenn Du "get info" ausführst?

Bitte poste doch das Log von dem letzten Eintrag vor einem Hänger bis 1 Minute nach dem "set reconnect" wenn es mal wieder passiert.

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: andreas.maurer am 11 März 2019, 21:44:45
Get Info bringt irgendwas wie "geht nicht weil keine Antwort kommt"
Das Log oben im ersten Beitrag von mir ist genau dieser Zustand. Das waren die letzten Zeilen, die das Modul produziert hat.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 11 März 2019, 22:41:16
Hallo Andreas,

Klingt für mich so als ob sich Dein Arduino aufhängt.
Das Modul auf Fhem-Seite ist nicht "tot", es bekommt nur keine Reports oder Antworten mehr vom Aduino.
Hast Du mal einen anderen ausprobiert?
Nicht dass es an der Hardware hängt ...

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: andreas.maurer am 11 März 2019, 22:48:02
Ich habe grade nur einen Schwung identisch da. Mal sehen was ich noch so im Fundus habe.

Ist aber auch meine erste Idee gewesen. Ich hatte nur erwartet ein Hinweis darauf im Log zu finden.
Wenn ich das richtig sehe liesst doch das Modul regelmäßig den Arduino aus.

Ich probier mal was und melde mich.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 12 März 2019, 16:26:34
Zitat
Wenn ich das richtig sehe liesst doch das Modul regelmäßig den Arduino aus.

Nein. Der Arduino berichtet die Zählerstände, Deltas und Zeitdifferenzen abhängig davon, wie viele Impulse er schon zählen konnte und wie er konfiguriert wurde (Intervall-Attribute, minimale Anzahl Impulse etc.)

Das Fhem-Modul reagiert daher meist nur auf die Ausgaben des Arduino, es sei denn Du fragst explizit mit "get info" nach dem aktuelle Status.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: andreas.maurer am 12 März 2019, 20:54:44
So macht es Sinn, danke für die Aufklärung.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: SamNitro am 14 März 2019, 17:50:24
Hallo, ich würde gerne meinen Hauptzähler anpassen, da er minimal schneller läuft als mein Zähler womit ich den Verbrauch messe (E-Tech).
Aber leider funktioniert mein vorhaben nicht, kann mir einer auf die Sprünge helfen?


Internals:
   Board      ESP8266
   BoardDet    ESP8266_NODEMCU
   DEF        10.1.1.44:80
   DeviceName 10.1.1.44:80
   FD         13
   FUUID      5c5b580f-f33f-19ae-2fdd-f55fd3a6f2c1034a
   Initialized 1
   LASTOPEN   1552534479.47636
   NAME       AC
   NOTIFYDEV  global
   NR         162
   NTFY_ORDER 50-AC
   PARTIAL   
   STATE      Zähler: 25457.25 kWh / E-Tech: 537.38 kWh
   SketchCompile Feb 22 2019 18:01:12
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 3.12
   VersionModule 6.14 - 24.2.2019
   WaitForAlive 0
   allowedPins 0,1,2,5,17,A0
   buffer     
   deviceBooted 1552204818.71553
   devioLoglevel 3
   nextOpenDelay 60
   READINGS:
     2019-03-14 17:42:25   E-Tech          537.381999999884
     2019-03-14 17:42:25   Haupt_Zaehler   25457.2460000007
     2019-03-14 17:42:25   calcCounterD2   136.624999999971
     2019-03-14 17:42:25   calcCounterD2_i 0.013
     2019-03-14 17:42:25   countDiffD2     3
     2019-03-14 17:42:25   interpolatedLongD2 136682
     2019-03-14 17:42:25   longD2          136653
     2019-03-14 17:42:25   pinD2           28573
     2019-03-14 17:42:25   powerD2         0.171
     2019-03-14 17:42:25   rejectD2        7556
     2019-03-14 17:42:25   seqD2           3
     2019-03-14 04:34:48   state           opened
     2019-03-14 17:42:25   timeDiffD2      63076
   runningCfg:
     2          falling pullup 30
     I          30 60 2 2
     T          100 110
Attributes:
   disable    0
   event-on-change-reading .*
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   pinD2      falling pullup 30
   pulsesPerKWh 1000
   room       Zähler,
   stateFormat {sprintf("Zähler: %.2f kWh / E-Tech: %.2f kWh", ReadingsVal("AC","Haupt_Zaehler",0),ReadingsVal("AC","E-Tech",0))}
   userReadings E-Tech:longD2.* monotonic {ReadingsVal($name,"pinD2",0)/1000},
Haupt_Zaehler:longD2.* monotonic {ReadingsVal($name,"pinD2",0)/1000}
   userattr   pinD2


Dachte ich könnte das so erledigen, geht aber nicht.
Zitat
   userReadings E-Tech:longD2.* monotonic {ReadingsVal($name,"pinD2",0)/1000},
Haupt_Zaehler:longD2.* monotonic {ReadingsVal($name,"pinD2",0)/1000+0.005}

Gruß Patrick
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 14 März 2019, 18:04:41
Hallo Patrick,

so addierst Du bei jedem Event auf das userReadings 0.005 drauf - völlig unabhängig vom Zählerwert.

Ich verstehe das Ansinnen nicht ganz, aber wenn Du den Zähler pinD2 korrigieren willst, sollte Du auch genau das tun.
Also ReadingsVal($name,"pinD2",0)*1.005 um ihn etwas zu vergrößern oder ReadingsVal($name,"pinD2",0)*0.9995 um ihn etwas zu verkleinern.

Oder hattest Du Dir Deine Rechnung so gedacht? {ReadingsVal($name,"pinD2",0)/(1000+0.005)}

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: SamNitro am 14 März 2019, 18:12:13
Dann ist mein Ansatz eigentlich schon richtig. Ich habe einen Hauptzähler den ich nicht messen kann, dahinter meinen E-Tech Zähler der auch exakt gemessen wird (PinD2).

Da ich aber auch den Wert des Hauptzähler haben möchte, der aber schneller läuft muss ich die Differenz auffangen. (In einem Tag ist es NUR 0.02 kWh)


Edit: Ach jetzt verstehe ich was du meinst, aber muss ich den wert nach oben oder unten korriegieren?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 14 März 2019, 19:34:10
Man müsste auch einfach pulsesPerKWh anpassen können.
Der Wert muss keine ganze Zahl sein, kann auch Nachkommastellen haben ...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: SamNitro am 14 März 2019, 19:38:42
Zitat von: StefanStrobel am 14 März 2019, 19:34:10
Man müsste auch einfach pulsesPerKWh anpassen können.

Der wert stimmt ja ich möchte nur ein separates Reading mit Anpassung haben.


Edit:
Haupt_Zaehler:longD2.* monotonic {ReadingsVal($name,"pinD2",0)/950}
So funktioniert es, jetzt nur noch Feintuning den wert finden.

Danke :)
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: GlennDandy am 15 April 2019, 17:42:03
Hallo, nutze den Arducounter schon länger.
Aber kann mir jemand erklären warum der so Prellt bei werten ab 50W? Sobald man mehr Leistung zieht geht es wieder genauer?
So sieht es Aktuell aus wie auf Bild Messung1.

Messung2 ist letztes Jahr vor dem 13.Nov, weil ab da muss ich ein Update gemacht haben. Seit dem, findet dieses Prellen? im untern Lastbereich statt.
Erspringt von 50 auf 150Watt.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 15 April 2019, 19:22:02
Das sieht nicht nach Prellen aus.
Kann es sein, dass Du die Intervalle zu kurz konfiguriert hast?
Poste doch mal Deine Konfiguration und Details zu Deinem Zähler.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 15 April 2019, 20:03:38
Ist das nicht das gleiche "Problem" wie ich hier habe: https://forum.fhem.de/index.php/topic,19285.msg910573.html#msg910573

Ich habe ständig wechselnde Sprünge in der Grafik.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: GlennDandy am 15 April 2019, 20:28:09
hallo, das sind die werte aus get info

M Status: ArduCounter V3.14 on NANO compiled Mar  3 2019 11:59:16
I30 60 2 2
T100 110
V0
P4 falling pullup min 30, R4 C53 D1/1 T4751 N4407519,0 X0 A33
M EEPROM Config: Cfg Slots: 2
M Slot: I 30,60,2,2
M Slot: A 4,2,1,2
M Next report in 2829 milliseconds


und das sind die Attribute


Factor            1000
pinD4             falling pullup 30
pulsesPerKWh 1000
room             System
userReadings gesammtP monotonic {ReadingsVal("Energie","pinD4",0)/1000}, Leistung {ReadingsVal("Energie","powerD4",0)*1000}, power4
                   {ReadingsVal("Energie","powerD4",0)}
userattr         pinD4


Hab noch nen Monotonic, weil früher glaube kein "long" gab. Hab das nie umstellt.

Der Zähler ist ein Eurocount3 SDM72D der hat 1000impulse pro kw/h und impulsebreite ist 30ms

hatte vorher falling pullup keine zeit stehen hab jetzt mal 30 getestet. Spingt aber leider immer noch.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 15 April 2019, 21:01:15
Hallo GlenDaddy,

Du solltest das Attribut interval setzen. Vor allem die zweite Zahl sollte deutlich höher sein.
Versuch es doch mal mit

attr myCounter interval 60 600 2 2

oder auch 30 600 2 2
Ich sollte vermutlich den Default-Wert im Modul höher stellen, falls jemand das Attribut nicht selbst setzt ...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: GlennDandy am 16 April 2019, 07:42:13
danke StefanStrobel,
das hat geholfen die Messungen im unteren Bereich sind deutlich genauer.

Hab 30 600 2 2 genommen.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 20 April 2019, 10:17:44
Heute gab es ein Update, kann mir jemand sagen wo die Release notes zu finden sind?


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 20 April 2019, 12:15:15
Hilft Dir das? https://forum.fhem.de/index.php?topic=97725.0

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 21 April 2019, 07:13:09
Zitat von: Otto123 am 20 April 2019, 12:15:15
Hilft Dir das? https://forum.fhem.de/index.php?topic=97725.0

Gruß Otto
Danke für den tip. Wenn ich das richtig verstanden habe, müssen die maintainer in die changed Datei von Hand eintragen.
Wird das nicht gemacht bekommt man wohl auch nichts angezeigt.

Lass mich aber auch gerne eines besser belehren.


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 21 April 2019, 09:43:16
So ist es.

Alternativ:
https://forum.fhem.de/index.php/topic,99711.msg930968.html#msg930968

Gruß / frohe Ostern
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 12 Mai 2019, 09:48:38
@StefanStrobel
Mir hängt sich allen Anschein nach der ESP immer wieder auf.
Genau erklären kann ich es mir nicht. Hab einen Backup Batterie dran, also Stromausfall kommt nicht in frage.
Es kommen einfach keine Daten mehr vom ESP an FHEM.
Das letzt mal kamen bei mir wohl Daten am 8.5.
Ich muss dann immer an den ESP und ein Reset machen, dann geht er eigentlich wieder.
Es läuft noch die 3.12 auf dem ESP.

Dazu hab ich mal eine Frage:
Kannst du den Sketch so erweitern, dass man erkennen kann, wie die WLAN Qualität ist?
Woran kann ich erkennen, wann das letzte mal Daten eingegangen sind?

Danke und Gruß Robert

EDit: hier noch ein list vom device
Internals:
   Board      ESP8266
   BoardDet    ESP8266_WEMOS_D1MINI
   CFGFN      /opt/fhem/FHEM/energie.cfg
   DEF        192.168.1.135:80
   DeviceName 192.168.1.135:80
   FD         108
   FUUID      5c4308fc-f33f-abd1-e93e-a415c376f9ee59ca
   FVERSION   98_ArduCounter.pm:0.192040/2019-04-17
   Initialized 1
   LASTOPEN   1557646821.82885
   NAME       Gaszaehler
   NOTIFYDEV  global
   NR         876
   NTFY_ORDER 50-Gaszaehler
   PARTIAL   
   STATE      2862.34 m3 opened
   SketchCompile Feb 17 2019 10:08:27
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 3.12
   VersionModule 6.14 - 24.2.2019
   WaitForAlive 0
   allowedPins 0,1,2,5,17,A0
   buffer     
   deviceBooted 1557646818.09485
   devioLoglevel 3
   nextOpenDelay 60
   OLDREADINGS:
   READINGS:
     2019-05-12 09:49:18   GasZaehlerstand 286234
     2019-05-12 09:49:18   GasZaehlerstand2 2862.34
     2019-05-12 09:49:18   countDiffD2     0
     2019-05-12 09:49:18   interpolatedLongD2 52121
     2019-05-12 09:49:18   longD2          52121
     2019-05-12 09:49:18   pinD2           0
     2019-05-12 09:49:18   powerD2         0.000
     2019-05-12 09:49:18   rejectD2        105593
     2019-05-12 09:49:18   seqD2           9
     2019-05-12 09:40:21   state           opened
     2019-05-12 09:49:18   timeDiffD2      60000
   runningCfg:
     2          falling pullup 5
     I          15 60 0 0
     T          100 110
     V          0
Attributes:
   DbLogExclude .*
   comment    Letzter Reset am Gerät = 2019-05-12
GasZaehlerstand = Wert für GasCallculator
GasZaehlerstand2 = Wert der am Gaszähler abgelesen werden kann in m3
   disable    0
   event-on-change-reading .*
   factor     10
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   group      EVerbrauch.Devices
   interval   15 60
   pinD2      falling pullup 5
   room       9.04_Energiewerte
   stateFormat GasZaehlerstand2 m3 state
   userReadings GasZaehlerstand monotonic {ReadingsVal("Gaszaehler","pinD2",0)},
GasZaehlerstand2 {sprintf("%.2f",ReadingsVal("Gaszaehler","GasZaehlerstand",0)/100)}
   userattr   pinD2
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 15 Mai 2019, 10:44:50
Hallo,

Wenn Du verbose auf 5 stellst dann sollten im Log viele hilfreiche Informationen landen.
Poste das doch mal so dass man sieht, was protokolliert wird solange es noch klappt und was dann passiert.

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 16 Juni 2019, 13:49:14
Zitat von: StefanStrobel am 15 Mai 2019, 10:44:50
Hallo,

Wenn Du verbose auf 5 stellst dann sollten im Log viele hilfreiche Informationen landen.
Poste das doch mal so dass man sieht, was protokolliert wird solange es noch klappt und was dann passiert.

Gruß
   Stefan

Hallo Stefan,

vor meinem Urlaub (letzte Woche) ist es wieder passiert.
Der Controller war noch per Ping zu erreichen.
Er lieferte allerdings keine Zahlen mehr an FHEM.

Ich habe Logfiles, nur kann ich es nicht genau eingrenzen.
Da es aber das fhem Log ist, würde ich die Dateien hier nicht unbedingt im Forum teilen.
Kann ich dir die Daten auf eine andere Art zukommen lassen?

Ich hab jetzt noch mal eine Filelog device nur für den ESP angelegt.

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 17 Juni 2019, 08:04:59
Hallo Robert,

Du kannst mir gerne einen Freigabelink zu Dropbox, OneDrive o.ä. als PM schicken.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 17 Juni 2019, 08:41:14
Zitat von: StefanStrobel am 17 Juni 2019, 08:04:59
Hallo Robert,

Du kannst mir gerne einen Freigabelink zu Dropbox, OneDrive o.ä. als PM schicken.

Gruß
    Stefan

Hallo Stefan,

Geht klar.
Mach ich dir heute Abend nach der Arbeit fertig.
Bekommst dann ne PM.

Danke und Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 17 Juni 2019, 18:31:05
Hallo Robert,

Sieht nach verzögerten Antworten auf den Keepalive aus. Das könnte auch daran liegen, dass Fhem in dem Moment mit anderen Dingen beschäftigt ist.
Die Log-Meldungen muss ich noch mal überarbeiten. Die passen nicht ganz.
Wenn ein Keepalive nicht innerhalb des definierten Timeouts (Default 2 Sekunden) beantwortet wird, dann versucht das Modul es nochmal. Erst wenn es auch beim zweiten Mal nicht beantwortet wird, wird tatsächlich die Verbindung neu aufgebaut.
Die Log-Meldung wäre dann "no retries left ...".
Soweit kommt es bei Dir aber scheinbar nicht.
Probier doch mal den Timeout per Attribut keepAliveTimeout auf einen höheren Wert, z.B. 6 Sekunden zu setzen.
Ein überarbeitetes Modul mit klareren Log-Meldungen kommt.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 17 Juni 2019, 19:30:35
Ergänzung:
Am 6.6. um 6:11 scheint sich Dein Wemos im Log das letzte Mal gemeldet zu haben.
Danach antwortet er zwar auf Keepalive, aber er berichtet seinen Zählerstand nicht mehr.
Das muss ich mir noch näher ansehen. Irgendwie scheint der Wemos sich hier anders als ein Arduino zu verhalten.

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 17 Juni 2019, 21:05:05
Zitat von: StefanStrobel am 17 Juni 2019, 19:30:35
Ergänzung:
Am 6.6. um 6:11 scheint sich Dein Wemos im Log das letzte Mal gemeldet zu haben.
Danach antwortet er zwar auf Keepalive, aber er berichtet seinen Zählerstand nicht mehr.
Das muss ich mir noch näher ansehen. Irgendwie scheint der Wemos sich hier anders als ein Arduino zu verhalten.

Gruß
   Stefan

Hallo Stefan,

okay alles klar, kein Stress.

Hat sonst keiner einen ESP im Einsatz?

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 18 Juni 2019, 06:56:32
Bis jetzt habe ich selbst nur Arduinos im Einsatz, werde aber demnächst noch einen Wasserzähler per Wemos anbinden.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 01 Juli 2019, 20:41:48
Hallo,

Ich habe den Code der Firmware überarbeitet, der die Zeitsteuerung für das Melden der Zählerstände etc. an Fhem regelt.
Da war wohl ein Bug drin, so dass der Zähler nach 3-4 Wochen aufgehört hat sich zu melden.
Ich hoffe die neue Version behebt das Problem. Der Test läuft zur Zeit.
Falls es jemand auch schon testen möchte -> anbei der Code.

Gruss
   Stefan


EDIT 9.7.19: neue Version ist eingecheckt (Firmware Quellcode unter contrib/arduino, Hex-File für den Arduino Nano unter FHEM/firmware)
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 01 Juli 2019, 21:28:41
Zitat von: StefanStrobel am 01 Juli 2019, 20:41:48
Hallo,

Ich habe den Code der Firmware überarbeitet, der die Zeitsteuerung für das Melden der Zählerstände etc. an Fhem regelt.
Da war wohl ein Bug drin, so dass der Zähler nach 3-4 Wochen aufgehört hat sich zu melden.
Ich hoffe die neue Version behebt das Problem. Der Test läuft zur Zeit.
Falls es jemand auch schon testen möchte -> anbei der Code.

Gruss
   Stefan


Danke dir schon Stefan für die Arbeit.
Ich komme leider erst am Mittwoch zum aufspielen der neuen Software.

Melde mich noch mal sobald ich etwas Neues habe.

Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 09 Juli 2019, 20:22:24
Hallo,

ich habe nochmal einen Bug im Code für den ESP entdeckt und behoben.
Der war allerdings nur relevant wenn man per Reflexlichtschranke am analogen Eingang zählen wollte.
Die neue Version habe ich eingecheckt (Sketch unter contrib/arduino)

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 10 Juli 2019, 12:33:30
Ich hab die letzte Woche den neuen Sketch auf den esp gepackt.
Bisher keine Auffälligkeiten.
Normal war aber auch immer erst nach einem Monat ein Ausfall circa zu verzeichnen.

Ich meld mich noch mal in ne paar Wochen wenn doch noch ein bug auftauchen sollte.


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 05 August 2019, 20:57:53
Es scheint als ob sich der esp schon wieder verabschiedet hat.
Das letzte mal hat er am 30.7 gezahlt.
Zumindest stehen hierzu einig Readings zu das Datum seit dem.
Eine Ping an den esp bekomme ich beantwortet.
Auch ein get info liefert eine Ausgabe zurück.
Allerdings werden keine Zählerstände übertragen.
Das Verhalten ist extrem komisch.
Soll ich doch mal auf die neuste Version Updaten?



Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 06 August 2019, 10:31:24
Hallo Robert,

kannst Du bitte die Ausgabe von get info posten?

Gruss / Thanx
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 06 August 2019, 17:37:42
Zitat von: StefanStrobel am 06 August 2019, 10:31:24
Hallo Robert,

kannst Du bitte die Ausgabe von get info posten?

Gruss / Thanx
   Stefan
Hier die Ausgabe, wenn die ne Screenshot lieber ist lass es mich wissen.
Gruß Robert


M Status: ArduCounter V3.2 on ESP8266 ESP8266_WEMOS_D1MINI compiled Jul  5 219 16:57:2
I15 60 
T100 110
V
P2 falling pullup min 5, R2 C6275 D/ T N-1531473924, X


M EEPROM Config: Cfg Slots: 3
M Slot: I 15,60,,
M Slot: T 100,110,,
M Slot: A 2,2,1,5
M Next report in 4294966781 milliseconds



Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 07 August 2019, 14:52:35
Hallo Robert,

ein Screenshot wäre tatsächlich hilfreich.
Bitte mach doch nach dem ersten Screenshot mit der aktuellen Situation einen "set reset" für das Fhem-Arducounter-Device
und dann nach ein paar Minuten einen zweiten Screenshot von "get info".

Dann um sicherzugehen einen Hardware-Reset des ESP und nochmal ein paar Minuten später einen dritten Screenshot von "get info".

Gruss und vielen Dank!
    Stefan


Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 07 August 2019, 19:15:19
Zitat von: StefanStrobel am 07 August 2019, 14:52:35
Hallo Robert,

ein Screenshot wäre tatsächlich hilfreich.
Bitte mach doch nach dem ersten Screenshot mit der aktuellen Situation einen "set reset" für das Fhem-Arducounter-Device
und dann nach ein paar Minuten einen zweiten Screenshot von "get info".

Dann um sicherzugehen einen Hardware-Reset des ESP und nochmal ein paar Minuten später einen dritten Screenshot von "get info".

Gruss und vielen Dank!
    Stefan

Alles klar.
Erledigt. Genau in der von dir vorgeschlagen Reihenfolge.
Wie gesagt, ich hab nicht den letzten Stand von dir drauf.
Du hattest ja gesagt es ist nur für Relaxlichtschranken relevant.

Edit: Wenn du willst kann ich dir auch wieder die Logs vom entsprechenden Zeitraum zur verfügung stellen.

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 08 August 2019, 08:52:38
Hallo Robert,

bei der Ausgabe fehlen ein paar uint32_t Zahlen.
ich vermute fast dass da beim Compilieren des Sketch etwas schief gelaufen ist.
Mit welcher Version des Arduino- bzw. 8266-Frameworks hast Du es denn compiliert?

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 08 August 2019, 09:07:26
Zitat von: StefanStrobel am 08 August 2019, 08:52:38
Hallo Robert,

bei der Ausgabe fehlen ein paar uint32_t Zahlen.
ich vermute fast dass da beim Compilieren des Sketch etwas schief gelaufen ist.
Mit welcher Version des Arduino- bzw. 8266-Frameworks hast Du es denn compiliert?

Gruss
   Stefan

Muss ich nachher schauen.
Hab ich im Stegreif nicht im Kopf.

Ich werd nachher noch mal Neu am mac Compileren, das letzte mal war es per altem Windows Laptop.

Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 08 August 2019, 15:11:38
Hallo Robert,

ich würde je Pin eine Ausgabe wie z.B.

P4 falling pullup min 30, R4 C135624 D2/2 T30625 N1654170639,0 X0 A89
P5 falling pullup min 30, R5 C131744 D1/1 T84943 N1654170639,0 X0 A80
P17 rising min 50, R17 C0 D0/0 T0 N87614519,0 X0

erwarten.
Bei Dir fehlen einige Zahlen.

Der entsprechende Code in der Funktion showPinCounter lautet:


short activePin[MAX_PIN];                       // printed arduino pin number for index if active - otherwise -1
...

    uint32_t count, countDiff, realDiff;
    uint32_t startT, endT, timeDiff, widthSum;
    uint16_t rejCount, rejDiff;
    uint8_t countIgn;
   
    noInterrupts();                                 // copy counters while they cant be changed in isr
    startT   = intervalStart[pinIndex];             // start of interval (typically first pulse)
    endT     = intervalEnd[pinIndex];               // end of interval (last unless not enough)
    count    = counter[pinIndex];                   // get current counter (counts all pulses
    rejCount = rejectCounter[pinIndex];
    countIgn = counterIgn[pinIndex];                // pulses that mark the beginning of an interval
    widthSum = pulseWidthSum[pinIndex];
    interrupts();
       
    timeDiff  = endT - startT;                      // time between first and last impulse
    realDiff  = count - lastCount[pinIndex];        // pulses during intervall
    countDiff = realDiff - countIgn;                // ignore forst pulse after device restart
    rejDiff   = rejCount - lastRejCount[pinIndex];

    Output->print(F("R"));                          // R Report
    Output->print(activePin[pinIndex]);
    Output->print(F(" C"));                         // C - Count
    Output->print(count);
    Output->print(F(" D"));                         // D - Count Diff (without pulse that marks the begin)
    Output->print(countDiff);
    Output->print(F("/"));                          // R - real Diff for long counter - includes first after restart
    Output->print(realDiff);
    Output->print(F(" T"));                         // T - Time
    Output->print(timeDiff); 
    Output->print(F(" N"));                         // N - now
    Output->print((long)now);
    Output->print(F(","));
    Output->print(millisWraps);   
    Output->print(F(" X"));                         // X Reject
    Output->print(rejDiff); 


bisher hat Output->print() mit uint32_t problemlos funktioniert, auch auf meinem Wemos D1 Mini.

Gruss
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 08 August 2019, 20:59:27
Zitat von: StefanStrobel am 07 August 2019, 14:52:35
Hallo Robert,

ein Screenshot wäre tatsächlich hilfreich.
Bitte mach doch nach dem ersten Screenshot mit der aktuellen Situation einen "set reset" für das Fhem-Arducounter-Device
und dann nach ein paar Minuten einen zweiten Screenshot von "get info".

Dann um sicherzugehen einen Hardware-Reset des ESP und nochmal ein paar Minuten später einen dritten Screenshot von "get info".

Gruss und vielen Dank!
    Stefan

Ich hab jetzt den Aktuellen Sketch 3.2 auf den Wemos D1 Mini gepackt.
Sobald ich nun probiere den Mini per FHEM anzusprechen, schmiert er immer ab.

Ich hab hier auch mal die Konsolen Ausgabe vom D1:


I30 60 2 2
T100 110
V0
M WiFi already connected to fligglsnetz-sh
M Server started
M Use this IP: 192.168.30.130
M new connection from 192.168.1.11 accepted
ISR not in IRAM!

Abort called

>>>stack>>>

ctx: cont
sp: 3ffffce0 end: 3fffffc0 offset: 01b0
3ffffe90:  00000000 4bc6a7f0 000024ee 000024ee 
3ffffea0:  00000000 00000000 4bc6a7f0 00000002 
3ffffeb0:  3ffee30c 3ffee5cc 00000002 40100496 
3ffffec0:  00000000 3fffdad0 3ffee5bd 40201425 
3ffffed0:  3ffee30c 3ffee308 00000002 40202b6f 
3ffffee0:  00000004 00000004 00000004 00000001 
3ffffef0:  3ffee594 00000000 3ffef55c 40206d70 
3fffff00:  00000000 4bc6a7f0 000024ee 000024ee 
3fffff10:  3ffee30a 3ffee308 3ffee30c 40203132 
3fffff20:  00000000 00000000 3ffef654 40204334 
3fffff30:  3fffdad0 3ffee5d7 00000061 000024ee 
3fffff40:  3fffdad0 3ffee5d7 3ffee5f0 402032a0 
3fffff50:  40207430 00000000 4010018e 44189374 
3fffff60:  40205ffc 00000000 402074e0 00000000 
3fffff70:  3fffdad0 00000000 00000000 3ffee6e4 
3fffff80:  3fffdad0 00000000 3ffee67c 402033cc 
3fffff90:  00000000 00000000 00000001 3ffee6e4 
3fffffa0:  3fffdad0 00000000 3ffee6b4 40205478 
3fffffb0:  feefeffe feefeffe 3ffe8568 40100811 
<<<stack<<<
1s⸮⸮YY}.x⸮10i<⸮⸮⸮`p⸮9p⸮h2⸮⸮jY⸮8⸮Y⸮⸮;⸮
M no config in EEPROM

ArduCounter V3.20 on ESP8266 ESP8266_WEMOS_D1MINI compiled Aug  8 2019 20:55:42 Hello, pins 0,1,2,5,17 available T560,0 B560,0
I30 60 2 2
T100 110
V0
M WiFi already connected to fligglsnetz-sh
M Server started
M Use this IP: 192.168.30.130
M new connection from 192.168.1.11 accepted
ISR not in IRAM!

Abort called

>>>stack>>>

ctx: cont
sp: 3ffffce0 end: 3fffffc0 offset: 01b0
3ffffe90:  00000000 4bc6a7f0 0000f63f 0000f63f 
3ffffea0:  00000000 00000000 4bc6a7f0 00000002 
3ffffeb0:  3ffee30c 3ffee5cc 00000002 40100496 
3ffffec0:  00000000 3fffdad0 3ffee5bd 40201425 
3ffffed0:  3ffee30c 3ffee308 00000002 40202b6f 
3ffffee0:  00000004 00000004 00000004 00000001 
3ffffef0:  3ffee594 3fffdad0 3ffee6e4 00000030 
3fffff00:  00000000 4bc6a7f0 0000f63f 0000f63f 
3fffff10:  3ffee30a 3ffee308 3ffee30c 40203132 
3fffff20:  00000000 00000000 3ffef89c 40204334 
3fffff30:  3fffdad0 3ffee5d7 00000061 0000f63f 
3fffff40:  3fffdad0 3ffee5d7 3ffee5f0 402032a0 
3fffff50:  40207430 00000000 4010018e 4ccccccc 
3fffff60:  40205ffc 00000000 402074e0 00000000 
3fffff70:  3fffdad0 00000000 00000000 3ffee6e4 
3fffff80:  3fffdad0 00000000 3ffee67c 402033cc 
3fffff90:  00000000 00000000 00000001 3ffee6e4 
3fffffa0:  3fffdad0 00000000 3ffee6b4 40205478 
3fffffb0:  feefeffe feefeffe 3ffe8568 40100811 
<<<stack<<<
⸮a`⸮⸮p2⸮1⸮c⸮⸮18⸮r⸮⸮ 2⸮S⸮8⸮⸮r⸮y⸮{
M no config in EEPROM

ArduCounter V3.20 on ESP8266 ESP8266_WEMOS_D1MINI compiled Aug  8 2019 20:55:42 Hello, pins 0,1,2,5,17 available T560,0 B560,0
I30 60 2 2
T100 110
V0
M WiFi already connected to fligglsnetz-sh
M Server started
M Use this IP: 192.168.30.130

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 08 August 2019, 23:55:39
Ich habe mal auf die Schnelle gegoogelt und folgendes gefunden:

https://forum.arduino.cc/index.php?topic=616264.0

Scheint ein bekanntes Problem seit Version 2.5.1 der ESP8266 Library zu sein und ich muss wohl eine kleine Anpassung am Code machen.
Ich schau mir das morgen genauer an poste dann ein Update.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 09 August 2019, 08:39:40
Zitat von: StefanStrobel am 08 August 2019, 23:55:39
Ich habe mal auf die Schnelle gegoogelt und folgendes gefunden:

https://forum.arduino.cc/index.php?topic=616264.0

Scheint ein bekanntes Problem seit Version 2.5.1 der ESP8266 Library zu sein und ich muss wohl eine kleine Anpassung am Code machen.
Ich schau mir das morgen genauer an poste dann ein Update.

Gruß
    Stefan
Hallo Stefan,

Ich hab echt ein schlechtes Gewissen, dass ich dir so viel Arbeit mache.
Wenn ich es richtig verstanden habe sollte alles mit der lib 2.5.0 laufen?
Ich kann auch erst mal so kompilieren. Mir ist das relativ.

Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 09 August 2019, 10:36:39
Hallo Robert,

kein Problem.
Ich freue mich ja wenn es jemand testet.
Anbei eine neue Version, die bei mir mit der Core-Version 2.5.2 zu funktionieren scheint :-)
Leider ist es so weit ich gesehen habe beim 8266 nicht so einfach den Millis()-Counter zum Testen in die Zukunft zu setzen...

Gruss
   Stefan

EDIT 10.8.19: angehängte Datei entfernt, aktuelle Version ist im SVN
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 09 August 2019, 14:28:13
Zitat von: StefanStrobel am 09 August 2019, 10:36:39
Hallo Robert,

kein Problem.
Ich freue mich ja wenn es jemand testet.
Anbei eine neue Version, die bei mir mit der Core-Version 2.5.2 zu funktionieren scheint :-)
Leider ist es so weit ich gesehen habe beim 8266 nicht so einfach den Millis()-Counter zum Testen in die Zukunft zu setzen...

Gruss
   Stefan

Sobald ich zuhause bin, wird geflashed.
Ich meld mich dann noch mal.

Danke und Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 10 August 2019, 14:53:39
Hallo,

bei der Suche nach weiteren potentiellen Problemen habe ich noch mehr Bugs gefunden und entfernt.
Die neue Version habe ich gleich eingecheckt (Modul + Firmware).

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 10 August 2019, 17:46:41
Zitat von: StefanStrobel am 10 August 2019, 14:53:39
Hallo,

bei der Suche nach weiteren potentiellen Problemen habe ich noch mehr Bugs gefunden und entfernt.
Die neue Version habe ich gleich eingecheckt (Modul + Firmware).

Gruss
   Stefan

Hallo Stefan. Alles klar danke.
Gestern Abend hab ich die 3.31 auf den esp geflasht. Bis jetzt scheint alles gut zu funktionieren.

Mal eine Frage wenn sind dein FHEM Modul und uC abwärtskompatibel?
Oder muss immer seas aktuellste Modul mit der aktuellsten uC Firmware laufen?

Mal schauen ob ich morgen dazu komme die aktuellste Firmware aufzuspielen.
Sind die Änderungen nur für den esp relevant oder auch für die arduinos?

Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 10 August 2019, 23:34:47
Hallo Robert,

Ich glaube dass ich mit der heutigen Änderung endlich den letzten Bug fixen konnte, der dazu geführt hat, dass nach 25 Tagen keine Zählerstände mehr an Fhem gemeldet wurden. Das müsste auch bei Arduinos ein Problem gewesen sein. Seltsamerweise hat sich bisher keiner beschwert. Ich habe es aber auch nicht bemerkt, da mein Fhem nie so lange ohne Neustart gelaufen ist und ich immer wieder was Neues ausprobiert habe.
Die Firmware und das Modul sollten seit eine Jahr weitgehend kompatibel sein. Es ist aber trotzdem ratsam, beides immer aktuell zu halten.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 11 August 2019, 10:52:55
Hallo Stefan,

Danke für die antwortet.
Ich hab heute als aktualisiert.

Beim arduino kommt ja auch jeder Neustart dazwischen.

Warten wir mal ab was der neue Sketch so in ein paar Tagen anstellt.

Danke für deine Arbeit


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 11 August 2019, 11:34:51
Hallo Stefan,

doch ich muss gestehen ich war offenbar betroffen von den 25 Tagen (Arduino nano) aber wie es so ist: Ich habe es nicht näher untersucht, hab mich nur gewundert nach Strom weg ist alles wieder gut. Und es waren bei uns ein paar ungeplante Stromausfälle dazwischen  :o
Ich werde also dann mal updaten  ;)

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 11 August 2019, 15:13:17
Hallo Stefan,

ich habe meinen Zähler auf Wemos D1 auf die neueste FW 3.32 und Modulversion aktualisiert. Die eigentliche Zählung funktioniert seit langer Zeit schon problemlos. Ich habe aber immer wieder Reconnects - manchmal nur ein oder zwei Reconnects und dann auch mal 100+ direkt hintereinander. Natürlich tippe ich auf schlechten WLAN Empfang - direkt daneben habe ich aber noch einen zweiten Wemos mit ESP Easy, der absolut unauffällig läuft. Ich habe den ArduCounter Wemos auch schon gegen einen anderen getauscht, um die Hardware auszuschließen. Allerdings ohne Besserung.

Gäbe es eine Möglichkeit in der Firmware den WLAN RSSI Wert mit zu übertragen? Hättest Du einen Vorschlag, wie ich das Problem noch besser eingrenzen kann?

Danke & Gruß
Tobi
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 11 August 2019, 15:36:24
Zitat von: tpm88 am 11 August 2019, 15:13:17
Hallo Stefan,

ich habe meinen Zähler auf Wemos D1 auf die neueste FW 3.32 und Modulversion aktualisiert. Die eigentliche Zählung funktioniert seit langer Zeit schon problemlos. Ich habe aber immer wieder Reconnects - manchmal nur ein oder zwei Reconnects und dann auch mal 100+ direkt hintereinander. Natürlich tippe ich auf schlechten WLAN Empfang - direkt daneben habe ich aber noch einen zweiten Wemos mit ESP Easy, der absolut unauffällig läuft. Ich habe den ArduCounter Wemos auch schon gegen einen anderen getauscht, um die Hardware auszuschließen. Allerdings ohne Besserung.

Gäbe es eine Möglichkeit in der Firmware den WLAN RSSI Wert mit zu übertragen? Hättest Du einen Vorschlag, wie ich das Problem noch besser eingrenzen kann?

Danke & Gruß
Tobi

Soweit ich es gesehen habe, gibt es eine funktion WiFi.RSSI. Gut wäre es schon.
Meine Unifi Accesspoint geben mir an, mit welcher stärke der ESP arbeitet.

Hast du die Kanal Funktion im Router auf Auto stehen?
Und die Sendeleistung vielleicht auch?
So ein Kanalwechsel oder Poweranpassung kann schon mal zum Abbruch der Verbindung führen.

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 12 August 2019, 17:54:49
Hallo Tobi,

Das Fhe,-Modul und die Firmware tauschen bei Verbindung über WLAN ständig (per Default alle 10 Sekunden) Keepalives aus. Wenn die nicht rechtzeitig (per Default innerhalb 2 Sekunden) beantwortet werden, wird die TCP-Verbindung geschlossen und neu aufgebaut. Dabei gehen allerdings keine Daten verloren. Der ESP zählt munter weiter und meldet seine Stände bei der nächsten Gelegenheit.
Ich hatte schon einen Fall, in dem Fhem von anderen Modulen so sehr ausgelastet war, dass der Timeout zugeschlagen hat.
Es ist also eher nicht die WLAN-Verbindung, sonst würde eventuell der Reconnect auch Probleme machen. Ich tippe eher auf Verzögerte Bearbeitung o.ä.
Um das herauszufinden kannst Du Verbose 5 einstellen und das Log beobachten bzw. posten.
Du kannst auch mal die Attribute verändern:

Zitat
keepAliveDelay
defines an interval in which the module sends keepalive messages to a counter device that is conected via tcp.
This attribute is ignored if the device is connected via serial port.
If the device doesn't reply within a defined timeout then the module closes and tries to reopen the connection.
The module tells the device when to expect the next keepalive message and the device will also close the tcp connection if it doesn't see a keepalive message within the delay multiplied by 2.5
The delay defaults to 10 seconds.
Example: attr myCounter keepAliveDelay 30
keepAliveTimeout
defines the timeout when wainting for a keealive reply (see keepAliveDelay) The timeout defaults to 2 seconds.
Example: attr myCounter keepAliveTimeout 3
keepAliveRetries
defines how often sending a keepalive is retried before the connection is closed and reopened.
It defaults to 2.
Example: attr myCounter keepAliveRetries 3

Das mit der RSSI packe ich auf die Wunschliste. Sobald ich dazu komme, schau ich mir das an.

Gruss
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 12 August 2019, 19:43:35
Hallo,

mir ist heute nochmal ein Bug in der Firmware aufgefallen.
Deshalb habe ich gerade nochmal ein Update eingecheckt.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 12 August 2019, 21:21:07
Korrektur:

der letzte check in war fehlerhaft.
Jetzt ist nochmal eine neue Version (3.34+aktualisiertes Modul) eingecheckt, die bei devVerbose >= 5 auch ein RSSI-Reading erzeugt.
Ich hoffe es dabei keine neuen Fehler reingekommen ;-)

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 12 August 2019, 21:50:18
Zitat von: no_Legend am 11 August 2019, 15:36:24
Meine Unifi Accesspoint geben mir an, mit welcher stärke der ESP arbeitet.

Hast du die Kanal Funktion im Router auf Auto stehen?
Und die Sendeleistung vielleicht auch?
So ein Kanalwechsel oder Poweranpassung kann schon mal zum Abbruch der Verbindung führen.

Hallo Robert,

tatsächlich habe ich auch einen Unifi AP. Im Controller sehe ich für beide (direkt benachbarte) Wemos RSSI Werte um -70dbm. Der ArduCounter Wemos hat allerdings stets einen deutlich schlechteren WiFi Experience Wert ( um 30% ), während der andere ESPEasy Wemos eher stabile WiFi Experience Werte > 60% zeigt. Für den ArduCounter Wemos meldet der Unifi AP meist hohe Receive Retries. Deshalb tippe ich ja auch bei den ArduCounter Reconnects zunächst auf WLAN Aussetzer. Im Unifi Controller habe ich noch kein Log gefunden, welches WLAN Abbrüche bzw. Neuanmeldungen eines einzelnen Clients loggt.

Zusätzlich habe ich testweise in der Firmware den WiFi PHY Mode mal fix auf 11G gesetzt. Hierzu habe ich vor dem Connect folgende Zeile eingefügt:

WiFi.setPhyMode(WIFI_PHY_MODE_11G);

Laut  https://github.com/esp8266/Arduino/issues/2795  (https://github.com/esp8266/Arduino/issues/2795) ( vgl. Antwort vom 8.10.2018 ) soll das die Stabilität von WiFi Verbindungen beim ESP8266 verbessern.

Gruß
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 12 August 2019, 21:55:34
Zitat von: StefanStrobel am 12 August 2019, 17:54:49
Ich hatte schon einen Fall, in dem Fhem von anderen Modulen so sehr ausgelastet war, dass der Timeout zugeschlagen hat.
Es ist also eher nicht die WLAN-Verbindung, sonst würde eventuell der Reconnect auch Probleme machen. Ich tippe eher auf Verzögerte Bearbeitung o.ä.
Um das herauszufinden kannst Du Verbose 5 einstellen und das Log beobachten bzw. posten.

Hallo Stefan,

vielen Dank für diesen Aspekt und die Tipps zur Problemeingrenzung. Bezüglich verzögerter Verarbeitung werde ich mal sehen, ob der freezemon da ggf. korrelierte Einträge erzeugt hat. Ich werde weiter testen und versuchen, via verbose 5 mehr Licht ins Dunkel zu bringen. Danke auch für den um RSSI erweiterten Sketch - Feedback hierzu kann ich aber vsl. erst nächste Woche liefern.

Gruß
Tobi
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: msome am 07 September 2019, 20:03:53
Hallo, ich wollte mich mal bedanken für den ArduCounter.  :)

Ich hab den Wasserzähler im Haus damit ausgestattet und muss sagen ich bin überaus zufrieden.
Eine Woche hat er mit einem Näherungssensor der über ein Relais am ArduCounter angeschlossen war gezählt. Total falsch - viel zu viel, da der Relaiskontakt scheinbar geprellt hat. Hardware-Problem. Eine Entprellung mit Kondensator wie ab und zu zu lesen ist, gefällt mir wegen der Mini-Kurzschlüsse beim Aufladen nicht.

Letzte Woche habe ich das Relais dann gegen einen Optokoppler getauscht. War scheinbar die richtige Entscheidung.
Seit einer Woche zählt der ArduCounter jetzt richtig. Kein einziger Liter fehlt oder zu viel. Bei einem 4-Personen-Haushalt, d.h. da läuft (speziell jetzt in den Ferien) doch der eine oder andere Liter durch.

Das ArduCounter FHEM Modul läuft zusammen mit einem statistics Modul und zählt somit den Wasserverbrauch pro Tag.

Vielen Dank nochmal für die Entwicklung und das Debugging bisher - an Stefan und alle die mitgeholfen haben.

Matthias
[7. Sept 2019: ArduCounter Firmware 3.34 + WIFI_PHY_MODE_11G Option; FHEM Modulversion 6.18)
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 14 September 2019, 13:02:35
Zitat von: StefanStrobel am 12 August 2019, 21:21:07
Korrektur:

der letzte check in war fehlerhaft.
Jetzt ist nochmal eine neue Version (3.34+aktualisiertes Modul) eingecheckt, die bei devVerbose >= 5 auch ein RSSI-Reading erzeugt.
Ich hoffe es dabei keine neuen Fehler reingekommen ;-)

Gruss
   Stefan

Hallo Stefan,

ich bekomme die 3.34 nicht kompiliert.
hier dei Fehlermeldung:

Arduino: 1.8.9 (Mac OS X), Board: "LOLIN(WEMOS) D1 R2 & mini, 80 MHz, Flash, Disabled, All SSL ciphers (most compatible), 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 921600"

sketch_sep14b:131:35: error: ArduCounterTestConfig.h: No such file or directory
#include "ArduCounterTestConfig.h"
                                   ^
compilation terminated.
exit status 1
ArduCounterTestConfig.h: No such file or directory

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.



Ich glaube Zeile 107 sollte wie folgt aussehen:
/*#define TestConfig // include my SSID / secret*/

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 15 September 2019, 21:01:39
Hi Robert,

da hast Du natürlich recht.
In der Zeile darüber habe ich ja sogar geschrieben: "remove this ..."

Ich hätte das vor dem Checkin auskommentieren sollen und checke bei nächster Gelegenheit eine neue Version ein.

Hat eigentlich jemand Interesse an einer Version für den esp32?
Ich habe den Code mal so umgestellt, dass er mit PlatformIO und für den ESP32 compiliert.
Es gäbe da aber sicher noch einiges zu testen.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 19 September 2019, 10:54:54
Hallo Matthias,

das mit dem induktiven Näherungssensor klingt gut!
Ich habe meinen Wasserzähler bisher noch nicht angeschlossen, möchte das aber auch noch tun.
Bisher habe ich es mit einer einfachen IR Reflexlichtschranke versucht. Der Reflektionsunterschied bei einem kleinen Rädchen war aber zu gering. Dann habe ich eine Laserdiode verwendet, aber da der Zeiger des Zählers eine ähnliche Farbe hat, klappt das leider zumindest mit einem roten Laser auch nicht.

Hast Du verschiedene Näherungssensoren ausprobiert?
Kann man den Ausgang nicht einfach per Spannungsteiler an den Arduino hängen?
Gibt es Erfahrungswerte zur Maximalfrequenz?

Gruß / Thanks
    Stefan

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 19 September 2019, 10:58:29
Zitat von: StefanStrobel am 19 September 2019, 10:54:54
Hallo Matthias,

das mit dem induktiven Näherungssensor klingt gut!
Ich habe meinen Wasserzähler bisher noch nicht angeschlossen, möchte das aber auch noch tun.
Bisher habe ich es mit einer einfachen IR Reflexlichtschranke versucht. Der Reflektionsunterschied bei einem kleinen Rädchen war aber zu gering. Dann habe ich eine Laserdiode verwendet, aber da der Zeiger des Zählers eine ähnliche Farbe hat, klappt das leider zumindest mit einem roten Laser auch nicht.

Hast Du verschiedene Näherungssensoren ausprobiert?
Kann man den Ausgang nicht einfach per Spannungsteiler an den Arduino hängen?
Gibt es Erfahrungswerte zur Maximalfrequenz?

Gruß / Thanks
    Stefan

Hallo Stefan,

ich hab mir einen Panasonic (Sunx) EX-26a dafür angeschafft.
Leider bisher noch nicht eingebaut.
Es gibt dazu aber schon Erfahrungsberichte dazu um netz.

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: msome am 30 September 2019, 20:38:10
Zitat von: StefanStrobel am 19 September 2019, 10:54:54
Hast Du verschiedene Näherungssensoren ausprobiert?
Kann man den Ausgang nicht einfach per Spannungsteiler an den Arduino hängen?
Gibt es Erfahrungswerte zur Maximalfrequenz?

Hallo Stefan, tut mir leid dass ich erst so spät antworte, war beruflich 2 Wochen unterwegs und da war nicht viel Zeit.

Ich habe 2 Sensoren ausprobiert, da der erste nicht jede Umdrehung erkannt hat.
Zuerst diesen blauen hier (http://blog.steveundkristin.de/2015/09/13/fhem-wasserzaehler-auslesen-mit-hilfe-von-mysensors/) und jetzt nutze ich einen empfindlicheren in orange. (https://www.amazon.de/gp/product/B00QTNRNLQ/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1)

Man könnte natürlich einen Spannungsteiler nutzen, aber da der Sensor über einen Stepup mit Spannung versorgt wird und ich mit der Zuverlässigkeit der <hüstel> günstigen Stepups aus China nicht so ganz zufrieden bin, wollte ich auf Nummer sicher gehen. Lieber stirbt ein 50ct Optokoppler als der D1.

Mit der Frequenz habe ich nicht gespielt, aber bisher hat der Sensor noch nichts verpasst. Bis heute liegt der Sensor keinen einzigen Liter daneben und hat dabei (eben kontrolliert) schon 8609 Liter gezählt.

Wenn du Interesse an dem blauen Sensor hast, schreib 'ne PN mit der Adresse und ich schick ihn dir; Ich habe keine Verwendung mehr dafür.

Den EX-26a habe ich mir angeschaut, aber ehrlich gesagt war er mir viel zu teuer (>75€). Deshalb habe ich den orangen Sensor (8€) noch ausprobiert.
Der einzige Vorteil des EX-26a wäre, ich könnte (ich glaub) in 50ml Schritten das Zahn-Rad abtasten - aber mir ist kein Anwendungsfall dafür eingefallen.

Matthias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 02 Oktober 2019, 22:08:31
Hallo Matthias,

danke für die Details.
Ich hab jetzt auch mal so einen orangen Sensor bestellt.
Das mit dem Step up ist auch eine gute Idee. Ich dachte erst an ein Netzteil mit höherer Spannung und dann einen Spannungsregler für den ESP.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Oscar am 12 Oktober 2019, 16:32:59
Hallo,

da mein Stromzähler bisher gemacht hat was er sollte, habe ich begonnen das System zu erweitern.
Dabei hat mit das Update von FHEM natürlich meinen Zähler zerschossen.
Ich habe also dem ArduCounter die aktuellste Version 3.34 verpasst und die Userreadings auf die neuen Bedingungen angepasst.
Soweit funktioniert das ganz gut, aber ich bekomme meinen Zählerstand nicht eingelesen.

Ich habe erst einen Dummy für den Zählerstand angelegt und mit Daten gefüttert
define StromZaehlerstand dummy
set StromZaehlerstand ,,aktueller Zählerstand"


und danach das Userreading erzeugt
attr Verbrauch userReadings energy_act {ReadingsVal("Verbrauch","powerD4",0)} ,energy monotonic { ReadingsVal("Verbrauch","pinD4",0)/800} ,energy_day monotonic { ReadingsVal("Verbrauch","pinD4",0)/800} ,energy_month monotonic { ReadingsVal("Verbrauch","pinD4",0)/800} ,energy_year monotonic { ReadingsVal("Verbrauch","pinD4",0)/800} ,energy_hauszaehler monotonic {ReadingsVal("Verbrauch","pinD4",0)/800+ReadingsNum("StromZaehlerstand","state",0)}

Die erzeugten Werte stimmen alle, aber dem Wert von energy_hauszaehler wird nicht der Startzählerstand hinzugefügt.

Kann mir da jemand auf die Sprünge helfen?

Danke.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 12 Oktober 2019, 17:38:04
Hallo Oscar,

das mit dem Dummy, einer eigenen Umrechnung und monotonic ist schon lange nicht mehr nötig.
Setz statt dessen einfach das Attribut pulsesPerKWh auf den richtigen Wert.
Das Modul erzeugt dann ein entsprechend umgerechnetes Reading mit Namen calcCounter$pinName, das nach nach Neustarts weiter gezählt wird.
Den Namen des Readings kannst Du aber auch mit dem Attribut readingNameCalcCount$pin ändern.

Gruss
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Oscar am 12 Oktober 2019, 18:13:26
Hallo Stefan,

Danke für die schnelle Hilfe.

Ich hatte beim durchforsten des Threads schon gesehen das sich in den letzten paar Jahren seeehr viel geändert hat. Alle Achtung.
Ich werde wohl meine Programmierung entsprechend anpassen müssen.

Wenn die userreadings wegfallen können, hat man wenigstens weniger Fehlerquellen.

Nochmal Danke und ein schönes Restwochenende.

Gruß Oscar
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Oscar am 13 Oktober 2019, 11:47:45
Hallo Stefan,

ich habe jetzt den ArduCounter neu angelegt. Das funktioniert soweit gut.

Ist es gewollt das calcCounterD4 nur angelegt wird wenn pulsesPerKWh definiert wird und nicht schon bei readingPulsesPerKWhD4?

Ich hatte angenommen das pulsesPerKWh eine Geräteweite Definition ist und die readingPulsesPerKWh überschreibt.

Gruß Oscar
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 13 Oktober 2019, 12:12:33
Hallo Oscar,

da hast Du einen Bug gefunden.
pulsesPerKWh und readingPulsesPerKWh4 wurden geprüft, aber readingPulsesPerKWhD4 hat gefehlt.

anbei eine neue Version zum Testen.
Wenn alles andere noch funktioniert checke ich die neue Version demnächst ein.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Oscar am 13 Oktober 2019, 12:46:51
Hallo Stefan,

ich habe Deine neue Version eingespielt und das Attribut pulsePerKWh gelöscht.
calcCounterD4 geht jetzt.

Danke

Gruß Oscar
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Tonno am 27 Oktober 2019, 20:42:41
Hallo Zusammen!

Ich experimentiere seit einigen Tagen mit Arducounter und hatte bisher immer das Problem, dass der erfasste Wert von dem im Display abweicht.
Heute morgen habe ich meinen Arduino-Nano gegen einen Uno gewechselt um dabei einen Hardware-Fehler auszuschließen. Allerdings war eben wieder knapp eine kWh zu wenig in FHEM erfasst.

Mir ist dann eben noch aufgefallen, dass der Wert rejectD4 bei 1255 liegt (was so ziemlich genau die Anzahl an Impulsen ist, die gegenüber dem Display gefehlt hat). Ich habe die Impulslänge nun auf 5ms geändert und seit dem hat sich der Wert nicht mehr erhöht. Der Zähler ist ein DSZ15D-3x80A von Eltako. Laut Datenblatt beträgt die Impulslänge 30ms. Entweder stimmt was mit dem Signal nicht oder der Arduino ist zu langsam?

Bin jedenfalls gespannt ob es bis morgen geklappt hat.

Anbei meine Konfiguration:

interval 10 600 2 2
pinD4 falling pullup 5  (vorher 30)

Ansonsten macht ArduCounter schon was her! Ich hatte bevor ich es gefunden habe selbst einen sketch geschrieben. Aber warum das Rad neu erfinden?  ;)
Grüße

Tonno
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Tonno am 28 Oktober 2019, 17:18:17
Hallo Zusammen!

Wie sich zeigt erfasst der Arduino teilweise nur eine Impuls-Zeit von 0,029s. Diese Impulse werden dann natürlich verworfen.
Obs nun am Zähler liegt oder am Sketch kann ich nicht sagen... Jedenfalls läuft es jetzt  :)

Anbei ein kurzer Ausschnitt!

Grüße

Tonno
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Badflex am 04 Dezember 2019, 21:17:57
Hallo, hab mir jetzt mal ein NodeMCU mit ESP8266 zugelegt. Ich gebe zu ich habe keine Ahnung von Adruino.
Habe darauf ESP Easy geflasht und mit einer Youtube Anleitung den Zähhler ausgelesen.

Jetzt habe ich hier das Modul endeckt und finde es viel interesanter.
Muss ich für den AdruCounter eine ander Softwar flashen oder wie bekomme ich die Counts angezeigt?

Gibt's da eine Anleitung? Ich lese hier immer etwas von Sketch aber ich habe keine Ahnung was das ist?
Vielleicht hat jemand einen Tipp.

Vielen Dank
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 05 Dezember 2019, 11:18:54
Am Besten erst einmal hier einlesen: https://wiki.fhem.de/wiki/ArduCounter
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 05 Dezember 2019, 20:35:25
Arducounter ist ein arduino Sketch. Dieser Sketch muss per arduino ide auf den esp übertrage  werden. Wie das genau geht am besten mal Googles.


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Badflex am 05 Dezember 2019, 22:04:30
Danke, aber wenn ich den Arducounter 3.o kompilieren will. kommen 1000de von # und , Fehlern. Irgendwas muss ich da doch falsch machen?!
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 06 Dezember 2019, 06:21:01
Zitat von: Badflex am 05 Dezember 2019, 22:04:30
Danke, aber wenn ich den Arducounter 3.o kompilieren will. kommen 1000de von # und , Fehlern. Irgendwas muss ich da doch falsch machen?!
Damit du in der arduino ide eine esp überhaupt Flashen kannst, muss die vorher die esp Libs hinzu gefügt haben.
Schau mal hier https://www.heise.de/ct/artikel/Arduino-IDE-installieren-und-fit-machen-fuer-ESP8266-und-ESP32-4130814.html


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 06 Dezember 2019, 08:56:17
Zitat von: Badflex am 06 Dezember 2019, 08:40:30
Hallo nochmal.
Also ich bekomme die Beispiele in Arduino geflasht. Aber beim der Arducounter3.0 kommen viele Komma # Fehler.

Hat das Programm schon jemand auf dem NodeMcu V3 geflasht?


Bei mir lauft der Sketch auf dem wemos d1 Mini. Zu deinem Node kann ich nichts sagen


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Badflex am 06 Dezember 2019, 12:40:26
Aber wenn es beim kompilieren Fehler gibt. Kann es dann überhaupt am  NodeMCU liegen?
Ich verstehe nicht das es bei jedem klappt aber bei mir nicht.
Habe es schon auf mehreren Rechnern ausprobiert und verschiedene  Anleitungen gelesen. Finde aber nichts was ich falsch mache.
Wie gesagt die Beispiele gehen ja zu flashen ohne Fehler.

Kann man die Software auch anderst als mit Arduino IDE flashen?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 06 Dezember 2019, 13:16:57
Zitat von: Badflex am 06 Dezember 2019, 08:40:30
Hallo nochmal.
Also ich bekomme die Beispiele in Arduino geflasht. Aber beim der Arducounter3.0 kommen viele Komma # Fehler.

Hat das Programm schon jemand auf dem NodeMcu V3 geflasht?

Wir werden hier nicht weiterkommen, wenn Du uns nicht mehr Informationen bereitstellst...

Was für Fehler genau? Log?
Welche Arduino IDE?
Welche Libraries hast Du eingebunden?
etc etc

Hast Du im Sketch zumindest folgende Zeilen gepflegt?

const char* ssid = "<deine WLAN SSID>";
const char* password = "<dein WLAN PW>";


Die Glaskugel ist gerade eingefroren  ;)

Tobi
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Badflex am 07 Dezember 2019, 14:38:44
Zitat von: tpm88 am 06 Dezember 2019, 13:16:57
Wir werden hier nicht weiterkommen, wenn Du uns nicht mehr Informationen bereitstellst...

Was für Fehler genau? Log?
Welche Arduino IDE?
Welche Libraries hast Du eingebunden?
etc etc

Hast Du im Sketch zumindest folgende Zeilen gepflegt?

const char* ssid = "<deine WLAN SSID>";
const char* password = "<dein WLAN PW>";


Die Glaskugel ist gerade eingefroren  ;)

Tobi

Danke. jetzt bin ich um einiges schlauer. Deine Zeile mit der WLAN SSID hat mir die Lösung gebracht.
Ich habe gesehen das sie bei mir ganz anders aussieht. Ich wusste nicht das man von GitHub keine einzelnen Dateien speichern kann. Habe mir das ganze Packet runtergeladen, dann sah die ArduCounter.ino auch nicht wie HTML Code aus.

Ich denke typischer Anfängerfehler:-)


Jetzt hätte ich aber noch zwei fragen:

Im Wiki steht das man Analogzähler mit dem ESP Board noch nicht auslesen kann.
Habe eiben NodeMCU V3 mit einem TCRT5000 an Pin D5 hängen und es Zählt. Aber wohl nicht so genau.


Was muss ich im Sketch genau ändern damit ich die Analogzähler auslesen kann?

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 08 Dezember 2019, 22:41:50
Hallo Badflex,

Der Zusatz, dass das mit einem ESP noch nicht unterstützt wird, ist veraltet. Ich habe das gerade schon im Wiki korrigiert.
Hinweise zur Verwendung stehen im Wiki ja schon drin.

Gruß
    Stefan
Titel: ArduCounter mit KNX Zähler
Beitrag von: lichtimc am 09 Dezember 2019, 11:54:04
Hallo,

eine Frage: Ist dieses Modul mit einem anderen Impulszählgerät als dem Arduino verwendbar?
Ich habe einen KNX-Binäreingang, der die S0-Impulse meines Stromzählers zählt und als ganzzahligen Wert nach Fhem übermittelt:
(siehe Bild Dateianhang, den ich übrigens nicht hier einfügen kann... mir fehlt ein "Bild einfügen Button" im WYSIWYG-Editor)

Könnte ich das Modul so konfigurieren, dass die ganzen Stromwert-Berechnungen auch mit meinem Zähler funktionieren? Das wäre sehr praktisch, da bspw. auch der Binäreingang wieder von 0 beginnt, wenn er neu programmiert wird...
Wenn ja, was müsste ich ändern?

Vielen Dank für die Antwort,
glg, David


EDIT: Habe es nun mit dem ElectricityCounter-Modul realisiert.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Badflex am 20 Dezember 2019, 17:19:44
Hallo mal wieder.
Mein Arducounter zählt immer nur ein  paar Stunden und dann steht er auf disconected. Verliert mein ESP vielleicht die Wlan Verbindung?

Muss man da noch was konfigurieren?

Hier ein Log:

2019.12.20 17:02:52 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 1, count 2994, reject 58349
2019.12.20 17:03:04 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 15, count 2994, reject 58357
2019.12.20 17:03:04 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 3, count 2995, reject 58358
2019.12.20 17:03:16 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 18, count 2995, reject 58362
2019.12.20 17:03:16 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 10, count 2996, reject 58363
2019.12.20 17:03:55 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 9, count 2996, reject 58388
2019.12.20 17:03:57 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 6, count 2997, reject 58413
2019.12.20 17:04:36 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 0, count 2997, reject 58419
2019.12.20 17:04:36 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 8, count 2998, reject 58420
2019.12.20 17:04:47 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 1, count 2998, reject 58424
2019.12.20 17:04:47 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 8, count 2999, reject 58424
2019.12.20 17:04:55 3: AC: device didn't reply to k(eeepAlive), count=1
2019.12.20 17:05:03 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 1, count 2999, reject 58427
2019.12.20 17:05:03 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 12, count 3000, reject 58428
2019.12.20 17:05:13 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 10, count 3000, reject 58434
2019.12.20 17:05:13 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 1, count 3001, reject 58435
2019.12.20 17:05:25 3: AC: device didn't reply to k(eeepAlive), count=1
2019.12.20 17:05:29 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 16, count 3001, reject 58443
2019.12.20 17:05:29 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 6, count 3002, reject 58444
2019.12.20 17:05:35 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 19, count 3002, reject 58450
2019.12.20 17:05:36 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 8, count 3003, reject 58451
2019.12.20 17:05:47 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 16, count 3003, reject 58455
2019.12.20 17:05:48 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 7, count 3004, reject 58456
2019.12.20 17:06:18 3: AC: device didn't reply to k(eeepAlive), count=1
2019.12.20 17:06:28 3: AC: device didn't reply to k(eeepAlive), count=2
2019.12.20 17:06:38 3: AC: device didn't reply to k(eeepAlive), count=3
2019.12.20 17:06:51 3: AC: device didn't reply to k(eeepAlive), count=4
2019.12.20 17:07:01 3: AC: device didn't reply to k(eeepAlive), count=5
2019.12.20 17:07:02 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 18, count 3004, reject 58488
2019.12.20 17:07:02 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 4, count 3005, reject 58510
2019.12.20 17:07:09 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 0, count 3005, reject 58529
2019.12.20 17:07:11 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 18, count 3006, reject 58550
2019.12.20 17:07:55 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 1, count 3006, reject 58571
2019.12.20 17:07:58 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 14, count 3007, reject 58597
2019.12.20 17:08:24 3: AC: device didn't reply to k(eeepAlive), count=1
2019.12.20 17:08:47 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 15, count 3007, reject 58624
2019.12.20 17:08:50 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 15, count 3008, reject 58666
2019.12.20 17:09:17 3: AC: device didn't reply to k(eeepAlive), count=1
2019.12.20 17:09:47 3: AC: device didn't reply to k(eeepAlive), count=1
2019.12.20 17:09:58 3: AC: device: pin 5 (internal 14) changed to 1, histIdx 0, count 3008, reject 58709
2019.12.20 17:09:58 3: AC: device: pin 5 (internal 14) changed to 0, histIdx 19, count 3009, reject 58738
2019.12.20 17:10:10 3: AC: device didn't reply to k(eeepAlive), count=1
2019.12.20 17:10:19 3: 192.168.178.59:80 disconnected, waiting to reappear (AC)
2019.12.20 17:10:30 3: AC: device didn't reply to k(eeepAlive), count=1
2019.12.20 17:10:40 3: AC: device didn't reply to k(eeepAlive), count=2
2019.12.20 17:10:50 3: AC: device didn't reply to k(eeepAlive), count=3
2019.12.20 17:11:03 3: AC: device didn't reply to k(eeepAlive), count=4
2019.12.20 17:11:13 3: AC: device didn't reply to k(eeepAlive), count=5
2019.12.20 17:11:23 3: AC: device didn't reply to k(eeepAlive), count=6
2019.12.20 17:11:33 3: AC: device didn't reply to k(eeepAlive), count=7
2019.12.20 17:11:43 3: AC: device didn't reply to k(eeepAlive), count=8
2019.12.20 17:11:53 3: AC: device didn't reply to k(eeepAlive), count=9
2019.12.20 17:12:06 3: AC: device didn't reply to k(eeepAlive), count=10
2019.12.20 17:12:16 3: AC: device didn't reply to k(eeepAlive), count=11
2019.12.20 17:12:26 3: AC: device didn't reply to k(eeepAlive), count=12
2019.12.20 17:12:36 3: AC: device didn't reply to k(eeepAlive), count=13
2019.12.20 17:12:46 3: AC: device didn't reply to k(eeepAlive), count=14
2019.12.20 17:12:56 3: AC: device didn't reply to k(eeepAlive), count=15
2019.12.20 17:13:09 3: AC: device didn't reply to k(eeepAlive), count=16
2019.12.20 17:13:19 3: AC: device didn't reply to k(eeepAlive), count=17
2019.12.20 17:13:29 3: AC: device didn't reply to k(eeepAlive), count=18
2019.12.20 17:13:39 3: AC: device didn't reply to k(eeepAlive), count=19
2019.12.20 17:13:49 3: AC: device didn't reply to k(eeepAlive), count=20
2019.12.20 17:13:59 3: AC: device didn't reply to k(eeepAlive), count=21
2019.12.20 17:14:12 3: AC: device didn't reply to k(eeepAlive), count=22
2019.12.20 17:14:22 3: AC: device didn't reply to k(eeepAlive), count=23

jump to the top

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 21 Dezember 2019, 22:01:06
Hallo Badflex,

Sieht tatsächlich nach einem Verbindungsproblem aus.
Wenn Du devVerbose auf einen Wert >= 5 stellst, dann schickt der ESP in der Keepalive-Antwort die RSSI mit und das Modul erzeugt ein RSSI-Reading.
Generell würde ich bei solchen Problemen verbose im Modul auf 5 setzen, dann sieht man im Log sehr viel mehr Informationen zur Fehlersuche.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: eddso am 21 Dezember 2019, 23:28:28
Hallo,
folgende Fragen habe ich vielleicht kann die einer beantworten. Vorab Konfig: D4-D7 rising 20, interval 60 300 2 2
1) Möchte alle readings auf 0 setzen (zurücksetzen). 'set AC reset' sollte laut Doku alle counter löschen aber alle readings bleiben wie sie sind.
2) Es gibt noch ein 'set AC clearLevels' was macht es? Steht nicht in der Doku.
3) Es gibt Readings calcCounterD[4-7]_i also mit _i am ende? Was zeigen diese an? Steht nicht in der Doku.

Um alle Readings wirklich auf 0 zu krigen muss ich den Ardu neu flachen und Device in FHEM löschen und neu anlegen?
Gibt es eine einfache Möglichkeit?

Gruß eddso
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 22 Dezember 2019, 12:04:14
Hallo eddso,

Das Reading mit _i am Ende zählt die kWh, die durch Interpolation errechnet wurden.

Bei einem Neustart des Arduino oder ESP wird die Zeit zwischen der letzten Zählerstands-Meldung an Fhem und dem Neustart des Zählers genommen und aus der Impulsfrequenz davon und danach berechnet, wie viele Impulse vermutlich nicht gezählt werden konnten.
Diese sind im calcCounter schon mit drin.

Ich habe die Doku im File gerade erweitert - danke für den Hinweis.
Da ich gerade am Erweitern des Moduls bin (Port auf den ESP32 mit Display), kann ich es aber gerade noch nicht einchecken. Eine aktualisierte Version kommt dann im Neuen Jahr.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: eddso am 22 Dezember 2019, 13:08:04
Hallo,
Danke dir für die Antwort. Ich hatte die Frage noch erweitert aber der Forum ist mega träge komme atm kaum rein.
folgende Fragen habe ich vielleicht kann die einer beantworten. Vorab Konfig: D4-D7 rising 20, interval 60 300 2 2
1) Möchte alle readings auf 0 setzen (zurücksetzen). 'set AC reset' sollte laut Doku alle counter löschen aber alle readings bleiben wie sie sind.
Um alle Readings wirklich auf 0 zu krigen muss ich den Ardu neu flashen und Device in FHEM löschen und neu anlegen?
Gibt es eine einfache Möglichkeit?

2) Es gibt noch ein 'set AC clearLevels' was macht es? Steht nicht in der Doku.

Einen schönen 4ten Advent
Gruß eddso
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 23 Dezember 2019, 18:56:59
Hallo eddso,

Zum setzen der Readings kannst Du einfach den Fhem-Befehl setreading verwenden.

clearLevels ist nur für das analoge lesen mit einer Reflexlichtschranke relevant und löscht die Statistik der gelesenen Analog-Werte.

userreadings würde ich für den ArduCounter nicht verwenden. Einfach den Start-Wert mit setreading setzen.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: eddso am 24 Dezember 2019, 11:50:48
vielen dank,
du meinst, denke ich, das reading calcCounterDx setzen. Habe ich gemacht, funktioniert.
Mir war/ist nicht klar welche readings aus dem ArduCounter kommen und welche im Modul gebastelt werden deshalb habe ich eigene gemacht.

frohe Weihnachten
Gruß Eduard
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Badflex am 27 Dezember 2019, 12:27:49
Ja, der Rssi Wert schwankt zwischen 78 und 90 da der ESP ja im Metall Zählerschrank hängt. Da muss ich mir wohl noch was einfallen lassen.
Schlimm finde ich, das er irgendwann keine neuen Verbindungen versucht wenn die Verbindung besser ist.
Kann man da was machen?



Zitat von: StefanStrobel am 21 Dezember 2019, 22:01:06
Hallo Badflex,

Sieht tatsächlich nach einem Verbindungsproblem aus.
Wenn Du devVerbose auf einen Wert >= 5 stellst, dann schickt der ESP in der Keepalive-Antwort die RSSI mit und das Modul erzeugt ein RSSI-Reading.
Generell würde ich bei solchen Problemen verbose im Modul auf 5 setzen, dann sieht man im Log sehr viel mehr Informationen zur Fehlersuche.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 27 Dezember 2019, 19:54:41
Hallo Badflex,

ich bin gerade eh dabei, die ArduCounter Firmware komplett zu überarbeiten.

Folgendes wird kommen:
- Eingabemöglichkeit für die WLAN-Credentials, so dass man SSID und Passwort nicht mehr reincompilieren muss
- Bessere Unterstützung für Reflexlichtschranken
    - Mehrfach-Messungen um Rauschen zu unterdrücken
    - zur Laufzeit definierbarer Eingang für den Fototransistor (nicht mehr fest reincompiliert) etc.
    (ich bin gerade dabei meine Wasseruhr mit einem billigen Lasermodul und einem Fototransistor an einem ESP32 zu überwachen)
- Unterstützung für ESP32 mit Display (die gibt es schon für 6-8 Euro und damit kann man am Modul schon viele Dinge anzeigen)

Das mit dem Reconnect bei Verlust der WLAN-Verbindung kommt auf jeden Fall noch hinzu.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 17 April 2020, 13:58:08
Hallo,

anbei der aktuelle Entwicklungsstand des neuen ArduCounter-Moduls samt Firmware für Arduino, ESP8266, ESP23 und ESP32 mit Display.

Folgendes ist neu:
- Konfiguration der WLAN-Verbindung bei ESP8266 und ESP32 zur Laufzeit über eine Web-Oberfläche / einen temporären eigenen Hotspot des ESP
- Bei Verlust der WLAN-Verbindung versucht der ESP diese wieder aufzubauen
- Unterstützung von ESP32 und ESP32 mit TFT-Display (TTGO T-Display)
- Over the air updates der Firmware für ESP32 und ESP8266
- Ein- und Ausgänge für Reflexlichtschranken sind zur Laufzeit definierbar, Mehrfachsampling und einstellbares Timing
- Für serielle Verbindungen ist der Default jetzt 115200 Bps
- Die Syntax des pin-Attributs und des interval-Attributs hat sich geändert
- Umbau der Firmware für mehrere Plattformen, Umstieg auf PlatformIO

Um mehrere Hardware-Plattformen besser unterstützen zu können, habe ich die Firmware stark umgeschrieben.
Die Firmware muss nun nicht mehr individuell kompiliert werden sondern die WLAN-SSID kann zur Laufzeit konfiguriert werden.
Dafür verwende ich den WifiManager von tzapu. Sofen keine Verbindung zu einem vorab konfigurierten Hotspot aufgebaut werden kann, erzeugt der ESP einen eigenen Hotspot mit Captive Portal, in dem die danach zu verwendende SSID ausgewählt und das Passwort eingetragen werden kann.

Für besseres Feedback empfielt es sich statt einem einfachen ESP z.B. ein TTGO T-Display Modul zu verwenden. Das ist ein ESP32 mit TFT-Display und kostet weniger als 10 Euro, also nicht mehr als ein Arduino Nano in der Zeit als ich mit dem Arducounter angefangen habe.
Auf dem Display kann man umschalten, was man sehen möcht: den WLAN-Status samt IP-Adresse und RSSI, die Meldungen an Fhem oder den aktuellen Verbrauch.

meine Konfiguration für den Wasserzähler sieht z.B. so aus:

define ACESP ArduCounter 192.168.70.160:80
attr ACESP board T-Display
attr ACESP pin36 rising pullup min 4 analog out 27 threshold 120,220
attr ACESP interval 5,60,2,2,10,3
attr ACESP readingPulsesPerUnit36 36.4
attr ACESP readingFlowUnitTime36 60
attr ACESP deviceDisplay 36,l,l/m
attr ACESP runTime36 1
attr ACESP runTimeIgnore36 Bew_.*
attr ACESP stateFormat {sprintf("%.1f l/min, %.0fs", ReadingsVal($name,"power36",0), ReadingsVal($name,"runTime36",0))}
attr ACESP verboseReadings36 -1
attr ACESP event-min-interval .*:600
attr ACESP event-on-change-reading .*


im angehängten Bild sieht man wie ich meinen Haus-Wasserzähler mit einem billigen Lasermodul und Phototransistor abtaste. Beides ist in eine Plexiglasscheibe geklebt, die ich auf den Zähler aufstecke. Der ESP32 mit Display zeigt dabei lokal den aktuellen Durchfluss in Liter/Minute an.

Zum Flashen eines ESP aus Fhem heraus wird noch das externe Tool esptool.py bzw. für OTA espota.py sowie python benötigt.

Gruss
   Stefan

Edit 6.6.20: neuere / aktuelle Version ist eingecheckt.

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 19 April 2020, 07:25:31
Hallo Stefan,

Spitzen Arbeit, wie immer.
Wann planst du das ganze offiziell zu verteilen?

Hast du noch mehr Details wie du genau den Wasserzähler ausgelesen hast?

Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 19 April 2020, 13:58:44
Hallo Robert,

mit dem Einchecken würde ich gerne so lange warten, bis ein paar Leute bestätigt haben, dass es bei ihnen auch funktioniert.

Zum Wasserzähler:
Im neuen ArduCounter kann man einzelne Pins als analoge Eingänge definieren.
Statt einer Konfiguration für digitale Ausgänge wie bei einem Stromzähler mit S0:

attr AC pinD4 falling pullup min 30
attr AC pinD5 falling pullup min 30
attr AC interval 60 600 10


definiert man das dann z.B. so:

attr AC pin36 rising pullup min 4 analog out 27 threshold 120,220
attr AC interval 5,60,2,2,10,3


Der Zusatz analog out 27 threshold 120,220 hinter dem pin36-Attribut sagt dem Modul, dass es eine analoge Abtastung sein soll, wobei Pin 36 ein analoger Eingang sein muss. Am Pin 27 wird eine Lichtquelle in hoher Frequenz ein- und ausgeschaltet. über den analogen Eingang Pin 36 wird gemessen, wie viel Licht reflektiert wird. Von dem gemessenen Wert bei eingeschalteter Lichtquelle und dem bei ausgeschalteter Lichtquelle wird die Differenz genommen. Diese Differenz ("der relative Reflektionsunterschied") wird mit den angegebenen Thresholds verglichen. "rising" im obigen Beispiel bedeutet, dass die zu zählenden Impulse eine steigende Flanke haben. Übertragen auf die analoge Messung beginnt ein "Puls" wenn die gemessene Differenz vorher unter dem unteren Threshold (120 im obigen Beispiel) war und über den oberen Threshold wechselt. Wenn dann wieder Werte unter dem unteren Threshold kommen, dann wird gemessen, wie lange der Puls war und ob er länger als die minimale Dauer (4ms im obigen Beispiel) war. Dann wird er gezählt.
Das ganze klingt vielleicht kompliziert, hat aber den Vorteil, dass man nicht so leicht Störungen durch wechselnde Umgebungsbeleuchtung bekommt.

Da interval-Attribute hat auch noch ein paar besondere Werte für analoge Abtastungen: Hinter den bisherigen Werten "5,60,2,2" (Schicke den Zählerstand und die Zeitspanne zwischen dem ersten und letzten Impuls nach 5 Sekunden an Fhem, sofern mindestens 2 Impulse mit Abstand > 2ms voneinander gezählt wurden. Falls nichts gezählt wurde, schicke spätestens nach 60 Sekunden den Zählerstand) kommen zwei zusätzliche Werte "10,3". Die bedeuten, dass zunächst drei Messungen bei ausgeschalteter Lichtquelle, dann drei Messungen bei eingeschalteter Lichtquelle gemacht werden. Nach dieser Sequenz kommt eine Pause von 10 Millisekunden.

In meinem Fall habe ich ein billiges Lasermodul (https://www.amazon.de/gp/product/B0716FSRJ1/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1) als Lichtquelle und einen Fototransistor (SFH309 für den sichtbaren Bereich) als Sensor verwendet.
Der Fototransistor hängt zwischen +3,3V und dem GPIO 36 und hat einen 1MOhm Pulldown auf Masse.

Das Lasermodul leuchtet leider erst bei 5V richtig. Deshalb musste ich dem noch einen Transistor vorschalten (BC238B, Basis über 2,2kOhm an GPIO 27, Emitter auf Masse, Kollektor zum blauen Anschluss des Lasermoduls.  Der rote Anschluss des Lasermoduls direkt auf +5V).

Um das ganze vernünftig ausrichten zu können, so dass der Lichtpunkt schön in den "Zähnen" des schwarzen Rädchens vom Zähler leuchtet, habe ich Lasermodul und Fototransistor in einer Plexiglasscheibe eingeklebt.

Materialaufwand insgesamt wenige Euros (ESP für <10 Euro, 10 Lasermodule habe ich für 7,50 gekauft, die Fototransistoren bekommt man auch unter 2€, der Rest sind Centbeträge)

Eine Herausforderung ist dann noch die Einstellung readingPulsesPerUnit36. Irgendwie muss das Modul ja die gezählten Pulse in Liter umrechnen. Das bisherige Attribut readingPulsesPerKWh habe deshalb in readingPulsesperUnit umbenannt (das alte geht aber auch noch) und dann muss man mal ein paar Liter abfüllen und dabei zählen. Bei meinem Wasserzähler scheinen es ca. 36,3 oder 36,4 Impulse je Liter zu sein.


die neuen Attribute

attr ACESP runTime36 1
attr ACESP runTimeIgnore36 Bew_.*

aus meinem vorherigen Post sind neue Features, die ich zur Überwachung nutze.
runTime36 schaltet die Erzeugung eines neuen Readings mit Namen runTime36 ein. Darin wird die Zeit hochgezählt, in der das Wasser ohne Unterbrechung läuft. Wenn bei mir das Wasser länger als 50 Minuten läuft, bekomme ich über einen DoIF eine Meldung auf dem Handy.
Um davon Ausnahmen machen zu können, habe ich das Attribut runTimeIgnore36. Damit sage ich dem Modul, dass die Bewässerung im Garten keinen Alarm auslösen soll. Wenn eines der Fhem-Geräte, die mit Bew_ starten angeschaltet ist, zählt die Zeit nicht weiter.

Gruss
   Stefan


Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Adriano am 21 April 2020, 19:42:22
Hallo, ich habe ArduCounter erfolgreich mit meinem Raspberry PI und ARDUINO UNO REV 3 [A000066] über USB verheiratet. Leider bekomme ich meinen Impuls Wasserzähler nicht ans laufen.
https://www.energie-zaehler.com/Wasserzaehler-mit-Impulsausgang-QN-15-m-1Imp/025Liter

Ich habe die 2 Drähte am Arduino an GND und pin13 angeschlossen. Dann geht auch die GND Lampe am Arduino aus.

Meine Konfig sieht wie folgt aus:
define AC ArduCounter /dev/ttyACM0@38400
attr AC userattr pin13
attr AC interval 60 120
attr AC pin13 rising pullup
attr AC pulsesPerKWh 1
attr AC room Verbrauch


Mein ArduCounter scheint auch gut zu laufen:
2020.04.21 19:25:39 3: Opening AC device /dev/ttyACM0
2020.04.21 19:25:39 3: Setting AC serial parameters to 38400,8,N,1
2020.04.21 19:25:39 3: AC device opened
2020.04.21 19:25:41 3: AC: device: no config in EEPROM
2020.04.21 19:25:41 3: AC: device sent hello: ArduCounter V3.10 on NANO compiled Jan  6 2019 17:11:47 Hello, pins 3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21 available T499,0 B499,0
2020.04.21 19:25:42 3: AC: ConfigureDevice: no match -> send config
2020.04.21 19:25:43 3: AC: device: defined P13 rising pullup min 2
2020.04.21 19:25:43 3: AC: device: intervals set to 60 120 0 0
2020.04.21 19:25:43 3: AC: device: Status: ArduCounter V3.10 on NANO compiled Jan  6 2019 17:11:47
2020.04.21 19:25:43 3: AC: device: no config in EEPROM
2020.04.21 19:27:43 3: AC: pin 13 (pin13) interpolating for 22.94 secs until boot, 0 estimated pulses (before 0 in 120000 ms, now 0 in 120000 ms, avg ratio 0 p/s)


Nur leider wird nichts gezählt. Habe ich einen Denkfehler mit GND und pin13 ?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 21 April 2020, 21:10:14
Hallo Adriano,

was für einen Impulsausgang hat denn der Zähler? ist das ein Reed-Kontakt, ein "open collector" oder etwas ganz anderes?
Eventuell ist es entscheidend, welches Kabel des Zähler an GND hängt und welches an D13.

Zum Testen kannst Du auch mal ohne den Zähler mit einem Draht D13 mit GND verbinden.

Was meinst Du mit der "GND"-Lampe?
Einen Nano, bei dem eine LED aus geht, wenn man etwas an einen Input hängt, kenne ich bisher nicht.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 21 April 2020, 21:24:36
ZitatARDUINO UNO REV 3 [A000066]
er hat keinen nano - ich war da auch kurz davor zu reagieren :)

Aber den UNO direkt kenne ich nicht.

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 21 April 2020, 22:27:21
Das erklärt es vermutlich. Ich würde dann aber auf jeden Fall den D13 vermeiden und eher einen Pin nehmen, der nicht "vorbelastet" ist.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 21 April 2020, 23:31:41
Hallo Stefan,

ich hab heute mal die neue firmware auf den esp8266 geflasht.
Soweit ohne Probleme auf dem Weemos D1 mini.
Man sollte aber immer vorher den Esp löschen, noch so an Tips an die anderen.

Die Commandref scheinst du ja noch nicht angepasst zu haben.
Kannst du vielleicht kurz erklären, wie ich einen Reed Kontakt definieren muss, also nach dem neuen Schema?

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Adriano am 22 April 2020, 08:42:33
Hallo StefanStrobel, erstmal vielen Dank für die Antworten.

So wie ich es verstanden habe ist es ein Reed Kontakt. Anders kann ich mir das bei diesem Wasserzähler auch nicht vorstellen.
http://datenblatt.stark-elektronik.de/datenblatt_etki_etwi.pdf
https://www.stark-elektronik.de/epages/63653058.sf/de_DE/?ObjectPath=/Shops/63653058/Products/ETAKDN15-110-I1

Ich probiere mal andere Pins. Die Kabel hatte ich mMn bereits mal vertauscht. Brachte keine Änderung.
Ich dachte eher ich habe etwas an meine Konfig in FHEM falsch gemacht.

define AC ArduCounter /dev/ttyACM0@38400
attr AC userattr pin13
attr AC interval 60 120
attr AC pin13 rising pullup
attr AC pulsesPerKWh 1
attr AC room Verbrauch


Mal schreiben Leute pinD13, mal pin13, mall falling pullup 30 mal rising pullup. Das ist mir alles noch nicht so klar.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 22 April 2020, 19:52:13
Zitat von: Adriano am 22 April 2020, 08:42:33
Hallo StefanStrobel, erstmal vielen Dank für die Antworten.

So wie ich es verstanden habe ist es ein Reed Kontakt. Anders kann ich mir das bei diesem Wasserzähler auch nicht vorstellen.
http://datenblatt.stark-elektronik.de/datenblatt_etki_etwi.pdf
https://www.stark-elektronik.de/epages/63653058.sf/de_DE/?ObjectPath=/Shops/63653058/Products/ETAKDN15-110-I1

Ich probiere mal andere Pins. Die Kabel hatte ich mMn bereits mal vertauscht. Brachte keine Änderung.
Ich dachte eher ich habe etwas an meine Konfig in FHEM falsch gemacht.

define AC ArduCounter /dev/ttyACM0@38400
attr AC userattr pin13
attr AC interval 60 120
attr AC pin13 rising pullup
attr AC pulsesPerKWh 1
attr AC room Verbrauch


Mal schreiben Leute pinD13, mal pin13, mall falling pullup 30 mal rising pullup. Das ist mir alles noch nicht so klar.


Das mit den Pins ist so eine Sache.
Wenn es mit D anfangt ist es eine Board Bezeichnung, diese hat dann immer noch eine echte pin Bezeichnung.
Je nach verwendeten uC kann das variieren.
Hier einfach mal nach deinem Model und PIN out Diagramm suchen.
Ich habe bei meinen wemos d1 Mini, mit pinD2 definiert.

Mit dem rising und falling sagst du einfach nur ob du eine steigende flanken oder fallende Flanke erfassen willst.
Hat beides seine vor uns Nachteile.
Kannst ja mal danach googeln.

Hoffe ich hab dir ein wenig weiter helfen können.
Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Adriano am 22 April 2020, 22:49:31
Klappt nun, Danke . Musste GND und einen anderen PIN als 13 nehmen. Der ist wirklich reserviert für eine LED.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 28 April 2020, 17:35:04
Hallo Stefan,

Zitat von: StefanStrobel am 19 April 2020, 13:58:44
mit dem Einchecken würde ich gerne so lange warten, bis ein paar Leute bestätigt haben, dass es bei ihnen auch funktioniert.

fantastische Arbeit, vielen Dank! Ich habe die neue Version seit ein paar Tagen auf einem ESP32 laufen - funktioniert bisher bestens... Habe gleich einen ESP32 mit Display bestellt.

Schon jetzt kann ich sagen, daß die neue Version auf dem ESP32 bezüglich WLAN deutlich stabiler läuft als v3 auf einem Wemos D1 mini... Ich beobachte zwar täglich noch 3 - 5 Reconnects, aber damit kann ich prima leben, da ja bei der Zählung keine Impulse verloren gehen.

Das sieht im Log dann so aus:

2020-04-28_00:06:04 AC_Strom_v4 DISCONNECTED
2020-04-28_00:06:04 AC_Strom_v4 CONNECTED
2020-04-28_03:26:36 AC_Strom_v4 DISCONNECTED
2020-04-28_03:26:36 AC_Strom_v4 CONNECTED
2020-04-28_06:47:08 AC_Strom_v4 DISCONNECTED
2020-04-28_06:47:08 AC_Strom_v4 CONNECTED
2020-04-28_10:07:40 AC_Strom_v4 DISCONNECTED
2020-04-28_10:07:41 AC_Strom_v4 CONNECTED
2020-04-28_13:28:12 AC_Strom_v4 DISCONNECTED
2020-04-28_13:28:13 AC_Strom_v4 CONNECTED
2020-04-28_16:48:44 AC_Strom_v4 DISCONNECTED
2020-04-28_16:48:44 AC_Strom_v4 CONNECTED


Und im Detail der letzte Reconnect:

2020.04.28 16:48:20 5: AC_Strom_v4: sending k(eepAlive) to device
2020.04.28 16:48:20 5: SW: 1,10k.
2020.04.28 16:48:20 5: AC_Strom_v4: device sent alive response: AR-82
2020.04.28 16:48:30 5: AC_Strom_v4: sending k(eepAlive) to device
2020.04.28 16:48:30 5: SW: 1,10k.
2020.04.28 16:48:30 5: AC_Strom_v4: device sent alive response: AR-82
2020.04.28 16:48:40 5: AC_Strom_v4: sending k(eepAlive) to device
2020.04.28 16:48:40 5: SW: 1,10k.
2020.04.28 16:48:40 5: AC_Strom_v4: device sent alive response: AR-81
2020.04.28 16:48:44 3: 192.168.8.97:80 disconnected, waiting to reappear (AC_Strom_v4)
2020.04.28 16:48:44 5: HttpUtils url=http://192.168.8.97:80/
2020.04.28 16:48:44 4: IP: 192.168.8.97 -> 192.168.8.97
2020.04.28 16:48:44 3: 192.168.8.97:80 reappeared (AC_Strom_v4)
2020.04.28 16:48:44 5: AC_Strom_v4: ArduCounter_Open succeeded in callback
2020.04.28 16:48:44 5: AC_Strom_v4: sending k(eepAlive) to device
2020.04.28 16:48:44 5: SW: 1,10k.
2020.04.28 16:48:45 3: AC_Strom_v4: device sent hello: ArduCounter V4.24 on ESP32 Espressif ESP32 Dev Module compiled Apr 17 2020 13:03:09 Hello
2020.04.28 16:48:45 5: AC_Strom_v4: Device Time 74921.533, Offset 1588010.413, Drift -9.618s in 48595.112s, -0.02%
2020.04.28 16:48:45 4: AC_Strom_v4: device sent time info: N74921533,0B543,0
2020.04.28 16:48:45 4: AC_Strom_v4: device sent interval config 2,300,1,1,50,4
2020.04.28 16:48:45 4: AC_Strom_v4: device sent devVerbose 1,0,0,0,0
2020.04.28 16:48:45 4: AC_Strom_v4: device sent config for pin 21: P21fp m30
2020.04.28 16:48:45 5: AC_Strom_v4: device sent alive response: AR-81
2020.04.28 16:48:46 3: AC_Strom_v4: ConfigureDevice: send config
2020.04.28 16:48:46 3: AC_Strom_v4: ConfigurePin creates command 21,2,1,30a
2020.04.28 16:48:46 5: SW: 21,2,1,30a.
2020.04.28 16:48:46 5: AC_Strom_v4: ConfigureDevice: no pins in running config without attribute in Fhem
2020.04.28 16:48:46 3: AC_Strom_v4: ConfigureIntervals creates command 2,300,1,1,50,4i
2020.04.28 16:48:46 5: SW: 2,300,1,1,50,4i.
2020.04.28 16:48:46 3: AC_Strom_v4: ConfigureVerboseLevels creates command 1,0,0,0,0v
2020.04.28 16:48:46 5: SW: 1,0,0,0,0v.
2020.04.28 16:48:46 3: AC_Strom_v4: Invalid device display configuration
2020.04.28 16:48:46 5: SW: s.
2020.04.28 16:48:46 4: AC_Strom_v4: device: defined P21fp m30
2020.04.28 16:48:46 4: AC_Strom_v4: device: intervals set to 2 300 1 1 50 4
2020.04.28 16:48:46 4: AC_Strom_v4: device: devVerbose set to 1,0,0,0,0
2020.04.28 16:48:46 4: AC_Strom_v4: device: Status: ArduCounter V4.24 on ESP32 Espressif ESP32 Dev Module compiled Apr 17 2020 13:03:09
2020.04.28 16:48:46 4: AC_Strom_v4: device: Connected to TobiVision with IP 192.168.8.97 RSSI -81
2020.04.28 16:48:46 4: AC_Strom_v4: device sent interval config 2,300,1,1,50,4
2020.04.28 16:48:46 4: AC_Strom_v4: device sent devVerbose 1,0,0,0,0
2020.04.28 16:48:46 4: AC_Strom_v4: device sent config for pin 21: P21fp m30, DR21C960D0/0T0X0
2020.04.28 16:48:46 4: AC_Strom_v4: device: EEPROM Config: 30,60,2,2,50,4i0,0,0,0,0v
2020.04.28 16:48:46 4: AC_Strom_v4: device: Next report in 1356 milliseconds
2020.04.28 16:48:54 5: AC_Strom_v4: sending k(eepAlive) to device
2020.04.28 16:48:54 5: SW: 1,10k.
2020.04.28 16:48:55 5: AC_Strom_v4: device sent alive response: AR-81
2020.04.28 16:49:01 5: AC_Strom_v4: HandleHistory no CL
2020.04.28 16:49:01 5: AC_Strom_v4: HandleHistory Seq  45323 2020-04-28 16:48:07 Pin D21  52.842 seconds at 1 -> gap (45323,-53686:52842@1G)
2020.04.28 16:49:03 4: AC_Strom_v4: pin D21 (pin21) Cnt 961 (diff 1/1) in 55.236s from 16:48:08 until 16:49:03, seq 201, Rej 0, Avg 2394ms, PPU 120, FUT 3600s, result 0.543
2020.04.28 16:49:03 5: AC_Strom_v4: pin D21 (pin21) adding rDiff 1 to long count 966 and interpolated count 966
2020.04.28 16:49:03 5: AC_Strom_v4: HandleHistory no CL
2020.04.28 16:49:03 5: AC_Strom_v4: HandleHistory Seq  45324 2020-04-28 16:49:00 Pin D21   2.394 seconds at 0 -> pulse counted (45324,-2845:2394@0C)
2020.04.28 16:49:04 5: AC_Strom_v4: sending k(eepAlive) to device
2020.04.28 16:49:04 5: SW: 1,10k.
2020.04.28 16:49:05 5: AC_Strom_v4: device sent alive response: AR-81
2020.04.28 16:49:14 5: AC_Strom_v4: sending k(eepAlive) to device
2020.04.28 16:49:14 5: SW: 1,10k.
2020.04.28 16:49:14 5: AC_Strom_v4: device sent alive response: AR-80
...


Zufällig hat unser Jüngster die Tage den FI-Schalter im Haus ausgelöst. So konnte ich auch den Wiederanlauf nach Stromausfall beobachten. Hier geriet der ESP32 allerdings in eine "DISCONNECTED - CONNECTED - DISCONNECTED ..." Dauerschleife, aus der er erst nach einem manuellen Reset wieder herauskam. Falls es dich interessiert, hätte ich dazu auch "Verbose 5" Logs...

- Environment: Ubiquiti UniFi WLAN AccessPoint
- ich habe versucht, diese Situation zu reproduzieren, indem ich das WLAN am AccessPoint testweise abgeschaltet habe, aber ohne Erfolg - nachdem das WLAN wieder verfügbar war, hat sich der ESP32 wieder normal verbunden und die Zählung lief weiter

Ich bin allerdings sehr zuversichtlich, daß der ESP32 die bisherige Lösung mit Wired Ethernet:

AC auf ESP8266 --> USB --> RPiZero --> ser2net --> Wired Ethernet (an USB des rpizero) --> socat --> FHEM

durch

AC auf ESP32 --> WLAN --> FHEM

ablösen wird.

Viele Grüße
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 29 April 2020, 20:05:39
Hallo Stefan,

heute habe ich den ESP32 TTGO mit Display bekommen - mir ist es aber noch nicht gelungen, das Display richtig anzusteuern, d.h. ich erhalte folgenden Fehler mit

deviceDisplay: D21,kW,kWh

2020.04.29 19:57:35 3: AC_Strom_v4: ConfigureDisplay D21, 120, 1, kW, 60, kWh
2020.04.29 19:57:35 3: AC_Strom_v4: ConfigureDisplay creates command D21,120,1,22379,60,22379,72u
2020.04.29 19:57:35 5: SW: D21,120,1,22379,60,22379,72u.
2020.04.29 19:57:35 3: AC_Strom_v4: device: Error: command u parameter number 6 (value 22379) is out of bounds


Könntest Du bitte das Attribut deviceDisplay erklären?

Danke & Gruß
Tobias

PS: hier ein List des AC:

fhem> list AC_Strom_v4
Internals:
   Board      T-Display
   BoardDet   Espressif ESP32 Dev Module
   DEF        192.168.8.97:80
   DeviceName 192.168.8.97:80
   FD         19
   FUUID      5ea5ee97-f33f-7f16-7cbd-50d79c567df572eb
   FVERSION   98_ArduCounter.pm:0.142330/2017-05-09
   Initialized 1
   LASTOPEN   1588181347.53282
   NAME       AC_Strom_v4
   NOTIFYDEV  global
   NR         306
   NTFY_ORDER 50-AC_Strom_v4
   PARTIAL
   STATE      9.53
   SketchCompile Apr 17 2020 13:03:09
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 4.24
   VersionModule 7.25 - 4.4.2019
   WaitForAlive 0
   allowedPins 4,16,17,18,19,21,22,23,25,26,27,32,33,34,35,36,A0,39
   buffer
   deviceBooted 1588181189.09672
   devioLoglevel 3
   nextOpenDelay 60
   READINGS:
     2020-04-29 19:59:08   TotalKWh        9.53333333333333
     2020-04-29 19:59:08   calcCounterD21  9.55833333333343
     2020-04-29 19:59:08   calcCounterD21_i 0
     2020-04-29 19:59:08   countDiffD21    0
     2020-04-29 19:59:08   interpolatedLongD21 1147
     2020-04-29 19:59:08   longD21         1147
     2020-04-29 19:59:08   pinD21          0
     2020-04-29 19:59:08   powerD21        0.000
     2020-04-29 19:59:08   rejectD21       1616
     2020-04-29 19:29:07   state           opened
     2020-04-29 19:59:08   timeDiffD21     300001
   runningCfg:
     21         P21fp m30, DR21C0D0/0T0X0
     I          2,300,1,1,50,4
     V          1,0,0,0,0
Attributes:
   board      T-Display
   deviceDisplay D21,kW,kWh
   enableHistory 1
   interval   2 300 1 1
   pinD21     falling pullup 30
   pulsesPerUnit 120
   room       ArduCounter
   stateFormat { sprintf("%.2f", round( ReadingsVal("AC_Strom_v4","TotalKWh",0), 2))}
   userReadings TotalKWh:longD21.* monotonic { ReadingsVal("AC_Strom_v4","longD21",0)/120 }
   verbose    5


Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 29 April 2020, 22:17:41
Hallo Tobias,

da hat sich noch ein Bug eingeschlichen. Anbei eine korrigierte Version, in der das deviceDisplay-Attribut funktionieren sollte.
Du hast das Attribut schon korrekt gesetzt. Nach dem Pin kommt die Einheit für den Zählerstand, danach die Einheit für den Verbrauch.
Die pulses per Unit etc. werden von den anderen Attributen an den ESP geschickt, so dass er aus den gezählten Pulsen den Zählerstand und den Verbrauch berechnen kann.

Mit der linken Taste am T-Display kannst Du dann verschiedene Anzeigemodi hin und her schalten, wobei einer aber nur für analoge Abtastungen relevant ist.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 30 April 2020, 10:19:05
Zitat von: StefanStrobel am 29 April 2020, 22:17:41
Hallo Tobias,

da hat sich noch ein Bug eingeschlichen. Anbei eine korrigierte Version, in der das deviceDisplay-Attribut funktionieren sollte.
Du hast das Attribut schon korrekt gesetzt. Nach dem Pin kommt die Einheit für den Zählerstand, danach die Einheit für den Verbrauch.
Die pulses per Unit etc. werden von den anderen Attributen an den ESP geschickt, so dass er aus den gezählten Pulsen den Zählerstand und den Verbrauch berechnen kann.

Mit der linken Taste am T-Display kannst Du dann verschiedene Anzeigemodi hin und her schalten, wobei einer aber nur für analoge Abtastungen relevant ist.

Gruss
   Stefan

Ich warte noch auf meine ESP32 mit Display (TTGO).
Habt Ihr ein gutes Gehäuse für die Platinen? Gerne auch was für den 3D Drucker?

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 30 April 2020, 17:09:41
Hallo Stefan,

Zitat von: StefanStrobel am 29 April 2020, 22:17:41
da hat sich noch ein Bug eingeschlichen. Anbei eine korrigierte Version, in der das deviceDisplay-Attribut funktionieren sollte.
Du hast das Attribut schon korrekt gesetzt. Nach dem Pin kommt die Einheit für den Zählerstand, danach die Einheit für den Verbrauch.
Die pulses per Unit etc. werden von den anderen Attributen an den ESP geschickt, so dass er aus den gezählten Pulsen den Zählerstand und den Verbrauch berechnen kann.

Mit der linken Taste am T-Display kannst Du dann verschiedene Anzeigemodi hin und her schalten, wobei einer aber nur für analoge Abtastungen relevant ist.

danke für die neue Version. Habe ich eingespielt, FHEM und den ESP32 neu gestartet, und der "out of bounds" Fehler bezüglich Display tritt nicht mehr auf.

Einzig - das Display bleibt weiterhin dunkel... Mit dem ab Werk eingespielten Sketch hat das Display TTGO in allen Farben dargestellt.

Ich habe alle drei Tasten probiert - die beiden unten zeigen keine Reaktion, die auf der Seite führt zum Reset... Mit der "linken Taste" meinst du die Taste links unten neben dem USB-C Anschluss, wenn sich der Schriftzug TTGO leserlich über dem Display befindet, richtig?

Danke für einen weiteren Tip...

Viele Grüße
Tobias

PS: hier nochmal der List des Device:

fhem> list AC_Strom_v4
Internals:
   Board      T-Display
   BoardDet   Espressif ESP32 Dev Module
   DEF        192.168.8.97:80
   DeviceName 192.168.8.97:80
   FD         59
   FUUID      5ea5ee97-f33f-7f16-7cbd-50d79c567df572eb
   FVERSION   98_ArduCounter.pm:0.142330/2017-05-09
   Initialized 1
   LASTOPEN   1588258769.61724
   NAME       AC_Strom_v4
   NOTIFYDEV  global
   NR         306
   NTFY_ORDER 50-AC_Strom_v4
   PARTIAL
   STATE      9.53
   SketchCompile Apr 17 2020 13:03:09
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 4.24
   VersionModule 7.26 - 29.4.2019
   WaitForAlive 0
   allowedPins 4,16,17,18,19,21,22,23,25,26,27,32,33,34,35,36,A0,39
   buffer
   deviceBooted 1588244262.8405
   devioLoglevel 3
   nextOpenDelay 60
   READINGS:
     2020-04-30 17:07:49   TotalKWh        9.53333333333333
     2020-04-30 17:07:49   calcCounterD21  9.55833333333343
     2020-04-30 17:07:49   calcCounterD21_i 0
     2020-04-30 17:07:49   countDiffD21    0
     2020-04-30 17:07:49   interpolatedLongD21 1147
     2020-04-30 17:07:49   longD21         1147
     2020-04-30 17:07:49   pinD21          0
     2020-04-30 17:07:49   powerD21        0.000
     2020-04-30 17:07:49   rejectD21       1616
     2020-04-30 16:59:29   state           opened
     2020-04-30 17:07:49   timeDiffD21     300001
   runningCfg:
     21         P21fp m30, DR21C0D0/0T0X0
     I          2,300,1,1,50,4
     V          1,0,0,0,0
Attributes:
   board      T-Display
   deviceDisplay D21,kW,kWh
   enableHistory 1
   interval   2 300 1 1
   pinD21     falling pullup 30
   pulsesPerUnit 120
   room       ArduCounter
   stateFormat { sprintf("%.2f", round( ReadingsVal("AC_Strom_v4","TotalKWh",0), 2))}
   userReadings TotalKWh:longD21.* monotonic { ReadingsVal("AC_Strom_v4","longD21",0)/120 }
   verbose    5


Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 30 April 2020, 21:07:09
Hallo Tobias,

Zitat von: tpm88 am 30 April 2020, 17:09:41
Einzig - das Display bleibt weiterhin dunkel... Mit dem ab Werk eingespielten Sketch hat das Display TTGO in allen Farben dargestellt.

Ich habe alle drei Tasten probiert - die beiden unten zeigen keine Reaktion, die auf der Seite führt zum Reset... Mit der "linken Taste" meinst du die Taste links unten neben dem USB-C Anschluss, wenn sich der Schriftzug TTGO leserlich über dem Display befindet, richtig?

genau, die habe ich mit links gemeint.
Welche Firmware hast Du denn geflasht? Evt. ist bei Dir ja die ohne Display-Unterstützung drauf geraten.
ArduCounter-ESP32T.bin wäre die richtige für das T-Display.

bei set flash sollte das Modul eigentlich abhängig vom board-Attribut automatisch die richtige Firmware nehmen.
Vermutlich sollte ich das irgendwie noch im Modul anzeigen.
Ich bin gerade auch noch am Suchen wo die disconnects herkommen.

Gruss / vielen Dank fürs Testen
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 30 April 2020, 21:09:47
Hallo Robert,

bisher hängt der TTGO bei mir noch ohne Gehäuse neben der Wasseruhr. Einen 3D-Drucker habe ich leider nicht.
Ich bräuchte auch ein etwas größeres Gehäuse, weil ich den ESP noch auf ein Stück Lochraster gesteckt habe um den zusätzlichen Transistor zum Ansteuern des Laser-Moduls unterzubringen.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 30 April 2020, 21:20:28
Zitat von: StefanStrobel am 30 April 2020, 21:07:09
Welche Firmware hast Du denn geflasht? Evt. ist bei Dir ja die ohne Display-Unterstützung drauf geraten.
ArduCounter-ESP32T.bin wäre die richtige für das T-Display.

Oh Mann, das ist mir jetzt peinlich - ich hab natürlich die Gleiche wie für den ersten ESP32 ohne Display verwendet. Error 40...

Bezüglich der Disconnects ist mir folgendes aufgefallen. Diese treten regelmässig nach 3h 20 Minuten und etwa 30 Sekunden auf. Der zweite ESP32 (mit Display) zeigt das gleiche Verhalten, allerdings zeitversetzt.

2020-04-29_09:44:51 AC_Strom_v4 DISCONNECTED
2020-04-29_09:44:51 AC_Strom_v4 CONNECTED
2020-04-29_13:05:23 AC_Strom_v4 DISCONNECTED
2020-04-29_13:05:23 AC_Strom_v4 CONNECTED
2020-04-29_16:25:55 AC_Strom_v4 DISCONNECTED
2020-04-29_16:25:55 AC_Strom_v4 CONNECTED
2020-04-29_19:46:27 AC_Strom_v4 DISCONNECTED
2020-04-29_19:46:28 AC_Strom_v4 CONNECTED
2020-04-29_23:07:00 AC_Strom_v4 DISCONNECTED
2020-04-29_23:07:00 AC_Strom_v4 CONNECTED
2020-04-30_02:27:32 AC_Strom_v4 DISCONNECTED
2020-04-30_02:27:32 AC_Strom_v4 CONNECTED
2020-04-30_05:48:04 AC_Strom_v4 DISCONNECTED
2020-04-30_05:48:04 AC_Strom_v4 CONNECTED
2020-04-30_09:08:37 AC_Strom_v4 DISCONNECTED
2020-04-30_09:08:37 AC_Strom_v4 CONNECTED
2020-04-30_12:29:09 AC_Strom_v4 DISCONNECTED
2020-04-30_12:29:09 AC_Strom_v4 CONNECTED
2020-04-30_15:49:41 AC_Strom_v4 DISCONNECTED
2020-04-30_15:49:41 AC_Strom_v4 CONNECTED
2020-04-30_19:10:13 AC_Strom_v4 DISCONNECTED
2020-04-30_19:10:14 AC_Strom_v4 CONNECTED


Ich habe bereits etwas gesucht - manchmal scheint der AccessPoint seine Clients (kurzzeitig) herauszukicken. Laut https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/wifi.html (https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/wifi.html) wird beim Event WIFI_EVENT_STA_DISCONNECTED ein Reason Code angegeben - könntest Du den vielleicht im Sketch auswerten?

Jetzt werde ich gleich mal die "richtige" Firmware für den TTGO flashen...

Schönen Abend
Tobias

Edit: Kaum flasht man die richtige Firmware, schon gehts...
Titel: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 30 April 2020, 22:03:44
@Stefan
Wenn du willst kann ich dir gerne ein Gehäuse drucken.
Mein Drucker lauft zwar nicht perfekt aber das werden wir shying was passende raus bekommen.
Den Rest können wir ja per PN besprechen.

Fur den Wasserzähler hab ich mir mal vor Langerem eine Panasonic ex Lichtschranke angeschafft. Hab es aber bisher nicht hin bekommen diese zu installieren.
Definitiv muss ich hier ein Step up Sandler nehmen da der Sensor mit 12V Arbeit.
Dazu muss der Impulsausgang dann auch über eine optokoppler an den esp angeschlossen werden.
Sag werde ich dann alles mal umsetzen wenn der ttgo da ist.

@tpm88
Ich hab übrigens auch UniFi APs im Einsatz und habe hier bisher keinerlei Ausfälle! Aber ich nehm auch einen wemos d1
Hast du mal geprüft ob die wlan Setting nich auf Auto stehen?
Also Sendeleistung, Kanalwahl und Kanalbreite?


Edit:
@Stefan

Wie bekomm ich nun bei der neuen Firmware die WLAN RSSI werte angezeigt?


Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 01 Mai 2020, 15:36:05
Hi Robert,

Zitat von: no_Legend am 30 April 2020, 22:03:44
Wenn du willst kann ich dir gerne ein Gehäuse drucken.

@tpm88
Ich hab übrigens auch UniFi APs im Einsatz und habe hier bisher keinerlei Ausfälle! Aber ich nehm auch einen wemos d1
Hast du mal geprüft ob die wlan Setting nich auf Auto stehen?
Also Sendeleistung, Kanalwahl und Kanalbreite?


an einem gedruckten Gehäuse wäre ich auch interessiert.  8) Natürlich gegen Unkostenerstattung. Ich hab gesehen, daß es Vorschläge bei thingiverse etc gibt.
Google: esp32 ttgo t-display case

@Bezüglich WLAN-Reconnects und Unifi - ich habe nur einen einzigen AP (AC Pro), Kanal steht auf Auto, Sendeleistung Medium und Kanalbreite HT20. Ausfälle würde ich es nicht nennen, der Reconnect funktioniert ja.

Schönen Feiertag
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 01 Mai 2020, 15:51:12
Hallo Stefan,

Zitat von: tpm88 am 30 April 2020, 21:20:28

Edit: Kaum flasht man die richtige Firmware, schon gehts...

Zu früh gefreut. Prinzipiell funktioniert das Display jetzt - WLAN SSID und RSSI Werte werden sauber angezeigt.

Heute habe ich den TTGO auch an den Stromzähler angeschlossen. Impulse werden sauber gezählt - das Display zeigt diese aber nicht an. Bezüglich Impulsen und Vebrauch sind alle drei Screens (0/1/2) leer. Siehe Screenshots im Anhang.

Die Konfiguration in FHEM ist unverändert - siehe das list vom Device in meinem letzten Post.

Fehlt noch etwas?

deviceDisplay D21,kW,kWh

Hier ein paar Reading aus dem Log:

2020-05-01_15:35:15 AC_Strom_v4 powerD21: 0.326
2020-05-01_15:35:15 AC_Strom_v4 rejectD21: 1633
2020-05-01_15:35:15 AC_Strom_v4 timeDiffD21: 91932
2020-05-01_15:35:15 AC_Strom_v4 countDiffD21: 1
2020-05-01_15:35:15 AC_Strom_v4 pinD21: 58
2020-05-01_15:35:15 AC_Strom_v4 longD21: 1205
2020-05-01_15:35:15 AC_Strom_v4 interpolatedLongD21: 1213
2020-05-01_15:35:15 AC_Strom_v4 calcCounterD21: 10.1083333333334
2020-05-01_15:35:15 AC_Strom_v4 calcCounterD21_i: 0.0666666666666667
2020-05-01_15:35:15 AC_Strom_v4 TotalKWh: 10.0166666666667
2020-05-01_15:36:41 AC_Strom_v4 powerD21: 0.346
2020-05-01_15:36:41 AC_Strom_v4 rejectD21: 1633
2020-05-01_15:36:41 AC_Strom_v4 timeDiffD21: 86782
2020-05-01_15:36:41 AC_Strom_v4 countDiffD21: 1
2020-05-01_15:36:41 AC_Strom_v4 pinD21: 59
2020-05-01_15:36:41 AC_Strom_v4 longD21: 1206
2020-05-01_15:36:41 AC_Strom_v4 interpolatedLongD21: 1214
2020-05-01_15:36:41 AC_Strom_v4 calcCounterD21: 10.1166666666667
2020-05-01_15:36:41 AC_Strom_v4 calcCounterD21_i: 0.0666666666666667
2020-05-01_15:36:41 AC_Strom_v4 TotalKWh: 10.025
2020-05-01_15:38:11 AC_Strom_v4 powerD21: 0.336
2020-05-01_15:38:11 AC_Strom_v4 rejectD21: 1633
2020-05-01_15:38:11 AC_Strom_v4 timeDiffD21: 89261
2020-05-01_15:38:11 AC_Strom_v4 countDiffD21: 1
2020-05-01_15:38:11 AC_Strom_v4 pinD21: 60
2020-05-01_15:38:11 AC_Strom_v4 longD21: 1207
2020-05-01_15:38:11 AC_Strom_v4 interpolatedLongD21: 1215
2020-05-01_15:38:11 AC_Strom_v4 calcCounterD21: 10.1250000000001
2020-05-01_15:38:11 AC_Strom_v4 calcCounterD21_i: 0.0666666666666667
2020-05-01_15:38:11 AC_Strom_v4 TotalKWh: 10.0333333333333
2020-05-01_15:39:43 AC_Strom_v4 powerD21: 0.326
2020-05-01_15:39:43 AC_Strom_v4 rejectD21: 1633
2020-05-01_15:39:43 AC_Strom_v4 timeDiffD21: 91947
2020-05-01_15:39:43 AC_Strom_v4 countDiffD21: 1
2020-05-01_15:39:43 AC_Strom_v4 pinD21: 61
2020-05-01_15:39:43 AC_Strom_v4 longD21: 1208
2020-05-01_15:39:43 AC_Strom_v4 interpolatedLongD21: 1216
2020-05-01_15:39:43 AC_Strom_v4 calcCounterD21: 10.1333333333334
2020-05-01_15:39:43 AC_Strom_v4 calcCounterD21_i: 0.0666666666666667
2020-05-01_15:39:43 AC_Strom_v4 TotalKWh: 10.0416666666667
2020-05-01_15:41:03 AC_Strom_v4 powerD21: 0.372
2020-05-01_15:41:03 AC_Strom_v4 rejectD21: 1633
2020-05-01_15:41:03 AC_Strom_v4 timeDiffD21: 80554
2020-05-01_15:41:03 AC_Strom_v4 countDiffD21: 1
2020-05-01_15:41:03 AC_Strom_v4 pinD21: 62
2020-05-01_15:41:03 AC_Strom_v4 longD21: 1209
2020-05-01_15:41:03 AC_Strom_v4 interpolatedLongD21: 1217
2020-05-01_15:41:03 AC_Strom_v4 calcCounterD21: 10.1416666666667
2020-05-01_15:41:03 AC_Strom_v4 calcCounterD21_i: 0.0666666666666667
2020-05-01_15:41:03 AC_Strom_v4 TotalKWh: 10.05


Danke vorab & schönen Feiertag!

Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 01 Mai 2020, 21:25:34
Hallo,

anbei eine neue Version mit hoffentlich weniger Bugs ;-)
Das RSSI-Reading sollte wieder funktionieren und die Anzeige des aktuellen Verbrauchs sollte zuverlässiger kommen. Sie wird bisher allerdings immer nur alle 5 Sekunden aktualisiert.

@Robert: vielen Dank für das Angebot mit dem Gehäuse. Ich werde mal überlegen, wie ich das mit den zusätzlichen Bauteilen eleganter lösen kann. Vielleicht finden wir ja eine Lösung, bei der so etwas oder auch ein StepUp etc. noch Platz hat.

@Tobias: bitte setze auch noch das Attribut readingFlowUnitTime.

Gruss
   Stefan

EDIT 6.6.20: aktuellste Version ist inzwischen eingecheckt.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 01 Mai 2020, 21:47:10
@Stefan
Das Gehäuse muss für mich auch größer ausfallen.
Ich muss alleine für den ex26a eine dc/dc wandler unterbringen und das teil ist nicht gerade klein. Dazu muss auch noch ein optokoppler zum umsetzten auf esp taugliche Spannungen.
Der Gaszähler ist da eher unproblematisch, ist ja nur eine simpler reedkontakt.

Zeichne kann ich es auch. Wenn ich endlich mal hin bekommen dass das CAD nicht in parallels rum zickt.

Drucken kann ich aktuell leider nur pla. Ich bekomm Petg einfach nicht in den Griff.

Wenn hier jemand zufällig mitliest der ne gutes Profile für cura, I3 mega und petg hat, würde ich mich freuen wenn ich es haben dürfte [emoji23]

Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 02 Mai 2020, 17:10:54
Hallo Stefan,

Zitat von: StefanStrobel am 30 April 2020, 21:07:09
Ich bin gerade auch noch am Suchen wo die disconnects herkommen.

bezüglich der Disconnects habe ich auch weitergeforscht und auch etwas gefunden - es hat definitiv etwas mit DHCP zu tun.

FHEM-Log:

2020-05-02_02:37:42 AC_Strom_v4 DISCONNECTED
2020-05-02_02:37:42 AC_Strom_v4 CONNECTED
2020-05-02_05:58:15 AC_Strom_v4 DISCONNECTED
2020-05-02_05:58:15 AC_Strom_v4 CONNECTED


Syslog opizero - dnsmasq:

Date,Facility,Severity,Host,Syslogtag,ProcessID,Messagetype,Message
Today 02:37:42,"3","6","opizero","dnsmasq-dhcp[763]:","","1"," 2974266351 client provides name: espressif"
Today 02:37:42,"3","6","opizero","dnsmasq-dhcp[763]:","","1"," 2974266351 client provides name: espressif"
Today 05:58:15,"3","6","opizero","dnsmasq-dhcp[763]:","","1"," 2919370619 client provides name: espressif"
Today 05:58:15,"3","6","opizero","dnsmasq-dhcp[763]:","","1"," 2919370619 client provides name: espressif"


Die Disconnects treten ziemlich genau alle 200 Minuten auf.

DHCP-Server für mein LAN ist eine FritzBox - deren DHCP Lease Time ist allerdings 10 Tage (Default). Natürlich bekommt der ESP32 auch immer die gleiche IP von der Box.

Zusätzlich läuft aber auf dem Host opizero in meinem Netz auch noch ein dnsmasq, der allerdings ausschließlich als DHCP-Proxy für PXE Boot dient. "Normale" DHCP Request werden von der FritzBox bedient.

Natürlich hatte ich jetzt den dnsmasq als Bösewicht in Verdacht, die regelmäßigen DISCONNECT - CONNECT Zyklen kommen aber auch weiterhin, wenn ich den dnsmasq auf opizero deaktiviere.

Damit ist der WLAN Access Point vermutlich als Verursacher raus...

VG
Tobias

PS: Da der Reconnect (im Vergleich zu Firmware v3) aber hervorragend funktioniert, lohnt es sich IMHO nicht, zu viel Aufwand hier zu investieren...
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 02 Mai 2020, 17:49:13
Hallo Stefan,

Zitat von: StefanStrobel am 01 Mai 2020, 21:25:34
anbei eine neue Version mit hoffentlich weniger Bugs ;-)
Das RSSI-Reading sollte wieder funktionieren und die Anzeige des aktuellen Verbrauchs sollte zuverlässiger kommen. Sie wird bisher allerdings immer nur alle 5 Sekunden aktualisiert.

@Tobias: bitte setze auch noch das Attribut readingFlowUnitTime.

danke für die neue Version. Aber zuallererst mal - die OTA Flash Funktion ist ein Traum  :D

Modul ArduCounter und Firmware habe ich aktualisiert.

Teilerfolg: Auf dem Screen 1 sehe ich jetzt das Zählen der Impulse. Screen 2 mit "current consumption" bleibt aber nach wie vor leer. Auch mit gemäss Commandref gesetzten Attribut  readingFlowUnitTimeD21 3600 und etwas Wartezeit...

Attributes:
   board      T-Display
   deviceDisplay D21,kW,kWh
   enableHistory 1
   interval   2 300 1 1
   pinD21     falling pullup 30
   pulsesPerUnit 120
   readingFlowUnitTimeD21 3600
   room       ArduCounter
   stateFormat { sprintf("%.2f", round( ReadingsVal("AC_Strom_v4","TotalKWh",0), 2))}
   userReadings TotalKWh:longD21.* monotonic { ReadingsVal("AC_Strom_v4","longD21",0)/120 }
   userattr   readingFlowUnitTimeD21
   verbose    5


Readings:
2020-05-02_17:38:52 AC_Strom_v4 powerD21: 1.176
2020-05-02_17:38:52 AC_Strom_v4 rejectD21: 1633
2020-05-02_17:38:52 AC_Strom_v4 timeDiffD21: 25504
2020-05-02_17:38:52 AC_Strom_v4 countDiffD21: 1
2020-05-02_17:38:52 AC_Strom_v4 pinD21: 8
2020-05-02_17:38:52 AC_Strom_v4 longD21: 2638
2020-05-02_17:38:52 AC_Strom_v4 interpolatedLongD21: 2650
2020-05-02_17:38:52 AC_Strom_v4 calcCounterD21: 22.0833333333329
2020-05-02_17:38:52 AC_Strom_v4 calcCounterD21_i: 0.1


readingFlowUnitTime[AD]?[0-9]+
specified the time period in seconds which is used as the basis for calculating the current flow or power for the given pin. If the counter e.g. counts liters and you want to see the flow in liters per minute, then you have to set this attribute to 60.
If you count kWh and you want to see the current power in watts, then specify 3600 (one hour).


Das Reading powerD21 zeigt (egal ob readingFlowUnitTimeD21 = 3600 oder dieses Attribut nicht gesetzt) die momentane Leistung in kW an. Vermutlich ist das nur eine Ungenauigkeit in der Doku "see the current power in watts"  - oder sollten dann wirklich Watt und nicht Kilowatt angezeigt werden??

Ich hänge wieder Screenshots an...

Danke & Gruß
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 02 Mai 2020, 21:54:54
Hallo Tobias,

die Doku für readingFlowUnitTime muss ich korrigieren. Das muss in dem Beispiel natürlich kW und nicht Watt lauten.
Um den Fehler mit der lokalen Verbrauchs-Anzeige zu finden, wäre es hilfreich, wenn Du einen Log-Auszug mit Verbose 5 schicken könntest, in dem ich sehe, was Fhem tatsächlich an Deinen ESP schickt, also die Kommunikation nach einem Neustart des ESP.
Bezüglich der Reconnects habe ich jetzt mal ein Test-Modul mit Test-Firmware gebaut, die gar nichts mehr zählt, sonder nur die Verbindung aufmacht. Auch dabei bricht die Verbindung nach 3h20 ab. Jetzt teste ich gerade noch das ganze ohne WifiManger und TFT-Library. Wenn es da immer noch passiert, dann scheint es im ESP-Framework zu liegen oder ich mache noch etwas grundlegend falsch.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 03 Mai 2020, 10:47:49
Hallo Stefan,

Zitat von: StefanStrobel am 02 Mai 2020, 21:54:54
Um den Fehler mit der lokalen Verbrauchs-Anzeige zu finden, wäre es hilfreich, wenn Du einen Log-Auszug mit Verbose 5 schicken könntest, in dem ich sehe, was Fhem tatsächlich an Deinen ESP schickt, also die Kommunikation nach einem Neustart des ESP.

hier der Log-Auszug mit Verbose 5 nach Reset (per Taster) des ESP:


2020.05.03 10:43:31 5: AC_Strom_v4: sending k(eepAlive) to device
2020.05.03 10:43:31 5: SW: 1,10k.
2020.05.03 10:43:33 3: AC_Strom_v4: device didn't reply to k(eeepAlive), count=1
2020.05.03 10:43:36 3: 192.168.8.97:80 disconnected, waiting to reappear (AC_Strom_v4)
2020.05.03 10:43:36 5: HttpUtils url=http://192.168.8.97:80/
2020.05.03 10:43:36 4: IP: 192.168.8.97 -> 192.168.8.97
2020.05.03 10:43:36 3: 192.168.8.97:80 reappeared (AC_Strom_v4)
2020.05.03 10:43:36 5: AC_Strom_v4: ArduCounter_Open succeeded in callback
2020.05.03 10:43:36 5: AC_Strom_v4: sending k(eepAlive) to device
2020.05.03 10:43:36 5: SW: 1,10k.
2020.05.03 10:43:36 3: attribute board is set to T-Display and is overwriting board ESP32 reported by device
2020.05.03 10:43:36 3: AC_Strom_v4: device sent hello: ArduCounter V4.25 on ESP32 Espressif ESP32 Dev Module with display compiled May  1 2020 21:04:58 Hello
2020.05.03 10:43:36 4: AC_Strom_v4: device did reset (now 7.98, before 36103.089). New offset is 1588495408.20474
2020.05.03 10:43:36 5: AC_Strom_v4: Device Time 7.98, Offset 1588495.408, Drift -8.313s in 26682.502s, -0.03%
2020.05.03 10:43:36 4: AC_Strom_v4: device sent time info: N7980,0B1104,0
2020.05.03 10:43:36 4: AC_Strom_v4: device sent interval config 30,60,2,2,50,4
2020.05.03 10:43:36 4: AC_Strom_v4: device sent devVerbose 0,0,0,0,0
2020.05.03 10:43:36 5: AC_Strom_v4: device sent alive response: AR-74
2020.05.03 10:43:37 3: AC_Strom_v4: ConfigureDevice: send config
2020.05.03 10:43:37 3: AC_Strom_v4: ConfigurePin creates command 21,2,1,30a
2020.05.03 10:43:37 5: SW: 21,2,1,30a.
2020.05.03 10:43:37 5: AC_Strom_v4: ConfigureDevice: no pins in running config without attribute in Fhem
2020.05.03 10:43:37 3: AC_Strom_v4: ConfigureIntervals creates command 2,300,1,1,50,4i
2020.05.03 10:43:37 5: SW: 2,300,1,1,50,4i.
2020.05.03 10:43:37 3: AC_Strom_v4: ConfigureVerboseLevels creates command 1,0,0,0,0v
2020.05.03 10:43:37 5: SW: 1,0,0,0,0v.
2020.05.03 10:43:37 5: SW: s.
2020.05.03 10:43:37 4: AC_Strom_v4: device: defined P21fp m30
2020.05.03 10:43:37 4: AC_Strom_v4: device: intervals set to 2 300 1 1 50 4
2020.05.03 10:43:37 4: AC_Strom_v4: device: devVerbose set to 1,0,0,0,0
2020.05.03 10:43:37 4: AC_Strom_v4: device: Status: ArduCounter V4.25 on ESP32 Espressif ESP32 Dev Module with display compiled May  1 2020 21:04:58
2020.05.03 10:43:37 4: AC_Strom_v4: device: Connected to TobiVision with IP 192.168.8.97 RSSI -74
2020.05.03 10:43:37 4: AC_Strom_v4: device sent interval config 2,300,1,1,50,4
2020.05.03 10:43:37 4: AC_Strom_v4: device sent devVerbose 1,0,0,0,0
2020.05.03 10:43:37 4: AC_Strom_v4: device sent unit display config 0,0,0,,0,
2020.05.03 10:43:37 4: AC_Strom_v4: device sent config for pin 21: P21fp m30, DR21C0D0/0T0X0
2020.05.03 10:43:37 4: AC_Strom_v4: device: no config in EEPROM
2020.05.03 10:43:37 4: AC_Strom_v4: device: Next report in 1910 milliseconds
2020.05.03 10:43:45 5: AC_Strom_v4: HandleHistory no CL
2020.05.03 10:43:45 5: AC_Strom_v4: HandleHistory Seq      1 2020-05-03 10:43:37 Pin D21   6.652 seconds at 1 -> gap (1,-8024:6652@1G)
2020.05.03 10:43:46 5: AC_Strom_v4: sending k(eepAlive) to device
2020.05.03 10:43:46 5: SW: 1,10k.
2020.05.03 10:43:46 5: AC_Strom_v4: device sent alive response: AR-73
2020.05.03 10:43:47 5: AC_Strom_v4: HandleHistory no CL
2020.05.03 10:43:47 5: AC_Strom_v4: HandleHistory Seq      2 2020-05-03 10:43:43 Pin D21   2.777 seconds at 0 -> pulse counted (2,-3373:2777@0C)
2020.05.03 10:43:56 5: AC_Strom_v4: sending k(eepAlive) to device
2020.05.03 10:43:56 5: SW: 1,10k.
2020.05.03 10:43:56 5: AC_Strom_v4: device sent alive response: AR-75
2020.05.03 10:44:06 5: AC_Strom_v4: sending k(eepAlive) to device
2020.05.03 10:44:06 5: SW: 1,10k.
2020.05.03 10:44:06 5: AC_Strom_v4: device sent alive response: AR-74
2020.05.03 10:44:16 5: AC_Strom_v4: sending k(eepAlive) to device
2020.05.03 10:44:16 5: SW: 1,10k.
2020.05.03 10:44:16 5: AC_Strom_v4: device sent alive response: AR-76
2020.05.03 10:44:26 5: AC_Strom_v4: sending k(eepAlive) to device
2020.05.03 10:44:26 5: SW: 1,10k.
2020.05.03 10:44:26 5: AC_Strom_v4: device sent alive response: AR-73
2020.05.03 10:44:36 5: AC_Strom_v4: sending k(eepAlive) to device
2020.05.03 10:44:36 5: SW: 1,10k.
2020.05.03 10:44:36 5: AC_Strom_v4: device sent alive response: AR-75
2020.05.03 10:44:46 5: AC_Strom_v4: sending k(eepAlive) to device
2020.05.03 10:44:46 5: SW: 1,10k.
2020.05.03 10:44:46 5: AC_Strom_v4: device sent alive response: AR-74
2020.05.03 10:44:49 5: AC_Strom_v4: HandleHistory no CL
2020.05.03 10:44:49 5: AC_Strom_v4: HandleHistory Seq      3 2020-05-03 10:43:46 Pin D21  62.423 seconds at 1 -> gap (3,-62627:62423@1G)


Danke & Gruß
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 03 Mai 2020, 21:19:32
Hallo Tobias,

displayConfig wurde fälschlicherweise nicht an den ESP übertragen.
Das ist mir nicht aufgefallen, da ich die Config schon im Flash gespeichert hatte.
Probier mal die angehängte neue Version.

Gruss
   Stefan

EDIT 6.6.20: aktuellste Version ist inzwischen eingecheckt.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 03 Mai 2020, 22:28:42
Guten Abend Stefan,

Zitat von: StefanStrobel am 03 Mai 2020, 21:19:32
Probier mal die angehängte neue Version.

... es wird immer besser - siehe Screenshots.

Die momentane Leistung wird jetzt richtig angezeigt - allerdings nur für ca 5 Sekunden. Danach springt die Anzeige auf 0000,00 bis der nächste Impuls kommt. Das kann bei meinem Ferrariszähler schon mal 1 - 2 Minuten (!) dauern. Der Sketch müsste also den letzten Wert solange anzeigen, bis durch einen neuen Impuls ein neuer Leistungswert berechnet wird.

- die richtige Einheit für "current consumption" wäre kW - nicht kWh - muß ich da noch an deviceDisplay D21,kW,kWh etwas drehen?
- richtig genial wäre natürlich eine Anzeige in Watt, also z.B. 460 Watt statt 0000.46 kW ...

VG
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 04 Mai 2020, 19:18:54
Hallo Tobias,

Du hast nur kWh und kW im Attribut vertauscht. Dann passt es.
Um dann statt kW Watts zu bekommen, kannst Du für flowUnitTime statt 3600 3600000 verwenden. Das Ergebnis muss ja nur mit 1000 multipliziert werden.

Was das Timing bei der Anzeige angeht, so werde ich da vermutlich die gleiche Logik einbauen wie beim Reporting des Device an Fhem und die Werte aus dem Intervall-Attribut verwenden. Eine feste Zeitspanne alleine reicht einfach nicht aus.
Eine neue Version kommt dann :-)

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 07 Mai 2020, 21:38:08
Hallo,

anbei eine neue Firmware für die TTGO Display Boards.
Zum Testen gibt es neben dem bisherigen Anzeigemodus 2 einen neuen mit Nummer 3 (wird mit der linken Taste umgeschaltet).
Der aktualisiert das Display nicht alle 5 Sekunden sondern abhängig von den Einstellungen mit dem interval-Attribut.

Gruss
   Stefan

EDIT 6.6.20: aktuellste Version ist inzwischen eingecheckt.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 10 Mai 2020, 13:07:55
Hallo Stefan,

perfekt, vielen Dank, der neue Modus 3 (consumption dyn) funktioniert prima für meinen Anwendungsfall Ferrariszähler.

Edit: folgende Meldung im Log gefunden - scheint aber keine Auswirkung zu haben:
2020.05.10 13:40:44 3: AC_Strom_v4: unparseable message from device: DisplayMode 3


Edit2: aber nur solange ich die Anzeige nicht von kW auf W umstelle, wie oben vorgeschlagen. Mit:


attr AC_Strom_v4 deviceDisplay D21,Wh,W
attr AC_Strom_v4 readingFlowUnitTimeD21 3600000


wird zwar das powerD21 reading korrekt in W berechnet. Das Display zeigt aber sowohl in Modus 2 als auch Modus 3 dauerhaft nur noch 0000.00 an...

Was ist eigentlich der einfachste Weg, um den ESP32 in ein anderes WLAN zu bringen? Ich habe mir damit beholfen, das aktuelle WLAN auszuschalten, dann geht der ESP32 nach einiger Zeit offenbar wieder in den AccessPoint Modus. Könnte man hierfür vielleicht sogar ein set Kommand im Modul vorsehen?

VG
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 10 Mai 2020, 13:57:35
Hallo Tobias,

Gute Idee. Das baue ich noch ein.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 10 Mai 2020, 13:59:54
Hallo Stefan,

bitte beachte meine beiden Edits im letzten Post...

Danke & Gruß
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 10 Mai 2020, 14:26:52
Zitat von: tpm88 am 10 Mai 2020, 13:07:55
Edit: folgende Meldung im Log gefunden - scheint aber keine Auswirkung zu haben:
2020.05.10 13:40:44 3: AC_Strom_v4: unparseable message from device: DisplayMode 3


Seltsam, diese Debug-Ausgabe ist in der aktuellen Version eigentlich auskommentiert.

Zitat

attr AC_Strom_v4 deviceDisplay D21,Wh,W
attr AC_Strom_v4 readingFlowUnitTimeD21 3600000


wird zwar das powerD21 reading korrekt in W berechnet. Das Display zeigt aber sowohl in Modus 2 als auch Modus 3 dauerhaft nur noch 0000.00 an...

Muss ich mir mal genauer ansehen.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 10 Mai 2020, 15:29:38
Zitat von: StefanStrobel am 10 Mai 2020, 14:26:52
Seltsam, diese Debug-Ausgabe ist in der aktuellen Version eigentlich auskommentiert.

Aktiv laufen bei mir:
VersionFirmware 4.26
VersionModule 7.28 - 3.5.2020
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 11 Mai 2020, 17:26:57
Hallo Tobias,

das mit

attr AC_Strom_v4 readingFlowUnitTimeD21 3600000

scheitert an der Firmware. Die mag bisher so große Werte nicht. Die Fehlermeldung der Firmware an Fhem ist vermutlich irgendwo im Log untergegangen. Ich poste in den nächsten Tagen eine neue Firmware.

Gruss
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 17 Mai 2020, 19:38:00
Hallo,

anbei eine neue Firmware für die T-Display boards und das aktuelle Fhem-Modul zum Testen.

Gruss
   Stefan

EDIT 6.6.20: aktuellste Version ist inzwischen eingecheckt.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 20 Mai 2020, 21:55:33
Hallo Stefan,

sieht sehr gut aus, danke für die neuen Versionen.

Anzeige in Watt mittels readingFlowUnitTimeD21 3600000 funktioniert jetzt einwandfrei.

VG
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 25 Mai 2020, 21:15:54
Hallo Tobias,

darf ich Dein Bild von dem T-Display-Modul für den neuen Fhem-Wiki-Artikel zu ArduCounter verwenden?

Gruss
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 25 Mai 2020, 22:18:49
Hallo Stefan, ja natürlich sehr gerne...

VG
Tobias


Mobil gesendet, darum kurz...
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 26 Mai 2020, 15:23:43
@StefanStrobel

bei mir werden immer wieder impulse nicht gezählt. Und es sind irgendwie nicht nur ein paar.
Genau zahl kann ich später geben

Einen Grund dafür kann ich nicht finden.
Kann ich das irgendwie protokollieren, was wann genau gezählt wird?

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 26 Mai 2020, 20:20:57
Hallo Robert,

ja, dafür gibt es die History-Features.
Wird mit dem Attribut enableHistory angeschaltet und dann später mit get history ausgelesen.
Das Attribut maxHist definiert, wie viele Einträge Fhem speichern soll.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 26 Mai 2020, 21:35:18
Ergänzende Frage:

Auf was für einem Board und mit welcher ArduCounter-Version fehlen denn die Impulse?
War das mit einer früheren Version bei gleicher Hardware nicht der Fall?
(ich möchte ausschließen, dass in der neuen Version noch zu viele Bugs sind wenn ich sie einchecke ...)

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 26 Mai 2020, 22:12:10
@StefanStrobel
Ist die gleich Hardware wie vor dem Update auf den neusten Sketch.
Ich hab grad mal nach geschaut es fehlen knapp 4000 Pulse. Das ganze in weniger als einen Monat.
Does Auswertung übernimmt ein wemos d1 Mini, der eine Reed Kontakt vom Gastzähler auswertet. Dieser hat ein Batterie shield also zahlt er auch weiter beim StromAusfall.
Interessant ist auch das der read Kontakt sowohl über einen Schließer wie auch eine Öffner besitzt.
Ich hab al beide angeschlossen werte aber zur Zeit nur einen Kontakt aus.
Um eine Problem mit dem Reed Kontakt auszuschließen, werde ich morgen anfangen beide Auszuwerten.

Ob es bei der alten Firmware auch so war kann ich jetzt nicht mehr nachvollziehen. Kann mich da auch nicht mehr dran erinnern.
Sobald die ttgo bei mir eintreffen werden ich alles wieder umbauen.

Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 29 Mai 2020, 07:41:09
Guten Morgen,

gestern sind die TTGO eingetroffen.
Jetzt wollte ich mal einen flashen.
Hat aber bisher nicht so gut geklappt.

Bisher hab ich nur folgendes gemacht:
esptool.py write_flash 0x00000 ArduCounter-ESP32T.bin

Langt das oder muss man noch mehr flashen?

SO ich hab ihn jetzt mit folgendem Befehl geflasht bekommen: (OSX)
sudo esptool.py write_flash --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 ArduCounter-ESP32-bootloader_dio_40m.bin 0x10000 ArduCounter-ESP32T.bin 0x8000 ArduCounter-ESP32-partitions.bin

Welche PINs sind eigentlich am TTGO am besten zu verwenden?
Ich möchte nun gerne die zwei Reedkontakte vom Gaszähler erfassen und der Wasserzähler soll per EX26 und Optokoppler angeschlossen werden.

Dank und Gruß Robert

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: tpm88 am 29 Mai 2020, 12:39:49
Zitat von: no_Legend am 29 Mai 2020, 07:41:09

Welche PINs sind eigentlich am TTGO am besten zu verwenden?
Ich möchte nun gerne die zwei Reedkontakte vom Gaszähler erfassen und der Wasserzähler soll per EX26 und Optokoppler angeschlossen werden.

Hallo Robert,

die Firmware meldet als erlaubte Pins beim TTGO: allowedPins 4,17,21,22,25,26,27,32,33,34,35,36,A0,39

Ich verwende ohne Probleme den D21 für meinen Stromzähler.

VG
Tobias
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 30 Mai 2020, 11:14:06
Hallo,

Bezüglich der erlaubten Pins habe ich versucht, die problematischen schon aus der Liste rauszunehmen.
Ganz hilfreich ist auch https://randomnerdtutorials.com/esp32-pinout-reference-gpios/

Bezüglich Flashen: die korrekten Befehle sind eigentlich im Modul hinterlegt. Man kann also auch einen neuen TTGO bzw. ESP32 anschließen, das Attribut Board setzen und dann mit set flash flashen.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 30 Mai 2020, 23:46:54
Zitat von: StefanStrobel am 30 Mai 2020, 11:14:06
Hallo,

Bezüglich der erlaubten Pins habe ich versucht, die problematischen schon aus der Liste rauszunehmen.
Ganz hilfreich ist auch https://randomnerdtutorials.com/esp32-pinout-reference-gpios/

Bezüglich Flashen: die korrekten Befehle sind eigentlich im Modul hinterlegt. Man kann also auch einen neuen TTGO bzw. ESP32 anschließen, das Attribut Board setzen und dann mit set flash flashen.

Gruß
    Stefan

Naja alles ins Modul zu packen ist für mich keine silnvolle Variante.
Unser Haus hat inclusive Keller 4 Stockwerke.
Im Keller läuft der nuc mit fhem, pc mit allem zum Flashen im Dach, also ganz oben.
Dazu ist die lötwerkstatt auch unterm Dach.

Zusätzlich haben einige ja auch FHEM im docker oder in einer vm am laufen.
Da muss man erst mühsam die Hardware in die vm reichen, womit dann nicht mal garantiert ist das man auch reibungslos flashen kann.

Deshalb bevorzuge ich einfach den manuellen Weg.

Jetzt sind ja endlich als Bauteile bei mir da und ich kann die neue Platine basteln. Wenn ich Zeit dazu finde. Aktuell ist das echt nicht so einfach.

Zu den Pins nochmal. Arbeit ihr lieber mit externen pull up/down Widerständen oder nehmt ihr die interne?

Gruß Robert



Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 31 Mai 2020, 10:07:57
Ich nehme meist die internen pullup-Widerstände.
Dem AD-Wandler ist es egal;-)

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 04 Juni 2020, 07:38:29
Zitat von: StefanStrobel am 31 Mai 2020, 10:07:57
Ich nehme meist die internen pullup-Widerstände.
Dem AD-Wandler ist es egal;-)

Gruß
    Stefan

Du hast schon recht, damit hat man einfach mehr Möglichkeiten.
Je nach dem was man braucht, kann man es dann per Software definieren.
Platine ist schon halb Fertig, jetzt fehlt nur noch die Anbindung des EX26a (Verdrahtung des Optokopplers fehlt noch)

Dazu noch was off topic, wir hatten in meiner Ausbildung immer etwas genommen, was wir Blankdraht genannt haben, um die Leiterbahnen herzustellen.
Diesen konnte man am Schraubstock und mit ner Zange immer gerade ziehen.
Hat jemand eine Ahnung wie so ein Draht wirklich richtig heißt oder wo man so was bekommen kann?
Die ständigen Lötzinn Brücken gefallen mir über eine ganze Platine einfach nicht.

Danke und Gruß Robert

Edit: Hab mal zwei Bilder von meiner Platine dazu gepackt
Edit2: Bezüglich der TTGOs und der Batterien hab ich mal eine Frage, kann man die Ladezustand der Spannung direkt auslesen oder muss man da Schaltungstechnisch etwas vorsehen?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 04 Juni 2020, 18:28:12
@StefanStrobel
Ich hab meine Platine so weit fertig.
Nun hab ich auch mal den Ex26 angeschlossen.

Beim probieren des defines bekomme ich in meinem Safari (auch im Firefox) ein Fehlermeldung angezeigt:

jquery.min.js line 2:
Error: Syntax error, unrecognized expression: a[name=ArduCounterpin\[AD\]?\[0-9\]+]


Wie definiere ich jetzt nach dem neuen Modul einen Digitalen Eingang?

Danke und Gru Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 05 Juni 2020, 12:51:17
Zitat von: StefanStrobel am 31 Mai 2020, 10:07:57
Ich nehme meist die internen pullup-Widerstände.
Dem AD-Wandler ist es egal;-)

Gruß
    Stefan

Hallo Stefan,

ich bekomme leider immer noch keine PIN in FHEM definiert.
Habe alles ausprobiert, geht einfach nicht.
Bekommen immer folgende Fehlermeldung: AC.text: bad attribute name 'pin[AD]?[0-9]+' (allowed chars: A-Za-z/\d_\.-)
Und davor bekomme ich immer diesen Fehler, wenn ich da Attr auswähle um es im Web if zu setzten: jquery.min.js line 2:
Error: Syntax error, unrecognized expression: a[name=ArduCounterpin\[AD\]?\[0-9\]+]


Als Attr für Board Typ hab ich von Hand T-Display gesetzt, ist das so gewollt?

Hier mal noch ein List vom Device:

Internals:
   Board      T-Display
   BoardDet   Espressif ESP32 Dev Module with display
   CFGFN     
   DEF        192.168.30.139:80
   DeviceName 192.168.30.139:80
   FD         105
   FUUID      5eda2083-f33f-abd1-9551-56d637c142cc5a66
   Initialized 1
   LASTOPEN   1591353475.10754
   NAME       AC.test
   NOTIFYDEV  global
   NR         2064
   NTFY_ORDER 50-AC.text
   PARTIAL   
   STATE      opened
   SketchCompile May 17 2020 16:33:40
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 4.25
   VersionModule 7.30 - 17.5.2020
   WaitForAlive 0
   allowedPins 4,17,21,22,25,26,27,32,33,34,35,36,A0,39
   buffer     
   deviceBooted 1591352289.78917
   devioLoglevel 3
   nextOpenDelay 60
   READINGS:
     2020-06-05 12:50:25   RSSI            -43
     2020-06-05 12:37:55   state           opened
   runningCfg:
     I          30,60,2,2,50,4
     U          0,0,0,,0,
     V          0,0,0,0,0
Attributes:
   DbLogExclude .*
   board      T-Display
   room       9.98_Test


Edit:
Von Hand kann ich das Attr für den PIN setzten.
Nur jetzt hab ich das problem, dass dauernd der Status zwischen open und disconnected hin und her springt.
Dann auf einmal bleibt er auf Disconnected stehen, die Verbindung zum WLAN steht aber sauber.

Edit2:
Hier noch ein Auszug aus dem EventMonitor:

2020-06-05 13:20:35 ArduCounter AC.test RSSI: -43
2020-06-05 13:20:45 ArduCounter AC.test RSSI: -43
2020-06-05 13:20:46 ArduCounter AC.test power32: 0.000
2020-06-05 13:20:46 ArduCounter AC.test reject32: 6046
2020-06-05 13:20:46 ArduCounter AC.test timeDiff32: 60001
2020-06-05 13:20:46 ArduCounter AC.test countDiff32: 0
2020-06-05 13:20:46 ArduCounter AC.test pin32: 0
2020-06-05 13:20:46 ArduCounter AC.test long32: 34
2020-06-05 13:20:46 ArduCounter AC.test interpolatedLong32: 34
2020-06-05 13:20:52 ArduCounter AC.test CONNECTED
2020-06-05 13:20:52 ArduCounter AC.test DISCONNECTED
2020-06-05 13:21:39 ArduCounter Gaszaehler RSSI: -58
2020-06-05 13:21:49 ArduCounter Gaszaehler RSSI: -59
2020-06-05 13:21:52 ArduCounter AC.test CONNECTED
2020-06-05 13:21:52 ArduCounter AC.test power32: 0.000
2020-06-05 13:21:52 ArduCounter AC.test reject32: 6046
2020-06-05 13:21:52 ArduCounter AC.test timeDiff32: 66466
2020-06-05 13:21:52 ArduCounter AC.test countDiff32: 0
2020-06-05 13:21:52 ArduCounter AC.test pin32: 0
2020-06-05 13:21:52 ArduCounter AC.test long32: 34
2020-06-05 13:21:52 ArduCounter AC.test interpolatedLong32: 34
2020-06-05 13:21:52 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:02 ArduCounter AC.test RSSI: -43
2020-06-05 13:22:02 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:02 ArduCounter AC.test CONNECTED
2020-06-05 13:22:02 ArduCounter AC.test RSSI: -43
2020-06-05 13:22:12 ArduCounter AC.test RSSI: -43
2020-06-05 13:22:12 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:12 ArduCounter AC.test CONNECTED
2020-06-05 13:22:12 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:14 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:14 ArduCounter AC.test CONNECTED
2020-06-05 13:22:14 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:14 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:14 ArduCounter AC.test CONNECTED
2020-06-05 13:22:14 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:15 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:15 ArduCounter AC.test CONNECTED
2020-06-05 13:22:15 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:15 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:15 ArduCounter AC.test CONNECTED
2020-06-05 13:22:15 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:25 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:35 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:35 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:35 ArduCounter AC.test CONNECTED
2020-06-05 13:22:35 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:45 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:45 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:45 ArduCounter AC.test CONNECTED
2020-06-05 13:22:46 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:46 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:46 ArduCounter AC.test CONNECTED
2020-06-05 13:22:46 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:47 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:47 ArduCounter AC.test CONNECTED
2020-06-05 13:22:47 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:48 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:48 ArduCounter AC.test CONNECTED
2020-06-05 13:22:48 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:48 ArduCounter AC.test CONNECTED
2020-06-05 13:22:48 ArduCounter AC.test RSSI: -41
2020-06-05 13:22:49 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:50 ArduCounter AC.test CONNECTED
2020-06-05 13:22:50 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:50 ArduCounter AC.test CONNECTED
2020-06-05 13:22:50 ArduCounter AC.test RSSI: -43
2020-06-05 13:22:50 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:50 ArduCounter AC.test CONNECTED
2020-06-05 13:22:50 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:50 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:50 ArduCounter AC.test CONNECTED
2020-06-05 13:22:50 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:50 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:50 ArduCounter AC.test CONNECTED
2020-06-05 13:22:50 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:50 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:50 ArduCounter AC.test CONNECTED
2020-06-05 13:22:50 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:50 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:50 ArduCounter AC.test CONNECTED
2020-06-05 13:22:50 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:52 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:52 ArduCounter AC.test CONNECTED
2020-06-05 13:22:52 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:52 ArduCounter AC.test CONNECTED
2020-06-05 13:22:52 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:52 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:52 ArduCounter AC.test CONNECTED
2020-06-05 13:22:52 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:52 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:52 ArduCounter AC.test CONNECTED
2020-06-05 13:22:52 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:52 ArduCounter AC.test power32: 0.000
2020-06-05 13:22:52 ArduCounter AC.test reject32: 6046
2020-06-05 13:22:52 ArduCounter AC.test timeDiff32: 60001
2020-06-05 13:22:52 ArduCounter AC.test countDiff32: 0
2020-06-05 13:22:52 ArduCounter AC.test pin32: 0
2020-06-05 13:22:52 ArduCounter AC.test long32: 34
2020-06-05 13:22:52 ArduCounter AC.test interpolatedLong32: 34
2020-06-05 13:22:52 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:52 ArduCounter AC.test CONNECTED
2020-06-05 13:22:52 ArduCounter AC.test RSSI: -42
2020-06-05 13:22:52 ArduCounter AC.test DISCONNECTED
2020-06-05 13:22:52 ArduCounter AC.test CONNECTED
2020-06-05 13:22:53 ArduCounter AC.test RSSI: -42


Edit3:
Die Disconnected sind mit einem zweiten TTGO nicht mehr vorhanden.
Ich gehe aktuell davon aus dass mein PIN Define ein problem verursacht hat. Es hat das min gefehlt.

Mir ist aber auch noch etwas am Display aufgefallen.
Aktuell habe ich zwei PINs definiert.
Auf dem Display werden zwei Zeilen angezeigt.
Aber es wird nur die obere Aktualisiert, die unter scheint zum Systemstart definiert zu werden, aber danach nicht mehr aktualisiert.
In der Ersten Zeile sieht man kurz den Wert der in der zweiten Zeile angezeigt werden sollte, aufblitzen.
Hab ein Video von gemacht, kann ich gerne per Dropbox zur verfügung stellen.

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 05 Juni 2020, 16:44:19
Hallo Robert,

die pin-Attribute sind ja als Wildcard-Attribute definiert. pin[AD]?[0-9]+ kann man nicht direkt verwenden, sondern das muss durch den tatsächlichen Pin ersetzt werden. Da Fhem aber noch nicht wissen kann, welche Pins Du verwenden möchtest, musst Du die einmal eintippen, z.B. als

attr GasZaehler pinD5 falling pullup min 25

erst wenn man das Attribut einmal von Hand gesetzt hat, kann man es künftig in Fhemweb auswählen.

Die Platine sind schick aus. Leider hab ich mit der Batterieverwaltung keine Erfahrung. Ich habe den TTGO bisher immer an einem USB-Netzteil betrieben.

Das Video schau ich mir gerne an. Generell gibt es sicher am Display noch einige Möglichkeiten, wie man es optimieren kann.

Ich hoffe jetzt habe ich keine Deiner Fragen übersehen ...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 06 Juni 2020, 12:33:47
Hallo Robert,

zum Zugriff auf Dein Video scheine ich noch eine Freigabe zu benötigen ;-)

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 06 Juni 2020, 12:42:05
Zitat von: StefanStrobel am 06 Juni 2020, 12:33:47
Hallo Robert,

zum Zugriff auf Dein Video scheine ich noch eine Freigabe zu benötigen ;-)

Gruss
   Stefan
Schau mal ob es jetzt geht.
Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 06 Juni 2020, 13:07:33
Hallo Robert,

die beiden Bilder konnte ich sehen, das Video funktioniert leider nicht.

Generell zur Anzeige:
der ArduCounter kann verschiedene Dinge auf einem direkt angeschlossenen Display anzeigen. mit der linken Taste (wenn man das TTGO T-Display-Modul aufrecht vor sich hält und der USB-Anschluss nach unten zeigt) kann man zwischen den Display-Modi umschalten.
Nach dem Start ist das Modul im Display-Modus 1.

Display-Mode 0:
Zeigt nichts an.

Display-Modus 1:
Bei analogen Eingängen mit Fotodiode wird unten ein dynamischer Balken angezeigt, der den Differenzwert zwischen Messung bei eingeschalteter Lichtquelle und ausgeschalteter Lichtquelle darstellt. Damit kann man eine Reflexlichtschranke optimal positionieren.

Darüber hinaus ist das eher ein Debug-Modus mit wenig sinnvollen Anzeigen für den Anwender. Wenn das Modul seinen Zählerstand und die gemessenen Zeiten an Fhem zurückmeldet, werden auch auf dem Display die Meldungen angezeigt.

R17 C0 D0/0 T6001 X0

bedeutet zum Beispiel, dass für pin 17 bisher 0 Impulse gezählt wurden, seit dem letzten Report waren das auch 0, die Zeit zwischen dem ersten und letzten Impuls war 6001 Millisekunden und es sind keine Impulse ausgefiltert worden.

Wenn man mehrere Pins verwendet, werden die Meldungen - sofern sie gleichzeitig anstehen - untereinander angezeigt. Alte Anzeigen werden jedoch nicht gelöscht sondern nur irgendwann mal überschrieben. Wenn ich mal viel Zeit habe, baue ich da einen Scroll-Mechanismus ein.

Display-Mode 2:
zeigt den Verbrauch eines definierten Pins in den letzten 5 Sekunden an

Display-Mode 3:
zeigt den Verbrauch des definierten Pins dynamisch an, abhängig davon wie viele Impulse gezählt wurden. Das ist die gleiche Logik wie bei den Reports an Fhem. Wenn viele Impulse kommen, kann früher der aktuelle Verbrauch ermittelt werden, wenn kaum Impulse kommen, wird länger gewartet.

Gruss
  Stefan
Titel: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 06 Juni 2020, 14:14:32
Zitat von: StefanStrobel am 06 Juni 2020, 13:07:33
Hallo Robert,

die beiden Bilder konnte ich sehen, das Video funktioniert leider nicht.

Generell zur Anzeige:
der ArduCounter kann verschiedene Dinge auf einem direkt angeschlossenen Display anzeigen. mit der linken Taste (wenn man das TTGO T-Display-Modul aufrecht vor sich hält und der USB-Anschluss nach unten zeigt) kann man zwischen den Display-Modi umschalten.
Nach dem Start ist das Modul im Display-Modus 1.

Display-Mode 0:
Zeigt nichts an.

Display-Modus 1:
Bei analogen Eingängen mit Fotodiode wird unten ein dynamischer Balken angezeigt, der den Differenzwert zwischen Messung bei eingeschalteter Lichtquelle und ausgeschalteter Lichtquelle darstellt. Damit kann man eine Reflexlichtschranke optimal positionieren.

Darüber hinaus ist das eher ein Debug-Modus mit wenig sinnvollen Anzeigen für den Anwender. Wenn das Modul seinen Zählerstand und die gemessenen Zeiten an Fhem zurückmeldet, werden auch auf dem Display die Meldungen angezeigt.

R17 C0 D0/0 T6001 X0

bedeutet zum Beispiel, dass für pin 17 bisher 0 Impulse gezählt wurden, seit dem letzten Report waren das auch 0, die Zeit zwischen dem ersten und letzten Impuls war 6001 Millisekunden und es sind keine Impulse ausgefiltert worden.

Wenn man mehrere Pins verwendet, werden die Meldungen - sofern sie gleichzeitig anstehen - untereinander angezeigt. Alte Anzeigen werden jedoch nicht gelöscht sondern nur irgendwann mal überschrieben. Wenn ich mal viel Zeit habe, baue ich da einen Scroll-Mechanismus ein.

Display-Mode 2:
zeigt den Verbrauch eines definierten Pins in den letzten 5 Sekunden an

Display-Mode 3:
zeigt den Verbrauch des definierten Pins dynamisch an, abhängig davon wie viele Impulse gezählt wurden. Das ist die gleiche Logik wie bei den Reports an Fhem. Wenn viele Impulse kommen, kann früher der aktuelle Verbrauch ermittelt werden, wenn kaum Impulse kommen, wird länger gewartet.

Gruss
  Stefan

Schade dass es mit dem Video nicht geklappt hat.
Hier noch mal zur Erklärung.
Ich hab drei Pins definiert.
Es wird aber nur die oberste Zeile aktualisiert.
Die untern weiteren Zeilen bleiben stehen wie sie beim Start des esp angezeigt werden.

Ich schau mal ob ich das Video in einem anderen Format exportieren kann.
Meld mich später noch mal.

Edit:
Ich kann leider bis Dienstag nix hoch laden.
Mein Rechner hat heute keine Lust mehr.
Pumpe der Corsair Wasserkühlung leider die Arbeit eingestellt.
Ersatz kommt erst am Dienstag. Leider.


Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 06 Juni 2020, 19:39:57
Hallo Robert,

ich glaube ich habe verstanden, was Du mit dem Überschreiben in der Anzeige meinst.
Das ist die Ausgabe in DisplayMode 1. Die habe ich noch nicht hübscher implementiert, da sie eher für Debug-Zwecke gedacht war.
Schalte einfach mal auf DisplayMode 3. Das sieht besser aus.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 06 Juni 2020, 20:26:42
Zitat von: StefanStrobel am 06 Juni 2020, 19:39:57
Hallo Robert,

ich glaube ich habe verstanden, was Du mit dem Überschreiben in der Anzeige meinst.
Das ist die Ausgabe in DisplayMode 1. Die habe ich noch nicht hübscher implementiert, da sie eher für Debug-Zwecke gedacht war.
Schalte einfach mal auf DisplayMode 3. Das sieht besser aus.

Gruss
   Stefan

Geht klar.
Ich probiere Mode 3 mal aus.
Kann man den Mode der beim Start angezeigt wird voreinstellen?
Ohne meine Rechner komm ich leider auch nicht dazu das Gehäuse zu Zeichen.

Gruß Robert


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 07 Juni 2020, 10:54:37
Hallo Robert,

bisher startet er immer in DisplayMode 1, aber das kann ich noch ändern.
Das gibt vermutlich einen weiteren Parameter bei der Display-Konfiguration, der dann auch mit saveConfig gespeichert werden kann.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 08 Juni 2020, 11:09:57
Zitat von: StefanStrobel am 07 Juni 2020, 10:54:37
Hallo Robert,

bisher startet er immer in DisplayMode 1, aber das kann ich noch ändern.
Das gibt vermutlich einen weiteren Parameter bei der Display-Konfiguration, der dann auch mit saveConfig gespeichert werden kann.

Gruss
   Stefan

Hallo Stefan,

ich habe mich eben noch mal auf die Suche gemacht, wegen der Batterie Spannung.
Es scheint als ob bei meinem Board hier schon direkt die Verbindung vorhanden ist.
Also man sollte also OOB, die Batterie Spannung messen.
Hier der Link zu dem Schaltplan den ich gefunden habe, es sollte PIN 10 des ESP sein (VDET_1/IO34)
https://www.cytron.io/p-ttgo-t-display-esp32-1.14-display-module-presolder-header
https://github.com/Xinyuan-LilyGO/TTGO-T-Display/blob/master/schematic/ESP32-TFT(6-26).pdf

Es wird wohl ein Spannungsteiler von 100kOhm benutzt.

Da die PINs so klein sind, kann ich das leider selbst nicht messen.
Kannst du die Abfrage des ADCs mal direkt in den Debug modus Anzeigen?
Mein ESP Soll einen Akku bekommen, damit er auch bei einem Stromausfall weiter zählen kann.

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 08 Juni 2020, 21:06:56
Hallo Robert,

wenn Du enableAnalogDebug auf 3 setzt und den Pin als analogen Input definierst, dann kommen die gemessenen Werte auf der seriellen Leitung oder per TCP zu Fhem.
Schau es Dir einfach mal im Code an - Funktion readAnalog ab Zeile 2051.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 09 Juni 2020, 10:55:15
Zitat von: StefanStrobel am 08 Juni 2020, 21:06:56
Hallo Robert,

wenn Du enableAnalogDebug auf 3 setzt und den Pin als analogen Input definierst, dann kommen die gemessenen Werte auf der seriellen Leitung oder per TCP zu Fhem.
Schau es Dir einfach mal im Code an - Funktion readAnalog ab Zeile 2051.

Gruss
   Stefan

Sobald mein Rechner wieder läuft kann ich testen.
Hast du noch mal was geändert im Cpp zum letzten .bin-File?
Ich frag nur so nach ob ich schon mit dem jetzt geflashten File schon messen können sollte?

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 09 Juni 2020, 15:25:52
Hallo Robert,

das ist nichts Neues.

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 10 Juni 2020, 07:30:18
Zitat von: StefanStrobel am 09 Juni 2020, 15:25:52
Hallo Robert,

das ist nichts Neues.

Gruß
   Stefan

Hallo Stefan,

ich hab gesehen, dass du die Firmware nun im svn hast.
Hast du auch das Modul im SVN drin?

Aktuell hab ich das Modul noch vom Update ausgeschlossen.

Danke und Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 10 Juni 2020, 18:40:34
Das Modul ist auch eingecheckt.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: freemax am 28 Juni 2020, 16:22:13
Hallo,
ich komme leider nicht weiter mit der Einrichtung.

Arduino nano ist in fhem integriert, ArduCounter geflasht, Info bekomme ich:

Status: ArduCounter V4.26 on NANO compiled Jun  6 2020 12:40:29
interval config: 30,60,2,2,50,4
verbose config: 1,0,0,0,0
no config in EEPROM
Next report in 19817 milliseconds

Im log-file steht:

2020.06.28 16:09:48 3: ArduCounter: device sent hello: ArduCounter V4.26 on NANO compiled Jun  6 2020 12:40:29 Hello
2020.06.28 16:09:49 3: ArduCounter: ConfigureDevice: send config
2020.06.28 16:09:49 3: ArduCounter: Invalid interval specification
2020.06.28 16:09:49 3: ArduCounter: ConfigureVerboseLevels creates command 1,0,0,0,0v

fhem.cfg:

define ArduCounter ArduCounter /dev/ttyUSB0
setuuid ArduCounter 5ef88369-f33f-6b3d-e778-cfa4e347c6d00041
attr ArduCounter board NANO
attr ArduCounter enableHistory 1
attr AC pulsesPerUnit 1000
attr AC interval 60 300
attr AC pinD5 falling pullup min 25


Ich habe ein S0- Bus an gnd und D5, in fhem leider keine Werte bekommen.

Freue mich über Tips und Lösungsmöglichkeiten.

Gruß
freemax

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 29 Juni 2020, 18:08:17
Zitat von: StefanStrobel am 08 Juni 2020, 21:06:56
Hallo Robert,

wenn Du enableAnalogDebug auf 3 setzt und den Pin als analogen Input definierst, dann kommen die gemessenen Werte auf der seriellen Leitung oder per TCP zu Fhem.
Schau es Dir einfach mal im Code an - Funktion readAnalog ab Zeile 2051.

Gruss
   Stefan

Ich hab es mal probiert, der PIN 10 wird allerdings als illegal markiert:

attr Keller.Heizungsraum.Energycounter pin10 rising pullup min 4 analog



illegal pin 10


Dazu noch einen Frage, wie flash ich auf einen TTGO mit Display, per WLAN die neuste Firmware?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 30 Juni 2020, 07:45:16
Zitat von: freemax am 28 Juni 2020, 16:22:13
Hallo,
ich komme leider nicht weiter mit der Einrichtung.

Arduino nano ist in fhem integriert, ArduCounter geflasht, Info bekomme ich:

Status: ArduCounter V4.26 on NANO compiled Jun  6 2020 12:40:29
interval config: 30,60,2,2,50,4
verbose config: 1,0,0,0,0
no config in EEPROM
Next report in 19817 milliseconds

Im log-file steht:

2020.06.28 16:09:48 3: ArduCounter: device sent hello: ArduCounter V4.26 on NANO compiled Jun  6 2020 12:40:29 Hello
2020.06.28 16:09:49 3: ArduCounter: ConfigureDevice: send config
2020.06.28 16:09:49 3: ArduCounter: Invalid interval specification
2020.06.28 16:09:49 3: ArduCounter: ConfigureVerboseLevels creates command 1,0,0,0,0v

fhem.cfg:

define ArduCounter ArduCounter /dev/ttyUSB0
setuuid ArduCounter 5ef88369-f33f-6b3d-e778-cfa4e347c6d00041
attr ArduCounter board NANO
attr ArduCounter enableHistory 1
attr AC pulsesPerUnit 1000
attr AC interval 60 300
attr AC pinD5 falling pullup min 25


Ich habe ein S0- Bus an gnd und D5, in fhem leider keine Werte bekommen.

Freue mich über Tips und Lösungsmöglichkeiten.

Gruß
freemax

Da ich selber keine S0 Bus habe kann ich nur raten.
Laut wikipedia sollte ein Ein Impuls von einem S0 Eingang zwischen 30 und 120ms liegen.
Probier mal mit der Impuls Zeit zu spielen.
Pull Up und Rasing Flanke würde ich auch mal probieren.

Vielleicht kannst du auch noch ein wenig mehr Infos zu deinem S0 Gerät uns sagen. Im Datenblatt lässt sich vielleicht auch noch etwas finden, wie man genau beschalten sollte.

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: freemax am 30 Juni 2020, 16:31:49
Habe jetzt Werte bekommen, powerD5 ist aber zu niederig, welche Einstellung müsste ich ändern?
Mein userReading stimmt auch nicht, der aktuelle Zählerstand wird nicht addiert bzw. erhöht sich nicht.

attr AC userReadings Zaehler {ReadingsVal("AC","pin5",0)/1000 + 48181.30 }

2020-06-30 16:18:12 ArduCounter AC powerD5: 0.023
2020-06-30 16:18:12 ArduCounter AC rejectD5: 0
2020-06-30 16:18:12 ArduCounter AC timeDiffD5: 157824
2020-06-30 16:18:12 ArduCounter AC countDiffD5: 1
2020-06-30 16:18:12 ArduCounter AC pinD5: 5
2020-06-30 16:18:12 ArduCounter AC longD5: 1092
2020-06-30 16:18:12 ArduCounter AC interpolatedLongD5: 1109
2020-06-30 16:18:12 ArduCounter AC Zaehler: 48181.3


Das ist mein Zähler mit S0 Ausgang.
https://www.nzr.de/download.php?id=1378

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 30 Juni 2020, 16:35:48
Zitat von: freemax am 30 Juni 2020, 16:31:49
Habe jetzt Werte bekommen, powerD5 ist aber zu niederig, welche Einstellung müsste ich ändern?
Mein userReading stimmt auch nicht, der aktuelle Zählerstand wird nicht addiert bzw. erhöht sich nicht.

attr AC userReadings Zaehler {ReadingsVal("AC","pin5",0)/1000 + 48181.30 }

2020-06-30 16:18:12 ArduCounter AC powerD5: 0.023
2020-06-30 16:18:12 ArduCounter AC rejectD5: 0
2020-06-30 16:18:12 ArduCounter AC timeDiffD5: 157824
2020-06-30 16:18:12 ArduCounter AC countDiffD5: 1
2020-06-30 16:18:12 ArduCounter AC pinD5: 5
2020-06-30 16:18:12 ArduCounter AC longD5: 1092
2020-06-30 16:18:12 ArduCounter AC interpolatedLongD5: 1109
2020-06-30 16:18:12 ArduCounter AC Zaehler: 48181.3

Ich mach das mit einem monotonic Zähler:
GasZaehlerstandD1 monotonic {ReadingsVal("Gaszaehler","pinD1",0)},


attr AC userReadings Zaehler monotonic {ReadingsVal("AC","pin5",0)/1000}

danach einfach mit setreading den richtigen Zähler stand setzten
setreading AC Zaehler XXXXX.XX

Wie der monotonic genau funktioniert kannst du im Wiki oder commandref nachlesen.

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: freemax am 30 Juni 2020, 20:40:13
@no_Legend danke,

der Zählerstand stimmt jetzt, wie kann ich die Werte der aktuellen Leistung anpassen?
Geschätzt sind diese um Faktor 10 größer.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 30 Juni 2020, 20:55:14
Zitat von: freemax am 30 Juni 2020, 20:40:13
@no_Legend danke,

der Zählerstand stimmt jetzt, wie kann ich die Werte der aktuellen Leistung anpassen?
Geschätzt sind diese um Faktor 10 größer.

Erklär mal genauer was du meinst.

Gruß Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 30 Juni 2020, 20:55:52
Zitat von: freemax am 30 Juni 2020, 20:40:13
wie kann ich die Werte der aktuellen Leistung anpassen?
Geschätzt sind diese um Faktor 10 größer.
readingFactorx bzw. gibt es mittlerweile mehrer Möglichkeiten:
ZitatreadingFactor[0-9]+
Override the factor attribute for this individual pin.
Just like the attribute factor, this is a rather cumbersome way to specify the pulses per kWh.
Instaed it is advised to use the attribute pulsesPerKWh or readingPulsesPerKWh[0-9]+ (where [0-9]+ stands for the pin number).
pulsesPerKWh
specify the number of pulses that the meter is giving out per unit that sould be displayed (e.g. per kWh energy consumed). For many S0 counters this is 1000, for old ferraris counters this is 75 (rounds per kWh).
Example: attr myCounter pulsesPerKWh 75
readingPulsesPerKWh[0-9]+
is the same as pulsesPerKWh but specified per pin individually in case you have multiple counters with different settings at the same time
Example:
attr myCounter readingPulsesPerKWhA7 75
attr myCounter readingPulsesPerKWhD4 1000
Falls ich deine Frage richtig verstanden habe. ..

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: freemax am 02 Juli 2020, 17:39:52
@Otto123
Super, so hab ich es jetzt gemacht.


Gruß
freemax
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Juggernaut am 18 August 2020, 08:56:26
Hallo zusammen,
nachdem ich einige Zeit gebraucht habe um die Software auf einem TTGO-T zum laufen zu bekommen, habe ich mir gedacht ich fasse mal kurz meine Vorgehen für andere zusammen.
Meine Hausautomation ist im Heizungskeller und mein Bastelzimmer ist im 1.OG unterm Dach. Deshalb wollte ich den TTGO-T ESP32 dort in Betrieb nehmen und das WLAN dann mit dem AP-Mode des WiFiManagers einrichten. Habe viel probiert, aber leider ohne Erfolg.
Erst der Post von no_Legend vom 29.Mai.2020 (https://forum.fhem.de/index.php/topic,19285.msg1058689.html#msg1058689) hat mir dann den richtigen Weg gezeigt.
Anbei ist ein Screenshot wie ich das ESP32 Flash Tool eingestellt habe.

Außer der Info von no_Legend habe ich noch folgendes gebraucht um ans Ziel zu gelangen:
Flashtool von Espressif (https://www.espressif.com/en/support/download/other-tools)
Grundeinstellungen Flashtools für TTGO-T (https://github.com/Xinyuan-LilyGO/TTGO-T-Display/tree/master/firmware)
.bin Dateien (ArduCounter-ESP32-bootloader_dio_40m.bin, ArduCounter-ESP32T.bin, ArduCounter-ESP32-partitions.bin) (https://github.com/fhem/fhem-mirror/tree/master/fhem/FHEM/firmware)

Da jetzt der Arducounter im WLAN eingebunden ist, kann ich zukünftige Updates dann ja (hoffentlich) über OTA machen.

Hoffe ich kann damit dem ein oder anderen (ähnlich Ahnungslosen :-[) helfen.

Gruß Michael



Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 22 August 2020, 17:25:04
Hallo,

das mit dem Flashen sollte eigentlich auch bequem aus Fhem heraus per set flash gehen.
es muss nur Python sowie esptool.py und später espota.py vorhanden sein.

Noch was anderes zu readingsFactor:

readingFactor[AD]?[0-9]+
Override the factor attribute for this individual pin.
Just like the attribute factor, this is a rather cumbersome way to specify the pulses per kWh.
Instead it is advised to use the attribute pulsesPerUnit or readingPulsesPerUnit[0-9]+ (where [0-9]+ stands for the pin number).


Bitte verwendet statt dem alten Factor oder readingFactor das neue Attribut readingPulsesPerUnit[0-9]+, also z.B. readingPulsesPerUnitD4.
Das alte Attribut würde ich gerne entfernen und einige neue Features gehen erst mit readingPulsesPerUnit bzw. pulsesPerUnit.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Juggernaut am 31 August 2020, 12:00:52
Hallo,
ich hab mal noch eine Frage zu
Zitates muss nur Python sowie esptool.py und später espota.py vorhanden sein.
Pyhton hab ich mittels apt-get install pyhton installiert.
Dann hab ich mittels:

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install esptool


das Esptool installiert.
Nur espota.py klappt irgendwie nicht.
Hab mir auch schon die Datei von https://github.com/esp8266/Arduino/tree/master/tools heruntergeladen und nach /opt/fhem/FHEM/firmware kopiert und dort ausführbar gemacht.
Den Pfad habe ich genommen weil dort schon die esptool.py Datei war.

Ich bekomme aber immer die Fehlermeldung sh: 1: espota.py: not found

Wohin muss die espota.py Datei? Muss ich noch etwas besonderes beachten?

Gruß und Danke
Michael

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: AxelSchweiss am 31 August 2020, 12:54:03
gehe mal in das Verzeichniss in dem die Datei espota.py liegt.

Dann :

python ./espota.py
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 31 August 2020, 16:29:38
Hallo,

Das ArduCounter-Modul ruft esptool.py bzw. espota.py ohne explizite Pfadangabe auf. Es muss also in einem Verzeichnis liegen, das auch in Deiner $PATH Variable vorkommt. Ich habe es bei mir in /usr/local/bin liegen.
Das espool im Firmware-Verzeichnis hat nichts mit ArduCounter zu tun sondern scheint eine ältere oder modifizierte Version des Original-Skripts zu sein, die ein anderes Modul verwendet.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Juggernaut am 01 September 2020, 09:33:01
Hallo Stefan,
vielen Dank für deine Hilfe. Ich habe zumindest einen Teilerfolg erziehlt.

Leider kommt jetzt folgende Fehlermeldung:
-- flash command ---------------------------------------------------------------------------------
/usr/local/bin/espota.py: 7: /usr/local/bin/espota.py: Syntax error: newline unexpected
--- flash command ---------------------------------------------------------------------------------


Kann es sein das ich die falsche Datei habe? Ich habe sie hier runtergeladen: https://github.com/esp8266/Arduino/tree/master/tools
Habe auch die Versionen von hier: https://github.com/soif/EspBuddy/tree/master/bin
Und hier: https://github.com/espressif/arduino-esp32/tree/d2816b2f3264086a24f6436067e406d4e918a9a5/tools
versucht. Es kommt aber immer dieser Syntax error.
Woher bekomme ich die richtige Version von espota.py??
Oder stimmt da etwas mit dem Python nicht?

python -V
liefert Python 2.7.13

python3 -V
liefert Python 3.5.3


Gruß und Danke
Michael

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Juggernaut am 01 September 2020, 15:42:04
Ohje wie peinlich :-[

Ich habe glaube ich die Datei falsch von Github heruntergeladen. Wenn ich die Datei espota.py öffne steht da HTML drin.
Muss das morgen noch mal ausprobieren, aber ich denke das ist der Fehler.

Gruß
Michael

Nachtrag: Es war wirklich die falsch heruntergeladene Datei. Hab es jetzt probiert und das OTA flashen klappt einwandfrei. Falls es jemand interessiert. Ich hatte die Datei per Rechtsklick -> Speicher unter... abgespeichert. Der Name der Datei ist dann auch espota.py. Aber es ist ein HTML-Datei und kein Python. Richtig ist es wenn man die Datei in Github anzeigen lässt und dann mittels Rechtsklick auf "Raw" -> Speichern unter... das ganze runterlädt. Dann ist auch wirklich das in der Datei was man will.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 26 Oktober 2020, 14:14:54
@Stefan: Gibt ArduCounter eigentlich kein Event raus, wenn das Device nicht verbunden ist?
Ich versuche derzeit, die verschiedenen Geräte in meinem FHEM mit monitoring zu überwachen.
CONNECTED erscheint im Event-Log, aber nicht DISCONNECTED (oder vergleichbar).
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 28 Oktober 2020, 11:04:28
Hallo,

ArduCounter verwendet DevIo. Dort wird bei disconnected eigentlich ein Event erzeugt.


# Close the device, schedule the reopen via ReadyFn, trigger DISCONNECTED
sub
DevIo_Disconnected($)
{
  my $hash = shift;
  my $dev = $hash->{DeviceName};
  my $name = $hash->{NAME};
  my $baudrate;
  ($dev, $baudrate) = split("@", $dev);

  return if(!defined($hash->{FD}));                 # Already deleted or RFR

  my $l = $hash->{devioLoglevel}; # Forum #61970
  Log3 $name, ($l ? $l:1), "$dev disconnected, waiting to reappear ($name)";
  DevIo_CloseDev($hash);
  $readyfnlist{"$name.$dev"} = $hash;               # Start polling
  DevIo_setStates($hash, "disconnected");
  $hash->{DevIoJustClosed} = 1;                     # Avoid a direct reopen

  DoTrigger($name, "DISCONNECTED");
}


Gruss
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: FunkOdyssey am 28 Oktober 2020, 11:20:27
Mir sind die gleichen Probleme auch bei anderen Geräten aufgefallen.
Ich habe es nicht mehr genau in Erinnerung, aber ich bekam bei vielen anderen Geräten (ZWave, Signalduino, ArduCounter, usw.) auch keine Events.
Dann liegt der Fehler vermutlich woanders.
Danke fürs Prüfen.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Hackstall am 29 Oktober 2020, 18:57:08
Hallo ich bin ein wenig verwirrt.

Ich würde gerne den ArduCounter einsetzen aber kann ihn nicht finden.
Hier geht es mir um den ESP8266 Sketch um ihn dann im Arduino SDE zu übersetzen.

Es wird hier irgendwie von einem SVN Server gesprochen aber wo ist dieser?
Kann mir jemand vielleicht den aktuellen Link oder die aktuelle SW schicken.

Danke Andraes
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 30 Oktober 2020, 21:31:34
Hallo Andreas,

schau mal hier: https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/firmware
Die compilierte Firmware müsstest Du mit Fhem per update schon bekommen haben.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: MarkusHiba am 15 November 2020, 11:04:05
Hallo,

ich wollte mal probieren.

beim Softwareupload auf den Arduino Nano fehlte auf mein Raspi
sudo apt-get install -y avrdude

leider kommt bei mir die Fehlermeldung (siehe Anhang).

Woran kann das liegen?

Grüße

MarkusHiba
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 15 November 2020, 13:54:42
Die Attribute in der Doku sind als reguläre Ausdrücke zu verstehen.
Man sollte also nicht pin[AD]? o.ä. eingeben, sondern wie in den Beispielen pinD4 ...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: MarkusHiba am 15 November 2020, 14:35:45
Danke für die Antwort.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: sebixvi am 02 Januar 2021, 14:24:46
Hallo zusammen,

ich bekomme ArduCounter mit Ser2Net partout nicht ans laufen:

Bisher habe ich ArduCounter per USB an dem Rechner angeschlossen gehabt, auf dem auch FHEM lief. Jetzt sind beide Rechner getrennt. Auf dem PC mit angeschlossenem ArduCounter läuft ser2net mit folgender Config:

2001:telnet:600:/dev/ttyACM0:57600 8DATABITS NONE 1STOPBIT

Per Telnet kann ich ihn auch erreichen:


root@griphook:/home/pi# telnet 192.168.0.200 2001
Trying 192.168.0.200...
Connected to 192.168.0.200.
Escape character is '^]'.

ArduCounter V1.8Hello


Die Definition in fhem dürfte auch in Ordnung sein:

In fhem ist als device 192.168.0.200:2001 eingetragen. Trotzdem wechselt der Status nur zwichen "disconnected" und "open". Im Buffer sehe ich entweder nichts oder sechs fragezeichen, so, alsob die Baudrate der seriellen Schnittstelle nicht richtig eingestellt wäre.

Kann mir jemand helfen? Ich habe per Ser2net noch eine Viesmann-Heizung angebunden mit VCONTROL, das läuft tadellos.

Hat jemand eine Idee?

Danke,
Sebastian
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 02 Januar 2021, 17:32:18
Hallo sebixvi,

für Hilfe bei der Fehlersuche solltest Du verbose auf 5 setzen und dann einen Ausschnitt aus dem Log posten.
Aber in Deinem Fall würde ich als erstes auf eine neuere Version der Firmware und des Moduls gehen. Eventuell sind dann schon alle Probleme gelöst.

Den ArduCounter kannst Du inzwischen auch direkt auf einem ESP32 oder ESP8266 laufen lassen. Dann brauchst Du nicht mal ser2net sondern kannst ihn direkt per WLAN erreichen.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 13 April 2021, 09:45:48
Ich hab gerade mal wieder Problem mit einem ESP32.
Dieser meldete sehr oft disconnected und reconnect.
Aber erklären kann ich es mir absolut nicht.


2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter RSSI: -51
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand: 2
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter WasserZaehlerstand: 84
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32: 2
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32_m3: 0.00
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33: 0
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33_m3: 0.00
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter DISCONNECTED
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter CONNECTED
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter RSSI: -51
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand: 2
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter WasserZaehlerstand: 84
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32: 2
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32_m3: 0.00
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33: 0
2021-04-13 09:43:29 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33_m3: 0.00
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter RSSI: -52
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand: 2
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter WasserZaehlerstand: 84
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32: 2
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32_m3: 0.00
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33: 0
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33_m3: 0.00
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter DISCONNECTED
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter CONNECTED
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter RSSI: -52
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand: 2
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter WasserZaehlerstand: 84
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32: 2
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32_m3: 0.00
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33: 0
2021-04-13 09:43:39 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33_m3: 0.00
2021-04-13 09:43:40 ArduCounter Keller.Heizungsraum.ArduCounter DISCONNECTED
2021-04-13 09:43:40 ArduCounter Keller.Heizungsraum.ArduCounter CONNECTED
2021-04-13 09:43:40 ArduCounter Keller.Heizungsraum.ArduCounter DISCONNECTED
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter CONNECTED
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter power17: 0.000
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter reject17: 77
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter timeDiff17: 106572
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter countDiff17: 0
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter pin17: 0
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter long17: 83
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter interpolatedLong17: 90
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand: 2
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter WasserZaehlerstand: 84
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32: 2
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32_m3: 0.00
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33: 0
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33_m3: 0.00
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter power32: 0.000
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter reject32: 8
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter timeDiff32: 106572
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter countDiff32: 0
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter pin32: 0
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter long32: 2
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter interpolatedLong32: 2
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand: 2
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter WasserZaehlerstand: 84
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32: 2
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32_m3: 0.00
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33: 0
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33_m3: 0.00
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter power33: 0.000
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter reject33: 76
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter timeDiff33: 106572
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter countDiff33: 0
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter pin33: 0
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter long33: 0
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter interpolatedLong33: 0
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand: 2
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter WasserZaehlerstand: 84
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32: 2
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32_m3: 0.00
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33: 0
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33_m3: 0.00
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter RSSI: -51
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand: 2
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter WasserZaehlerstand: 84
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32: 2
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32_m3: 0.00
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33: 0
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33_m3: 0.00
2021-04-13 09:44:40 ArduCounter Keller.Heizungsraum.ArduCounter DISCONNECTED
2021-04-13 09:44:41 ArduCounter Keller.Heizungsraum.ArduCounter CONNECTED
2021-04-13 09:44:41 ArduCounter Keller.Heizungsraum.ArduCounter RSSI: -51
2021-04-13 09:44:41 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand: 2
2021-04-13 09:44:41 ArduCounter Keller.Heizungsraum.ArduCounter WasserZaehlerstand: 84
2021-04-13 09:44:41 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32: 2
2021-04-13 09:44:41 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand32_m3: 0.00
2021-04-13 09:44:41 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33: 0
2021-04-13 09:44:41 ArduCounter Keller.Heizungsraum.ArduCounter GasZaehlerstand33_m3: 0.00
2021-04-13 09:44:42 ArduCounter Keller.Heizungsraum.ArduCounter DISCONNECTED
2021-04-13 09:44:42 ArduCounter Keller.Heizungsraum.ArduCounter CONNECTED


Hat jemand eine Idee dazu?
Das Teil hat einen guten WLAN empfang also kann ich es mir irgendwie nicht erklären.

Hier noch mal ein anderer Log Ausschnitt:

2021-04-13 11:25:53 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:25:53 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:25:53 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:25:53 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:25:53 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:25:53 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:25:53 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:25:54 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:25:55 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:17 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:18 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:18 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:18 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:18 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:18 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:19 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:41 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:43 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:43 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:43 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:43 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:43 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:44 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:44 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:44 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:45 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:26:45 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:27:39 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:27:41 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:27:45 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:27:45 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:27:47 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:27:48 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:28:10 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:28:11 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:28:11 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:28:12 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:28:14 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:28:14 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:29:14 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:29:15 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:29:37 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:29:38 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:29:38 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:29:39 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:29:40 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:29:40 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:29:40 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:29:40 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:29:42 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:30:04 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:30:05 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:30:05 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:30:05 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:30:05 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:30:05 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:30:06 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:30:07 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:30:29 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:30:31 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:30:31 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:31 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:31 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:33 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:33 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:34 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:56 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:56 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:57 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:57 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:57 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:57 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:57 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:59 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:31:59 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:32:59 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:32:59 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:32:59 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:32:59 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:32:59 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:32:59 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:32:59 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:33:00 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:33:00 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:33:00 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:33:00 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:33:01 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED
2021-04-13 11:33:02 ArduCounter Keller.Heizungsraum.Counter1 DISCONNECTED


Grüße Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 13 April 2021, 17:27:02
Hallo Robert,

wenn es kein WLAN-Problem ist, könnte es ein Hardware-Defekt vom ESP sein.
Falls Du noch einen anderen rumliegen hast, könntest Du ja mal testen, ob es damit geht.
Mir ist auch schon mal ein ESP mit Display gestorben...
Falls der das gleiche Problem hat, könnte es doch am WLAN liegen ...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 13 April 2021, 17:30:51
Zitat von: StefanStrobel am 13 April 2021, 17:27:02
Hallo Robert,

wenn es kein WLAN-Problem ist, könnte es ein Hardware-Defekt vom ESP sein.
Falls Du noch einen anderen rumliegen hast, könntest Du ja mal testen, ob es damit geht.
Mir ist auch schon mal ein ESP mit Display gestorben...
Falls der das gleiche Problem hat, könnte es doch am WLAN liegen ...

Gruss
   Stefan

Hi Stefan,

Hab heute noch mal mehrfach geflasht und neues define in FHEM gemacht.
Dazu komplett neu eingestellt. Nun hat er keine Probleme mehr.
Kann es sein,dass ein config Problem, zu diesem komischen Verhalten führen?

Grüße Robert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 13 April 2021, 18:39:39
Zitat von: no_Legend am 13 April 2021, 17:30:51
Kann es sein,dass ein config Problem, zu diesem komischen Verhalten führen?

hab ich noch nie gesehen, aber ausschließen möchte ich es nicht ...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kai-Alfonso am 12 Mai 2021, 10:27:14
Moin

ich habe mal grad ein wenig quergelesen - stimmt es, das ich - wenn ich ein Display ansteuern will - das nur mit dem ESP32 + Display geht? Hab Arducounter auf einem ESP8266 laufen und würde gerne ein OLED Display ansteuern
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 12 Mai 2021, 17:39:34
Hallo,

für den 8266 habe ich zumindest keine fertig compilierte Firmware mit OLED-Support bereitgestellt.
Ich verwende die TFT_eSPI-Bibliothek. Falls die mit Deinem Display kompatibel ist, sollte es klappen.
siehe https://github.com/Bodmer/TFT_eSPI
Du müsstest dann nur die passenden defines für Dein Display in der platformio.ini setzen.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kai-Alfonso am 12 Mai 2021, 18:59:04
Zitat von: StefanStrobel am 12 Mai 2021, 17:39:34
Hallo,

für den 8266 habe ich zumindest keine fertig compilierte Firmware mit OLED-Support bereitgestellt.
Ich verwende die TFT_eSPI-Bibliothek. Falls die mit Deinem Display kompatibel ist, sollte es klappen.
siehe https://github.com/Bodmer/TFT_eSPI
Du müsstest dann nur die passenden defines für Dein Display in der platformio.ini setzen.

Gruss
   Stefan


Hi Stefan,

danke für die Info - es scheint, als wird nur die SSD1351 Library unterstützt - ich habe hier leider nur 1306er rumfliegen.

Noch eine Frage, weil ich mich nicht wirklich damit auskenne zur Konfiguration der Pins.

Ich habe einen Cyble 2-Draht Sensor, der verpolsicher ist.

In der Anleitung steht

ZitatBei normaler Fließrichtung des
Mediums durch den Zähler ist das
Fließrichtungserkennungssignal (DIR)
hochohmig gegen Masse. Bei Rückfluss wird das Signal niederohmig.

Signallänge 65ms für K=1 sonst entsprechend des Zählfortschritts

Angeschlossen habe ich ein Kabel auf Ground, eines an D1

Wie muss ich denn D1 richtig konfigurieren?

attr pinD1 rising? Verstehe das mit dem hochohmig nicht so richtig, wenn ich ehrlich bin.

Problem ist: Arducounter zählt weniger Counts als auf der Wasseruhr ist.





Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 15 Mai 2021, 14:00:38
Hallo Kai-Alfonso,

das mit DIR klingt so als ob es einen zusätzlichen Ausgang gibt, der die Flussrichtung anzeigt und bei Rückfluss mit Masse verbunden wird.

Wenn weniger gezählt wird als die Wasseruhr anzeigt, dann würde ich eher auf ein abweichendes Verhalten des Sensors tippen.
Du kannst auf jeden Fall das Zählverhalten von ArduCounter mit der History-Funktion im Detail beobachten und nachvollziehen.

Gruss
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kai-Alfonso am 19 Mai 2021, 20:06:55
Zitat von: StefanStrobel am 15 Mai 2021, 14:00:38
Hallo Kai-Alfonso,

das mit DIR klingt so als ob es einen zusätzlichen Ausgang gibt, der die Flussrichtung anzeigt und bei Rückfluss mit Masse verbunden wird.

Wenn weniger gezählt wird als die Wasseruhr anzeigt, dann würde ich eher auf ein abweichendes Verhalten des Sensors tippen.
Du kannst auf jeden Fall das Zählverhalten von ArduCounter mit der History-Funktion im Detail beobachten und nachvollziehen.

Gruss
    Stefan

Hallo Stefan,

wollte noch mal eine Rückmeldung geben.  Habe jetzt seit 2 Tagen ein stabiles Ergebnis - evtl habe ich auch einen Fehler gemacht oder ein Attribut falsch verstanden. Ich hatte beim ersten Versuch pulsesPerUnit auf 1 gesetzt (ein Impuls sollte 1 Liter betragen) und das dann erscheinende calcCounter mit dem Watercalculator abgefragt. Das hat aber nicht richtig funktioniert - hab dann noch mal von vorne angefangen und ich frage jetzt longCountD1 ab - D1 ist mit rising pullup min 50 deffiniert.


Das alles geschieht über einen Wemos D1 mit 8266 Chip - zum spielen habe ich mir einen ESP32 mit TFT Display geholt und als ein zweites Arducounter Device deffiniert. Einen Zähler angeschlossen habe ich nicht - geflasht wurde die ArduCounter-ESP32T.bin FW. Device ist auf open, allerdings ist das Display schwarz, mit den Tasten kann ich auch keine Screens durchschalten. Display geht aber - sehe nach einen Reset die IP- Eine Idee? Evtl falscher Pin? Müsste doch der SDA Pin sein? Wäre dann D21, oder?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 20 Mai 2021, 18:12:38
Hallo Kai-Alfonso,

die compilierte Firmware für ESP32 mit Display ist auf ein "TTGO T-Display" abgestimmt.
Falls Du ein anderes Board verwendest, kann es sein, dass die Tasten auf anderen GPIOs liegen.
Hast Du das Attribut deviceDisplay gesetzt?

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kai-Alfonso am 20 Mai 2021, 18:34:54
Zitat von: StefanStrobel am 20 Mai 2021, 18:12:38
Hallo Kai-Alfonso,

die compilierte Firmware für ESP32 mit Display ist auf ein "TTGO T-Display" abgestimmt.
Falls Du ein anderes Board verwendest, kann es sein, dass die Tasten auf anderen GPIOs liegen.
Hast Du das Attribut deviceDisplay gesetzt?

Gruss
   Stefan


Hi Stefan - gekauft hatte ich dieses bei Amazon.

https://www.amazon.de/gp/product/B07WTNCWLW


Zumindest in der Artikelbeschreibung steht TTGO T-Display ESP32 WiFi and Bluetooth Module und d as PinOut sieht auch so aus, wie ich es erwarten würde


deviceDisplay D21,l,l/m


ist gesetzt und im Log erscheint

ArduCounter_ESP32: device sent unit display config 21,1,1,l,60,l/m

Hier mal ein komplettes Listing. Allerdings habe ich keinen Zähler angeschlossen, nur konfiguriert. Evtl liegt da das Problem?

Internals:
   .DeTOff    1621493935.24711
   .Drift2    132.74851990509
   .DriftStart 1621439609.82603
   .LastDeT   4.011
   .triggerUsed 1
   Board      T-Display
   BoardDet   Espressif ESP32 Dev Module with display
   DEF        10.10.80.173:80
   DeviceName 10.10.80.173:80
   FD         14
   FUUID      60a53147-f33f-ce3b-04f3-73e380c0ccb17ea6
   Initialized 1
   LASTOPEN   1621493939.1167
   NAME       ArduCounter_ESP32
   NOTIFYDEV  global
   NR         5088
   NTFY_ORDER 50-ArduCounter_ESP32
   PARTIAL   
   STATE      opened
   SketchCompile Jun  6 2020 12:41:51
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 4.26
   VersionModule 7.30 - 17.5.2020
   WaitForAlive 0
   allowedPins 4,17,21,22,25,26,27,32,33,34,35,36,A0,39
   buffer     
   deviceBooted 1621493936.35111
   devioLoglevel 3
   nextOpenDelay 60
   .attraggr:
   .attrminint:
   READINGS:
     2021-05-20 18:34:10   RSSI            -60
     2021-05-20 18:33:57   countDiffD4     0
     2021-05-20 18:33:57   interpolatedLongD4 0
     2021-05-20 18:33:57   longD4          0
     2021-05-20 18:33:57   pinD4           0
     2021-05-20 18:33:57   powerD4         0.000
     2021-05-20 18:33:57   rejectD4        4
     2021-05-20 08:58:59   state           opened
     2021-05-20 18:33:57   timeDiffD4      60001
   analogLevels:
   runningCfg:
     4          P4r m2, DR4C0D0/0T0X0
     I          30,60,2,2,50,4
     U          21,1,1,l,60,l/m
     V          0,0,0,0,0
Attributes:
   board      T-Display
   deviceDisplay D21,l,l/m
   pinD4      rising
   room       Energie
   verbose    5
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 20 Mai 2021, 21:18:54
Ja, wenn nichts gezählt wird, gibt es auch nichts anzuzeigen.
Du kannst ja einfach mal mit einem Kabel Pulse am Eingang simulieren.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: der-Lolo am 03 Juni 2021, 07:23:35
Guten Morgen Zusammen,
ich habe vor einen ArduCounter einzusetzen um einen Wasserdurchfluss Messer vom Typ YF-DN50 auszuwerten.
Ich habe den Zähler schon als Counter via GPIO am Pi aktiv gehabt, mit dem simplen Ticks kann ich aber nicht viel anfangen.
Ich brauche einen Zeitlichen bezug ( ticks per minute )
Der ArduCounter wurde mir von justme ( Andre ) empfohlen.
Ich habe mittlerweile den Arduino nano hier - es scheitert derzeit an einer Anleitung.
Gibt es irgendwo im Netz eine Aufbau anleitung ( Hardware )

Ich finde irgendwie nix passendes.

Freue mich auf Tipps...

der-lolo
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 05 Juni 2021, 17:13:23
Hallo,

Du kannst den Ausgang mit den Impulsen einfach an einen GPIO des Arduino hängen. Aufbauen muss man da gar nichts. Per Attribut kannst Du dann einstellen, ob die Impulse auf GND ziehen oder auf +5V.
Nur wenn Du per Lichtschranke ein Rädchen abtasten möchtest ist zusätzliche Elektronik nötig.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: der-Lolo am 16 Juni 2021, 22:22:03
Hallo Stefan,
ich habe nun den Arduino Nano mit der ArduCounter3.30.ino geflasht und in FHEM definiert.
Noch liegt der kram auf dem Schreibtisch, der zähler ist also noch nicht aktiv.
Ich hoffe ich komme morgen Dazu den Arduino anzuschliessen und erste Werte zu lesen...

Aus der Doku des YT-DN50 geht hervor
Horizontal test pulse frequency (Hz)=[ 0.2 *Q] ±3%(horizontal test) (Q=L/min)

Hz bezieht sich ja eigentlich auf die sekunde, muss ich hier nochmal zusätzlich rechnen?
Welchen Wert muss ich bei Pulses per Unit eingeben..?
Ich erwarte Messwerte zwischen sagen wir mal 80 und 150 l/min
Das einzig verfügbare Datenblatt welches ich gefunden habe zum Durchflussmesser liegt hier:

https://www.whiteint.co.nz/documents/DataSheets/805450_102.pdf (https://www.whiteint.co.nz/documents/DataSheets/805450_102.pdf)
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 18 Juni 2021, 19:01:11
Ich würde das so interpretieren dass bei 1l / Minute 0.2 Hz also 12 Impulse je Minute kommen.
Wenn Du Liter/Minute haben möchtest, dann sind das also 12 Pulses per Unit ...
Einfach mal testen ...

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: der-Lolo am 23 Juni 2021, 09:07:32
Guten Morgen Stefan,
ich habe nun den Durchflussmesser vor Ort verkabelt - leider kommt nix an auf dem Counter Device.

Ich kann weder einen Konfigurations noch einen Herdware Fehler ausschliessen - deswegen frage ich hier mal kurz um Hilfe...

Erstmal ein list des Arducounters

Internals:
   Board      NANO
   BoardDet   
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@115200
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@38400
   FD         4
   FUUID      60ca5943-f33f-cc16-2887-3888100706131113
   HistIdx    1
   Initialized 1
   LASTOPEN   1624430527.53021
   LastHistSeq 0
   NAME       FlowMeter
   NOTIFYDEV  global
   NR         34
   NTFY_ORDER 50-FlowMeter
   PARTIAL   
   STATE      opened
   SketchCompile Jun 16 2021 20:14:03
   TYPE       ArduCounter
   VersionFirmware 3.34
   VersionModule 7.30 - 17.5.2020
   allowedPins 3,4,5,6,7,8,9,10,11,13,14,A0,15,A1,16,A2,17,A3,18,A4,19,A5,20,A6,21,A7
   buffer     
   deviceBooted 1624430529.56619
   devioLoglevel 3
   nextOpenDelay 60
   History:
     Seq      0 2021-06-23 08:42:09 Pin D3   0.000 seconds at 0 ->
   HistoryPin:
     D3
   READINGS:
     2021-06-23 08:43:11   calcCounterD3   0
     2021-06-23 08:43:11   calcCounterD3_i 0
     2021-06-23 08:43:11   calcCounterD4   0
     2021-06-23 08:43:11   calcCounterD4_i 0
     2021-06-23 08:43:11   countDiffD3     0
     2021-06-23 08:43:11   countDiffD4     0
     2021-06-23 08:43:11   interpolatedLongD3 0
     2021-06-23 08:43:11   interpolatedLongD4 0
     2021-06-23 08:43:11   longD3          0
     2021-06-23 08:43:11   longD4          0
     2021-06-23 08:43:11   pinD3           0
     2021-06-23 08:43:11   pinD4           0
     2021-06-23 08:43:11   powerD3         0.000
     2021-06-23 08:43:11   powerD4         0.000
     2021-06-23 08:43:11   rejectD3        0
     2021-06-23 08:43:11   rejectD4        0
     2021-06-23 08:42:07   state           opened
     2021-06-23 08:43:11   timeDiffD3      60001
     2021-06-23 08:43:11   timeDiffD4      60001
   runningCfg:
     3          P3 falling pullup min 5, R3 C0 D0/0 T0 N1585,0 X0
     4          P4 falling pullup min 3, R4 C0 D0/0 T0 N1585,0 X0
     I          30 60 2 2
     V          1
Attributes:
   disable    0
   enableHistory 1
   flowUnitTime 60
   pinD3      falling pullup min 5
   pinD4      falling pullup min 3
   pulsesPerUnit 12


Es gibt am FlowSensor 3 Adern: gelb, rot, schwarz
Ich habe am Arduino NANO pinD3 mit der gelben Ader belegt - rot auf +5V und schwarz auf GND
Ich messe 4,9V zwischen +5V und GND und 2,3V am pinD3

Fehlt noch etwas an der Konfiguration des Devices innerhalb FHEM..?
Muss ich noch irgendetwas zum NANO übertragen von FHEM aus?

Ich habe die Datei ArduCounter3.30.ino aus dem Contrib heruntergeladen auf meinen iMac - und dort via ArduinoIDE die Countersoftware auf den NANO geflasht.

Ich hoffe ich bekomme es ans laufen - am Raspberry habe ich durch "pusten" pule zählen können.
Jetzt wo das Ding im Wasserkreislauf verbaut ist kann ich nicht mehr hinein schauen und weiß nicht ob das TurbinenRad sich dreht ;)

Hardware defekt kann ich also nicht ausschliessen.

Noch ein Auszug des FHEM Logs beim letztem neustart.
Falls relevant - ich habbe einen aktiven USB Hub, der am RAPSI hängt, versorge den RASPI selbst aber auch über diesen HUB.

2021.06.23 08:33:56 1: Including ./log/fhem.save
2021.06.23 08:33:57 3: Optidrive: bad reading name 'KühlkörperTemp.' (allowed chars: A-Za-z/\d_\.-)
2021.06.23 08:33:57 3: FlowMeter: Notify called with events: INITIALIZED, open device and set timer to send hello to device
2021.06.23 08:33:57 3: Opening FlowMeter device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0
2021.06.23 08:33:57 1: FlowMeter: Can't open /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0: No such file or directory
2021.06.23 08:33:57 3: Optidrive: RegisterAtIODev called from SetIODev registers Optidrive at modbusRTU with id 1, MODE master, PROTOCOL RTU
2021.06.23 08:33:57 3: Optidrive: Notify / Init: using modbusRTU for communication
2021.06.23 08:33:57 3: Opening PoolWago device 192.168.1.190:502
2021.06.23 08:34:00 1: PoolWago: Can't connect to 192.168.1.190:502: Connection timed out
2021.06.23 08:34:00 3: Opening modbusRTU device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AG0KFFLW-if00-port0
2021.06.23 08:34:00 3: Setting modbusRTU serial parameters to 115200,8,N,1
2021.06.23 08:34:00 3: modbusRTU device opened
2021.06.23 08:34:00 0: Featurelevel: 6
2021.06.23 08:34:00 0: Server started with 23 defined entities (fhem.pl:24365/2021-05-01 perl:5.028001 os:linux user:fhem pid:547)
2021.06.23 08:34:03 3: FlowMeter: Invalid device display configuration
2021.06.23 08:35:32 1: OWX_Init called for bus 1wire with interface state opened, now going for detect
2021.06.23 08:35:32 1: OWX_SER::Detect 1-Wire bus 1wire: interface master DS2480 re-detected
2021.06.23 08:35:32 1: OWX_Discover: 1-Wire devices found on bus 1wire (SolarRLTemp,PoolTemp,AbsorberTemp)
2021.06.23 08:40:29 2: AttrTemplates: got 227 entries
2021.06.23 08:40:53 3: Opening FlowMeter device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0
2021.06.23 08:40:53 1: FlowMeter: Can't open /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0: No such file or directory
2021.06.23 08:41:59 3: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AG0KFFLW-if00-port0 disconnected, waiting to reappear (modbusRTU)
2021.06.23 08:42:01 3: Setting FlowMeter serial parameters to 115200,8,N,1
2021.06.23 08:42:01 3: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 reappeared (FlowMeter)
2021.06.23 08:42:03 3: Setting modbusRTU serial parameters to 115200,8,N,1
2021.06.23 08:42:03 3: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AG0KFFLW-if00-port0 reappeared (modbusRTU)
2021.06.23 08:42:05 3: FlowMeter: sending h(ello) to device to ask for version
2021.06.23 08:42:07 3: FlowMeter: device didn't reply to h(ello). Is the right sketch flashed? Serial speed was 115200. Trying again with @38400
2021.06.23 08:42:07 3: Opening FlowMeter device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0
2021.06.23 08:42:07 3: Setting FlowMeter serial parameters to 38400,8,N,1
2021.06.23 08:42:07 3: FlowMeter device opened
2021.06.23 08:42:09 3: FlowMeter: device: no config in EEPROM
2021.06.23 08:42:09 3: FlowMeter: device sent hello with outdated Arducounter Firmware (3.34) - please update!
2021.06.23 08:42:09 3: FlowMeter: unparseable message from device: T100 110
2021.06.23 08:42:10 3: FlowMeter: ConfigureDevice: send config
2021.06.23 08:42:10 3: FlowMeter: ConfigurePin sends old syntax to outdated firmware (3.34)
2021.06.23 08:42:10 3: FlowMeter: ConfigurePin creates command 4,2,1,3a
2021.06.23 08:42:10 3: FlowMeter: ConfigurePin sends old syntax to outdated firmware (3.34)
2021.06.23 08:42:10 3: FlowMeter: ConfigurePin creates command 3,2,1,5a
2021.06.23 08:42:10 3: FlowMeter: Invalid interval specification
2021.06.23 08:42:10 3: FlowMeter: ConfigureVerboseLevels creates command 1,0,0,0,0v
2021.06.23 08:42:10 3: FlowMeter: device: defined P4 falling pullup min 3
2021.06.23 08:42:10 3: FlowMeter: device: defined P3 falling pullup min 5
2021.06.23 08:42:10 3: FlowMeter: device: devVerbose set to 1
2021.06.23 08:42:10 3: FlowMeter: device: Status: ArduCounter V3.34 on NANO compiled Jun 16 2021 20:14:03
2021.06.23 08:42:10 3: FlowMeter: unparseable message from device: T100 110
2021.06.23 08:42:10 3: FlowMeter: device: no config in EEPROM
2021.06.23 08:42:10 3: FlowMeter: device: Next report in 28779 milliseconds
2021.06.23 08:43:11 3: FlowMeter: pin D4 (pin4) interpolating for 1369.57 secs until boot, 0 estimated pulses (before 0 in 60001 ms, now 0 in 60001 ms, avg ratio 0 p/s)
2021.06.23 08:43:11 3: FlowMeter: pin D3 (pin3) interpolating for 1330.57 secs until boot, 0 estimated pulses (before 0 in 60001 ms, now 0 in 60001 ms, avg ratio 0 p/s)
2021.06.23 08:44:07 1: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AG0K8WU5-if00-port0 disconnected, waiting to reappear (1wire)
2021.06.23 08:44:07 1: OWX_SER::Query 1wire:  0 of 1 bytes in last attempt and state opened, this is an unrecoverable error
2021.06.23 08:44:07 1: OWX_Complex called while interface 1wire disconnected
2021.06.23 08:44:09 1: OWX_Complex called while interface 1wire disconnected
2021.06.23 08:44:10 1: OWX_Complex called while interface 1wire disconnected
2021.06.23 08:45:09 1: OWX_Init called for bus 1wire with interface state opened, now going for detect
2021.06.23 08:45:09 1: OWX_SER::Detect 1-Wire bus 1wire: interface master DS2480 re-detected
2021.06.23 08:45:10 1: OWX_Discover: 1-Wire devices found on bus 1wire (SolarRLTemp,PoolTemp,AbsorberTemp)
2021.06.23 08:45:10 1: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AG0K8WU5-if00-port0 reappeared (1wire)


Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: der-Lolo am 23 Juni 2021, 14:06:39
Sorry fürs Spamen...

Ich habe nun von FHEM aus den NANO geflasht, musste nur avrdude installieren...
und siehe da es kommt was an...

Internals:
   Board      NANO
   BoardDet   
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@115200
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@115200
   FD         14
   FUUID      60ca5943-f33f-cc16-2887-3888100706131113
   HistIdx    76
   Initialized 1
   LASTOPEN   1624446079.87703
   LastHistSeq 64500
   NAME       FlowMeter
   NOTIFYDEV  global
   NR         34
   NTFY_ORDER 50-FlowMeter
   PARTIAL   
   STATE      opened
   SketchCompile Jun  6 2020 12:40:29
   TYPE       ArduCounter
   VersionFirmware 4.26
   VersionModule 7.30 - 17.5.2020
   allowedPins 2,3,4,5,6,7,8,9,10,11,12,13,14,A0,15,A1,16,A2,17,A3,18,A4,19,A5,20,A6,21,A7
   buffer     
   deviceBooted 1624446082.58622
   devioLoglevel 3
   nextOpenDelay 60
   History:
     Seq  60834 2021-06-23 13:26:26 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  60835 2021-06-23 13:26:26 Pin D3   0.025 seconds at 1 -> gap
     Seq  60836 2021-06-23 13:26:26 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  60837 2021-06-23 13:26:26 Pin D3   0.024 seconds at 1 -> gap
     Seq  60838 2021-06-23 13:26:26 Pin D3   0.024 seconds at 0 -> pulse counted
     Seq  60839 2021-06-23 13:26:26 Pin D3   0.023 seconds at 1 -> gap
     Seq  60840 2021-06-23 13:26:26 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  60841 2021-06-23 13:26:26 Pin D3   0.023 seconds at 1 -> gap
     Seq  60842 2021-06-23 13:26:26 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  60843 2021-06-23 13:26:26 Pin D3   0.025 seconds at 1 -> gap
     Seq  60844 2021-06-23 13:26:26 Pin D3   0.023 seconds at 0 -> pulse counted
     Seq  60845 2021-06-23 13:26:26 Pin D3   0.025 seconds at 1 -> gap
     Seq  60846 2021-06-23 13:26:26 Pin D3   0.024 seconds at 0 -> pulse counted
     Seq  60847 2021-06-23 13:26:27 Pin D3   0.024 seconds at 1 -> gap
     Seq  60848 2021-06-23 13:26:27 Pin D3   0.023 seconds at 0 -> pulse counted
     Seq  60849 2021-06-23 13:26:27 Pin D3   0.025 seconds at 1 -> gap
     Seq  62047 2021-06-23 13:26:59 Pin D3   0.025 seconds at 1 -> gap
     Seq  62048 2021-06-23 13:26:59 Pin D3   0.024 seconds at 0 -> pulse counted
     Seq  62049 2021-06-23 13:26:59 Pin D3   0.026 seconds at 1 -> gap
     Seq  62050 2021-06-23 13:26:59 Pin D3   0.024 seconds at 0 -> pulse counted
     Seq  62051 2021-06-23 13:26:59 Pin D3   0.024 seconds at 1 -> gap
     Seq  62052 2021-06-23 13:26:59 Pin D3   0.026 seconds at 0 -> pulse counted
     Seq  62053 2021-06-23 13:26:59 Pin D3   0.024 seconds at 1 -> gap
     Seq  62054 2021-06-23 13:26:59 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  62055 2021-06-23 13:26:59 Pin D3   0.025 seconds at 1 -> gap
     Seq  62056 2021-06-23 13:26:59 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  62057 2021-06-23 13:26:59 Pin D3   0.025 seconds at 1 -> gap
     Seq  62058 2021-06-23 13:26:59 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  62059 2021-06-23 13:26:59 Pin D3   0.025 seconds at 1 -> gap
     Seq  62060 2021-06-23 13:26:59 Pin D3   0.023 seconds at 0 -> pulse counted
     Seq  62061 2021-06-23 13:26:59 Pin D3   0.026 seconds at 1 -> gap
     Seq  62062 2021-06-23 13:26:59 Pin D3   0.024 seconds at 0 -> pulse counted
     Seq  62063 2021-06-23 13:26:59 Pin D3   0.024 seconds at 1 -> gap
     Seq  62064 2021-06-23 13:26:59 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  62065 2021-06-23 13:26:59 Pin D3   0.023 seconds at 1 -> gap
     Seq  62066 2021-06-23 13:27:00 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  63264 2021-06-23 13:27:25 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  63265 2021-06-23 13:27:25 Pin D3   0.024 seconds at 1 -> gap
     Seq  63266 2021-06-23 13:27:25 Pin D3   0.024 seconds at 0 -> pulse counted
     Seq  63267 2021-06-23 13:27:25 Pin D3   0.025 seconds at 1 -> gap
     Seq  63268 2021-06-23 13:27:25 Pin D3   0.024 seconds at 0 -> pulse counted
     Seq  63269 2021-06-23 13:27:25 Pin D3   0.024 seconds at 1 -> gap
     Seq  63270 2021-06-23 13:27:25 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  63271 2021-06-23 13:27:25 Pin D3   0.024 seconds at 1 -> gap
     Seq  63272 2021-06-23 13:27:25 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  63273 2021-06-23 13:27:25 Pin D3   0.026 seconds at 1 -> gap
     Seq  63274 2021-06-23 13:27:25 Pin D3   0.024 seconds at 0 -> pulse counted
     Seq  63275 2021-06-23 13:27:25 Pin D3   0.025 seconds at 1 -> gap
     Seq  63276 2021-06-23 13:27:25 Pin D3   0.024 seconds at 0 -> pulse counted
     Seq  63277 2021-06-23 13:27:25 Pin D3   0.024 seconds at 1 -> gap
     Seq  63278 2021-06-23 13:27:26 Pin D3   0.024 seconds at 0 -> pulse counted
     Seq  63279 2021-06-23 13:27:26 Pin D3   0.025 seconds at 1 -> gap
     Seq  63280 2021-06-23 13:27:26 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  63281 2021-06-23 13:27:26 Pin D3   0.023 seconds at 1 -> gap
     Seq  63282 2021-06-23 13:27:26 Pin D3   0.026 seconds at 0 -> pulse counted
     Seq  63283 2021-06-23 13:27:26 Pin D3   0.023 seconds at 1 -> gap
     Seq  64481 2021-06-23 13:27:55 Pin D3   0.025 seconds at 1 -> gap
     Seq  64482 2021-06-23 13:27:55 Pin D3   0.026 seconds at 0 -> pulse counted
     Seq  64483 2021-06-23 13:27:55 Pin D3   0.024 seconds at 1 -> gap
     Seq  64484 2021-06-23 13:27:55 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  64485 2021-06-23 13:27:55 Pin D3   0.025 seconds at 1 -> gap
     Seq  64486 2021-06-23 13:27:55 Pin D3   0.025 seconds at 0 -> pulse counted
     Seq  64487 2021-06-23 13:27:55 Pin D3   0.025 seconds at 1 -> gap
     Seq  64488 2021-06-23 13:27:55 Pin D3   0.026 seconds at 0 -> pulse counted
     Seq  64489 2021-06-23 13:27:56 Pin D3   0.024 seconds at 1 -> gap
.......
     D3
     D3
     D3
     D3
.......
   OLDREADINGS:
   READINGS:
     2021-06-23 13:46:26   calcCounterD3   4046.75
     2021-06-23 13:46:26   calcCounterD3_i 142.833333333333
     2021-06-23 13:46:26   countDiffD3     0
     2021-06-23 13:46:26   interpolatedLongD3 48561
     2021-06-23 13:46:26   longD3          46847
     2021-06-23 13:46:26   pinD3           46847
     2021-06-23 13:46:26   powerD3         0.000
     2021-06-23 13:46:26   rejectD3        0
     2021-06-23 13:01:19   state           opened
     2021-06-23 13:46:26   timeDiffD3      60002
   runningCfg:
     3          P3fp m5, DR3C0D0/0T0X0
     4          P4fp m3, DR4C0D0/0T0X0
     I          30,60,2,2,50,4
     V          1,0,0,0,0
Attributes:
   disable    0
   enableHistory 1
   flowUnitTime 60
   pinD3      falling pullup min 5
   pulsesPerUnit 12


Ich hätte jetzt erwartet das das Reading calcCounterD3_i auf Null geht wenn aktuell kein Druchfluss herrscht (aktuelle Durchfluss)
Calc Counter D3 - wäre dann eine aufsummierte (bewegte menge insgesamt)

Komisch finde ich in der History die doppelten einträge hintereinander, also nicht im wechsel. Sowohl bei GAP als auch pulse counted.
Sollte ich meine def für den pin 3 anpassen..?

Ich habe eben sowohl Solaranlage als auch Chlorgenerator mitlaufen lassen - der Durchfluss wird also eher noch um ein paar l/min steigen - Später soll aber ja auch noch der FU für Energieersparnis sorgen - das würde wieder etwas weniger Durchfluss bedeuten.

Perspektivisch würde ich später am liebsten sowas machen wie --> 18Uhr schauen wieviel Liter bewegt wurden und abhängig von Tagestemperatur und Badebetrieb eine Pumpenrestlaufzeit berechnen. Diese dann so starten das gegen 23 Uhr die gewünschte Soll umwälzung erreicht würde.
Den Counter könnte ich dann zum Tageswechsel in ein readingsHistory schreiben und ablöschen.

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 24 Juni 2021, 20:41:13
Hallo,

das Reading calcCounterD3_i ist genauso wie calcCounterD3 selbst ein kumulierendes Reading.
calcCounterD3 zeigt typischerweise die insgesamt gezählte und interpolierte Menge (z.B. kWh oder auch l).
calcCounterD3_i zeigt wie viel von calcCounterD3 nicht wirklich gezählt sondern bei einem Neustart des Boards interpoliert wurde.
Wenn Du das Board mal trennst oder auf reset drückst, kann es ja nicht zählen bis es wieder läuft.
Das Fhem-Modul bemerkt das und rät dann anhand des Verbrauchs vor dem Neustart und dem Verbrauch nach dem Neustart, wie viele Impulse vermutlich verpasst worden sind. Die werden beim calcCounterD3 dazugezählt und im calcCounterD3_i explizit ausgewiesen.
Auf 0 gehen diese Readings nur wenn Du sie explizit auf 0 setzt. Sonst zählen die immer weiter.

Die doppelten Gaps / Pulses in der History kommen von Lücken in der History. Wenn Du genau hinschaust, dann ist dazwischen jeweils eine Lücke in der Sequence-Nummer.
Das mit der History ist mehr für Debugging gedacht. Wenn die Impulse in schneller Folge kommen, dann schafft es das Board evt. nicht alle History-Zeilen über die "langsame" serielle Schnittstelle zu schieben.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: der-Lolo am 24 Juni 2021, 20:52:32
Das bedeutet alles ist gut konfiguriert..?
Ich bin begeistert - hatte echt ein bisschen Angst davor den ArduCounter einzusetzen, vom Prinzip her ist aber doch sehr einfach.

Tausen Dank für das Modul - für mein PoolFHEM eine echte bereicherung...

PS: als nächstes geht der FU via Modbus an den start - da schlage ich sicher wieder mit fragen auf ;)
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Aurel_B am 16 September 2021, 21:28:01
Liebe Alle,

ich habe eine Anschluss-/Verständnisfrage zur Wassermessung mittels Durchflussmesser. Ich habe total 3 Flow Meter (https://www.aliexpress.com/item/32450030424.html (https://www.aliexpress.com/item/32450030424.html)), jede pro Wohnung. Ziel ist, den Wasserverbrauch zu visualisieren (also "wieviel Wasser in Litern wurden pro Messintervall verbraucht"). Gemäss Webseite berechnet sich der Fluss wie folgt:

F(Hz)=(8.1xQ) -3%    Q=L/min (nehme an, das sollte +- 3% heissen)

Also wenn ich das richtig verstanden habe: 8.1 Pulse pro Sekunde bei 1L/min 8.1*60s == 486 Pulse pro Minute.

Konfiguraton des Arducounters (Flow Meter hängt am A0):

boardNANO
enableHistory1
interval60 600 5 2
pinA0falling pullup
readingFlowUnitTimeA060
readingPulsesPerUnitA0486

Ich habe nun den Hahn voll aufgedreht, 1 Liter Wasser (genau gemessen: 990ml) rausgelassen und die Zeit gemessen: es waren 10.6 Sekunden. Danach (erst nach 60s! Und nicht nach 5s wie ich eigentlich erwartet hätte von "interval 60 600 5 2"??) wurden folgende Werte gemeldet:


calcCounterA00.923868312757202
calcCounterA0_i0
countDiffA0448
interpolatedLongA0449
longA0449
pinA0449
powerA01.213
rejectA00
timeDiffA045580

Wie komme ich nun von diesen Werten auf meine 1 Liter Wasserverbrauch? Die 448 kommen in die Nähe von den errechneten 486 Impulsen für eine Flussrate von 1L/min. Aber da meine 1 Liter für die Messung innerhalb von ca. 10s rausgeflossen sind würde die Flussrate ja 6L/min entsprechen? Diese wären aber nur innerhalb von 10s in denen tatsächlich Wasser geflossen sind angefallen, die restlichen 50s der Messperiode fand kein Durchfluss statt. Also => 1/6*2916 (==Flussrate von 6l/min) + 5/6*0 (==Flussrate von 0l/min) == 486? Stimmt meine Überlegung?

Ich habe ein paar Minuten später langsam nochmals 1 Liter Wasser rausgelassen (genau: 974ml). Danach wurden folgende Werte angezeigt:


calcCounterA01.70987654320988
calcCounterA0_i0
countDiffA0382
interpolatedLongA0831
longA0831
pinA0831
powerA00.786
rejectA00
stateopened
timeDiffA060001

Ist das wirklich so einfach? Anzahl Pulse pro Messperiode / 486 == Anzahl Liter pro Messperiode? Dann wäre der verwendete Zähler recht ungenau: bei raschem Durchfluss entsprechen 1 Liter 448 Impulse, bei auf geschätzt 1/3 reduziertem Durchfluss aber nur noch 831 - 448 == 383 Impulse pro Liter.

Stehe gerade völlig auf dem Schlauch.

Nachtrag: die History:

Seq    882 2021-09-16 21:20:24 Pin A0   0.013 seconds at 1 -> gap
Seq    883 2021-09-16 21:20:24 Pin A0   0.011 seconds at 0 -> pulse counted
Seq    884 2021-09-16 21:20:24 Pin A0   0.012 seconds at 1 -> gap
Seq    885 2021-09-16 21:20:24 Pin A0   0.012 seconds at 0 -> pulse counted
Seq    886 2021-09-16 21:20:24 Pin A0   0.013 seconds at 1 -> gap
Seq    887 2021-09-16 21:20:24 Pin A0   0.012 seconds at 0 -> pulse counted
Seq    888 2021-09-16 21:20:24 Pin A0   0.014 seconds at 1 -> gap
Seq    889 2021-09-16 21:20:24 Pin A0   0.014 seconds at 0 -> pulse counted
Seq    890 2021-09-16 21:20:24 Pin A0   0.015 seconds at 1 -> gap
Seq    891 2021-09-16 21:20:25 Pin A0   0.017 seconds at 0 -> pulse counted
Seq    892 2021-09-16 21:20:25 Pin A0   0.020 seconds at 1 -> gap
Seq    893 2021-09-16 21:20:25 Pin A0   0.021 seconds at 0 -> pulse counted
Seq    894 2021-09-16 21:20:25 Pin A0   0.026 seconds at 1 -> gap
Seq    895 2021-09-16 21:20:25 Pin A0   0.029 seconds at 0 -> pulse counted
Seq    896 2021-09-16 21:20:25 Pin A0   0.035 seconds at 1 -> gap
Seq    897 2021-09-16 21:20:25 Pin A0   0.042 seconds at 0 -> pulse counted
Seq    898 2021-09-16 21:20:25 Pin A0   0.058 seconds at 1 -> gap
Seq    899 2021-09-16 21:20:25 Pin A0   0.077 seconds at 0 -> pulse counted
Seq    900 2021-09-16 21:20:25 Pin A0   0.150 seconds at 1 -> gap
Seq   1646 2021-09-16 21:23:36 Pin A0   0.039 seconds at 1 -> gap
Seq   1647 2021-09-16 21:23:36 Pin A0   0.036 seconds at 0 -> pulse counted
Seq   1648 2021-09-16 21:23:36 Pin A0   0.039 seconds at 1 -> gap
Seq   1649 2021-09-16 21:23:36 Pin A0   0.036 seconds at 0 -> pulse counted
Seq   1650 2021-09-16 21:23:36 Pin A0   0.039 seconds at 1 -> gap
Seq   1651 2021-09-16 21:23:36 Pin A0   0.037 seconds at 0 -> pulse counted
Seq   1652 2021-09-16 21:23:36 Pin A0   0.039 seconds at 1 -> gap
Seq   1653 2021-09-16 21:23:36 Pin A0   0.035 seconds at 0 -> pulse counted
Seq   1654 2021-09-16 21:23:36 Pin A0   0.039 seconds at 1 -> gap
Seq   1655 2021-09-16 21:23:36 Pin A0   0.037 seconds at 0 -> pulse counted
Seq   1656 2021-09-16 21:23:36 Pin A0   0.039 seconds at 1 -> gap
Seq   1657 2021-09-16 21:23:36 Pin A0   0.036 seconds at 0 -> pulse counted
Seq   1658 2021-09-16 21:23:36 Pin A0   0.039 seconds at 1 -> gap
Seq   1659 2021-09-16 21:23:37 Pin A0   0.036 seconds at 0 -> pulse counted
Seq   1660 2021-09-16 21:23:37 Pin A0   0.039 seconds at 1 -> gap
Seq   1661 2021-09-16 21:23:37 Pin A0   0.039 seconds at 0 -> pulse counted
Seq   1662 2021-09-16 21:23:37 Pin A0   0.048 seconds at 1 -> gap
Seq   1663 2021-09-16 21:23:37 Pin A0   0.057 seconds at 0 -> pulse counted
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: my-engel am 19 September 2021, 19:04:25
Hallo,
ich habe mal eine Frage. Ich habe die Firmware auf einen ProMini geflasht und diesen an den
2.UART eines MapleCun angeschlossen. Der MapleCun läuft über LAN mit IP:Port (2325)

Es funktioniert soweit nur ist mir aufgefallen, dass die Werte aller 120 Sekunden und nicht
wie beim Nano an USB aller 60 Sekunden aktualisiert werden.
Kann dies am ProMini liegen da dieser mit 3.3V 8MHz läuft und nicht mit 16MHz?
Das Attribut flowUnitTime 60 bringt keine Änderung.
Die Werte kommen alle rein aber ich kann nicht prüfen ob die Berechnungen stimmen.

Des Weiteren funktioniert das Flashen nicht mit:
set ,,device" flash
da vermutlich der Port nicht angegeben wird. Kann man dieses mit ins Modul einbauen?

VG Uwe
Edit: hatte ich vergessen, musste die UART1 auch auf 57600 stellen,
da es bei anderen Geschwindigkeiten nicht funktionierte...
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 20 September 2021, 17:12:52
Hallo Stefan

Bei mir hängt am PIN 4 des  ArduCounter einen Durchflussmesser. Was mich interessiert ist nur die Gesamtmenge in Liter. Wie die momentan Durchflussmenge , Liter pro Minute oder so ist interessiert mich nicht. Das Ganze läuft relativ gut, es kommt aber immer wieder zu kleinen Abweichungen. Ich muss also den aktuellen Stand gelegentlich manuell abgleichen.
Der Durchflussmesser schaltet pro dl einmal von 0 auf 1 und zurück, als in Halbdeziliter Takt.

Wenn der ,,Hahn" geöffnet ist, liegt die maximale Durchflussmenge bei ca. 2.5 Liter pro Stunde.
Als max. 1 Statusübergang pro Minute, von 0 auf 1, oder Umgekehrt. Der ,,Hahn" kann aber auch Stunden, Tage oder gar Wochen komplett geschlossen bleiben.

PIN 4 habe ich wie folgt definiert. Pin4 falling pullup min 3000
Gibt es eine Möglichkeit sowohl für den UP- wie auch den DOWN- Zustand geleichzeitig eine minimale Länge zu definieren? 
Falls ja wie würde diese Definition aussehen?

Besten Dank für einen Tipp
birdy


Internals:
   Board      NANO
   BoardDet   
   DEF        /dev/ttyUSB0@38400
   DeviceName /dev/ttyUSB0@38400
   FD         5
   FUUID      5c750411-f33f-51b2-370d-212c15e972e22e88
   Initialized 1
   LASTOPEN   1632079026.9521
   NAME       AC
   NOTIFYDEV  global
   NR         21
   NTFY_ORDER 50-AC
   PARTIAL   
   STATE      opened
   SketchCompile Aug 12 2019 21:16:36
   TYPE       ArduCounter
   VersionFirmware 3.34
   VersionModule 7.30 - 17.5.2020
   allowedPins 3,4,5,6,7,8,9,10,11,13,14,A0,15,A1,16,A2,17,A3,18,A4,19,A5,20,A6,21,A7
   buffer     
   deviceBooted 1632079029.02103
   devioLoglevel 3
   nextOpenDelay 60
   READINGS:
     2021-09-20 17:09:18   OelVorrat       1927.1
     2021-09-20 17:09:18   OelZaehler      6527.7
     2021-09-20 17:09:18   OelZaehlerI     6527.7
     2021-09-20 17:09:18   StromZaehler    10784.51
     2021-09-20 17:09:18   calcCounter4    238.199999999955
     2021-09-20 17:09:18   calcCounter4_i  0
     2021-09-20 17:08:18   calcCounter6    3569.82000000984
     2021-09-20 17:08:18   calcCounter6_i  0.48
     2021-09-20 17:09:18   countDiff4      0
     2021-09-20 17:08:18   countDiff6      1
     2021-09-20 17:09:18   interpolatedLong4 65277
     2021-09-20 17:08:18   interpolatedLong6 1078451
     2020-12-28 00:27:30   long            53522
     2021-09-20 17:09:18   long4           65277
     2021-09-20 17:08:18   long6           1078261
     2021-09-20 17:09:18   pin4            9
     2021-09-20 17:08:18   pin6            794
     2021-09-20 17:09:18   power4          0.000
     2021-09-20 17:08:18   power6          0.372
     2021-09-20 17:09:18   reject4         0
     2021-09-20 17:08:18   reject6         4080
     2020-11-28 17:48:36   seq4            26
     2020-11-28 17:49:36   seq6            120
     2021-09-19 21:17:07   state           opened
     2021-09-20 17:09:18   timeDiff4       414500
     2021-09-20 17:08:18   timeDiff6       96852
   runningCfg:
     4          P4 falling pullup min 3000, R4 C0 D0/0 T0 N7340,0 X0
     6          P6 falling pullup min 75, R6 C0 D0/0 T0 N7340,0 X0
     I          60 360 0 0
     V          0
Attributes:
   flashCommand avrdude -p atmega328P -c arduino -b 57600 -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 360
   pin4       falling pullup min 3000
   pin6       falling pullup 75
   pulsesPerKWh 100
   room       Keller
   userReadings OelZaehler {ReadingsVal("AC","long4",0)/10},OelZaehlerI {ReadingsVal("AC","interpolatedLong4",0)/10},OelVorrat {8454.8-ReadingsVal("AC","OelZaehlerI",0)},StromZaehler {ReadingsVal("AC","interpolatedLong6",0)/100}
   userattr   pin4 pin6 readingFactor6
   verbose    5
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 20 September 2021, 20:00:59
Hallo ansgru,

Deine Konfiguration
Zitat
interval   60 600 5 2
bedeutet laut Referenz
Zitat
interval <normal> <max> [<min> <min count> [<analog interval> <analog samples>]]
Defines the parameters that affect the way counting and reporting works. This Attribute expects at least two and a maximum of six numbers as value. The first is the normal interval, the second the maximal interval, the third is a minimal interval and the fourth is a minimal pulse count. The last two numbers are only needed for counting with reflective light barriers. They specify the delay between the measurements and the number of samples for each measurement.
...

Nach 5 Sekunden kommt also keine Meldung sondern erst nach 60 Sekunden. Wenn Du das schneller haben möchtest, dann muss der erste Wert kleiner sein.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 20 September 2021, 20:02:30
Hallo my-engel,

hast Du die Firmware denn neu für den ProMini compiliert?

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 20 September 2021, 20:07:50
Hallo birdy,

den Anwendungsfall mit hin- und herschalten hatte ich noch nicht.
Allerdings wird die minimale Pulslänge ohnehin schon auf beide Zustände (0/1) angewendet.
Eigentlich sollte es also direkt funktionieren.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 20 September 2021, 20:47:32
Hallo Stefan

Danke für die schnelle Antwort

Zitat von: StefanStrobel am 20 September 2021, 20:07:50
den Anwendungsfall mit hin- und herschalten hatte ich noch nicht.......

Ist immer noch derselbe Anwendungsfall wie in #211  also eingentlich nichts Neues   ;)

Es ist natürlich nicht auszuschliessen, dass der Durchfluss auch genau am Schaltpunt zum Stillstand kommt. Würde aber trotzen erwarten, dass der Schalter sauber schaltet und nicht flattert..

Ich werde also weiterhin ab und zu beim Durchflussmesser vorbeischauen, und falls es notwendig sein sollte, manuell abgleichen.


Gruss, birdy
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: my-engel am 20 September 2021, 21:19:15
Hallo Stefan,

JaNein
hatte es anfangs mit der "ArduCounter3.30.ino" aus dem contrib Verzeichnis compiliert (V3.34 vom 12.8.19)
Da diese sehr alt ist und ich keine neueren Quellen gefunden hatte, habe ich einen FTDI per USB mit FHEM verbunden und
über diesen den ProMini geflasht, sprich es ist die hex vom Nano drauf...
Hast du die neueren ArduCounterXXX.ino irgendwo veröffentlicht?

VG Uwe
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Aurel_B am 21 September 2021, 22:16:09
Hallo Stefan,

Zitat von: StefanStrobel am 20 September 2021, 20:00:59
Deine Konfigurationbedeutet laut Referenz
Nach 5 Sekunden kommt also keine Meldung sondern erst nach 60 Sekunden. Wenn Du das schneller haben möchtest, dann muss der erste Wert kleiner sein.

besten Dank für deine Antwort! Dann habe ich das falsch verstanden -> habe gedacht, dass bei:

interval   60 600 5 2

Normalerweise alle 60s, wenn aber keine Daten kommen erst nach 10min gepollt wird. Wenn aber sehr rasch Daten kommen (>= 2 Inputs), dann wird bereits nach 5s ein Wert eingelesen... Habe deine ausführliche Erläuterung in https://forum.fhem.de/index.php/topic,19285.msg513028.html#msg513028 (https://forum.fhem.de/index.php/topic,19285.msg513028.html#msg513028) gefunden und glaub ich ansatzweise verstanden  8) Finde den Wiki Eintrag hierzu etwas verwirrend und würde folgenden Eintrag vorschlagen:

Zitatinterval <normal> <max> [<min> <min count> [<analog interval> <analog samples>]]
    Defines the parameters that affect the way counting and reporting works.
    This Attribute expects at least two and a maximum of six numbers as value. The first is the normal interval, the second the maximal interval, the third is a minimal interval and the fourth is a minimal pulse count. The last two numbers are only needed for counting with reflective light barriers. They specify the delay between the measurements and the number of samples for each measurement.
   
    The normal use case (where the normal interval is smaller than the maximum interval) would be where the Arduino board just counts and remembers the time between the first impulse and the last impulse for each pin.
    After the normal interval has elapsed the Arduino board reports the count and time for those pins where impulses were encountered.
    This means that even though the normal interval might be 10 seconds, the reported time difference can be different because impulses are observed by start and end point. The Power (e.g. for energy meters) is then calculated based of the counted impulses and the time difference between the first and the last impulse.
    For the next interval, the starting time will be the time of the last impulse in the previous reporting period and the time difference will be taken up to the last impulse before the reporting interval has elapsed.
    The second, third and fourth numbers (maximum, minimal interval and minimal count) exist for the edge cases where the pulse frequency is very low and the reporting time is comparatively short.
    For example if the normal interval (first number) is 60 seconds but there is only one impulse every 90 seconds you will have spikes in your power readings (where there should be none).
    This can be avoided by choosing the max/min/min count numbers wisely: If impulses occur less frequently than the normal interval readings will be prolonged until max interval is reached. If however the last max interval has had no pulses, a new max interval has just started and right after it started an impuls occurs this would again cause spikes the way Arducounter works. To prevent those spikes from happening use <min> / <min count>. They make sure, that more than <min count> impulses and less than <min> time between impulses must have occured for the impulses to be considered as part of a normal interval (=a steady flow of impulses). If however it's just a single impulse which comes at an "akward" moment as mentioned before it won't be considered during a normal interval unless other impulses follow. Instead the normal interval will be prolonged until max interval is reached.

Wenn das so ok ist für dich würde ich den Wikitext abändern?

Ah und zum Wasserzähler (meine ursprüngliche Frage): irgend etwas wird gezählt (siehe Graphik), mir reicht es für den Moment. Die Daten sind auch schlüssig wenn ich das mit den Temperaturwerten des Boilers vergleiche. Werde nach einem halben Jahr oder so den longA0 Wert mit der tatsächlich geflossenen Litermenge gemäss Wasseruhr abgleichen und dann eventuell schlauer sein  ;D
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 23 September 2021, 18:31:42
Hallo my-engel,

die Firmware-Sourcen (für PlatformIO) liegen jetzt unter https://github.com/StefanStrobel/ArduCounter

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 23 September 2021, 18:38:19
Hallo ansgru,

ohne den Text im Detail abgeglichen zu haben sieht es nach einer Verbesserung aus, also nur zu.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: my-engel am 24 September 2021, 19:32:49
Hallo Stefan,

habe nun die Sourcen mit PlatformIO für den ProMini3.3V8MHz kompiliert und auf den ProMini geflasht.
musste den UART dann von 57600 auf 115200 hochstellen. Sollte für mein Verständnis ja auch so sein.
In FHEM ist der Arducounter auch opened nur kommen keine Impulse mehr rein.
Im Log kommt:
2021.09.24 19:20:28.429 3: ArducounterMapleCUN2 device opened
2021.09.24 19:20:32.435 3: ArducounterMapleCUN2: sending h(ello) to device to ask for version
2021.09.24 19:20:32.455 3: attribute board is set to NANO and is overwriting board UNO reported by device
2021.09.24 19:20:32.456 3: ArducounterMapleCUN2: device sent hello: ArduCounter V4.26 on UNO compiled Sep 24 2021 18:36:19 Hello
2021.09.24 19:20:33.459 3: ArducounterMapleCUN2: ConfigureDevice: send config
2021.09.24 19:20:33.466 3: ArducounterMapleCUN2: ConfigurePin creates command 4,2,1,25a
2021.09.24 19:20:33.469 3: ArducounterMapleCUN2: ConfigurePin creates command 5,2,1,25a
2021.09.24 19:20:33.471 3: ArducounterMapleCUN2: Invalid interval specification
2021.09.24 19:20:33.471 3: ArducounterMapleCUN2: ConfigureVerboseLevels creates command 1,0,0,0,0v
2021.09.24 19:20:33.495 3: ArducounterMapleCUN2: device: Error: command a Illegal pin specification 1
2021.09.24 19:20:33.496 3: ArducounterMapleCUN2: device: Error: command a Illegal pin specification 1


und mit "get ArducounterMapleCUN2 info" kommt:
Status: ArduCounter V4.26 on UNO compiled Sep 24 2021 18:36:19
interval config: 30,60,2,2,50,4
verbose config: 0,0,0,0,0
EEPROM Config: 30,60,2,2,50,4i0,0,0,0,0v
Next report in 13055 milliseconds


die gesetzten Attribute sind:
attr ArducounterMapleCUN2 board NANO
attr ArducounterMapleCUN2 disable 0
attr ArducounterMapleCUN2 enableHistory 1
attr ArducounterMapleCUN2 group Arducounter
attr ArducounterMapleCUN2 pinD4 falling pullup min 25
attr ArducounterMapleCUN2 pinD5 falling pullup min 25
attr ArducounterMapleCUN2 readingPulsesPerUnitD4 1


Hast Du da eine Idee was hier falsch läuft?

VG Uwe

Edit1: die platformio.ini habe ich so umgebaut...

Edit2:  wenn ich den Monitor in PlatformIO öffne, erscheint dort:
> Executing task: C:\Users\User\.platformio\penv\Scripts\platformio.exe device monitor --environment promini_3.3V_8MHz <

--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at http://bit.ly/pio-monitor-filters
--- Miniterm on COM6  115200,8,N,1 ---
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---

M no config in EEPROM

ArduCounter V4.26 on UNO compiled Sep 25 2021 10:04:54 Hello
N499,0B499,0
C2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21       
I30,60,2,2,50,4
V0,0,0,0,0

ist dort das " C, I, V " richtig?

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 25 September 2021, 13:56:53
Hallo Uwe,

probier doch zur Sicherheit mal meine aktuelle Modul-Version und stell verbose für das Gerät auf 5.
Dann sollte das Log etwas deutlicher zeigen, woran es hängt.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 25 September 2021, 15:37:36
Ergänzung: der code auf Github war evt. nicht ganz aktuell.
Ich habe jetzt den Pro mini in der platformio.ini ergänzt und nochmal gepusht.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: my-engel am 25 September 2021, 19:35:36
Hallo Stefan,

Danke für deine Mühe. Habe die Sourcen neu heruntergeladen und mit PlatformIO neu geflasht.
Auch die neu Modul-Version ist eingespielt aber es hat sich nichts geändert.
FHEM Start und anschließend Verbose 5
FHEM Start:

2021.09.25 18:36:04.172 3: ArducounterMapleCUN2: Notify called with events: MODIFIED ArducounterMapleCUN2, open device and set timer to send hello to device
2021.09.25 18:36:04.172 3: Opening ArducounterMapleCUN2 device 192.168.88.112:2325
2021.09.25 18:36:04.235 3: ArducounterMapleCUN2 device opened
2021.09.25 18:36:08.243 3: ArducounterMapleCUN2: sending h(ello) to device to ask for version
2021.09.25 18:36:08.274 3: attribute board is set to NANO and is overwriting board PRO reported by device
2021.09.25 18:36:08.274 3: ArducounterMapleCUN2: device sent hello: ArduCounter V4.26 on PRO compiled Sep 25 2021 18:29:38 Hello
2021.09.25 18:36:09.278 3: ArducounterMapleCUN2: ConfigureDevice: send config
2021.09.25 18:36:09.279 3: ArducounterMapleCUN2: ConfigurePin creates command 5,2,1,25a
2021.09.25 18:36:09.281 3: ArducounterMapleCUN2: ConfigurePin creates command 4,2,1,25a
2021.09.25 18:36:09.283 3: ArducounterMapleCUN2: Invalid interval specification
2021.09.25 18:36:09.284 3: ArducounterMapleCUN2: ConfigureVerboseLevels creates command 1,0,0,0,0v
2021.09.25 18:36:09.308 3: ArducounterMapleCUN2: device: Error: command a Illegal pin specification 1
2021.09.25 18:36:09.309 3: ArducounterMapleCUN2: device: Error: command a Illegal pin specification 1
2021.09.25 18:36:11.579 3: ArducounterMapleCUN2: Sending info command to device
2021.09.25 18:36:35.901 3: ArducounterMapleCUN2: Timeout2 in ReadAnswer
2021.09.25 18:36:37.914 3: ArducounterMapleCUN2: device didn't reply to k(eeepAlive), count=1
2021.09.25 18:36:41.761 3: ArducounterMapleCUN2: Timeout2 in ReadAnswer
2021.09.25 18:36:47.914 3: ArducounterMapleCUN2: device didn't reply to k(eeepAlive), count=2
2021.09.25 18:36:52.830 3: ArducounterMapleCUN2: Sending info command to device
2021.09.25 18:37:49.008 3: ArducounterMapleCUN2: device didn't reply to k(eeepAlive), count=1
2021.09.25 18:39:44.967 3: ArducounterMapleCUN2: device didn't reply to k(eeepAlive), count=1
2021.09.25 18:40:55.822 3: ArducounterMapleCUN2: Sending info command to device

Verbose 5:

2021.09.25 18:46:33.450 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:46:33.456 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:46:43.457 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:46:43.458 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:46:43.464 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:46:54.141 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:46:54.142 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:46:54.179 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:47:04.145 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:47:04.146 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:47:04.153 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:47:16.654 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:47:16.655 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:47:16.817 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:47:26.656 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:47:26.656 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:47:26.661 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:47:36.662 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:47:36.663 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:47:36.669 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:47:46.666 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:47:46.667 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:47:46.673 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:47:56.668 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:47:56.668 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:47:56.673 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:48:06.673 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:48:06.679 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:48:06.686 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:48:19.783 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:48:19.784 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:48:19.822 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:48:29.789 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:48:29.790 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:48:29.796 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:48:39.790 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:48:39.791 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:48:40.020 5: ArducounterMapleCUN2: device sent alive response: A
2021.09.25 18:48:49.794 5: ArducounterMapleCUN2: sending k(eepAlive) to device
2021.09.25 18:48:49.794 5: DevIo_SimpleWrite ArducounterMapleCUN2: 1,10k.
2021.09.25 18:48:49.800 5: ArducounterMapleCUN2: device sent alive response: A


wenn ich die nano.hex aufspiele dann funktioniert es, aber die Aktualisierung ist dann 2 Minuten...

VG
Uwe

Edit1:
habe jetzt zum Test den ProMini mit einem FTDI an ein Test-FHEM per USB angeschlossen
mit aktualisiertem Modul usw. Es verhält sich ähnlich...
FHEM Start mit Verbose 5:

2021.09.25 19:41:27 3: ArducounterMapleCUN2: disable attribute cleared
2021.09.25 19:41:38 3: ArducounterMapleCUN2: Notify called with events: INITIALIZED, open device and set timer to send hello to device
2021.09.25 19:41:38 4: ArducounterMapleCUN2: trying to open connection to /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@115200
2021.09.25 19:41:38 3: Opening ArducounterMapleCUN2 device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0
2021.09.25 19:41:38 3: Setting ArducounterMapleCUN2 serial parameters to 115200,8,N,1
2021.09.25 19:41:38 3: ArducounterMapleCUN2 device opened
2021.09.25 19:41:38 5: ArducounterMapleCUN2: ArduCounter_Open succeeded in callback
2021.09.25 19:41:38 5: ArducounterMapleCUN2: ArduCounter_Open succeeded immediately
2021.09.25 19:42:40 5: ArducounterMapleCUN2: sending h(ello) to device to ask for version
2021.09.25 19:42:40 5: SW: h.
2021.09.25 19:42:44 5: ArducounterMapleCUN2: HelloTimeout: DeviceName in hash is /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@115200
2021.09.25 19:42:44 3: ArducounterMapleCUN2: device didn't reply to h(ello). Is the right sketch flashed? Serial speed was 115200. Trying again with @38400
2021.09.25 19:42:44 5: ArducounterMapleCUN2: HelloTimeout: DeviceName in hash is set to /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@38400
2021.09.25 19:42:44 4: ArducounterMapleCUN2: trying to open connection to /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@38400
2021.09.25 19:42:44 3: Opening ArducounterMapleCUN2 device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0
2021.09.25 19:42:44 3: Setting ArducounterMapleCUN2 serial parameters to 38400,8,N,1
2021.09.25 19:42:44 3: ArducounterMapleCUN2 device opened
2021.09.25 19:42:44 5: ArducounterMapleCUN2: ArduCounter_Open succeeded in callback
2021.09.25 19:42:44 5: ArducounterMapleCUN2: ArduCounter_Open succeeded immediately
2021.09.25 19:42:49 5: ArducounterMapleCUN2: sending h(ello) to device to ask for version
2021.09.25 19:42:49 5: SW: h.
2021.09.25 19:42:51 5: ArducounterMapleCUN2: HelloTimeout: DeviceName in hash is /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@38400
2021.09.25 19:42:51 3: ArducounterMapleCUN2: device didn't reply to h(ello). Is the right sketch flashed? Serial speed was 38400. Trying again with @115200
2021.09.25 19:42:51 5: ArducounterMapleCUN2: HelloTimeout: DeviceName in hash is set to /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@115200
2021.09.25 19:42:51 4: ArducounterMapleCUN2: trying to open connection to /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@115200
2021.09.25 19:42:51 3: Opening ArducounterMapleCUN2 device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0
2021.09.25 19:42:51 3: Setting ArducounterMapleCUN2 serial parameters to 115200,8,N,1
2021.09.25 19:42:51 3: ArducounterMapleCUN2 device opened
2021.09.25 19:42:51 5: ArducounterMapleCUN2: ArduCounter_Open succeeded in callback
2021.09.25 19:42:52 5: ArducounterMapleCUN2: ArduCounter_Open succeeded immediately
2021.09.25 19:42:53 3: ArducounterMapleCUN2: device: no config in EEPROM
2021.09.25 19:42:53 5: attribute board is set to NANO and is overwriting board PRO reported by device
2021.09.25 19:42:53 5: ArducounterMapleCUN2: device sent hello: ArduCounter V4.26 on PRO compiled Sep 25 2021 18:29:38 Hello
2021.09.25 19:42:53 5: ArducounterMapleCUN2: Initialize device clock offset to 1632591773.48662
2021.09.25 19:42:53 5: ArducounterMapleCUN2: Device Time 0.499, Offset 1632591.773, Drift 0.000s in 0.000s
2021.09.25 19:42:53 4: ArducounterMapleCUN2: device sent time info: N499,0B499,0
2021.09.25 19:42:53 4: ArducounterMapleCUN2: device sent interval config 30,60,2,2,50,4
2021.09.25 19:42:53 4: ArducounterMapleCUN2: device sent devVerbose 0,0,0,0,0
2021.09.25 19:42:55 5: ArducounterMapleCUN2: ConfigureDevice: send config
2021.09.25 19:42:55 5: ArducounterMapleCUN2: ConfigurePin creates command 4,2,1,25a
2021.09.25 19:42:55 5: SW: 4,2,1,25a.
2021.09.25 19:42:55 5: ArducounterMapleCUN2: ConfigurePin creates command 5,2,1,25a
2021.09.25 19:42:55 5: SW: 5,2,1,25a.
2021.09.25 19:42:55 5: ArducounterMapleCUN2: ConfigureDevice: no pins in running config without attribute in Fhem
2021.09.25 19:42:55 3: ArducounterMapleCUN2: Invalid interval specification
2021.09.25 19:42:55 5: ArducounterMapleCUN2: ConfigureVerboseLevels creates command 1,0,0,0,0v
2021.09.25 19:42:55 5: SW: 1,0,0,0,0v.
2021.09.25 19:42:55 5: SW: s.

get ArducounterMapleCUN2 info:

2021.09.25 19:47:25 5: ArducounterMapleCUN2: Sending info command to device
2021.09.25 19:47:25 5: SW: s.
2021.09.25 19:47:25 5: ArducounterMapleCUN2: ReadAnswer called
2021.09.25 19:47:25 4: ArducounterMapleCUN2: device: Status: ArduCounter V4.26 on PRO compiled Sep 25 2021 18:29:38
2021.09.25 19:47:25 4: ArducounterMapleCUN2: device sent interval config 30,60,2,2,50,4
2021.09.25 19:47:25 4: ArducounterMapleCUN2: device sent devVerbose 0,0,0,0,0
2021.09.25 19:47:25 4: ArducounterMapleCUN2: device: no config in EEPROM
2021.09.25 19:47:25 4: ArducounterMapleCUN2: device: Next report in 28077 milliseconds
2021.09.25 19:47:25 5: ArducounterMapleCUN2: ReadAnswer matched Next report in.*seconds

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 26 September 2021, 14:09:03
Hallo Uwe,

sehe ich das richtig, dass Dein Board einen Atmega 168 statt einem 328p hat?
Dann muss ich die erlaubten Pins noch im Sketch definieren ...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: my-engel am 26 September 2021, 14:54:31
Hallo Stefan,

habe auf 2 verschiedenen Board´s getestet und beide haben einen 328P.

VG Uwe
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 26 September 2021, 15:55:11
Hallo Uwe,

ich kann es leider bei mir nicht testen. Wenn ich die Firmware für einen Pro übersetze, läuft die auf einem Nano nicht. Zumindest kann ich über die Konsole nicht mit ihm reden.
Könntest Du bei Dir mal das fehlende interval-Attribut ergänzen und dann mit set "raw" den Befehl h an den Arduino schicken?
(oder über das Terminal in VSCode/PlatformIO - einfach ein h eintippen)
Da sollte der Arduino unter anderem sagen, welche Eingänge er erlaubt.
Für mich sah es so aus, als ob die a-Befehle zum Definieren eines Eingangs von der Firmware zurückgewiesen wurden.
Du könntest auch versuchen zum Testen auch die Eingänge über ein Terminal zusetzen:
Die Kommandos, die Du im Log siehst, z.B.
5,2,1,25a
definieren die Eingänge...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 26 September 2021, 16:08:49
Ergänzung:
es würde auch noch helfen, das serielle Echo auf den Wert 2 anzuschalten. Entweder direkt über das Terminal mit dem v-Befehl (zweiter Parameter, also z.B 0,2,0,0,0v) oder von Fhem aus über das Attribut enableSerialEcho (auf 2)


Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: my-engel am 28 September 2021, 17:41:34
Hallo Stefan,

ging leider nicht eher...,
habe das "interval 60 300" gesetzt und set "raw" h:

2021.09.28 17:23:17 4: ArducounterMapleCUN2: set raw h called
2021.09.28 17:23:17 5: SW: h.
2021.09.28 17:23:17 5: attribute board is set to NANO and is overwriting board PRO reported by device
2021.09.28 17:23:17 5: ArducounterMapleCUN2: device sent hello: ArduCounter V4.26 on PRO compiled Sep 25 2021 18:29:38 Hello
2021.09.28 17:23:17 5: ArducounterMapleCUN2: Device Time 822.79, Offset 1632841.775, Drift 0.025s in 822.316s, 0.00%
2021.09.28 17:23:17 4: ArducounterMapleCUN2: device sent time info: N822790,0B499,0
2021.09.28 17:23:17 4: ArducounterMapleCUN2: device sent interval config 30,60,2,2,50,4
2021.09.28 17:23:17 4: ArducounterMapleCUN2: device sent devVerbose 0,0,0,0,0
2021.09.28 17:23:18 5: ArducounterMapleCUN2: ConfigureDevice: send config
2021.09.28 17:23:18 5: ArducounterMapleCUN2: ConfigurePin creates command 4,2,1,25a
2021.09.28 17:23:18 5: SW: 4,2,1,25a.
2021.09.28 17:23:18 5: ArducounterMapleCUN2: ConfigurePin creates command 5,2,1,25a
2021.09.28 17:23:18 5: SW: 5,2,1,25a.
2021.09.28 17:23:18 5: ArducounterMapleCUN2: PinNumber called from ConfigureDevice returns 17 for A3
2021.09.28 17:23:18 5: ArducounterMapleCUN2: PinNumber called from ParsePin returns 17 for A3
2021.09.28 17:23:18 5: ArducounterMapleCUN2: ConfigurePin creates command 17,3,1,4,27,120,220a
2021.09.28 17:23:18 5: SW: 17,3,1,4,27,120,220a.
2021.09.28 17:23:18 5: ArducounterMapleCUN2: ConfigurePin creates command 6,3,0,2a
2021.09.28 17:23:18 5: SW: 6,3,0,2a.
2021.09.28 17:23:18 5: ArducounterMapleCUN2: ConfigureDevice: no pins in running config without attribute in Fhem
2021.09.28 17:23:18 5: ArducounterMapleCUN2: ConfigureIntervals creates command 60,300,0,0,50,4i
2021.09.28 17:23:18 5: SW: 60,300,0,0,50,4i.
2021.09.28 17:23:18 5: ArducounterMapleCUN2: ConfigureVerboseLevels creates command 1,0,0,0,0v
2021.09.28 17:23:18 5: SW: 1,0,0,0,0v.
2021.09.28 17:23:18 5: SW: s.
2021.09.28 17:23:18 3: ArducounterMapleCUN2: device: Error: command a Illegal pin specification 1
2021.09.28 17:23:18 3: ArducounterMapleCUN2: device: Error: command a Illegal pin specification 1
2021.09.28 17:23:18 3: ArducounterMapleCUN2: device: Error: command i missing parameter number 2
2021.09.28 17:23:18 3: ArducounterMapleCUN2: device: Error: command i missing parameter number 2
2021.09.28 17:23:18 4: ArducounterMapleCUN2: device: Status: ArduCounter V4.26 on PRO compiled Sep 25 2021 18:29:38
2021.09.28 17:23:18 4: ArducounterMapleCUN2: device sent interval config 30,60,2,2,50,4
2021.09.28 17:23:18 4: ArducounterMapleCUN2: device sent devVerbose 0,0,0,0,0
2021.09.28 17:23:18 4: ArducounterMapleCUN2: device: no config in EEPROM
2021.09.28 17:23:18 4: ArducounterMapleCUN2: device: Next report in 16673 milliseconds


dann das Attribut enableSerialEcho (auf 2) und wieder set "raw" h:

2021.09.28 17:25:46 5: ArducounterMapleCUN2: Attr called with set ArducounterMapleCUN2 room Kontrollraum
2021.09.28 17:26:14 5: ArducounterMapleCUN2: Attr called with set ArducounterMapleCUN2 enableSerialEcho 2
2021.09.28 17:26:14 5: ArducounterMapleCUN2: ConfigureVerboseLevels creates command 1,2,0,0,0v
2021.09.28 17:26:14 5: SW: 1,2,0,0,0v.
2021.09.28 17:26:58 4: ArducounterMapleCUN2: set raw h called
2021.09.28 17:26:59 5: SW: h.
2021.09.28 17:26:59 5: attribute board is set to NANO and is overwriting board PRO reported by device
2021.09.28 17:26:59 5: ArducounterMapleCUN2: device sent hello: ArduCounter V4.26 on PRO compiled Sep 25 2021 18:29:38 Hello
2021.09.28 17:26:59 5: ArducounterMapleCUN2: Device Time 1044.389, Offset 1632841.775, Drift 0.104s in 1043.994s, 0.01%
2021.09.28 17:26:59 4: ArducounterMapleCUN2: device sent time info: N1044389,0B499,0
2021.09.28 17:26:59 4: ArducounterMapleCUN2: device sent interval config 30,60,2,2,50,4
2021.09.28 17:26:59 4: ArducounterMapleCUN2: device sent devVerbose 0,0,0,0,0
2021.09.28 17:27:00 5: ArducounterMapleCUN2: ConfigureDevice: send config
2021.09.28 17:27:00 5: ArducounterMapleCUN2: ConfigurePin creates command 5,2,1,25a
2021.09.28 17:27:00 5: SW: 5,2,1,25a.
2021.09.28 17:27:00 5: ArducounterMapleCUN2: ConfigurePin creates command 4,2,1,25a
2021.09.28 17:27:00 5: SW: 4,2,1,25a.
2021.09.28 17:27:00 5: ArducounterMapleCUN2: ConfigurePin creates command 6,3,0,2a
2021.09.28 17:27:00 5: SW: 6,3,0,2a.
2021.09.28 17:27:00 5: ArducounterMapleCUN2: PinNumber called from ConfigureDevice returns 17 for A3
2021.09.28 17:27:00 5: ArducounterMapleCUN2: PinNumber called from ParsePin returns 17 for A3
2021.09.28 17:27:00 5: ArducounterMapleCUN2: ConfigurePin creates command 17,3,1,4,27,120,220a
2021.09.28 17:27:00 5: SW: 17,3,1,4,27,120,220a.
2021.09.28 17:27:00 5: ArducounterMapleCUN2: ConfigureDevice: no pins in running config without attribute in Fhem
2021.09.28 17:27:00 5: ArducounterMapleCUN2: ConfigureIntervals creates command 60,300,0,0,50,4i
2021.09.28 17:27:00 5: SW: 60,300,0,0,50,4i.
2021.09.28 17:27:00 5: ArducounterMapleCUN2: ConfigureVerboseLevels creates command 1,2,0,0,0v
2021.09.28 17:27:00 5: SW: 1,2,0,0,0v.
2021.09.28 17:27:00 5: SW: s.
2021.09.28 17:27:00 3: ArducounterMapleCUN2: device: Error: command a Illegal pin specification 1
2021.09.28 17:27:00 3: ArducounterMapleCUN2: device: Error: command a Illegal pin specification 1
2021.09.28 17:27:00 3: ArducounterMapleCUN2: device: Error: command i missing parameter number 2
2021.09.28 17:27:00 3: ArducounterMapleCUN2: device: Error: command i missing parameter number 2
2021.09.28 17:27:00 4: ArducounterMapleCUN2: device: Status: ArduCounter V4.26 on PRO compiled Sep 25 2021 18:29:38
2021.09.28 17:27:00 4: ArducounterMapleCUN2: device sent interval config 30,60,2,2,50,4
2021.09.28 17:27:00 4: ArducounterMapleCUN2: device sent devVerbose 0,0,0,0,0
2021.09.28 17:27:00 4: ArducounterMapleCUN2: device: no config in EEPROM
2021.09.28 17:27:00 4: ArducounterMapleCUN2: device: Next report in 5006 milliseconds


habe den Pro Mini aktuell am USB des Test-FHEM.
hier noch das List:

Internals:
   Board      NANO
   BoardDet   
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@115200
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@115200
   FD         5
   FUUID      614ee781-f33f-0edb-ff98-c6a184a1fbb7235d
   FVERSION   98_ArduCounter.pm:0.142330/2017-05-09
   Initialized 1
   LASTOPEN   1632841773.1233
   NAME       ArducounterMapleCUN2
   NOTIFYDEV  global
   NR         703
   NTFY_ORDER 50-ArducounterMapleCUN2
   PARTIAL   
   STATE      opened
   SketchCompile Sep 25 2021 18:29:38
   TYPE       ArduCounter
   VersionFirmware 4.26
   VersionModule 7.31 - 11.6.2020
   allowedPins 2,3,4,5,6,7,8,9,10,11,12,13,14,A0,15,A1,16,A2,17,A3,18,A4,19,A5,20,A6,21,A7
   buffer     
   deviceBooted 1632841775.22219
   devioLoglevel 3
   nextOpenDelay 60
   READINGS:
     2021-09-28 17:09:33   state           opened
   runningCfg:
     I          30,60,2,2,50,4
     V          0,0,0,0,0
Attributes:
   board      NANO
   disable    0
   enableHistory 1
   enableSerialEcho 2
   group      Arducounter
   interval   60 300
   pinA3      rising pullup min 4 analog out 27 threshold 120,220
   pinD4      falling pullup min 25
   pinD5      falling pullup min 25
   pinD6      rising
   readingPulsesPerUnitD4 1
   room       Kontrollraum
   userReadings WMZ_2.OG {ReadingsVal("ArducounterMapleCUN2","calcCounterD4",0)/1 + ReadingsNum("WMZ_2.OG_Start","Startwert",0)}
   userattr   readingPulsesPerUnitD4
   verbose    5


ich hoffe das hilft.

VG Uwe
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 28 September 2021, 22:10:41
Hallo Uwe,

vielen Dank für Deine Hilfe beim Debuggen.
Eigentlich kann es keine große Sache sein, aber irgendwie versteht die Firmware auf dem Mini die Befehle vom Fhem-Modul falsch.
Leider sehe ich das auch bei verbose 5 im Log nur unvollständig.
Könntest Du die Befehle nochmal im Terminal absetzen, damit ich die tatsächliche Antwort von der Firmware zum jeweiligen Befehl sehe?

Das ganze sollte dann eigentlich so aussehen:

--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at http://bit.ly/pio-monitor-filters
--- Miniterm on COM8  115200,8,N,1 ---
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---

M no config in EEPROM

ArduCounter V4.26 on NANO compiled Sep 26 2021 15:48:52 Hello
N499,0B499,0
C2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
I30,60,2,2,50,4
V0,0,0,0,0

Die Zeile mit C2,3,... zeigt der verfügbaren Pins an.

Eingabe: 0,2,0,0,0v

V0,2,0,0,0

danach werden die Eingaben mit D got ... bestätigt.

Eingabe: 4,2,1,25a

D got 4,2,1,25a size 4
D defined P4fp m25   

bedeutet dass pin 4 als falling mit pullup und min 25 definiert wurde.

Eingabe: 5,2,1,25a

D got 5,2,1,25a size 4
D defined P5fp m25

Eingabe: 60,300,0,0,50,4i

D got 60,300,0,0,50,4i size 6
I60,300,0,0,50,4

Eingabe: s

D got 0s size 0

D Status: ArduCounter V4.26 on NANO compiled Sep 26 2021 15:48:52
I60,300,0,0,50,4
V0,2,0,0,0
P4fp m25, DR4C0D0/0T0X0
P5fp m25, DR5C0D0/0T0X0
D no config in EEPROM
D Next report in 50083 milliseconds


da sieht man nochmal die definierten Pins.

Problematisch wird Deine Definition von Pin A3 mit der LED an Pin 27 sein. Ich vermute dass es keinen GPIO Pin 27 gibt. Das erklärt aber noch nicht warum der Rest nicht geht.

Gruss
   Stefan


Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: my-engel am 02 Oktober 2021, 10:43:03
Hallo Stefan,

Danke für die Antwort, konnte leider jetzt erst...
hier jetzt die Ausgabe im Terminal nach 3x Eingabe von h
der N-Wert ändert sich:
M no config in EEPROM

ArduCounter V4.26 on PRO compiled Sep 25 2021 18:29:38 Hello
N499,0B499,0
C2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
I30,60,2,2,50,4
V0,0,0,0,0

ArduCounter V4.26 on PRO compiled Sep 25 2021 18:29:38 Hello
N107999,0B499,0
C2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
I30,60,2,2,50,4
V0,0,0,0,0

ArduCounter V4.26 on PRO compiled Sep 25 2021 18:29:38 Hello
N120879,0B499,0
C2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
I30,60,2,2,50,4
V0,0,0,0,0


Eingabe von: 0,2,0,0,0v
keine Reaktion bzw. keine Ausgabe

Eingabe von: 4,2,1,25a
Error: command a Illegal pin specification 1

Eingabe von: 5,2,1,25a
Error: command a Illegal pin specification 1

Eingabe von: 60,300,0,0,50,4i
keine Reaktion bzw. keine Ausgabe

Eingabe von: s
D Status: ArduCounter V4.26 on PRO compiled Sep 25 2021 18:29:38
I30,60,2,2,50,4
V0,0,0,0,0
D no config in EEPROM
D Next report in 24769 milliseconds


Mit dem Pin 27 verstehe ich so, dass dieses der PC4/SDA/PCINT12 im inneren der Platine ist
Der sollte doch eigentlich funktionieren?


VG
Uwe
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 02 Oktober 2021, 12:15:53
Hallo Uwe,

Pin A4 entspricht nach meinem Verständnis auf dem Uno und vermutlich auch dem Pro Mini dem digitalen Pin D18.
Das Hauptproblem scheint aber die serielle Eingabe zu sein. Aus irgend einem Grund kommen die Zahlen nicht an, wenn Du den Code für den Pro Mini compilierst.
Sowohl das Setzen des serial echo mit dem v-Befehl als auch der a-Befehl sehen die übergebenen Zahlen nicht.
Ich werde mir wohl doch einen Pro Mini bestellen um der Sache auf den Grund zu gehen. Es kann eigentlich nur eine Kleinigkeit sein, aber ohne es selbst testen zu können ist das sehr mühsam.

Klappt es bei Dir denn wenn Du den Code selbst für einen Nano übersetzt? (mal abgesehen von dem falschen millis-Timer)

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: my-engel am 02 Oktober 2021, 14:22:02
Hallo Stefan,

war jetzt etwas tricky, da PlatformIO das Board zum flashen prüft und
man so nicht die Firmware von anderen Boards (Nano) direkt flashen kann.
Habe es aber hinbekommen und den Code für den Nano selbst kompiliert...
es funktioniert.

den ProMini mit NANO geflasht:
M no config in EEPROM

ArduCounter V4.26 on NANO compiled Oct  2 2021 13:44:56 Hello
N499,0B499,0
C2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
I30,60,2,2,50,4
V0,0,0,0,0
V0,2,0,0,0
D got 4,2,1,25a size 4
D defined P4fp m25
D got 5,2,1,25a size 4
D defined P5fp m25
D got 60,300,0,0,50,4i size 6
I60,300,0,0,50,4
D got 0s size 0

D Status: ArduCounter V4.26 on NANO compiled Oct  2 2021 13:44:56
I60,300,0,0,50,4
V0,2,0,0,0
P4fp m25, DR4C0D0/0T0X0
P5fp m25, DR5C0D0/0T0X0
D no config in EEPROM
D Next report in 27453 milliseconds


den ProMini mit nanoatmega328new geflasht:
M no config in EEPROM

ArduCounter V4.26 on NANO compiled Oct  2 2021 13:44:35 Hello
N499,0B499,0
C2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
I30,60,2,2,50,4
V0,0,0,0,0
V0,2,0,0,0
D got 4,2,1,25a size 4
D defined P4fp m25
D got 5,2,1,25a size 4
D defined P5fp m25
D got 60,300,0,0,50,4i size 6
I60,300,0,0,50,4
D got 0s size 0

D Status: ArduCounter V4.26 on NANO compiled Oct  2 2021 13:44:35
I60,300,0,0,50,4
V0,2,0,0,0
P4fp m25, DR4C0D0/0T0X0
P5fp m25, DR5C0D0/0T0X0
D no config in EEPROM
D Next report in 57030 milliseconds


was wäre denn der Richtige, Nano oder nanoatmega328new?

VG
Uwe
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 02 Oktober 2021, 17:10:17
soweit ich mich erinnere, ist der Unterschied nur beim Flashen relevant, aber das machst Du ja sowieso anders.
Interessant ist aber dass die Fehler jetzt nicht auftreten.
Irgendwo läuft also etwas schief wenn man für den Pro Mini compiliert.
Ich hab mit einen bestellt. Sollte am Dienstag da sein und dann werde ich den Unterschied schon finden.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: my-engel am 02 Oktober 2021, 18:53:25
Das ist prima, habe noch etwas getestet...

habe ihn jetzt soweit, dass im Terminal von PlatformIO eine Antwort kommt, warum auch immer.
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at http://bit.ly/pio-monitor-filters
--- Miniterm on COM6  115200,8,N,1 ---
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---

M no config in EEPROM

ArduCounter V4.26 on PRO compiled Oct  2 2021 18:22:19 Hello
N499,0B499,0
C2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
I30,60,2,2,50,4
V0,0,0,0,0
V0,2,0,0,0
D got 4,2,1,25a size 4
D defined P4fp m25
D got 5,2,1,25a size 4
D defined P5fp m25
D got 60,300,0,0,50,4i size 6
I60,300,0,0,50,4


das selbe Spiel habe ich mit Putty probiert, da kommen die Antworten auch, allerdings muss ich die Befehle von Hand schreiben.
Putty verhält sich seltsam, man schreibt per Tastatur 0,2,0,0,0v und ohne Eingabe von Enter kommt die Quittung.
Rechte Maustaste einfügen funktioniert nicht. Auch erhalte ich beim Schreiben keine Ausgabe im Terminal.
Aber die Quittungen kommen
M no config in EEPROM

ArduCounter V4.26 on PRO compiled Oct  2 2021 18:22:19 Hello
N499,0B499,0
C2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
I30,60,2,2,50,4
V0,0,0,0,0

ArduCounter V4.26 on PRO compiled Oct  2 2021 18:22:19 Hello
N4608,0B499,0
C2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
I30,60,2,2,50,4
V0,0,0,0,0
V0,2,0,0,0
D got 4,2,1,25a size 4
D defined P4fp m25
D got 5,2,1,25a size 4
D defined P5fp m25
D got 0r size 0


In FHEM mit set RAW funktioniert es aber nicht, senden von 0,2,0,0,0v
Ausgabe im LOG:
2021.10.02 18:29:09 4: ArducounterMapleCUN2: set raw 0,2,0,0,0v called
2021.10.02 18:29:09 5: SW: 0,2,0,0,0v.

sonst nichts...

mit set RAW und 4,2,1,25a gibt es aber wieder Fehler
Ausgabe im LOG:
2021.10.02 18:30:11 5: SW: 4,2,1,25a.
2021.10.02 18:30:11 3: ArducounterMapleCUN2: device: Error: command a Illegal pin specification 1


VG
Uwe
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 05 Oktober 2021, 20:23:23
Hallo Uwe,

ich habe heute einen Pro Mini mit 328p und 3,3v bekommen, geflasht und konnte das Problem identifizieren.
Die 8MHz-Variante kommt mit den seriellen 115200 nicht klar und verliert dadurch bei der Kommunikation immer wieder was.
Die Lösung ist eine Reduktion auf z.B. 38400. Ich hab das in der platformio.ini entsprechend für den pro mini hinterlegt und zu Github gepusht.
Auf der Fhem-Seite sollte dann auch beim Define ein @38400 angehängt werden, z.B. /dev/ttyUSB0@38400

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: my-engel am 07 Oktober 2021, 07:35:50
Hallo Stefan,

es funktioniert jetzt soweit...
Danke für deine Mühe

VG
Uwe
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: der-Lolo am 24 Januar 2022, 10:17:00
Hallo Stefan - Community,
ist es möglich einen Digitalen Stromzähler mithilfe eines Arduinos und der hier https://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-pi-ausgang (https://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-pi-ausgang) beschriebenen Hardware zu betreiben?
Falls nicht - was wäre aktuell die günstigste Lösung einen digitalen Stromzähler von ISKRA via IR auszulesen?
Danke,
der-lolo
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 24 Januar 2022, 17:51:02
Hallo,

ich mach das mit dem fertigen Lesekopf von Weidmann Elektronik. Kostet zwar 45€, aber ich war in diesem Fall zu faul es selbst zu basteln.
Der hängt dann direkt per USB an meinem Pi und wird mit dem OBIS-Modul verarbeitet.
ArduCounter hilft da nichts, da über den Lesekopf ein serielles Protokoll mit allen Details geliefert wird.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: SamNitro am 30 März 2022, 18:09:56
Hey ist es eigentlich möglich das Modul von dir mit der Tasmota Firmware zu benutzen? Da gibt es die Möglichkeit einen Counter einzustellen, aber leider weiß ich nicht wie ich das in FHEM verarbeitet bekomme.

EDIT: Als MQTT Device habe ich in FHEM angelegt.

LG Patrick
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 30 März 2022, 18:58:24
Hallo Patrick,

Zitat von: SamNitro am 30 März 2022, 18:09:56
Hey ist es eigentlich möglich das Modul von dir mit der Tasmota Firmware zu benutzen? Da gibt es die Möglichkeit einen Counter einzustellen, aber leider weiß ich nicht wie ich das in FHEM verarbeitet bekomme.
EDIT: Als MQTT Device habe ich in FHEM angelegt.
ich denke das ist nichts für Arducounter aber ich kann Dir mit einer Beispielkonfiguration für den Tasmota Counter dienen:
defmod MQTT2_DVES_D8B7E5 MQTT2_DEVICE DVES_D8B7E5
attr MQTT2_DVES_D8B7E5 IODev mqtt2c
attr MQTT2_DVES_D8B7E5 alias Zaehler
attr MQTT2_DVES_D8B7E5 comment Zählerkonstante 75 Impulse pro kWh, 1kWh = 3600000 Ws, 1 Zählerrunde sind 48000 Ws
attr MQTT2_DVES_D8B7E5 event-on-change-reading .*
attr MQTT2_DVES_D8B7E5 icon measure_power_meter
attr MQTT2_DVES_D8B7E5 jsonMap Info1_FallbackTopic:FallbackTopic Info1_GroupTopic:GroupTopic Info1_Module:Module Info1_Version:Version Info2_Hostname:Hostname Info2_IPAddress:IPAddress Info2_WebServerMode:WebServerMode Info3_RestartReason:RestartReason
attr MQTT2_DVES_D8B7E5 oldreadings COUNTER.*
attr MQTT2_DVES_D8B7E5 readingList DVES_D8B7E5:tele/tasmota/LWT:.* LWT\
DVES_D8B7E5:cmnd/tasmota/POWER:.* POWER\
DVES_D8B7E5:tele/tasmota/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }\
DVES_D8B7E5:tele/tasmota/STATE:.* { json2nameValue($EVENT) }\
DVES_D8B7E5:tele/tasmota/SENSOR:.* { json2nameValue($EVENT) }\
DVES_D8B7E5:stat/tasmota/RESULT:.* { json2nameValue($EVENT) }\
DVES_D8B7E5:tasmota/discovery/5CCF7FD8B7E5/config:.* { json2nameValue($EVENT) }\
DVES_D8B7E5:tasmota/discovery/5CCF7FD8B7E5/sensors:.* { json2nameValue($EVENT) }
attr MQTT2_DVES_D8B7E5 room MQTT2_DEVICE
attr MQTT2_DVES_D8B7E5 stateFormat ZaehlerStand
attr MQTT2_DVES_D8B7E5 userReadings Leistung:COUNTER_C2.* {sprintf("%.2f",48000/ReadingsVal($name,'COUNTER_C2',''))},\
Zaehler:COUNTER_C1.* monotonic {ReadingsVal($name,'COUNTER_C1','')/75},\
ZaehlerStand:Zaehler.* {sprintf "%.2f",ReadingsVal($name,'Zaehler','')}

Ich habe in Tasmota 2 Counter definiert, einer zählt die Impulse der andere misst die Pulslänge. Damit habe ich den kWh "Zähler" und die momentane Leistung.

Gruß Otto
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 30 März 2022, 20:44:28
Nein, der Kern von ArduCounter ist die eigene Firmware, die einiges mehr macht als nur zu zählen.
Mit Tasmota ist das Modul daher nicht kompatibel.

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: SamNitro am 31 März 2022, 04:18:13
Hey, danke euch beiden. Nach kurzem testen bin ich der Meinung das der Arducounter etwas genauer ist.

Kann es aber auch sein der wenn der Arducounter nicht erreichbar ist, der mir FHEM blockiert?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 31 März 2022, 13:45:22
Eigentlich sollte er nicht blockieren.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: SamNitro am 31 März 2022, 15:02:26
Okay evtl hatte ich dann woanders den Wurm drin. Im log war leider nur das vermehrt:


2022.03.31 13:08:25 3: AC: device didn't reply to k(eeepAlive), count=1
2022.03.31 13:08:33 3: 10.1.1.44:80 disconnected, waiting to reappear (AC)
2022.03.31 13:08:33 3: 10.1.1.44:80 reappeared (AC)
2022.03.31 13:08:33 3: AC: device sent hello: ArduCounter V4.26 on ESP8266 PLATFORMIO_D1_MINI_PRO compiled Jun  6 2020 12:40:42 with core version 2_7_1 Hello
2022.03.31 13:08:34 3: AC: ConfigureDevice: send config
2022.03.31 13:08:34 3: AC: ConfigurePin creates command 2,2,1,30a
2022.03.31 13:08:34 3: AC: ConfigureIntervals creates command 30,600,2,2,50,4i
2022.03.31 13:08:34 3: AC: ConfigureVerboseLevels creates command 0,0,0,0,0v



Bin dann 1-2 Wochen zurück gegangen ( mache wöchentliche Backups ) danach lief mein FHEM wieder durch. Hatte zuvor Updates gemacht von FHEM und Debian.


EDIT: Heute mal FREEZEMON hinzugefügt, aber ,,nur" eine Meldung bekommen
1 - 2022-03-31: s:06:49:54 e:06:49:55 f:1.525 d:tmr-ArduCounter_KeepAlive(AC) tmr-MQTT2_SERVER_keepaliveChecker(m2s)

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 09 Juli 2022, 12:41:08
Hallo Zusammen
Bin quasi durch den ganzen Beitrag durch. Anfangs hatte Stefan *.ino Sketche für den Arduino dabei - nu liegt die Firware ja auch in FHEM. Bevor aber OTA geht muss erstmalig die FW-Datei geladen werden.
Für einen ESP8266 ist mir klar, dass die "ArduCounter-ESP8266.bin" zu verwenden ist.

Ich habe gerade nur noch einen ESP32 zum Testen und da ist mir nicht klar welche der 5 Datei(en) (Alle?) ich auf den ESP32 laden muss  ::)

Wer hat nen Tip zur Vorgehensweise?
Ich habe z.B. "ESP-Flasher-Windows-x64 (based on PyFlasher)" kann ich den nehmen?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 10 Juli 2022, 20:08:58
Beim nochmaligen Lesen hab ich dann den Hinweis von Juggernaut gesehen.
Beitrag #598 ff (https://forum.fhem.de/index.php/topic,19285.msg1079011.html#msg1079011 (https://forum.fhem.de/index.php/topic,19285.msg1079011.html#msg1079011))
Hätte man eigentlich auch selber drauf kommen können... naja Wald und Bäume...

Natürlich, warum nicht einen ESP (32 oder 8266) per serial Inferface / USB anschließen. Dann gehts zumindest schon mal los.
Mal sehen wie jetzt weiter geht. Es fehlt ja noch ein IR-Sensor / Lichtschranke für den Ferraris-Zähler


Edit 1.08.2022
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 06 September 2022, 22:37:46
Der analoge Counter für einen Ferraris Zähler funktioniert nur auf dem Arduino nano, nicht auf dem ESP8266. Ist das richtig? Kann der ESP32 das?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 07 September 2022, 10:38:00
Zitat von: thymjan am 06 September 2022, 22:37:46
Der analoger Counter für einen Ferraris Zähler funktioniert nur auf dem Arduino nano, nicht auf dem ESP8266. Ist das richtig? Kann der ESP32 das?

Nein, das geht auch mit dem 8266 und dem esp32.

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 07 September 2022, 10:45:07
Wie wäre dann der richtige Aufruf? Das Beispiel aus der Dokumentation für den ESP32 habe ich nicht zum Laufen gebracht. Welche Pins sind beim ESP8266 für die Infrarot LED geeignet, wie müssen diese bezeichnet werden (mit beginnendem D oder nur die Zahl)?
Ottos Methode mit Arduino Nano als Sensor und dann an den ESP8266 mit ArduCounter Sketch habe ich jetzt zum Laufen bekommen.
Könnte der ESP32 auch zwei Ferraris Zähler auslesen?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 09 September 2022, 20:16:32
Hallo,

theoretisch könnte ein ESP32 auch zwei Zähler abtasten. Zumindest habe ich das im Sketch mal vorgesehen. Testen konnte ich das aber nie.
Inzwischen habe ich auch keine Ferraris-Zähler mehr, aber ich verwende noch einen ESP32 mit Display um eine Wasseruhr abzutasten. Gleiches Prinzip.
Die Konfiguration sieht dazu so aus:


define ACESP ArduCounter 192.168.70.148:80
attr ACESP alias Wasserzähler
attr ACESP pin36 rising pullup min 4 analog out 27 threshold 120,220
attr ACESP interval 5,60,2,2,10,3
attr ACESP board T-Display
attr ACESP deviceDisplay 36,l,l/m
attr ACESP keepAliveDelay 300
attr ACESP readingFlowUnitTime36 60
attr ACESP readingPulsesPerUnit36 36.4
attr ACESP stateFormat {sprintf("%s l/min, %s", ReadingsVal($name,"power36",0), ReadingsVal($name,"runTime36",0))}


Das Modul bzw. der Sketch prüft selbst ob die Pins erlaubt sind. Ob dann ein D vor der Pin-Nummer steht oder nicht ist beim ESP32 egal.
Eine gute Quelle ist diese Seite:
https://randomnerdtutorials.com/esp32-pinout-reference-gpios/

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 25 September 2022, 17:32:53
Ich bin dabei mein ArduCounter von einen Nano auf ein ESP8266 zu verlegen, bekomme aber den Counter nicht zu laufen.
Ich verwende einen Wemos D1 Mini Pro.
Wo, an welchem Pin schliesse ich den Zahler am Wemos an, und wie muss ich den Pin definieren?
Der Anschluss D4 entspricht gem. Spec. dem GPIO 2.  Mir ist nicht klar ob ich nun die 2 oder die 4 definieren muss.

Die Verbindung zum ArduCounter scheint zu bestehen STATE = opened
Ein get info, hat aber immer ein ,,Timeout reading answer" zur Folge.

Internals:
   Board      ESP8266
   CFGFN     
   DEF        10.10.10.123:80
   DeviceName 10.10.10.123:80
   FD         99
   FUUID      63305992-f33f-f4b3-4c6c-e19eaf9dd1871c9e
   HistIdx    0
   KeepAliveRetries 1
   LASTOPEN   1664119344.74208
   NAME       AC
   NOTIFYDEV  global
   NR         51207
   NTFY_ORDER 50-AC
   PARTIAL   
   STATE      opened
   TCP        1
   TYPE       ArduCounter
   VersionModule 8.00 - 21.10.2021
   buffer     
   devioLoglevel 3
   eventCount 999
   nextOpenDelay 60
   History:
   OLDREADINGS:
   READINGS:
     2022-09-25 17:22:24   state           opened
   analogLevels:
Attributes:
   board      ESP8266
   interval   60 300
   pin2       falling pullup min 25
   pinD4      falling pullup min 25
   room       Test
   verbose    5


und

2022.09.25 17:23:08 3: 10.10.10.123:80 disconnected, waiting to reappear (AC)
2022.09.25 17:23:10 5: HttpUtils url=http://10.10.10.123:80/ NonBlocking via http
2022.09.25 17:23:10 4: IP: 10.10.10.123 -> 10.10.10.123
2022.09.25 17:23:10 3: 10.10.10.123:80 reappeared (AC)
2022.09.25 17:23:10 5: AC: DoOpen succeeded in callback
2022.09.25 17:23:10 5: AC: sending k(eepAlive) to device
2022.09.25 17:23:10 5: DevIo_SimpleWrite AC: 1,10k.
2022.09.25 17:23:12 3: AC: device didn't reply to k(eeepAlive), count=1
2022.09.25 17:23:14 5: AC: ArduCounter 8.00 - 21.10.2021 sending h(ello) to device to ask for firmware version
2022.09.25 17:23:14 5: DevIo_SimpleWrite AC: h.
2022.09.25 17:23:20 5: AC: sending k(eepAlive) to device
2022.09.25 17:23:20 5: DevIo_SimpleWrite AC: 1,10k.
2022.09.25 17:23:22 3: AC: device didn't reply to k(eeepAlive), count=2
2022.09.25 17:23:30 5: AC: sending k(eepAlive) to device
2022.09.25 17:23:30 5: DevIo_SimpleWrite AC: 1,10k.
2022.09.25 17:23:30 3: 10.10.10.123:80 disconnected, waiting to reappear (AC)
2022.09.25 17:23:30 5: HttpUtils url=http://10.10.10.123:80/ NonBlocking via http
2022.09.25 17:23:30 4: IP: 10.10.10.123 -> 10.10.10.123
2022.09.25 17:23:30 3: 10.10.10.123:80 reappeared (AC)
2022.09.25 17:23:30 5: AC: DoOpen succeeded in callback
2022.09.25 17:23:30 5: AC: sending k(eepAlive) to device
2022.09.25 17:23:30 5: DevIo_SimpleWrite AC: 1,10k.
2022.09.25 17:23:32 3: AC: device didn't reply to k(eeepAlive), no retries left, setting device to disconnected
2022.09.25 17:23:32 3: 10.10.10.123:80 disconnected, waiting to reappear (AC)
2022.09.25 17:23:39 5: HttpUtils url=http://10.10.10.123:80/ NonBlocking via http
2022.09.25 17:23:39 4: IP: 10.10.10.123 -> 10.10.10.123
2022.09.25 17:23:39 3: 10.10.10.123:80 reappeared (AC)
2022.09.25 17:23:39 5: AC: DoOpen succeeded in callback
2022.09.25 17:23:39 5: AC: sending k(eepAlive) to device
2022.09.25 17:23:39 5: DevIo_SimpleWrite AC: 1,10k.
2022.09.25 17:23:41 3: AC: device didn't reply to k(eeepAlive), count=1
2022.09.25 17:23:43 5: AC: ArduCounter 8.00 - 21.10.2021 sending h(ello) to device to ask for firmware version
2022.09.25 17:23:43 5: DevIo_SimpleWrite AC: h.
2022.09.25 17:23:49 5: AC: sending k(eepAlive) to device
2022.09.25 17:23:49 5: DevIo_SimpleWrite AC: 1,10k.
2022.09.25 17:23:51 3: AC: device didn't reply to k(eeepAlive), count=2
2022.09.25 17:23:54 3: 10.10.10.123:80 disconnected, waiting to reappear (AC)
2022.09.25 17:23:56 5: HttpUtils url=http://10.10.10.123:80/ NonBlocking via http
2022.09.25 17:23:56 4: IP: 10.10.10.123 -> 10.10.10.123



Wenn ich einen Blick in den Event Monitor werfe
2022-09-25 21:56:40 ArduCounter AC DISCONNECTED
2022-09-25 21:56:40 ArduCounter AC CONNECTED
2022-09-25 21:56:42 ArduCounter AC DISCONNECTED
2022-09-25 21:56:47 ArduCounter AC CONNECTED
2022-09-25 21:57:04 ArduCounter AC DISCONNECTED
2022-09-25 21:57:04 ArduCounter AC CONNECTED
2022-09-25 21:57:06 ArduCounter AC DISCONNECTED
2022-09-25 21:57:07 ArduCounter AC CONNECTED
2022-09-25 21:57:27 ArduCounter AC DISCONNECTED
2022-09-25 21:57:27 ArduCounter AC CONNECTED
2022-09-25 21:57:29 ArduCounter AC DISCONNECTED
2022-09-25 21:57:30 ArduCounter AC CONNECTED
2022-09-25 21:57:50 ArduCounter AC DISCONNECTED
2022-09-25 21:57:50 ArduCounter AC CONNECTED
2022-09-25 21:57:52 ArduCounter AC DISCONNECTED
2022-09-25 21:57:57 ArduCounter AC CONNECTED
2022-09-25 21:58:12 ArduCounter AC DISCONNECTED
2022-09-25 21:58:12 ArduCounter AC CONNECTED
2022-09-25 21:58:14 ArduCounter AC DISCONNECTED

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 26 September 2022, 19:20:54
Schau mal hier:
https://edistechlab.com/esp8266-pin-out/?v=3a52f3c22ed6 (https://edistechlab.com/esp8266-pin-out/?v=3a52f3c22ed6)
Nicht alle Pins sind ideal. GPIO2 (TXD1) darf beim Boot nicht auf GND gezogen werden.

Am Besten ist wohl D1/D2 (GPIO5/4).
Ich meine der ArduCounter verwendet den Namen des Pin und nicht die GPIO Nummer.

Gruß

Edit:
aus meiner Sicht kommt dein ESP nicht hoch (Connect, Disconnect). Passt ja auch zum Ergebnis des get info.
Klemm mal den Pin D4 ab (falls verbunden und low) und schau ob dann der ESP hochkommt und auf get info eine Antwort bringt.
(ich habe zur Problemvermeidung immer D1/D2 am ESP 8266 genutzt)
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 26 September 2022, 22:24:30
Der Wemos D1 Mini Pro liegt bei mir auf den Tisch, da hängt nicht daran, ausser der Stromversorgung. Wenn er gar nicht hoch käme würde ich vermuten, dass der Wifi Manger auch nicht erreichbar wäre. Aber gut möglich das der ArduCounter nicht hoch kommt.
Ich habe ein Erase Flash durchgeführt, noch nochmal ArduCounter geflashed. Wifi Manager konnte ich noch einrichten, seither habe ich eigentlich nur disconnected.
Etwas ist komisch. Der Router ist der Meinung es sei alles ok. Aber nach kurzer Zeit gehen gar kein Pings mehr durch.
Werde es dann wohl noch mit einer andren HW versuchen..

D3/D4 (GPIO0/2) sind bei mir auf 3.3V. Gem. meinen Verständnis, müsste ich die zum Schalten kurz auf GND ziehen?
D1/D2 (GPIO5/4) sind bei mir auf 0V. Gem. meinen Verständnis, müsste ich die zum Schalten kurz auf GND ziehen?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Otto123 am 26 September 2022, 22:36:19
ich habe mich immer an dem Bild orientiert: https://www.mikrocontroller-elektronik.de/wp-content/uploads/2017/02/ESP12E-Grundschaltung.png
Quelle https://www.mikrocontroller-elektronik.de/esp12e-tutorial-einstieg-mit-dem-esp8266-modul/
Es klingt so als ob dein Modul in den sleep Modus geht.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 26 September 2022, 22:45:44
Verhält der Wemos D1 sich bei Anschluss über das Serial-IF (falls möglich) anders?
Wäre auch ne Variante etwas zu testen.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 26 September 2022, 23:44:00
Jetzt bekomme ich den Wemos gar nicht mehr ins WLAN. Der WiFiManager meldet immer Not Connected. Der Router zeigt den Wemos aber als verbunden an.
Ich werde morgen nochmals versuchen zu flashen.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 27 September 2022, 21:02:04
Heute neue HW geflashed, die Probleme sind weitgehend dieselben.

Die WLAN Verbindung ist instabil, obwohl sich der Wemos nur etwa 70cm von Router entfern befindet. Mein Router scheint keine Wemos zu mögen. Mir ist folgendes aufgefallen. Nach einem Restart des Routers ist die Verbindung anfänglich instabil aber vorhanden. Wir zunehmend instabil, bis sie faktisch, nicht mehr vorhanden ist..

Nachfolgend eine  Ping Statistik, währen der FHEM Event Monitor immer wieder DISCONNECTED und CONNECTED meldet.

Liegt es evlt. an meiner ESP Variante WeMos D1 mini PRO (16Mbit)?
Oder an meinem Router, ASUS RT-AX88U und dem Mesh WLAN?

Ich habe auch noch ein paar Shellys im WLAN. Diese laufen Problemlos und haben meines Wissens auch einen ESP eingebaut.

Mit welchen ESP Varianten habt Ihr gute oder schlechte Erfahrungen gemacht?


Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 27 September 2022, 22:30:43
Mach doch mal auf deinen ESP Tasmota oder espeasy drauf. Nur zum testen der WLAN Verbindung.
Vielleicht streiten sich 2 devices um eine IP Adresse. Passiert hier bei mir gelegentlich auch bei meiner FritzBox.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 28 September 2022, 20:21:44
Das sich zwei Devices um eine IP Adresse streiten ist unwahrscheinlich. Ich weisse die IP auf Grund der MAC explizit zu, und für dynamische Adressen habe ich einen separaten Range.
ESP-Easy geflashed. Da gibt es aber gar kein WLAN AP um ESP Easy einzurichten.
SerialMonitor des ESP.Easy.Flasher
2557 : Info   : WIFI : Set WiFi to AP+STA
3549 : Info   : WIFI : AP Mode ssid will be ESP-Easy with address 192.168.4.1
3551 : Info   : WIFI : Arduino wifi status: WL_IDLE_STATUS 0 ESPeasy internal wifi status: DISCONNECTED
3552 : Info   : WiFi : Start network scan all channels
3565 : Info   : INIT : Free RAM:22576
3643 : Info   : INFO : Plugins: 47 [Normal] (ESP82xx Core 2843a5ac, NONOS SDK 2.2.2-dev(38a443e), LWIP: 2.1.2 PUYA support)
3647 : Info   : Webserver: start
4988 : Info   : WD   : Uptime 0 ConnectFailures 0 FreeMem 16616 WiFiStatus WL_IDLE_STATUS 0 ESPeasy internal wifi status: DISCONNECTED
5789 : Info   : WiFi : Scan finished, found: 8
34990 : Info   : WD   : Uptime 1 ConnectFailures 0 FreeMem 16624 WiFiStatus WL_IDLE_STATUS 0 ESPeasy internal wifi status: DISCONNECTED
64985 : Info   : WD   : Uptime 1 ConnectFailures 0 FreeMem 16624 WiFiStatus WL_IDLE_STATUS 0 ESPeasy internal wifi status: DISCONNECTED


Beim zweiten WeMos konnte ich ESP-Easy einrichten und in mein Heimnetzwerk einbinden.
16121 : Info   : WIFI : Arduino wifi status: WL_DISCONNECTED 6 ESPeasy internal wifi status: Conn.
18109 : Info   : WIFI : DHCP IP: 10.10.10.253 (ESP-Easy) GW: 10.10.10.1 SN: 255.255.255.0   duration: 1996 ms
18111 : Info   : WIFI : Arduino wifi status: WL_CONNECTED 3 ESPeasy internal wifi status: Conn. IP
18113 : Info   : UDP : Start listening on port 8266
18114 : Info   : firstLoopConnectionsEstablished
31693 : Info   : WD   : Uptime 1 ConnectFailures 0 FreeMem 18104 WiFiStatus WL_CONNECTED 3 ESPeasy internal wifi status: Conn. IP Init
61693 : Info   : WD   : Uptime 1 ConnectFailures 0 FreeMem 17248 WiFiStatus WL_CONNECTED 3 ESPeasy internal wifi status: Conn. IP Init
91693 : Info   : WD   : Uptime 2 ConnectFailures 0 FreeMem 16792 WiFiStatus WL_CONNECTED 3 ESPeasy internal wifi status: Conn. IP Init
121693 : Info   : WD   : Uptime 2 ConnectFailures 0 FreeMem 17440 WiFiStatus WL_CONNECTED 3 ESPeasy internal wifi status: Conn. IP Init
151693 : Info   : WD   : Uptime 3 ConnectFailures 0 FreeMem 17440 WiFiStatus WL_CONNECTED 3 ESPeasy internal wifi status: Conn. IP Init
181693 : Info   : WD   : Uptime 3 ConnectFailures 0 FreeMem 17440 WiFiStatus WL_CONNECTED 3 ESPeasy internal wifi status: Conn. IP Init
211693 : Info   : WD   : Uptime 4 ConnectFailures 0 FreeMem 17440 WiFiStatus WL_CONNECTED 3 ESPeasy internal wifi status: Conn. IP Init
241693 : Info   : WD   : Uptime 4 ConnectFailures 0 FreeMem 17440 WiFiStatus WL_CONNECTED 3 ESPeasy internal wifi status: Conn. IP Init

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 28 September 2022, 22:12:59
Wenn Du mit dem zweiten ESP8266 eine stabile WLAN Verbindung hast, dann versuch doch den nochmal mit dem ArduCounter zum Laufen zu bringen?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 29 September 2022, 12:41:32
Ich hatte auch schon mal ESPs, die einfach kaputt waren. Das kommt vor.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 29 September 2022, 21:26:11
ESP-Easy scheint zu funktionieren. Der eine davon war nun ca. 13 h im Wlan. Seine Statikstik zeigt 2 Reconnects. Das hat mich motiviert nochmals ArduCounter zu flashen. Nach mehreren Restarts des WeMos und des Router ein Erfolgserlebnis. ArduCounter läuft, sogar die allowedPins wurden mir angezeigt. Ich konnte den so einrichten wie ich wollte. Alles hat funktioniert.
Und dann...
ich habe den WeMos kur von Strom getrennt.

Danach kommt keine WLAN Verbindung mehr zu Stande.
.........
........
*WM: [1] --------------------
*WM: [1] AP IP address: 192.168.4.1
Entered config mode
192.168.4.1
ESP_A6E626
*WM: [3] setupConfigPortal
*WM: [1] Starting Web Portal
*WM: [3] dns server started with ip:  192.168.4.1
*WM: [2] HTTP server started
*WM: [2] WiFi Scan completed in 2184 ms
*WM: [2] Config Portal Running, non blocking/processing
D Wifi not connected
D Try reconnecting WiFi
D Wifi not connected
D Try reconnecting WiFi
D Wifi not connected
D Try reconnecting WiFi
D Wifi not connected
D Try reconnecting WiFi
D Wifi not connected
D Try reconnecting WiFi
D Wifi not connected
D Try reconnecting WiFi
D Wifi not connected
D Try reconnecting WiFi
D Wifi not connected


Nach etwas 10 Minuten


D Wifi not connected
D Try reconnecting WiFi
D Wifi not connected
D Try reconnecting WiFi
D Connected to blackhole with IP 169.254.39.230 RSSI -42
D TCP Server started

Router zeigt den WeMos als mit dem Wlan verbunden. Keine Ahnung woher diese IP kommt. Vom Router eher nicht.
Ping funktioniert natürlich nicht, FHEM <-> AdruCounter bekommt keine Verbindung.

Nach einem Restart des Routers sieht es etwas besser aus. Ich bekomme den WeMos wieder ins Wlan. Aber keine funktionierende Verbindung, ArduCounter  <-> FHEM mehr.
FEMH zeigt als Staus hauptsächlich opened, wechselt aber immer wieder ganz kurz auf disconnected und wieder zurück. Readings werden nicht mehr aktualisiert.

ArduCounter V4.26 on ESP8266 PLATFORMIO_D1_MINI_PRO compiled Jun  6 2020 12:40:42 with core version 2_7_1 Hello
N579,0B579,0
C0,1,2,5,6,7,17
I30,60,2,2,50,4
V0,0,0,0,0
D Try reconnecting WiFi
D Wifi Status is Disconnected
D Retry reconnecting WiFi
*WM: [1] AutoConnect
*WM: [2] Connecting as wifi client...
*WM: [3] STA static IP:
*WM: [2] setSTAConfig static ip not set, skipping
*WM: [1] Connecting to SAVED AP: blackhole
*WM: [3] Using Password: ###########################################
*WM: [3] WiFi station enable
*WM: [3] enableSTA PERSISTENT ON
*WM: [1] connectTimeout not set, ESP waitForConnectResult...
*WM: [2] Connection result: Unknown
*WM: [3] lastconxresult: Unknown
*WM: [1] AutoConnect: FAILED
*WM: [2] Starting Config Portal
*WM: [3] WIFI station disconnect
*WM: [3] WiFi station enable
*WM: [2] Disabling STA
*WM: [2] Enabling AP
*WM: [1] StartAP with SSID:  ESP_A6E626
*WM: [2] AP has anonymous access!
*WM: [1] SoftAP Configuration
*WM: [1] --------------------
*WM: [1] ssid:             ESP_A6E626
*WM: [1] password:
*WM: [1] ssid_len:         10
*WM: [1] channel:          1
*WM: [1] authmode:
*WM: [1] ssid_hidden:
*WM: [1] max_connection:   4
*WM: [1] country:          CN
*WM: [1] beacon_interval:  100(ms)
*WM: [1] --------------------
*WM: [1] AP IP address: 192.168.4.1
Entered config mode
192.168.4.1
ESP_A6E626
*WM: [3] setupConfigPortal
*WM: [1] Starting Web Portal
*WM: [3] dns server started with ip:  192.168.4.1
*WM: [2] HTTP server started
*WM: [2] WiFi Scan completed in 2183 ms
*WM: [2] Config Portal Running, non blocking/processing
D Wifi not connected
D Try reconnecting WiFi
D Connected to blackhole with IP 10.10.10.124 RSSI -40
D TCP Server started


Die IP des WeMos kann ich pingen, aber mehr geht nicht . Wieder die alten Probleme. 
Der WifiManager sagt connected
WiFi
Access Point IP
    192.168.4.1
Access Point MAC
    86:CC:A8:A6:E6:26
SSID
    blackhole
BSSID
    D4:5D:64:A0:4B:F0
Station IP
    10.10.10.124
Station Gateway
    10.10.10.1
Station Subnet
    255.255.255.0
DNS Server
    10.10.10.1
Hostname
    ESP-A6E626
Station MAC
    84:CC:A8:A6:E6:26
Connected
    Yes
Autoconnect
    Enabled


Verstehe nicht wo das Problem liegt.  Ich habe ein paar Shellys (mit ESP) problemlos in Einsatz. Ich habe auch sonst keien Probleme mit Wlan.

Kann jemand eine Empfehlung machen. Auf welcher ESP Variante läuf bei Euch ArduCounter zuverlässig?

Nachtrag:
Nach eimem der vielen Restarts des Routers, Zeig mir der Serial Monitor folgendes...
D TCP Server started

Exception (3):
epc1=0x4000deea epc2=0x00000000 epc3=0x00000000 excvaddr=0x40254e10 depc=0x00000000

>>>stack>>>

ctx: sys
sp: 3fffeca0 end: 3fffffb0 offset: 0190
3fffee30:  40100fb2 3fffc200 3fff0544 40100fa4
3fffee40:  40248c70 3fff156c 3fff0544 40248c30
3fffee50:  40100000 00000030 00000010 ffffffff
3fffee60:  00000011 00000001 00000000 00000000
3fffee70:  000009e0 00000000 3fffd9d0 3fff156c
3fffee80:  3fff159e 00000001 3fff0544 3fff156c
3fffee90:  3fff159e 00000001 3fff0544 40226a78
3fffeea0:  0000e296 3ffefba8 3ffefba8 3fff0054
3fffeeb0:  00000000 00000000 00000020 3ffefc58
3fffeec0:  3ffefba8 3fff158a 3fff156c 4022b9b0
3fffeed0:  00000014 3ffefba8 0000003c 3fff0054
3fffeee0:  00000000 3ffeffcc 00000020 40100d17
3fffeef0:  4023df84 3fff06a4 3ffeffcc 3fff0054
3fffef00:  00000008 3ffefba8 3fff156c 4022287d
3fffef10:  3fffdc80 3ffeffcc 3fff06a4 4022269c
3fffef20:  4024842a 3ffeffcc 3fff06a4 4024843b
3fffef30:  3fff157c 3fff156c 00000000 3ffe850c
3fffef40:  4023dbab 00000000 3fff06a4 40243c4b
3fffef50:  40000f49 3fffdab0 3fffdab0 40000f49
3fffef60:  40000e19 00000005 0005f708 00000000
3fffef70:  60000600 aa55aa55 000000c4 40104d91
3fffef80:  40104d97 0005f708 00000000 34e303ad
3fffef90:  4010000d c2126a73 eab73a54 03a11bf3
3fffefa0:  4023ca88 3fffef3c 4023ca39 3ffffe08
3fffefb0:  3fffffc0 00000000 00000000 feefeffe
3fffefc0:  feefeffe feefeffe feefeffe feefeffe
3fffefd0:  feefeffe feefeffe feefeffe feefeffe
3fffefe0:  feefeffe feefeffe feefeffe feefeffe
3fffeff0:  feefeffe feefeffe feefeffe feefeffe
3ffff000:  feefeffe feefeffe feefeffe feefeffe
3ffff010:  feefeffe feefeffe feefeffe feefeffe
3ffff020:  feefeffe feefeffe feefeffe feefeffe
3ffff030:  feefeffe feefeffe feefeffe feefeffe
3ffff040:  feefeffe feefeffe feefeffe feefeffe
3ffff050:  feefeffe feefeffe feefeffe feefeffe
3ffff060:  feefeffe feefeffe feefeffe feefeffe
3ffff070:  feefeffe feefeffe feefeffe feefeffe
3ffff080:  feefeffe feefeffe feefeffe feefeffe
3ffff090:  feefeffe feefeffe feefeffe feefeffe
3ffff0a0:  feefeffe feefeffe feefeffe feefeffe
3ffff0b0:  feefeffe feefeffe feefeffe feefeffe
3ffff0c0:  feefeffe feefeffe feefeffe feefeffe
3ffff0d0:  feefeffe feefeffe feefeffe feefeffe
3ffff0e0:  feefeffe feefeffe feefeffe feefeffe
3ffff0f0:  feefeffe feefeffe feefeffe feefeffe
3ffff100:  feefeffe feefeffe feefeffe feefeffe
3ffff110:  feefeffe feefeffe feefeffe feefeffe
3ffff120:  feefeffe feefeffe feefeffe feefeffe
3ffff130:  feefeffe feefeffe feefeffe feefeffe
3ffff140:  feefeffe feefeffe feefeffe feefeffe
3ffff150:  feefeffe feefeffe feefeffe feefeffe
3ffff160:  feefeffe feefeffe feefeffe feefeffe
3ffff170:  feefeffe feefeffe feefeffe feefeffe
3ffff180:  feefeffe feefeffe feefeffe feefeffe
3ffff190:  feefeffe feefeffe feefeffe feefeffe
3ffff1a0:  feefeffe feefeffe feefeffe feefeffe
3ffff1b0:  feefeffe feefeffe feefeffe feefeffe
3ffff1c0:  feefeffe feefeffe feefeffe feefeffe
3ffff1d0:  feefeffe feefeffe feefeffe feefeffe
3ffff1e0:  feefeffe feefeffe feefeffe feefeffe
3ffff1f0:  feefeffe feefeffe feefeffe feefeffe
3ffff200:  feefeffe feefeffe feefeffe feefeffe
3ffff210:  feefeffe feefeffe feefeffe feefeffe
3ffff220:  feefeffe feefeffe feefeffe feefeffe
3ffff230:  feefeffe feefeffe feefeffe feefeffe
3ffff240:  feefeffe feefeffe feefeffe feefeffe
3ffff250:  feefeffe feefeffe feefeffe feefeffe
3ffff260:  feefeffe feefeffe feefeffe feefeffe
3ffff270:  feefeffe feefeffe feefeffe feefeffe
3ffff280:  feefeffe feefeffe feefeffe feefeffe
3ffff290:  feefeffe feefeffe feefeffe feefeffe
3ffff2a0:  feefeffe feefeffe feefeffe feefeffe
3ffff2b0:  feefeffe feefeffe feefeffe feefeffe
3ffff2c0:  feefeffe feefeffe feefeffe feefeffe
3ffff2d0:  feefeffe feefeffe feefeffe feefeffe
3ffff2e0:  feefeffe feefeffe feefeffe feefeffe
3ffff2f0:  feefeffe feefeffe feefeffe feefeffe
3ffff300:  feefeffe feefeffe feefeffe feefeffe
3ffff310:  feefeffe feefeffe feefeffe feefeffe
3ffff320:  feefeffe feefeffe feefeffe feefeffe
3ffff330:  feefeffe feefeffe feefeffe feefeffe
3ffff340:  feefeffe feefeffe feefeffe feefeffe
3ffff350:  feefeffe feefeffe feefeffe feefeffe
3ffff360:  feefeffe feefeffe feefeffe feefeffe
3ffff370:  feefeffe feefeffe feefeffe feefeffe
3ffff380:  feefeffe feefeffe feefeffe feefeffe
3ffff390:  feefeffe feefeffe feefeffe feefeffe
3ffff3a0:  feefeffe feefeffe feefeffe feefeffe
3ffff3b0:  feefeffe feefeffe feefeffe feefeffe
3ffff3c0:  feefeffe feefeffe feefeffe feefeffe
3ffff3d0:  feefeffe feefeffe feefeffe feefeffe
3ffff3e0:  feefeffe feefeffe feefeffe feefeffe
3ffff3f0:  feefeffe feefeffe feefeffe feefeffe
3ffff400:  feefeffe feefeffe feefeffe feefeffe
3ffff410:  feefeffe feefeffe feefeffe feefeffe
3ffff420:  feefeffe feefeffe feefeffe feefeffe
3ffff430:  feefeffe feefeffe feefeffe feefeffe
3ffff440:  feefeffe feefeffe feefeffe feefeffe
3ffff450:  feefeffe feefeffe feefeffe feefeffe
3ffff460:  feefeffe feefeffe feefeffe feefeffe
3ffff470:  feefeffe feefeffe feefeffe feefeffe
3ffff480:  feefeffe feefeffe feefeffe feefeffe
3ffff490:  feefeffe feefeffe feefeffe feefeffe
3ffff4a0:  feefeffe feefeffe feefeffe feefeffe
3ffff4b0:  feefeffe feefeffe feefeffe feefeffe
3ffff4c0:  feefeffe feefeffe feefeffe feefeffe
3ffff4d0:  feefeffe feefeffe feefeffe feefeffe
3ffff4e0:  feefeffe feefeffe feefeffe feefeffe
3ffff4f0:  feefeffe feefeffe feefeffe feefeffe
3ffff500:  feefeffe feefeffe feefeffe feefeffe
3ffff510:  feefeffe feefeffe feefeffe feefeffe
3ffff520:  feefeffe feefeffe feefeffe feefeffe
3ffff530:  feefeffe feefeffe feefeffe feefeffe
3ffff540:  feefeffe feefeffe feefeffe feefeffe
3ffff550:  feefeffe feefeffe feefeffe feefeffe
3ffff560:  feefeffe feefeffe feefeffe feefeffe
3ffff570:  feefeffe feefeffe feefeffe feefeffe
3ffff580:  feefeffe feefeffe feefeffe feefeffe
3ffff590:  feefeffe feefeffe feefeffe feefeffe
3ffff5a0:  feefeffe feefeffe feefeffe feefeffe
3ffff5b0:  feefeffe feefeffe feefeffe feefeffe
3ffff5c0:  feefeffe feefeffe feefeffe feefeffe
3ffff5d0:  feefeffe feefeffe feefeffe feefeffe
3ffff5e0:  feefeffe feefeffe feefeffe feefeffe
3ffff5f0:  feefeffe feefeffe feefeffe feefeffe
3ffff600:  feefeffe feefeffe feefeffe feefeffe
3ffff610:  feefeffe feefeffe feefeffe feefeffe
3ffff620:  feefeffe feefeffe feefeffe feefeffe
3ffff630:  feefeffe feefeffe feefeffe feefeffe
3ffff640:  feefeffe feefeffe feefeffe feefeffe
3ffff650:  feefeffe feefeffe feefeffe feefeffe
3ffff660:  feefeffe feefeffe feefeffe feefeffe
3ffff670:  feefeffe feefeffe feefeffe feefeffe
3ffff680:  feefeffe feefeffe feefeffe feefeffe
3ffff690:  feefeffe feefeffe feefeffe feefeffe
3ffff6a0:  feefeffe feefeffe feefeffe feefeffe
3ffff6b0:  feefeffe feefeffe feefeffe feefeffe
3ffff6c0:  feefeffe feefeffe feefeffe feefeffe
3ffff6d0:  feefeffe feefeffe feefeffe feefeffe
3ffff6e0:  feefeffe feefeffe feefeffe feefeffe
3ffff6f0:  feefeffe feefeffe feefeffe feefeffe
3ffff700:  feefeffe feefeffe feefeffe feefeffe
3ffff710:  feefeffe feefeffe feefeffe feefeffe
3ffff720:  feefeffe feefeffe feefeffe feefeffe
3ffff730:  feefeffe feefeffe feefeffe feefeffe
3ffff740:  feefeffe feefeffe feefeffe feefeffe
3ffff750:  feefeffe feefeffe feefeffe feefeffe
3ffff760:  feefeffe feefeffe feefeffe feefeffe
3ffff770:  feefeffe feefeffe feefeffe feefeffe
3ffff780:  feefeffe feefeffe feefeffe feefeffe
3ffff790:  feefeffe feefeffe feefeffe feefeffe
3ffff7a0:  feefeffe feefeffe feefeffe feefeffe
3ffff7b0:  feefeffe feefeffe feefeffe feefeffe
3ffff7c0:  feefeffe feefeffe feefeffe feefeffe
3ffff7d0:  feefeffe feefeffe feefeffe feefeffe
3ffff7e0:  feefeffe feefeffe feefeffe feefeffe
3ffff7f0:  feefeffe feefeffe feefeffe feefeffe
3ffff800:  feefeffe feefeffe feefeffe feefeffe
3ffff810:  feefeffe feefeffe feefeffe feefeffe
3ffff820:  feefeffe feefeffe feefeffe feefeffe
3ffff830:  feefeffe feefeffe feefeffe feefeffe
3ffff840:  feefeffe feefeffe feefeffe feefeffe
3ffff850:  feefeffe feefeffe feefeffe feefeffe
3ffff860:  feefeffe feefeffe feefeffe feefeffe
3ffff870:  feefeffe feefeffe feefeffe feefeffe
3ffff880:  feefeffe feefeffe feefeffe feefeffe
3ffff890:  feefeffe feefeffe feefeffe feefeffe
3ffff8a0:  feefeffe feefeffe feefeffe feefeffe
3ffff8b0:  feefeffe feefeffe feefeffe feefeffe
3ffff8c0:  feefeffe feefeffe feefeffe feefeffe
3ffff8d0:  feefeffe feefeffe feefeffe feefeffe
3ffff8e0:  feefeffe feefeffe feefeffe feefeffe
3ffff8f0:  feefeffe feefeffe feefeffe feefeffe
3ffff900:  feefeffe feefeffe feefeffe feefeffe
3ffff910:  feefeffe feefeffe feefeffe feefeffe
3ffff920:  feefeffe feefeffe feefeffe feefeffe
3ffff930:  feefeffe feefeffe feefeffe feefeffe
3ffff940:  feefeffe feefeffe feefeffe feefeffe
3ffff950:  feefeffe feefeffe feefeffe feefeffe
3ffff960:  feefeffe feefeffe feefeffe feefeffe
3ffff970:  feefeffe feefeffe feefeffe feefeffe
3ffff980:  feefeffe feefeffe feefeffe feefeffe
3ffff990:  feefeffe feefeffe feefeffe feefeffe
3ffff9a0:  feefeffe feefeffe feefeffe feefeffe
3ffff9b0:  feefeffe feefeffe feefeffe feefeffe
3ffff9c0:  feefeffe feefeffe 4023ed0b 00000000
3ffff9d0:  ffffffff 00000000 3ffe9571 00000000
3ffff9e0:  4023ed5a 3ffecb90 3fff0e9c 00000000
3ffff9f0:  00000020 00000000 40101b13 3ffecb90
3ffffa00:  000000c0 40230ed6 00000008 3fff08c8
3ffffa10:  4023ddcc 3ffecb90 3ffed310 00000020
3ffffa20:  00000000 4023103f 3fff073c 3fff0e9c
3ffffa30:  00000000 00000002 00000001 3ffecb90
3ffffa40:  00000628 401052db 3fff09d8 3ffef730
3ffffa50:  00000002 feefeffe feefeffe 00000000
3ffffa60:  00000034 402180cc 00000020 40100d4e
3ffffa70:  00000015 3ffefafc 00000002 402188b4
3ffffa80:  feefeffe feefeffe 0000000c 00000000
3ffffa90:  3fff11c4 3fffff00 00000015 402188b4
3ffffaa0:  00000000 3fff11c4 3ffffac0 40218bcd
3ffffab0:  3fff11c4 3ffefafc 3fffff00 40218d8c
3ffffac0:  72615f08 6e697564 745f046f 6c057063
3ffffad0:  6c61636f 00000000 00000000 00000000
3ffffae0:  00000000 00000000 00000000 00000000
3ffffaf0:  00000000 00000000 00000000 00000000
3ffffb00:  00000000 00000000 00000000 00000000
3ffffb10:  00000000 00000000 00000000 00000000
3ffffb20:  00000000 00000000 00000000 00000000
3ffffb30:  00000000 00000000 00000000 00000000
3ffffb40:  00000001 00000000 00000000 00000000
3ffffb50:  00000000 00000000 00000000 00000001
3ffffb60:  3fff11c4 3ffefafc 00000001 402188b4
3ffffb70:  00000000 00000000 3fffff00 402188e2
3ffffb80:  00000055 00000000 00000000 00000000
3ffffb90:  00000000 00000000 3fffff00 40218a25
3ffffba0:  00000000 00000000 3fffff00 40218d41
3ffffbb0:  00000000 00000000 00000000 00000000
3ffffbc0:  000005e0 00000020 40103a91 3ffed5a0
3ffffbd0:  0000013a 00000000 00000000 000000ef
3ffffbe0:  000005e0 00000020 40103a91 3ffed5a0
3ffffbf0:  00000005 00000000 00000020 4010026c
3ffffc00:  0000005a 00000001 00000005 401019d8
3ffffc10:  3ffe9425 40104c8b 3ffece88 4010026c
3ffffc20:  4010256f 3ffece88 00000020 4010026c
3ffffc30:  0000006b 08513ef1 3ffed8b0 40102750
3ffffc40:  00000000 00000000 00000020 4010026c
3ffffc50:  00000020 4010026c 00000000 401019d8
3ffffc60:  00000005 00000000 00000020 4010026c
3ffffc70:  00000001 40103e4e 00000005 401019d8
3ffffc80:  3ffe9425 40104c8b 3ffece88 4010026c
3ffffc90:  4010256f 3ffece88 3fffc228 40105531
3ffffca0:  00000069 0854459e 3ffed8b0 40102750
3ffffcb0:  3ffe9cb8 00000000 00000000 ffffffff
3ffffcc0:  00000069 0854459e 40102c12 00000100
3ffffcd0:  3ffe9cb8 7fffffff 00000000 00000001
3ffffce0:  00000001 00004208 4000050c 3fffc278
3ffffcf0:  3ffe9cb8 3fffc200 00000022 0854459e
3ffffd00:  3ffe9cc4 2c9f0300 4000050c 3fffc278
3ffffd10:  40102934 3fffc200 00000022 4bc6a7f0
3ffffd20:  4021213f 00000030 00000010 ffffffff
3ffffd30:  402103eb 3ffef6f8 d9a63cfb 4023ca39
3ffffd40:  00000000 00000000 00000000 fffffffe
3ffffd50:  ffffffff 3fffc6fc 00000001 3fff0a20
3ffffd60:  3fff0a20 0000000d 3ffef548 00000030
3ffffd70:  3fff0a20 0000000d 3ffef548 00000030
3ffffd80:  53000000 40103b80 00040000 000000ff
3ffffd90:  00000005 00000000 00000020 4010026c
3ffffda0:  00001810 00000302 00000302 40100a78
3ffffdb0:  007a1200 ce4196b2 3ffece00 3ffef548
3ffffdc0:  00000000 4bc6a7f0 8ed91687 00000000
3ffffdd0:  00000000 00000000 4bc6a7f0 00000000
3ffffde0:  007a1200 d9a63d0e 40100364 000221dd
3ffffdf0:  00000000 00000000 00000001 4010026c
3ffffe00:  0277282d 00000000 3fff0a20 3fff0a20
3ffffe10:  0000000d 3ffef548 40212123 3fffefa0
3ffffe20:  0000000d 3fff0a20 3fff0a20 402103eb
3ffffe30:  3ffe9cc4 3fff0a20 3ffffebc 402104b1
3ffffe40:  00000001 3fff0a20 3fff09fc 4020b806
3ffffe50:  40219ae2 00000030 00000010 ffffffff
3ffffe60:  40219ada 4021a220 4020533c 3ffef340
3ffffe70:  00004bc6 00000000 00000000 fffffffe
3ffffe80:  00000000 3fffc6fc 00000000 3ffef144
3ffffe90:  00000001 00000000 3ffef12a 00000030
3ffffea0:  00000000 4bc6a7f0 37ced916 00000000
3ffffeb0:  00000000 00000000 4bc6a7f0 30312c31
3ffffec0:  2e682e6b 88c6a700 3c6a7ef9 00000000
3ffffed0:  00000000 00000000 4bc6a7f0 00000000
3ffffee0:  00000000 4bc6a7f0 49374bc6 00000000
3ffffef0:  00000000 00000000 4bc6a7f0 3ffef548
3fffff00:  00000001 3fff0a20 3fff09fc 4020dff5
3fffff10:  00000000 3fff06bc 00000000 40214528
3fffff20:  00000000 00000000 3ffef180 402149ec
3fffff30:  3fffdad0 00000000 3ffef180 4020e209
3fffff40:  3fffdad0 00000000 40100364 000208e1
3fffff50:  00000000 000208e1 3ffef15c 40203b5e
3fffff60:  007a1200 bb265375 00001300 40216831
3fffff70:  00000000 00000000 4021a328 3ffef548
3fffff80:  3fffdad0 00000000 3ffef508 4020e6a4
3fffff90:  3fffdad0 00000000 3ffef508 40203bea
3fffffa0:  feefeffe 00000000 3ffef508 40212210
<<<stack<<<

ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3456, room 16
tail 0
chksum 0x84
csum 0x84
va5432625
~ld

M no config in EEPROM

ArduCounter V4.26 on ESP8266 PLATFORMIO_D1_MINI_PRO compiled Jun  6 2020 12:40:42 with core version 2_7_1 Hello
N586,0B586,0
C0,1,2,5,6,7,17
I30,60,2,2,50,4
V0,0,0,0,0
D Try reconnecting WiFi
D Wifi Status is Disconnected
D Retry reconnecting WiFi
*WM: [1] AutoConnect
*WM: [1] AutoConnect: ESP Already Connected
*WM: [3] STA static IP:
*WM: [2] setSTAConfig static ip not set, skipping
*WM: [1] AutoConnect: SUCCESS
*WM: [1] STA IP Address: 10.10.10.124
D Connected to blackhole with IP 10.10.10.124 RSSI -43
D TCP Server started


Die Frage ist nur wie lange, und vor allem wie lange es dauert den AdruCounter nach einem Problem wieder zum Laufen zu bringen.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 29 September 2022, 22:40:24
Hast Du mal einen anderen ESP probiert?
Oder hast Du mal probiert die Firmware mit aktuellen Libraries selbst zu übersetzen?
Vielleicht hängt es ja an kleinen Inkompatibilitäten, die im ESP Core oder WifiManager inzwischen gefixt wurden ...

Gruß
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 30 September 2022, 16:41:35
Hallo Stefan
Ich habe zurzeit nur zwei WeMos D1 Mini Pro zur Hand.  Kannst Du mir evtl. eine funktionierende Variante empfehlen?

Nein, das habe das noch nicht probiert, ich weiss auch (noch) nicht genau wie das geht.

Du meinst das .bin zum flashen selbst generieren?
Ich kann mal versuchen ob ich das zu Stande bringe. Was brauche ich dazu alles?
Arduion IDE, Source Code vom ArduCounter, WifiManager........................und sonst noch etwas?

Ich habe schon mal die Arduino IDE und die HW Erweiterung für die WeMos ESP's installiert. Und auch den SourceCode für ArduionCounter aus GIT runtergeladen. Aber da muss ich mich erst einarbeiten. Ich bin mir momentan noch etwas unsicher, ob ich das auch schaffe.. 
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: SamNitro am 30 September 2022, 16:55:44
Was auch wichtig ist, mal den esp komplett löschen entweder mit einer leeren Datei beschreiben die den ganzen Speicher ausnutzt oder mit einem Tool.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 30 September 2022, 17:12:43
Compilation error: 'now' was not declared in this scope; did you mean 'pow'?

bool checkKeepAlive() {       
    now = millis();                                         
    if((now - lastKeepAlive) > (keepAliveTimeout*3000)) {   // check keepAlive timout (* 3 secs)
        Serial.println(F("D no keepalive - close"));
        Output->println(F("D no keepalive - close"));   
        //Output->print(F("D timeout was "));
        //Output->print(keepAliveTimeout);
        //Output->print(F(" last at "));
        //Output->print(lastKeepAlive);
        //Output->print(F(" now "));
        //Output->print(now);
        Output->println();
        Client1.stop();                                     // close connection due to keepalive timeout
        return false;
    }
    return true;
}
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 30 September 2022, 17:14:38
Zitat von: SamNitro am 30 September 2022, 16:55:44
Was auch wichtig ist, mal den esp komplett löschen entweder mit einer leeren Datei beschreiben die den ganzen Speicher ausnutzt oder mit einem Tool.
Das habe ich gemacht, ändert aber nichts am Problem.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 30 September 2022, 17:52:17
Zitat von: birdy am 30 September 2022, 17:12:43
Compilation error: 'now' was not declared in this scope; did you mean 'pow'?

bool checkKeepAlive() {       
    now = millis();                                         
    if((now - lastKeepAlive) > (keepAliveTimeout*3000)) {   // check keepAlive timout (* 3 secs)
        Serial.println(F("D no keepalive - close"));
        Output->println(F("D no keepalive - close"));   
        //Output->print(F("D timeout was "));
        //Output->print(keepAliveTimeout);
        //Output->print(F(" last at "));
        //Output->print(lastKeepAlive);
        //Output->print(F(" now "));
        //Output->print(now);
        Output->println();
        Client1.stop();                                     // close connection due to keepalive timeout
        return false;
    }
    return true;
}

Ich denke das habe ich gefixed......

Akutelles Probelm:
Compilation error: 'SERIAL_SPEED' was not declared in this scope; did you mean 'SERIAL_8E2'?

bei
    Serial.begin(SERIAL_SPEED);             // initialize serial



Ist die ArduCounter Source auf GIT aktuell ?
https://github.com/StefanStrobel/ArduCounter (https://github.com/StefanStrobel/ArduCounter)
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 30 September 2022, 22:57:05
Hallo birdy,

Du solltest PlatformIO nehmen und dann in der platformio.ini die Zeile 19 statt der 18 auskommentieren:
Zitat
;default_envs = d1_mini_pro
Damit geht es sehr viel einfacher als mit dem Arduino IDE.
Allerdings kommt es auch bei PlatformIO vor, dass eine neuere Bibliothek auf einmal Probleme beim compilieren macht.
Ich teste es morgen selbst mal wieder, ob noch alles passt ...

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 01 Oktober 2022, 13:34:00
Hallo Stefan

PlatformIO kenne ich (noch) nicht.
Ich habe gestern mit Arduino IDE compiliert. Im Moment ,,läuft" diese Version bei mir. Ich muss einfach nach jedem Restart des WeMos auch noch meinen Router restarten. Das ist etwas umständlich, aber so bekomme ich mindestens eine Verbindung zwischen ArduCounter und FHEM .
Evtl. werde ich mich in den nächsten Tagen auch mal noch mit PlatformIO beschäftigen.

Falls Du mit PlatformIO ein neues .bin erstellst, könntest Du es mir zu Verfügung stellen?

Danke und Gruss
Birdy
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Kornelius777 am 01 Oktober 2022, 14:01:36
Hallo Stefan,

ich habe ArduCounter seit Jahren am Gaszähler laufen. Grundsätzlich klappt alles prima - allerdings wird immer mal wieder ein Einzelevent "verschluckt". Warum auch immer.

Mein Aufbau ist:
Der Gaszähler hat einen Magneten im letzten Rädchen des Zählwerkes.
Ein elektronischer Kompass an einem eigenen Arduino wird ausgewertet, und der Arduino macht daraus "digital high/low". Natürlich alles seeeeehr langsam, da sich der Gaszähler zum Glück nur langsam dreht.
Der Digitalausgang geht auf einen zweiten Arduino, auf dem ArduCounter läuft.

Meine Frage an dich:
Benötige ich das Attribut "interval" eigentlich?
Im Wiki wird darauf relativ "dünn" eingegangen.

Danke dir für deine tolle Arbeit!

Grüße!

Kornelius
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 01 Oktober 2022, 20:04:39
Zitat von: birdy am 01 Oktober 2022, 13:34:00
Falls Du mit PlatformIO ein neues .bin erstellst, könntest Du es mir zu Verfügung stellen?

Eine neu compiliertes bin für den D1 Mini Pro hängt an.
Habs auch im SVN aktualisiert.

Gruss
   Stefan

EDIT: neue Firmware hat scheinbar noch ein Problem mit der Kommunikation -> entfernt
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 02 Oktober 2022, 14:57:13
Hallo Stefan

Vielen Dank für den neuen Compile

Wenn ich den WeMos restarte, verbindet er sich gem. Serial Monitor wieder mit meinem Home Wlan.
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Connected to blackhole with IP 10.10.10.124 RSSI -43
D TCP Server started


Auch kann ich den WeMos aus dem Home Wlan problemlos an pingen. Die technische Verbindung scheint also grundsätzlich zu bestehen.
Aber eine Verbindung zwischen AruCounter und FHEM scheint nicht zu Stande zu kommen. Zwar zeigt FHEM mehrheitlich den Status = opened, wechselt aber immer wieder kurz auf diconnected. Readings werden nicht mehr aktualisiert und auch set oder get Commands werden nicht mehr angenommen.

Merkwürdig, warum zeigt FHEM opened, obwohl keine brauchbare Verbindung besteht?
Auch ein set reconnect löst das Problem nicht.

Also durchaus denkbar, dass im Verbindungsmanagement zwischen ArduCounter und FHEM noch Optimierungspotential besteht.

Gruss, birdy
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 02 Oktober 2022, 15:27:18
Wie hoch kann man die Puls Länge maximal setzen?  (Ich habe dazu in der Beschreibung nichts gefunden)
Ich habe meinen PIN wie folgt definiert.
attr AC pinD1 falling pullup min 2000

Wenn ich mir die History anschaue sehe ich folgendes.

Seq   1244 2022-10-02 15:15:15 Pin D1   0.001 seconds at 0 -> short pulse reject
Seq   1245 2022-10-02 15:15:15 Pin D1   0.291 seconds at 0 -> pulse counted
Seq   1246 2022-10-02 15:15:15 Pin D1   3.382 seconds at 1 -> gap
Seq   1247 2022-10-02 15:15:18 Pin D1   0.355 seconds at 0 -> pulse counted
Seq   1248 2022-10-02 15:15:19 Pin D1   0.000 seconds at 0 -> short pulse rejec


Gem. meinem Vertändnis dürften die beiden Pulse von 0.291 /0.355 nicht gezählt werden. 
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 02 Oktober 2022, 18:55:34
Hallo birdy,

Du hast recht, da muss ich die Doku ergänzen. Auf die Idee dass jemand versuchen könnte, den Wert so hoch zu setzen, bin ich nicht gekommen.
Gedacht war das Minimum um prellende Kontakte in den Griff zu bekommen. Also Werte < 100ms
Gespeichert wird der als uint8_t, als 8 Bit.
bei der nächsten Überarbeitung begrenze ich die Eingabe. Bitte setz ihn maximal auf 255.

Wegen der Verbindung: Wenn Fhem nicht mit dem Gerät reden kann, dann wird das per keepalive bemerkt und es gibt einen reconnect.
Offenbar hab ich Dir einen unausgereiften Zwischenstand gegeben. Nimm am besten wieder die alte Firmware bis mich mir das ansehen konnte.

Gruss / Thanx
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 02 Oktober 2022, 20:02:10
Hallo Stefan 
Vielen Dank für den Hinweis mit den 255.
Bei mir kommen die ,,Pulse" aus einem Reedreleais welches in einem Durchflussmesser verbaut ist. Die sind definitiv im Minuten Bereich.
Weil ich immer wieder Falschzählungen hatte, habe ich den Wert hochgeschraubt. Offenbar mit negativen Effekt.

-> Ich hätte also nichts dagegen wenn da ein uint16_t verwendet würde.

Edit:  mit der .bin welche seit Heute in FHEM/firmware zu finden ist, konnte ich bis jetzt noch keine Verbindungsprobleme erkennen.
         Bis jetzt läuft alles bestens  :)
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 05 Oktober 2022, 19:15:39
Hallo Birdy,

nachdem Du Probleme berichtet hattest, habe ich die alte Firmware wieder ins SVN gestellt.
Jetzt kommt es drauf an, wann Du ein Update gemacht hast ...

Inzwischen habe ich aber die neue Version bei mir auf einen D1 Mini Pro aufgespielt und konnte keine Verbindungsprobleme erkennen.
Die neue meldet sich in den Internals folgendermaßen:

SketchCompile Oct 1 2022 19:54:03 with core version 3.0.2
VersionFirmware 4.27
VersionModule 8.00 - 21.10.2021


Hast Du die 4.27 geflasht oder wieder die alte?
Könntest Du sonst die neu compilierte Version auch nochmal testen und bei Problemen Deine Konfiguration und einen Auszug aus dem Log mit verbose 5 posten?

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 05 Oktober 2022, 20:25:00
Hallo Stefan
FHEM sagt, bei mir laufe Version 4.27. Die läuft seit Sonntag stabil. Probleme ich Ich aber immer nur am Anfang bis mal eine Verbindung zustande gekommen ist, danach nicht mehr. Ich bin unterwegs im Urlaub. Ich melde mich in ein paar Tagen, wenn ich zurück bin.
Gruss birdy
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 10 Oktober 2022, 23:05:11
Hallo Stefan
Wie bereits geschrieben, bei mir läuft aktuell die Version 4.27. Die läuft, wenn sie mal verbunden ist, stabil und ist nun über eine Woche problemlos gelaufen.
ABER: Wenn ich den WeMos von Strom trenne und wieder anschliesse, habe ich, nicht immer aber sehr häufig, das Problem, dass keine richtige Verbindung mehr zustande kommt.

Darum vermute ich mal, dass die Verbindung grundsätzlich besteht und nur die Kommunikation zwischen FHEM <-> ArduCountern nicht mehr funktioniert.

Im Event monitor sieht man die kurzen Disconnects

2022-10-10 21:57:33 ArduCounter AC DISCONNECTED
2022-10-10 21:57:33 ArduCounter AC CONNECTED
2022-10-10 21:57:35 ArduCounter AC DISCONNECTED
2022-10-10 21:57:36 ArduCounter AC CONNECTED
2022-10-10 21:57:56 ArduCounter AC DISCONNECTED
2022-10-10 21:57:56 ArduCounter AC CONNECTED
2022-10-10 21:57:58 ArduCounter AC DISCONNECTED
2022-10-10 21:57:59 ArduCounter AC CONNECTED
2022-10-10 21:58:19 ArduCounter AC DISCONNECTED
2022-10-10 21:58:19 ArduCounter AC CONNECTED
2022-10-10 21:58:21 ArduCounter AC DISCONNECTED
2022-10-10 21:58:21 ArduCounter AC CONNECTED
2022-10-10 21:58:41 ArduCounter AC DISCONNECTED
2022-10-10 21:58:41 ArduCounter AC CONNECTED
2022-10-10 21:58:43 ArduCounter AC DISCONNECTED
2022-10-10 21:58:43 ArduCounter AC CONNECTED


Definition des ArduCounter
Internals:
   Board      ESP8266
   BoardDet   PLATFORMIO_D1_MINI_PRO
   DEF        10.10.10.124:80
   DeviceName 10.10.10.124:80
   FD         96
   FUUID      6335b0bf-f33f-f4b3-e5d6-07dc6d30432fc6e3
   HistIdx    0
   KeepAliveRetries 1
   LASTOPEN   1665433967.48854
   NAME       AC
   NOTIFYDEV  global
   NR         356
   NTFY_ORDER 50-AC
   PARTIAL   
   STATE      opened
   SketchCompile Oct  1 2022 19:54:03 with core version 3.0.2
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 4.27
   VersionModule 8.00 - 21.10.2021
   allowedPins 0,1,2,5,6,7,17,A0
   buffer     
   deviceBooted 1665431124.66228
   devioLoglevel 3
   eventCount 11395
   nextOpenDelay 60
   History:
   READINGS:
     2022-10-10 21:47:12   RSSI            -47
     2022-10-10 21:43:57   countDiffD1     0
     2022-10-10 21:43:57   countDiffD2     0
     2022-10-10 21:43:57   interpolatedLongD1 5
     2022-10-10 21:43:57   interpolatedLongD2 0
     2022-10-10 21:43:57   longD1          5
     2022-10-10 21:43:57   longD2          0
     2022-10-10 21:43:57   pinD1           0
     2022-10-10 21:43:57   pinD2           0
     2022-10-10 21:43:57   powerD1         0.000
     2022-10-10 21:43:57   powerD2         0.000
     2022-10-10 21:43:57   rejectD1        122
     2022-10-10 21:43:57   rejectD2        0
     2022-10-10 22:32:47   state           opened
     2022-10-10 21:43:57   timeDiffD1      60001
     2022-10-10 21:43:57   timeDiffD2      60001
   runningCfg:
     1          P1fp m250, DR1C0D0/0T0X0
     2          P2fp m50, DR2C0D0/0T0X0
     I          60,60,0,0,50,4
     V          1,0,0,0,0
Attributes:
   board      ESP8266
   enableHistory 1
   interval   60 60
   pinD1      falling pullup min 250
   pinD2      falling pullup min 50
   room       Test
   verbose    5


Verbose 5
2022.10.10 21:57:33 3: 10.10.10.124:80 reappeared (AC)
2022.10.10 21:57:33 5: AC: DoOpen succeeded in callback
2022.10.10 21:57:33 5: AC: sending k(eepAlive) to device
2022.10.10 21:57:33 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:57:35 3: AC: device didn't reply to k(eeepAlive), no retries left, setting device to disconnected
2022.10.10 21:57:35 3: 10.10.10.124:80 disconnected, waiting to reappear (AC)
2022.10.10 21:57:36 5: HttpUtils url=http://10.10.10.124:80/ NonBlocking via http
2022.10.10 21:57:36 4: IP: 10.10.10.124 -> 10.10.10.124
2022.10.10 21:57:36 3: 10.10.10.124:80 reappeared (AC)
2022.10.10 21:57:36 5: AC: DoOpen succeeded in callback
2022.10.10 21:57:36 5: AC: sending k(eepAlive) to device
2022.10.10 21:57:36 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:57:38 3: AC: device didn't reply to k(eeepAlive), count=1
2022.10.10 21:57:40 5: AC: ArduCounter 8.00 - 21.10.2021 sending h(ello) to device to ask for firmware version
2022.10.10 21:57:40 5: DevIo_SimpleWrite AC: h.
2022.10.10 21:57:46 5: AC: sending k(eepAlive) to device
2022.10.10 21:57:46 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:57:48 3: AC: device didn't reply to k(eeepAlive), count=2
2022.10.10 21:57:56 5: AC: sending k(eepAlive) to device
2022.10.10 21:57:56 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:57:56 3: 10.10.10.124:80 disconnected, waiting to reappear (AC)
2022.10.10 21:57:56 5: HttpUtils url=http://10.10.10.124:80/ NonBlocking via http
2022.10.10 21:57:56 4: IP: 10.10.10.124 -> 10.10.10.124
2022.10.10 21:57:56 3: 10.10.10.124:80 reappeared (AC)
2022.10.10 21:57:56 5: AC: DoOpen succeeded in callback
2022.10.10 21:57:56 5: AC: sending k(eepAlive) to device
2022.10.10 21:57:56 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:57:58 3: AC: device didn't reply to k(eeepAlive), no retries left, setting device to disconnected
2022.10.10 21:57:58 3: 10.10.10.124:80 disconnected, waiting to reappear (AC)
2022.10.10 21:57:59 5: HttpUtils url=http://10.10.10.124:80/ NonBlocking via http
2022.10.10 21:57:59 4: IP: 10.10.10.124 -> 10.10.10.124
2022.10.10 21:57:59 3: 10.10.10.124:80 reappeared (AC)
2022.10.10 21:57:59 5: AC: DoOpen succeeded in callback
2022.10.10 21:57:59 5: AC: sending k(eepAlive) to device
2022.10.10 21:57:59 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:58:01 3: AC: device didn't reply to k(eeepAlive), count=1
2022.10.10 21:58:03 5: AC: ArduCounter 8.00 - 21.10.2021 sending h(ello) to device to ask for firmware version
2022.10.10 21:58:03 5: DevIo_SimpleWrite AC: h.
2022.10.10 21:58:09 5: AC: sending k(eepAlive) to device
2022.10.10 21:58:09 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:58:11 3: AC: device didn't reply to k(eeepAlive), count=2
2022.10.10 21:58:19 5: AC: sending k(eepAlive) to device
2022.10.10 21:58:19 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:58:19 3: 10.10.10.124:80 disconnected, waiting to reappear (AC)
2022.10.10 21:58:19 5: HttpUtils url=http://10.10.10.124:80/ NonBlocking via http
2022.10.10 21:58:19 4: IP: 10.10.10.124 -> 10.10.10.124
2022.10.10 21:58:19 3: 10.10.10.124:80 reappeared (AC)
2022.10.10 21:58:19 5: AC: DoOpen succeeded in callback
2022.10.10 21:58:19 5: AC: sending k(eepAlive) to device
2022.10.10 21:58:21 3: AC: device didn't reply to k(eeepAlive), no retries left, setting device to disconnected
2022.10.10 21:58:21 3: 10.10.10.124:80 disconnected, waiting to reappear (AC)
2022.10.10 21:58:21 5: HttpUtils url=http://10.10.10.124:80/ NonBlocking via http
2022.10.10 21:58:21 4: IP: 10.10.10.124 -> 10.10.10.124
2022.10.10 21:58:21 3: 10.10.10.124:80 reappeared (AC)
2022.10.10 21:58:21 5: AC: DoOpen succeeded in callback
2022.10.10 21:58:21 5: AC: sending k(eepAlive) to device
2022.10.10 21:58:21 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:58:23 3: AC: device didn't reply to k(eeepAlive), count=1
2022.10.10 21:58:23 1: Timeout for ping_DoPing reached, terminated process 5470
2022.10.10 21:58:25 5: AC: ArduCounter 8.00 - 21.10.2021 sending h(ello) to device to ask for firmware version
2022.10.10 21:58:25 5: DevIo_SimpleWrite AC: h.
2022.10.10 21:58:31 5: AC: sending k(eepAlive) to device
2022.10.10 21:58:31 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:58:33 3: AC: device didn't reply to k(eeepAlive), count=2
2022.10.10 21:58:41 5: AC: sending k(eepAlive) to device
2022.10.10 21:58:41 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:58:41 3: 10.10.10.124:80 disconnected, waiting to reappear (AC)
2022.10.10 21:58:41 5: HttpUtils url=http://10.10.10.124:80/ NonBlocking via http
2022.10.10 21:58:41 4: IP: 10.10.10.124 -> 10.10.10.124
2022.10.10 21:58:41 3: 10.10.10.124:80 reappeared (AC)
2022.10.10 21:58:41 5: AC: DoOpen succeeded in callback
2022.10.10 21:58:41 5: AC: sending k(eepAlive) to device
2022.10.10 21:58:41 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:58:43 3: AC: device didn't reply to k(eeepAlive), no retries left, setting device to disconnected
2022.10.10 21:58:43 3: 10.10.10.124:80 disconnected, waiting to reappear (AC)
2022.10.10 21:58:43 5: HttpUtils url=http://10.10.10.124:80/ NonBlocking via http
2022.10.10 21:58:43 4: IP: 10.10.10.124 -> 10.10.10.124
2022.10.10 21:58:43 3: 10.10.10.124:80 reappeared (AC)
2022.10.10 21:58:43 5: AC: DoOpen succeeded in callback
2022.10.10 21:58:43 5: AC: sending k(eepAlive) to device
2022.10.10 21:58:43 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:58:45 3: AC: device didn't reply to k(eeepAlive), count=1
2022.10.10 21:58:47 5: AC: ArduCounter 8.00 - 21.10.2021 sending h(ello) to device to ask for firmware version
2022.10.10 21:58:47 5: DevIo_SimpleWrite AC: h.
2022.10.10 21:58:53 5: AC: sending k(eepAlive) to device
2022.10.10 21:58:53 5: DevIo_SimpleWrite AC: 1,10k.t
2022.10.10 21:58:55 3: AC: device didn't reply to k(eeepAlive), count=2
2022.10.10 21:59:03 5: AC: sending k(eepAlive) to device
2022.10.10 21:59:03 5: DevIo_SimpleWrite AC: 1,10k.
2022.10.10 21:59:05 3: AC: device didn't reply to k(eeepAlive), no retries left, setting device to disconnected
2022.10.10 21:59:05 3: 10.10.10.124:80 disconnected, waiting to reappear (AC)
2022.10.10 21:59:06 5: HttpUtils url=http://10.10.10.124:80/ NonBlocking via http
2022.10.10 21:59:06 4: IP: 10.10.10.124 -> 10.10.10.124
2022.10.10 21:59:06 3: 10.10.10.124:80 reappeared (AC)
2022.10.10 21:59:06 5: AC: DoOpen succeeded in callback
2022.10.10 21:59:06 5: AC: sending k(eepAlive) to device
2022.10.10 21:59:06 5: DevIo_SimpleWrite AC: 1,10k.



Damit ich dann wieder eine funktionierende Verbindung bekomme, genügt es manchmal nur den Router neu zu starten, oft aber muss ich aber den Router und den WeMos gleichzeitig neu starten.

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 11 Oktober 2022, 17:14:03
Hallo birdy,

falls Du den Zustand reproduzieren kannst und gleichzeitig den ESP per USB an einer Konsole angeschlossen hättest, dann könnten wir die Ausgaben der Firmware sehen und die Ursache eingrenzen.
Ich werde auch mal versuchen das nachzustellen, kann aber nicht versprechen, wann ich dazu komme.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 12 Oktober 2022, 12:26:49
Hallo,

Wenn ich die source aus GIT in Platfomio compiliere, erhalte ich folgende Fehlermeldung:

Compiling .pio/build/esp32dev/src/ArduCounter4.00.cpp.o
sh: 1: xtensa-esp32-elf-g++: not found


Bin aber noch neu auf Platformio, so dass ich nicht einschätzen kann, woher das kommt. Aber dependencies sehen gut aus.


Gruß,
Dieter
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 12 Oktober 2022, 22:17:36
Hallo Stefan

Der Zustand ist reproduzierbar, wenn auch nicht  immer gleich in ersten Versuch.   
Der WeMos hängt am USB Port am PC und ich kann den Serial Monitor laufen lassen.
Immer noch das gleich Problem wie ich in meinem letzten Post beschreiben habe. 

Was kann ich tun, was brauchst Du um das Problem eingrenzen zu  können?

ArduCounter V4.27 on ESP8266 PLATFORMIO_D1_MINI_PRO compiled Oct  1 2022 19:54:03 with core version 3.0.2 Hello
N581,0B580,0
C0,1,2,5,6,7,17
I30,60,2,2,50,4
V0,0,0,0,0
D Try reconnecting WiFi
D Wifi Disconnected
D Retry reconnecting WiFi
*wm:[1] AutoConnect
*wm:[2] Connecting as wifi client...
*wm:[2] setSTAConfig static ip not set, skipping
*wm:[1] Connecting to SAVED AP: blackhole
*wm:[1] connectTimeout not set, ESP waitForConnectResult...
*wm:[2] Connection result: WL_NO_SSID_AVAIL
*wm:[1] AutoConnect: FAILED
*wm:[2] Starting Config Portal
*wm:[2] Disabling STA
*wm:[2] Enabling AP
*wm:[1] StartAP with SSID:  ESP_A6E626
*wm:[2] AP has anonymous access!
*wm:[1] AP IP address: 192.168.4.1
*wm:[2] [CB] _apcallback calling
Entered config mode
192.168.4.1
ESP_A6E626
*wm:[1] Starting Web Portal
*wm:[2] HTTP server started
*wm:[2] WiFi Scan ASYNC started
*wm:[2] Config Portal Running, non blocking (processing)
*wm:[2] NUM CLIENTS:  0
D Wifi status 0
D Try reconnecting WiFi
*wm:[2] WiFi Scan ASYNC completed in 15 ms
*wm:[2] WiFi Scan ASYNC found:
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Connected to blackhole with IP 10.10.10.124 RSSI -42
D TCP Server started
*wm:[2] NUM CLIENTS:  0
*wm:[2] NUM CLIENTS:  0
*wm:[2] NUM CLIENTS:  0
*wm:[2] NUM CLIENTS:  0
*wm:[2] NUM CLIENTS:  0
*wm:[2] NUM CLIENTS:  0
*wm:[2] NUM CLIENTS:  0
*wm:[2] NUM CLIENTS:  0
*wm:[2] NUM CLIENTS:  0
*wm:[2] NUM CLIENTS:  0


Gruss, birdy
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 13 Oktober 2022, 19:37:54
Hallo birdy,

Zitat
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Connected to blackhole with IP 10.10.10.124 RSSI -42
das sieht so aus, also ob der ESP einfach keine Verbindung zum AP bekommt.
Ich kann mir nicht vorstellen, das er in dem Zustand pingt.
Allerdings ist der reconnect eine Funktion des Frameworks.
Geht das mit einer anderen Firmware besser? Dann muss ich mich deren Quellcode mal ansehen, ob die da irgendwie drum rumprogrammiert haben.

Wobei ich gerade sehe dass meine Plattform veraltet ist und ich das im VSCode mal updaten muss... Ich compiliere es damit dann nochmal neu ...

Gruss
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 13 Oktober 2022, 19:41:58
Zitat von: DerD am 12 Oktober 2022, 12:26:49
Wenn ich die source aus GIT in Platfomio compiliere, erhalte ich folgende Fehlermeldung:
Compiling .pio/build/esp32dev/src/ArduCounter4.00.cpp.o
sh: 1: xtensa-esp32-elf-g++: not found


Ist denn die Espressif32 Plattform installiert?

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 13 Oktober 2022, 22:45:48
Hallo Stefan

Das ist korrekt, diese Meldungen....
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Disconnecte

wurden direkt nach dem Start des WeMos geschrieben, da war wirklich keine Verbindung zum AP zustande gekommen.

ABER, dann habe ich aber den Router neu gestartet, und ....
D Wifi Connected to blackhole with IP 10.10.10.124 RSSI -42
D TCP Server started
*wm:[2] NUM CLIENTS:  0

Danach ist pingen problemlos möglich, FHEM zeigt hauptsächlich opened, wechselt immer wieder ganz kurz auf disconnected, es sind keine set oder get Commands möglich, Readings werden nicht aktualisiert. Wieder dasselbe Problem wie ich es bereits einmal beschrieben habe.

Ich werde dann die neue Version gerne testen :)

Gruss, birdy
   

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 14 Oktober 2022, 16:24:29
Zitat von: StefanStrobel am 13 Oktober 2022, 19:41:58
Ist denn die Espressif32 Plattform installiert?


Ja, auf jeden Fall
Mittlerweile glaube ich an Probleme mit der Toolchain:

- framework-arduinoespressif32 @ 3.20005.220925 (2.0.5)
- tool-esptoolpy @ 1.40201.0 (4.2.1)
- tool-openocd-esp32 @ 2.1100.20220706 (11.0)
- toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3


Die installierte ist aber "toolchain-xtensa-esp32", ohne patch3. Ich hatte mal auch beide toolchains parallel, aber nach mehrfacher Neuinstallation ist es gerade nur eine.

Und auch wenn ich das nano board kompiliere, kommt so ein Fehler. Hier:

sh: 1: avr-gcc: not found

Die AtmelAVR Platform  wird auch angezeigt, hat PlatformIO selber gezogen. Hatte ich bewusst nicht selber installiert.

Die Packages liegen unter dem Ordner "E:\PlatformIO\core", der heißt auch auf meinem Linux-System so, kommt also wohl von dir.


Edit: bei dependencies zeigt er mir toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3 (required: espressif/toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3)  obwohl die Ordner selber kein Suffix "r2p3" haben
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 14 Oktober 2022, 20:54:09
Hallo Dieter,

ich würde mal die Verzeichnisangaben aus meiner platformio.ini rauswerfen, die build-Verzeichnisse löschen und dann nochmal von vorne anfangen. Irgendwas ist da verbogen...

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 14 Oktober 2022, 20:55:37
Hallo birdy,

hier eine neu compilierte Variante mit aktualisierter Plattform etc. für den D1 Mini Pro.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 15 Oktober 2022, 15:11:53
Zitat von: StefanStrobel am 14 Oktober 2022, 20:54:09
ich würde mal die Verzeichnisangaben aus meiner platformio.ini rauswerfen, die build-Verzeichnisse löschen und dann nochmal von vorne anfangen. Irgendwas ist da verbogen...

Danke.
OMG, es ist vollbracht. Ohne diese Projektvorgaben läuft es durch, und nachdem ich dem klargemacht habe, dass der automatisch sorgfältig gewählte Post es leider nicht ist und er auf einem anderen Port versuchen muss, sogar hochgeladen. Ich wollte das Thema Platformio eigentlich für mich schon beerdigen.

Endlich kann der eigentliche Test beginnen.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 18 Oktober 2022, 20:11:40
Hallo Stefan

Vielen Dank für die neue Version, ich habe sie bereits seit ein paar Tagen im Einsatz.

Da Ganze ist immer noch sehr frickelig, und läuft nicht wirklich stabil.
Ich habe immer eine der drei folgenden Situationen. Diese kann ich nicht bewusst reproduzieren. Es ist weitgehen dem Zufall überlassen welche eintrifft.


Was aus meiner Sicht auch merkwürdig ist.
Nach unzähligen Verbindungsversuchen meldet der WoMos in Serial Monitor plötzlich:
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Disconnected
D Try reconnecting WiFi
D Wifi Connected to blackhole with IP 169.254.39.230 RSSI -46

Diese Meldung kann ich absolut nicht nachvollziehen. Ich glaube dem WeMos nicht, dass er mit diesem AP verbunden ist, schon gar nicht mit dieser IP Adresse. Ich habe absolut keine Ahnung woher diese Nr. kommen könnte. Ich vermute am ehesten von ESP WIFImanager.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DasQ am 19 Oktober 2022, 07:04:54
Also ich hab das hier nur grob überflogen, hab aber ein ähnlichen Patient bei mir in der Garage (torantrieb) hängen.

Du sagtest du hattest mal espeasy am laufen, dort wird dir die Signalstärke auf der Startseite angezeigt.

Wieviel dB hat deine wlan Verbindung am esp?

Alles über 83-85db wird dir zwar noch als ,,physisch" verbunden angezeigt, aber dann geht dem Wemos der Saft aus. Sprich für Kommunikation reicht des einfach nimmer. Höher 86db bricht die Verbindung ganz ab.

Bei mir hat ein etwas fricklig positionierter accesspoint im Dach die Lösung gebracht. Ab 81db (tiefer ist besser) läuft es fehlerfrei.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DasQ am 19 Oktober 2022, 07:17:59
Zitat von: thymjan am 07 September 2022, 10:45:07
Wie wäre dann der richtige Aufruf? Das Beispiel aus der Dokumentation für den ESP32 habe ich nicht zum Laufen gebracht. Welche Pins sind beim ESP8266 für die Infrarot LED geeignet, wie müssen diese bezeichnet werden (mit beginnendem D oder nur die Zahl)?
Ottos Methode mit Arduino Nano als Sensor und dann an den ESP8266 mit ArduCounter Sketch habe ich jetzt zum Laufen bekommen.
Könnte der ESP32 auch zwei Ferraris Zähler auslesen?

Schau dir mal die esp Infrarot Fernbedienungs Geschichten an (mir fällt der Name gerade nicht ein) hab das auch auf espeasy umgesetzt. Für die Empfangs led hab ich gpio13 genutzt.

Denke es sollten auch mehrere empfangsleds gehen. Und das sollte auch der ESP32 können.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 19 Oktober 2022, 19:47:56
Zitat von: DasQ am 19 Oktober 2022, 07:04:54
Wieviel dB hat deine wlan Verbindung am esp?
Hallo DasQ
Ich denke damit meinst Du mich.
Egal ob ein Problem auftritt oder alles problemlos läuft, der ESP befindet sich immer am selben Ort. Ca. 70cm von AP entfernt (im Testbetrieb).
Wenn die Verbindung zwischen WeMos und FHEM zu standen kommt.....
Wifi Connected to blackhole with IP 10.10.10.124 RSSI -42
Ich habe sonst eigentlich ein stabiles WLAN und mit keinen anderen Geräten ein Problem. Auch nicht mit meinen Shellys welche auch einen ESP enthalten
Gruss birdy 
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DasQ am 20 Oktober 2022, 09:17:33
Ok, wieviel mA hat das Netzteil?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 20 Oktober 2022, 20:24:54
Zitat von: DasQ am 20 Oktober 2022, 09:17:33
Ok, wieviel mA hat das Netzteil?
momentan 20'000  (hängt am USB Port meines Desktop PC's wegen Serial Monitor)

Verstehe die Frage nicht. Der WeMos hängt immer an der gleichen Stromversorgung. Manchmal kommt eine funktionierende Verbindung WeMos <-> FHEM zu Stande manchmal nicht. Wenn einmal eine funktionierende Verbindung zustande gekommen ist, läuft diese ja über Tage stabil.

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 26 Oktober 2022, 19:13:44
Ich habe da mal eine Frage zum Auslesen der Analogeingänge. Wenn ich mein DMM mit dem Pin verbinde, wird dieser bei

attr Powercounter5 pinD4 falling pulldown min 5 => low
attr Powercounter5 pinD4 falling pullup min 5 => high

So soll es sein.
Bei

attr PowerCounter5 pinA0 rising pullup min 4 analog out 27 threshold 120,220
oder
attr PowerCounter5 pinA0 rising pulldown min 4 analog out 27 threshold 120,220

ändert sich am Pegel nichts, egal ob er vorher auf High oder low war. Erwartet hätte ich jetzt, dass tatsächlich Widerstände trotz Analogeingang zugeschaltet werden, oder aber dieser immer als richtiger Analogeingang ohne pullup/pulldown beschaltet wird. Aber so scheint mir, dass einmal zugeschaltete Widerstände nicht mehr aufgehoben werden.
Kann das denn sein?

Und eine Ergänzungsfrage, an meinem dev-board wäre demnach Pin5 gleichzeitig digitaler / D4 und analoger / A0 input. Oder wo ist mein Fehler?

so sehen die Attributes aus:

pinA0 rising pullup min 4 analog out 27 threshold 120,220 deleteattr
pinD4 falling pulldown min 5 deleteattr


Eine weitere Frage: meine Reflex-Lichtschranke hat "aus" bzw. ohne Reflexion ~3,2V, und generiert negative Pulse. Mit dem Oszi schön erkennbar, bis 1,5V Höhe. Beobachete Analoglevel sind immer immer 0. In der Beschreibung steht, es wird die Differenz gemessen. Ich vermute, damit ist wohl die positive Differenz gemeint, eine negative erkennt er nicht. Kann das sein?

ich konnte aufklären:
Habe die Lichtschranke umgelötet auf positive Pulse, immer noch nichts. Dann finde ich im source-code     36, FF, FF, 39};                // 36 is A0, 39 is avaliable but also input only

Ein D36 ist auf meinem board nicht beschriftet, aber laut Pinout ist das Pin "VP", den gibt es. Probiert und funktioniert.
Damit ist auch klar, dass D4 und A0 nicht derselbe Pin ist. Oh mei.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 11 November 2022, 20:30:27
Habe ein TTGO T-Display ESP32 mit der entsprechenden Firmware geflasht. Möchte einen Ferraris-Zähler damit auslesen. Das Display funktioniert wie beschrieben.
Wenn ich das attr enableHistory auf 1 setze kann ich mir auch mit get history die Werte anzeigen lassen.
Aber das Anzeigen der analogen Werte zum Justieren/Optimieren der Triggerlevel will nicht gelingen.
Die Liste ist immer leer.

Wie funktioniert das?

Hier meine momentane Konfiguration:

defmod ACT ArduCounter 192.168.1.161:80
attr ACT board T-Display
attr ACT deviceDisplay 36,kWh,kW
attr ACT disable 0
attr ACT enableAnalogDebug 0
attr ACT enableHistory 1
attr ACT enableSerialEcho 0
attr ACT interval 5,60,2,15,10,3
attr ACT keepAliveDelay 30
attr ACT keepAliveRetries 3
attr ACT keepAliveTimeout 3
attr ACT nextOpenDelay 20
attr ACT pin36 rising pullup min 4 analog out 27 threshold 120,220
attr ACT pulsesPerKWh 75
attr ACT room ArduCounter ACT
attr ACT stateFormat Momentanverbrauch Wärme: [$name:power36] kW\
<br>\
Zählerstände Wärme kumuliert: [$name:calcCounter36f] kWh\
<br>\
Update\
[$name:pin36:t]\
<br>\
<br>\
Wärme\
<br>\
Now [$name:statCalcCounter36f]\
<br>\
Last [$name:statCalcCounter36fLast]
attr ACT userReadings calcCounter36f:calcCounter36.* {sprintf('%.1f',ReadingsNum($name,"calcCounter36",0))}

setstate ACT Momentanverbrauch Wärme: 7.200 kW\
<br>\
Zählerstände Wärme kumuliert: 2.5 kWh\
<br>\
Update\
2022-11-11 20:21:32\
<br>\
<br>\
Wärme\
<br>\
Now [ACT:statCalcCounter36f]\
<br>\
Last [ACT:statCalcCounter36fLast]
setstate ACT 2022-11-11 20:21:36 RSSI -68
setstate ACT 2022-11-11 20:21:32 calcCounter36 2.53333333333333
setstate ACT 2022-11-11 20:21:32 calcCounter36_i 0.946666666666667
setstate ACT 2022-11-11 20:21:32 calcCounter36f 2.5
setstate ACT 2022-11-11 20:21:32 countDiff36 9
setstate ACT 2022-11-11 20:21:32 interpolatedLong36 190
setstate ACT 2022-11-11 20:21:32 long36 119
setstate ACT 2022-11-11 20:21:32 pin36 21
setstate ACT 2022-11-11 20:21:32 power36 7.200
setstate ACT 2022-11-11 20:21:32 reject36 0
setstate ACT 2022-11-11 20:19:35 state opened
setstate ACT 2022-11-11 20:21:32 timeDiff36 60001


history

Seq      1 2022-11-11 20:19:32 Pin 36   2.171 seconds at 1 (analog 1319) -> pulse continued after ignored drop
Seq      2 2022-11-11 20:19:34 Pin 36   5.782 seconds at 1 (analog 1503) -> pulse continued after ignored drop
Seq      3 2022-11-11 20:19:40 Pin 36   0.124 seconds at 0 (analog 48) -> gap
Seq      4 2022-11-11 20:19:40 Pin 36   0.384 seconds at 1 (analog 377) -> pulse counted
Seq      5 2022-11-11 20:19:40 Pin 36   0.200 seconds at 0 (analog 55) -> gap
Seq      6 2022-11-11 20:19:40 Pin 36   0.476 seconds at 1 (analog 1728) -> pulse counted
Seq      7 2022-11-11 20:19:41 Pin 36   0.108 seconds at 0 (analog 42) -> gap
Seq      8 2022-11-11 20:19:41 Pin 36   0.556 seconds at 1 (analog 2857) -> pulse counted
Seq      9 2022-11-11 20:19:41 Pin 36   0.120 seconds at 0 (analog 39) -> gap
Seq     10 2022-11-11 20:19:42 Pin 36   0.805 seconds at 1 (analog 3045) -> pulse counted
Seq     11 2022-11-11 20:19:42 Pin 36   0.124 seconds at 0 (analog 42) -> gap
Seq     12 2022-11-11 20:19:43 Pin 36   0.616 seconds at 1 (analog 1328) -> pulse counted
Seq     13 2022-11-11 20:19:43 Pin 36   0.156 seconds at 0 (analog 41) -> gap
Seq     14 2022-11-11 20:19:43 Pin 36   0.676 seconds at 1 (analog 2180) -> pulse counted
Seq     15 2022-11-11 20:19:44 Pin 36   0.096 seconds at 0 (analog 46) -> gap
Seq     16 2022-11-11 20:19:44 Pin 36   0.532 seconds at 1 (analog 1984) -> pulse counted
Seq     17 2022-11-11 20:19:45 Pin 36   0.124 seconds at 0 (analog 37) -> gap
Seq     18 2022-11-11 20:19:45 Pin 36   0.604 seconds at 1 (analog 2821) -> pulse counted
Seq     19 2022-11-11 20:19:45 Pin 36   0.088 seconds at 0 (analog 59) -> gap
Seq     20 2022-11-11 20:19:45 Pin 36   0.552 seconds at 1 (analog 1286) -> pulse counted
Seq     21 2022-11-11 20:19:46 Pin 36   0.132 seconds at 0 (analog 45) -> gap
Seq     22 2022-11-11 20:19:46 Pin 36   1.260 seconds at 1 (analog 2167) -> pulse counted
Seq     23 2022-11-11 20:19:47 Pin 36   0.108 seconds at 0 (analog 45) -> gap
Seq     24 2022-11-11 20:19:47 Pin 36   0.512 seconds at 1 (analog 2022) -> pulse counted
Seq     25 2022-11-11 20:19:48 Pin 36   0.176 seconds at 0 (analog 58) -> gap
Seq     26 2022-11-11 20:19:48 Pin 36   0.228 seconds at 1 (analog 1236) -> pulse counted
Seq     27 2022-11-11 20:19:48 Pin 36  48.102 seconds at 0 (analog 26) -> gap
Seq     28 2022-11-11 20:20:37 Pin 36   0.387 seconds at 1 (analog 1759) -> pulse counted
Seq     29 2022-11-11 20:20:37 Pin 36   0.108 seconds at 0 (analog 48) -> gap
Seq     30 2022-11-11 20:20:37 Pin 36   0.436 seconds at 1 (analog 2507) -> pulse counted
Seq     31 2022-11-11 20:20:37 Pin 36   0.116 seconds at 0 (analog 49) -> gap
Seq     32 2022-11-11 20:20:38 Pin 36   0.440 seconds at 1 (analog 1696) -> pulse counted
Seq     33 2022-11-11 20:20:38 Pin 36   0.100 seconds at 0 (analog 46) -> gap
Seq     34 2022-11-11 20:20:38 Pin 36   0.316 seconds at 1 (analog 2039) -> pulse counted
Seq     35 2022-11-11 20:20:38 Pin 36   0.136 seconds at 0 (analog 45) -> gap
Seq     36 2022-11-11 20:20:39 Pin 36   0.432 seconds at 1 (analog 2118) -> pulse counted
Seq     37 2022-11-11 20:20:39 Pin 36   0.088 seconds at 0 (analog 49) -> gap
Seq     38 2022-11-11 20:20:39 Pin 36   0.348 seconds at 1 (analog 2208) -> pulse counted
Seq     39 2022-11-11 20:20:39 Pin 36   0.112 seconds at 0 (analog 53) -> gap
Seq     40 2022-11-11 20:20:40 Pin 36   0.444 seconds at 1 (analog 1717) -> pulse counted
Seq     41 2022-11-11 20:20:40 Pin 36   0.096 seconds at 0 (analog 46) -> gap
Seq     42 2022-11-11 20:20:40 Pin 36   0.940 seconds at 1 (analog 2143) -> pulse counted
Seq     43 2022-11-11 20:20:41 Pin 36   0.088 seconds at 0 (analog 64) -> gap
Seq     44 2022-11-11 20:20:41 Pin 36   0.368 seconds at 1 (analog 2618) -> pulse counted


Muss da "enableAnalogDebug" gesetzt sein?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 13 November 2022, 12:46:31
Au Mann, habe eben erst kapiert, das der Aufruf von "get levels" keine Messdatenreihe ausgibt, sondern die Häufigkeit der jeweils gemessenen analogen Level.

Folgendes gilt doch?
Habe ich beim ESP32 einen Eingang analog definiert, kann dort an eine Spannung von 0 bis 3,3 Volt angelegt werden oder gemessen werden.
Die Wertebereich beinhaltet Werte von 0 bis 4095.
Beim ESP8266 sind es doch 0 bis 1 Volt und Werte von 0 bis 1023, oder?


Bei meinem Testaufbau (Ferrariszähler) werden im reflektierenden Bereich Level-Werte um 4000 ausgegeben, bei der Markierung Werte um 1000.
Wenn ich die Markierung als Puls definiere, dann suche ich einen fallenden Puls, oder?
Mit folgender PIN Definition:
falling pullup min 4 analog out 27 threshold 2000,1200
habe ich jedoch keinen Erfolg. Es werden keine Pulse gezählt.

Ist pullup / pulldown beim analogen Eingang überhaupt sinnvoll?

Irgendwie stehe ich auf dem Schlauch.
Kann mich jemand in die richtige Richtung schubsen?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 13 November 2022, 18:41:04
Kann es sein, dass threshold-Werte über 1023 nicht richtig interpretiert werden?

void CmdThreshold() {   
    if (!checkVal(0,1,1023)) return;                            // analog threshold min, min 1, max 1023
    if (!checkVal(1,1,1023)) return;                            // analog threshold max, min 1, max 1023
    for (uint8_t aIdx = 0; aIdx < maxAnalogIndex; aIdx++)
        analogData[aIdx].thresholdMin = commandData[0];
    for (uint8_t aIdx = 0; aIdx < maxAnalogIndex; aIdx++)
        analogData[aIdx].thresholdMax = commandData[1];

    Output->print(F("D analog thresholds set to ")); Output->print(commandData[0]);
    Output->print(F(" ")); Output->println(commandData[1]);
}


Angehängt mein Diagramm der gemessenen Level-Werte des Ferraris-Zählers.
So kann ich doch nicht so richtig Spass haben, oder?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 13 November 2022, 20:46:37
Habe den Vorwiderstand der IR-LED von 120 Ohm auf 300 Ohm erhöht.
Jetzt klappt's.

attr ACT pin36 rising pullup min 4 analog out 27 threshold 900,950


Als Faustregel für den threshold: Die "ruhige" Mitte zwischen den zwei verrauschten Peaks (bzw. verrauschten Stellen am Anfang und Ende des Diagramms) nehmen und dann für den min und max Wert 20 abziehen bzw. dazuzählen. Kann man das so sagen?
Jeweils die Punkte, wo die "Datenberge" die Talsole erreichen ergibt bei mir eine noch präzisere Erkennung der Impulse.
Beim Blick in die History werden dann, bei gleichbleibendem Verbrauch, die Zeiten für Impuls und Lücke noch besser angeglichen.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 14 November 2022, 18:56:42
Hallo Thymjan

Welchen Sensor hattest du an dem Konstrukt verbaut?

Beim mir stockt es... beim Weitermachen. Zähle noch digitale Pulse und bin den Umbau zu analog noch nicht angegangen.
Digital ist es ein bischen ein Schätzeisen -zählt leider viel zuviel: in 100 Tagen statt 600 kWh etwa 800 kWh (+30%)

Gruß Ralf
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 14 November 2022, 19:56:52
Habe zunächst mit dem KY-033 Modul angefangen, da ist ein TCRT5000 verbaut. Da das Modul unmodifiziert die Impulse nicht richtig erkannt hat, habe ich die IR Lichtschranke kurzerhand ausgelötet (das ist aber auch nix anderes als ein Phototransistor und eine darauf abgestimmte IR-Diode in einem speziell gewinkelten Kunststoffkäfig). Den TCRT5000 habe ich direkt mit Heißkleber in folgendes Gehäuse geklebt:
https://www.mwinklerblog.de/smarthome/aktoren-sensoren/stromzähler/ (https://www.mwinklerblog.de/smarthome/aktoren-sensoren/stromz%C3%A4hler/)
Die hatte ich zunächst an einem Nano, der die Impulse digital an den Arducounter weitergeleitet hat.
https://heinz-otto.blogspot.com/2016/10/ferrariszahler-abtasten-ein-experiment.html (https://heinz-otto.blogspot.com/2016/10/ferrariszahler-abtasten-ein-experiment.html)
Jetzt ist es mir endlich gelungen den Nano und den ESP8266 durch einen ESP32 mit Display zu ersetzen.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 16 November 2022, 15:06:39
Hi
Den TCRT5000 im separaten Gehäuse, aber mit den Vorwiderständen wie im Plan?

Da bin ich (immer noch digitale Auswertung) am Ende auch gelandet.
Ich musste im fertigen Modul (mit TCRT5000) den Vorwiderstand des Fototransistors deutlich von 10k Richtung 2.2k ändern um den Arbeitpunkt am Analogausgang von 0,16V auf etwa 1,5V bis 2V anzuheben. Sonst geht das DeltaU beim Durchlaufen der roten Markierun im Rauschen unter. Den Vorwiderstand an der IR Diode weiss ich gerade nicht.

Muss mich mal aufraffen statt D0 den A0 per Analogeingang am ESP32 auszuwerten. Dein Erfolg spricht dafür  ;D
Zählt dein Modul denn weitgehend sauber?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 16 November 2022, 16:55:46
Schreibe gerade von unterwegs. Habe gestern noch den ArduCounter auf einem ESP8266 getestet. Hier hatte ich nur Erfolg bei Anschluss über die serielle Schnittstelle. Über WLAN ist die Verbindung häufig zusammengebrochen.
Stabil über WLAN funktioniert es jetzt über den ESP32 mit Display (TTGO T-Display).
Die Zählung läuft weitestgehend sauber. Hab's aber noch nicht so lange am Laufen.
Kann heute abend mal schauen.
Meine Stromversorgung ist nicht optimal. Steckernetzteil mit 3A ist über ein gut 5m langes Kabel in den Schaltschrank verlegt und teilt sich die Versorgung mit einem ESP8266 mit Tasmota.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 20 November 2022, 10:34:19
Zitat von: RalfRog am 16 November 2022, 15:06:39
Den TCRT5000 im separaten Gehäuse, aber mit den Vorwiderständen wie im Plan?
Ja.
Zitat
Muss mich mal aufraffen statt D0 den A0 per Analogeingang am ESP32 auszuwerten. Dein Erfolg spricht dafür  ;D
Zählt dein Modul denn weitgehend sauber?
Der ESP32 kann die Analogeingänge ja an verschiedene Pins zuweisen. Bei mir läuft momentan pin36 (also nicht a0). Innerhalb eines Tages war es jetzt auf eine Nachkommastelle genau (sind knapp 20kWh durchgelaufen).

Das sind meine momentanen Einstellungen:
defmod ACT ArduCounter XXX.XXX.XXX.XXX:80
attr ACT board T-Display
attr ACT devStateIcon .*opened:15px-green .*disconnected:15px-red
attr ACT deviceDisplay 36,kWh,kW
attr ACT disable 0
attr ACT enableAnalogDebug 1
attr ACT enableHistory 1
attr ACT enableSerialEcho 0
attr ACT interval 30,1800,5,2,10,3
attr ACT keepAliveDelay 10
attr ACT keepAliveRetries 3
attr ACT keepAliveTimeout 3
attr ACT nextOpenDelay 60
attr ACT pin36 falling pullup min 50 analog out 27 threshold 560,640
attr ACT pulsesPerKWh 75
attr ACT room ArduCounter ACT
attr ACT userReadings calcCounter36f:calcCounter36.* {sprintf('%.1f',ReadingsNum($name,"calcCounter36",0))}


Allerdings kämpfe ich seit wenigen Tagen wieder mit Verbindungsabrüchen. Immerhin hatte das auf die Zählgenauigkeit keine Auswirkungen.
Ein manuelles set ACT reconnect ergibt sofort wieder eine Verbindung. Bin mir nicht sicher ob die keepAlive / nextOpenDelay Einstellungen so wie ich sie gewählt habe sinnvoll sind.
Mit einem notify oder doif auf den state disconnected hatte ich bisher keinen Erfolg:

defmod doifACT DOIF ([ACT:state] eq "disconnected") (set ACT reconnect; setreading ACT watchdog warning) DOELSEIF ([ACT:state] eq "opened") (setreading ACT watchdog ok)
attr doifACT devStateIcon .*initialized:15px-yellow .*cmd_2:15px-green .*cmd_1:15px-red
attr doifACT do resetwait
attr doifACT wait 20,10


Jetzt behelfe ich mir mit einem stündlichen per defmod atACT at +*01:00:00 set ACT reconnect abgesetzten Kommando...  :-\
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 20 November 2022, 11:37:31
Hallo,

was steht denn im Log wenn die Verbindung weg ist?
Eigentlich ist ja der keepAlive-Mechanismus dazu da, die Verbindung neu aufzubauen wenn sie abbricht.
Das hilft natürlich alles nichts wenn der ESP sich nicht mit dem Access-Point verbindet.
Das sollte das Framework eigentlich selbst regeln, aber offenbar klappt das nicht immer ...

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 20 November 2022, 11:51:30
Hallo Stefan,

das steht im log mit verbose 5:

2022.11.20 09:21:58 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 09:21:58 5: ACT: device sent alive response: AR-70
2022.11.20 09:22:08 5: ACT: sending k(eepAlive) to device
2022.11.20 09:22:08 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 09:22:08 5: ACT: device sent alive response: AR-70
2022.11.20 09:22:18 5: ACT: sending k(eepAlive) to device
2022.11.20 09:22:18 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 09:22:18 5: ACT: device sent alive response: AR-70
2022.11.20 09:22:28 5: ACT: sending k(eepAlive) to device
2022.11.20 09:22:28 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 09:22:28 5: ACT: device sent alive response: AR-71
2022.11.20 09:22:38 5: ACT: sending k(eepAlive) to device
2022.11.20 09:22:38 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 09:22:38 5: ACT: device sent alive response: AR-70
2022.11.20 09:22:48 5: ACT: sending k(eepAlive) to device
2022.11.20 09:22:48 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 09:22:48 5: ACT: device sent alive response: AR-69
2022.11.20 09:22:58 5: ACT: sending k(eepAlive) to device
2022.11.20 09:22:58 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 09:22:58 5: ACT: device sent alive response: AR-69
2022.11.20 09:23:08 5: ACT: sending k(eepAlive) to device
2022.11.20 09:23:08 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 09:23:08 5: ACT: device sent alive response: AR-69
2022.11.20 09:23:18 5: ACT: sending k(eepAlive) to device
2022.11.20 09:23:18 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 09:23:18 5: ACT: device sent alive response: AR-69
2022.11.20 09:23:28 5: ACT: sending k(eepAlive) to device
2022.11.20 09:23:28 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 09:23:28 5: ACT: device sent alive response: AR-69
2022.11.20 09:23:38 5: ACT: sending k(eepAlive) to device
2022.11.20 09:23:38 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 09:23:38 5: ACT: device sent alive response: AR-69
2022.11.20 09:23:42 3: 192.168.1.161:80 disconnected, waiting to reappear (ACT)
2022.11.20 09:23:48 5: ACT: sending k(eepAlive) to device
2022.11.20 09:23:48 5: ACT: Write: device is disconnected, dropping line to write
2022.11.20 09:23:51 3: ACT: device didn't reply to k(eeepAlive), count=1
2022.11.20 09:23:58 5: ACT: sending k(eepAlive) to device
2022.11.20 09:23:58 5: ACT: Write: device is disconnected, dropping line to write
2022.11.20 09:24:01 3: ACT: device didn't reply to k(eeepAlive), count=2
2022.11.20 09:24:08 5: ACT: sending k(eepAlive) to device
2022.11.20 09:24:08 5: ACT: Write: device is disconnected, dropping line to write
2022.11.20 09:24:11 3: ACT: device didn't reply to k(eeepAlive), count=3
2022.11.20 09:24:18 5: ACT: sending k(eepAlive) to device
2022.11.20 09:24:18 5: ACT: Write: device is disconnected, dropping line to write
2022.11.20 09:24:21 3: ACT: device didn't reply to k(eeepAlive), no retries left, setting device to disconnected
2022.11.20 10:16:38 4: ACT: set reconnect called
2022.11.20 10:16:38 4: ACT: trying to open connection to 192.168.1.161:80
2022.11.20 10:16:38 3: Opening ACT device 192.168.1.161:80
2022.11.20 10:16:38 5: HttpUtils url=http://192.168.1.161:80/ NonBlocking via http
2022.11.20 10:16:38 4: IP: 192.168.1.161 -> 192.168.1.161
2022.11.20 10:16:38 5: ACT: DoOpen waiting for callback
2022.11.20 10:16:38 3: ACT device opened
2022.11.20 10:16:38 5: ACT: DoOpen succeeded in callback
2022.11.20 10:16:38 5: ACT: sending k(eepAlive) to device
2022.11.20 10:16:38 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 10:16:38 5: attribute board is set to T-Display and is overwriting board ESP32 reported by device
2022.11.20 10:16:38 5: ACT: device sent hello: ArduCounter V4.26 on ESP32 Espressif ESP32 Dev Module with display compiled Jun  6 2020 12:41:51 Hello
2022.11.20 10:16:38 5: ACT: Device Time 135551.13, Offset 1668800.251, Drift -3.283s in 64035.155s, -0.01%
2022.11.20 10:16:38 4: ACT: device sent time info: N135551130,0B1107,0
2022.11.20 10:16:38 5: ACT: Device sent available pins 4,17,21,22,25,26,27,32,33,34,35,36,39
2022.11.20 10:16:38 4: ACT: device sent interval config 30,1800,5,2,0,10
2022.11.20 10:16:38 4: ACT: device sent devVerbose 1,0,0,1,0
2022.11.20 10:16:38 4: ACT: device sent config for pin 36: P36fp m50out27t560/640
2022.11.20 10:16:38 5: ACT: device sent alive response: AR-70
2022.11.20 10:16:39 5: ACT: ConfigureDevice: send config
2022.11.20 10:16:39 5: ACT: ConfigurePin creates command 36,2,1,50,27,560,640a
2022.11.20 10:16:39 5: DevIo_SimpleWrite ACT: 36,2,1,50,27,560,640a.
2022.11.20 10:16:39 5: ACT: ConfigureDevice: no pins in running config without attribute in Fhem
2022.11.20 10:16:39 5: ACT: ConfigureIntervals creates command 30,1800,5,2,,10,3,10i
2022.11.20 10:16:39 5: DevIo_SimpleWrite ACT: 30,1800,5,2,,10,3,10i.
2022.11.20 10:16:39 5: ACT: ConfigureVerboseLevels creates command 1,0,0,1,0v
2022.11.20 10:16:39 5: DevIo_SimpleWrite ACT: 1,0,0,1,0v.
2022.11.20 10:16:39 5: ACT: ConfigureDisplay pin 36 / 36, ppu 75, fut 60
2022.11.20 10:16:39 5: ACT: ConfigureDisplay 36, 75, 1, kWh, 60, kW
2022.11.20 10:16:39 5: ACT: ConfigureDisplay creates command 36,75,1,22379,104,60,22379,0u
2022.11.20 10:16:39 5: DevIo_SimpleWrite ACT: 36,75,1,22379,104,60,22379,0u.
2022.11.20 10:16:39 5: DevIo_SimpleWrite ACT: s.
2022.11.20 10:16:40 4: ACT: device: defined P36fp m50out27t560/640
2022.11.20 10:16:40 4: ACT: device sent interval config 30,1800,5,2,0,10
2022.11.20 10:16:40 4: ACT: device sent devVerbose 1,0,0,1,0
2022.11.20 10:16:40 4: ACT: device sent unit display config 36,75,1,kWh,60,kW
2022.11.20 10:16:40 4: ACT: device: Status: ArduCounter V4.26 on ESP32 Espressif ESP32 Dev Module with display compiled Jun  6 2020 12:41:51
2022.11.20 10:16:40 4: ACT: device: Connected to mellificium with IP 192.168.1.161 RSSI -69
2022.11.20 10:16:40 4: ACT: device sent interval config 30,1800,5,2,0,10
2022.11.20 10:16:40 4: ACT: device sent devVerbose 1,0,0,1,0
2022.11.20 10:16:40 4: ACT: device sent unit display config 36,75,1,kWh,60,kW
2022.11.20 10:16:40 4: ACT: device sent config for pin 36: P36fp m50out27t560/640, DR36C3046D0/0T0X0
2022.11.20 10:16:40 4: ACT: device: EEPROM Config: 30,1800,5,2,0,10i1,0,0,1,0v36,75,1,22379,104,60,22379u36,2,1,50,27,560,640a
2022.11.20 10:16:40 4: ACT: device: Next report in 24590 milliseconds
2022.11.20 10:16:48 5: ACT: sending k(eepAlive) to device
2022.11.20 10:16:48 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 10:16:48 5: ACT: device sent alive response: AR-70
2022.11.20 10:16:58 5: ACT: sending k(eepAlive) to device
2022.11.20 10:16:58 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 10:16:58 5: ACT: device sent alive response: AR-70
2022.11.20 10:17:08 5: ACT: sending k(eepAlive) to device
2022.11.20 10:17:08 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.20 10:17:08 5: ACT: device sent alive response: AR-69
2022.11.20 10:17:18 5: ACT: sending k(eepAlive) to device
2022.11.20 10:17:18 5: DevIo_SimpleWrite ACT: 1,10k.


Der Disconnect wird gemeldet, aber es wird nochmal versucht die Kommunikation aufzunehmen? Dann nach drei Versuchen wird der Status disconnected gesetzt.

Habe die ArduCounter Version geflasht, die bei fhem dabei ist.

Grüße
(auch) Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 21 November 2022, 18:43:42
Hallo Stefan,

das ist seltsam. Kannst Du mal ein list ACT posten?
Eigentlich sollte das Modul alle 60 Sekunden versuchen, die Verbindung wieder aufzubauen. Ein set reconnect sollte überflüssig sein.
Bei mir sieht das so aus:


2022.11.21 18:39:05 5: ACESPTest: sending k(eepAlive) to device
2022.11.21 18:39:05 5: DevIo_SimpleWrite ACESPTest: 1,10k.
2022.11.21 18:39:05 5: ACESPTest: device sent alive response: AR-61

2022.11.21 18:39:15 5: ACESPTest: sending k(eepAlive) to device
2022.11.21 18:39:15 5: DevIo_SimpleWrite ACESPTest: 1,10k.
2022.11.21 18:39:17 3: ACESPTest: device didn't reply to k(eeepAlive), count=1
2022.11.21 18:39:25 5: ACESPTest: sending k(eepAlive) to device
2022.11.21 18:39:25 5: DevIo_SimpleWrite ACESPTest: 1,10k.
2022.11.21 18:39:27 3: ACESPTest: device didn't reply to k(eeepAlive), count=2
2022.11.21 18:39:35 5: ACESPTest: sending k(eepAlive) to device
2022.11.21 18:39:35 5: DevIo_SimpleWrite ACESPTest: 1,10k.
2022.11.21 18:39:37 3: ACESPTest: device didn't reply to k(eeepAlive), no retries left, setting device to disconnected
2022.11.21 18:39:37 3: 192.168.70.198:80 disconnected, waiting to reappear (ACESPTest)

2022.11.21 18:39:37 5: HttpUtils url=http://192.168.70.198:80/ NonBlocking via http
2022.11.21 18:39:37 4: IP: 192.168.70.198 -> 192.168.70.198
2022.11.21 18:39:40 5: ACESPTest: Open callback: connect to http://192.168.70.198:80 timed out
2022.11.21 18:40:00 3: EnOcean set Bew_Beet_rechts B0
2022.11.21 18:40:40 5: HttpUtils url=http://192.168.70.198:80/ NonBlocking via http
2022.11.21 18:40:40 4: IP: 192.168.70.198 -> 192.168.70.198
2022.11.21 18:40:43 5: ACESPTest: Open callback: connect to http://192.168.70.198:80 timed out

2022.11.21 18:41:43 5: HttpUtils url=http://192.168.70.198:80/ NonBlocking via http
2022.11.21 18:41:43 4: IP: 192.168.70.198 -> 192.168.70.198
2022.11.21 18:41:43 3: 192.168.70.198:80 reappeared (ACESPTest)
2022.11.21 18:41:43 5: ACESPTest: DoOpen succeeded in callback
2022.11.21 18:41:43 5: ACESPTest: sending k(eepAlive) to device
2022.11.21 18:41:43 5: DevIo_SimpleWrite ACESPTest: 1,10k.
2022.11.21 18:41:43 5: ACESPTest: device sent hello: ArduCounter V4.27 on ESP8266 PLATFORMIO_D1_MINI_PRO compiled Oct 14 2022 20:43:41 with core version 3.0.2 Hello
2022.11.21 18:41:43 4: ACESPTest: device did reset (now 52.202, before 53.352). New offset is 1669052451.36845
2022.11.21 18:41:43 5: ACESPTest: Device Time 52.202, Offset 1669052.451, Drift 1191.980s in 1677.644s, 71.05%
2022.11.21 18:41:43 4: ACESPTest: device sent time info: N52202,0B567,0
2022.11.21 18:41:43 5: ACESPTest: Device sent available pins 0,1,2,5,6,7,17
2022.11.21 18:41:43 4: ACESPTest: device sent interval config 30,60,2,2,50,4
...


Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 21 November 2022, 20:19:16
Hallo Stefan,

hier mein list ACT (history und levels sind noch aktiv, ist das ein Problem?):

Internals:
   Board      T-Display
   BoardDet   Espressif ESP32 Dev Module with display
   DEF        192.168.1.161:80
   DeviceName 192.168.1.161:80
   FD         24
   FUUID      6366ee98-f33f-c6f0-bea1-1c54d9f5c80481f6
   HistIdx    10
   Initialized 1
   LASTOPEN   1669054598.65708
   LastHistSeq 8497
   NAME       ACT
   NOTIFYDEV  global
   NR         291
   NTFY_ORDER 50-ACT
   PARTIAL   
   STATE      State: opened
<br>
Momentanverbrauch Wärme: 0.069 kW
<br>
Zählerstände Wärme kumuliert: 129007.8 kWh
<br>
zuletzt aktualisiert:
2022-11-21 20:09:15
<br>
RSSI -67 dB
<br>
Wärme
<br>
Now Hour: 0.0 Day: 22.3 Month: 45.1 Year: 45.1 (since: 2022-11-20 )
<br>
Last Hour: 0.1 Day: 22.8 Month: - Year: -
   SketchCompile Jun  6 2020 12:41:51
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 4.26
   VersionModule 8.00 - 21.10.2021
   allowedPins 4,17,21,22,25,26,27,32,33,34,35,36,A0,39
   buffer     
   deviceBooted 1668800248.93236
   devioLoglevel 3
   eventCount 15982
   nextOpenDelay 60
   Helper:
     DBLOG:
       RSSI:
         energydb:
           TIME       1669057892.62505
           VALUE      -67
       calcCounter36f:
         energydb:
           TIME       1669057755.98235
           VALUE      129007.8
       power36:
         energydb:
           TIME       1669057755.98235
           VALUE      0.069
   History:
     Seq   8488 2022-11-21 19:10:23 Pin 36 686.128 seconds at 1 (analog 736) -> gap
     Seq   8489 2022-11-21 19:21:49 Pin 36  29.668 seconds at 0 (analog 552) -> pulse counted
     Seq   8490 2022-11-21 19:22:19 Pin 36 680.296 seconds at 1 (analog 771) -> gap
     Seq   8491 2022-11-21 19:33:39 Pin 36  29.589 seconds at 0 (analog 552) -> pulse counted
     Seq   8492 2022-11-21 19:34:09 Pin 36 677.066 seconds at 1 (analog 770) -> gap
     Seq   8493 2022-11-21 19:45:26 Pin 36  29.968 seconds at 0 (analog 552) -> pulse counted
     Seq   8494 2022-11-21 19:45:56 Pin 36 669.511 seconds at 1 (analog 773) -> gap
     Seq   8495 2022-11-21 19:57:05 Pin 36  29.748 seconds at 0 (analog 551) -> pulse counted
     Seq   8496 2022-11-21 19:57:35 Pin 36 661.812 seconds at 1 (analog 771) -> gap
     Seq   8497 2022-11-21 20:08:37 Pin 36  29.430 seconds at 0 (analog 552) -> pulse counted
   HistoryPin:
     36
     36
     36
     36
     36
     36
     36
     36
     36
     36
   OLDREADINGS:
   READINGS:
     2022-11-21 20:11:32   RSSI            -67
     2022-11-21 20:09:15   calcCounter36   129007.846666667
     2022-11-21 20:09:15   calcCounter36_i 8.29333333333333
     2022-11-21 20:09:15   calcCounter36f  129007.8
     2022-11-21 20:09:15   countDiff36     2
     2022-11-21 20:09:15   interpolatedLong36 11938
     2022-11-21 20:09:15   long36          11316
     2022-11-21 20:09:15   pin36           5097
     2022-11-21 20:09:15   power36         0.069
     2022-11-21 20:09:15   reject36        60
     2022-11-21 20:11:32   statCalcCounter36f Hour: 0.0 Day: 22.3 Month: 45.1 Year: 45.1 (since: 2022-11-20 )
     2022-11-21 19:59:55   statCalcCounter36fLast Hour: 0.1 Day: 22.8 Month: - Year: -
     2022-11-21 20:11:32   statPower36Day  Min: 0.027 Avg: 1.274 Max: 12.135
     2022-11-20 23:59:55   statPower36DayLast Min: 0.053 Avg: 1.002 Max: 10.444
     2022-11-21 20:11:32   statPower36Hour Min: 0.068 Avg: 0.068 Max: 0.069
     2022-11-21 19:59:55   statPower36HourLast Min: 0.066 Avg: 0.067 Max: 0.068
     2022-11-21 20:11:32   statPower36Month Min: 0.027 Avg: 0.906 Max: 12.135 (since: 2022-11-19_12:14:20 )
     2022-11-21 20:11:32   statPower36Year Min: 0.027 Avg: 0.906 Max: 12.135 (since: 2022-11-19_12:14:20 )
     2022-11-21 19:16:38   state           opened
     2022-11-21 20:09:15   timeDiff36      1390501
     2022-11-19 20:37:36   watchdog        ok
   analogLevels:
     438        1
     446        1
     449        1
     450        1
     451        1
     453        3
     454        3
     455        2
     456        7
     457        1
     458        4
     459        2
     460        4
     461        2
     462        4
     463        6
     464        2
     465        6
     466        4
     467        4
     468        4
     469        9
     470        9
     471        8
     472        9
     473        10
     474        16
     475        16
     476        21
     477        16
     478        16
     479        22
     480        17
     481        27
     482        24
     483        27
     484        13
     485        21
     486        20
     487        24
     488        23
     489        27
     490        27
     491        25
     492        35
     493        45
     494        49
     495        54
     496        52
     497        55
     498        65
     499        55
     500        92
     501        115
     502        148
     503        217
     504        265
     505        382
     506        469
     507        658
     508        885
     509        1348
     510        2088
     511        1317
     512        1219
     513        1294
     514        1276
     515        1204
     516        1336
     517        1549
     518        1742
     519        2006
     520        2250
     521        2808
     522        3197
     523        3990
     524        5029
     525        6644
     526        9266
     527        14281
     528        16662
     529        13657
     530        13475
     531        14003
     532        14889
     533        15623
     534        15972
     535        15996
     536        15971
     537        16819
     538        17377
     539        19021
     540        21228
     541        24608
     542        28511
     543        33047
     544        37114
     545        39013
     546        39328
     547        39291
     548        38158
     549        37449
     550        36477
     551        36426
     552        37923
     553        41413
     554        45531
     555        49959
     556        55852
     557        60684
     558        64579
     559        68874
     560        43355
     561        17258
     562        8296
     563        4628
     564        2950
     565        2317
     566        1927
     567        1876
     568        1736
     569        1692
     570        1757
     571        1696
     572        1819
     573        1929
     574        2146
     575        2461
     576        2315
     577        1973
     578        1747
     579        1597
     580        1529
     581        1470
     582        1306
     583        1329
     584        1358
     585        1297
     586        1400
     587        1433
     588        1564
     589        1707
     590        1967
     591        2534
     592        2573
     593        1914
     594        1647
     595        1485
     596        1381
     597        1321
     598        1297
     599        1219
     600        1186
     601        1207
     602        1133
     603        1185
     604        1256
     605        1275
     606        1320
     607        1320
     608        1377
     609        1360
     610        1270
     611        1253
     612        1218
     613        1158
     614        1105
     615        1075
     616        1062
     617        1085
     618        1098
     619        1167
     620        1288
     621        1319
     622        1592
     623        2015
     624        2030
     625        1510
     626        1262
     627        1177
     628        1152
     629        1093
     630        1033
     631        988
     632        1051
     633        1007
     634        1065
     635        1077
     636        1138
     637        1186
     638        1342
     639        1381
     640        1457
     641        1413
     642        1456
     643        1496
     644        1798
     645        1880
     646        2135
     647        2338
     648        2665
     649        2935
     650        3427
     651        4336
     652        5205
     653        6642
     654        9774
     655        15112
     656        18765
     657        15409
     658        14144
     659        13586
     660        13611
     661        13942
     662        14151
     663        14104
     664        13803
     665        14168
     666        14479
     667        15697
     668        17657
     669        19887
     670        22902
     671        25553
     672        28430
     673        29757
     674        30437
     675        30856
     676        31238
     677        31446
     678        31052
     679        30652
     680        30398
     681        30284
     682        31137
     683        32944
     684        35280
     685        40733
     686        51445
     687        71897
     688        78415
     689        60405
     690        50850
     691        47536
     692        46158
     693        45763
     694        45717
     695        43836
     696        42908
     697        42244
     698        42086
     699        42201
     700        44249
     701        48266
     702        53878
     703        59758
     704        61260
     705        58874
     706        57866
     707        58904
     708        60992
     709        62953
     710        63981
     711        63791
     712        62983
     713        63622
     714        63659
     715        64757
     716        67114
     717        72771
     718        84519
     719        109944
     720        116919
     721        95582
     722        89182
     723        86713
     724        85995
     725        84900
     726        81741
     727        78267
     728        75205
     729        73708
     730        71716
     731        72314
     732        73267
     733        75891
     734        79239
     735        81758
     736        82013
     737        81018
     738        80644
     739        80562
     740        81439
     741        82953
     742        82732
     743        82314
     744        80667
     745        80201
     746        81537
     747        85322
     748        93348
     749        108522
     750        138105
     751        192147
     752        206194
     753        160788
     754        138133
     755        126697
     756        122476
     757        122125
     758        121723
     759        122644
     760        123218
     761        126803
     762        130848
     763        135784
     764        142541
     765        151884
     766        164790
     767        177331
     768        182005
     769        182559
     770        180739
     771        178733
     772        177219
     773        176964
     774        176196
     775        175852
     776        178209
     777        184700
     778        194118
     779        208780
     780        229161
     781        259836
     782        312803
     783        416481
     784        434344
     785        338229
     786        301720
     787        287042
     788        285412
     789        288629
     790        291873
     791        294790
     792        299742
     793        306825
     794        315263
     795        325214
     796        333265
     797        342668
     798        352134
     799        356565
     800        350748
     801        338176
     802        325843
     803        317840
     804        314259
     805        312659
     806        308551
     807        303051
     808        299370
     809        301042
     810        304311
     811        310555
     812        320854
     813        344060
     814        391809
     815        492473
     816        471634
     817        334232
     818        270531
     819        234651
     820        213261
     821        198333
     822        185770
     823        175716
     824        169881
     825        170441
     826        172619
     827        179582
     828        187469
     829        198260
     830        211990
     831        223738
     832        208550
     833        176516
     834        151259
     835        134821
     836        125392
     837        117854
     838        113221
     839        109262
     840        106987
     841        107790
     842        110127
     843        112985
     844        116722
     845        123230
     846        135136
     847        156440
     848        129187
     849        78420
     850        58393
     851        47648
     852        40648
     853        35530
     854        31601
     855        28938
     856        26682
     857        24819
     858        23417
     859        21993
     860        21334
     861        20155
     862        19016
     863        17004
     864        14030
     865        11051
     866        8100
     867        5993
     868        4584
     869        3706
     870        3358
     871        3149
     872        3093
     873        3257
     874        3260
     875        3107
     876        2913
     877        2686
     878        2440
     879        2048
     880        782
     881        242
     882        84
     883        31
     884        23
     885        21
     886        15
     887        11
     888        14
     889        13
     890        5
     891        12
     892        6
     893        9
     894        5
   helper:
     _98_statistics Statistik
   runningCfg:
     36         P36fp m50out27t560/640, DR36C5092D1/1T720809X0A30598
     I          30,1800,5,2,0,10
     U          36,75,1,kWh,60,kW
     V          1,0,0,1,0
Attributes:
   board      T-Display
   comment    16.11.22 18 Uhr Counter gestellt
17.11.22 19 Uhr state: disconnected
                Counter gestellt 128920.5 kWh
19.11.22 09 Uhr Impuls auf falling gestellt
                threshold 560,640
                min Impulslänge von 4ms auf 50ms angehoben (bei 6kW ist ein Impuls 270ms lang)
                keepAliveDelay von 30s auf 10s verkürzt (wg. Verbindungsabbrüchen)
                nextOpenDelay von 20s auf 60s erhöht
         13 Uhr userReading connection erstellt, notify auf disconnected
                *** verbose 5 ****
   devStateIcon .*active:15px-orange .*opened:15px-green .*disconnected:15px-red
   deviceDisplay 36,kWh,kW
   disable    0
   enableAnalogDebug 1
   enableHistory 1
   enableSerialEcho 0
   event-on-update-reading state,RSSI,calc.*,connection,power36
   interval   30,1800,5,2,10,3
   keepAliveDelay 10
   keepAliveRetries 3
   keepAliveTimeout 3
   nextOpenDelay 60
   pin36      falling pullup min 50 analog out 27 threshold 560,640
   pulsesPerKWh 75
   room       ArduCounter ACT
   stateFormat State: [$name:state]
<br>
Momentanverbrauch Wärme: [$name:power36] kW
<br>
Zählerstände Wärme kumuliert: [$name:calcCounter36f] kWh
<br>
zuletzt aktualisiert:
[$name:pin36:t]
<br>
RSSI [$name:RSSI] dB
<br>
Wärme
<br>
Now [$name:statCalcCounter36f]
<br>
Last [$name:statCalcCounter36fLast]
   userReadings calcCounter36f:calcCounter36.* {sprintf('%.1f',ReadingsNum($name,"calcCounter36",0))}
   verbose    5


Habe parallel noch ein Presence Modul auf die IP des ArduCounters angelegt. Auf den Ping antwortet er ständig, obwohl ArduCounter sagt, die Verbindung sei unterbrochen.

Im unten angehängten RSSI chart kann man die heutigen Verbindungsabbrüche vom ArduCounter Modul erkennen.

Gruß
thymjan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 21 November 2022, 20:37:07
Hallo thymjan,

als Du das list erzeugt hast, war er aber verbunden oder?
state steht ja noch auf open.

Bitte gib doch mal folgendes in die Eingabeleiste ein, sobald er wieder auf disconnected steht, dann sehen wir ob er auf der Liste der Geräte steht, zu denen die Verbindung wieder aufgebaut werden soll:

{join "\n", keys %readyfnlist}

Dazu nochmal ein list hilft hoffentlich bei der Eingrenzung...

Gruss / Thanx
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 21 November 2022, 20:39:34
Zitatals Du das list erzeugt hast, war er aber verbunden oder?
Ja, das Modul war verbunden (bzw. auf "opened").

Habe nur die zwei Zustände "opened" und "disconnected". Etwas anderes wird mir nicht angezeigt.
ZitatBitte gib doch mal folgendes in die Eingabeleiste ein, sobald er wieder auf disconnected steht, dann sehen wir ob er auf der Liste der Geräte steht, zu denen die Verbindung wieder aufgebaut werden soll:

Mach ich, danke für s'Kümmern!

Grüße
Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 21 November 2022, 22:59:52
Antwort:
act.192.168.1.161:80


Internals:
   Board      T-Display
   BoardDet   Espressif ESP32 Dev Module with display
   DEF        192.168.1.161:80
   DevIoJustClosed 1
   DeviceName 192.168.1.161:80
   FUUID      6366ee98-f33f-c6f0-bea1-1c54d9f5c80481f6
   Initialized 1
   LASTOPEN   1669058198.65751
   NAME       ACT
   NOTIFYDEV  global
   NR         291
   NTFY_ORDER 50-ACT
   STATE      State: disconnected
<br>
Momentanverbrauch Wärme: 0.085 kW
<br>
Zählerstände Wärme kumuliert: 129008.0 kWh
<br>
zuletzt aktualisiert:
2022-11-21 21:55:19
<br>
RSSI -59 dB
<br>
Wärme
<br>
Now Hour: 0.0 Day: 22.5 Month: 45.3 Year: 45.3 (since: 2022-11-20 )
<br>
Last Hour: 0.1 Day: 22.8 Month: - Year: -
   SketchCompile Jun  6 2020 12:41:51
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 4.26
   VersionModule 8.00 - 21.10.2021
   allowedPins 4,17,21,22,25,26,27,32,33,34,35,36,A0,39
   buffer     
   deviceBooted 1668800248.94188
   devioLoglevel 3
   eventCount 16702
   nextOpenDelay 60
   Helper:
     DBLOG:
       RSSI:
         energydb:
           TIME       1669064994.30009
           VALUE      -59
       calcCounter36f:
         energydb:
           TIME       1669064119.40647
           VALUE      129008.0
       power36:
         energydb:
           TIME       1669064119.40647
           VALUE      0.085
   OLDREADINGS:
   READINGS:
     2022-11-21 22:09:54   RSSI            -59
     2022-11-21 21:55:19   calcCounter36   129007.980000001
     2022-11-21 21:55:19   calcCounter36_i 8.29333333333333
     2022-11-21 21:55:19   calcCounter36f  129008.0
     2022-11-21 21:55:19   countDiff36     2
     2022-11-21 21:55:19   interpolatedLong36 11948
     2022-11-21 21:55:19   long36          11326
     2022-11-21 21:55:19   pin36           5107
     2022-11-21 21:55:19   power36         0.085
     2022-11-21 21:55:19   reject36        60
     2022-11-21 22:10:03   statCalcCounter36f Hour: 0.0 Day: 22.5 Month: 45.3 Year: 45.3 (since: 2022-11-20 )
     2022-11-21 21:59:55   statCalcCounter36fLast Hour: 0.1 Day: 22.8 Month: - Year: -
     2022-11-21 22:10:03   statPower36Day  Min: 0.027 Avg: 1.167 Max: 12.135
     2022-11-20 23:59:55   statPower36DayLast Min: 0.053 Avg: 1.002 Max: 10.444
     2022-11-21 22:10:03   statPower36Hour Min: 0.085 Avg: 0.085 Max: 0.085
     2022-11-21 21:59:55   statPower36HourLast Min: 0.071 Avg: 0.076 Max: 0.085
     2022-11-21 22:10:03   statPower36Month Min: 0.027 Avg: 0.878 Max: 12.135 (since: 2022-11-19_12:14:20 )
     2022-11-21 22:10:03   statPower36Year Min: 0.027 Avg: 0.878 Max: 12.135 (since: 2022-11-19_12:14:20 )
     2022-11-21 22:10:03   state           disconnected
     2022-11-21 21:55:19   timeDiff36      1123573
     2022-11-19 20:37:36   watchdog        ok
   helper:
     _98_statistics Statistik
   runningCfg:
     36         P36fp m50out27t560/640, DR36C5097D0/0T0X0
     I          30,1800,5,2,0,10
     U          36,75,1,kWh,60,kW
     V          0,0,0,0,0
Attributes:
   board      T-Display
   comment    16.11.22 18 Uhr Counter gestellt
17.11.22 19 Uhr state: disconnected
                Counter gestellt 128920.5 kWh
19.11.22 09 Uhr Impuls auf falling gestellt
                threshold 560,640
                min Impulslänge von 4ms auf 50ms angehoben (bei 6kW ist ein Impuls 270ms lang)
                keepAliveDelay von 30s auf 10s verkürzt (wg. Verbindungsabbrüchen)
                nextOpenDelay von 20s auf 60s erhöht
         13 Uhr userReading connection erstellt, notify auf disconnected
                *** verbose 5 ****
21.11.22 20 Uhr verbose 0
                history/levels deaktiviert und gelöscht
   devStateIcon .*active:15px-orange .*opened:15px-green .*disconnected:15px-red
   deviceDisplay 36,kWh,kW
   disable    0
   enableAnalogDebug 0
   enableHistory 0
   enableSerialEcho 0
   event-on-update-reading state,RSSI,calc.*,connection,power36
   interval   30,1800,5,2,10,3
   keepAliveDelay 10
   keepAliveRetries 3
   keepAliveTimeout 3
   nextOpenDelay 60
   pin36      falling pullup min 50 analog out 27 threshold 560,640
   pulsesPerKWh 75
   room       ArduCounter ACT
   stateFormat State: [$name:state]
<br>
Momentanverbrauch Wärme: [$name:power36] kW
<br>
Zählerstände Wärme kumuliert: [$name:calcCounter36f] kWh
<br>
zuletzt aktualisiert:
[$name:pin36:t]
<br>
RSSI [$name:RSSI] dB
<br>
Wärme
<br>
Now [$name:statCalcCounter36f]
<br>
Last [$name:statCalcCounter36fLast]
   userReadings calcCounter36f:calcCounter36.* {sprintf('%.1f',ReadingsNum($name,"calcCounter36",0))}
   verbose    0
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 22 November 2022, 16:56:51
Hallo Stefan,

ok, jetzt steht er auf disconnected und das Device ist in der readyfnlist eingetragen, d.h. die readyfn wird regelmäßig aufgerufen und sollte regelmäßig open aufrufen.
Das Internal DevIoJustClosed  sollte auch nach kurzer Zeit verschwunden sein. Wenn verbose immer noch auf 5 steht, müsstest Du die Open-Versuche (Eintrag mit HttpUtils) im Log sehen.
Ist das so?
Ist DevIoJustClosed verschwunden?

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 22 November 2022, 17:56:31
Ich denke ich habe das Problem identifiziert.
In der ReadyFn prüfe ich das Internal STATE vor dem Aufruf von Open:

if($hash->{STATE} eq "disconnected") {
...

Bei Dir war aber das stateFormat irgendwie schneller und hat das Internal STATE auf "State: disconnected" gesetzt.
Damit wird kein open mehr aufgerufen.
Ich kläre das mal und korrigiere das.

Gruss
   Stefan

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 22 November 2022, 18:17:56
Zitat von: thymjan am 20 November 2022, 10:34:19
...... Innerhalb eines Tages war es jetzt auf eine Nachkommastelle genau (sind knapp 20kWh durchgelaufen).

Macht Mut  ;D    deutlich besser als bei mir am Diditalausgang
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 23 November 2022, 21:17:31
Zitat von: StefanStrobel am 22 November 2022, 16:56:51
ok, jetzt steht er auf disconnected und das Device ist in der readyfnlist eingetragen, d.h. die readyfn wird regelmäßig aufgerufen und sollte regelmäßig open aufrufen.
Das Internal DevIoJustClosed  sollte auch nach kurzer Zeit verschwunden sein. Wenn verbose immer noch auf 5 steht, müsstest Du die Open-Versuche (Eintrag mit HttpUtils) im Log sehen.
Ist das so?
Ist DevIoJustClosed verschwunden?

Momentan hat das ArduCounter-Modul die Verbindung wieder verloren (disconnected).

Habe ein Presence-Modul auf die IP vom ArduCounter eingerichtet:
defmod preACT PRESENCE lan-ping 192.168.1.161
Das zeigt gerade an, das der ESP sichtbar ist.

Aktuelles list ACT:
Internals:
   Board      T-Display
   BoardDet   Espressif ESP32 Dev Module with display
   DEF        192.168.1.161:80
   DevIoJustClosed 1
   DeviceName 192.168.1.161:80
   FUUID      6366ee98-f33f-c6f0-bea1-1c54d9f5c80481f6
   HistIdx    16
   Initialized 1
   LASTOPEN   1669223745.78449
   LastHistSeq 55
   NAME       ACT
   NOTIFYDEV  global
   NR         291
   NTFY_ORDER 50-ACT
   STATE      State: disconnected
<br>
Momentanverbrauch Wärme: 0.069 kW
<br>
Zählerstände Wärme kumuliert: 129065.8 kWh
<br>
zuletzt aktualisiert:
2022-11-23 19:43:46
<br>
RSSI -65 dB
<br>
Wärme
<br>
Now Hour: 0.0 Day: 27.0 Month: 103.1 Year: 103.1 (since: 2022-11-20 )
<br>
Last Hour: 0.0 Day: 29.3 Month: - Year: -
   SketchCompile Jun  6 2020 12:41:51
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 4.26
   VersionModule 8.00 - 21.10.2021
   allowedPins 4,17,21,22,25,26,27,32,33,34,35,36,A0,39
   buffer     
   deviceBooted 1669181320.02069
   devioLoglevel 3
   eventCount 4762
   nextOpenDelay 60
   Helper:
     DBLOG:
       RSSI:
         energydb:
           TIME       1669229446.7916
           VALUE      -65
       calcCounter36f:
         energydb:
           TIME       1669229026.78967
           VALUE      129065.8
       power36:
         energydb:
           TIME       1669229026.78967
           VALUE      0.069
   History:
     Seq     40 2022-11-23 18:09:25 Pin 36 693.792 seconds at 1 (analog 769) -> gap
     Seq     41 2022-11-23 18:20:59 Pin 36  30.821 seconds at 0 (analog 564) -> pulse counted
     Seq     42 2022-11-23 18:21:30 Pin 36 684.668 seconds at 1 (analog 771) -> gap
     Seq     43 2022-11-23 18:32:54 Pin 36  29.508 seconds at 0 (analog 564) -> pulse counted
     Seq     44 2022-11-23 18:33:24 Pin 36 677.781 seconds at 1 (analog 772) -> gap
     Seq     45 2022-11-23 18:44:41 Pin 36  29.924 seconds at 0 (analog 563) -> pulse counted
     Seq     46 2022-11-23 18:45:11 Pin 36 677.556 seconds at 1 (analog 772) -> gap
     Seq     47 2022-11-23 18:56:29 Pin 36  30.306 seconds at 0 (analog 566) -> pulse counted
     Seq     48 2022-11-23 18:56:59 Pin 36 681.493 seconds at 1 (analog 771) -> gap
     Seq     49 2022-11-23 19:08:21 Pin 36  29.877 seconds at 0 (analog 562) -> pulse counted
     Seq     50 2022-11-23 19:08:51 Pin 36 671.778 seconds at 1 (analog 773) -> gap
     Seq     51 2022-11-23 19:20:02 Pin 36  29.407 seconds at 0 (analog 565) -> pulse counted
     Seq     52 2022-11-23 19:20:32 Pin 36 663.079 seconds at 1 (analog 774) -> gap
     Seq     53 2022-11-23 19:31:35 Pin 36  28.785 seconds at 0 (analog 561) -> pulse counted
     Seq     54 2022-11-23 19:32:04 Pin 36 662.926 seconds at 1 (analog 774) -> gap
     Seq     55 2022-11-23 19:43:07 Pin 36  28.744 seconds at 0 (analog 565) -> pulse counted
   HistoryPin:
     36
     36
     36
     36
     36
     36
     36
     36
     36
     36
     36
     36
     36
     36
     36
     36
   READINGS:
     2022-11-23 19:50:46   RSSI            -65
     2022-11-23 19:43:46   calcCounter36   129065.806666667
     2022-11-23 19:43:46   calcCounter36_i 98.1466666666667
     2022-11-23 19:43:46   calcCounter36f  129065.8
     2022-11-23 19:43:46   countDiff36     2
     2022-11-23 19:43:46   interpolatedLong36 21870
     2022-11-23 19:43:46   long36          14509
     2022-11-23 19:43:46   pin36           871
     2022-11-23 19:43:46   power36         0.069
     2022-11-23 19:43:46   reject36        66
     2022-11-23 20:59:55   statCalcCounter36f Hour: 0.0 Day: 27.0 Month: 103.1 Year: 103.1 (since: 2022-11-20 )
     2022-11-23 20:59:55   statCalcCounter36fLast Hour: 0.0 Day: 29.3 Month: - Year: -
     2022-11-23 20:59:55   statPower36Day  Min: 0.026 Avg: 0.603 Max: 10.146
     2022-11-22 23:59:55   statPower36DayLast Min: 0.026 Avg: 1.411 Max: 12.240
     2022-11-23 20:59:55   statPower36Hour Min: 0.069 Avg: 0.069 Max: 0.069
     2022-11-23 20:59:55   statPower36HourLast Min: 0.069 Avg: 0.069 Max: 0.069
     2022-11-23 20:59:55   statPower36Month Min: 0.026 Avg: 0.943 Max: 12.240 (since: 2022-11-19_12:14:20 )
     2022-11-23 20:59:55   statPower36Year Min: 0.026 Avg: 0.943 Max: 12.240 (since: 2022-11-19_12:14:20 )
     2022-11-23 19:50:50   state           disconnected
     2022-11-23 19:43:46   timeDiff36      1383534
     2022-11-19 20:37:36   watchdog        ok
   analogLevels:
     722        1
     729        1
     741        1
     746        2
     747        1
     748        1
     749        1
     751        1
     752        1
     754        1
     756        1
     758        2
     759        1
     760        1
     761        3
     763        1
     764        1
     765        1
     766        2
     769        2
     770        4
     771        4
     772        5
     773        1
     774        2
     775        2
     776        2
     779        1
     780        4
     781        2
     782        3
     783        3
     784        4
     785        2
     787        7
     788        5
     789        3
     790        3
     791        3
     792        5
     793        2
     794        3
     795        1
     796        4
     797        3
     798        4
     799        4
     800        3
     801        1
     802        2
     804        5
     805        4
     806        4
     807        2
     808        1
     809        4
     810        3
     811        1
     812        2
     813        4
     814        6
     815        3
     816        3
     817        4
     818        1
     819        1
     820        2
     821        2
     823        4
     824        3
     825        1
     827        3
     828        2
     830        2
     836        1
     838        2
     840        1
     844        2
     845        1
     846        1
     852        1
   helper:
     _98_statistics Statistik
   runningCfg:
     36         P36fp m50out27t560/640, DR36C863D0/0T0X0
     I          30,1800,5,2,0,10
     U          36,75,1,kWh,60,kW
     V          1,0,0,0,0
Attributes:
   board      T-Display
   comment    16.11.22 18 Uhr Counter gestellt
17.11.22 19 Uhr state: disconnected
                Counter gestellt 128920.5 kWh
19.11.22 09 Uhr Impuls auf falling gestellt
                threshold 560,640
                min Impulslänge von 4ms auf 50ms angehoben (bei 6kW ist ein Impuls 270ms lang)
                keepAliveDelay von 30s auf 10s verkürzt (wg. Verbindungsabbrüchen)
                nextOpenDelay von 20s auf 60s erhöht
         13 Uhr userReading connection erstellt, notify auf disconnected
                *** verbose 5 ****
21.11.22 20 Uhr verbose 0
                history/levels deaktiviert und gelöscht
   devStateIcon .*active:15px-orange .*opened:15px-green .*disconnected:15px-red
   deviceDisplay 36,kWh,kW
   disable    0
   enableAnalogDebug 0
   enableHistory 1
   enableSerialEcho 0
   event-on-update-reading state,RSSI,calc.*,connection,power36
   interval   30,1800,5,2,10,3
   keepAliveDelay 10
   keepAliveRetries 3
   keepAliveTimeout 3
   nextOpenDelay 60
   pin36      falling pullup min 50 analog out 27 threshold 560,640
   pulsesPerKWh 75
   room       ArduCounter ACT
   stateFormat State: [$name:state]
<br>
Momentanverbrauch Wärme: [$name:power36] kW
<br>
Zählerstände Wärme kumuliert: [$name:calcCounter36f] kWh
<br>
zuletzt aktualisiert:
[$name:pin36:t]
<br>
RSSI [$name:RSSI] dB
<br>
Wärme
<br>
Now [$name:statCalcCounter36f]
<br>
Last [$name:statCalcCounter36fLast]
   userReadings calcCounter36f:calcCounter36.* {sprintf('%.1f',ReadingsNum($name,"calcCounter36",0))}
   verbose    5


Und der Auszug aus dem log:

2022.11.23 19:50:26 5: ACT: sending k(eepAlive) to device
2022.11.23 19:50:26 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.23 19:50:26 5: ACT: device sent alive response: AR-66
2022.11.23 19:50:36 5: ACT: sending k(eepAlive) to device
2022.11.23 19:50:36 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.23 19:50:36 5: ACT: device sent alive response: AR-66
2022.11.23 19:50:46 5: ACT: sending k(eepAlive) to device
2022.11.23 19:50:46 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.23 19:50:46 5: ACT: device sent alive response: AR-65
2022.11.23 19:50:50 3: 192.168.1.161:80 disconnected, waiting to reappear (ACT)
2022.11.23 19:50:56 5: ACT: sending k(eepAlive) to device
2022.11.23 19:50:56 5: ACT: Write: device is disconnected, dropping line to write
2022.11.23 19:50:59 3: ACT: device didn't reply to k(eeepAlive), count=1
2022.11.23 19:51:06 5: ACT: sending k(eepAlive) to device
2022.11.23 19:51:06 5: ACT: Write: device is disconnected, dropping line to write
2022.11.23 19:51:09 3: ACT: device didn't reply to k(eeepAlive), count=2
2022.11.23 19:51:16 5: ACT: sending k(eepAlive) to device
2022.11.23 19:51:16 5: ACT: Write: device is disconnected, dropping line to write
2022.11.23 19:51:19 3: ACT: device didn't reply to k(eeepAlive), count=3
2022.11.23 19:51:26 5: ACT: sending k(eepAlive) to device
2022.11.23 19:51:26 5: ACT: Write: device is disconnected, dropping line to write
2022.11.23 19:51:29 3: ACT: device didn't reply to k(eeepAlive), no retries left, setting device to disconnected

Mehr steht im Log nicht drin. Das ArduCounter Modul hat in der Zeit von 19:51 bis jetzt 21:13 nichts mehr ausgespuckt.
Das INTERNAL Reading "DevIoJustClosed 1" bleibt stehen, bis ich manuell einen Reconnect auslöse.

Hier noch ein Auszug von vorgestern. Hier hat es scheinbar zwischendurch mal funktioniert:

2022.11.21 20:15:32 5: ACT: device sent alive response: AR-66
2022.11.21 20:15:42 5: ACT: sending k(eepAlive) to device
2022.11.21 20:15:42 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.21 20:15:42 5: ACT: device sent alive response: AR-66
2022.11.21 20:15:52 5: ACT: sending k(eepAlive) to device
2022.11.21 20:15:52 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.21 20:15:52 5: ACT: device sent alive response: AR-66
2022.11.21 20:16:02 5: ACT: sending k(eepAlive) to device
2022.11.21 20:16:02 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.21 20:16:02 5: ACT: device sent alive response: AR-67
2022.11.21 20:16:12 5: ACT: sending k(eepAlive) to device
2022.11.21 20:16:12 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.21 20:16:12 5: ACT: device sent alive response: AR-67
2022.11.21 20:16:22 5: ACT: sending k(eepAlive) to device
2022.11.21 20:16:22 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.21 20:16:22 5: ACT: device sent alive response: AR-67
2022.11.21 20:16:32 5: ACT: sending k(eepAlive) to device
2022.11.21 20:16:32 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.21 20:16:33 5: ACT: device sent alive response: AR-67
2022.11.21 20:16:38 4: ACT: set reconnect called
2022.11.21 20:16:38 4: ACT: trying to open connection to 192.168.1.161:80
2022.11.21 20:16:38 3: Opening ACT device 192.168.1.161:80
2022.11.21 20:16:38 5: HttpUtils url=http://192.168.1.161:80/ NonBlocking via http
2022.11.21 20:16:38 4: IP: 192.168.1.161 -> 192.168.1.161
2022.11.21 20:16:38 5: ACT: DoOpen waiting for callback
2022.11.21 20:16:38 3: ACT device opened
2022.11.21 20:16:38 5: ACT: DoOpen succeeded in callback
2022.11.21 20:16:38 5: ACT: sending k(eepAlive) to device
2022.11.21 20:16:38 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.21 20:16:38 5: attribute board is set to T-Display and is overwriting board ESP32 reported by device
2022.11.21 20:16:38 5: ACT: device sent hello: ArduCounter V4.26 on ESP32 Espressif ESP32 Dev Module with display compiled Jun  6 2020 12:41:51 Hello
2022.11.21 20:16:38 5: ACT: Device Time 257950.974, Offset 1668800.251, Drift -3.130s in 186435.152s, -0.00%
2022.11.21 20:16:38 4: ACT: device sent time info: N257950974,0B1107,0
2022.11.21 20:16:38 5: ACT: Device sent available pins 4,17,21,22,25,26,27,32,33,34,35,36,39
2022.11.21 20:16:38 4: ACT: device sent interval config 30,1800,5,2,0,10
2022.11.21 20:16:38 4: ACT: device sent devVerbose 1,0,0,1,0
2022.11.21 20:16:38 4: ACT: device sent config for pin 36: P36fp m50out27t560/640
2022.11.21 20:16:38 5: ACT: device sent alive response: AR-67
2022.11.21 20:16:39 5: ACT: ConfigureDevice: send config
2022.11.21 20:16:39 5: ACT: ConfigurePin creates command 36,2,1,50,27,560,640a
2022.11.21 20:16:39 5: DevIo_SimpleWrite ACT: 36,2,1,50,27,560,640a.
2022.11.21 20:16:39 5: ACT: ConfigureDevice: no pins in running config without attribute in Fhem
2022.11.21 20:16:39 5: ACT: ConfigureIntervals creates command 30,1800,5,2,,10,3,10i
2022.11.21 20:16:39 5: DevIo_SimpleWrite ACT: 30,1800,5,2,,10,3,10i.
2022.11.21 20:16:39 5: ACT: ConfigureVerboseLevels creates command 1,0,0,1,0v
2022.11.21 20:16:39 5: DevIo_SimpleWrite ACT: 1,0,0,1,0v.
2022.11.21 20:16:39 5: ACT: ConfigureDisplay pin 36 / 36, ppu 75, fut 60
2022.11.21 20:16:39 5: ACT: ConfigureDisplay 36, 75, 1, kWh, 60, kW
2022.11.21 20:16:39 5: ACT: ConfigureDisplay creates command 36,75,1,22379,104,60,22379,0u
2022.11.21 20:16:39 5: DevIo_SimpleWrite ACT: 36,75,1,22379,104,60,22379,0u.
2022.11.21 20:16:39 5: DevIo_SimpleWrite ACT: s.
2022.11.21 20:16:39 4: ACT: device: defined P36fp m50out27t560/640
2022.11.21 20:16:39 4: ACT: device sent interval config 30,1800,5,2,0,10
2022.11.21 20:16:39 4: ACT: device sent devVerbose 1,0,0,1,0
2022.11.21 20:16:39 4: ACT: device sent unit display config 36,75,1,kWh,60,kW
2022.11.21 20:16:39 4: ACT: device: Status: ArduCounter V4.26 on ESP32 Espressif ESP32 Dev Module with display compiled Jun  6 2020 12:41:51
2022.11.21 20:16:39 4: ACT: device: Connected to mellificium with IP 192.168.1.161 RSSI -66
2022.11.21 20:16:39 4: ACT: device sent interval config 30,1800,5,2,0,10
2022.11.21 20:16:39 4: ACT: device sent devVerbose 1,0,0,1,0
2022.11.21 20:16:40 4: ACT: device sent unit display config 36,75,1,kWh,60,kW
2022.11.21 20:16:40 4: ACT: device sent config for pin 36: P36fp m50out27t560/640, DR36C5097D0/0T0X0
2022.11.21 20:16:40 4: ACT: device: EEPROM Config: 30,1800,5,2,0,10i1,0,0,1,0v36,75,1,22379,104,60,22379u36,2,1,50,27,560,640a
2022.11.21 20:16:40 4: ACT: device: Next report in 5889 milliseconds
2022.11.21 20:16:48 5: ACT: sending k(eepAlive) to device
2022.11.21 20:16:48 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.21 20:16:48 5: ACT: device sent alive response: AR-66
2022.11.21 20:16:58 5: ACT: sending k(eepAlive) to device
2022.11.21 20:16:58 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.21 20:16:58 5: ACT: device sent alive response: AR-66
2022.11.21 20:17:08 5: ACT: sending k(eepAlive) to device
2022.11.21 20:17:08 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.21 20:17:08 5: ACT: device sent alive response: AR-67
2022.11.21 20:17:18 5: ACT: sending k(eepAlive) to device
2022.11.21 20:17:18 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.21 20:17:18 5: ACT: device sent alive response: AR-67
2022.11.21 20:17:28 5: ACT: sending k(eepAlive) to device
2022.11.21 20:17:28 5: DevIo_SimpleWrite ACT: 1,10k.
2022.11.21 20:17:28 5: ACT: device sent alive response: AR-67
2022.11.21 20:17:38 5: ACT: sending k(eepAlive) to device
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 23 November 2022, 21:23:59
Hallo,

entferne doch vorübergehend mal das Attribut stateFormat, bis ich eine neue Version des Moduls fertig habe. Damit sollten die reconnects wieder automatisch gehen.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 23 November 2022, 21:27:38
ok. Das mach' ich mal.

Grüße zurück.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 24 November 2022, 22:02:30
... ohne stateFormat läufts wie geschmiert! Keine längeren disconnect-Episoden mehr.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 27 November 2022, 19:06:45
Das klingt doch gut.
Kannst Du mal das angehängte Modul testen? Da habe ich den Fehler im Zusammenhang mit stateFormat hoffentlich behoben.

Gruss
   Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 27 November 2022, 19:45:49
Nach Einpflegen des Moduls will fhem nicht mehr starten.
Im log finde ich folgende Fehlermeldung:
Undefined subroutine &ArduCounter::DevIo_setStates called at ./FHEM/98_ArduCounter.pm line 260, <$fh> line 1426.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 27 November 2022, 20:36:54
Sorry - neuer Versuch ...

Gruss
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 27 November 2022, 21:17:08
Guten Abend Stefan,

jetzt läuft's erst mal, danke. StateFormat habe ich wieder gesetzt. Beobachte jetzt mal und melde mich wieder.

Grüße
Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 27 November 2022, 23:09:00
fhem ist mit folgender Fehlermeldung wieder abgestürzt:
Undefined subroutine &ArduCounter::DevIo_getState called at ./FHEM/98_ArduCounter.pm line 437.

EDIT:
Habe im Import-Abschnitt noch "DevIo_getState" hinzugefügt.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 30 November 2022, 20:44:27
Wie ich gesagt habe, läuft der ArduCounter auf dem ESP32 jetzt weitestgehend ohne Unterbrechungen durch.
Aber ich habe ein seltsames Verhalten beobachtet: Der ArduCounter hat jetzt auch schon mehrfach seine IP-Adresse geändert. Damit verliert er dann dauerhaft die Verbindung zu fhem. Habe dann versucht statt der IP-Adresse den DNS-Namen anzugeben.
Das scheitert dann an folgendem Verhalten:
Ist der ArduCounter im Konfigurationsmodus nennt er sich "espressif". Ist er im Zählmodus nennt er sich "esp32-xxxxxxxxxxxx" (xxxxxxxxxxxx=MAC-Adresse).
Ist das so gewollt, dass sich der DNS-Name im Betrieb (bzw. beim Reset) ändert?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 01 Dezember 2022, 17:13:43
Dass sich die IP-Adresse ändert, hängt doch am Router. Ich habe seither eine Fritzbox, und da die IP fixiert.

Was meinst du mit Konfigurationsmodus? Arbeitet dabei der ESP selber als AP? meine Erfahrung mit DNS-Namen ist, dass die etwas brauchen bis man sie sie ansprechen kann. Verifiziieren kann man das über einen Ping
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 01 Dezember 2022, 17:37:13
Ich habe folgendes Problem, per Reflexlichtschranke am Ferraris werden die Pulse als Dip erkannt. Soweit gut:

Seq      4 2022-11-27 19:19:05 Pin A0 232.073 seconds at 1 (analog 732) -> gap
Seq      5 2022-11-27 19:22:57 Pin A0  11.405 seconds at 0 (analog 28) -> pulse counted


Erwarten würde ich, dass PowerA0 mir den aktuellen Verbrauch in W anzeigt, je nach Pulsdauer. Der ändert sich aber nicht kontinuierlich, sondern springt von 0W direkt auf 800W.

Ich verstehe auch nicht, wie die Pulsdauer in die Rechnung eingeht. Meine Vermutung wäre dauer-Gap plus dauer-Puls, bzw. von einem fallenden Trigger zum nächsten. Oder bin ich damit falsch?


attr ESP_Hauptstrom pinA0 falling pullup min 4 analog out 27 threshold 60,550
attr ESP_Hauptstrom readingPulsesPerUnitA0 75
attr ESP_Hauptstrom enableAnalogDebug 1
attr ESP_Hauptstrom enableHistory 1
attr ESP_Hauptstrom verboseReadingsA0 1
attr ESP_Hauptstrom readingFlowUnitTimeA0 3600000


Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 01 Dezember 2022, 18:21:01
Zitat von: DerD am 01 Dezember 2022, 17:13:43
Dass sich die IP-Adresse ändert, hängt doch am Router. Ich habe seither eine Fritzbox, und da die IP fixiert.

Was meinst du mit Konfigurationsmodus? Arbeitet dabei der ESP selber als AP? meine Erfahrung mit DNS-Namen ist, dass die etwas brauchen bis man sie sie ansprechen kann. Verifiziieren kann man das über einen Ping

Meine Vermutung ist, dass die FritzBox neue IP-Adressen im laufenden Betrieb vergibt, da der ArduCounter zwischen 2 DNS-Namen gelegentlich wechselt. Nach einem Reset durchläuft der ArduCounter kurz das Espressif-Modul zur Konfiguration (blauer Hintergrund bei ESP mit Display). Nach dem ich den IP-Adress-Wechsel bemerkt habe, habe ich die feste IP-Adresse jetzt in der FritzBox eingestellt.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 01 Dezember 2022, 18:37:11
@DerD Zu Deiner zweiten Frage:
Wie hast Du denn Dein interval-Attribut konfiguriert?
Hiermit kann man die Kurve "glätten". Wenn sich die Scheibe nur langsam dreht, passiert ja lange Zeit (mehrere Minuten) bei der Messung nichts bis der kurze Impuls (wenige Minuten oder Sekunden) kommt.
Im Diagramm sieht man dann jeweils einen Balken und dann wieder nichts. Obwohl vermutlich ein kleiner Verbraucher dauerhaft Strom zieht.

Ich habe mein Interval-Attribut so konfiguriert:
interval 30,1800,5,2,10,3
Damit wird in der Regel alle 30 Sekunden, höchstens nach 5 Sekunden und mindestens alle 30 Minuten ein Wert ausgegeben/berechnet.
Eine analoge Messung findet nach 10ms wieder statt, und es werden jeweils 3 analoge Messungen miteinander verrechnet.

Zitat
interval <normal> <max> [<min> <min count> [<analog interval> <analog samples>]]
Defines the parameters that affect the way counting and reporting works. This Attribute expects at least two and a maximum of six numbers as value. The first is the normal interval (s), the second the maximal interval (s), the third is a minimal interval (s) and the fourth is a minimal pulse count. The last two numbers are only needed for counting with reflective light barriers. They specify the delay between the measurements (ms) and the number of samples for each measurement.

In the usual operation mode (when the normal interval is smaller than the maximum interval), the Arduino board just counts and remembers the time between the first impulse and the last impulse for each pin.
After the normal interval is elapsed the Arduino board reports the count and time for those pins where impulses were encountered.
This means that even though the normal interval might be 10 seconds, the reported time difference can be something different because it observed impulses as starting and ending point.
The Power (e.g. for energy meters) is then calculated based of the counted impulses and the time between the first and the last impulse.
For the next interval, the starting time will be the time of the last impulse in the previous reporting period and the time difference will be taken up to the last impulse before the reporting interval has elapsed.

The second, third and fourth numbers (maximum, minimal interval and minimal count) exist for the special case when the pulse frequency is very low and the reporting time is comparatively short.
For example if the normal interval (first number) is 60 seconds and the device counts only one impulse in 90 seconds, the the calculated power reading will jump up and down and will give ugly numbers.
By adjusting the other numbers of this attribute this can be avoided.
In case in the normal interval the observed impulses are encountered in a time difference that is smaller than the third number (minimal interval) or if the number of impulses counted is smaller than the fourth number (minimal count) then the reporting is delayed until the maximum interval has elapsed or the above conditions have changed after another normal interval.
This way the counter will report a higher number of pulses counted and a larger time difference back to fhem.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 01 Dezember 2022, 22:19:56
Bisher hatte ich "interval" noch nicht definiert, einerseits weil ich eigentlich keine Mittelung der Werte wollte, sondern direkte Anzeige des letzten Durchganges. Und zweitens weil ich den Parameter nicht vollständig durchschaue,

Ich habe das Attribut jetzt mal gesetzt auf
attr ESP_Hauptstrom interval 30,1800,5,2,10,1
und beobachte. Da die Durchgänge gerade relativ gleichmäßig lang sind, ist kann ich noch nichts näheres sagen.

edit: Tippfehler korrigiert
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 01 Dezember 2022, 22:26:03
Du hast jetzt nur 5 Werte angegeben. Nach Definition müssten es 6 sein.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 01 Dezember 2022, 22:43:30
War nur ein Eingabefehler oben, den letzten habe ich auf 1 gesetzt, was aber unnötig war (hatte es immer noch nicht verstanden): Mittelung der analogen Messwerte, nicht Mittelung der Umdrehungsperioden

Jetzt geht es in fhem daran, mit den Werten was zu machen, zumindest erst einmal eine Zeitreihe zu speichern. Das gehört dann aber nicht mehr hierher
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 04 Dezember 2022, 22:15:31
Zitat von: StefanStrobel am 27 November 2022, 20:36:54
Sorry - neuer Versuch ...

Gruss
    Stefan

Hallo Stefan,

mit den zwei Änderungen: Im Import-Abschnitt noch "DevIo_getState" hinzufügen und in meiner FritzBox dem ArduCounter eine feste IP-Adresse zuweisen, läuft die Kommunikation jetzt ohne Unterbrechungen.

Grüße,
Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 04 Dezember 2022, 23:19:17
Vielen Dank!
Hab die Änderung schon übernommen und checke dann demnächst die neue Version ins SVN ein.

Gruß
    Stefan
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 07 Dezember 2022, 18:24:28
Zitat von: thymjan am 24 November 2022, 22:02:30
... ohne stateFormat läufts wie geschmiert! Keine längeren disconnect-Episoden mehr.

Puh warum auch immer hat es mich jetzt auch erwischt (mit alter Version). Seit kurz vor Mitternacht am 2.12 sehe ich im Log alle 2 sek.:
2022.12.02 23:48:22.026 3: Zaehler_ESP32: device didn't reply to k(eeepAlive), count=1
2022.12.02 23:48:34.611 3: 10.20.30.13:80 disconnected, waiting to reappear (Zaehler_ESP32)
2022.12.02 23:48:34.640 3: 10.20.30.13:80 reappeared (Zaehler_ESP32)


Ein Update auf die Version vom "98_ArduCounter.pm:0.267900/2022-12-05" bringt keine Abhilfe.
Muss ich wohl auch mal was tiefer einsteigen ggfs. erstmal den Arducounter neu starten. Ich berichte.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 07 Dezember 2022, 22:47:27
Nachdem ich den Ardcounter stromlos gemacht habe sieht es erstmal wieder normal aus:
2022.12.07 22:40:49.924 5: Zaehler_ESP32: sending k(eepAlive) to device
2022.12.07 22:40:49.926 5: DevIo_SimpleWrite Zaehler_ESP32: 1,60k.
2022.12.07 22:40:49.963 5: Zaehler_ESP32: device sent alive response: AR-76

Analog zu Stefans Antwort #734   https://forum.fhem.de/index.php/topic,19285.msg1246900.html#msg1246900 (https://forum.fhem.de/index.php/topic,19285.msg1246900.html#msg1246900)

Hoffen wir es bleibt so  ???

Edit:
Feste IP nutze ich immer für Nicht-Endgeräte und was bedeuet >Import-Abschnitt noch "DevIo_getState" hinzufügen"< ?
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 10 Dezember 2022, 16:59:00
... und nach Spielerrei mit dem FritzBox-Fork und einigen Restarts will der Arducounter sich nicht mehr "connecten" trotz existierender WLAN Verbindung mit Dauerping.
Hmm..

2022.12.10 16:40:30.786 3 : Zaehler_ESP32: device didn't reply to k(eeepAlive), count=1
2022.12.10 16:40:30.793 3 : 10.20.30.13:80 disconnected, waiting to reappear (Zaehler_ESP32)
2022.12.10 16:40:30.823 3 : 10.20.30.13:80 reappeared (Zaehler_ESP32)
2022.12.10 16:40:32.838 3 : Zaehler_ESP32: device didn't reply to k(eeepAlive), count=2
2022.12.10 16:40:32.843 3 : 10.20.30.13:80 disconnected, waiting to reappear (Zaehler_ESP32)
2022.12.10 16:40:32.888 3 : 10.20.30.13:80 reappeared (Zaehler_ESP32)


Mit dem Browser erreiche ich über 10.20.30.13:80 den WIFI-Manager. War das korrekt so wenn der ArduCounter richtig läuft?

uups war wohl was leichtfertig im WIFI-Manager die Seite /restart auszuführen...
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: thymjan am 10 Dezember 2022, 17:11:35
Versuch nochmal in der FritzBox die Einstellung zur festen IP-Adresse und sonstige Verbindungen zum ArduCounter zu löschen (wenn der ArduCounter aus ist).
Bevor ich dem ArduCounter eine feste IP in der FritzBox vergeben habe, hat die FritzBox mit jedem Reboot eine neue IP vergeben.
Wenn der ArduCounter sich (dann hoffentlich) wieder mit der FritzBox verbunden hat und eine Verbindung zu FHEM hergestellt hat würde ich in der FritzBox die feste IP wieder aktivieren.
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 10 Dezember 2022, 17:23:31
Zitat von: thymjan am 10 Dezember 2022, 17:11:35
Versuch nochmal in der FritzBox die Einstellung zur festen IP-Adresse und sonstige Verbindungen zum ArduCounter zu löschen (wenn der ArduCounter aus ist).
Bevor ich dem ArduCounter eine feste IP in der FritzBox vergeben habe, hat die FritzBox mit jedem Reboot eine neue IP vergeben.
Wenn der ArduCounter sich (dann hoffentlich) wieder mit der FritzBox verbunden hat und eine Verbindung zu FHEM hergestellt hat würde ich in der FritzBox die feste IP wieder aktivieren.

Danke für die Info. Ne feste IP nutze ich sowieso schon immer (für alles was kein Endgerät ist).

Aaaber den Restart (10.20.30.13:80/restart) mit dem WIFI-Manager auszuführen war doch nicht verkehrt.
Ich sehe, dass der Ping unter der IP läuft und der WIFI-Manager nicht mehr unter 10.20.30.13:80 erscheint.
=> Dafür ist der Arducounter wieder connected. Seltsam, aber gut.

Den Effekt hattest Du (oder bidy?) doch auch, oder nicht?

Stellt sich die Frage wie der ArduCounter in diesen Zustand gerät. Ich finde es hier im Thread gerade nicht wieder.
Es sieht so auc als ob der Restart von FHEM das verursacht hat. Der Arducounter wurde ne ganze Weile ja nicht mit keep Alive angesprochen.

Gruß Ralf


Edit => ich denke mit dem Wifi Manager muss man sich mal etwas beschäftigen. Habe das hier gefunden:
(https://randomnerdtutorials.com/wifimanager-with-esp8266-autoconnect-custom-parameter-and-manage-your-ssid-and-password/ (https://randomnerdtutorials.com/wifimanager-with-esp8266-autoconnect-custom-parameter-and-manage-your-ssid-and-password/))

How WiFiManager Works with ESP8266

The WiFiManager is a great library do add to your ESP8266 projects, because using this library you no longer have to hard-code your network credentials (SSID and password). Your ESP will automatically join a known network or set up an Access Point that you can use to configure the network credentials. Here's how this process works:

Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 11 Dezember 2022, 15:26:14
Habe mal versucht die Grundzüge des WiFiManager zu verstehen, der im ArduCounter(ESP) eingebuunden ist.
https://github.com/tzapu/WiFiManager (nicht ganz aktuell)
https://github.com/tzapu/WiFiManager/wiki/Methods

Unter der Voraussetzung, dass der ArduCounter(ESP) schon mal eingerichtet war:

An der Stelle verstehe ich den Zustand bei mir nicht.
Der ArduCounter(ESP) war korrekt mit meinem WLAN verbunden und per Ping unter der normalen (festen) IP zu erreichen.
Trotzdem war unter der normalen (festen) IP:80 die Konfigurationsseite erreichbar und nicht der "ArduCounter(ESP)"
(mit der Folge der disconnected/reappeared vom Modul 98_ArduCounter.pm)


Da wäre dann die Frage, was der ArduCounter(ESP) macht wenn er eine Zeit lang aufgrund schlechten Pegels keine Verbindung zum WLAN hatte.

Die Verbindung zum Modul wurde wieder hergestellt, nachdem auf der Konfigurationsseite unter Info der Punkt /restart ausgeführt wurde.

Hat jemand ne Erklärung dazu  ::)

Gruß Ralf
Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 20 Dezember 2022, 17:03:10
Ist mir gerade erst aufgefallen.
Seit gestern Nachmittag war der Arducounter auf der Weboberfläche wieder im ständigen Disconnected/Open in der FHEM-Oberfläche.

Im Webbrowser konnte ich ihn erreichen (im korrekten WLAN verbunden und übliche feste IP zugeodnet) wo der die Oberfläche vom WIFI-Manager zeigte.
Ja, die WLAN Verbindung ist definitiv schwach < 80dBm. Durch einen Kaltstart (stromlos) konnte ich ihn wieder einfangen.

Für mich seltsam bleibt der Zustand:
im korrekten WLAM mit IP und totzdem der WIFI-Manager statt der "Arducounter" zu erreichen  ::)

Gruß Ralf


Titel: Antw:ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 26 Dezember 2022, 19:05:36
Zitat von: RalfRog am 20 Dezember 2022, 17:03:10
Ist mir gerade erst aufgefallen.
Seit gestern Nachmittag war der Arducounter auf der Weboberfläche wieder im ständigen Disconnected/Open in der FHEM-Oberfläche.

Im Webbrowser konnte ich ihn erreichen (im korrekten WLAN verbunden und übliche feste IP zugeodnet) wo der die Oberfläche vom WIFI-Manager zeigte.
Ja, die WLAN Verbindung ist definitiv schwach < 80dBm. Durch einen Kaltstart (stromlos) konnte ich ihn wieder einfangen.

Für mich seltsam bleibt der Zustand:
im korrekten WLAM mit IP und totzdem der WIFI-Manager statt der "Arducounter" zu erreichen  ::)

Ist mir jetzt noch 2 mal passiert. Eventuell ja auch ne Eigenheit vom ESP32.

Ich verfolge es nicht mehr weiter  ::).  Der Arducounter wird duch einen Shelly 3EM ersetzt  :D .
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 22 März 2023, 21:13:07
Hallo RalfRog
Ich hatte lange Zeit immer wieder merkwürdige und schwer nachziehbare Verbindungsprobleme, allerdings mit einem WeMos D1 mini PRO (ESP8266).

Ich wolle schon aufgeben, dann habe ich irgendwo gelesen, dass der ESP8266  mit dem WLAN Kanal 11 Probleme macht, diesen angeblich nicht unterstützen soll. Daraufhin habe ich auf meinen Router ( ASUS mit Merlin Firmware) unter Wireless-Modus ,,Disable 11 b" angewählt.
Seither läuft mein Arducounter auf dem WeMos D1 zuverlässig.
Diese Sache mit dem Kanal 11 ist für mich aber fragwürdig, denn ich habe jahrelang 2 Shelly's mit ESP8266 und aktivierten Kanal 11 ohne Problem betrieben. Möglicherweise verwenden die Shelly's eine anderes WLAN Modul als mein WeMos oder das Problem wird durch den Wifi Manager verursacht.
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: RalfRog am 22 März 2023, 23:45:41
Oh interessant. Sollte man im Hinterkopf halten.
Wie gesagt der Counter ist seit etwa drei Monaten aus dem Rennen.

Habe allerdings noch nen ESP8266 (war auch ein WMOS mini??? jedenfalls kleine Platine) mit Hitchi-Lesekopf und Tasmota direkt daneben für meinen ISKRA-Zähler.
Der hat eigentlich noch nie gebockt. Hatte daher entweder den ESP32 im Verdacht oder "Eigenheiten" der ARDUCounter FW mit dem WiFi-MAnager.   ::)
=> Laufzeit  85T08:12:43 / AP1 SSID (RSSI)   WLAN (50%, -75 dBm) 11n /
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 24 März 2023, 08:16:43
Zitat von: birdy am 22 März 2023, 21:13:07Hallo RalfRog
Ich hatte lange Zeit immer wieder merkwürdige und schwer nachziehbare Verbindungsprobleme, allerdings mit einem WeMos D1 mini PRO (ESP8266).

Ich wolle schon aufgeben, dann habe ich irgendwo gelesen, dass der ESP8266  mit dem WLAN Kanal 11 Probleme macht, diesen angeblich nicht unterstützen soll. Daraufhin habe ich auf meinen Router ( ASUS mit Merlin Firmware) unter Wireless-Modus ,,Disable 11 b" angewählt.
Seither läuft mein Arducounter auf dem WeMos D1 zuverlässig.
Diese Sache mit dem Kanal 11 ist für mich aber fragwürdig, denn ich habe jahrelang 2 Shelly's mit ESP8266 und aktivierten Kanal 11 ohne Problem betrieben. Möglicherweise verwenden die Shelly's eine anderes WLAN Modul als mein WeMos oder das Problem wird durch den Wifi Manager verursacht.


Ganz so richtig ist das nicht. Korrigiert mich bitte, wenn ich falsch liege.

Alle WLAN Standards im 2,4GHz Bereich können den Kanal 11.
Was du deaktiviert hast, ist keine Kanal. 11b ist ein alter WLAN Standard, glaube der ging bis 11mbit.
Das hat man teilweise noch extra angelassen für alte Geräte, damit diese auch noch im WLAN mitarbeiten können.

Die Kanalwahl nimmst du normal Manuel vor. Auto ist aus meiner Sicht immer zu vermeiden.
Denn durch die Automatische Kanalwahl kann es zu Verbindungsunterbrechungen kommen, was du eigentlich ja nicht willst.
beim 11b Standard ist es genau so. Braucht man Ihn nicht, macht man Ihn aus.

Grüße Robert
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: birdy am 06 April 2023, 13:58:28
Zitat von: no_Legend am 24 März 2023, 08:16:43Ganz so richtig ist das nicht. Korrigiert mich bitte, wenn ich falsch liege.

Alle WLAN Standards im 2,4GHz Bereich können den Kanal 11.
Was du deaktiviert hast, ist keine Kanal. 11b ist ein alter WLAN Standard, glaube der ging bis 11mbit.
Das hat man teilweise noch extra angelassen für alte Geräte, damit diese auch noch im WLAN mitarbeiten können.

Die Kanalwahl nimmst du normal Manuel vor. Auto ist aus meiner Sicht immer zu vermeiden.
Denn durch die Automatische Kanalwahl kann es zu Verbindungsunterbrechungen kommen, was du eigentlich ja nicht willst.
beim 11b Standard ist es genau so. Braucht man Ihn nicht, macht man Ihn aus.

Grüße Robert

Da gebe ich dir natürlich absolut Recht.
Ich finde auch den Beitrag nicht mehr den ich erwähnt habe.
Tatsache ist aber, als ich am Router und den Kanälen rumgespielt habe hat sie die Situation zum Positiven gewendet. Was aber schlussendlich zum Erfolg geführt hat, kann ich nicht mehr nachvollziehen.


Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Nighthawk am 19 Mai 2023, 19:47:34
Hallo zusammen,

ich nutze dieses Modul bereits seit einigen Jahren und es hat mir immer sehr gute Dienste  geleistet, dafür schon mal ein riesiges DANKESCHÖN!
Mit einem Arduino nano lese ich meine Wasseruhr und den Gaszähler ein, das List des Devices ist unten zu sehen.
Nun wurde mein Gaszähler getauscht und die Probleme begannen...
Der alte Gaszähler hat einen Impuls pro 0,1m³ abgegeben, der neue gibt einen Impuls pro 0,01m³, nun dachte ich, es gibt ja das Attribut readingPulsesPerUnit**, also mal schnell readingPulsesPerUnitD4 100 gesetzt.
Leider wirkt sich der Teiler nicht auf den Longcount aus, sondern auf das neue Reading calcCounterD4 und hier kommen nun die Darstellungs- und Berechnungsprobleme, denn die aktuelle DB ist gefüttert durch das Longcount Reading und das neue Reading weicht deutlich davon ab.
Gibt es eine unkoplizierte Lösung im Modul, die den neuen Teiler einfach auf den Longcount wirkt? in meinen bisherigen Recherchen habe ich leider keine Lösung gefunden.


Internals:
   Board      NANO
   BoardDet   
   DEF        192.168.***.**:****
   DeviceName 192.168.***.**:****
   FD         4
   FVERSION   98_ArduCounter.pm:0.267900/2022-12-05
   Initialized 1
   LASTOPEN   1684408426.9442
   NAME       AC
   NOTIFYDEV  global
   NR         149
   NTFY_ORDER 50-AC
   PARTIAL   
   STATE      opened
   SketchCompile Jun  6 2020 12:40:29
   TCP        1
   TYPE       ArduCounter
   VersionFirmware 4.26
   VersionModule 8.01 - 04.12.2022
   allowedPins 2,3,4,5,6,7,8,9,10,11,12,13,14,A0,15,A1,16,A2,17,A3,18,A4,19,A5,20,A6,21,A7
   buffer     
   deviceBooted 1684408429.26217
   devioLoglevel 3
   devioNoSTATE 1
   eventCount 815
   nextOpenDelay 60
   Helper:
     DBLOG:
       GasZaehler:
         logdb:
           TIME       1684517347.67512
           VALUE      161386.1
       Gaszaehler_Longcount:
         logdb:
           TIME       1684478863.89372
           VALUE      12278
       WasserZaehler:
         logdb:
           TIME       1684517472.91297
           VALUE      1311820.4925
       Wasserzaehler_Longcount:
         logdb:
           TIME       1684517472.91297
           VALUE      136575
       calcCounterD4:
         logdb:
           TIME       1684478863.89372
           VALUE      38.9599999999998
       calcCounterD4_i:
         logdb:
           TIME       1684447202.00185
           VALUE      0
       state:
         logdb:
           TIME       1684447202.00185
           VALUE      opened
   READINGS:
     2023-05-19 19:31:12   GasZaehler      161386.1
     2023-05-19 19:29:07   Gaszaehler_Longcount 12278
     2023-05-19 19:31:12   WasserZaehler   1311820.4925
     2023-05-19 19:31:12   Wasserzaehler_Longcount 136575
     2023-05-19 19:29:07   calcCounterD4   38.9599999999998
     2023-05-19 19:29:07   calcCounterD4_i 0
     2023-05-19 19:29:07   countDiffD4     0
     2023-05-19 19:31:12   countDiffD6     19
     2023-05-19 19:29:07   interpolatedLongD4 12278
     2023-05-19 19:31:12   interpolatedLongD6 156183
     2023-05-19 19:29:07   lastMsgD4       R4C76D0/0T360001X0S92
     2023-05-19 19:31:12   lastMsgD6       R6C1595D19/19T60842X18S181A1240
     2023-05-19 19:29:07   pinD4           76
     2023-05-19 19:31:12   pinD6           1595
     2023-05-19 19:29:07   powerD4         0.000
     2023-05-19 19:31:12   powerD6         1.124
     2023-05-19 19:29:07   rejectD4        4904
     2023-05-19 19:31:12   rejectD6        121822
     2023-05-18 13:13:47   state           opened
     2023-05-19 19:29:07   timeDiffD4      360001
     2023-05-19 19:31:12   timeDiffD6      60842
   helper:
     _98_statistics myStatDevice
   runningCfg:
     4          P4f m30, DR4C0D0/0T0X0
     6          P6f m30, DR6C0D0/0T0X0
     I          60,360,0,0,50,4
     V          0,0,0,0,0
Attributes:
   DbLogExclude timeDiff.*,seq.*,reject.*,power.*,pin.*,lastMsg.*,interpolatedLong.*,countDiff.*,long.*
   DbLogValueFn { if ((($READING eq "statWasserZaehlerDay") or ($READING eq "statGasZaehlerDay"))and ($VALUE < 0)) { $IGNORE=1; }}
   event-min-interval GasZaehler:300,WasserZaehler:300
   event-on-change-reading .*
   flashCommand avrdude -p atmega328P -c arduino -b 57600 -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   group      Energie
   interval   60 360
   pinD4      falling 30
   pinD6      falling 30
   readingNameLongCount4 Gaszaehler_Longcount
   readingNameLongCount6 Wasserzaehler_Longcount
   readingPulsesPerUnitD4 100
   room       20_Verbrauchsmessung
   sortby     10
   userReadings GasZaehler {ReadingsVal("AC","Gaszaehler_Longcount",0) + ReadingsNum("GZStart","Grundwert",0) }, WasserZaehler {(ReadingsVal("AC","Wasserzaehler_Longcount",0)*1.0220) + ReadingsNum("WZStart","Grundwert",0) }
   userattr   pinD4 pinD6 verboseReadings4 verboseReadings6
   verbose    3
   verboseReadings4 1
   verboseReadings6 1

Hier die Gegenüberstellung Longcount zu calcCounterD4 in der DB wie man sieht ist da ein Faktor 100 dazwischen:

Longcount:
+---------------------+--------+-------------+-----------------------------+----------------------+-------+------+
| TIMESTAMP           | DEVICE | TYPE        | EVENT                       | READING              | VALUE | UNIT |
+---------------------+--------+-------------+-----------------------------+----------------------+-------+------+
| 2023-05-19 00:00:02 | AC     | ARDUCOUNTER | addLog                      | Gaszaehler_Longcount | 12202 | NULL |
| 2023-05-19 05:53:53 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12204 | Gaszaehler_Longcount | 12204 | NULL |
| 2023-05-19 05:54:53 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12205 | Gaszaehler_Longcount | 12205 | NULL |
| 2023-05-19 05:56:53 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12206 | Gaszaehler_Longcount | 12206 | NULL |
| 2023-05-19 05:58:53 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12207 | Gaszaehler_Longcount | 12207 | NULL |
| 2023-05-19 05:59:53 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12208 | Gaszaehler_Longcount | 12208 | NULL |
| 2023-05-19 06:01:54 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12209 | Gaszaehler_Longcount | 12209 | NULL |
| 2023-05-19 06:03:53 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12210 | Gaszaehler_Longcount | 12210 | NULL |
| 2023-05-19 06:05:52 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12211 | Gaszaehler_Longcount | 12211 | NULL |
| 2023-05-19 06:07:52 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12212 | Gaszaehler_Longcount | 12212 | NULL |
| 2023-05-19 06:09:52 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12213 | Gaszaehler_Longcount | 12213 | NULL |
| 2023-05-19 06:11:52 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12214 | Gaszaehler_Longcount | 12214 | NULL |
| 2023-05-19 06:14:00 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12215 | Gaszaehler_Longcount | 12215 | NULL |
| 2023-05-19 06:15:52 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12216 | Gaszaehler_Longcount | 12216 | NULL |
| 2023-05-19 06:17:52 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12217 | Gaszaehler_Longcount | 12217 | NULL |
| 2023-05-19 06:19:52 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12218 | Gaszaehler_Longcount | 12218 | NULL |
| 2023-05-19 06:21:52 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12219 | Gaszaehler_Longcount | 12219 | NULL |
| 2023-05-19 06:23:51 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12220 | Gaszaehler_Longcount | 12220 | NULL |
| 2023-05-19 06:25:51 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12221 | Gaszaehler_Longcount | 12221 | NULL |
| 2023-05-19 06:27:51 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12222 | Gaszaehler_Longcount | 12222 | NULL |
| 2023-05-19 06:30:51 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12223 | Gaszaehler_Longcount | 12223 | NULL |
| 2023-05-19 06:32:51 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12224 | Gaszaehler_Longcount | 12224 | NULL |
| 2023-05-19 06:34:51 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12225 | Gaszaehler_Longcount | 12225 | NULL |
| 2023-05-19 06:37:51 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12226 | Gaszaehler_Longcount | 12226 | NULL |
| 2023-05-19 06:39:51 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12227 | Gaszaehler_Longcount | 12227 | NULL |
| 2023-05-19 06:41:50 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12228 | Gaszaehler_Longcount | 12228 | NULL |
| 2023-05-19 06:43:50 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12229 | Gaszaehler_Longcount | 12229 | NULL |
| 2023-05-19 06:45:50 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12230 | Gaszaehler_Longcount | 12230 | NULL |
| 2023-05-19 06:48:50 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12231 | Gaszaehler_Longcount | 12231 | NULL |
| 2023-05-19 06:50:50 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12232 | Gaszaehler_Longcount | 12232 | NULL |
| 2023-05-19 06:52:58 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12233 | Gaszaehler_Longcount | 12233 | NULL |
| 2023-05-19 06:54:50 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12234 | Gaszaehler_Longcount | 12234 | NULL |
| 2023-05-19 06:57:50 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12235 | Gaszaehler_Longcount | 12235 | NULL |
| 2023-05-19 07:00:49 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12236 | Gaszaehler_Longcount | 12236 | NULL |
| 2023-05-19 07:02:49 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12237 | Gaszaehler_Longcount | 12237 | NULL |
| 2023-05-19 07:04:49 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12238 | Gaszaehler_Longcount | 12238 | NULL |
| 2023-05-19 07:07:49 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12239 | Gaszaehler_Longcount | 12239 | NULL |
| 2023-05-19 07:09:49 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12240 | Gaszaehler_Longcount | 12240 | NULL |
| 2023-05-19 07:11:49 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12241 | Gaszaehler_Longcount | 12241 | NULL |
| 2023-05-19 07:13:49 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12242 | Gaszaehler_Longcount | 12242 | NULL |
| 2023-05-19 07:16:48 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12243 | Gaszaehler_Longcount | 12243 | NULL |
| 2023-05-19 07:18:55 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12244 | Gaszaehler_Longcount | 12244 | NULL |
| 2023-05-19 07:21:48 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12245 | Gaszaehler_Longcount | 12245 | NULL |
| 2023-05-19 07:24:48 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12246 | Gaszaehler_Longcount | 12246 | NULL |
| 2023-05-19 07:26:48 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12247 | Gaszaehler_Longcount | 12247 | NULL |
| 2023-05-19 07:29:48 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12248 | Gaszaehler_Longcount | 12248 | NULL |
| 2023-05-19 07:31:48 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12249 | Gaszaehler_Longcount | 12249 | NULL |
| 2023-05-19 07:34:53 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12250 | Gaszaehler_Longcount | 12250 | NULL |
| 2023-05-19 07:37:47 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12251 | Gaszaehler_Longcount | 12251 | NULL |
| 2023-05-19 07:39:47 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12252 | Gaszaehler_Longcount | 12252 | NULL |
| 2023-05-19 07:42:47 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12253 | Gaszaehler_Longcount | 12253 | NULL |
| 2023-05-19 07:44:52 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12254 | Gaszaehler_Longcount | 12254 | NULL |
| 2023-05-19 07:47:47 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12255 | Gaszaehler_Longcount | 12255 | NULL |
| 2023-05-19 07:50:47 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12256 | Gaszaehler_Longcount | 12256 | NULL |
| 2023-05-19 07:52:47 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12257 | Gaszaehler_Longcount | 12257 | NULL |
| 2023-05-19 07:55:47 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12258 | Gaszaehler_Longcount | 12258 | NULL |
| 2023-05-19 07:57:46 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12259 | Gaszaehler_Longcount | 12259 | NULL |
| 2023-05-19 08:00:46 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12260 | Gaszaehler_Longcount | 12260 | NULL |
| 2023-05-19 08:03:46 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12261 | Gaszaehler_Longcount | 12261 | NULL |
| 2023-05-19 08:05:46 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12262 | Gaszaehler_Longcount | 12262 | NULL |
| 2023-05-19 08:08:49 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12263 | Gaszaehler_Longcount | 12263 | NULL |
| 2023-05-19 08:10:45 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12264 | Gaszaehler_Longcount | 12264 | NULL |
| 2023-05-19 08:13:45 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12265 | Gaszaehler_Longcount | 12265 | NULL |
| 2023-05-19 08:16:45 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12266 | Gaszaehler_Longcount | 12266 | NULL |
| 2023-05-19 08:18:51 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12267 | Gaszaehler_Longcount | 12267 | NULL |
| 2023-05-19 08:21:45 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12268 | Gaszaehler_Longcount | 12268 | NULL |
| 2023-05-19 08:23:45 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12269 | Gaszaehler_Longcount | 12269 | NULL |
| 2023-05-19 08:26:45 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12270 | Gaszaehler_Longcount | 12270 | NULL |
| 2023-05-19 08:29:44 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12271 | Gaszaehler_Longcount | 12271 | NULL |
| 2023-05-19 08:31:44 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12272 | Gaszaehler_Longcount | 12272 | NULL |
| 2023-05-19 08:34:44 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12273 | Gaszaehler_Longcount | 12273 | NULL |
| 2023-05-19 08:36:44 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12274 | Gaszaehler_Longcount | 12274 | NULL |
| 2023-05-19 08:39:44 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12275 | Gaszaehler_Longcount | 12275 | NULL |
| 2023-05-19 08:42:44 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12276 | Gaszaehler_Longcount | 12276 | NULL |
| 2023-05-19 08:44:44 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12277 | Gaszaehler_Longcount | 12277 | NULL |
| 2023-05-19 08:47:43 | AC     | ARDUCOUNTER | Gaszaehler_Longcount: 12278 | Gaszaehler_Longcount | 12278 | NULL |
+---------------------+--------+-------------+-----------------------------+----------------------+-------+------+
76 rows in set (0.032 sec)

Und calcCounterD4

+---------------------+--------+-------------+---------------------------------+---------------+------------------+------+
| TIMESTAMP           | DEVICE | TYPE        | EVENT                           | READING       | VALUE            | UNIT |
+---------------------+--------+-------------+---------------------------------+---------------+------------------+------+
| 2023-05-19 00:00:02 | AC     | ARDUCOUNTER | addLog                          | calcCounterD4 | 38.1999999999999 | NULL |
| 2023-05-19 05:53:53 | AC     | ARDUCOUNTER | calcCounterD4: 38.2199999999999 | calcCounterD4 | 38.2199999999999 | NULL |
| 2023-05-19 05:54:53 | AC     | ARDUCOUNTER | calcCounterD4: 38.2299999999999 | calcCounterD4 | 38.2299999999999 | NULL |
| 2023-05-19 05:56:53 | AC     | ARDUCOUNTER | calcCounterD4: 38.2399999999999 | calcCounterD4 | 38.2399999999999 | NULL |
| 2023-05-19 05:58:53 | AC     | ARDUCOUNTER | calcCounterD4: 38.2499999999999 | calcCounterD4 | 38.2499999999999 | NULL |
| 2023-05-19 05:59:53 | AC     | ARDUCOUNTER | calcCounterD4: 38.2599999999999 | calcCounterD4 | 38.2599999999999 | NULL |
| 2023-05-19 06:01:54 | AC     | ARDUCOUNTER | calcCounterD4: 38.2699999999999 | calcCounterD4 | 38.2699999999999 | NULL |
| 2023-05-19 06:03:53 | AC     | ARDUCOUNTER | calcCounterD4: 38.2799999999999 | calcCounterD4 | 38.2799999999999 | NULL |
| 2023-05-19 06:05:52 | AC     | ARDUCOUNTER | calcCounterD4: 38.2899999999999 | calcCounterD4 | 38.2899999999999 | NULL |
| 2023-05-19 06:07:52 | AC     | ARDUCOUNTER | calcCounterD4: 38.2999999999999 | calcCounterD4 | 38.2999999999999 | NULL |
| 2023-05-19 06:09:52 | AC     | ARDUCOUNTER | calcCounterD4: 38.3099999999999 | calcCounterD4 | 38.3099999999999 | NULL |
| 2023-05-19 06:11:52 | AC     | ARDUCOUNTER | calcCounterD4: 38.3199999999999 | calcCounterD4 | 38.3199999999999 | NULL |
| 2023-05-19 06:14:00 | AC     | ARDUCOUNTER | calcCounterD4: 38.3299999999999 | calcCounterD4 | 38.3299999999999 | NULL |
| 2023-05-19 06:15:52 | AC     | ARDUCOUNTER | calcCounterD4: 38.3399999999999 | calcCounterD4 | 38.3399999999999 | NULL |
| 2023-05-19 06:17:52 | AC     | ARDUCOUNTER | calcCounterD4: 38.3499999999999 | calcCounterD4 | 38.3499999999999 | NULL |
| 2023-05-19 06:19:52 | AC     | ARDUCOUNTER | calcCounterD4: 38.3599999999999 | calcCounterD4 | 38.3599999999999 | NULL |
| 2023-05-19 06:21:52 | AC     | ARDUCOUNTER | calcCounterD4: 38.3699999999999 | calcCounterD4 | 38.3699999999999 | NULL |
| 2023-05-19 06:23:51 | AC     | ARDUCOUNTER | calcCounterD4: 38.3799999999999 | calcCounterD4 | 38.3799999999999 | NULL |
| 2023-05-19 06:25:51 | AC     | ARDUCOUNTER | calcCounterD4: 38.3899999999999 | calcCounterD4 | 38.3899999999999 | NULL |
| 2023-05-19 06:27:51 | AC     | ARDUCOUNTER | calcCounterD4: 38.3999999999999 | calcCounterD4 | 38.3999999999999 | NULL |
| 2023-05-19 06:30:51 | AC     | ARDUCOUNTER | calcCounterD4: 38.4099999999999 | calcCounterD4 | 38.4099999999999 | NULL |
| 2023-05-19 06:32:51 | AC     | ARDUCOUNTER | calcCounterD4: 38.4199999999999 | calcCounterD4 | 38.4199999999999 | NULL |
| 2023-05-19 06:34:51 | AC     | ARDUCOUNTER | calcCounterD4: 38.4299999999999 | calcCounterD4 | 38.4299999999999 | NULL |
| 2023-05-19 06:37:51 | AC     | ARDUCOUNTER | calcCounterD4: 38.4399999999999 | calcCounterD4 | 38.4399999999999 | NULL |
| 2023-05-19 06:39:51 | AC     | ARDUCOUNTER | calcCounterD4: 38.4499999999999 | calcCounterD4 | 38.4499999999999 | NULL |
| 2023-05-19 06:41:50 | AC     | ARDUCOUNTER | calcCounterD4: 38.4599999999999 | calcCounterD4 | 38.4599999999999 | NULL |
| 2023-05-19 06:43:50 | AC     | ARDUCOUNTER | calcCounterD4: 38.4699999999999 | calcCounterD4 | 38.4699999999999 | NULL |
| 2023-05-19 06:45:50 | AC     | ARDUCOUNTER | calcCounterD4: 38.4799999999999 | calcCounterD4 | 38.4799999999999 | NULL |
| 2023-05-19 06:48:50 | AC     | ARDUCOUNTER | calcCounterD4: 38.4899999999999 | calcCounterD4 | 38.4899999999999 | NULL |
| 2023-05-19 06:50:50 | AC     | ARDUCOUNTER | calcCounterD4: 38.4999999999999 | calcCounterD4 | 38.4999999999999 | NULL |
| 2023-05-19 06:52:58 | AC     | ARDUCOUNTER | calcCounterD4: 38.5099999999998 | calcCounterD4 | 38.5099999999998 | NULL |
| 2023-05-19 06:54:50 | AC     | ARDUCOUNTER | calcCounterD4: 38.5199999999998 | calcCounterD4 | 38.5199999999998 | NULL |
| 2023-05-19 06:57:50 | AC     | ARDUCOUNTER | calcCounterD4: 38.5299999999998 | calcCounterD4 | 38.5299999999998 | NULL |
| 2023-05-19 07:00:49 | AC     | ARDUCOUNTER | calcCounterD4: 38.5399999999998 | calcCounterD4 | 38.5399999999998 | NULL |
| 2023-05-19 07:02:49 | AC     | ARDUCOUNTER | calcCounterD4: 38.5499999999998 | calcCounterD4 | 38.5499999999998 | NULL |
| 2023-05-19 07:04:49 | AC     | ARDUCOUNTER | calcCounterD4: 38.5599999999998 | calcCounterD4 | 38.5599999999998 | NULL |
| 2023-05-19 07:07:49 | AC     | ARDUCOUNTER | calcCounterD4: 38.5699999999998 | calcCounterD4 | 38.5699999999998 | NULL |
| 2023-05-19 07:09:49 | AC     | ARDUCOUNTER | calcCounterD4: 38.5799999999998 | calcCounterD4 | 38.5799999999998 | NULL |
| 2023-05-19 07:11:49 | AC     | ARDUCOUNTER | calcCounterD4: 38.5899999999998 | calcCounterD4 | 38.5899999999998 | NULL |
| 2023-05-19 07:13:49 | AC     | ARDUCOUNTER | calcCounterD4: 38.5999999999998 | calcCounterD4 | 38.5999999999998 | NULL |
| 2023-05-19 07:16:48 | AC     | ARDUCOUNTER | calcCounterD4: 38.6099999999998 | calcCounterD4 | 38.6099999999998 | NULL |
| 2023-05-19 07:18:55 | AC     | ARDUCOUNTER | calcCounterD4: 38.6199999999998 | calcCounterD4 | 38.6199999999998 | NULL |
| 2023-05-19 07:21:48 | AC     | ARDUCOUNTER | calcCounterD4: 38.6299999999998 | calcCounterD4 | 38.6299999999998 | NULL |
| 2023-05-19 07:24:48 | AC     | ARDUCOUNTER | calcCounterD4: 38.6399999999998 | calcCounterD4 | 38.6399999999998 | NULL |
| 2023-05-19 07:26:48 | AC     | ARDUCOUNTER | calcCounterD4: 38.6499999999998 | calcCounterD4 | 38.6499999999998 | NULL |
| 2023-05-19 07:29:48 | AC     | ARDUCOUNTER | calcCounterD4: 38.6599999999998 | calcCounterD4 | 38.6599999999998 | NULL |
| 2023-05-19 07:31:48 | AC     | ARDUCOUNTER | calcCounterD4: 38.6699999999998 | calcCounterD4 | 38.6699999999998 | NULL |
| 2023-05-19 07:34:53 | AC     | ARDUCOUNTER | calcCounterD4: 38.6799999999998 | calcCounterD4 | 38.6799999999998 | NULL |
| 2023-05-19 07:37:47 | AC     | ARDUCOUNTER | calcCounterD4: 38.6899999999998 | calcCounterD4 | 38.6899999999998 | NULL |
| 2023-05-19 07:39:47 | AC     | ARDUCOUNTER | calcCounterD4: 38.6999999999998 | calcCounterD4 | 38.6999999999998 | NULL |
| 2023-05-19 07:42:47 | AC     | ARDUCOUNTER | calcCounterD4: 38.7099999999998 | calcCounterD4 | 38.7099999999998 | NULL |
| 2023-05-19 07:44:52 | AC     | ARDUCOUNTER | calcCounterD4: 38.7199999999998 | calcCounterD4 | 38.7199999999998 | NULL |
| 2023-05-19 07:47:47 | AC     | ARDUCOUNTER | calcCounterD4: 38.7299999999998 | calcCounterD4 | 38.7299999999998 | NULL |
| 2023-05-19 07:50:47 | AC     | ARDUCOUNTER | calcCounterD4: 38.7399999999998 | calcCounterD4 | 38.7399999999998 | NULL |
| 2023-05-19 07:52:47 | AC     | ARDUCOUNTER | calcCounterD4: 38.7499999999998 | calcCounterD4 | 38.7499999999998 | NULL |
| 2023-05-19 07:55:47 | AC     | ARDUCOUNTER | calcCounterD4: 38.7599999999998 | calcCounterD4 | 38.7599999999998 | NULL |
| 2023-05-19 07:57:46 | AC     | ARDUCOUNTER | calcCounterD4: 38.7699999999998 | calcCounterD4 | 38.7699999999998 | NULL |
| 2023-05-19 08:00:46 | AC     | ARDUCOUNTER | calcCounterD4: 38.7799999999998 | calcCounterD4 | 38.7799999999998 | NULL |
| 2023-05-19 08:03:46 | AC     | ARDUCOUNTER | calcCounterD4: 38.7899999999998 | calcCounterD4 | 38.7899999999998 | NULL |
| 2023-05-19 08:05:46 | AC     | ARDUCOUNTER | calcCounterD4: 38.7999999999998 | calcCounterD4 | 38.7999999999998 | NULL |
| 2023-05-19 08:08:49 | AC     | ARDUCOUNTER | calcCounterD4: 38.8099999999998 | calcCounterD4 | 38.8099999999998 | NULL |
| 2023-05-19 08:10:45 | AC     | ARDUCOUNTER | calcCounterD4: 38.8199999999998 | calcCounterD4 | 38.8199999999998 | NULL |
| 2023-05-19 08:13:45 | AC     | ARDUCOUNTER | calcCounterD4: 38.8299999999998 | calcCounterD4 | 38.8299999999998 | NULL |
| 2023-05-19 08:16:45 | AC     | ARDUCOUNTER | calcCounterD4: 38.8399999999998 | calcCounterD4 | 38.8399999999998 | NULL |
| 2023-05-19 08:18:51 | AC     | ARDUCOUNTER | calcCounterD4: 38.8499999999998 | calcCounterD4 | 38.8499999999998 | NULL |
| 2023-05-19 08:21:45 | AC     | ARDUCOUNTER | calcCounterD4: 38.8599999999998 | calcCounterD4 | 38.8599999999998 | NULL |
| 2023-05-19 08:23:45 | AC     | ARDUCOUNTER | calcCounterD4: 38.8699999999998 | calcCounterD4 | 38.8699999999998 | NULL |
| 2023-05-19 08:26:45 | AC     | ARDUCOUNTER | calcCounterD4: 38.8799999999998 | calcCounterD4 | 38.8799999999998 | NULL |
| 2023-05-19 08:29:44 | AC     | ARDUCOUNTER | calcCounterD4: 38.8899999999998 | calcCounterD4 | 38.8899999999998 | NULL |
| 2023-05-19 08:31:44 | AC     | ARDUCOUNTER | calcCounterD4: 38.8999999999998 | calcCounterD4 | 38.8999999999998 | NULL |
| 2023-05-19 08:34:44 | AC     | ARDUCOUNTER | calcCounterD4: 38.9099999999998 | calcCounterD4 | 38.9099999999998 | NULL |
| 2023-05-19 08:36:44 | AC     | ARDUCOUNTER | calcCounterD4: 38.9199999999998 | calcCounterD4 | 38.9199999999998 | NULL |
| 2023-05-19 08:39:44 | AC     | ARDUCOUNTER | calcCounterD4: 38.9299999999998 | calcCounterD4 | 38.9299999999998 | NULL |
| 2023-05-19 08:42:44 | AC     | ARDUCOUNTER | calcCounterD4: 38.9399999999998 | calcCounterD4 | 38.9399999999998 | NULL |
| 2023-05-19 08:44:44 | AC     | ARDUCOUNTER | calcCounterD4: 38.9499999999998 | calcCounterD4 | 38.9499999999998 | NULL |
| 2023-05-19 08:47:43 | AC     | ARDUCOUNTER | calcCounterD4: 38.9599999999998 | calcCounterD4 | 38.9599999999998 | NULL |
+---------------------+--------+-------------+---------------------------------+---------------+------------------+------+
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 20 Mai 2023, 12:42:49
Hallo Nighthawk,

das Longcount-Reading ist nur ein Zähler ohne Umrechnungen. Deshalb gibt es auch calcCounter, der dann durch Berechnung davon abgeleitet wird.
Wenn der Zähler getauscht wurde und sich dadurch die Bedeutung des Zählers ändert und falsche Werte in der DB stehen, dann würde ich diese per SQL in der DB korrigieren. Das Modul kann das leider nicht.

Gruss
   Stefan
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: Nighthawk am 21 Mai 2023, 21:04:38
Hallo Stefan,

ich habe es nun anders gelöst, es gibt nämlich auch das Attribut readingNameCalcCountD4.
Damit bekomme ich nun den Wert in der richtigen Auflösung.

Gruß
Alex
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 06 Juli 2023, 19:24:19
Zitat von: tpm88 am 28 April 2020, 17:35:04Zufällig hat unser Jüngster die Tage den FI-Schalter im Haus ausgelöst. So konnte ich auch den Wiederanlauf nach Stromausfall beobachten. Hier geriet der ESP32 allerdings in eine "DISCONNECTED - CONNECTED - DISCONNECTED ..." Dauerschleife, aus der er erst nach einem manuellen Reset wieder herauskam. Falls es dich interessiert, hätte ich dazu auch "Verbose 5" Logs...


Bei mir war es jetzt die letzten Wochen zweimal der Fall bei nächtlichem Gewitter. Das eine Mal war der Strom so kurz weg, dass mein FHEM server durchlief, während Router (Fritzbox, feste IP für die ESPs), Arducounter und ein EspEasy neu gestartet haben.
ESPEasy hat sich ganz normal wieder verbunden, nur der Arducounter hing in einem seltsamen Zustand:
- disconnected laut FHEM, Web-Oberfläche des Wifi-manager aber erreichbar

Nach "set xxx reset" und "set xxx reconnect" hat er sich wieder mit FHEM verbunden. Warum auch immer ist so dann aber die Weboberfläche des Wifi-Managers nicht mehr erreichbar.

So ganz kapiere ich die Zusammenhänge nicht.

Ich hätte aber eigentlich schon gerne, dass er sich nach Stromausfall automatisch wieder verbindet. Das nicht erreichbare Webinterface dagegen stört mich eigentlich nicht. Brauche ich ja auch nicht, wenn alles läuft.
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 11 Juli 2023, 20:42:30
Ich konnte das Problem nach einem Stromausfall nachvollziehen. Das Problem ist der WifiManager. der Meldet sich auf Port 80 und Fhem möchte darüber auch mit der eigentlichen Firmware reden. Die Lösung ist eine kleine Änderung in der Firmware. Zum einen verwende ich jetzt statt 80 den Port 23 (ist ja auch quasi ein Klartext-Protokoll) und zum anderen beendet sich der WifiManager nach 5 Minuten. Der ist ja nur dazu da, dass man initial eine SSID für das richtige WLAN konfigurieren kann.
Wer mag das mal testen und für welche Plattformen benötigt Ihr ggf. kompilierte Versionen?

Gruss
   Stefan
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: SamNitro am 11 Juli 2023, 20:45:46
Ich würde die auch testen wollen. Wemos d1 also esp8266

Danke schonmal. LG Patrick
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 13 Juli 2023, 19:17:50
Anbei eine für den Wemos D1 mini pro compilierte Variante

Gruss
   Stefan
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 16 Juli 2023, 11:57:22
Hallo Stefan,

Gern teste ich auch die neue Version. Für ESP32dev. Könnte ja selber kompilieren, dazu müsste ich mich nur wieder in PlatformIO einarbeiten  >:( Eine kompilierte Version wäre also toll  :)

Noch eine Frage: ich würde das auf einem Testsystem laufen lassen, ESPs habe ich noch hier. Gibt es eine einfache Möglichkeit, einen Puls am Eingang anstelle des Lesekopfs auch zu simulieren?
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 22 Juli 2023, 09:42:25
Hallo Dieter,

anbei eine Firmware für den ESP32. Bootloader etc. kann vermutlich gleich bleiben.
Zum Simulieren von Impulsen kannst Du einfach den Eingang mit einem Taster mit GND verbinden.

Gruss
   Stefan
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 22 Juli 2023, 14:24:12
Hallo Stefan,
habe mich gestern abend durch Platformio gekämpft, und build bzw upload erfolgreich geschafft. Soweit ich gesehen habe, ist im source ja nur das WiFiServer Server(80);              // For ESP WiFi connection
ersetzt durch WiFiServer Server(23);              // For ESP WiFi connection
. Oder gibt es sonst Änderungen?

Mein Testergebnis bisher, ohne Pulse am Eingang:
ich boote den ESP ohne Zugriff auf mein WLAN, so dass der Wifimanager anspringt, und mache dann das reguläre WLAN verfügbar. In beiden Fällen geht er im FHEM in state "opened", bei Verbindung über Port80 erfolgt allerdings alle 10s ein Reconnect, bei Port 23 nicht.
Beim boot mit verfügbarem WLAN sehe ich keinen Unterschied.

Müsste man aus den Logs, FHEM bzw. seriell, etwas herauslesen können?

So ganz aussagekräftig finde ich es noch nicht, werde wohl doch zusätzlich noch Pulse simulieren müssen.

PS: Port 23 ist doch eigentlich für unverschlüsselten Telnet vorgesehen. Ist das eine gute Idee, den dafür zu nutzen?
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 22 Juli 2023, 22:12:22
Hallo Dieter,

Ja, ich habe nur den Port geändert. 80 wird vom WifiManager verwendet. Deshalb kann das Fhem-Modul sich zwar verbinden, aber der WifiManager liefert natürlich nicht die Zählerwerte und antwortet auch nicht auf die Keepalive-Requests. Deshalb wird die Verbindung gleich wieder geschlossen.
Bei jedem anderen Port außer 80 besteht das Problem nicht. Der Arducounter auf einem ESP bietet ja sonst keine Netzwerkdiensten an. Port 23 ist dabei so gut wie irgend ein anderer und da das Protokoll unverschlüsselte Text-Befehle austauscht, fand ich 23 ganz passend.

Wenn keine Reconnects im Log auftauchen, ist das erst mal ein gutes Zeichen.

Gruß
   Stefan
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 28 Juli 2023, 18:10:32
Hallo Stefan,

doppelt überprüft, Umstellung auf Port23 löst das Problem, auf Port80 ist es wieder da. Zum Test war nur etwas lästig, dass der ESP beim Booten nie das WLAN sehen darf.

Als Taktgenerator habe ich statt Taster kurzfristig einen Digispark rangedongelt.

Wie bekomme ich das jetzt auf meinen richtigen Counter? OTA via FHEM probiere auch vorher am Test-ESP aus, klar. Das habe ich bisher noch nie gemacht. Aber dann sind ja die ganzen im ESP gespeicherten Werte weg, oder?

Edit:
OTA funktioniert irgendwie nicht, habe es auf Port23 und 80 probiert. Es kommt immer folgender Fehler:

command: espota.py -i -p 3232 -f ./FHEM/firmware/ArduCounter-ESP32.bin 2>./log/ArduCounterFlash.log

--- flash command ---------------------------------------------------------------------------------
Sending invitation to -p failed
22:41:12 [ERROR]: Host -p Not Found
--- flash command ---------------------------------------------------------------------------------

Im Log steht folgendes
2023.07.28 22:41:12 1: PERL WARNING: Use of uninitialized value $ip in substitution (s///) at ./FHEM/98_ArduCounter.pm line 1310.
2023.07.28 22:41:12 1: stacktrace:
2023.07.28 22:41:12 1:     main::__ANON__                      called by ./FHEM/98_ArduCounter.pm (1310)
2023.07.28 22:41:12 1:     ArduCounter::DoFlash                called by ./FHEM/98_ArduCounter.pm (1474)
2023.07.28 22:41:12 1:     ArduCounter::SetFn                  called by fhem.pl (3975)
2023.07.28 22:41:12 1:     main::CallFn                        called by fhem.pl (1966)
2023.07.28 22:41:12 1:     main::DoSet                         called by fhem.pl (1998)
2023.07.28 22:41:12 1:     main::CommandSet                    called by fhem.pl (1278)
2023.07.28 22:41:12 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2850)
2023.07.28 22:41:12 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (1024)
2023.07.28 22:41:12 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (609)
2023.07.28 22:41:12 1:     main::FW_Read                       called by fhem.pl (3980)
2023.07.28 22:41:12 1:     main::CallFn                        called by fhem.pl (784)


Problem gelöst: ich musste die IP-Adresse manuell im flash-command angeben, da der ESP über den Namen definiert ist.
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: efyzz am 25 November 2023, 20:22:55
Moin,

ich habe den ArduCounter schon seit einigen Jahren problemlos genutzt. Der Arduino Nano ist über ein sehr langes USB-Kabel angebunden, daher habe ich eine sehr niedrige Baudrate gewählt. Nun habe ich das gesamte System auf meinem Raspberry neu aufgesetzt und folgendes merkwürdiges Problem:

Der ArduCounter ist definiert mit:
/dev/ttyStromzaehler@19200("ttyStromzaehler" stammt aus einer udev-Rule)

Immer wenn FHEM neu startet, bleibt zwar die DEF wie oben angegeben, aber der DeviceName ist plötzlich zu
/dev/ttyStromzaehler@38400 geworden  ??? 
Scheinbar stimmt dann wirklich die Baudrate nicht mehr, denn der Arduino sendet nur noch Hieroglyphen.

Ich kann das wieder zum Laufen bringen, indem ich die DEF einmal auf auf 38400 und wieder zurück auf 19200 stelle. Dann stehen die 19200 auch wieder im DeviceName und alles funktioniert - bis zum nächsten Neustart.

Ich habe die ArduCounter Version 3.34 auf dem Arduino.

Würde es wohl helfen, den Arduino mit der aktuellen Firmware zu flashen?

Muss ich dann damit rechnen, dass irgendwelche Einstellungen oder Zählerstände auf dem Arduino zurückgesetzt werden? Und wenn ja, kann ich davon ein Backup machen?

Und nebenbei, wieso tritt das Problem erst jetzt auf? Mein Betriebssystem auf dem Raspberry war zwar veraltet (vorher Jessie, jetzt Bookworm), aber das FHEM war immer recht aktuell. Also wird das Problem vielleicht irgendwie vom Betriebssystem hervorgerufen?

Danke euch!
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 26 November 2023, 15:51:19
Hallo efyzz,

wenn de Kommunikation mit dem ArduCounter nicht klappt, versucht das Modul alternative Geschwindigkeiten für den Fall dass die falsch eingestellt ist oder ein Sketch mit anderer Geschwindigkeit geflasht wurde:

sub HelloTimeout {
    my $param = shift;
    my (undef,$name) = split(/:/,$param);
    my $hash = $defs{$name};
    delete $hash->{WaitForHello};
    RemoveInternalTimer ("hwait:$name");

    if ($hash->{DeviceName} !~ m/^(.+):([0-9]+)$/) {        # not TCP
        if (!$hash->{OpenRetries}) {
            $hash->{OpenRetries} = 1;
        }
        else {
            $hash->{OpenRetries}++;
            if ($hash->{OpenRetries}++ > 4) {
                Log3 $name, 3, "$name: device didn't reply to h(ello). Is the right sketch flashed? Is serial speed set to 38400 or 115200 for firmware >4.0?";               
                return;
            }
        }
        Log3 $name, 5, "$name: HelloTimeout: DeviceName in hash is $hash->{DeviceName}";
        if ($hash->{DeviceName} !~ /(.+)@([0-9]+)(.*)/) {   # no serial speed specified
            $hash->{DeviceName} .= '@38400';                # should not happen (added during define)
            Log3 $name, 3, "$name: device didn't reply to h(ello). No serial speed set. Is the right sketch flashed? Trying again with \@38400";
        }
        else {                                   
            if ($2 == 38400) {             
                $hash->{DeviceName} = "${1}\@115200${3}";    # now try 115200 if 38400 before
                Log3 $name, 3, "$name: device didn't reply to h(ello). Is the right sketch flashed? Serial speed was $2. Trying again with \@115200";
            }
            else {
                $hash->{DeviceName} = "${1}\@38400${3}";    # now try 38400
                Log3 $name, 3, "$name: device didn't reply to h(ello). Is the right sketch flashed? Serial speed was $2. Trying again with \@38400";
            }
        }
        Log3 $name, 5, "$name: HelloTimeout: DeviceName in hash is set to $hash->{DeviceName}";
        DoOpen($hash);                            # try again                             
    }
    return;
}

wenn Du verbose auf 5 setzt, solltest Du sehen was tatsächlich passiert.
Eventuell hat sich im OS etwas geändert und Das Modul ist zu schnell mit dem Umstellen der Geschwindigkeit.
Probier doch mal helloWaitTime von 2 auf 5 zu setzen.

Gruss
   Stefan
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: efyzz am 26 November 2023, 19:35:34
Hallo Stefan,

vielen Dank für die umfassende Antwort  :D

Ich habe zunächst verbose 5 gesetzt und neu gestartet:

2023.11.26 17:24:56 1: in INITIALIZED
2023.11.26 17:24:56 3: Stromzaehler: Notify called with events: INITIALIZED, open device and set timer to send hello to device
2023.11.26 17:24:56 4: Stromzaehler: trying to open connection to /dev/ttyStromzaehler@19200
2023.11.26 17:24:56 3: Opening Stromzaehler device /dev/ttyStromzaehler
2023.11.26 17:24:56 3: Setting Stromzaehler serial parameters to 19200,8,N,1
2023.11.26 17:24:56 3: Stromzaehler device opened
2023.11.26 17:24:56 5: Stromzaehler: DoOpen succeeded in callback
2023.11.26 17:24:56 5: Stromzaehler: DoOpen succeeded immediately
2023.11.26 17:24:56 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 496.
2023.11.26 17:24:56 0: Featurelevel: 6.2
2023.11.26 17:24:56 0: Server started with 660 defined entities (fhem.pl:28126/2023-11-05 perl:5.036000 os:linux user:fhem pid:857)
2023.11.26 17:25:00 5: Stromzaehler: call configureDisplay after delay
2023.11.26 17:25:00 3: Stromzaehler: Invalid device display configuration
2023.11.26 17:25:00 3: Stromzaehler: unparseable message from device: ~�)
2023.11.26 17:25:00 3: Stromzaehler: unparseable message from device: ␌L␎L␈���{�H␌␌��
2023.11.26 17:25:00 3: Stromzaehler: unparseable message from device: @�N�((
2023.11.26 17:25:00 3: Stromzaehler: unparseable message from device: ̈␈�␌�{�H␌␌�
2023.11.26 17:25:00 3: Stromzaehler: unparseable message from device: �␌@��D got 0,0y size 2
2023.11.26 17:25:00 4: Stromzaehler: device: got 1y size 1
2023.11.26 17:25:00 4: Stromzaehler: device: got 91y size 1
2023.11.26 17:25:00 5: Stromzaehler: ArduCounter 8.01 - 04.12.2022 sending h(ello) to device to ask for firmware version
2023.11.26 17:25:00 5: DevIo_SimpleWrite Stromzaehler: h.
2023.11.26 17:25:03 5: Stromzaehler: HelloTimeout: DeviceName in hash is /dev/ttyStromzaehler@19200
2023.11.26 17:25:03 3: Stromzaehler: device didn't reply to h(ello). Is the right sketch flashed? Serial speed was 19200. Trying again with @38400
2023.11.26 17:25:03 5: Stromzaehler: HelloTimeout: DeviceName in hash is set to /dev/ttyStromzaehler@38400
2023.11.26 17:25:03 4: Stromzaehler: trying to open connection to /dev/ttyStromzaehler@38400
2023.11.26 17:25:03 3: Opening Stromzaehler device /dev/ttyStromzaehler
2023.11.26 17:25:03 3: Setting Stromzaehler serial parameters to 38400,8,N,1
2023.11.26 17:25:03 3: Stromzaehler device opened
2023.11.26 17:25:03 5: Stromzaehler: DoOpen succeeded in callback
2023.11.26 17:25:03 5: Stromzaehler: DoOpen succeeded immediately
2023.11.26 17:25:07 5: Stromzaehler: ArduCounter 8.01 - 04.12.2022 sending h(ello) to device to ask for firmware version
2023.11.26 17:25:07 5: DevIo_SimpleWrite Stromzaehler: h.
2023.11.26 17:25:09 5: Stromzaehler: HelloTimeout: DeviceName in hash is /dev/ttyStromzaehler@38400
2023.11.26 17:25:09 3: Stromzaehler: device didn't reply to h(ello). Is the right sketch flashed? Serial speed was 38400. Trying again with @115200
2023.11.26 17:25:09 5: Stromzaehler: HelloTimeout: DeviceName in hash is set to /dev/ttyStromzaehler@115200
2023.11.26 17:25:09 4: Stromzaehler: trying to open connection to /dev/ttyStromzaehler@115200
2023.11.26 17:25:09 3: Opening Stromzaehler device /dev/ttyStromzaehler
2023.11.26 17:25:09 3: Setting Stromzaehler serial parameters to 115200,8,N,1
2023.11.26 17:25:09 3: Stromzaehler device opened
2023.11.26 17:25:09 5: Stromzaehler: DoOpen succeeded in callback
2023.11.26 17:25:09 5: Stromzaehler: DoOpen succeeded immediately
2023.11.26 17:25:13 5: Stromzaehler: ArduCounter 8.01 - 04.12.2022 sending h(ello) to device to ask for firmware version
2023.11.26 17:25:13 5: DevIo_SimpleWrite Stromzaehler: h.
2023.11.26 17:25:15 5: Stromzaehler: HelloTimeout: DeviceName in hash is /dev/ttyStromzaehler@115200
2023.11.26 17:25:15 3: Stromzaehler: device didn't reply to h(ello). Is the right sketch flashed? Serial speed was 115200. Trying again with @38400
2023.11.26 17:25:15 5: Stromzaehler: HelloTimeout: DeviceName in hash is set to /dev/ttyStromzaehler@38400
2023.11.26 17:25:15 4: Stromzaehler: trying to open connection to /dev/ttyStromzaehler@38400
2023.11.26 17:25:15 3: Opening Stromzaehler device /dev/ttyStromzaehler
2023.11.26 17:25:15 3: Setting Stromzaehler serial parameters to 38400,8,N,1
2023.11.26 17:25:15 3: Stromzaehler device opened
2023.11.26 17:25:15 5: Stromzaehler: DoOpen succeeded in callback
2023.11.26 17:25:15 5: Stromzaehler: DoOpen succeeded immediately
2023.11.26 17:25:19 5: Stromzaehler: ArduCounter 8.01 - 04.12.2022 sending h(ello) to device to ask for firmware version
2023.11.26 17:25:19 5: DevIo_SimpleWrite Stromzaehler: h.
2023.11.26 17:25:21 3: Stromzaehler: device didn't reply to h(ello). Is the right sketch flashed? Is serial speed set to 38400 or 115200 for firmware >4.0?
2023.11.26 17:26:05 5: Stromzaehler: Attr called with set Stromzaehler helloWaitTime 5
2023.11.26 17:26:05 1: in ATTR
2023.11.26 17:26:09 1: in SAVE
2023.11.26 17:27:51 1: in SHUTDOWN
2023.11.26 17:27:51 0: Server shutdown

Man sieht, dass die Kommunikation scheinbar nicht erfolgreich war und die Baudrate variiert wird.

Interessanterweise sind gleich am Anfang Hieroglyphen zu sehen, noch bevor (h)ello gesendet wird. Wo kommt das denn her?

Nachdem ich helloWaitTime auf 5 gesetzt habe, hat es leider auch nicht funktioniert:
2023.11.26 17:30:30 1: in INITIALIZED
2023.11.26 17:30:30 3: Stromzaehler: Notify called with events: INITIALIZED, open device and set timer to send hello to device
2023.11.26 17:30:30 4: Stromzaehler: trying to open connection to /dev/ttyStromzaehler@19200
2023.11.26 17:30:30 3: Opening Stromzaehler device /dev/ttyStromzaehler
2023.11.26 17:30:30 3: Setting Stromzaehler serial parameters to 19200,8,N,1
2023.11.26 17:30:30 3: Stromzaehler device opened
2023.11.26 17:30:30 5: Stromzaehler: DoOpen succeeded in callback
2023.11.26 17:30:30 5: Stromzaehler: DoOpen succeeded immediately
2023.11.26 17:30:32 0: Featurelevel: 6.2
2023.11.26 17:30:32 0: Server started with 660 defined entities (fhem.pl:28126/2023-11-05 perl:5.036000 os:linux user:fhem pid:866)
2023.11.26 17:30:35 5: Stromzaehler: call configureDisplay after delay
2023.11.26 17:30:35 3: Stromzaehler: Invalid device display configuration
2023.11.26 17:30:38 5: Stromzaehler: Initialize device clock offset to 1700556217.6687
2023.11.26 17:30:38 5: Stromzaehler: Device Time 460021.291, Offset 1700556.218, Drift 0.000s in 0.000s
2023.11.26 17:30:38 4: Stromzaehler: pin D5 (pin5) Cnt 524 (diff 1/1) in 300.404s from 17:25:38 until 17:30:38, seq 47, Rej 0, Avg 300304ms, PPU 1, FUT 3600s, result 11.984
2023.11.26 17:30:38 3: Stromzaehler: pin D5 (pin5) missed 46 reports in 366.555695056915 seconds. Last reported sequence was 0, now 47. Device count before was 522, now 524 with rDiff 1. Adding 1 to long count and intpolated count readings
2023.11.26 17:30:38 5: Stromzaehler: pin D5 (pin5) adding rDiff 1 to long count 63741 and interpolated count 63746
2023.11.26 17:30:38 1: PERL WARNING: Prototype mismatch: sub main::round ($$) vs none at /usr/lib/aarch64-linux-gnu/perl-base/Exporter.pm line 63.
2023.11.26 17:30:39 3: Stromzaehler: device is still counting
2023.11.26 17:30:39 5: Stromzaehler: ArduCounter 8.01 - 04.12.2022 sending h(ello) to device to ask for firmware version
2023.11.26 17:30:39 5: DevIo_SimpleWrite Stromzaehler: h.
2023.11.26 17:30:39 5: Stromzaehler: Device Time 460021.291, Offset 1700556.218, Drift 0.061s in 0.061s, 100.00%
2023.11.26 17:30:39 4: Stromzaehler: pin D6 (pin6) Cnt 2394 (diff 1/1) in 60.081s from 17:29:38 until 17:30:39, seq 117, Rej 0, Avg 59981ms, PPU 100, FUT 3600s, result 0.599
2023.11.26 17:30:39 3: Stromzaehler: pin D6 (pin6) missed 116 reports in 366.939298868179 seconds. Last reported sequence was 0, now 117. Device count before was 2389, now 2394 with rDiff 1. Adding 4 to long count and intpolated count readings
2023.11.26 17:30:39 5: Stromzaehler: pin D6 (pin6) adding rDiff 1 to long count 372322 and interpolated count 372333
2023.11.26 17:30:39 3: Stromzaehler: device is still counting
2023.11.26 17:30:39 5: Stromzaehler: Device Time 460021.291, Offset 1700556.218, Drift 0.092s in 0.092s, 100.00%
2023.11.26 17:30:39 4: Stromzaehler: pin D7 (pin7) Cnt 375474 (diff 196/196) in 59.896s from 17:29:39 until 17:30:39, seq 202, Rej 0, Avg 2ms, PPU 5000, FUT 3600s, result 2.356
2023.11.26 17:30:39 3: Stromzaehler: pin D7 (pin7) missed 201 reports in 367.155292034149 seconds. Last reported sequence was 0, now 202. Device count before was 374092, now 375474 with rDiff 196. Adding 1186 to long count and intpolated count readings
2023.11.26 17:30:39 5: Stromzaehler: pin D7 (pin7) adding rDiff 196 to long count 11593873 and interpolated count 11594558
2023.11.26 17:30:39 3: Stromzaehler: device is still counting
2023.11.26 17:30:39 5: Stromzaehler: Device Time 460021.291, Offset 1700556.218, Drift 0.135s in 0.135s, 100.00%
2023.11.26 17:30:39 4: Stromzaehler: pin 21 (pin21) Cnt 31221 (diff 13/13) in 57.496s from 17:29:41 until 17:30:39, seq 115, Rej 0, Avg 24ms, PPU 375, FUT 3600s, result 2.171
2023.11.26 17:30:39 3: Stromzaehler: pin 21 (pin21) missed 114 reports in 240047.598433018 seconds. Last reported sequence was 0, now 115. Device count before was 16260, now 31221 with rDiff 13. Adding 14948 to long count and intpolated count readings
2023.11.26 17:30:39 5: Stromzaehler: pin 21 (pin21) adding rDiff 13 to long count 2942384 and interpolated count 2942384
2023.11.26 17:30:39 3: Stromzaehler: device is still counting
2023.11.26 17:30:45 5: Stromzaehler: HelloTimeout: DeviceName in hash is /dev/ttyStromzaehler@19200
2023.11.26 17:30:45 3: Stromzaehler: device didn't reply to h(ello). Is the right sketch flashed? Serial speed was 19200. Trying again with @38400
2023.11.26 17:30:45 5: Stromzaehler: HelloTimeout: DeviceName in hash is set to /dev/ttyStromzaehler@38400
2023.11.26 17:30:45 4: Stromzaehler: trying to open connection to /dev/ttyStromzaehler@38400
2023.11.26 17:30:45 3: Opening Stromzaehler device /dev/ttyStromzaehler
2023.11.26 17:30:45 3: Setting Stromzaehler serial parameters to 38400,8,N,1
2023.11.26 17:30:45 3: Stromzaehler device opened
2023.11.26 17:30:45 5: Stromzaehler: DoOpen succeeded in callback
2023.11.26 17:30:45 5: Stromzaehler: DoOpen succeeded immediately
2023.11.26 17:30:49 5: Stromzaehler: ArduCounter 8.01 - 04.12.2022 sending h(ello) to device to ask for firmware version
2023.11.26 17:30:49 5: DevIo_SimpleWrite Stromzaehler: h.
2023.11.26 17:30:54 5: Stromzaehler: HelloTimeout: DeviceName in hash is /dev/ttyStromzaehler@38400
2023.11.26 17:30:54 3: Stromzaehler: device didn't reply to h(ello). Is the right sketch flashed? Serial speed was 38400. Trying again with @115200
2023.11.26 17:30:54 5: Stromzaehler: HelloTimeout: DeviceName in hash is set to /dev/ttyStromzaehler@115200
2023.11.26 17:30:54 4: Stromzaehler: trying to open connection to /dev/ttyStromzaehler@115200
2023.11.26 17:30:54 3: Opening Stromzaehler device /dev/ttyStromzaehler
2023.11.26 17:30:54 3: Setting Stromzaehler serial parameters to 115200,8,N,1
2023.11.26 17:30:54 3: Stromzaehler device opened
2023.11.26 17:30:54 5: Stromzaehler: DoOpen succeeded in callback
2023.11.26 17:30:54 5: Stromzaehler: DoOpen succeeded immediately
2023.11.26 17:30:58 5: Stromzaehler: ArduCounter 8.01 - 04.12.2022 sending h(ello) to device to ask for firmware version
2023.11.26 17:30:58 5: DevIo_SimpleWrite Stromzaehler: h.
2023.11.26 17:31:03 5: Stromzaehler: HelloTimeout: DeviceName in hash is /dev/ttyStromzaehler@115200
2023.11.26 17:31:03 3: Stromzaehler: device didn't reply to h(ello). Is the right sketch flashed? Serial speed was 115200. Trying again with @38400
2023.11.26 17:31:03 5: Stromzaehler: HelloTimeout: DeviceName in hash is set to /dev/ttyStromzaehler@38400
2023.11.26 17:31:03 4: Stromzaehler: trying to open connection to /dev/ttyStromzaehler@38400
2023.11.26 17:31:03 3: Opening Stromzaehler device /dev/ttyStromzaehler
2023.11.26 17:31:03 3: Setting Stromzaehler serial parameters to 38400,8,N,1
2023.11.26 17:31:03 3: Stromzaehler device opened
2023.11.26 17:31:03 5: Stromzaehler: DoOpen succeeded in callback
2023.11.26 17:31:03 5: Stromzaehler: DoOpen succeeded immediately
2023.11.26 17:31:07 5: Stromzaehler: ArduCounter 8.01 - 04.12.2022 sending h(ello) to device to ask for firmware version
2023.11.26 17:31:07 5: DevIo_SimpleWrite Stromzaehler: h.
2023.11.26 17:31:12 3: Stromzaehler: device didn't reply to h(ello). Is the right sketch flashed? Is serial speed set to 38400 or 115200 for firmware >4.0?
2023.11.26 17:31:55 3: Stromzaehler: Warning: connection speed 19200 is not the default for the latest ArduCounter firmware
2023.11.26 17:31:55 3: Stromzaehler: defined with /dev/ttyStromzaehler@19200, Module version 8.01 - 04.12.2022
2023.11.26 17:31:55 1: in MODIFIED
2023.11.26 17:31:55 3: Stromzaehler: Notify called with events: MODIFIED Stromzaehler, open device and set timer to send hello to device
2023.11.26 17:31:55 4: Stromzaehler: trying to open connection to /dev/ttyStromzaehler@19200
2023.11.26 17:31:55 3: Opening Stromzaehler device /dev/ttyStromzaehler
2023.11.26 17:31:55 3: Setting Stromzaehler serial parameters to 19200,8,N,1
2023.11.26 17:31:55 3: Stromzaehler device opened
2023.11.26 17:31:55 5: Stromzaehler: DoOpen succeeded in callback
2023.11.26 17:31:55 5: Stromzaehler: DoOpen succeeded immediately
2023.11.26 17:31:59 5: Stromzaehler: ArduCounter 8.01 - 04.12.2022 sending h(ello) to device to ask for firmware version
2023.11.26 17:31:59 5: DevIo_SimpleWrite Stromzaehler: h.
2023.11.26 17:31:59 4: Stromzaehler: device: got 0,0,0h size 3
2023.11.26 17:31:59 3: Stromzaehler: device sent hello with outdated Arducounter Firmware (3.34) - please update!

Der Teil mit den Hieroglyphen taucht hier komischerweise nicht auf.

Am Ende sieht man, dass ich per MODIFY wieder auf 19200 gestellt habe und dann läuft die Verbindung.

Irgendwelche Ideen?
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: efyzz am 03 Dezember 2023, 19:33:17
Moin,

ich musste inzwischen beobachten, dass zusätzlich die Verbindung zum ArduCounter etwa 1x täglich abbricht. Nach einem set reconnect läuft es wieder.

Ich habe mir daher ein monitoring eingerichtet, das prüft, ob jede Minute wie erwartet Daten vom ArduCounter kommen. Und dabei ist mir noch etwas Seltsames aufgefallen: Genau jede 60min kommen einmal keine Daten vom AC. In der nächsten Minute kommen sie aber wieder (auch ohne reconnect). Gelegentlich verschiebt sich der Zeitpunkt auch mal, aber dann geht es wieder alle 60min weiter. In alten Logdaten sehe ich, dass das auch schon vor dem Umstieg auf Bookworm so war. Ist also scheinbar eine Eigenheit des ArduCounter.

Vielleicht wäre doch mal ein Update des Arduinos sinnvoll. Daher nochmal die Frage:
Gehen beim Update (von V3.34) irgendwelche Zählerstände verloren oder ändern sich womöglich Reading-Namen, sodass man Funktionen drumherum anpassen müsste?


Und mal so nebenbei: Müsste es der USB-Verbindung zwischen RPi und Arduino nicht eigentlich egal sein, welche Baudrate man einstellt? Das hat doch keinen Einfluss auf die USB-Übertragungsgeschwindigkeit?! Also die Baudrate zu drosseln, weil man ein langes USB-Kabel hat, ist doch vermutlich sinnlos...?
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 04 Dezember 2023, 18:17:06
Hallo efyzz,

bei einem Update des Arduino sollte nichts verloren gehen und was das lange USB-Kabel angeht, so hat die Baudrate da keinen Einfluss. Am besten entfernst Du die Angabe und übernimmst damit den Default.
Hast Du wegen den Aussetzern und den Sonderzeichen mal einen anderen Arduino probiert?

Gruss
   Stefan
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: efyzz am 29 Dezember 2023, 20:25:36
Moin,

wenn ich einen anderen Arduino nehme, sind aber höchstwahrscheinlich die Zählerstände verloren, oder?

Ich habe das Ganze jetzt nochmal ausgiebig beobachtet. Einen kompletten Verbindungsabriss hatte ich bisher nicht mehr, deswegen kann ich auch kein entsprechendes Log liefern.

Was ich jedoch weiterhin beobachten kann ist, dass meistens (nicht immer) genau 1x pro Stunde keine Daten kommen. Wie gesagt habe ich ein Monitoring eingerichtet, das nach 65 s ohne Daten eine Warning generiert und dabei ein Reconnect ausführt. Das passiert wie gesagt regelmäßig, ist aber jetzt kein großes Problem. Gelegentlich kommen aber auch mehrere Minuten lang keine (neuen) Daten. Das führt dann zu einem Error und es wird neben dem Reconnect noch eine Telegram Message geschickt. Das lag wohl anfangs daran, dass ich das Attribut event-on-change-reading .* gesetzt habe. Klar, wenn der Stromverbrauch einige Minuten konstant ist (passiert z.B. nachts häufig), gibt es kein Event mehr und somit schlägt der Monitor an. Also ich habe ich noch event-on-update-reading für das entsprechende Reading gesetzt.

Frage 1: Es ist doch so, dass über event-on-update-reading Ausnahmen für event-on-change-reading .* definiert werden?

Scheinbar ist es so, denn nun sehe ich auch gleiche Werte hintereinander im Log (z.B. ist die Leistung mehrere Minuten lang 300 W und dies taucht dann auch im Log jede Minute auf).

Aber trotzdem kommen gelegentlich mal für eine Minute keine Daten (neben dem 1x pro Stunde - Problem).

Daher Frage 2: Macht der AC selbst auch noch intern eine Filterung, dass er unveränderte Werte nicht sendet?

Es wäre ja möglich, dass der AC beispielsweise intern mit Float rechnet. Und ist der Wert nun in einer Minute 300.1 W und in der nächsten Minute 300.3 W, so wären das aus Sicht des AC verschiedene Werte, die übertragen werden müssen (wobei FHEM jedes Mal 300 W loggt). Hat der AC jedoch zweimal hintereinander einen identischen Wert berechnet (beipielsweise beide Male 300.1 W), so würde er den zweiten Wert nicht übertragen, da keine Veränderung.

Nur so könnte ich mir das erklären ... Kann das sein? Und wenn ja, kann ich dem AC erklären, dass er bitte immer den Wert überträgt, auch wenn unverändert?

Hier die Definition des AC (Ausschnitt):
defmod Stromzaehler ArduCounter /dev/ttyStromzaehler@19200
attr Stromzaehler userattr pinA7 pinD4 pinD5 pinD6 pinD7
attr Stromzaehler analogThresholds 100 200
attr Stromzaehler enableHistory 1
attr Stromzaehler event-on-change-reading .*
attr Stromzaehler event-on-update-reading powerD7, powerA7

Und die Definition des Monitor:
defmod ArduCounterUeberwachung monitoring Stromzaehler:powerD7:.*|Stromzaehler:powerA7:.* Stromzaehler:powerD7:.*|Stromzaehler:powerA7:.*
attr ArduCounterUeberwachung errorFuncAdded {fhem("set Stromzaehler reconnect");;;;\
fhem("set TelegramBot message Keine Daten vom Stromzähler!");;;;\
Log 1, "Stromzaehler ERROR timeout reached, reconnect" }
attr ArduCounterUeberwachung errorWait 130
attr ArduCounterUeberwachung room Stromzähler
attr ArduCounterUeberwachung warningFuncAdded {fhem("set Stromzaehler reconnect");;;;\
Log 1, "Stromzaehler WARNING timeout reached, reconnect" }
attr ArduCounterUeberwachung warningWait 65

Und hier noch ein Log vom Monitor:
2023.12.29 00:01:26 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.29 01:01:21 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.29 02:01:16 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.29 03:01:11 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.29 04:01:07 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.29 05:01:02 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.29 06:00:57 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.29 07:00:52 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.29 08:00:48 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.29 09:00:43 1: Stromzaehler WARNING timeout reached, reconnect

Immer schön 1x pro Stunde ...

Und gestern Abend war der Stromverbrauch länger konstant (weil niemand zuhause war). Dann sieht das so aus:
2023.12.28 17:55:55 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.28 17:58:55 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.28 18:00:54 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.28 18:02:54 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.28 18:05:54 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.28 18:07:54 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.28 18:08:59 1: Stromzaehler ERROR timeout reached, reconnect
2023.12.28 18:10:53 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.28 18:11:59 1: Stromzaehler ERROR timeout reached, reconnect
2023.12.28 18:13:53 1: Stromzaehler WARNING timeout reached, reconnect
2023.12.28 18:14:58 1: Stromzaehler ERROR timeout reached, reconnect

Und noch eine letzte Frage: Wie erkläre ich dem Monitor, dass er sich nach Ablauf des errorWait wieder scharf schaltet? Im Moment ist es leider so, dass wenn wirklich gar keine Daten vom AC mehr kommen, der Monitor mir zwar noch die Error-Nachricht schickt, dann aber nicht mehr monitored, weil er nicht durch neue Werte angetriggert wird. Dann ist ein manueller Eingriff erforderlich ...

Danke euch und schon mal guten Rutsch (hoffentlich nicht im überfluteten Keller ;) )!
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: StefanStrobel am 03 Januar 2024, 19:34:20
Hallo,

ZitatFrage 1: Es ist doch so, dass über event-on-update-reading Ausnahmen für event-on-change-reading .* definiert werden?
siehe https://wiki.fhem.de/wiki/Event-on-update-reading
bzw. https://wiki.fhem.de/wiki/Event-on-change-reading

ZitatDaher Frage 2: Macht der AC selbst auch noch intern eine Filterung, dass er unveränderte Werte nicht sendet?
nein, da wird nichts gefiltert. Allerdings ist das Meldeintervall innerhalb der per Attribut definierten Grenzen flexibel.
siehe Attribut "interval" bzw. https://wiki.fhem.de/wiki/ArduCounter

Mit Verbose 5 siehst Du alle Meldungen vom Arduino / ESP.

Gruss
   Stefan

Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: efyzz am 05 Januar 2024, 21:56:09
Hallo Stefan,

vielen Dank für die Erläuterungen!

Na klar, an "interval" wird es liegen!  ::)  Ich habe es so gesetzt:
interval 60 3600 2 1
Die lange max-Zeit brauche ich leider für meinen Fernwärmezähler, der unter Umständen nur einen Puls pro Stunde raus gibt.

Das erklärt natürlich, warum ich nicht zwingend jede Minute neue Werte bekomme. Ich muss meinen Monitor also auf >3600s konfigurieren. Das heißt aber auch, dass ein realer USB-Verbindungsabbruch erst nach einer Stunde erkannt wird.

Gibt es noch eine bessere Möglichkeit, worauf ich den Monitor triggern könnte? So etwas wie keepAliveDelay wäre toll, aber das gibt es ja nur für tcp-Verbindung.

Nochmals danke!
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: efyzz am 23 Januar 2024, 14:34:16
Mahlzeit,

nachdem ich das MONITORING entschärft habe, bin ich dem eigentlichen Problem näher gekommen.

Im Log des Raspberry (journalctl) tauchte nämlich sehr häufig auf:
Jan 22 00:30:04 raspberryFHEM kernel: pl2303 ttyUSB2: usb_serial_generic_read_bulk_callback - urb stopped: -32
Jan 22 00:30:04 raspberryFHEM kernel: pl2303 ttyUSB1: usb_serial_generic_read_bulk_callback - urb stopped: -32
Jan 22 00:30:04 raspberryFHEM kernel: ch341-uart ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32

Offensichtlich bricht regelmäßig die Verbindung zu allen drei USB/UART-Convertern ab (wohlgemerkt aber nicht zum vierten USB-Gerät: einer Festplatte).

Bisher konnte ich dazu nichts Sinnvolles im Netz finden, außer: "mach mal ein apt upgrade".
Das hat tatsächlich geholfen, die Fehlermeldung kommt nun wesentlich seltener und nur noch für einzelne USB-Geräte. Ganz weg ist das Problem aber nicht. Letzte Nacht ist, wie man sieht, mal wieder die Verbindung zu allen drei USB-Geräten gleichzeitig abgebrochen. Und nur dann führte es auch wieder zu einem Fehler beim ArduCounter.

Es liegt also nicht an dem 10m USB-Kabel. Sondern offensichtlich tatsächlich am Update auf Bookworm. Ich frage mich, ob außer mir sonst noch jemand Bookworm auf einem Raspi 3B benutzt, denn eigentlich müssten diese Fehlermeldungen bei vielen Usern auftauchen. PL2303 oder CH341 dürften wohl sehr verbreitet sein ;)

Naja, warten wir mal auf weitere Updates.
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: efyzz am 02 Februar 2024, 22:08:30
Ich habe jetzt hier eine Lösung gefunden:
https://github.com/raspberrypi/linux/issues/5211#issuecomment-1882917918

Keine USB-Abbrüche mehr, seit ich dtoverlay=dwc2 gesetzt habe.
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 15 März 2024, 13:23:41
Guten Morgen Zusammen,

ich hab meinen Wasserzähler mit einer Reflex Lichtschranke ausgestattet.

Genau ist es eine Sunx (Panasonic) EX26A.
Da der aber mit 12V arbeitet, leider auch beim Ausgang, hab ich das teil Optokoppler an einen Eingang des TTGO (ESP32) gehängt.
Spannungsversorgung geht auch über einen StepUp Wandler.
Erfasst wird der 10L Zeiger.

Definition des PINs:
pin17 = rising pullup min 125
Nun zu meinem Problem:
Ich bekomme beim Wasserzähler immer wieder Fehl-Zählungen. Der Counter ist höher als er eigentlich sein darf, also Doppel und 3-fach Zählungen.
Es scheint mir Grundlegend aber kein Prellen des EX26A zu sein.
Meine Vermutung geht eher in Richtung Vorwärts und Rückwärts drehenden Zeiger.
Es scheint so zu sein, dass wenn die Wasserentnahme stoppt (Hahn wird zu getretet), dann läuft der Zeiger ein Kurzes Stück rückwärts.
Das war am 1L Zeiger noch krasser zu sehen und am auffälligsten, war es an dem schwarzen "zinken" Rad.
Wie man das Phänomen genau benennt, kann ich nicht sagen. (Hydro Puls)

Zu meiner Frage:
Hatte jemand schon etwas ähnliches gehabt?
Was könnte ich aus eurer Sicht verbessern/ändern?

Danke und Grüße Robert



Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 17 März 2024, 11:43:18
Rückwärtslaufender Zähler hieße ja, Wasser läuft zurück in die Versorgungsleitung. Sprechen wir da von 10Liter, wenn das deine Zählungen beeinflusst? Das haben die Versorger gar nicht gern, deshalb sind da dann Rückflußventile verbaut.
Oder kommt dein Wasser nicht vom Versorger?
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: no_Legend am 18 März 2024, 13:17:53
Zitat von: DerD am 17 März 2024, 11:43:18Rückwärtslaufender Zähler hieße ja, Wasser läuft zurück in die Versorgungsleitung. Sprechen wir da von 10Liter, wenn das deine Zählungen beeinflusst? Das haben die Versorger gar nicht gern, deshalb sind da dann Rückflußventile verbaut.
Oder kommt dein Wasser nicht vom Versorger?

Viel ist das nicht.
Du siehst aber schon, dass sich das "zinken" Rad vorwärts und rückwärtsbewegt.
Genau so auch der 1l Zeiger. Beim 10l Zeiger sind die Bewegungen fast nicht wahrnehmbar.
Hab eben noch mal nachgeschaut sind vielleicht so 100ml-200ml Bewegungen die man da sieht.

Ich bin halt immer noch nicht sicher, ob es jetzt wirklich, dieses "rückwärts" zählen ist.
Oder vielleicht einfach ein prellen.

Gestern Nachmittag hatte ich den Zähler neu gesetzt und heute morgen war 4 Pulse zu viel

Grüße Robert
Titel: Aw: ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)
Beitrag von: DerD am 22 März 2024, 18:11:03
Korrigier mich , aber der Zähler erkennt ja nicht, ob das Zinkenrad nun vorwärts oder rückwärts läuft. Damit kommt die Rückwärtsmenge ja in jedem Fall obendrauf.
Leider habe ich die Parameter des Counter nicht so im Griff, dass ich da einen besseren Tipp geben könnte, wie die min length zu erhöhen.