ESA / EM unterstüzung in FHEM

Begonnen von Predictor, 26 Dezember 2012, 21:51:50

Vorheriges Thema - Nächstes Thema

mikka1

Besten Dank. Leider kann ich es nicht testen, da das ausleen der LED nicht klappt, Antwort von E**, wahrscheinlich sei mein Zähler nicht kompatibel...

Habe jetzt mal beim grossen C***** ein paar Teile bestellt, verfüge leider über kein Bastelsortiment, werde dann mal was basteln und schauen. Weis ev. jemand hier, ob man eine Fotodiode 1:1 mit einem Fototransistor tauschen kann? Die verbaute Diode hat bei den ca rund 660nm der orangen LED ene Empfindlichkeit von etwa 60% eine der von mir gewählten Transistoren ca 80%. Mal schauen.

Prof. Dr. Peter Henning

Bitte was genau soll da ausgetauscht werden ?

LG

pah

stromer-12

Ich wollte die Variablennamen vereinheitlichen.
Ich hatte jetzt für den esa1000gas andere Variablennamen vergeben.

Stromzähler       Gaszähler
total_kwh         total_m3           total_unit
actual_kwh        actual_m3          actual_unit
day_kwh           day_m3             day_unit
...               ...                ...

FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

MikeCC

@Str0mer
Vielen Dank an dieser Stelle erst mal. Mit der neuen Version funktioniert nun sowohl mein ESA1000GAS als auch mein ESA1000WZ einwandfrei.

Mich würde noch interessieren was die einzelnen Rückgabewerte so bedeuten.
Z.B. wofür steht das HR und das LR und was gibt der Wert repeat zurück sowie was bedeutet das - bzw. das + hinter manchen Werten?

stromer-12

HR und LR sind eine Unterteilung vom jeweiligen Wert "day_kwh", "month_kwh", "year_kwh".
HR und LR soll für High-Rate bzw. Low-Rate stehen, also für 2-Tarif-Zähler.
HR ist fest definiert vom Mo - Fr von 6:00 bis 19:59 Uhr (war schon so drin im Modul).
Wenn ich bei meinen Stadtwerken so einen Tarif hätte, würde das nicht passen. Bei mir hier wäre Mo - So von 7.00 bis 19:59 Uhr der Haupttarif.

Die ESA Teile senden jedes Datenpaket 2x. Repeat steht das empfangene Datenpaket (1."-" oder 2."+"), es wird aber nur eins ausgewertet wenn beide ankommen.
CNT: ist Sequence+Repeat
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

MikeCC

Interessanter Weise ist bei mir immer CNT=sequence.
Müssten die sich nicht laut deiner Erläuterung dann unterscheiden, wenn sowohl die "-" Msg als auch die "+" Msg vom CUL emfangen wurden?
Im Log taucht übrigens auch immer nur eine von beiden auf. Also entweder die "+" Msg oder die "-" Msg. Nie beide für die gleiche Sequence. Das kann doch kein Zufall sein, oder?


Des Weiteren würde mich interessieren warum man immer zwei RAW Nachrichten mit unterschiedlichen Werten zur gleichen Zeit empfängt?
Was bedeuten diese?
Und wo ist der Unterschied zwischen CUM, raw_total und total?

Und wieso kann der day-Wert kleiner als der actual-Wert sein? Das macht doch überhaupt keinen Sinn, oder?


2013-03-12_05:52:04 ESA1000GAS_0543 repeat: +
2013-03-12_05:52:04 ESA1000GAS_0543 sequence: 127
2013-03-12_05:52:04 ESA1000GAS_0543 total_ticks: 43160
2013-03-12_05:52:04 ESA1000GAS_0543 actual_ticks: 0
2013-03-12_05:52:04 ESA1000GAS_0543 ticks_m3: 10
2013-03-12_05:52:04 ESA1000GAS_0543 raw: CNT: 127+ CUM: 43160 CUR: 0  TICKS: 10 LR
2013-03-12_05:52:04 ESA1000GAS_0543 total_m3: 19.87
2013-03-12_05:52:04 ESA1000GAS_0543 actual_m3: 1.241
2013-03-12_05:52:04 ESA1000GAS_0543 diff_m3: 0.0000
2013-03-12_05:52:04 ESA1000GAS_0543 diff_sec: 638
2013-03-12_05:52:04 ESA1000GAS_0543 diff_ticks: 220
2013-03-12_05:52:04 ESA1000GAS_0543 last_sec: 1363063924
2013-03-12_05:52:04 ESA1000GAS_0543 raw_total_m3: 43.16
2013-03-12_05:52:04 ESA1000GAS_0543 day_m3: 0.59
2013-03-12_05:52:04 ESA1000GAS_0543 month_m3: 19.87
2013-03-12_05:52:04 ESA1000GAS_0543 year_m3: 19.87
2013-03-12_05:52:04 ESA1000GAS_0543 rate: LR
2013-03-12_05:52:04 ESA1000GAS_0543 day_lr_m3: 0.59
2013-03-12_05:52:04 ESA1000GAS_0543 month_lr_m3: 9.94999999999999
2013-03-12_05:52:04 ESA1000GAS_0543 year_lr_m3: 9.94999999999999
2013-03-12_05:52:04 ESA1000GAS_0543 type: ESA1000GAS
2013-03-12_05:52:04 ESA1000GAS_0543 CNT: 127+ CUM: 19.870 CUR: 1.241 TICKS: 10 LR

stromer-12

Zitat von: MikeCC schrieb am Di, 12 März 2013 19:36Interessanter Weise ist bei mir immer CNT=sequence.
Müssten die sich nicht laut deiner Erläuterung dann unterscheiden, wenn sowohl die "-" Msg als auch die "+" Msg vom CUL emfangen wurden?
Im Log taucht übrigens auch immer nur eine von beiden auf. Also entweder die "+" Msg oder die "-" Msg. Nie beide für die gleiche Sequence. Das kann doch kein Zufall sein, oder?
CNT: entspicht Sequenze mit Repeat
Die "+" und die "-" Msg sind identisch, das "+" bzw "-" kennzeichnen nur die 1. oder 2. Übertragung einer Nachricht.
Du kannst in fhem Global mal "verbose" auf 4 setzen, dann wirst du im fhem-Log sehen, das wenn eine Msg Wiederholung empfangen wurde, diese verworfen wird.

ESA2000/DISCARDED $name: $val

ZitatDes Weiteren würde mich interessieren warum man immer zwei RAW Nachrichten mit unterschiedlichen Werten zur gleichen Zeit empfängt?
Was bedeuten diese?

2013-03-12_05:52:04 ESA1000GAS_0543 raw: CNT: 127+ CUM: 43160 CUR: 0  TICKS: 10 LR
Das sind die Rohdaten von deinen Zählermodul gesendet werden.
CNT: fortlaufende Zahl von 0 bis 127.
CUM: bisher von Modul seit in Betriebnahme empfangene Zählimpulse
CUR: vom Modul empfangene Zählimpulse seit letzter Datenübertragung


2013-03-12_05:52:04 ESA1000GAS_0543 CNT: 127+ CUM: 19.870 CUR: 1.241 TICKS: 10 LR

Das sind die umgerechneten Werte:
CNT: wie oben
CUM: aktueller Gesamtverbrauch (total_m3) in m³ beim Gaszähler seit in Betriebnahme,
     kann mit "base1" bzw "base2" bei den Attributen auf deinen aktuellen Gaszählerstand (raw_total_m3) gesetzt werden (Offset).
CUR: aktueller Verbrauch in m³ seit letzter Datenübertragung (Datenübertrageung erfolgt so alle 2 bis 3 min)

Und wo ist der Unterschied zwischen CUM, raw_total und total?

Und wieso kann der day-Wert kleiner als der actual-Wert sein? Das macht doch überhaupt keinen Sinn, oder?


2013-03-12_05:52:04 ESA1000GAS_0543 actual_m3: 1.241
2013-03-12_05:52:04 ESA1000GAS_0543 day_m3: 0.59


actual bezieht sich auf einen Momentanen Verbrauch (Messimpulse je Zeiteinheit) damit würden bei diesem Verbrauch in der Stunde 1.241 m3 Gas verbraucht.
day ist das was du an diesem Tag wirklich bis zum Messzeitpunkt verbraucht hast.

Ich hoffe das es etwas verständlich ist, es fällt mir immer schwer etwas zu erklären.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

MikeCC

Super, nun ist mir schon einiges klarer.
Eins passt aber glaube ich nicht ganz.
Ich habe dich so verstandan, dass raw_total_m3 den Wert total_m3 + base1 wiederspiegelt.
Da ich base1 oder base2 nicht angegeben habe, müsste doch raw_total_m3 = total_m3 sein.
Bei meinem Logauszug ist aber raw_total_m3 = total_ticks.

stromer-12

total_m3 ist der Verbrauch, seit dem Fhem angefangen hat den Sensor auszuwerten.
raw_total_m3 ist bezieht sich direkt auf den Zählerwert, den das Modul liefert.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

stromer-12

Gestern kam mein ESA100GAS. Zusammengebaut, angebaut, Spannung ran, von FHEM erkannt. :D
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

stromer-12

Ich habe das 64_esa2000.pm noch weiter angepasst (Readings geändert!).
Es sind noch Verbrauchswerte für letzte Stunde,Monat dazugekommen.

(siehe Anhang / see attachement)


(siehe Anhang / see attachement)

FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

MikeCC

@str0mer
Sieht gut aus.
Finde allerdings in deinem Post nur die Bilder als Anhang.
Würdest du auch dein neues Modul und deine gplots zur Verfügung stellen?

stromer-12

hi,

ja kann ich zur Verfügung stellen, mit der m³-Ausgabe bin ich noch nicht so zufrieden, da würde ich gern das im Messintervall verbrauchte Volumen ausgeben.
Es geht ja seit den letzten Versionen die readingFnAttributes. Damit lasse ich mir den aktuellen Zählerstand, die letzte Messung, den aktuellen(letzten) Tagesverbrauch anzeigen (siehe Grafik letzter Post).
attr em.ha.st stateFormat {sprintf("CNT: %.2f kWh - CUR: %d W - Day: %.2f (%.2f) kWh", ReadingsVal($name,"raw_total",0), ReadingsVal($name,"actual",0)*1000, ReadingsVal($name,"day",0), ReadingsVal($name,"day_last",0))}
beim Weblink hat sich was geändert:
title: ist die Grafiküberschrift
label: sind die Achsenbezeichnungen (notwendig)
define weblink_em.ha.st weblink fileplot FileLog_em.ha.st:esa2000:CURRENT
attr weblink_em.ha.st label "kWh"::"kW"


hier die komplette Konfig für einen von meinen Zählern:
###############################################
# Stromzähler
###############################################
# 6062 Hauptzähler
###############################################
define em.ha.st ESA2000 6062
attr em.ha.st base_1 16679.55
attr em.ha.st event-on-update-reading state,actual_ticks,diff_ticks,actual,raw_total,.*_last
attr em.ha.st model esa2000-wz
attr em.ha.st room ESA2000
attr em.ha.st stateFormat {sprintf("CNT: %.2f kWh - CUR: %d W - Day: %.2f (%.2f) kWh", ReadingsVal($name,"raw_total",0), ReadingsVal($name,"actual",0)*1000, ReadingsVal($name,"day",0), ReadingsVal($name,"day_last",0))}

define FileLog_em.ha.st FileLog /var/log/fhem/em.ha.st-%Y.log em.ha.st
attr FileLog_em.ha.st group ESA2000
attr FileLog_em.ha.st logtype text
attr FileLog_em.ha.st room System

define weblink_em.ha.st weblink fileplot FileLog_em.ha.st:esa2000:CURRENT
attr weblink_em.ha.st label "kWh"::"kW"
attr weblink_em.ha.st room ESA2000
attr weblink_em.ha.st title "EM.HA.ST - Min $data{min1}, Max $data{max1}, Last $data{currval1}"
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

mikka1

So, habe Heute endlich meine Teile von C*** erhalten und mit diesen ist es mir nun gelungen, die Orange Zähler LED verstärkt über eine Rote auszugeben. Diese wird jetzt vom ESA1000WZ auch erfasst.
Nun muss ich mal bis Morgen Daten sammeln, und schauen, was raus kommt. Habe die ESA .pm und .gplot von Str0mer eingefügt und due .cfg angepasst...

Werde mich Morgen wieder melden, bis jetzt schauts nicht schlecht aus;-) Besten Dank an alle Beteiligten!


(siehe Anhang / see attachement)



Klappt soweit, das der Empfang aber nicht gerade Hammer ist, gibt es zwischendurch immer wieder Lücken, habe eine kleine Verbesserung durch das hochsetzen des sens Wertes auf 8dB erreichen können.

etienne

Hallo,
habe seit wenigen Tagen einen Raspberry Pi mit einem COC Modul.
Als OS dient Raspbian Wheezy, installiert ist FHEM 5.3.

Als Sensor möchte ich gerne einen ESA2000WZ (der unterscheidet sich vom ESA1000WZ ja nur dadurch, dass er fertig geliefert, und nicht als Bausatz geliefert wurde) verwenden.
Der wurde auch sofort durch 'autocreate' angelegt. Da sonst aber nix zu funktionieren scheint habe ich viel nachgelesen und gesucht.

Aufgrund dieses Threads (Danke an str0mer) habe ich dann die aktuellste 64_ESA2000.pm in das Verzeichnis /opt/fhem/FHEM/,
sowie die esa2000.gplot in das Verzeichnis /opt/fhem/www/gplot/ kopiert,

mit dem Ergebnis dass wenigstens keine Fragezeichen mehr hinter dem Eintrag ESA 2000 -> Stromzaehler stehen (den Namen Stromzaehler habe ich selbst vergeben).

Wenn ich jedoch auf "Stromzaehler-2013.log text" klicke, ist alles leer.


(siehe Anhang / see attachement)


Ich würde einfach mal vermuten dass ich irgendwas nicht richtig installiert habe - habe nur Grundkenntnisse in Linux Kommandozeile

Kann jemand helfen was genau ich jetzt noch installieren/konfigurieren muss? Anbei ein Screenshot der entsprechenden FHEM Seite

Achja: insgesamt funktionieren der Raspberry mit FHEM und dem Coc, eine FS20 Funktsteckdose kann ich ansteuern.