mit mysensors Stromzähler auslesen

Begonnen von smoudo, 07 Juni 2017, 20:38:28

Vorheriges Thema - Nächstes Thema

smoudo

Ich habe mir gestern mit Hilfe von mysensors powermeter, Pulse Sensor Sketch einem arduino nano + nrf24
Und lm393 Licht Sensor eine Node gebaut mit der ich die IR Impulse meines Stromzählers erfassen kann.
Grundsätzlich funktioniert das ganze schonmal. Allerdings werden zu viele Pulse erkannt und die verbrauchsdaten sind zu hoch! Auf dem lm393 Board ist auch ein Poti. Hat jemand mit dem Modul schon Erfahrung sammeln können Wieland das am besten einstellt/justiert?

Desweiteren fängt das Node bei 0 kWh zu zählen an. Mein Zähler hat schon 8000 drauf. Kann man das fhem seitig steuern und Tages/Wochen/Monats/gesamt Werte auswerten?

Sehr komplex das ganze!

Grüße

Matze

Otto123

Hi Matze,
was ist das für ein Zähler? Bist Du sicher das Du am richtigen optischen Ausgang bist?

hatten wir schon -> Anstatt der Impulse die optische Digital Schnittstelle ausgelesen und sich über konstant hohen verbrauch gewundert.  :-X

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

smoudo

Hallo Otto,

Das ist ein ltron ace 3000 typ260 c21D-R1-A
1000 Pulse pro kWh. Da gibt es nur eine Diode dran.
Plus optische Pulse im lcd Display.

Grüße

Matze

Otto123

#3
Hi Matze,

Auszug aus dem Handbuch:
Zitat1.2.6 Datenanzeige und Ausgänge
Anzeige Anzeigeart Flüssigkristall-Anzeige (LCD)
Größe der Stellen 8 x 4 mm
Anzahl der Stellen max. 7
Prüfausgang Art LED im Infrarot-Spektrum
Der Prüfausgang ist mit der optischen Schnittstelle kombiniert
Impulslänge ca. 2 ms
Zählerkonstante Am Prüfausgang 1000 Imp/kWh
Impulsausgang (optional) Gemäss DIN EN 62053-31, Type A S0 Impulsausgang
Impulskonstante 500 Imp/kWh
Betriebsbedingungen
Nennspannung 24 V DC
Maximale Spannung 50 V DC
Strom 10 bis 20 mA DC
Impulslänge 40 ms
1.2.7 Serielle Schnittstelle
Optische Schnittstelle Gemäss DIN EN 62056-21 Serielle, bi-direktionale Schnittstelle
Datenauslesung gemäss DIN EN 62056-21 (vollständiger Datensatz)
Parametrierung nur herstellerseitig möglich
Die metrologische LED ist mit der optischen Schnittstelle kombiniert
Serieller Impulsausgang Gemäss DIN EN 62053-31, Type A Serieller Datenausgang

.....

3.3 Prüf-Impulsausgang
Die Prüfdiode (LED) wird für die Prüfung und Eichung des Zähler genutzt. Die Diode sendet infrarote
Lichtimpulse aus, die dem aktuellen Messwert entsprechen. Die Anzahl der Impulse pro Zeitintervall ist abhängig
von der Zählerkonstante und der augenblicklichen Leistung. Die Impulslänge beträgt 2 Millisekunden.
Die Prüfdiode ist mit der optischen Schnittstelle kombiniert und wird für beide Energierichtungen angesteuert.

...

4 Optische Schnittstelle
Alle ACE3000 Typ 260 Zähler sind mit einer optischen Schnittstelle ausgestattet. Diese besitzt verschiedene
Funktionen:
• Automatische Datenauslesung – gestattet es, mittels eines üblichen Handterminals die Registerinhalte und
die Zählernummer aus dem Zähler auszulesen. Das Schnittstellen-Protokoll entspricht den Anforderungen
der DIN EN 62056-21 (zuvor DIN EN 61107). Unter normalen Betriebsbedingungen befindet sich die
optische Schnittstelle im "Schlaf-Modus". Sobald die Kommunikation durch das Senden eines "AufwachStrings"
begonnen wird, wird das Ausleseprotokoll aktiviert und der Datensatz ausgelesen.
• Parametrierung – diese Funktion wird nur beim Hersteller genutzt für die einmalige Werksparametrierung
des Zählers. Nach Beendigung der Parametrierung wird diese Funktion nicht mehr länger vorgehalten.
• Prüfdiode – die optische Schnittstelle ist mit der Prüfdiode des Zählers kombiniert. Für diese Funktion
werden infrarote Lichtimpulse für Prüfzwecke gesendet.


liest sich für mich genau nach meiner Vermutung - oder?

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

smoudo

Ich lese da nur raus, das es ein Impuls gibt egal in welche Richtung der Strom fließt.
Ich habe aber keinen 2 richtungszähler.
Sollte doch dann passen oder?

Grüße

Matze

Otto123

Naja besonders das finde ich gut: metrologische LED

Ja Du könntest Recht haben, falls keiner den Aufwachstring sendet: Unter normalen Betriebsbedingungen befindet sich die
optische Schnittstelle im "Schlaf-Modus". Sobald die Kommunikation durch das Senden eines "AufwachStrings"
begonnen wird, wird das Ausleseprotokoll aktiviert und der Datensatz ausgelesen.

Generell musst Du halt sehen, das Du saubere Impulse bekommst, Du kannst in Deinem Sketch auch "entprellen" die Impulslänge soll 2 ms sein. Alle Impulse die kürzer sind kannst Du ignorieren.

Aber das war nur mein Einwand - zur restlichen Thematik kann ich leider nichts sagen, ich kenne mysensors powermeter nicht.

Viel Erfolg,

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

smoudo

Ich werde zuerst mal versuchen die led zu zentrieren und zu isolieren, das kein evtl streulicht falschimpulse
Ausgibt. Die 2ms sind kein schlechter Ansatz. Werd ich mal im Sketch schauen. Hat noch jemand eine ahnung wie der Poti auf dem 393 zu justieren ist, was der genau auslöst?!?
Allerdings Habe ich dann immer noch das fhem seitige Problem mit dem auswerten und gruppieren. Hier fehlt mir jeglicher Ansatz!

Grüße

Matze

Otto123

Naja dazu habe ich noch was: Ich zähle meine Zähler mit Arducounter. Damit ich Zählerstände wie in echt habe, habe ich ein UserreadingZaehlerHzg monotonic {ReadingsVal("AC","pin4",0)/400},ZaehlerWW monotonic {ReadingsVal("AC","pin5",0)/1000},ZaehlerSumme monotonic {ReadingsVal("AC","pin6",0)/75}
pin4 5 6 sind jeweils unterschiedliche S0 Zähler, die einfach fortlaufend zählen. Die Teiler sind Impulse pro kWh.
mit setreading setze ich dann einfach mal vorm Schrank den aktuellen Wert.

Es gibt auch noch das Modul ElectricityCalculator, da habe ich aber bloß mal gesehen.

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

smoudo

Danke!
Der electricity calculator sieht vielversprechend aus!

Grüße

Matze

smoudo

Update:

Der Calculator läuft! Sehr cooles teil. Hat den schon mal jemand visualisiert?

Die IR-LED habe ich auf dem Zähler Vor Streulicht abgedichtet. Momentan provisorisch mit Panzer Tape! läuft jetzt mit 99% Genauigkeit! Sieht sehr gut aus!

Ein Problem besteht noch:

Mein Sensor Node hat schön bei Zählerstand 0 angefangen hochzuzählen. Im FHEM Device bin ich jetzt bei 50 KWH.
Auf meinem Zähler waren aber schon über 8000 KWH drauf. Kann man irgendwo einen Korrekturwert im Device eingeben?
Oder geht das im Powerpulsemeter Sketch des Arduino?!?

Bin hier ein bisschen ratlos.

grüße

Matze


Otto123

Zitat von: smoudo am 11 Juni 2017, 22:50:58
Ein Problem besteht noch:

Mein Sensor Node hat schön bei Zählerstand 0 angefangen hochzuzählen. Im FHEM Device bin ich jetzt bei 50 KWH.
Auf meinem Zähler waren aber schon über 8000 KWH drauf. Kann man irgendwo einen Korrekturwert im Device eingeben?
Oder geht das im Powerpulsemeter Sketch des Arduino?!?

Bin hier ein bisschen ratlos.

grüße

Matze
Das Problem wirst Du immer haben, deswegen doch mein Lösungsansatz mit dem UserReading.

Du hast damit den Zähler von deinem Arduino und den eigentlich Zählerstand im UserReading. Den kannst Du jederzeit abgleichen. War da meine Erklärung zu unverständlich?

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

smoudo

leider ja. wie setze ich das ein? Mein Mysensors Node bringt mir die readings:
power1 : aktuelle Leistung
value11: Zählerimpulse Fortlaufend
energy1: KWH

die Commandref hat mir da leider auch nichts hilfreiches ausgespuckt.

Grüße

Matze

Otto123

#12
Zitat von: smoudo am 11 Juni 2017, 23:08:07
leider ja. wie setze ich das ein? Mein Mysensors Node bringt mir die readings:
power1 : aktuelle Leistung
value11: Zählerimpulse Fortlaufend
energy1: KWH

die Commandref hat mir da leider auch nichts hilfreiches ausgespuckt.

Grüße

Matze
Na Matze ein bisschen mehr Mühe könntest Du Dir geben -> https://fhem.de/commandref.html#userReadings
;D

Das attr kannst Du bei Deinem device auswählen, dort trägst Du hinten so etwas einZaehlerStand monotonic {ReadingsVal("<DeinFehmDevice>","value11",0)/1000}

Falls Dein value11 schon um die 1000 Impulse pro kWh korrigiert ist kannst Du Rechnung weglassen.

Damit hast Du ein neues Reading. mit setreading DEVICENAME ZaehlerStand 8000 setzt du den aktuellen Wert. Von da aus wird automatisch weiter gezählt. Dafür ist der Zusatz monotonic verantwortlich.

Du kannst eventuell auch ZaehlerStand monotonic {ReadingsVal("<DeinFehmDevice>","energy1",0)}verwenden.

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

smoudo

Wenn man schauen würde wo es steht, wärs manchmal einfacher!
Hatte das als extra command gesucht... naja!
Auf jeden Fall ein fettes DANKE!! Es läuft!

grüße

Matze

smoudo

EDIT: Warum feuert mir das jetzt 11 Nachkommastellen raus? 2-3 hätten es auch getan ;)

Grüße

Matze