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

my-engel

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

StefanStrobel

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

my-engel

Hallo Stefan,

es funktioniert jetzt soweit...
Danke für deine Mühe

VG
Uwe

der-Lolo

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

StefanStrobel

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

SamNitro

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
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Otto123

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

StefanStrobel

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

SamNitro

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?
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

StefanStrobel


SamNitro

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)

(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

RalfRog

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?
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

RalfRog

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)
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.

  • auf dem Raspi ist üblicherweise Python schon installiert
  • das esptool.py holt man sich per "sudo pip install esptool" ("pip list" zeigt bereits installierte Pakete)
  • das device ist per "define Zaehler ArduCounter /dev/ttyUSB1" schnell erstellt (oder besser /dev/serial/by-id/..)
  • Attribut board setzen
  • set flash ausführen (keine Probleme mit dem Pfad für das esptool)
  • offentsichtlich wurden drei  Bereiche mit den entsprenden BIN beschrieben
    => Writing at 0x00001000... (100 %) / Writing at 0x00008000... (100 %) / Writing at 0x0000e000... (100 %) / Writing at 0x00010000... (3 %)
  • set reconnect war nötig - dann hatte FHEM über das serial IF Kontakt
  • der ESP spannt einen AP auf und man kann damit das eigene WiFi konfigurieren
  • Definition ArduCounter von serial auf IP:80 ändern, ESP32 Kaltstart, set reconnct => TCP Verbindung steht
Mal sehen wie jetzt weiter geht. Es fehlt ja noch ein IR-Sensor / Lichtschranke für den Ferraris-Zähler


Edit 1.08.2022

  • TCRT5000 Lichtschranke so herrichten, dass sie Impulse liefert (tricky ::) )
  • Attribute vom Arducouter verstehen  :P
  • Pulsausgang am Arducounter anschließen. Zählt passabel, Fehlimpulse der Lichtschranke werden gut ausgefiltert.
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

thymjan

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?

StefanStrobel

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