ArduCounter Support und neue Versionen (war: Stromzähler mit S0 Schnitt...)

Begonnen von StefanStrobel, 26 Januar 2014, 12:08:13

Vorheriges Thema - Nächstes Thema

no_Legend

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
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

StefanStrobel

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

no_Legend

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
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

StefanStrobel

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

no_Legend

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

IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

StefanStrobel

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

no_Legend

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
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

StefanStrobel

#472
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

no_Legend

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
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

StefanStrobel

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

no_Legend

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
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

StefanStrobel

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

no_Legend

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
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

tpm88

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
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT