FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Crawler am 25 Januar 2016, 16:19:10

Titel: Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Crawler am 25 Januar 2016, 16:19:10
16.02.16
OBIS ersetzt Easymeter die Hardware bleibt die gleiche
define für z.B. ttyAMA0 mit 9600 7E1 mit
define Strom OBIS /dev/ttyAMA0@9600,7,E,1 
define [name] OBIS[dev@baud,databits,parity,stopbits]
Bilder meines Aufbaus im Anhang die maße müssen nicht ganz stimmen ist schwierig auszumessen

25.01.16---------------------------------------------------------------
Nach langem Basteln habe ich es endlich geschafft mein Modul zu schreiben  ::)
Das Easymeter Modul ist für den Raspberrry Serial und den Easymeter Stromzähler geschrieben.

define mit define [name] Easymeter [dev@baud,databits,parity,stopbits]

z.B. für ttyAMA0
define Strom Easymeter /dev/ttyAMA0@9600,7,E,1 

dafür muss initialUSBCheck auskommentiert werden da sonst FHEM hängen bleibt  :(
# define initialUsbCheck notify global:INITIALIZED usb create
Anschluss des Optokopplers an 3,3V GND und GPIO15(RX) am RaspPi 2.
Ich habe ein altes Telefonkabel mit 6m Länge verwendet.

deswegen wird es wohl auch nur funktionieren wenn Lan devices für die Kommunikation mit Steuergeräten verwendet wird.(keine Ahnung ob und wie USB devices manuell angelegt werden.)
Außerdem liest es alle Telegramme die ankommen!
Bei mir alle 2 sek aber die Last hält sich in Grenzen 2%.

Wer noch ein paar Ideen hat für ein delay attr schreibt mir.
Brauche erstmal Urlaub  :P


Anbei mein Optokoppler und das Modul

27.01.16
neue Version zeigt Einspeisung nur wenn vorhanden
Titel: Antw:Neues Modul: Easymeter
Beitrag von: eldrik am 26 Januar 2016, 10:12:02
Hi,

danke für das Modul und deine geleistete Arbeit, da ich meinen Easymeter bisher mit einem Perl Script und Umwandlung der Werteausgabe, ins JSON Format, zum einlesen in FHEM per JSONMETER auslese musste ich dieses gleich einmal ausprobieren.  :)

Ohne Anpassung lieferte das Modul bei mir jedoch keine Readings.  :(

Ich lese meinen Easymeter mittels USB to Serial Konverter aus demnach ist mein definestring

define Stromzaehler Easymeter /dev/ttyUSB0@9600,7,E,1

Da die Readings jedoch gefüllt wurden als ich das Modul einfach einmal gegen ein anderes angeschlossenes USB Gerät habe laufen lassen (mysensors  Serial Gateway) habe ich mir einmal den Code von dem Modul weiter angeschaut.

Damit der vom Modul gelesene und weiter zu verarbeitende Buffer berücksichtigt wurde musste ich die folgende Codezeile abändern

if (index($buffer,'!',index($buffer,'/')) >= 294) {

nach

if (index($buffer,'!',index($buffer,'/')) >= 258) {

Grund für den kleineren Buffer ist, dass mein Easymeter mangels Einspeisung auch keine Werte für die Einspeisung ausgibt.

Hier der gelesene Buffer:

/ESY5Q3DE1408 V3.04

1-0:0.0.0*255(0273160165936)
1-0:1.8.0*255(00004934.7095056*kWh)
1-0:21.7.0*255(000038.43*W)
1-0:41.7.0*255(000022.78*W)
1-0:61.7.0*255(000272.64*W)
1-0:1.7.0*255(000333.85*W)
1-0:96.5.5*255(80)
0-0:96.1.255*255(1ESY1160165936)
!

Die Codezeilen für das Auslesen und die Rückgabe des Einspeisereadings habe ich entsprechend auskommentiert, da hier ansonsten Teile der Seriennummer in dem Reading ausgegeben wurden.

Auskommentiert:
my $feedindex = index($buffer, '1-0:2.8.0*255(') + 14;
      my $feed = substr($buffer, $feedindex, 16);
      $feed =~ s/\G0//g;


Auskommentiert:
readingsBulkUpdate($hash,"Einspeisung",$feed);

Für mich passt es jetzt, aber vielleicht könnte man das Modul noch, um ein paar Attribute, erweitern um z.B. angeben zu können, ob der Easymeter mit oder ohne Einspeisung läuft.


Greetz
Eldrik
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Crawler am 26 Januar 2016, 18:56:24
den Gedanken hatte ich auch schon.
Aus der Werte Übergabe aus Attr bin ich aber leider noch nicht ganz schlau geworden.
Manche Module nutzen das event-min-interval was ich auch gerne einsetzen möchte.

Gut zu wissen wie bei dir das Telegramm aussieht.
Anfangs und Endzeichen sind gleich also werde ich mal schauen ob mir da was einfällt.
Habe auch nur die Telegramm Länge festgelegt weil bei mir manchmal Datenfehler auftreten.

Danke fürs Feedback ;-)
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 26 Januar 2016, 20:31:13
Hmmm, wenn ich gewusst hätte, dass es mehrere Geräte gibt, die in diesem Format ihre Energiemessungen senden, hätte ich schon längst ein Modul gemacht.
Mein Voltcraft VSM102 sendet ebenfalls so:

# 1-0:0.0.0*255(GETTONE)   - Eigentumsnummer (max 20 zeichen)
# 1-0:1.8.0*255(17483.88*kWh) - Zählerstand in kWh mit 6 Vor- und 2 Nachkommastellen
# 1-0:2.1.7*255(07568.01*kWh) - momentan eingespeiste Leistung Phase 1
# 1-0:4.1.7*255(02636.12*kWh) - momentan eingespeiste Leistung Phase 2
# 1-0:6.1.7*255(07279.74*kWh) - momentan eingespeiste Leistung Phase 3
# 1-0:21.7.255*255(0000.2264*kW) - momentan bezogene Leistung Phase 1
# 1-0:41.7.255*255(0000.0123*kW) - momentan bezogene Leistung Phase 2
# 1-0:61.7.255*255(0000.1857*kW) - momentan bezogene Leistung Phase 3
# 1-0:1.7.255*255(0000.4252*kW)  - bezogene Leistung, Summe aller Phasen
# 1-0:96.5.5*255(@) - Status - Bit [6] --> 0=Leerlauf, 1=oberhalb Anlauf
#                            Bit [5] --> gesetzt bei Ausfall von L1
#                             Bit [4] --> gesetzt bei Ausfall von L2
#                              Bit [3] --> gesetzt bei Ausfall von L3
#                            Bit [2] --> reserviert, immer 0
#                              Bit [1] --> Telegramm wird synchron imfesten zeitraster gesendet
#                            Bit [0] --> 0=kein Fehler, 1=Fehler
# 0-0:96.1.255*255(11400158) - Seriennummer (max 20 Zeichen)


Habe das bisher als ECMD am laufen, könnte mich aber evtl. am Wochenende über ein Modul stürzen, wenn ihr wollt.
(Oder aber mit Crawler zusammentun)

lg, Stefan

PS: Läuft jetzt seit ca. 2 Jahren so bei mir.
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Crawler am 27 Januar 2016, 00:00:47
Hatte mehrfach gefragt aber keine Antworten bekommen  ::)

Meiner macht aber - wenn er einspeist und schreibt es nicht wie bei dir in getrennte Werte.
Außerdem macht meiner mehr Nachkommastellen zb.
/ESY5Q3DB1024 V3.04

1-0:0.0.0*255(0272160155556)
1-0:1.8.0*255(00000792.5617691*kWh)
1-0:2.8.0*255(00002394.6904431*kWh)
1-0:21.7.0*255(000013.06*W)
1-0:41.7.0*255(000029.72*W)
1-0:61.7.0*255(000184.51*W)
1-0:1.7.0*255(000227.29*W)
1-0:96.5.5*255(80)
0-0:96.1.255*255(1ESY1160155556)
!


/ESY5Q3DB1024 V3.04

1-0:0.0.0*255(0272160155556)
1-0:1.8.0*255(00000918.3130037*kWh)
1-0:2.8.0*255(00002458.2128718*kWh)
1-0:21.7.0*255(-000925.37*W)
1-0:41.7.0*255(-000910.88*W)
1-0:61.7.0*255(-000657.80*W)
1-0:1.7.0*255(-002494.05*W)
1-0:96.5.5*255(80)
0-0:96.1.255*255(1ESY1160155556)
!

Egal von mir aus kannst gerne weitermachen.
Ist auch ein neuer Standard ist in der PDF beschrieben.
Ich werde wohl mitlesen und hoffentlich viel lernen :D

Hab noch eine kleine Änderung gemacht die automatisch erkennt ob es ein 1 oder 2 Richtungszähler ist bei mir und im Test ging es aber vielleicht kann jemand anderes das mal testen
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 27 Januar 2016, 05:40:14
Guten Morgen,

ZitatHatte mehrfach gefragt aber keine Antworten bekommen
Hatte ich nirgends gelesen, aber egal....

Wie gesagt, am Wochenende gerne......Bis dahin bin ich leider betrieblich ziemlich im Stress.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter
Beitrag von: eldrik am 27 Januar 2016, 08:00:37
Zitat von: Icinger am 26 Januar 2016, 20:31:13
Hmmm, wenn ich gewusst hätte, dass es mehrere Geräte gibt, die in diesem Format ihre Energiemessungen senden, hätte ich schon längst ein Modul gemacht.
Mein Voltcraft VSM102 sendet ebenfalls so:

# 1-0:0.0.0*255(GETTONE)   - Eigentumsnummer (max 20 zeichen)
# 1-0:1.8.0*255(17483.88*kWh) - Zählerstand in kWh mit 6 Vor- und 2 Nachkommastellen
# 1-0:2.1.7*255(07568.01*kWh) - momentan eingespeiste Leistung Phase 1
# 1-0:4.1.7*255(02636.12*kWh) - momentan eingespeiste Leistung Phase 2
# 1-0:6.1.7*255(07279.74*kWh) - momentan eingespeiste Leistung Phase 3
# 1-0:21.7.255*255(0000.2264*kW) - momentan bezogene Leistung Phase 1
# 1-0:41.7.255*255(0000.0123*kW) - momentan bezogene Leistung Phase 2
# 1-0:61.7.255*255(0000.1857*kW) - momentan bezogene Leistung Phase 3
# 1-0:1.7.255*255(0000.4252*kW)  - bezogene Leistung, Summe aller Phasen
# 1-0:96.5.5*255(@) - Status - Bit [6] --> 0=Leerlauf, 1=oberhalb Anlauf
#                            Bit [5] --> gesetzt bei Ausfall von L1
#                             Bit [4] --> gesetzt bei Ausfall von L2
#                              Bit [3] --> gesetzt bei Ausfall von L3
#                            Bit [2] --> reserviert, immer 0
#                              Bit [1] --> Telegramm wird synchron imfesten zeitraster gesendet
#                            Bit [0] --> 0=kein Fehler, 1=Fehler
# 0-0:96.1.255*255(11400158) - Seriennummer (max 20 Zeichen)


Habe das bisher als ECMD am laufen, könnte mich aber evtl. am Wochenende über ein Modul stürzen, wenn ihr wollt.
(Oder aber mit Crawler zusammentun)

lg, Stefan

PS: Läuft jetzt seit ca. 2 Jahren so bei mir.

Hi,

ich fände ein generell per FHEM verteiltes Modul für OBIS "konforme" Zähler über die Infrarotschnittstelle großartig :)

Greetz
Eldrik
Titel: Antw:Neues Modul: Easymeter
Beitrag von: eldrik am 27 Januar 2016, 08:25:41
Zitat von: Crawler am 27 Januar 2016, 00:00:47
Hab noch eine kleine Änderung gemacht die automatisch erkennt ob es ein 1 oder 2 Richtungszähler ist bei mir und im Test ging es aber vielleicht kann jemand anderes das mal testen

Hab die geänderte Version übernommen, konnte nichts negatives feststellen.

Greetz
Eldrik
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 27 Januar 2016, 14:07:56
Zitatich fände ein generell per FHEM verteiltes Modul für OBIS "konforme" Zähler über die Infrarotschnittstelle großartig

So stell ichs mir auch vor, ja. Wobei ein paar Tweaks auch rein müssen, weil eben zB mein VSM102 sich nicht 100%ig an die OBIS hält.
Aber das lässt sich evtl. mit einem Typ-Attribut lösen, das man dann ben auf zB "Voltcraft" stellt oder so.
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 28 Januar 2016, 20:26:04
Mal ne Frage: Das Easymeter liefert die Daten periodisch, ohne die Übertragung anstoßen zu müssen?
Bei meinem VSM102 muss ich die Sendung erst immer mit einem Datenpaket auslösen.

Da muss ich mir dann was einfallen lassen, wie ich das flexibel machen kann.
Titel: Antw:Neues Modul: Easymeter
Beitrag von: eldrik am 28 Januar 2016, 21:02:34
Hi,

der Easymeter sendet meine ich alle 2 Sekunden seine Daten!

Edit: Jupp steht auch in der oben verlinkten Spezifikation :)

Greetz
Eldrik
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 31 Januar 2016, 19:29:00
So, also wie versprochen hier mal eine neue Modul-Version: 47_OBIS.pm

Da sich der Easymeter auch nicht 100%ig an die OBIS-Spezifikation hält, musste ich ein wenig tricksen.
Bislang ist auch Gas noch nicht implementiert.

Neu ist:
-) Attribute offset_energy und offset_feed:
     Damit kann der Zählerstand an einen anderen Zähler angepasst werden.
     (Hintergrund: Mein Zähler hängt hinter dem offiziellen Zähler meines EVU. Durch den Offset habe ich jetzt im Reading den selben Stand wie am offiziellen Zähler)

-) Wird das OBIS mit Argument "none" initialisiert, kann es als zweistufiges Modul verwendet werden.
     Ich habe hierzu für meinen Voltcraft VSM102 ein zweites Modul (46_vc_VSM.pm) geschrieben, welches alle <interval> Sekunden (Vorgabe 600 Sek.) den Zähler aktiv abfragt und an das OBIS dispatcht.


NEUE VERSION:
Bei define kann nach der Schnittstelle zusätzlich das Gerät angegeben werden. Bislang ist
-) "VSM102" für den Voltcraft VSM102
-) "MT681" für das ISKRA MT681
verfügbar.

Für weitere Ideen und Ergänzungen bin ich gerne offen. Nur her damit, falls ihr noch was braucht.

Offene Fragen:
     -) Soll ich bei der Einspeisung das "-" wegmachen oder drinnen lassen?
     -) Würde gerne das Status-Byte in einzelne Readings aufdröseln, ABER:
          Mein Voltcraft sendet den Status als einzelnes Byte, das Easymeter die Zahl als Hex.
          Keine Ahnung, was davon richtig bzw. "Standard" ist.
          Die einzelnen Bits haben jedenfalls die selbe Bedeutung.

Wenn sich ein paar Leute finden, die das Testen, stelle ich das dann gerne ins offizielle Repo ein.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter
Beitrag von: eldrik am 01 Februar 2016, 08:11:46
Hi,

die 47_OBIS.pm habe ich bei mir, für meinen Easymeter, ohne Probleme im Einsatz.

Greetz
Eldrik
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Crawler am 01 Februar 2016, 23:34:47
Geht bei mir bisher auch hoffen wir morgen auf ein wenig Sonne  :P

L1 bis L3 haben bei mir noch führende Nullen ist das gewollt?
Ich hätte in state gerne Lgesamt ist das möglich?
Eine zeitliche Beschränkung der Readings macht das Sinn?

Ein schönes Beispiel wie man RegEX einsetzen kann.  :D
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 02 Februar 2016, 06:25:47
Habe euch oben eine neue 47_OBIS angehängt.

1) Keine führenden Nullen mehr bei den Readings Werten.
2) Attribut "channels", um die Kanal-Zuordnung zu vereinfachen.
1-0:21.7.0*255(-000925.37*W)
1-0:41.7.0*255(-000910.88*W)
1-0:61.7.0*255(-000657.80*W)
1-0:1.7.0*255(-002494.05*W)

Die 21, 41, 61 und 1 sind lt. OBIS-Standard Messgrößen.
Die Modul-Interne Zuordnung ist: "21"=>"L1","41"=>"L2","61"=>"L3","2"=>"L1","4"=>"L2","6"=>"L3","1"=>"total"
Kann aber jederzeit mittels attr myObis channels "21"=>"L1","41"=>"L2","61"=>"L3","2"=>"L1","4"=>"L2","6"=>"L3","1"=>"total" geändert werden.

3) Für L-egsamt im State: Bitte stateformat nutzen, also einfach ein
attr myOBIS stateFormat total_energy

Was meinst du mit zeitliche Beschränkung?
Dass nur alle x Sekunden ein Reading gemacht wird?
Um zB nicht zuviele Daten zu Loggen, sollte es ausreichen, ein event-min-interval zu setzen.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Crawler am 02 Februar 2016, 09:35:31
event-min-interval auf die 47_OBIS ist ohne Funktion wahrscheinlich weil die Daten bei mir ja eh alle 2 sekunden ohne Abfrage kommen.

finde die Aufteilung von Bezug und Einspeisung in den Phasen ein wenig unvorteilhaft weil einer von beiden immer 0 anzeigt.
Hast du wahrscheinlich gemacht weil es bei dir so auch im Telegram steht oder?(Bild im Anhang)

Mein total_energy springt bei jeder Aktualisierung kurzzeitig erst auf counter_energy und danach wieder auf total_energy
Nur ein Schönheitsfehler aber es piekst im Auge :D (Video im Anhang)
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 02 Februar 2016, 10:04:10
Hmm, ist mir noch nicht aufgefallen.
Hab aber morgen und übermorgen eh frei, da schau ich mir das mal an.
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Crawler am 02 Februar 2016, 11:18:58
Okay jetzt drehen die Readings durch  ???
Ich habe ja nur 1 Anzeige pro Phase aber jetzt rechnet er sich irgendwie Verbrauch und Einspeisung für jede Phase aus.
Er hat die alten Werte nicht auf 0 gesetzt und behält den letzten Wert
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 02 Februar 2016, 20:01:06
Hmm, ich kann das bei mir absolut nicht nachvollziehen, die Readings kommen wunderschön rein.

2016-02-02 19:59:15 OBIS OBIStest Owner: GETTONE
2016-02-02 19:59:15 OBIS OBIStest total_energy: 24788.41
2016-02-02 19:59:15 OBIS OBIStest counter_energy: 106852.76
2016-02-02 19:59:15 OBIS OBIStest L1_feed: -10363.62
2016-02-02 19:59:15 OBIS OBIStest L2_feed: -4598.56
2016-02-02 19:59:15 OBIS OBIStest L3_feed: -9826.22
2016-02-02 19:59:15 OBIS OBIStest L1_energy: 0.3192
2016-02-02 19:59:15 OBIS OBIStest L2_energy: 0.0899
2016-02-02 19:59:15 OBIS OBIStest L3_energy: 0.0995
2016-02-02 19:59:16 OBIS OBIStest total_energy: 0.5086
2016-02-02 19:59:16 OBIS OBIStest Status: @
2016-02-02 19:59:16 OBIS OBIStest Serial: 11400158
2016-02-02 20:00:14 OBIS OBIStest Owner: GETTONE
2016-02-02 20:00:14 OBIS OBIStest total_energy: 24788.42
2016-02-02 20:00:14 OBIS OBIStest counter_energy: 106852.77
2016-02-02 20:00:14 OBIS OBIStest L1_feed: -10363.62
2016-02-02 20:00:14 OBIS OBIStest L2_feed: -4598.56
2016-02-02 20:00:14 OBIS OBIStest L3_feed: -9826.22
2016-02-02 20:00:14 OBIS OBIStest L1_energy: 0.3437
2016-02-02 20:00:14 OBIS OBIStest L2_energy: 0.0898
2016-02-02 20:00:14 OBIS OBIStest L3_energy: 0.1071
2016-02-02 20:00:14 OBIS OBIStest total_energy: 0.5406
2016-02-02 20:00:14 OBIS OBIStest Status: @
2016-02-02 20:00:16 OBIS OBIStest Serial: 11400158


Kannst du mal auf verbose 5 setzen und mir da ein Log schicken, bitte?

lg, Stefan

PS: Und ein
attr OBIStest event-min-interval .*:180
bewirkt genauso wie gewollt, dass die Readings nur alle 3 Minuten ein Event generieren, obwohl der interne Timer weiterhin jede Minute abruft.
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 03 Februar 2016, 07:43:59
So, hab den Fehler mit dem springenden total_energy gefunden und korrigiert.
Version im Post auf der ersten Seite.

ZitatIch habe ja nur 1 Anzeige pro Phase aber jetzt rechnet er sich irgendwie Verbrauch und Einspeisung für jede Phase aus
Das ist mir allerdings noch nicht klar.

Bitte mal kurzfristig auch verbose 5 setzen und mir das Log dazu schicken.
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 03 Februar 2016, 08:19:16
Hat eigentlich irgendjemand Gas-, Wasser-, oder sonstige OBIS-Zähler in Betrieb?
Wenn ihr mir hierzu die Readings zusenden könntet, kann ich die auch gerne implementieren.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Crawler am 03 Februar 2016, 11:40:54
Wieder das gleiche.
mein Telegramm kennst ja deswegen denke ich das du am verbose 5 auch nicht mehr siehst.
Das Problem trifft auf beim Wechsel von Verbrauch auf Strom oder umgekehrt.

/ESY5Q3DB1024 V3.04

1-0:0.0.0*255(0272160155556)
1-0:1.8.0*255(00000792.5617691*kWh)
1-0:2.8.0*255(00002394.6904431*kWh)
1-0:21.7.0*255(000013.06*W)     1-0:21.7.0*255(-000013.06*W)
1-0:41.7.0*255(000029.72*W)     1-0:41.7.0*255(-000029.72*W)
1-0:61.7.0*255(000184.51*W)     1-0:61.7.0*255(-000184.51*W)
1-0:1.7.0*255(000227.29*W)       1-0:1.7.0*255(-000227.29*W)
1-0:96.5.5*255(80)
0-0:96.1.255*255(1ESY1160155556)
!
rot das Telegramm bei Verbrauch und blau bei Einspeisung. Es wird nur ein - vorgesetzt und das Modul interpretiert das dann als feed schreibt einen neuen Wert und lässt den vorherigen Wert energy in den Readings ohne ihn auf 0 zu setzen.
vielleicht liegt es auch an den Zeilen Endzeichen.


Titel: Antw:Neues Modul: Easymeter
Beitrag von: Crawler am 03 Februar 2016, 11:44:19
Hier mal verbose 5
Bei 11:41:39 wechselt die Einspeisung auf Verbrauch auf L3 (Hab mit dem Wasserkocher gespielt)  ::)


2016.02.03 11:41:39 5: Msg-Parse: 1-0:2.8.0*255(00002506.1310277*kWh)
2016.02.03 11:41:39 5: Set reading counter_feed to value 00002506.1310277 with offset 0
2016.02.03 11:41:39 5: Msg-Parse: 1-0:21.7.0*255(-000739.48*W)
2016.02.03 11:41:39 5: Set reading L1_feed to value -739.48
2016.02.03 11:41:39 5: Msg-Parse: 1-0:41.7.0*255(-000729.96*W)
2016.02.03 11:41:39 5: Set reading L2_feed to value -729.96
2016.02.03 11:41:39 5: Msg-Parse: 1-0:61.7.0*255(-000193.19*W)
2016.02.03 11:41:39 5: Set reading L3_feed to value -193.19
2016.02.03 11:41:39 5: Msg-Parse: 1-0:1.7.0*255(-001662.63*W)
2016.02.03 11:41:39 5: Set reading total_feed to value -1662.63
2016.02.03 11:41:39 5: Msg-Parse: 1-0:96.5.5*255(80)
2016.02.03 11:41:39 5: Set reading Status to value 80
2016.02.03 11:41:39 5: Msg-Parse: 0-0:96.1.255*255(1ESY1160155556)
2016.02.03 11:41:39 5: Set reading Serial to value 1ESY1160155556
2016.02.03 11:41:39 5: Msg-Parse: !
2016.02.03 11:41:40 5: Msg-Parse: /ESY5Q3DB1024 V3.04
2016.02.03 11:41:40 5: Set reading Version to value ESY5Q3DB1024 V3.04
2016.02.03 11:41:40 5: Msg-Parse:
2016.02.03 11:41:40 5: Msg-Parse: 1-0:0.0.0*255(0272160155556)
2016.02.03 11:41:40 5: Set reading Owner to value 0272160155556
2016.02.03 11:41:40 5: Msg-Parse: 1-0:1.8.0*255(00000977.0064875*kWh)
2016.02.03 11:41:40 5: Set reading counter_energy to value 00000977.0064875 with offset 0
2016.02.03 11:41:41 5: Msg-Parse: 1-0:2.8.0*255(00002506.1316555*kWh)
2016.02.03 11:41:41 5: Set reading counter_feed to value 00002506.1316555 with offset 0
2016.02.03 11:41:41 5: Msg-Parse: 1-0:21.7.0*255(-000739.12*W)
2016.02.03 11:41:41 5: Set reading L1_feed to value -739.12
2016.02.03 11:41:41 5: Msg-Parse: 1-0:41.7.0*255(-000729.68*W)
2016.02.03 11:41:41 5: Set reading L2_feed to value -729.68
2016.02.03 11:41:41 5: Msg-Parse: 1-0:61.7.0*255(000651.13*W)
2016.02.03 11:41:41 5: Set reading L3_energy to value 651.13
2016.02.03 11:41:41 5: Msg-Parse: 1-0:1.7.0*255(-000817.67*W)
2016.02.03 11:41:41 5: Set reading total_feed to value -817.67
2016.02.03 11:41:41 5: Msg-Parse: 1-0:96.5.5*255(80)
2016.02.03 11:41:41 5: Set reading Status to value 80
2016.02.03 11:41:41 5: Msg-Parse: 0-0:96.1.255*255(1ESY1160155556)
2016.02.03 11:41:41 5: Set reading Serial to value 1ESY1160155556
2016.02.03 11:41:41 5: Msg-Parse: !


Anhang längeres verbose
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 03 Februar 2016, 11:54:16
Nein, das liegt daran, dass ich bisher von falschen Voraussetzungen ausging.

Mein Voltcraft gibt mir PARALLEL den Verbrauch und die Einspeisung zurück, dachte, das sei bei euren auch so.

Wenn ich das jetzt richtig verstehe, müsste bei dir einfach zB "L1_energy" immer zw. Einspeisung und Verbrauch hin und herwechseln, oder?
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Crawler am 03 Februar 2016, 11:58:13
Jetzt schwingen wir auf einer Welle  ;)
richtig
Eldrik hat keine Einspeisung deswegen hat er den Fehler nicht
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 03 Februar 2016, 12:01:11
Ok, dann werd ich dass gleich mal ändern und so inner halben Stunde bis Stunde kommt die neue Version :)
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Crawler am 03 Februar 2016, 12:09:27
Danke für die Mühe :)
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Icinger am 03 Februar 2016, 13:22:06
Update steht im Thread.
Bitte einmal die bestehenden Readings löschen mit
deletereading <device> .*

Habe die readingsNamen nochmal geändert, damit die ohne weiteres auch vom statistice-Modul erkannt werden.

lg, Stefan

PS: Die readings können aber mit einem
attr <device> channels "21"=>"L1_energy","41"=>"L2_energy","61"=>"L3_energy"
wieder auf den vorherigen stand zurückgebracht werden, wenn gewünscht.
Titel: Antw:Neues Modul: Easymeter
Beitrag von: Crawler am 04 Februar 2016, 13:27:09
Funktioniert super  ;)
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 09 Februar 2016, 22:45:22
Hallo,

kleine Frage in die Runde:

Hat schon Jemand von Euch Erfahrungen, ob der Datenfluss vom Zähler zu fhem nach einem Reboot des fhem-Servers wieder von sich aus ans Laufen kommt?

Ich habe mit Stefan jetzt ein paar Abende vergeblich versucht, das für meinen Zähler hinzubekommen. Beim Start von fhem wird das Modul geladen, als "opened" angezeigt, aber die Daten kommen nicht bzw. in so korrupter Art, dass fhem nichts damit anfangen kann. Nach einem manuellen "reload 47_OBIS" läuft alles bestens. Wir haben keine Idee mehr, woran das liegen könnte.

Der Unterschied meines Zählers (Hersteller EMH) im Vergleich zu anderen scheint der zu sein, dass meiner pausenlos im Sekundentakt Daten ausplaudert, ohne danach gefragt worden zu sein. Er plaudert also schon, wenn fhem noch gar nicht so weit ist, ihm zuzuhören. Keine Ahnung, ob das irgendwie die Kommunikation kaputt macht.

Gruß
Willy
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 13 Februar 2016, 20:07:17
Das o.g. Problem hat sich mit einem Update gelöst. Danke nochmal an Stefan, der sich wirklich viel Zeit für mich genommen hat.

Ich möchte nun die Lösung vorstellen, die ich mit ihm zusammen erarbeitet habe.

Problem:
Mein Zähler gibt mir keine Leistungswerte, sondern nur Zählerstände, also z.B.


2016-02-13 19:48:31 OBIS Hausstrom_Zaehler Version: EMH5----eHZ-E0028E
2016-02-13 19:48:31 OBIS Hausstrom_Zaehler Owner: 20836181
2016-02-13 19:48:31 OBIS Hausstrom_Zaehler energy_total: 11561.3388
2016-02-13 19:48:31 OBIS Hausstrom_Zaehler feed_total: 33053.4175
2016-02-13 19:48:31 OBIS Hausstrom_Zaehler Status: 82
2016-02-13 19:48:31 OBIS Hausstrom_Zaehler Serial: 0002477555


Die Lösung, um dennoch an Leistungswerte zu kommen, liegt in userReadings mit dem Modifier differential:
Zitatdas Reading wird auf die Differenz zw. dem aktuellen und dem vorherigen Wert, geteilt durch die Sekunden zw. der aktuellen Zeit und der letzten Auswertung, sekundengenau.

Das Ergebnis wird noch mit 3600000 multipliziert und man erhält die momentane Leistung in Watt - dummerweise mit 13 Nachkommastellen, die durch die Differential-Berechnung verursacht werden. Deshalb wird ein weiteres userReading nachgeschaltet, das die Nachkommastellen abschneidet. Für Verbrauch und Einspeisung (PV-Anlage) sieht das dann so aus:

Zitatattr Hausstrom_Zaehler userReadings P_Bezug_temp:energy_total differential { ReadingsVal("Hausstrom_Zaehler","energy_total",0)*3600000 }, P_Einsp_temp:feed_total differential { ReadingsVal("Hausstrom_Zaehler","feed_total",0)*3600000 },  P_Bezug_Watt { sprintf("%.0f",ReadingsVal("Hausstrom_Zaehler","P_Bezug_temp",0)) },  P_Einsp_Watt { sprintf("%.0f",ReadingsVal("Hausstrom_Zaehler","P_Einsp_temp",0)) }

Im Logfile landen dann nur die Endwerte durch

define FileLog_Hausstrom_Zaehler FileLog /mnt/fhem/log/Hausstrom_Zaehler-%Y-%m.log Hausstrom_Zaehler:P.*Watt.*



Logfile:



2016-02-13_20:05:28 Hausstrom_Zaehler P_Bezug_Watt: 286
2016-02-13_20:05:28 Hausstrom_Zaehler P_Einsp_Watt: 0



Nachtrag:
Statistische Werte erhalte ich mit dem statistics-Modul:


define Hausstrom_Zaehlerstand statistics Hausstrom_Zaehler
attr Hausstrom_Zaehlerstand ignoreDefaultAssignments 1
attr Hausstrom_Zaehlerstand minAvgMaxReadings energy_total,feed_total
attr Hausstrom_Zaehlerstand room Stromzaehler
attr Hausstrom_Zaehlerstand singularReadings Hausstrom_Zaehler:energy_total:Max:(Day|Month|Year)|Hausstrom_Zaehler:feed_total:Max:(Day|Month|Year)


Wenn es aber nur um die Monatswerte der Zählerstände geht genügt auch einfach


define GetZaehlerstand_Verbrauch_Month at *00:00:01 IF ($mday == 1) ( setreading Hausstrom_Zaehler Zaehlerstand_Verbrauch [Hausstrom_Zaehler:energy_total] )
attr GetZaehlerstand_Verbrauch_Month room Stromzaehler
define GetZaehlerstand_Einspeis_Month at *00:00:01 IF ($mday == 1) ( setreading Hausstrom_Zaehler Zaehlerstand_Einspeis [Hausstrom_Zaehler:energy_feed] )
attr GetZaehlerstand_Einspeis_Month room Stromzaehler
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Markus Bloch am 14 Februar 2016, 10:12:02
Hallo icinger,

ich habe gerade im SVN gesehen, dass du dein neues Modul 47_OBIS.pm eingecheckt hast. Beim Durchsehen sind mir dabei ein paar Sachen aufgefallen, die dir mitgeben möchte.

Du benutzt die Log3-Funktion wiefolgt:

Log3 $hash,4,"Baudrate is $baudrate";

Im FHEM Log kann man später so aber nicht mehr erkennen, welches Modul denn diese Meldung erzeugt hat. Ich empfehle daher immer den Modulname, sowie den Name der Definition mit einzufügen. Bspw:

Log3 $hash,4,"OBIS ($name) - Baudrate is $baudrate";

Man sollte möglichst auf globale Variablen verzichten:

my $buffer = "";
my $Zeit = 0;
my $speed=0;
my %channels = ( "21"=>"energy_L1",
                 "41"=>"energy_L2",
                 "61"=>"energy_L3",
                 "32"=>"voltage_L1",
                 "52"=>"voltage_L2",
                 "72"=>"voltage_L3",
                 "31"=>"power_L1",
                 "51"=>"power_L2",
                 "71"=>"power_L3",
                 "2"=>"feed_L1",
                 "4"=>"feed_L2",
                 "6"=>"feed_L3",
                 "1"=>"energy_current");

my %devices ;


Du benutzt zum Beispiel die globale Variable $buffer um eingehende Daten zu puffern. Das funktioniert aber nur, solange man nur eine OBIS Definition in FHEM benutzt und nicht weitere. Desweiteren kann man nie sicher sein, dass evtl. ein anderes Modul ebenfalls eine globale Variable $buffer nutzt. Im Fall von $buffer rate ich dir die Zeile "my $buffer = "";" zu löschen und im restlichen Code $buffer durch $hash->{helper}{BUFFER} zu ersetzen. Damit ist der Buffer für das jeweilige Gerät direkt im Gerätehash angesiedelt und kommt sich mit anderen OBIS-Definitionen nicht ins Gehege.

Die Variable $Zeit wird im gesamten Code nicht verwendet. Die Variable $speed ist ebenfalls Definitionsspezifisch und sollte ähnlich wie $buffer nach $hash->{helper}{SPEED} wandern.

Alle Variablen die unter $hash->{helper}... angesiedelt sind, werden in der FHEMWEB-Oberfläche auf der Detailseite zwar nicht angezeigt. Wenn man aber ein "list <NAME>" eingibt, sieht man diese dennoch. Dort sollte man interne Hilfsvariablen ansiedeln die für dich als Entwickler wichtig sind, für den Nutzer aber eher uninteressant.

Die Variable %channels kann durchaus als globale Variable belassen, man sollte aber den Modulnamen als Präfix davorschreiben, damit diese Variable nicht durch andere Module evtl. auch benutzt wird und sich dann Überschneidungen ergeben. Ich würde daher vorschlagen die Variable %channels umzubenennen in %OBIS_channels.

Die Variable %devices würde ich ebenfalls versuchen zu vermeiden. Evtl. durch einmaligem bilden des Hashs in der DefineFn und abspeichern unter $hash->{helper}... oder man bildet einmalig den Request-String und speichert sich den in $hash->{helper} ab.

Am Schluss von deinem Perl-Code kommt bei dir eine Zeile:

"Cogito, ergo sum.";

Die solltest du besser ändern in:

1;

Macht im Ergebnis zwar kein Unterschied, so ist es aber gleich mit allen anderen Modulen, falls sich am Modul-Lademechanismus etwas ändern sollte, hätte dein Modul dann ein Problem.

So wie ich das momentan sehe, benötigst du keine InitFn, da du keinerlei Initialisierung in deiner InitFn durchführst. Du könntest also in der DefineFn dein Device mit DevIo_OpenDev($hash, 0, undef);
öffnen und die InitFn entsorgen.

Ich kann dir gerne wenn du magst als Hilfe zur Seite stehen bei allgemeinen Fragen zur Modulentwicklung.

Viele Grüße

Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 14 Februar 2016, 10:26:01
Hi Markus,

danke für die Tips, werd ich doch gleich nochmal schnell ändern 8)

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Norbert_G am 15 Februar 2016, 16:41:12
Hallo Allerseits,

ist es eigentlich auch denkbar, einen HM-ES-TX-WM für die Messwerterfassung einzusetzen?

Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 15 Februar 2016, 20:12:44
Beim HM-ES-TX-WM bekommst du doch sowieso ein reading mit den Powerwerten?!? (zumindest laut FHEM-WIKI)
Event     |Beispielswert
battery*  |ok
energy    |10186.6
power     |283
current   |0
voltage   |0
frequency |50
eState    |E: 10186.6 P: 283 I: 0 U: 0 f: 50
boot      |off


Da brauchst du kein OBIS-Modul mehr dazu.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: FunkOdyssey am 16 Februar 2016, 09:51:02
Könnte man das Eingangsposting evtl. ein wenig überarbeiten und darauf hinweisen, dass "47_OBIS.pm" nun offiziell in FHEM vorhanden ist. Und das OBIS quasi der Nachfolger von Easymeter.pm ist? Das waren zwar nur drei Seiten, die man lesen muss. Aber beim ersten Kontakt mit diesem Thread war es ein wenig verwirrend für mich und vielleicht auch für andere.




Hat jemand Lust mal ein Foto von der Hardware reinzustellen? Ich kann mir das irgendwie noch nicht vorstellen. Das wäre wirklich nett.

Wie fixiert ihr das Ganze am Easymeter?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Norbert_G am 16 Februar 2016, 11:05:48
Ich habe aber bedauerlicherweise keine ordentlichen Daten bei Einsatz des HM-ES-TX-WM. Mein Easymeter liefert scheinbar auch keine n-Impulse pro kWh. Es werden irgendwelche anderen Werte ausgegeben, die sich nicht sinnvoll darstellen(lassen). Laut Aussage meines Energieversorgers handelt es sich um direkte Ausgaben der Zählerstände.

Ich bin da derzeit ein wenig ratlos. :(

Vielleicht gibt es ja einen Ansatz, mit dem ich an vernünftige Daten kommen kann. Ich bin für jeden Hinweis dankbar.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: CoolTux am 16 Februar 2016, 11:09:48
Ich habe auch den HM-ES-TX-WM zusammen mit den Ferrariezähler. Alle Angaben bezüglich Verbrauch sind in W/h angegeben. Wo genau liegt Dein Problem? Wenn Du lieber eine Angabe in kW/h haben willst musst Du nur ein Userreading anlegen.



Grüße
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 16 Februar 2016, 12:41:09
Zitat von: FunkOdyssey am 16 Februar 2016, 09:51:02
Hat jemand Lust mal ein Foto von der Hardware reinzustellen? Ich kann mir das irgendwie noch nicht vorstellen. Das wäre wirklich nett.

Wie fixiert ihr das Ganze am Easymeter?
Die Hardware (Lesekopf) ist hier (http://blog.bubux.de/raspberry-pi-ehz-auslesen/) ganz gut zu sehen, bis auf die Tatsache, dass es in dem Bericht um einen SML-Zähler geht, mit dem das OBIS-Modul nichts anfangen kann. Im Lesekopf ist ein Magnet eingebaut, der ihn am Zähler festhält. Das ist in der Spec solcher Zähler auch ausdrücklich so beschrieben, also erlaubt.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: FunkOdyssey am 16 Februar 2016, 13:14:28
Ich ging bis gerade davon aus, dass das IR Signal von oben abgenommen wird.
Ich habe hier etwas gefunden: http://www.forum-raspberrypi.de/Thread-haus-stromzaehler-easymeter-q3da-auslesen-und-in-datenbank-speichern
Ist das nicht der hier gewählte Weg?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Crawler am 16 Februar 2016, 15:19:26
Funk Odyssey genauso habe ich es bei mir gemacht wie in deinem Link
Ich werde mal ein Bild von meinem mit reinstellen
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 16 Februar 2016, 17:13:02
Zitat von: FunkOdyssey am 16 Februar 2016, 13:14:28
Ich ging bis gerade davon aus, dass das IR Signal von oben abgenommen wird.
Ich gehe davon aus, dass das IR-Signal bei jedem Zähler da abgenommen wird, wo die IR-LED sitzt und raus sendet. Bei mir ist das eben vorne, bei dem Zähler in Deinem Bild ist es oben.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: FunkOdyssey am 16 Februar 2016, 17:25:54
Sorry, aber ich habe vorne und oben eine LED. Nachdem was ich beim schnellen Recherchieren lesen konnte, sind die Daten anscheinend unterschiedliche. Wenigstens was das OBIS-Modul angehen soll.
Aber wenn es bei dir so funktioniert, dann ist es doch auch perfekt.
Ich habe noch keine Praxiserfahrung. Daher frage ich ja. :-)
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 16 Februar 2016, 17:49:37
Es gibt das Interface mit 2 Öffnungen, das bei mir vorne ist. Hier werden die Daten in D0 (Klarschrift) oder SML (binär verschlüsselt)  gesendet. Je nach Zähler kann diese Schnittstelle unidirektional (=> Zähler sendet pausenlos von sich aus) oder bidirektional (Zähler sendet nur nach Aufforderung) sein. Nur für die bidirektionale Variante braucht man die 2. Öffnung, die dann einen IR-Empfänger beherbergt. Sobald an diesem IR-Empfänger das richtige Signal (Datenanforderung) ankommt, antwortet er. Für die unidirektionale Variante braucht man nur 1 Öffnung, die 2. ist funktionslos.

Und dann gibt es noch eine LED (bei mir rot, bei mir ebenfalls vorne), die im Rythmus des Stromverbrauchs blinkt, z.B. 10000 mal pro kWh. Auch diese kann man auswerten, aber da kommt halt kein Text oder Daten raus, sondern nur rote Lichtimpulse, die man zählt, um den Stromverbrauch zu ermitteln. Diese Methode funktioniert nicht bei Zweirichtungszählern, weil man die Stromrichtung nicht am blinken erkennen kann => keine Unterscheidung zwischen Verbrauch und Einspeisung.


Nachtrag:
Und dann gibt es an der Zählerrückseite, für den Benutzer unzugänglich (verplombt), noch eine weitere SML-Schnittstelle, über die der Netzversorger den Zähler konfigurieren könnte, z.B. Tarif, Firmwareupdate usw. Auch da sollen lt. Datenblatt meines Zählers OBIS-Daten in D0 oder SML raus kommen.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: FunkOdyssey am 16 Februar 2016, 17:53:36
Danke für die Erklärung.
Ich hatte vermutet, dass du an der blinkenden roten LED deine Messungen durchführst. Das hatte mich verwundert. Mir war nicht klar, dass du beide Varianten vorne hast. Mea culpa.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 16 Februar 2016, 18:00:05
Auch für die rote LED gibt es was vernünftiges: Youless LS110, auszuwerten mit dem JSONMETER-Modul. Funktioniert an meinem PV-Erzeugungszähler bestens. Aber am Einspeisezähler halt nicht, weil er wie gesagt an den Lichtimpulsen die Stromrichtung nicht erkennen kann.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Crawler am 16 Februar 2016, 20:57:42
Mit kleinen Änderungen müsste auch die Schaltung von der ersten Seite(diode tausche durch sfh309 (https://www.reichelt.de/?ARTICLE=65221&PROVID=2788&wt_mc=amc141526782519998&gclid=Cj0KEQiArou2BRDcoN_c6NDI3oMBEiQANeix5hrq1zPnzxRDvj7s6xxdU-tkXpSYGBOL8PV15hIILQYaArmi8P8HAQ))+ raspi + eigenem Programm die gleiche Aufgabe erfüllen können
Die blinksignale sind auch gut mit den Arduino Lichtsensoren (http://www.ebay.de/itm/Digital-Analog-Licht-Sensor-Fotowiderstand-Modul-analoger-Raspberry-Pi-Arduino-/252271578281?hash=item3abc8ecca9:g:~08AAOSwa-dWrLMF) zu empfangen 
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 17 Februar 2016, 15:55:48
Hab dann auch mal schnell das neue Modul mit meinem HAGER ehz getestet. Funktionierte auf Anhieb. Die Bezeichnung der Readings sollte man noch ändern: 31,51,71 sind die Stromstärke, also current und 21,41,61 sind Arbeit,  also power und nicht Energy(=Leistung).

Beim Hager ist es so, dass bei Einspeisung lediglich das Vorzeichen gewechselt wird. Deshalb hatte ich für mich das 70_SMLUSB.pm angepasst(aber nicht allgemein einsetzbar). Um mit meiner Einspeisung auf tatsächliche Verbrauchswerte zu kommen, hatte ich zusätzlich noch die Leistung meiner beiden einphasigen Wechselrichter eingelesen und Differenzreadings erstellt. Außerdem gibt es im Hager nur Phasenwerte, für die Gesamtwerte muss also noch über alle 3 Phasen addiert werden.

Ist so etwas(Gesamtarbeit,tatsächliche Arbeit) noch angedacht einzubauen oder ist es eben tatsächlich zu kompliziert, das Einlesen von readings aus einem anderen Device um Differenzwerte zu berechnen individuell zu programmieren ?

Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 17 Februar 2016, 20:44:17
Bezeichnung der readings: Kann ich gerne ändern, wird aber für die Leute blöd, die schon Log darauf haben.
Alternative dazu: Mit dem Attribut "Channels" anpassen.

Das Aufsummieren von L1-L3 kann ich gerne einfügen, würde ich dann als MeterType=Hager implementieren.
Betrifft das alle Geräte von Hager oder nur n bestimmtes Model?

Vorzeichenwechsel bei Einspeisung ist beim EasyMeter ebenfalls so.
Differenzreading wären sinnvoller mittels userReading zu lösen, glaube ich.
Das wird wohl zu speziell sein.
Sollte seitens anderer User auch Bedarf bestehen, kann man das aber gerne andenken.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 18 Februar 2016, 08:36:50
Hallo Stefan,

dass mit einem rename existierende Logs problematisch werden ist klar, aber die richtigen Bezeichnungen sollten die Readings doch schon haben. Meine Aussage war aber auch nicht ganz korrekt. Es muss heißen: 21,41,61 sind die Leistungen(=power) je Phase und nicht Energie(=Arbeit).

Eine Gesamtleistung für die Hager-Zähler über die Phasen aufzusummieren fände ich gut.

Bei der weiteren Überlegung zur tatsächlichen Verbrauchsleistung und Deinem Vorschlag das über CustomReadings zu lösen, ist mir noch in den Sinn gekommen, dass die Hagerzähler die Daten pushen, also ständig senden. Das führt zu recht vollen Logs (und performance-Einbußen ?). Gelöst ist das bei mir, indem das Attribut intervals dazu genutzt wird, nur in intervals-Zeitabständen die Daten zu verarbeiten. In 47_OBIS umsetzbar ? Aber Achtung, muss dann für jedes Reading gelten, was nämlich das eigentliche Problem bei dem permanenten Datenstrom ist !

Jetzt mache ich mir mal weiter Gedanken über die "echte" Verbrauchsleistung unter Berücksichtigung der Erzeugungsleistung mit CustomReadings. Hauptproblematik ist die Synchronität der Readings der beiden Devices. Aber vielleicht muss ich nur mein Wechselrichtermodul dafür von Intervall-Polling auf echtes Polling umstellen.....

Grüße
Markus

PS: Wäre der Thread nicht besser in sonstige Systeme aufgehoben ?

Grüße
Markus



Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 18 Februar 2016, 09:25:51
Achtung!

CustomReadings != userReading :)

ZitatAttribut intervals
Meinst du
event-min-interval
event-on-change-reading
event-on-update-reading
??

Du kannst am einfachsten ein attr event-min-interval .*:600 setzen, dann hast du nur alle 10 Minuten einen Eintrag im Logfile.

Das mit der Performance ist ein anderes Problem, da weiss ich nicht, wie ich das umgehen könnte.
Auch wenn ich nur jedes x-te Telegramm auswerten würde, kommen die Daten ja trotzdem im Sekundentakt in FHEM an und müssen teilweise ausgewertet werden. (Zumindest schon mal auf "Anfang/Ende Telegram").

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: eldrik am 18 Februar 2016, 09:36:22
Hi,

ich hänge mal den Link, des Perl Skriptes an, welches ich bisher für das Abrufen der Daten benutzt habe vl. findest du ja nützlichen Code, für das setzen eines Intervals?

https://github.com/jschanz/easymeter/blob/master/bin/easymeter.pl (https://github.com/jschanz/easymeter/blob/master/bin/easymeter.pl)

Greetz
Eldrik
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 18 Februar 2016, 09:42:36
Eigenverbrauch werde ich auch als userReading durch Summen-/Differenzbildung zwischen Hausstromzähler und PV-Zähler lösen. Das wäre sicher zu speziell, um es ins OBIS-Modul einzubauen - zumal es ja in der fhem.cfg ein Einzeiler ist.


event-min-interval ist die richtige Methode, um die Anzahl Datensätze im Log zu begrenzen, auch bei OBIS.


Die Geschichte mit der erhöhten Systemlast, wenn der Zähler pausenlos die Daten pusht, ist mir auch schon aufgefallen. Ich habe mal im Terminal einen "top" aufgerufen. Dann sah ich, dass perl ca. 0,7% CPU-Last erzeugt. Sobald ich den Lesekopf an den Zähler hänge steigt es auf 7 ... 12%. Stefan weiß schon darüber Bescheid, aber eine Lösung ist uns noch nicht eingefallen. Unten habe ich ein Bild aus SYSMON angehängt, das CPU-Frequenz und Prozessortemperatur zeigt. Immer wenn der Lesekopf Daten liefert wirds dem Raspi ziemlich warm. (Nachtrag: um 4:00 startete das Backup => andere Ursache für die erhöhte Last zu diesem Zeitpunkt)


Schlimmstenfalls müsste ich eine Hardwarelösung bauen, die den Durchfluss am USB-Kabel taktet. Aber bevor ich so eine Bastlerlösung baue frage ich nochmal im Forum, ob es nicht für fhem eine generelle Softwarebasierte Lösung gibt, also außerhalb des OBIS-Moduls. Das werde ich jetzt gleich machen.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 18 Februar 2016, 09:43:18
Hmm, da wird auch JEDES Telegram ausgewertet, soweit ich das sehe.
Diese werden dann aber über jeweils 5 Minuten in ein File geschrieben, gemittelt und dann erst in Readings übertragen.

Ändert leider nicht wirklich was an der Performance.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 18 Februar 2016, 09:49:59
Zitat von: Icinger am 18 Februar 2016, 09:43:18
Hmm, da wird auch JEDES Telegram ausgewertet, soweit ich das sehe.
Diese werden dann aber über jeweils 5 Minuten in ein File geschrieben, gemittelt und dann erst in Readings übertragen.
OK, wenn man die Durchschnittsleistung der letzten 5 Minuten will (anstatt dem Einzelwert am Ende dieser 5 Minuten), dann kann man auch die Zählerstände dafür missbrauchen:



(Zählerstand_Ende - Zählerstand_Anfang) / Zeitdifferenz



In fhem-Code sieht das dann so aus (wobei Du die Hälfte weglassen kannst, wenn Du keinen Zweirichtungszähler hast):





attr Hausstrom_Zaehler userReadings P_Bezug_temp:energy_total differential { ReadingsVal("Hausstrom_Zaehler","energy_total",0)*3600000 }, P_Einsp_temp:feed_total differential { ReadingsVal("Hausstrom_Zaehler","feed_total",0)*3600000 },  P_Bezug_Watt { sprintf("%.0f",ReadingsVal("Hausstrom_Zaehler","P_Bezug_temp",0)) },  P_Einsp_Watt { sprintf("%.0f",ReadingsVal("Hausstrom_Zaehler","P_Einsp_temp",0)) }
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 18 Februar 2016, 09:51:28
Was aber nichts an der Performace ändert, weil trotzdem jedes Telegram im Sekundentakt ausgewertet wird.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 18 Februar 2016, 10:04:37
Zitat von: Icinger am 18 Februar 2016, 09:51:28
Was aber nichts an der Performace ändert, weil trotzdem jedes Telegram im Sekundentakt ausgewertet wird.
schon klar. Ich wollte lediglich den Hinweis geben, dass es für die Durchschnittsleistung der letzten n Minuten keinen Spezialcode braucht.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: FunkOdyssey am 18 Februar 2016, 10:40:20
Danke für die Anpassung des ersten Threads und die Bilder.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: eldrik am 18 Februar 2016, 11:26:13
Zitat von: Icinger am 18 Februar 2016, 09:43:18
Hmm, da wird auch JEDES Telegram ausgewertet, soweit ich das sehe.
Diese werden dann aber über jeweils 5 Minuten in ein File geschrieben, gemittelt und dann erst in Readings übertragen.

Ändert leider nicht wirklich was an der Performance.

Hi,

ich bin mir jetzt nicht 100%ig sicher, ob ich das Problem verstehe.

Fhem lauscht doch erst auf den Port wenn das Modul diesen aktiv öffnet oder? Ab diesem Zeitpunkt ist der Server mit der Verarbeitung der Daten beschäftigt.

Kann man nicht einen Parameter für einen Intervall hinterlegen, so dass der Port nur alle x Sekunden geöffnet wird und nach der Paketübermittlung und Anzeige in FHEM dieser wieder geschlossen wird?

Sollte jemand kein Intervall benötigen Intervall = 0 dann wird der Port nicht geschlossen und die Abarbeitung erfolgt kontinuierlich.

Greetz
Eldrik
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 18 Februar 2016, 12:11:47
Danke für den Denkanstoß, Eldrik,

auf die Idee bin ich noch nicht gekommen :)

Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 18 Februar 2016, 14:01:10
"Hero" himself hatte grade praktisch dieselbe Idee (http://forum.fhem.de/index.php/topic,49515.msg412251.html#msg412251):

Zitat von: rudolfkoenig am 18 Februar 2016, 13:38:11
Alternativ fuegt man im Modul was zu event-min-interval Vergleichbares ein.

Jetzt hoffe ich nur, dass Linux friedlich reagiert, wenn an einem ungeöffneten USB-Port permanent Daten ankommen. Ich habe da so eine dunkle Erinnerung:
In der Zeit, als ich den Lesekopf schon hatte, aber noch nicht in FHEM integriert, da musste ich immer den USB-Stecker abziehen, weil fhem sonst nicht hoch kam. Aber evtl. hilft da auch löschen von

global autoload_undefined_devices
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 18 Februar 2016, 14:17:08
Bin schon dran an dem Thema........ :)
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 18 Februar 2016, 17:58:47
Anbei mal eine Version, die bei gesetztem "Interval"-Attribut nur genau zu diesen Zeiten auf Daten lauscht und ansonsten alles, was reinkommt, verwirft.

Sollte bei ständig sendenden Zählern einiges an performance bringen.

Weiters habe ich die Namen der Readings nochmal geändert.
Für alle, die jetzt schon auf gewisse Readings loggen, und das nicht mehr umstellen wollen:
Ein
attr <name> channels {"21"=>"energy_L1","41"=>"energy_L2","61"=>"energy_L3","31"=>"power_L1","51"=>"power_L2","71"=>"power_L3","1"=>"energy_current","8.1"=>"energy_total","8.2"=>"feed_total"}
stellt den bisherigen Zustand wieder her.

Drittens wurde als MeterType noch "Hager" hinzugefügt.
Bei diesem Zähler werden nur die Verbräuche der einzelnen Phasen per Datagram gesendet, nicht die Summe.
Wird Hager als MeterType angegeben, werden die 3 Phasen aufaddiert und in ein Reading gesetzt.

Modul kommt morgen per Update, oder ihr könnt es euch hier schonmal runterladen.

Vorschau: Mir kam vorhin noch der Gedanke, ein "set <name> alignTime xx:xx" einzubauen, um das Intervall einmalig gegen eine bestimmte Uhrzeit (zB 00:00) auszurichten.

Sonstige Wünsche, Anregungen, Beschwerden wie immer hier bitte.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 18 Februar 2016, 22:16:40
Ich kanns mir erst morgen anschauen. Das habe ich hier  (http://forum.fhem.de/index.php/topic,49515.msg412438.html#msg412438)gefunden - könnte helfen:

Zitat von: limats am 18 Februar 2016, 20:12:47Hallo, mit dem Modul SMLUSB hatte ich ein ähnliches Problem: mein über den Volkszähler-Sensor angeschlossene Stromzähler treibt die Last stark nach oben. Ich konnte das Problem bei mir durch einen sehr kleinen Eingriff entschärfen: die USB-Anbindung der FHEM Module kennt 2 Mechanismen. Unter Linux wird mit Interrupts gearbeitet während unter Windows gepollt wird. Ich hab das Modul bei mir nun auf den Polling-Mechanismus umgestellt, obwohl mein System unter Linux läuft.Seitdem ist die CPU-Last wieder viel niedriger. Vielleicht hilft das bei dir ja auch... Gruß Leo
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 18 Februar 2016, 22:45:14
Also der Hager funktioniert recht gut mit dem neuen OBIS. Ich hab mein eigengestricktes Modul nun abgelöst  :) Dank der Channel-Übersetzung konnte ich sogar meine "alten" Readings und damit die alten Logs und Plots verwenden.

Performance scheint OK.

Aber ein Problem habe ich: wenn ich attr zaehler interval xx im config-file verwende, startet fhem nicht mehr bzw. hängt. Im Log kommt nach zaehler device opened nichts mehr, was das Problem erklären könnte  :-\ Das setzen des Attributs im laufenden Betrieb funktioniert problemlos.

Wenn die Sonne aufgeht, kann ich auch meine neuen userReadings für die echten Verbräuche(=Zählerleistung+Erzeugung) testen...

Gute Nacht
Markus

Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 18 Februar 2016, 22:59:20
Habs jetzt doch gleich installiert.

OK, ich habs jetzt: man muss das interval Attribut setzen, sonst kommen keine Daten durch.
edit: gestrichen - ich habe ein anderes Problem, sh. unten

Die CPU-Last von perl (top) liegt jetzt bei 6 ... 10%. Das ist zwar weniger als vorher aber immer noch zehn mal so viel wie ohne OBIS-Modul  :-\ :-\ :-\ .

Zitat von: Icinger am 18 Februar 2016, 17:58:47Weiters habe ich die Namen der Readings nochmal geändert.Für alle, die jetzt schon auf gewisse Readings loggen, und das nicht mehr umstellen wollen:Einattr <name> channels {"21"=>"energy_L1","41"=>"energy_L2","61"=>"energy_L3","31"=>"power_L1","51"=>"power_L2","71"=>"power_L3","1"=>"energy_current","8.1"=>"energy_total","8.2"=>"feed_total"}stellt den bisherigen Zustand wieder her.

Verstehe ich das richtig: das bisherige energy_total wird durch 8.1 ersetzt, das bisherige feed_total durch 8.2? Dann stimmt bei mir was nicht: diese Readings bekomme ich gar nicht rein.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 19 Februar 2016, 10:05:46
bei mir gibts ein Problem. ich habe das neue Modul installiert, alle alten Readings gelöscht und dann erst mal eine Minimalkonfiguration genommen (auskommentierte Zeilen in der Config unten). Dann "shutdown-restart". Eigentlich hätte ich erwartet, dass im Minutentakt Readings "8.1" und "8.2" einlaufen, aber da kommt nichts.

Oder habe ich einen Denkfehler? Könnte auch sein, da ich mit 39° Fieber zuhause liege  :( -


define Hausstrom_Zaehler OBIS /dev/serial/by-id/usb-Silicon_Labs_USB-IR-Kopf_001DDF17-if00-port0@9600,7,E,1
attr Hausstrom_Zaehler event-min-interval .*:50
attr Hausstrom_Zaehler interval 60
attr Hausstrom_Zaehler room Stromzaehler
# attr Hausstrom_Zaehler userReadings P_Bezug_temp:8.1 differential { ReadingsVal("Hausstrom_Zaehler","8.1",0)*3600000 }, P_Einsp_temp:8.2 differential { ReadingsVal("Hausstrom_Zaehler","8.2",0)*3600000 }, P_Bezug_Watt { sprintf("%.0f",ReadingsVal("Hausstrom_Zaehler","P_Bezug_temp",0)) }, P_Einsp_Watt { sprintf("%.0f",ReadingsVal("Hausstrom_Zaehler","P_Einsp_temp",0)) }
# attr Hausstrom_Zaehler verbose 3

define FileLog_Hausstrom_Zaehler FileLog /mnt/fhem/log/Hausstrom_Zaehler-%Y-%m.log Hausstrom_Zaehler:P.*Watt.*|Hausstrom_Zaehler:Zaehlerstand.*|Hausstrom_Zaehler:stat.*Last.*

define SVG_FileLog_Hausstrom_Zaehler_1 SVG FileLog_Hausstrom_Zaehler:SVG_FileLog_Hausstrom_Zaehler_1:CURRENT
attr SVG_FileLog_Hausstrom_Zaehler_1 label "Bezug $data{currval1} Watt, Einspeisung $data{currval2} Watt, at $data{currdate1}"
attr SVG_FileLog_Hausstrom_Zaehler_1 plotsize 840,300
attr SVG_FileLog_Hausstrom_Zaehler_1 room Stromzaehler

# define Hausstrom_Zaehlerstand statistics Hausstrom_Zaehler
# attr Hausstrom_Zaehlerstand ignoreDefaultAssignments 1
# attr Hausstrom_Zaehlerstand minAvgMaxReadings energy_total,feed_total
# attr Hausstrom_Zaehlerstand singularReadings Hausstrom_Zaehler:energy_total:Max:(Day|Month|Year)|Hausstrom_Zaehler:feed_total:Max:(Day|Month|Year)

# define GetZaehlerstand_Verbrauch_Month at *00:00:01 IF ($mday == 1) ( setreading Hausstrom_Zaehler Zaehlerstand_Verbrauch [Hausstrom_Zaehler:energy_total] )
# define GetZaehlerstand_Einspeis_Month at *00:00:01 IF ($mday == 1) ( setreading Hausstrom_Zaehler Zaehlerstand_Einspeis [Hausstrom_Zaehler:energy_feed] )


Noch was zu den neuen Namen:
Einrichtungszähler => 1.8.1
Zweirichtungszähler => 1.8.2
Einrichtungs-Zweitarifzähler => 1.8.1, 2.8.1  ==> die "8.1" ist nicht eindeutig
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 19 Februar 2016, 10:25:01
das liegt wohl am Fieber  ;)

Wenn Du das Channel-Attribut für 8.1 bzw. 8.2 nicht setzt(Deine Config.), müßtest Du die Zählerstande als Readings total_feed und total_consumption bekommen.

ABER: 1.8.1 ist NICHT ein Einrichtungszähler, sondern die Bezeichnung des Haupttarifs für Bezug eines Zählers bei Mehrtarifzählern und 1.8.2 NICHT ein Zweirichtungszähler, sondern dann Nebentarif für Bezug des Zählers. Bei einem 2-Richtungsmehrtarifzähler gibt es dann entsprechend 2.8.x für die beiden Tarife und Erzeugung. Lass doch mal kurz mit verbose5 laufen und Du siehst im Log, welche OBIS-Zeilen Dein Zähler auswirft.

@Stefan: Evtl. werden Mehrtarifzähler noch nicht unterstützt ?

Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 19 Februar 2016, 11:19:06
ZitatWenn Du das Channel-Attribut für 8.1 bzw. 8.2 nicht setzt(Deine Config.), müßtest Du die Zählerstande als Readings total_feed und total_consumption bekommen.
Richtig!

Nicht verwirren lassen, das "8.1" und "8.2" habe ich intern für 1.8.x und 2.8.x!
Theoretisch sollte Zweirichtungszähler schon gehn.

Wenn irgendwelche Readings nicht aufscheinen, bitte ein Verbos 5 machen und mir das Log davon schicken.
Kann ich mir heute abend dann ansehen, bin arbeiten.

ZitatDie CPU-Last von perl (top) liegt jetzt bei 6 ... 10%. Das ist zwar weniger als vorher aber immer noch zehn mal so viel wie ohne OBIS-Modul
Mehr Einsparungspotential hab ich leider nicht mehr, ausser ich würde wirklich die Schnittstelle ständig schließen und öffnen.
Dann wird aber leider das Log von der DevIo bei jedem öffnen mit 3 Zeilen gefüllt. Da müsste man mit Rudi reden, ob er das ändert.

Morgen gibts nochmal ein kleines Update:
-) Fehler in der Commandref (Der deutsche Text wird beim Englischen angezeigt)
-) Bei nicht gesetzten Interval wurde wirklich (sofern KEIN meterType angegeben) nur einmalig ein Nachrichtenframe ausgewertet.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 19 Februar 2016, 13:55:29
zwar ist die Sonne kaum zu sehen, aber Dank meines selbstgestrickten Moduls, welches die Erzeugungsleistung meiner Wechselrichter pollen kann, habe ich mir mit einem notify auf die Zählerdatenaktualisierung und einem defmod at mit 58 sec. Zeitverzögerung zur Ermittlung der Erzeugungsleistung einen Synchronisationsmechanismus gebastelt, der gut zu funktionieren scheint.

@Stefan: damit ist ein set aligntime für mich nicht notwendig. Ich glaube sogar, dass eine einmalige Synchronisation nicht ausrecht, weil die Intervalle ja nicht zu 100% genau ausgeführt werden und durch Performancebremsen sich unterschiedlich wieder verschieben.
Sicher, dass Du Mehrtarifzähler unterstützt ? Bei 2-Richtungsmehrtarifzählern gäbe es ja 4 Zählerstände !

Grüße
Markus

Edit: Das Modul 70_SMLUSB wird scheinbar immer noch gewartet.
http://forum.fhem.de/index.php/topic,14117.270.html
Macht es nicht Sinn die beiden Module "zusammenzuführen ?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 19 Februar 2016, 15:57:48

Wegen Performance:
Ich habe mal den Kollegen, der aus demselben Grund das SMLUSB-Modul umgebaut hat (sh. Beitrag Nr.63) gebeten, mir das modifizierte Modul zu schicken. Ggf. baue ich mir das in eine custom-Version des OBIS-Moduls ein.

Wegen Daten:
Es gibt ziemlich eigenartige Effekte:


Nachtrag: hier noch die config:



define Hausstrom_Zaehler OBIS /dev/serial/by-id/usb-Silicon_Labs_USB-IR-Kopf_001DDF17-if00-port0@9600,7,E,1
attr Hausstrom_Zaehler event-min-interval .*:15
attr Hausstrom_Zaehler interval 60
attr Hausstrom_Zaehler room Stromzaehler
attr Hausstrom_Zaehler userReadings P_Bezug_temp:total_consumption differential { ReadingsVal("Hausstrom_Zaehler","total_consumption",0)*3600000 }, P_Einsp_temp:total_feed differential { ReadingsVal("Hausstrom_Zaehler","total_feed",0)*3600000 }, P_Bezug_Watt { sprintf("%.0f",ReadingsVal("Hausstrom_Zaehler","P_Bezug_temp",0)) }, P_Einsp_Watt { sprintf("%.0f",ReadingsVal("Hausstrom_Zaehler","P_Einsp_temp",0)) }
attr Hausstrom_Zaehler verbose 5


define FileLog_Hausstrom_Zaehler FileLog /mnt/fhem/log/Hausstrom_Zaehler-%Y-%m.log Hausstrom_Zaehler:P.*Watt.*|Hausstrom_Zaehler:Zaehlerstand.*|Hausstrom_Zaehler:stat.*Last.*


define SVG_FileLog_Hausstrom_Zaehler_1 SVG FileLog_Hausstrom_Zaehler:SVG_FileLog_Hausstrom_Zaehler_1:CURRENT
attr SVG_FileLog_Hausstrom_Zaehler_1 label "Bezug $data{currval1} Watt, Einspeisung $data{currval2} Watt, at $data{currdate1}"
attr SVG_FileLog_Hausstrom_Zaehler_1 plotsize 840,300
attr SVG_FileLog_Hausstrom_Zaehler_1 room Stromzaehler
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 19 Februar 2016, 19:38:33
ZitatEs gibt ziemlich eigenartige Effekte:

    Nach einem Shutdown-Restart kommen keine Daten. Erst wenn ich das (bereits gesetzte) "intervals" Attribut nochmal setze funktioniert es ==> So ist das Modul nicht Reset-fest.
    Nach ein paar Minuten reißt der Datenstrom ab. Ich konnte ihn mit einer erneuten Redefinition von "intervals" wieder aufwecken. (nicht immer reproduzierbar)
    Wenn man im laufenden Betrieb das "channels" Attribut setzt oder löscht, hat das keine Auswirkung. Die Daten weden nach wie vor in die "alten" Readings geschrieben. Erst ein Shutdown-Restart behebt den Fehler. Ein reload 47_OBIS hilft nicht.
    Ich bekomme bei jedem Reading ca. 14 Zeilen ins Logfile: 7 mal P_Einsp_Watt, 7 mal P_Bezug_Watt. Alle mit demselben Timestamp. Das ist eigenartig. Wenn es daran läge, dass der "Zeitschlitz" fürs lesen der Daten für meinen Zähler zu lang wäre, dann würden es ja verschiedene Timestamps sein.  Deshalb habe ich "event-min-interval -+:15 eingefügt => geht. Aber die Frage, warum überhaupt die Werte so oft kommen, bleibt offen.
    Meine UserReadings ermitteln ja zunächst per "differential" die Leistung (_temp Werte), die dann im nächsten userReading gerundet werden. Fhem tauscht offenbar die Reihenfolge, in der die userReadings abgearbeitet werden, aus: ich sehe in den gerundeten Werten immer den vorherigen Wert. Eigentlich sollte der aktuelle Wert gerundet werden. So landen die Werte immer um 1 Minute versetzt im Log. Kann man das beeinflussen?

Ich bin eigentliuch  nur beim ersten Punkt schuld ^^
Den fix dazu checke ich in ca. einer Stunde ein....oder so.....zumindest noch heute gg
Das mit den Channels im laufenden Betrieb kann ich nicht nachstellen. Wenn ich das Attribut ändere, wirds sofort beim nächsten Durchlauf berücksichtigt.
Die 14 Zeilen resultieren daher, dass du in deinem Userreading bei P_Bezug_Watt und P_Einsp_Watt keinen Trigger hast. Damit reagieren diese beiden Userreadings auf jedes einzelne Reading, das getzt wird.
Das FHEM die Reihenfolge tauscht, wäre mir auch noch nie aufgefallen.

Zitatdamit ist ein set aligntime für mich nicht notwendig. Ich glaube sogar, dass eine einmalige Synchronisation nicht ausrecht, weil die Intervalle ja nicht zu 100% genau ausgeführt werden und durch Performancebremsen sich unterschiedlich wieder verschieben.
Das wird sowieso bei jedem neuen Interval-Aufruf neu gerechnet. Ähnlich wie bei einem "at"

ZitatSicher, dass Du Mehrtarifzähler unterstützt ? Bei 2-Richtungsmehrtarifzählern gäbe es ja 4 Zählerstände !
Habe bisher noch von niemanden Daten von einem Zweirichtungszähler bekommen, kanns daher nur theoretisch sagen ^^

Das 70_SMLUSB werd ich mir mal anschaun.

lg, Stefan (der jetzt erstmal ein Geburtstagsbierchen trinkt gg)
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 19 Februar 2016, 20:02:25
Das mit den 14 Zeilen habe ich nun mit einem Trigger gefixt. Danach ging zuerst gar nichts mehr (jetzt weiß ich auch wieder, warum ich den Trigger raus genommen hatte). Ich habe dann event-min-interval nochmal neu gesetzt (auf den alten Wert), dann ging wieder alles. Kommt mir bekannt vor.

Mit dem Rest warte ich erst mal die neue Version ab.


Ach ja:
Herzlichen Glühstrumpf, falls es Dein Geburtstag ist.


Gruß
Willy
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 19 Februar 2016, 21:13:27
ZitatHerzlichen Glühstrumpf, falls es Dein Geburtstag ist.
Ja, hab ich. Danke!!!

Hab grad eine gefixte Version hochgeladen.
Wenn ihr nur ein reload macht und ein interval hinterlegt habt, bitte einmal dieses neu setzen. Ansonsten zieht das Standard-Interval, welches ich fix hinterlegt habe.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 22 Februar 2016, 09:17:00
Hi Stefan,

mittlerweile habe ich auch meine userReadings fast im Griff. Die Kumulation der Phasenleistungen zu einem Gesamtwert könnte ich ja eigentlich auch per userReading machen. Macht das mehr Sinn, als es im Modul zu kumulieren ? Im "Langzeittest" ist mir aufgefallen, dass es öfter 2-3 Logeinträge zur selben Zeit gibt:
2016-02-22_09:11:00 zaehler Momentanleistung: 0
2016-02-22_09:11:00 zaehler Momentanleistung: 61
2016-02-22_09:11:00 zaehler Momentanleistung: 61


Meistens hat der erste Logeintrag einen Wert=0, was sich etwas unschön in den Grafiken auswirkt.

Performance: schaut man auf apptime, sieht es super aus; mit top leider hoher CPU-Verbrauch

Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 22 Februar 2016, 09:40:23
Hi Markus,
die Config wäre nicht schlecht, damit man weiß, worüber man redet. Ich konnte Mehrfacheinträge beheben, indem ich für alle userReadings einen Trigger gesetzt habe (danke an Stefan für den Tipp). Das behebt dann auch automatisch eine evtl. falsch ausgeführte Reihenfolge, in der die userReadings abgearbeitet werden - was wiederum eine Ursache für die Nullwerte sein könnte.

Das mit der CPU-Last beim "top" hatte ich auch bereits festgestellt. In Antwort #63 hatte ich ja schon beschrieben, wie dasselbe Problem beim SMLUSB-Modul gelöst werden kann. Ich habe mir dieselbe Lösung in eine etwas ältere Version des OBIS-Moduls eingebaut und sie funktioniert - top-Werte nicht mehr von denen ohne OBIS-Modul zu unterscheiden. Dummerweise hat eine stumpfsinnige Kopie dieser Lösung in die aktuelle OBIS-Version nicht geklappt: das Modul startet nicht mehr. Stefan kennt bereits die Details und will sich das Ganze mal ansehen.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 22 Februar 2016, 11:56:53
ich glaub nicht, dass es an meiner Config liegt:

define zaehler OBIS /dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller_D-if00-port0@9600,7,E,1 Hager
#attr zaehler interval 60
attr zaehler room Energie
attr zaehler channels {"21"=>"Leistung_W1","41"=>"Leistung_W2","61"=>"Leistung_W3","31"=>"Strom_I1","51"=>"Strom_I2","71"=>"Strom_I3","32"=>"Spannung_U1","52"=>"Spannung_U2","72"=>"Spannung_U3","1"=>"Momentanleistung"}
attr zaehler userReadings VLeistung_W1:Leistung_W1 { ReadingsVal("zaehler","Leistung_W1",0) }, \
                          VLeistung_W2:Leistung_W2 { if (ReadingsVal("WR", "Wert_WR1_16", 0) + ReadingsVal("zaehler","Leistung_W2",0) > 0) \
  {ReadingsVal("WR", "Wert_WR1_16", 0) + ReadingsVal("zaehler","Leistung_W2",0)} else { 0 } }, \
  VLeistung_W3:Leistung_W3 { if (ReadingsVal("WR", "Wert_WR2_16", 0) + ReadingsVal("zaehler","Leistung_W3",0) > 0) \
  {ReadingsVal("WR", "Wert_WR2_16", 0) + ReadingsVal("zaehler","Leistung_W3",0)} else { 0 } }



Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 22 Februar 2016, 12:39:47
ok, Momentanleistung ist also kein userReading, sondern kommt direkt vom Zähler. Du könntest es mal mit

event-min-interval .*:5

versuchen: alle Events gleichen Typs werden nicht öfter als alle 5 Sekunden durchgelassen.

global dupTimeout wäre evtl. auch einen Versuch wert.


Dennoch stellt sich die berechtigte Frage, woher diese "Echos" überhaupt kommen.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: osid-timo am 23 Februar 2016, 21:02:28
Hallo,
den OBIS Ansatz finde ich sehr Interessant!
Momentan nutze ich auf einem separaten Raspi B den VZLOGGER aus dem Volkzähler Projekt mit einem Lesekopf von Udo
und dem FHEM VZLOGGER Modul auf meinem Haupt Raspi 2, leider ist der VZLOGGER  aus dem Volkzähler zum Lesen nicht sehr stabil und stellt immer wieder seinen httpd Kanal ein.
Ich habe einen EasyMeter Q3CA1261

wie muss ich das define xx OBIS  /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_0092CCBD-if00-port0@9600,8,N,1  <Zähler> realisieren, um damit die Zählerdaten richtig auszulesen?
meine Versuch waren  bis jetzt erfolglos, es gibt keine Readings, die ich brauchen kann


Gruß Osid-timo
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 23 Februar 2016, 21:21:19
1) Nimm bitte das Modul, das ich hier gerade angehängt habe.
Das im Repo hat ein paar Fehler drinnen, ich kann erst morgen oder übermorgen ein Update comitten.

2) Sicher, dass deine Schnittstelle 8N1 läuft? Ich vermute eher 7E1!
Damit wäre die definition dann:
define xx OBIS  /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_0092CCBD-if00-port0@9600,7,E,1
Sehr wahrsacheinlich brauchst du keinen Metertype dahinter.

Wenn dann immer noch nichts kommt, bitte Verbose 5 setzen und mal ins Logfile schauen.
Wenn da was sinnvolles ankommt, schick mir mal ein Log.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: osid-timo am 23 Februar 2016, 22:39:02
Hallo Stefan,
leider nix gebracht
beim VZLOGGER bekomme ich mit 8,N,1 gute Ergebnisse bei meinem Zähler
mit dem OBIS Modul ist es egal ob 8,N,1 oder 7,E,1 ist das Ergebnis wie im Screenshot
Gruß Osid-timo
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 23 Februar 2016, 22:54:20
Hi Osid-timo,

Du solltest uns mehr über Deinen Zähler sagen. Das 2. Bild war 7E1, das 1. war ? (Bild oben abgeschnitten). Daten sehe ich im 1. Bild auch keine.

Braucht der Zähler ein Init-Signal (welches?), oder plaudert er von sich aus drauf los?

Wäre nett, wenn Du die Konfiguration in Textform beilegen könntest.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 24 Februar 2016, 05:43:10
7E1 ist es nicht, stimmt. Das sieht man an den zerstückelten Daten im Bild. Sieht nach typischem Parity-Problem aus.
Also vlt. doch 8N1.

Dann Bitte ein Log davon mit V5.
Und besser keine Screenshots, sondern Code-Fragmente hier.
Also zB mal ein >list Hausstrom_Zaehler< ;)

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: osid-timo am 24 Februar 2016, 15:42:12
Hallo,
beim VZLOGGER nutze ich folgende Konfiguration:
"meters" : [
    {
    "enabled" : true , // true, Beginn EasyMeter Q3C Zähler
    "protocol" : "sml",
    "baudrate" : 9600,
    "device" : "/dev/ttyUSB0",
    "parity" : "8N1",
    "pullseq" : "2f3f210d0a", // HEX Darstellung der Pullsequenz
    "interval" : 10, // Wartezeit bis zum nächsten Pull
"channels": [{

das bedeutet für mich 8,N,1 und wie du vermutest eine Pullsequenz, aber wie kann ich die dem OBIS Modul mitgeben?
Gruß Osid-timo
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 24 Februar 2016, 19:53:09
Zitat"protocol" : "sml",

Da liegt der Hund begraben.
OBIS versteht kein SML (was nicht heisst, das es nicht vielleicht irgendwann mal kommt, aber da will ich nichts versprechen)....
Da bräuchtest du das SMLUSB-Modul statt dem OBIS.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Crawler am 28 Februar 2016, 22:11:47
Habe heute einen merkwürdigen Effekt nach dem Update festgestellt
Nach Update des raspi und fhem funktionierte nix mehr daher habe ich eine alte cfg geladen.

Wenn ich jetzt den OBIS definiere stürzt FHEM ab.

*Serial ist garantiert aus
*Signal auf RX hab ich auch schon entfernt
*GPIO Modul ist auch aus
*Dateien haben alle die richtigen Rechte
mehr fällt mir nicht ein

Keine Fehlermeldung nix  :'(
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 28 Februar 2016, 22:25:46
Stefan will heute noch eine neue Modulversion einchecken; evtl. morgen nochmal updaten.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 29 Februar 2016, 11:16:40
So, sorry, hatte bis heute gedauert....
Hab die neue Version mit dem Attribut "pollingMode" grade eingecheckt.
Falls die Prozessorlast bei Systemen, wo der Meter ständig sendet, zu hoch ist, kann hiermit von eventbasierter Auswertung auf den Poll-Mode umgeschaltet werden.
Damit wird die Schnittstelle dann nur ca. alle 5 Sekunden abgefragt.

lg, Stefan

@Crawler: Was steht bei Verbose5 im Log?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 02 März 2016, 18:15:11
Hi Stefan,

das neue Attribut hat scheinbar keine Auswirkung auf die Performance(bei mir). Ob on oder off, mein Rpi rödelt. Im Gegensatz zu dem Zustand, wenn ich FHEM ohne den Zähler und OBIS laufen lasse. Kann ich dazu noch etwas konkretes testen ?

Die unschönen Nullwerte bei der Gesamtleistung(channel "1") treten auch immer noch auf. Nicht doch besser für Zähler ohne Ausgabe dieses channels den Wert weglassen und stattdessen über ein userReading definieren ?

Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 02 März 2016, 19:28:19
Hallo Markus,

Zu 1: Interval hast du gesetzt? Und pollingMode auf "on"?
Wenn ja, dann mach mal bitte ein V4. Dann sollte eigentlich wirklich nur alle <interval> Sekunden Daten in Log geschrieben werden.

Zu 2:
ZitatDie unschönen Nullwerte bei der Gesamtleistung(channel "1") treten auch immer noch auf.
Welche Nullwerte? Dürfte eigentlich nicht sein, ich aktualisiere eigentlich nur jene Readings, die auch über die Schnittstelle reinkommen.
Ausser, du hast als MeterTyp "Hager", dann werden alle 3 Phasen aufsummiert und ins Reading "power" geschrieben.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Crawler am 02 März 2016, 20:28:23
Gerade nochmal getestet.
Wie schon gesagt es gibt keine Fehlermeldung fhem stürzt einfach ab.
Ich habe mal ein video gedreht ich denke nicht das es am OBIS Modul liegt sondern irgendwas an den rechten in Debian geändert worden ist bezüglich der Serial Schnittstelle im rpi  :-X

mit minicom ist alles normal auch der neustart ist möglich
kann man fhem irgendwie testweise als root starten?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 02 März 2016, 20:35:21
Hmm, das is ja strange....Seit wann ist das so?
Dass an den Schnittstellen-Rechten was geändert wurde, glaube ich eher nicht.

Ich stell dir mal ne spezielle Version mit nem Haufen Log-Ausgaben zusammen und schick dir die als PN...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Crawler am 02 März 2016, 21:03:35
Seit dem Raspbian update am 29.02
Vielleicht ist auch wieder irgendwas im update schief gelaufen.
Hatte ich inzwischen schon so oft bei Linux 😂
Ich setze morgen mal eine alternative Sd Karte mit aktuellem raspbian auf
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 03 März 2016, 08:47:45
ZitatZu 1: Interval hast du gesetzt? Und pollingMode auf "on"?
Wenn ja, dann mach mal bitte ein V4. Dann sollte eigentlich wirklich nur alle <interval> Sekunden Daten in Log geschrieben werden.
Beides gesetzt. Log und Events sind ja gem. interval OK(auch wenn manchmal mehrfach). Aber die Performance sieht mit top trotz pollingMode=on unverändert übel aus  :'( verbose 4 bringt korrekterweise im Intervall interval einen Eintrag "internal timer...."

@willybauss: wie sieht es denn bei Dir mit der Performance aus ? Im SMLUSB-Thread hattest Du Dich sehr positiv über einen Performancegewinn geäußert.

ZitatWelche Nullwerte? Dürfte eigentlich nicht sein, ich aktualisiere eigentlich nur jene Readings, die auch über die Schnittstelle reinkommen.
Ausser, du hast als MeterTyp "Hager", dann werden alle 3 Phasen aufsummiert und ins Reading "power" geschrieben.

Ja eben Hager. Du hattest ja auf meinen Hinweis(Post#49) für Hager-Zähler Power=Summe der Phasenleistungen eingebaut. Bringt aber leider auch Nullwerte(siehe mein Post #74)

@crawler: vielleicht das Problem, welches ich in Post #64 bzgl. FHEM-Start mit gesetztem Attribut interval beschrieben hatte ? Ggfs. mal weglassen ?

Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 03 März 2016, 12:25:44
Zitat von: KölnSolar am 03 März 2016, 08:47:45
@willybauss: wie sieht es denn bei Dir mit der Performance aus ? Im SMLUSB-Thread hattest Du Dich sehr positiv über einen Performancegewinn geäußert.
Bei mir war die Performance bis gerade eben perfekt - kein Unterschied mit/ohne OBIS-Modul. Allerdings habe ich bis jetzt mit der vorab-Version gearbeitet, die mir Stefan vor dem Release zum Test geschickt hatte. Habe jetzt grade ein


update 47_OBIS
shutdown restart



gemacht. Und sofort war die Performance wieder mies: 7 - 15% CPU-Last.


@ Stefan:
Es muss einen Unterscheid geben zwischen meiner Vorab-Version und der endgültig eingecheckten Version.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 03 März 2016, 12:37:51
... und wieder die Vorab-Version installiert - schwups ist die Performance wieder perfekt.


Damit ist auch der Verdacht ausgeräumt, es könnte an meinem Remote-Zugriff über Shell-in-a-Box liegen.
Ich kann heute Abend mal einen Diff machen. Bin grade auf Arbeit und deshalb nur begrenzt einsatzfähig.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 03 März 2016, 12:52:02
1)Zu dem Hager-Typ mit Summierung: Besser wärs sicher, das mittels Userreading zu lösen.
    Mit einem Trigger auf L3 am besten.

2) Das mit der Performance schau ich mir heute abend an, sobald ich daheim bin.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: immi am 03 März 2016, 16:53:48
Hi Stefan
ich kann nicht 100% verstehen codeline 152
if ($hash->{helper}{EoM}!=1 && $hash->{helper}{DEVICES}[1]>0) {OBIS_Parse($hash,$buf);}

$hash->{helper}{DEVICES}[1] ist bei Unknown immer -1  (codeline 97)
und damit haben wir kein Parse

danke
immi
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 03 März 2016, 20:42:56
Hallo,

Immi, du hast recht, die Prüfung auf $hash->{helper}{DEVICES}[1] ist unnötig.
Habe ich soeben entfernt.

Beim pollingMode war mir leider eine Zeile abhanden gekommen, das ist auch gefixt.

Und das alignTime-Attrigut funktioniert jetzt auch so wie geplant :D

Update ist grade eingecheckt, kommt ab morgen früh mit dem Update.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 03 März 2016, 20:45:57
prima.


@ KölnSolar:
Sag bitte Bescheid, wenn's geht und die Performance ok ist. Bis dahin bleibe ich sicherheitshalber bei der Vorabversion  ;) ...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 03 März 2016, 21:46:42
Konnte nicht bis morgen warten  :)

Sieht gut aus. FHEM(perl) ist in top kaum noch zu sehen  ;) Danke Stefan.

Für Hager solltest Du den kumulierten Leistungswert rausnehmen. Dank Deinem Hinweis(userReadings waren mir noch nicht bekannt )funktioniert es mit userReadings perfekt.

Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 04 März 2016, 05:32:12
Guten Morgen,

freut mich, dass jetzt klappt.

Hager ist ab morgen früh Geschichte ^^

lg, Stefab
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: immi am 04 März 2016, 11:07:13
Hallo Stefan
danke
Alea iacta est: Ich habe entschieden meine 2 ISKRA-MT681 auszulesen
ich habe eine billige IR schaltung + ein SER2net mit ein ESP8266 gebaut

bekomme ich die ganze daten in FHEM aber ohne \r\n

ich brauche mehr Zeit zu debuggen
Es kann sein, dass ich dich wierder nerven muss für ein patch :)

l.g
Immi

p.s.
\r = CR = carriage return = ASCII code 13 (decimal), 015 (octal), 0d (hex)
\n = LF = line feed = ASCII code 10 (decimal), 012 (octal), 0a (hex)
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Crawler am 04 März 2016, 13:33:44
Hätte auch noch einen Vorschlag  ::)
Beim Easymeter steht bei MeterType Unknown
sieht ein wenig merkwürdig aus.
steht nur beim hager das was?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 04 März 2016, 14:37:13
Naja,
wird halt bei allen optionalen Angaben des MeterType(derzeit VSM102,E110,Hager) entsprechend gefüllt. Keine Angabe=unknown.

Vielleicht könnte man ja einen type "Standard" bei Nichtangabe setzen, was dann für alle Zählertypen nutzbar ist, die keine Sonderbehandlung(z.B. Hager) per Modul erfahren. Aber das ist Stefans Entscheidung.

Was war denn die Lösung für Dein Absturz-Problem ?


Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 04 März 2016, 20:21:27
ZitatBeim Easymeter steht bei MeterType Unknown sieht ein wenig merkwürdig aus.

Wie Markus schon sagte, steht nur bei zB Hager, VSM102 usw. was anderes in dem Internal. Ist halt einfach ein unbekannter Zählertyp für das Modul :)

"Standard" klingt aber auch gut, kann ich gerne so übernehmen.

Zitatbekomme ich die ganze daten in FHEM aber ohne \r\n
Hmm, irgendeine Zeilentrennung wirds ja geben, oder?
Schick mir einfach mal ein paar Beispiel-Datensätze, dann schau ich, was da zu machen ist.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Crawler am 04 März 2016, 20:33:50
@Köln Star
Ich hatte das Easymeter Modul zwischenzeitlich nochmal geändert und test_def | test_undef usw geschrieben gehabt.
bis zum update und neustart hatte es keine Probleme gemacht.
Scheinbar mochte perl.pl das überhaupt nicht auch wenn das Modul nicht aufgerufen wurde.
Irgendwann mit verbose 5 und ein Versuch Easymeter zu laden hatte ich dann doch mal einen Log Eintrag vor Absturz der wie folgt hieß.
Undefined subroutine &main::test_Define called at fhem.pl line 3147.

alle test wieder richtig benannt gehen wieder beide module.

Eine andere Erklärung habe ich leider nicht gefunden.
manchmal bastelt man solange an allem bis es wieder geht :D
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 04 März 2016, 20:45:32
Die xx_define und xx_undef etc. müssen genauso wie das Modul heissen.

Du hättest also auch das Modul selbst nach xx_test.pm unbenennen müssen.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Crawler am 04 März 2016, 20:55:05
War es auch dann kam dein Modul und ich hatte meins nur halbherzig zurück geändert  ::)
Das merkwürdige war halt das selbst das OBIS modul davon beeinflusst wurde. ???
Vielleicht wäre das aber auch bei allen define passiert das hab ich nicht getestet.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: immi am 04 März 2016, 23:25:35
Zitat von: Icinger am 04 März 2016, 20:21:27
Hmm, irgendeine Zeilentrennung wirds ja geben, oder?
Schick mir einfach mal ein paar Beispiel-Datensätze, dann schau ich, was da zu machen ist.
Hi Stefan
ISKRA MT681 ist von Udo  sehr gut bescrieben hier
https://www.mail-archive.com/volkszaehler-users@demo.volkszaehler.org/msg03244.html (https://www.mail-archive.com/volkszaehler-users@demo.volkszaehler.org/msg03244.html)
Ich ahbe meine Logs verglichen und Udo's erklärung passt sehr gut.
Datensätze starten immer mit 1B1B1B1B01010101
Datensätze enden immer mit  1B1B1B1B1Axxxxxx  wo  1B1B1B1B1A ist fest und xxxxxx ist ein CRC.
gruß
immi
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Crawler am 05 März 2016, 01:35:39
sieht für mich nach SML aus
https://de.wikipedia.org/wiki/Smart_Message_Language
und damit wieder ein Fall für SMLUSB

Das Obis bekommt Klartext Daten zb
/ESY5Q3DB1024 V3.04

1-0:0.0.0*255(0272160155556)
1-0:1.8.0*255(00000792.5617691*kWh)
1-0:2.8.0*255(00002394.6904431*kWh)
1-0:21.7.0*255(000013.06*W)
1-0:41.7.0*255(000029.72*W)
1-0:61.7.0*255(000184.51*W)
1-0:1.7.0*255(000227.29*W)
1-0:96.5.5*255(80)
0-0:96.1.255*255(1ESY1160155556)
!


Mir ist gerade aufgefallen das SMLUSB nicht in der commandref auftaucht
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 05 März 2016, 05:42:40
Guten Morgen,

@immi: Das ist, wie Crawler schon sagt, SML. Das kannst du mit dem SMLUSB-Modul machen. Siehe Wiki.
Ich habe matzefisi eh schon angeboten, uns zusammen zu tun, um beides in ein Modul zusammenzulegen.
Mal schaun, was er dazu sagt.

In der Englischen commandref sollte das SMLUSB eigentlich auftauchen, soweit ich sehe.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: immi am 05 März 2016, 08:03:49
Hi Crawler
thanks for your explanation.
I was too busy searching a bug in the ser2net of esp8266, that I have not considered that 47_OBIS
didn'support ISKRA MT681  :)
I will have a look to the  SMLUSB.

Hi Stefan
For me it was very misleading following
Zitat von: Icinger am 31 Januar 2016, 19:29:00
Bei define kann nach der Schnittstelle zusätzlich das Gerät angegeben werden. Bislang ist
-) "VSM102" für den Voltcraft VSM102
-) "MT681" für das ISKRA MT681
verfügbar.
maybe you can take away my energy meeter until a potential merging of the modules takes place.
A merging makes sense and it is not a big effort. At least, the Readings names for energy meeters should be consistent in FHEM.
thanks for your effort.
immi

p.s.
I like in 47_obis that you separate the Parsing subroutine.
I like in 70_SMLUSB that immediately the data is converted in a string.
$hash->{helper}{PARTIAL} .= uc(unpack('H*',$mybuf));
is for me better than
$hash->{helper}{BUFFER} .= $buf;

de gustibus non disputandum est
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 05 März 2016, 15:54:29
Hi Immi,

seems there exist different Versions of the MT681, since willibaus has one, that puts out its data als plain Text whereas yours sends the Data as SML-encoded.

That's the reason, why my Buffer's just concenated and the SMLUSB needs an unpack().

Cheers, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 05 März 2016, 20:23:50
I'm not the one having a MT681. But I remember that one of the early adopters uses a MT681 talking in D0 (uncoded ascii).
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 06 März 2016, 19:27:22
Hat vielleicht der eine oder andere von euch ein paar Plain-SML-Messages für mich?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: immi am 06 März 2016, 20:34:19
Hi Stefan
I got my system running patching SMLUSB
source code here
https://forum.fhem.de/index.php/topic,14117.msg420590.html#msg420590

Actually, if we want to merge the codes, we just have to copy part of  the "SMLUSB_Read" and the whole "SMLUSB_Parse";.
But this should not be done without the explicit permission of Matzefisi.

p.s. you wanted a sml telegram
look here https://forum.fhem.de/index.php/topic,14117.msg95347.html#msg95347
or here https://www.mail-archive.com/volkszaehler-users@demo.volkszaehler.org/msg03244.html

immi
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 07 März 2016, 07:54:52
Hi Stefan,

weil meine Plots recht langsam wurden, habe ich mal alle Events(VLeistung_X und Momentanleistung sind userReadings) gelogged:

2016-03-06_21:26:23 zaehler total_consumption: 5621.7067
2016-03-06_21:26:23 zaehler total_feed: 31094.3371
2016-03-06_21:26:23 zaehler Spannung_U1: 229.14
2016-03-06_21:26:23 zaehler Spannung_U2: 231
2016-03-06_21:26:23 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:26:23 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:26:23 zaehler statTotal_consumption: Hour: 0.1187 Day: 1.7438 Month: 1.7438 Year: 1.7438 (since:  )
2016-03-06_21:26:23 zaehler statTotal_consumptionDay: 1.7438
2016-03-06_21:26:23 zaehler Spannung_U3: 228.74
2016-03-06_21:26:23 zaehler Strom_I1: 0.51
2016-03-06_21:26:23 zaehler Strom_I2: 0.45
2016-03-06_21:26:23 zaehler Strom_I3: 0.83
2016-03-06_21:26:23 zaehler Leistung_W1: 73
2016-03-06_21:26:23 zaehler Leistung_W2: 61
2016-03-06_21:26:23 zaehler Leistung_W3: 189
2016-03-06_21:26:23 zaehler VLeistung_W1: 73
2016-03-06_21:26:23 zaehler VLeistung_W2: 61
2016-03-06_21:26:23 zaehler VLeistung_W3: 189
2016-03-06_21:26:23 zaehler Momentanleistung: 323
2016-03-06_21:26:23 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:26:23 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:26:23 zaehler statTotal_consumption: Hour: 0.1187 Day: 1.7438 Month: 1.7438 Year: 1.7438 (since:  )
2016-03-06_21:26:23 zaehler statTotal_consumptionDay: 1.7438
2016-03-06_21:26:23 zaehler VLeistung_W1: 73
2016-03-06_21:26:23 zaehler VLeistung_W2: 61
2016-03-06_21:26:23 zaehler VLeistung_W3: 189
2016-03-06_21:26:23 zaehler Momentanleistung: 323
2016-03-06_21:26:23 zaehler total_consumption: 5621.7069
2016-03-06_21:26:23 zaehler total_feed: 31094.3371
2016-03-06_21:26:23 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:26:23 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:26:23 zaehler statTotal_consumption: Hour: 0.1189 Day: 1.7440 Month: 1.7440 Year: 1.7440 (since:  )
2016-03-06_21:26:23 zaehler statTotal_consumptionDay: 1.7440
2016-03-06_21:26:24 zaehler Spannung_U1: 229.07
2016-03-06_21:26:24 zaehler Spannung_U2: 231.02
2016-03-06_21:26:24 zaehler Spannung_U3: 228.55
2016-03-06_21:26:24 zaehler Strom_I1: 0.52
2016-03-06_21:26:24 zaehler Strom_I2: 0.45
2016-03-06_21:26:24 zaehler Strom_I3: 0.83
2016-03-06_21:26:24 zaehler Leistung_W1: 74
2016-03-06_21:26:24 zaehler Leistung_W2: 61
2016-03-06_21:26:24 zaehler Leistung_W3: 189
2016-03-06_21:26:24 zaehler VLeistung_W1: 74
2016-03-06_21:26:24 zaehler VLeistung_W2: 61
2016-03-06_21:26:24 zaehler VLeistung_W3: 189
2016-03-06_21:26:24 zaehler Momentanleistung: 324
2016-03-06_21:26:24 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:26:24 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:26:24 zaehler statTotal_consumption: Hour: 0.1189 Day: 1.7440 Month: 1.7440 Year: 1.7440 (since:  )
2016-03-06_21:26:24 zaehler statTotal_consumptionDay: 1.7440
2016-03-06_21:26:24 zaehler VLeistung_W1: 74
2016-03-06_21:26:24 zaehler VLeistung_W2: 61
2016-03-06_21:26:24 zaehler VLeistung_W3: 189
2016-03-06_21:26:24 zaehler Momentanleistung: 324
2016-03-06_21:26:24 zaehler total_consumption: 5621.7071
2016-03-06_21:26:24 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:26:24 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:26:24 zaehler statTotal_consumption: Hour: 0.1191 Day: 1.7442 Month: 1.7442 Year: 1.7442 (since:  )
2016-03-06_21:26:24 zaehler statTotal_consumptionDay: 1.7442
2016-03-06_21:26:24 zaehler total_feed: 31094.3371
2016-03-06_21:26:24 zaehler Spannung_U1: 229.11
2016-03-06_21:26:24 zaehler Spannung_U2: 231.08
2016-03-06_21:26:24 zaehler Spannung_U3: 228.59
2016-03-06_21:26:24 zaehler Strom_I1: 0.51
2016-03-06_21:26:24 zaehler Strom_I2: 0.46
2016-03-06_21:26:24 zaehler Strom_I3: 0.83
2016-03-06_21:26:24 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:26:24 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:26:24 zaehler statTotal_consumption: Hour: 0.1191 Day: 1.7442 Month: 1.7442 Year: 1.7442 (since:  )
2016-03-06_21:26:24 zaehler statTotal_consumptionDay: 1.7442
2016-03-06_21:26:24 zaehler Leistung_W1: 72
2016-03-06_21:26:24 zaehler Leistung_W2: 63
2016-03-06_21:26:24 zaehler Leistung_W3: 189
2016-03-06_21:26:24 zaehler VLeistung_W1: 72
2016-03-06_21:26:24 zaehler VLeistung_W2: 63
2016-03-06_21:26:24 zaehler VLeistung_W3: 189
2016-03-06_21:26:24 zaehler Momentanleistung: 324
2016-03-06_21:26:24 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:26:24 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:26:24 zaehler statTotal_consumption: Hour: 0.1191 Day: 1.7442 Month: 1.7442 Year: 1.7442 (since:  )
2016-03-06_21:26:24 zaehler statTotal_consumptionDay: 1.7442
2016-03-06_21:26:24 zaehler VLeistung_W1: 72
2016-03-06_21:26:24 zaehler VLeistung_W2: 63
2016-03-06_21:26:24 zaehler VLeistung_W3: 189
2016-03-06_21:26:24 zaehler Momentanleistung: 324
2016-03-06_21:27:20 zaehler total_consumption: 5621.711
2016-03-06_21:27:20 zaehler total_feed: 31094.3371
2016-03-06_21:27:20 zaehler Spannung_U1: 229.09
2016-03-06_21:27:20 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:27:20 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:27:20 zaehler statTotal_consumption: Hour: 0.1230 Day: 1.7481 Month: 1.7481 Year: 1.7481 (since:  )
2016-03-06_21:27:20 zaehler statTotal_consumptionDay: 1.7481
2016-03-06_21:27:21 zaehler Spannung_U2: 231.16
2016-03-06_21:27:21 zaehler Spannung_U3: 228.55
2016-03-06_21:27:21 zaehler Strom_I1: 0.52
2016-03-06_21:27:21 zaehler Strom_I2: 0.49
2016-03-06_21:27:21 zaehler Strom_I3: 0.75
2016-03-06_21:27:21 zaehler Leistung_W1: 75
2016-03-06_21:27:21 zaehler Leistung_W2: 67
2016-03-06_21:27:21 zaehler Leistung_W3: 169
2016-03-06_21:27:21 zaehler VLeistung_W1: 75
2016-03-06_21:27:21 zaehler VLeistung_W2: 67
2016-03-06_21:27:21 zaehler VLeistung_W3: 169
2016-03-06_21:27:21 zaehler Momentanleistung: 311
2016-03-06_21:27:21 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:27:21 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:27:21 zaehler statTotal_consumption: Hour: 0.1230 Day: 1.7481 Month: 1.7481 Year: 1.7481 (since:  )
2016-03-06_21:27:21 zaehler statTotal_consumptionDay: 1.7481
2016-03-06_21:27:21 zaehler VLeistung_W1: 75
2016-03-06_21:27:21 zaehler VLeistung_W2: 67
2016-03-06_21:27:21 zaehler VLeistung_W3: 169
2016-03-06_21:27:21 zaehler Momentanleistung: 311
2016-03-06_21:27:21 zaehler total_consumption: 5621.7112
2016-03-06_21:27:21 zaehler total_feed: 31094.3371
2016-03-06_21:27:21 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:27:21 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:27:21 zaehler statTotal_consumption: Hour: 0.1232 Day: 1.7483 Month: 1.7483 Year: 1.7483 (since:  )
2016-03-06_21:27:21 zaehler statTotal_consumptionDay: 1.7483
2016-03-06_21:27:21 zaehler Spannung_U1: 229.15
2016-03-06_21:27:21 zaehler Spannung_U2: 231.14
2016-03-06_21:27:21 zaehler Spannung_U3: 228.57
2016-03-06_21:27:21 zaehler Strom_I1: 0.52
2016-03-06_21:27:21 zaehler Strom_I2: 0.49
2016-03-06_21:27:21 zaehler Strom_I3: 0.75
2016-03-06_21:27:21 zaehler Leistung_W1: 75
2016-03-06_21:27:21 zaehler Leistung_W2: 67
2016-03-06_21:27:21 zaehler Leistung_W3: 169
2016-03-06_21:27:21 zaehler VLeistung_W1: 75
2016-03-06_21:27:21 zaehler VLeistung_W2: 67
2016-03-06_21:27:21 zaehler VLeistung_W3: 169
2016-03-06_21:27:21 zaehler Momentanleistung: 311
2016-03-06_21:27:21 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:27:21 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:27:21 zaehler statTotal_consumption: Hour: 0.1232 Day: 1.7483 Month: 1.7483 Year: 1.7483 (since:  )
2016-03-06_21:27:21 zaehler statTotal_consumptionDay: 1.7483
2016-03-06_21:27:21 zaehler VLeistung_W1: 75
2016-03-06_21:27:21 zaehler VLeistung_W2: 67
2016-03-06_21:27:21 zaehler VLeistung_W3: 169
2016-03-06_21:27:21 zaehler Momentanleistung: 311
2016-03-06_21:27:21 zaehler total_consumption: 5621.7114
2016-03-06_21:27:21 zaehler total_feed: 31094.3371
2016-03-06_21:27:21 zaehler Spannung_U1: 228.98
2016-03-06_21:27:21 zaehler Spannung_U2: 231.11
2016-03-06_21:27:21 zaehler Spannung_U3: 228.58
2016-03-06_21:27:21 zaehler Strom_I1: 0.52
2016-03-06_21:27:21 zaehler Strom_I2: 0.49
2016-03-06_21:27:21 zaehler Strom_I3: 0.75
2016-03-06_21:27:21 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:27:21 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:27:21 zaehler statTotal_consumption: Hour: 0.1234 Day: 1.7485 Month: 1.7485 Year: 1.7485 (since:  )
2016-03-06_21:27:21 zaehler statTotal_consumptionDay: 1.7485
2016-03-06_21:27:21 zaehler Leistung_W1: 75
2016-03-06_21:27:21 zaehler Leistung_W2: 68
2016-03-06_21:27:21 zaehler Leistung_W3: 169
2016-03-06_21:27:21 zaehler VLeistung_W1: 75
2016-03-06_21:27:21 zaehler VLeistung_W2: 68
2016-03-06_21:27:21 zaehler VLeistung_W3: 169
2016-03-06_21:27:21 zaehler Momentanleistung: 312
2016-03-06_21:27:21 zaehler statTotal_feed: Hour: 0.0000 Day: 7.1410 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-06_21:27:21 zaehler statTotal_feedDay: 7.1410
2016-03-06_21:27:21 zaehler statTotal_consumption: Hour: 0.1234 Day: 1.7485 Month: 1.7485 Year: 1.7485 (since:  )
2016-03-06_21:27:21 zaehler statTotal_consumptionDay: 1.7485
2016-03-06_21:27:21 zaehler VLeistung_W1: 75
2016-03-06_21:27:21 zaehler VLeistung_W2: 68
2016-03-06_21:27:21 zaehler VLeistung_W3: 169
2016-03-06_21:27:21 zaehler Momentanleistung: 312


Wie Du siehst, gibt es trotz interval=60 Mehrfacheinträge zur selben Zeit. Die Hintergründe erschließen sich mir nicht ganz. Tw. scheint es durch Einsatz des Statistikmoduls zu sein, tw. aber direkt aus dem OBIS-Modul. Eine Idee zur Lösung ?

Außerdem hatte ich 2 Readings Unknown_Channel_96 und Unknown_Channel_961. Die wurden doch bis dato immer überlesen/ignoriert oder ?

Und schließlich hatte ich einmal einen Wert > 1 Mio. in meinem Log. Vermutlich einfach nur ein Fehler in der Datenübertragung. Das hat mich aber zu dem Gedanken veranlasst, ob nicht der Einbau einer Plausibilitätsprüfung Sinn machen würde. Bei Strömen > 100A, Spannung > 1000V und Leistung > 100.000 W kein Update des Readings, sondern Log-Eintrag. Dasselbe natürlich dann auch mit negativem Vorzeichen.

Schönen Wochenstart
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 07 März 2016, 08:22:29
Hi Markus,

Upps, stimmt, falls im Gerätebuffer noch ne zweite Meldung ist, kann das passieren.

Füg mal bitte im Modul bei Zeile 211-212 folgendes ein, dann ein Reload, und schau mal. Eigentlich dürfte es danach nimmer passieren :)
if($hash->{helper}{EoM}==1) { $hash->{helper}{BUFFER}="";return $name;}

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 07 März 2016, 08:42:08
gesagt getan:

(ohne Events des Statistikmoduls)
2016-03-07_08:29:12 zaehler total_consumption: 5623.3929
2016-03-07_08:29:12 zaehler total_feed: 31094.3371
2016-03-07_08:29:12 zaehler Spannung_U1: 231.34
2016-03-07_08:29:12 zaehler Spannung_U2: 232.99
2016-03-07_08:29:12 zaehler Spannung_U3: 230.19
2016-03-07_08:29:12 zaehler Strom_I1: 0.69
2016-03-07_08:29:12 zaehler Strom_I2: 0.62
2016-03-07_08:29:12 zaehler Strom_I3: 0.77
2016-03-07_08:29:12 zaehler Leistung_W1: 104
2016-03-07_08:29:12 zaehler VLeistung_W1: 104
2016-03-07_08:29:12 zaehler VLeistung_W1: 104
2016-03-07_08:29:12 zaehler Leistung_W2: -57
2016-03-07_08:29:12 zaehler VLeistung_W2: 12
2016-03-07_08:29:12 zaehler VLeistung_W2: 12
2016-03-07_08:29:12 zaehler Leistung_W3: 165
2016-03-07_08:29:12 zaehler VLeistung_W3: 206
2016-03-07_08:29:12 zaehler Momentanleistung: 212
2016-03-07_08:29:12 zaehler VLeistung_W3: 206
2016-03-07_08:29:12 zaehler Momentanleistung: 212


(unübersichtlicher mit Events des Statistikmoduls)
2016-03-07_08:29:12 zaehler total_consumption: 5623.3929
2016-03-07_08:29:12 zaehler statTotal_feed: Hour: 0.0000 Day: 0.0000 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-07_08:29:12 zaehler statTotal_feedDay: 0.0000
2016-03-07_08:29:12 zaehler statTotal_consumption: Hour: 0.0602 Day: 1.2199 Month: 3.4300 Year: 3.4300 (since:  )
2016-03-07_08:29:12 zaehler statTotal_consumptionDay: 1.2199
2016-03-07_08:29:12 zaehler total_feed: 31094.3371
2016-03-07_08:29:12 zaehler statTotal_feed: Hour: 0.0000 Day: 0.0000 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-07_08:29:12 zaehler statTotal_feedDay: 0.0000
2016-03-07_08:29:12 zaehler statTotal_consumption: Hour: 0.0602 Day: 1.2199 Month: 3.4300 Year: 3.4300 (since:  )
2016-03-07_08:29:12 zaehler statTotal_consumptionDay: 1.2199
2016-03-07_08:29:12 zaehler Spannung_U1: 231.34
2016-03-07_08:29:12 zaehler statTotal_feed: Hour: 0.0000 Day: 0.0000 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-07_08:29:12 zaehler statTotal_feedDay: 0.0000
2016-03-07_08:29:12 zaehler statTotal_consumption: Hour: 0.0602 Day: 1.2199 Month: 3.4300 Year: 3.4300 (since:  )
2016-03-07_08:29:12 zaehler statTotal_consumptionDay: 1.2199
2016-03-07_08:29:12 zaehler Spannung_U2: 232.99
2016-03-07_08:29:12 zaehler statTotal_feed: Hour: 0.0000 Day: 0.0000 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-07_08:29:12 zaehler statTotal_feedDay: 0.0000
2016-03-07_08:29:12 zaehler statTotal_consumption: Hour: 0.0602 Day: 1.2199 Month: 3.4300 Year: 3.4300 (since:  )
2016-03-07_08:29:12 zaehler statTotal_consumptionDay: 1.2199
2016-03-07_08:29:12 zaehler Spannung_U3: 230.19
2016-03-07_08:29:12 zaehler statTotal_feed: Hour: 0.0000 Day: 0.0000 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-07_08:29:12 zaehler statTotal_feedDay: 0.0000
2016-03-07_08:29:12 zaehler statTotal_consumption: Hour: 0.0602 Day: 1.2199 Month: 3.4300 Year: 3.4300 (since:  )
2016-03-07_08:29:12 zaehler statTotal_consumptionDay: 1.2199
2016-03-07_08:29:12 zaehler Strom_I1: 0.69
2016-03-07_08:29:12 zaehler statTotal_feed: Hour: 0.0000 Day: 0.0000 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-07_08:29:12 zaehler statTotal_feedDay: 0.0000
2016-03-07_08:29:12 zaehler statTotal_consumption: Hour: 0.0602 Day: 1.2199 Month: 3.4300 Year: 3.4300 (since:  )
2016-03-07_08:29:12 zaehler statTotal_consumptionDay: 1.2199
2016-03-07_08:29:12 zaehler Strom_I2: 0.62
2016-03-07_08:29:12 zaehler statTotal_feed: Hour: 0.0000 Day: 0.0000 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-07_08:29:12 zaehler statTotal_feedDay: 0.0000
2016-03-07_08:29:12 zaehler statTotal_consumption: Hour: 0.0602 Day: 1.2199 Month: 3.4300 Year: 3.4300 (since:  )
2016-03-07_08:29:12 zaehler statTotal_consumptionDay: 1.2199
2016-03-07_08:29:12 zaehler Strom_I3: 0.77
2016-03-07_08:29:12 zaehler Leistung_W1: 104
2016-03-07_08:29:12 zaehler VLeistung_W1: 104
2016-03-07_08:29:12 zaehler statTotal_feed: Hour: 0.0000 Day: 0.0000 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-07_08:29:12 zaehler statTotal_feedDay: 0.0000
2016-03-07_08:29:12 zaehler statTotal_consumption: Hour: 0.0602 Day: 1.2199 Month: 3.4300 Year: 3.4300 (since:  )
2016-03-07_08:29:12 zaehler statTotal_consumptionDay: 1.2199
2016-03-07_08:29:12 zaehler VLeistung_W1: 104
2016-03-07_08:29:12 zaehler Leistung_W2: -57
2016-03-07_08:29:12 zaehler VLeistung_W2: 12
2016-03-07_08:29:12 zaehler statTotal_feed: Hour: 0.0000 Day: 0.0000 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-07_08:29:12 zaehler statTotal_feedDay: 0.0000
2016-03-07_08:29:12 zaehler statTotal_consumption: Hour: 0.0602 Day: 1.2199 Month: 3.4300 Year: 3.4300 (since:  )
2016-03-07_08:29:12 zaehler statTotal_consumptionDay: 1.2199
2016-03-07_08:29:12 zaehler VLeistung_W2: 12
2016-03-07_08:29:12 zaehler Leistung_W3: 165
2016-03-07_08:29:12 zaehler VLeistung_W3: 206
2016-03-07_08:29:12 zaehler Momentanleistung: 212
2016-03-07_08:29:12 zaehler statTotal_feed: Hour: 0.0000 Day: 0.0000 Month: 7.1410 Year: 7.1410 (since:  )
2016-03-07_08:29:12 zaehler statTotal_feedDay: 0.0000
2016-03-07_08:29:12 zaehler statTotal_consumption: Hour: 0.0602 Day: 1.2199 Month: 3.4300 Year: 3.4300 (since:  )
2016-03-07_08:29:12 zaehler statTotal_consumptionDay: 1.2199
2016-03-07_08:29:12 zaehler VLeistung_W3: 206
2016-03-07_08:29:12 zaehler Momentanleistung: 212


Scheint zu funktionieren. Nur: was veranstaltet das Statistikmodul ???? Update bei JEDEM Event und nicht nur den definierten total_consumption und total_feed ! Ich denke aber mal, dass das ein Problem des statistics-Moduls ist.

Danke für die schnelle Abhilfe
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 07 März 2016, 08:46:56
Wie sieht denn deine Def vom statistics aus?
Am besten mal ein LIST machen bitte.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 07 März 2016, 09:11:49
Hab jetzt nochmal ein shutdown restart gemacht und schon sieht es etwas besser aus:

2016-03-07_09:00:53 zaehler total_consumption: 5623.4021
2016-03-07_09:00:53 zaehler total_feed: 31094.5524
2016-03-07_09:00:53 zaehler Spannung_U1: 231.22
2016-03-07_09:00:53 zaehler Spannung_U2: 233.85
2016-03-07_09:00:53 zaehler statTotal_feed: Hour: 0.0213 Day: 0.2153 Month: 7.3563 Year: 7.3563 (since:  )
2016-03-07_09:00:53 zaehler statTotal_feedDay: 0.2153
2016-03-07_09:00:53 zaehler statTotal_consumption: Hour: 0.0000 Day: 1.2291 Month: 3.4392 Year: 3.4392 (since:  )
2016-03-07_09:00:53 zaehler statTotal_consumptionDay: 1.2291
2016-03-07_09:00:53 zaehler Spannung_U3: 230.25
2016-03-07_09:00:53 zaehler Strom_I1: 0.69
2016-03-07_09:00:53 zaehler Strom_I2: 4.17
2016-03-07_09:00:53 zaehler Strom_I3: 3.44
2016-03-07_09:00:53 zaehler Leistung_W1: 105
2016-03-07_09:00:53 zaehler Leistung_W2: -959
2016-03-07_09:00:53 zaehler Leistung_W3: -771
2016-03-07_09:00:53 zaehler VLeistung_W1: 105
2016-03-07_09:00:53 zaehler VLeistung_W2: 0
2016-03-07_09:00:53 zaehler VLeistung_W3: 49
2016-03-07_09:00:53 zaehler Momentanleistung: -1625
2016-03-07_09:00:53 zaehler statTotal_feed: Hour: 0.0213 Day: 0.2153 Month: 7.3563 Year: 7.3563 (since:  )
2016-03-07_09:00:53 zaehler statTotal_feedDay: 0.2153
2016-03-07_09:00:53 zaehler statTotal_consumption: Hour: 0.0000 Day: 1.2291 Month: 3.4392 Year: 3.4392 (since:  )
2016-03-07_09:00:53 zaehler statTotal_consumptionDay: 1.2291
2016-03-07_09:00:53 zaehler VLeistung_W1: 105
2016-03-07_09:00:53 zaehler VLeistung_W2: 0
2016-03-07_09:00:53 zaehler VLeistung_W3: 49
2016-03-07_09:00:53 zaehler Momentanleistung: -1625


Plausibel wegen mehrfacher Durchläufe im OBIS-Modul bis alle Werte "gefunden" ?

das list:
Internals:
   CFGFN      includeOther.cfgPI
   DEF        zaehler|Fron
   DEV_REGEXP zaehler|Fron
   NAME       stat_zaehler
   NR         510
   NTFY_ORDER 10-stat_zaehler
   PREFIX     stat
   STATE      Updated stats for: Fron
   TYPE       statistics
   Readings:
     2016-03-07 08:54:59   monitoredDevicesOBIS zaehler
     2016-03-07 08:54:59   monitoredDevicesUSBWRF Fron
     2016-03-07 08:59:55   nextPeriodChangeCalc 2016-03-07 09:59:55
     2016-03-07 09:07:06   state           Updated stats for: Fron
   Fhem:
     modulVersion $Date: 2015-12-03 18:21:21 +0100 (Thu, 03 Dec 2015) $
Attributes:
   deltaReadings total_consumption,total_feed,Wert_WR1_18,Wert_WR2_18
   room       Energie
   singularReadings zaehler:total_consumption:Delta:Day|zaehler:total_feed:Delta:Day|Fron:Wert_WR1_18:Delta:Day|Fron:Wert_WR1_18:Delta:Hour|Fron:Wert_WR2_18:Delta:Day


Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 07 März 2016, 10:09:23
Hmm, sieht eigentlich ganz gut aus.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 07 März 2016, 21:34:48
Wenn wir grade dabei sind: ich habe gestern auf die releaste Modulversion upgedatet, und heute finde ich mehrfach sowas im Logfile:

2016.03.07 08:33:14 3: OBIS (Hausstrom_Zaehler) - Unknown OBIS-Message, please report: 5----eHZ-E0028E
2016.03.07 12:36:15 3: OBIS (Hausstrom_Zaehler) - Unknown OBIS-Message, please report: 5----eHZ-E0028E


Eigentlich müsste eher sowas kommen:

Zitat/EMH5----eHZ-E0028E

Gibts dafür eine Erklärung?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 08 März 2016, 12:39:31
ZitatGibts dafür eine Erklärung?

Momentan nicht wirklich (bin arbeiten).
Werd ich mir heute abend mal anschaun.

Möchte eh noch eine Überprüfung auf valide Messages einbauen.
Da ich gerade dabei bin, das SMLUSB und OBIS zu mergen, passt die Überprüfung ganz gut rein.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: matzefisi am 08 März 2016, 19:06:14
Hi zusammen,

da immi gerade nochmal per PN fragte: Ich habe nichts gegen einen Merge der beiden Module und bin sogar dankbar dafür. :)

Sobald wir hier eine Laufende Version haben (ich biete mich gerne zum testen an) nehme ich dann mein Modul offline (vom Github und hier im Forum), da ich eh schon länger geplant hatte das mal im SVN zu veröffentlichen, aber nie die Zeit dazu gefunden habe.

MfG
Matzefisi
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 08 März 2016, 19:39:31
Supi, ist ja auch sinnvoller, nachdem OBIS und SML ja annähernd das selbe ist, nur anders codiert.

Ich habe dem schon mal vorgegriffen und gestern begonnen, einen SML-Decoder zu schreiben.

Die nächsten 3 Tage werd ich nicht zu viel kommen, aber dann hab ich langes Wochenende, da geht dann sicher was weiter.

Werde euch hier auf dem laufenden halten.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 08 März 2016, 20:33:16
So, habe mal ein Update commeted, welches die doppelten Readinge behebt und auch die Log-Meldungen von willy.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 08 März 2016, 22:17:24
super. Danke für Deine unermüdliche Arbeit und die immer zügige Reaktion  :).
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 09 März 2016, 07:43:27
Hi Stefan,
sicher, dass in der aktuellsten Version die Mehrfachupdates behoben sind ? Zumindest die Lösung für Zeile 211/212 ist nicht vorhanden und ich hab sie wieder lokal eingebaut.

Da ich auch sonst noch mit der Berechnung des tatsächlichen Verbrauchs kämpfe: Bei den pushenden Zählern stehen ja nach Ablauf des interval ne Masse an Daten an. "schmeißt" Du die weg und liest dann "frische" Daten zur Verarbeitung ein oder verarbeitest Du die "Altdaten" und schmeißt dann den Rest weg ? Im 2. Fall hätten wir ja einen Zeitverzug von ca. interval.

Einen sonnigen Tag
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 09 März 2016, 20:04:14
Hallo Markus,

das sollte schon stimmen, das sieht jetzt nur so aus:
   if($hash->{helper}{EoM}==1) { last;}
Damit springe ich zum Ende der Schleife, danach wird sowieso alle, was im Buffer ist, verworfen.

Zum Intervall:
Ich werte die erste komplette Message aus dem Puffer aus.
Da aber ja immer wieder (alle ca. 5 Sekunden) der Port ausgelesen wird, und die Daten so lange verworfen werden, bis das Intervall abgelaufen ist, sollte die Message doch sehr aktuell sein (bis max. -2 oder -3 Sekunden.)

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 09 März 2016, 21:52:42
jetzt bin ich baff. trotz erfolgreichem update hatte ich die alte Version. update soeben wiederholt und nun finde ich auch die von Dir angegebene Zeile. Und funktioniert !

Und danke für die Info zum Ablauf. So hatte ich mir das idealerweise vorgestellt ;-)

Hab in den letzten Tagen wieder einiges gelernt, z.B. dass userReadings in Kombi mit dem statistics Modul Probleme bereitet(mehrfach events). Morgen geht die Suche nach meinen Syncproblemen weiter..
Gute Nacht
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 10 März 2016, 05:35:53
Syncprobleme inwiefern?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 10 März 2016, 08:53:12
zwischen Zähler und Eigenerzeugung. Daraus berechne ich ja dann den tatsächlichen Verbrauch. Hab mir dafür jetzt ein neues userReading für mein Log angelegt, so dass ich beide Devices in einem Plot darstellen kann. Seit ner halben Stunde super synchron. Aber gestern hatte ich noch einen Zeitversatz von mehreren min. Zwischenzeitlich habe ich eine kleine Änderung für mein Eigenerzeugungsdevice durchgeführt. Ob es damit gelöst ist ? Sobald ich wieder Abweichungen feststelle, stelle ich mal den Plot ein.

Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 10 März 2016, 14:47:39
Zitat von: KölnSolar am 10 März 2016, 08:53:12
Seit ner halben Stunde super synchron.
Wenn das klappt verrate mir bitte, wie Du die beiden Zählerstand-Auslesungen synchronisiert hast. Ich hatte das auch versucht und kam zu eigenartigen Ergebnissen. Wenn der Verbrauchszähler zu anderen Zeitpunkten ausgelesen und dann der Verbrauch mit

Verbrauch = Erzeugung - Einspeisung

berechnet wird, dann sind die Ergebnisse teils Humbug, weil die PV-Leistung doch schnell schwanken kann.

Ich hatte dann teilweise einen negativen Eigenverbrauch  :-\ ...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 10 März 2016, 17:09:17
Wie lest ihr die PV-Leistung aus?
Wird die auch in bestimmten Zeitabständen gelesen? Dann könntet ihr ja mit dem aligeTime-Attribut das OBIS dementsprechend anpassen.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 10 März 2016, 18:48:57
ich hab mal einen neuen Thread zum Thema Synchronisation bei Eigenerzeugung aufgemacht, damit an dieser Stelle nicht zu viel drüber diskutiert wird und der Kern, nämlich OBIS, verloren geht.

http://forum.fhem.de/index.php/topic,50661.0.html

@Stefan, das Attribut ist ja nicht dokumentiert  ;) Löst aber meines Erachtens das Problem nicht, da die Timings der beiden Devices nach erfolgtem align auch wieder auseinanderdriften.

@Willy, schau doch bitte mal flink über den neu begonnenen Thread, ob das für Dich so verständlich ist.

Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 10 März 2016, 21:40:03
@Köln: Stimmt, hab ich noch nicht in der Doku, funktioniert aber schon.
Und das align wird bei jedem Intervall neu berechnet, es kommt zB bei:
attr myOBIS alignTime 00:00
attr myOBIS interval 600

zu keinen verschiebungen.
Es wird genau alle 10 Minuten, also um xx:10:00 xx:20:00 xx:30:00 etc das interval getriggert.

lg, Stefan

PS: Zum Thema SML<>OBIS-merging: Habe heute den CRC16 fürs SML implementiert.
Damit kommen wir der Sache schon mal näher :)
2016.03.10 21:28:12 3: Original CRC: 41983 - Calculated CRC: 41983

PPS: Die alignTime-Funktion ist übrigens vom <at> abgeschaut :) Wenn du bei diesem also auch das alignTime setzt, bist zu schon seeehr nahe an einer Synchronität.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 10 März 2016, 22:40:19
Ahhh,jetzt hats geklingelt. eingebaut und wenn die Sonne aufgeht läuft der Test(meine Wechselrichter reden im Dunkeln nicht mit mir)
Ich war nach dem Einrichten in OBIS überrascht, dass ich bis zu 8 sek. Versatz in den timestamps der readings sehen konnte.
Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 11 März 2016, 08:27:50
nur im Stefans Frage zu beantworten: ich lese den PV-Zähler mit einem Youless LS110 über das JSONMETER Modul aus. Alles Weitere dann heute Abend im neuen Thread.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: immi am 11 März 2016, 08:54:13
Zitat von: Icinger am 10 März 2016, 21:40:03
PS: Zum Thema SML<>OBIS-merging: Habe heute den CRC16 fürs SML implementiert.
Stefan, Super!!
CRC ist ein Unique selling point für SML in 47_OBIS.
immi
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 11 März 2016, 11:33:13
Hi Stefan,
das
define call_Wechselrichter +*00:01:00 get Fron update_p
attr call_Wechselrichter alignTime 00:00:59

funktioniert perfekt und mir werden sekundengenau die Erzeugungswerte um xx:xx:59 geliefert.

Im OBIS-Modul hab ich aber trotz alignTime 00:00:00 einen timestamp der Readings zwischen xx:xx:01 und xx:xx:11. Im Event-Monitor konnte ich nichts erkennen, was auf ein Problem in meinem System hinweist, Beispiel:

2016-03-11 11:09:59 USBWRF Fron Command: 16
2016-03-11 11:09:59 USBWRF Fron Wert_WR1_16: 1509
2016-03-11 11:09:59 USBWRF Fron Command: 16
2016-03-11 11:09:59 USBWRF Fron Wert_WR2_16: 1256
2016-03-11 11:09:59 USBWRF Fron statWert_WR2_18: Hour: 252 Day: 2847 Month: 2847 Year: 2847 (since: 2016-03-09 )
2016-03-11 11:09:59 USBWRF Fron statWert_WR1_18: Hour: 294 Day: -17577 Month: 3430 Year: 3430 (since: 2016-03-09 )
2016-03-11 11:09:59 USBWRF Fron statWert_WR1_18Hour: 294
2016-03-11 11:10:01 OBIS zaehler total_consumption: 5633.6778
2016-03-11 11:10:01 TRX_WEATHER Mess_4 energy_power: 0.7 W
2016-03-11 11:10:01 OBIS zaehler total_feed: 31198.944
2016-03-11 11:10:01 OBIS zaehler V_kWh: 1.67050000000017
2016-03-11 11:10:06 OBIS zaehler Spannung_U1: 229.61
2016-03-11 11:10:06 OBIS zaehler Spannung_U2: 231.39
2016-03-11 11:10:06 OBIS zaehler Spannung_U3: 227.91
2016-03-11 11:10:06 OBIS zaehler Strom_I1: 0.91
2016-03-11 11:10:06 OBIS zaehler Strom_I2: 6.67
2016-03-11 11:10:06 OBIS zaehler Strom_I3: 5.24
2016-03-11 11:10:06 OBIS zaehler Leistung_W1: 168
2016-03-11 11:10:06 OBIS zaehler Leistung_W2: -1533
2016-03-11 11:10:06 OBIS zaehler Leistung_W3: -1180
2016-03-11 11:10:06 OBIS zaehler VLeistung_W1: 168
2016-03-11 11:10:06 OBIS zaehler VLeistung_W2: 0
2016-03-11 11:10:06 OBIS zaehler VLeistung_W3: 76
2016-03-11 11:10:06 OBIS zaehler Momentanleistung: -2545
2016-03-11 11:10:06 OBIS zaehler WR1: -1509
2016-03-11 11:10:08 TRX_WEATHER Mess_4 energy_power: 0.8 W


Ich spekulier jetzt mal, dass das an der Methode des "Pseudo-Pollings"
Zitat
Ich werte die erste komplette Message aus dem Puffer aus.
Da aber ja immer wieder (alle ca. 5 Sekunden) der Port ausgelesen wird, und die Daten so lange verworfen werden, bis das Intervall abgelaufen ist, sollte die Message doch sehr aktuell sein (bis max. -2 oder -3 Sekunden.)
liegt und im Puffer keine komplette Message vorliegt, so dass nachgelesen werden musste, was dann eben dauert. So deute ich zumindest die Mehrfach-Events.

Lösungsidee meinerseits:
anstatt beim Auslesen des Ports die Daten zu verwerfen, wenn keine Verarbeitung erfolgen soll, immer den letzten Beginn einer Message mit Daten dieser Message zwischenspeichern, so dass zum Verarbeitungszeitpunkt immer ein kompletter Datensatz vorliegt und nicht nachgelesen werden muss.

Sinnvoll ? Machbar ?

Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 11 März 2016, 11:43:03
Zitat von: immi am 11 März 2016, 08:54:13
Stefan, Super!!
CRC ist ein Unique selling point für SML in 47_OBIS.
immi
Hi. I think you'll get a test-version tomorrow evening or so.... :)

Gesendet von meinem SM-N9005 mit Tapatalk

Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 13 März 2016, 15:13:47
Hi Stefan,

wenn sich mein Vorschlag aus #141 nicht sinnvoll realisieren lässt: Wie wäre es mit einem reading/event "data incomplete" ? Damit könnte man per notify das Nachlesen der Erzeugungsdaten triggern.

Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 13 März 2016, 15:22:18
Oha, den Beitrag hatte ich übersehen.

Hmm, ich denke, das lässt sich machen.......Werd ich mir mal anschaun...
Aber die Mehrfach-Events sind schon lange Geschichte, das ist bereits behoben.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 13 März 2016, 15:41:49
nein, eben nicht. Mehrfachevents sind zwar weniger geworden, aber noch vorhanden
2016-03-13 15:32:00 OBIS zaehler total_consumption: 5639.6647
2016-03-13 15:32:00 OBIS zaehler total_feed: 31257.582
2016-03-13 15:32:00 OBIS zaehler V_kWh: 4.73370000000068
2016-03-13 15:32:00 OBIS zaehler total_consumption: 5639.6647
2016-03-13 15:32:00 OBIS zaehler total_feed: 31257.5874
2016-03-13 15:32:00 OBIS zaehler Spannung_U1: 230.57
2016-03-13 15:32:00 OBIS zaehler Spannung_U2: 232.28
2016-03-13 15:32:00 OBIS zaehler Spannung_U3: 229
2016-03-13 15:32:00 OBIS zaehler V_kWh: 4.72829999999885
2016-03-13 15:32:00 OBIS zaehler total_consumption: 5639.6647
2016-03-13 15:32:00 OBIS zaehler total_feed: 31257.5901
2016-03-13 15:32:00 OBIS zaehler Spannung_U1: 230.45
2016-03-13 15:32:00 OBIS zaehler V_kWh: 4.72559999999794
2016-03-13 15:32:08 OBIS zaehler total_consumption: 5639.6647
2016-03-13 15:32:08 OBIS zaehler total_feed: 31257.5955
2016-03-13 15:32:08 OBIS zaehler V_kWh: 4.72019999999975
2016-03-13 15:32:08 OBIS zaehler Spannung_U1: 230.44
2016-03-13 15:32:08 OBIS zaehler Spannung_U2: 232.34
2016-03-13 15:32:08 OBIS zaehler Spannung_U3: 229.1
2016-03-13 15:32:08 OBIS zaehler Strom_I1: 0.63
2016-03-13 15:32:08 OBIS zaehler Strom_I2: 13.2
2016-03-13 15:32:08 OBIS zaehler Strom_I3: 8.34
2016-03-13 15:32:08 OBIS zaehler Leistung_W1: 109
2016-03-13 15:32:08 OBIS zaehler Leistung_W2: -3058
2016-03-13 15:32:08 OBIS zaehler Leistung_W3: -1895
2016-03-13 15:32:08 OBIS zaehler VLeistung_W1: 109
2016-03-13 15:32:08 OBIS zaehler VLeistung_W2: 0
2016-03-13 15:32:08 OBIS zaehler VLeistung_W3: 0
2016-03-13 15:32:08 OBIS zaehler Momentanleistung: -4844


Hab auch kein stastics mehr im Einsatz.

Kann ich irgendwie helfen ? verbose x ? zusätzliche Loggings einbauen ?

Grüße
Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: stromer-12 am 19 März 2016, 20:14:05
Im aktuellem ELV-Journal werden die die Protokolle von Smartmetern erklärt.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: tupol am 08 April 2016, 22:09:58
Hallo icinger,

bin gerade auf Dein Modul OBIS aufmerksam geworden. Der Name OBIS ist etwas irreführend, da es ja nur OBIS-Daten über die serielle Schnittstelle und nur in bestimmten Formaten ausliest.

Es wäre schön, wenn der Modulname einen Hinweis darauf gegeben könnte. Der Name SMLUSB oder EASYMETER war da aussagekräftiger. ;-)
Es sei denn, Du willst auch noch dir restlichen Format diverser Energie-, Gas- oder Wärmemessgeräte darin integrieren.

Gruß

tupol
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 08 April 2016, 23:42:00
Das OBIS-Modul liest eben KEINE SML-Daten, zumindest noch nicht. icinger ist meines Wissens grade dabei, OBIS und SMLUSB zu vereinen, aber solange das OBIS-Modul kein SML versteht ist der Name aus meiner Sicht ganz passend.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 09 April 2016, 06:49:50
Seit heute früh wird das OBIS-Modul auch MIT SML-Unterstützung ausgeliefert.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: tupol am 09 April 2016, 09:51:57
Zitat von: willybauss am 08 April 2016, 23:42:00
Das OBIS-Modul liest eben KEINE SML-Daten, zumindest noch nicht. icinger ist meines Wissens grade dabei, OBIS und SMLUSB zu vereinen, aber solange das OBIS-Modul kein SML versteht ist der Name aus meiner Sicht ganz passend.
Es geht mir nicht um SML, sondern um den Namen OBIS. Das Modul kann ja nicht alle "OBIS"-Geräte auslesen, sondern nur ganz wenige, spezifische und nur über eine serielle Schnittstelle. OBIS ist eine standardisierte Kennzeichnung von Messwerten und wird in vielen Geräten auf ganz unterschiedliche Weise genutzt. Das Modul deckt bei weitem nicht alle Geräte ab, die OBIS nutzen und es wird schwer sein, das wirklich vollumfänglich zu erreichen.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 09 April 2016, 13:50:46
Hi Tupol,

Stimmt schon.......Wobei ich bei Bereitstellung der Daten gerne auch weitere Geräte einbinde.

Bin aber auch für Vorschläge für eine Umbenennung des Moduls offen :)
"Smartmeter" oder sowas triffts ja auch nicht wirklich umfassend.

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: tupol am 16 April 2016, 21:08:43
Naja. SMLUSB ging zumindest in die richtige Richtung. So 100%ig bekommt man die Namen sowieso nie hin. OBIS ist aber einfach zu allgemein und ist, wie schon erwähnt, kein Gerätetyp sondern nur ein rudimentäres Kennzeichnungssystem für Smartmeter-Daten das z.B. auch im JSONMETER verwendet wird.



Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: M_I_B am 04 August 2016, 16:18:26
... das kommt mir ja gerade wie gerufen  ;D

Darf ich hier auch Fragen stellen, die etwas mehr die Hardware- Seite im Auge haben?
In Kurzform die Hardware:

Bezugszähler: Q3BA1004 4000 L3 1.8.0
Einspeisezähler: Q3BA1004 4000 L2 1.8.0
Leseköpfe: Eigenbau an Profilic SER2USB
Auslesen: 2 x RealTerm auf altem Notebook > LOG auf NAS

FHEM Hauptinstanz (derzeit): RPi-3 (wird später für Heizung eingesetzt)
FHEM Hauptinstanz (geplant): XEON mit Debian-Server (läuft eh immer)

Wunsch:

EasyMeter -> RPi-2 -> LOG auf NAS
FHEM  <-> ^ <- ^

Es soll also ein RPi (im Hutschienengehäuse) ausschließlich die Daten der beiden Zähler abgreifen und auf's NAS befördern, später dann via RS465 die beiden WR ebenfalls. Damit wäre auch das hier beschriebene Lastproblem von der Hauptinstanz weg, die Hauptinstanz darf gerne mal neu gestartet werden oder ausfallen, ohne das Daten verloren gehen, ... Das ist meine Idee ...

Die Fragen, die sich mir dabei aufdrängen sind, ob OBIS das Logfile auf dem NAS reicht, wie auf das Logfile zugegriffen werden kann (an Stelle der Schnittstelle) und wie ich zwei GPIO's als Input für die beiden Leseköpfe so wie irgendwie die RS465 an den RPi-2 bekomme, möglichst ohne auf die USB-Ports zurückgreifen zu müssen?

Wenn das hier der falsche Thread für solche Anliegen ist, bitte ich das zu entschuldigen; dann mache ich gerne einen neuen Thread dafür auf, wenn es denn überhaupt von allgemeinem Interesse ist; würde mich freuen, wenn sich da weitere helfende Interessenten finden lassen... Ich hätte da im Gegenzug auch noch ein paar "betriebssichere" Varianten für den Lesekopf anzubieten, auch wenn das nur einen minimaler Hilfeausgleich darstellt ...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: eldrik am 26 August 2016, 14:17:30
Hi,

wäre es eigentlich möglich, dass für die Definition auch ein EthernettoSerial Interface genutzt werden kann?

Hier wurde das in dem Modul über folgenden Punkt implementiert: https://forum.fhem.de/index.php/topic,54511.msg480244.html#msg480244

Ich würde gerne den bisherigen USB Anschluss zur besseren Entkopplung bei Hardwareausfall oder Wechsel gegen Ethernet tauschen wollen :)

Greetz
Eldrik
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 26 August 2016, 19:49:35
Remote-UART kenn ich nicht, muss ich mir mal anschaun.
Die serial->Ethernet-Adapter, die einen Telnet-Zugang bieten, werden vom DevIO ja aber eigentlich intern schon unterstützt, sollten also ohne Änderung laufen (imho)

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: pejonp am 26 August 2016, 23:11:14
[quote author=M_I_B link=topic=48143.msg478715#msg478715 date=1470320306]
EasyMeter -> RPi-2 -> LOG auf NAS
FHEM  <-> ^ <- ^

Es soll also ein RPi (im Hutschienengehäuse) ausschließlich die Daten der beiden Zähler abgreifen und auf's NAS befördern, später dann via RS465 die beiden WR ebenfalls.

Die Fragen, die sich mir dabei aufdrängen sind, ob OBIS das Logfile auf dem NAS reicht, wie auf das Logfile zugegriffen werden kann (an Stelle der Schnittstelle) und wie ich zwei GPIO's als Input für die beiden Leseköpfe so wie irgendwie die RS465 an den RPi-2 bekomme, möglichst ohne auf die USB-Ports zurückgreifen zu müssen?

....
[/quote]
Hallo M_I_B,

eines meiner Geräte mit RS485-Schnittstellen habe ich mit einem USR-TCP232-24 Adapter über IP und 98_Modbus.pm angebunden. Funktioniert gut. (http://www.ebay.de/itm/271840382550?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT).

Falls man ein Modul hat was nur von einer Serielen/USB Schnittstelle lesen kann, kann man den Datenstrom auch umleiten. Ich mache das mit socat. z.B. Auslesen der RS485 IP-Schnittstelle über /dev/ttyS0.

socat pty,link=/dev/ttyS0,nonblock,b115200,raw,echo=0   TCP4:IP_RS485:20108 &

Zwei Geräte die viele Daten liefern (PV-Anlage  + Solarbatterie und Solarthermieanlage) logen Ihre Daten jetzt in eine Datenbank. z.Z. noch eine SQLite DB. Der Aufbau der Diagramme geht viel schneller. Der Nachteil bei SQLite ist das diese DB keine Server bereitstellt. Schaue mir aber mal MySQL auf meinem NAS an (Buffalo).
Dort könnten dann alle Daten in eine DB gelogt werden und übers Netz auch ausgelesen werden. Modul DBLog.pm von FHEM.

Jetzt passe ich erst einmal mein Perlscript für den TD3511 an, das dieser gleich in eine DB logt.

pejonp


Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: immi am 27 August 2016, 00:19:23
Zitat von: Icinger am 26 August 2016, 19:49:35
Remote-UART kenn ich nicht, muss ich mir mal anschaun.
Die serial->Ethernet-Adapter, die einen Telnet-Zugang bieten, werden vom DevIO ja aber eigentlich intern schon unterstützt, sollten also ohne Änderung laufen (imho)
lg, Stefan
hi eldrik
korrekt ser2net funktioniert sehr gut mit 47_obis
Ich verwende 1 esp8266 als ser2net server für 2 Stromzähler und ein Feuchtesensor

Stromzähler-IR --> Uart von ESP8266 --> Ser2net von ESP8266 --> WLAN --> fhem OBIS
gruß
immi
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: M_I_B am 31 August 2016, 07:50:56
@pejonp, @immi
Erst mal Dank an euch und auch den vielen anderen, die hier hilfreich zur Seite stehen...

Also... Die Sache mit dem RPi und per GPIO angebundener RS232 und RE485 geht so erst mal nicht. Für die weiteren Schnittstellen müsste ein FIFO u.a. Dinge nachgebildet werden, da der RPi ja nur eine echte serielle Schnittstelle hergibt. Die Sache ist also vollkommen vom Tisch.
Was evtl. noch denkbar wäre, sind per I²C angebundene serielle Interfaces, aber dazu fehlen mir die Kenntnisse zur Implementierung auf Softwareseite und vor allen Dingen die Schnittstelle zu FHEM. Ist also (für mich) auch nicht gangbar...

Daher werde ich wohl letztlich auf solche oder ähnliche Module umschwenken, wie von @pejonp vorgeschlagen. Dann wäre pro EasyMeter ein USR-TCP232-S oder USR-TCP232-C zweckmäßig, für die beiden WR (2 x SMA Sunny-Boy) dann ein USR-TCP232-442(PCBA) resp. die Module von WIZnet ( 2 x WIZ107SR, 1 x WIZ108SR).
Auf die Art könnte ich dennoch die angedachte Redundanz "Zähler/WR >> RPi >> LAN >> NAS" einsetzen, in dem ich in den Zählerschrank stumpf einen 5-port Switch nebst RPi mit FHEM laufen, FHEM auf das NAS loggen lasse und ansonsten die Daten parallel per ser2net oder socat an die FHEM Hauptinstanz übergebe ...

... passt das so?


EDIT: http://www.ebay.de/itm/272345413591
Der oder die preiswerteren K1 resp K2 sollte auch gehen für die Zähler- Tastköpfe. Die kann man direkt mit auf die Tastkopf- Platine löten; noch ein Fototransistor und einen Widerstand... Saft dran und fertig ist der LAN- Tastkopf; oder irre ich mich?
Optional wäre www.ebay.de/itm/281700538477 noch eine gute Idee. der kann zwei Serielle gleichzeitig, somit gleich beide Zähler bedienen und würde auch noch auf eine Tastkopf- Platine passen, an welche dann die zweite Tastkopf- Platine als Slave angeschlossen wird; spart einen LAN- Port ...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: pejonp am 31 August 2016, 15:37:56
Hallo M_I_B,

ich loge jetzt von meinem Zweirichtungszähler (Siemens TD3511) die Daten in eine MySQL DB auf meinem NAS (Buffalo).
Im Zählerschrank läuft dazu ein Raspi 1. Der über die Hardware von Udo (http://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf) die Daten ausließt.
Ein Unterzähler DRT710M(RS485) wird ebenfalls über USB-RS485 ausgelesen und auch in die MySQL DB gelogt.
Über GPIO ist noch ein Relais angeschlossen, das bei Bedarf meine SolarBatterie in der Nach zum Aufladen schaltet (Winter Regenerierung).

Meine Solaranlage wird über einen anderen BanannaPi ausgelesen und auch in diese DB gelogt. Dort laufen dann noch andere Temp/Hydro-Sensoren und auch Wetterstationen.
FS20 Steckdosen. Und auch eine Dect-Steckdose von Fritz!. ...

Die Auswertungen (Diagramme) können dann überall dargestellt werden. Hier gibt es eine schöne Auswertemethode für die DB (https://forum.fhem.de/index.php/topic,53584.msg486490.html#msg486490).

pejonp
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: M_I_B am 31 August 2016, 17:46:04
.. japp, so in der Art hatte ich mir das auch vorgestellt. Allerdings habe ich einzuplanen, das ich direkt auf bestimmte Lastzustände reagieren muss; eine reine Auswertung reicht mir also nicht, sondern ich bin auf in FHEM generierte Events angewiesen ...

Die Hardware von Udo kommt für mich nicht in Frage; die EasyMeter sind aber auch so total einfach auszulesen: Ein Fototransistor, ein Widerstand und einmal auf RX eines RS232-TTL zu irgendwas... fettich is das. Warum im Netz die Masse der Schaltungen noch einen Transistor als Treiber/Verstärker benutzen, bleibt mir als Elektroniker ein Rätsel ^^
Was mir aber auch noch ein Rätsel ist, wie ich die beiden "SMA Sunny-Boy" ins FHEM bekomme. Leider konnte ich speziell zu diesen Teilen noch nichts finden, schon gar nicht Code- Beispiele resp. andere hilfreiche Hinweise; das wird noch ein Abenteuer  :(

Auf jeden Fall habe ich heute erst mal 5 Stück http://www.ebay.de/itm/282036601837 bestellt. Die können wahlweise 232, 422 und 485 und noch so einige andere nette Sachen. Drei werde ich für meine Config benötigen, einer für alle Fälle und einer zum Zerschießen...  ;D
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: pejonp am 31 August 2016, 18:08:52
Hallo M_I_B,

Hast du schon mal hier geschaut https://forum.fhem.de/index.php/topic,51569.msg432285.html#msg432285.

Ich reagierte auch auf verschiedene Ladezustand meiner SolarBatterie, die Daten werte ich ja auf dem abfragenden FHEM (raspi) aus. Nur das Log liegt für alle  zentral (so ist es angedacht).

Pejonp
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: M_I_B am 31 August 2016, 18:21:02
... japp, den Thread hatte ich auch gefunden. Aber da geht es um einen mir unbekannten Zähler, der irgendwie mit den WR's verbunden ist. Ich habe lediglich die WR's, welche direkt über ein EasyMeter ins Netz speisen, wobei die WR (zum Glück) jeweils mit einer RS485 ausgestattet sind. Also Daten kann ich wohl bekommen, ist halt nur die Frage, ob es direkt für die WR's schon ein Modul gibt ...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: osid-timo am 03 September 2016, 10:26:18
Hallo,
bei mir arbeitet ein Raspi mit dem Lesekopf von Udo zum Auslesen des Easymeter
und
der SMA Wechselrichter wird mittels Bluetooth abgefragt (was ausnehmend gut funktioniert seit ich über einen USB Hub aus dem Schaltschrank hängen lasse). Event . hat deiner auch beide Schnittstellen
Gruß Oswald
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: M_I_B am 03 September 2016, 10:53:53
... nein, meine beiden WR haben leider keinen BlauZahn. Die müsste ich käuflich für einen unverschämten Preis dazu erwerben; will ich nicht, auch nicht in Hinsicht auf die dann bestehende Möglichkeit, das von Außen jemand auf die WR zugreifen könnte.
Aber wenn das per BT geht, dann sollten die Daten, welche per BT übertragen werden identisch jenen sein, die per RS485 übertragen werden, oder nicht?

Bleibt also nur die Frage, wie ich dann die bestellten RS485zuLAN in FHEM einzubinden habe resp. wie die define- Zeile dann auszusehen hat ... Ich konnte nämlichbisher nichts passendes zu den Sunny-Boy's finden, so das ich schon befürchte, das es dafür noch gar kein Modul gibt ...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 03 September 2016, 11:51:41
@M_I_B:
Ich wollte für meine beiden Sunny-Boys ebenfalls nicht Unsummen für Bluetooth ausgeben. Deshalb habe ich mich darauf beschränkt, den PV-Erzeugungs-Stromzähler auszuwerten. Ich kenne dann zwar nicht die Werte pro Wechselrichter, aber der Gesamtwert reicht mir eigentlich. Ich habe dafür den Youless LS110 mit dem JSONMETER Modul genommen. Funktioniert einwandfrei und ich einfach im Setup. Lesekopf auf den Zähler kleben, Stromversorgung dran, LAN-Kabel dran, fertig.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: M_I_B am 03 September 2016, 12:17:22
... das EasyMeter auslesen ist kein Problem. Aber das reicht mir leider nicht ...
Zum einen möchte ich die beiden WR überwachen, da zwei identische Zellenstränge vorhanden sind und ich dadurch fehlerhafte Zellen erkennen kann (wenn nicht zujfällig gerade in jedem Strang genau mit dem selben Fehler ausfällt...), zum anderen existiert hier eine autarke Versorgung bei Netzausfall, bestehend aus einer Kombination zweier APC-UPS mit je 1,5kW und externen Akkus, einem 3kW Drehstrom- Generator und eben der PV, die ich bei einem Netzausfall vom Netz trenne und in Kombination mit dem Rest als autarke Versorgung nutze... Im Moment muss ich zumindest die PV manuell umschalten, was in Abwesenheit ja doof ist ... Mit einer Anbindung an FHEM wäre das Problem elegant lösbar...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: pejonp am 09 September 2016, 08:55:16
Hallo m_i_b,
Ich habe die Umschaltung bei Stromausfall mit diesem Teil gelöst:
https://www.fraron.de/wechselrichterzubeh-r/netzumschaltung-12a-fuer-spannungswandler/a-291597/?UseLayout=farbfinal_mobile_20150601

Pejonp
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: M_I_B am 09 September 2016, 09:00:40
... ja, das ist ein Stromrelais ... Das funktioniert aber nur, wenn die dahinter angeschlossenen Geräte einen kurzen Moment (während der Umschaltzeit des Relais) ohne Versorgung auskommen.
Bei mir sieht die ganze Nummer etwas komplexer aus ... ;)
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: eldrik am 12 September 2016, 17:13:55
Zitat von: Icinger am 26 August 2016, 19:49:35
Remote-UART kenn ich nicht, muss ich mir mal anschaun.
Die serial->Ethernet-Adapter, die einen Telnet-Zugang bieten, werden vom DevIO ja aber eigentlich intern schon unterstützt, sollten also ohne Änderung laufen (imho)

lg, Stefan

Heißt man kann in der Def des Moduls einfach IP:Port schreiben oder was muss ich machen, damit ich über das Modul das Netzwerkinterface ansprechen kann?

Edit: ich antworte mir mal selber, nachdem ich nun erfolgreich eine Verbindung zu meinem Easymeter Lesekopf, über einen USR-TCP232-T2 + TTL to rs232 Wandler hinbekommen habe, funktioniert die Modulanbindung per Definition IP:Port wunderbar :)

Greetz
Eldrik
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: M_I_B am 24 September 2016, 09:41:30
... so ...
Prototyp eines wahlweise per USB oder Klingeltrafo versorgten Lesekopfes > LAN (USR-IOT SuperPort) läuft. Platinen dafür sind auch geroutet und können produziert werden ... Hier noch nicht dargestellt: Powerlink... Ein Kopf versorgt einen Weiteren (Einspeisung/Bezug) mit Energie; Teil der Bestückung entfällt dann beim Slave...

Jetzt fehlt eigentlich nur noch die Möglichkeit, die Daten der EasyMeter irgendwie in FHEM einklinken zu können.  ::)

EDIT:
der Prototyp auf Lochraster läuft seit Sonnabend einwandfrei. Allerdings scheint die Wahl des "Super Port - USR-K2" nicht ganz so "super" zu sein. Mit der hier enthaltenen Firmware V4003 ist über die WebGUI ein Umschalten auf DHCP nicht möglich. Nach Rücksprache mit dem Entwickler wurde dieser BUG zwar bestätigt und die FW V4004 herausgegeben, aber der Versuch, diese FW mit der vom Entwickler zur Verfügung gestellten Software und exakt nach Anleitung des Manual auf den SuperPort zu übertragen hat lediglich für insg. zwei Bricks gesorgt; nicht witzig :( Bei den verbliebenen drei Stück werde ich das sicherlich nicht auch noch versuchen...

Aber mal ganz unabhängig davon scheint es hier eh kein Interesse an so etwas zu geben und das Erfassen und auswerten der Daten in FHEM ist bis dato ebenfalls nicht möglich. Und da ich an anderen Stellen zu meinen Fragen auch keine Antworten mehr erhalte, gehe ich mal davon aus, das meine Beiträge und Fragen hier eh unerwünscht sind (... vom Tannenbaum- Quatsch mal abgesehen ...). Daher werde ich das für mich zwar fertig machen, ansonsten aber hier nur noch passiv unterwegs sein...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: pejonp am 04 Oktober 2016, 22:01:55
Hallo M_I_B,

ich habe mir auch 2 Stück USR-K2 zugelegt, aber jetzt festgestellt das die Kontakte für ein Uni-Lochrasterplatte nicht geeignet sind. Wenn du 2 Platinen übrig hast würde ich diese nehmen. Ich habe einen Siemens TD3511 dieser liefert auch die Daten im Klartext.
Und ich lese diese Werte aus:

### KONFIGURATION ###
my %channels = ( #Obis-Zahl => Gruppenadresse
        "1.7.0"=>"1-7-0",    #Leistung
                "2.7.0"=>"2-7-0",    #Einspeiseleistung
              #"2.8.0"=>"2-8-0",
                "1.8.0"=>"1-8-0",    #Zählerstand gesamt
                "1.8.1"=>"1-8-1",    #Aktueller Zählerstand Tag
                "1.8.2"=>"1-8-2",    #Aktueller Zählerstand Nacht
                "2.8.6"=>"2-8-6",    #Aktueller Zählerstand Rücklieferung
                "14.7"=>"14-7",      #Frequenz
                "31.7"=>"31-7",      #Strom_L1
                "51.7"=>"51-7",      #Strom_L2
                "71.7"=>"71-7",      #Strom_L3
                "91.7"=>"91-7",      #Strom_Neutral
                "32.7"=>"32-7",      #Spannung_V1
                "52.7"=>"52-7",      #Spannung_V2
                "72.7"=>"72-7",      #Spannung_V3
               );     
### ENDE KONFIGURATION ###


Und stelle mir die Daten als Plot dar.

Tschüß Pejonp

Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: M_I_B am 04 Oktober 2016, 23:24:01
... klar, kein Problem. Wenn ich weis, wie viele Leutz eine Platine haben möchten, kann ich das immer mit einplanen.
Kann aber noch was dauern... Zum einen habe ich hier reichlich Röhrengeräte zur Reparatur und Restauration in Wartreschlange, zum anderen hatte ich übersehen, das zumindest beim EasyMeter an der Unterseite der Platine nichts vorstehen darf. Daher habe ich eine weitere Version der Platine angefangen, welche aus einer Basisplatine besteht, welche den IR- Sensor, die Stromversorgung, den PowerLink (optional) und die Zählerbeleuchtung (optional) trägt, so wie eine oder mehrere Huckepack- Platine/n, welche dann mit einem USR-Kx, WLAN-, BT oder einer anderen Art von Schnittstelle bestückt wird, so lange diese nur serielle Daten als 3v3 oder 5v0 TTL entgegen nehmen kann...

Aber mal was anderes in dem Zusammenhang: Ich kenne den von dir genannten Siemens- Zähler nicht... Hat der die IR nicht auf der Frontseite sitzen? Wenn das so ist, nutzt dir die Platine so direkt nichts, wenn du den Sensor nicht ablötest und per Drähtchen nach vorne legst. Oder hat der Siemens oben auch eine IR nebst Schiene wie das EasyMeter?
Also wenn du mir Informationen und konkrete Bilder von der Oberseite und Front nebst Maßen zur Verfügung stellen kannst, würde ich versuchen, das mit in das neue Layout einfließen zu lassen...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: pejonp am 05 Oktober 2016, 01:15:53
Hallo M_I_B,

der Siemens hat eine Metalplatte und ich kann den Sensor per Manget ansetzen (http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/siemens_td3511).
Eigentlich geht es mir um eine Leiterplatte die den USR-K2 aufnehemn kann und die Lötpunkte herrausgeführt sind. Vielleicht hat auch ein Händler Pollin, Conrad, .. so etwas.

pejonp
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: M_I_B am 05 Oktober 2016, 09:01:04
... ah, ok. Eine Insel ... ;)
Vorschlag: Wenn ich die Platinen fertig habe, pappe ich noch ein paar Breakout's dran, welche die USR-Kx Pin's auf schnöde Pin's im üblichen 2.54 Raster umsetzen; wäre dir damit geholfen?
Und wenn ja, würde es Sinn machen, auf dem BreakOut optional zu bestückende Pegel- und Spannungswandler mit unterzubringen, so das es auch als 5v0 Modul einsetzbar wäre (Regler Ub 5V > 3.3V, TX 3.3V > 5V, RX 5V > 3.3V)?

Conrad, Pollin & Co. werden vermutlich solche Platinen nicht haben; kannst ja mal schauen. USR-IOT hat allerdings fertige Entwicklerboards für ihre Teile da, was eine Option wäre...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: pejonp am 05 Oktober 2016, 10:35:30
Hallo M_I_B,

Das währe ok. Vielen Dank.

Pejonp
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: M_I_B am 05 Oktober 2016, 14:19:15
... so in etwa? Alle Anschlüsse sind heraus geführt; Stiftleisten sind natürlich optional ...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: pejonp am 06 Oktober 2016, 18:20:17
Hallo M_I_B,

Das währe so ok. Vielen Dank.

Pejonp
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Ingo298 am 27 Oktober 2016, 22:25:31
Zitat von: pejonp am 04 Oktober 2016, 22:01:55
Hallo M_I_B,

ich habe mir auch 2 Stück USR-K2 zugelegt, aber jetzt festgestellt das die Kontakte für ein Uni-Lochrasterplatte nicht geeignet sind. Wenn du 2 Platinen übrig hast würde ich diese nehmen. Ich habe einen Siemens TD3511 dieser liefert auch die Daten im Klartext.
Und ich lese diese Werte aus:

Und stelle mir die Daten als Plot dar.

Tschüß Pejonp

Hallo Pejonp

wie hast du den TD3511 in Fhem eingebunden, läuft bei dir alles auf eine Raspberry?
Ich hab mir ein IR-Kopf von Udo geholt Daten mit Windows kann ich auslesen mit dem Raspberry läuft es noch nicht
Ich benötige den aktuellen Verbrauch (1.7.0) und den Gesamtverbrauch (1.8.0)


Für eine kleine Hilfestellung wäre ich Dir sehr dankbar
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: pejonp am 29 Oktober 2016, 01:34:54
Zitat von: Ingo298 am 27 Oktober 2016, 22:25:31
..
wie hast du den TD3511 in Fhem eingebunden, läuft bei dir alles auf eine Raspberry?
..
Hallo Ingo298,

ich habe ein Perlscript das liest die Daten aus und schreibt sie gleich in eine MySQL-DB. Kann somit auch auf einem System ohne FHEM laufen, per cron.
Es läuft auf einem Raspberry PI B1. Wenn man die DB-Befehle entfernt kann es auch ohne MySQL-DB laufen.
Aufruf Perlscript 99_TD3511.pl  in FHEM:


define TD3511 at +*00:01:00 {fhem "trigger TD3511 ".`FHEM/99_TD3511.pl &`}
define FileLog_TD3511 FileLog ./log/TD3511Log-%Y-%m.log TD3511
attr FileLog_TD3511 room HausZaehler


pejonp
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: golli am 11 Dezember 2016, 13:55:57
Ich habe die Schaltung aus Beitrag Nr.1 mal nachgebastelt(jedoch mit einem BC141)
und dann mit
define Strom OBIS /dev/ttyAMA0@9600,7,E,1
eingebunden. Kann man den Eingang irgendwie testen? Terminal oder so?
Ich bekomme in Fhem nicht gezählt. Jemand eine Idee?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Crawler am 24 Dezember 2016, 10:19:57
Du kannst minicom installieren und testen ob Daten ankommen oder das Modul auf verbose 5 stellen dann werden alle Daten in die log geschrieben.

Hast du daran gedacht den serial debug des raspi zu deaktivieren?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: golli am 05 Januar 2017, 10:49:18
Habe wie folgt BT deaktiviert und UART eingestellt:
Add device tree to /boot/config.txt to disable the Raspberry Pi 3 bluetooth.

sudo nano /boot/config.txt
Add at the end of the file

dtoverlay=pi3-miniuart-bt
Exit the editor saving your changes and then:

sudo reboot
Enabling the Serial Console Rasbian Jessie after 18th March 2016 release

To enable the serial console, you need to edit the /boot/cmdline.txt file

sudo nano /boot/cmdline.txt
Change the file to the following:

dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait


Anschließend minicom gestartet

sudo minicom -b 115200 -D /dev/ttyAMA0 -o

und die LED ein wenig hin und her, in der Konsole erscheint jedoch nichts.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 05 Januar 2017, 23:34:11
Mal zwischendurch ne ganz andere Frage.

Bei mir läuft das Modul seit etlichen Monaten fehlerfrei. Die Leistungswerte zeichne ich im Minutentakt auf. Jetzt möchte ich die Zählerstände zusätzlich im Logfile haben, aber nur 1 mal pro Tag. Gibt es dafür eine einfache Lösung? Mir fallen nur komplizierte ein.

Der Filelog reagiert ja auf einen Event, und der kommt minütlich. Wie schaffe ich es, das Log-Intervall der Leistung vom Loginterval des Zählerstandes zu entkoppeln?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 05 Januar 2017, 23:59:42
tägliches at mit einem setreading ?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 06 Januar 2017, 01:15:00
ja, über ein Dummydevice sollte das gehen. Ich hatte es immer direkt mit den Readings des Zählers versucht. Das geht natürlich nicht.

Ich werds morgen versuchen.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 06 Januar 2017, 06:12:35
Statistics-Modul......Damit bekommst du u.A. stündliche, tägliche Werte auch.
Ganz ohne Dummy, at und sonstiges.
Und EIN statistics-Device kannst du für zig verschiedene andere Devices gleichzeitig verwenden (zB für jeden Temp-Sensor).

lg, Stefan
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: eldrik am 06 Januar 2017, 08:09:12
Hi,

hat eigentlich noch jemand das Problem, dass nach einem FHEM Restart die Device Definition IP:Port bei Verwendung eines LAN zu Serial Moduls nicht übernommen wird?

Starte ich FHEM neu, steht die Definition zwar in der fhem.cfg, im DEF in FHEMWEB steht aber auf einmal /dev/ttyUSB0@9600,7,E,1   :o das Device steht dann folglich auf Disconnected bis ich die DEF wieder mit dem Wert IP:Port fülle.

Ich setze die letzte Modulversion ein.

Greetz
Eldrik
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 08 Januar 2017, 11:02:54
Zitat von: Icinger am 06 Januar 2017, 06:12:35
Statistics-Modul......Damit bekommst du u.A. stündliche, tägliche Werte auch.

Ich habs jetzt doch mit einem "at" gemacht:

at *00:00:01 IF ($mday == 1) ( setreading Hausstrom_Zaehler Zaehlerstand_Verbrauch [Hausstrom_Zaehler:total_consumption_Ch1] )


Das neue Reading muss natürlich im FileLog ale RegExpr definiert werden, damit diw Werte nicht nur generiert, sondern auch geloggt werden.

Das Statistics-Modul verursacht für solche Peanuts deutlich zu viel Prozessorlast: 5 mal so viel wie der ganze Rest meiner fhem-Installation zusammen.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 20 März 2017, 12:45:43
Mal wieder ne Frage:
Ich tracke meinen Hausstromzähler mit dem OBIS-Modul, sowie die PV-Anlage mit dem JSONMETER-Modul (Youless LS110). Die Differenz zwischen beiden (PV-Erzeugung @ JSONMETER minus Einspeisung @ OBIS)sollte mir den momentanen Eigenverbrauch anzeigen. Das klappt aber nur dann, wenn die Daten beider Zähler synchron ausgelesen werden. Wie mache ich das?

OBIS hat das "alignTime" Attribut, das es aber beim JSONMETER nicht gibt. Kann ich "alignTime" irgendwie die zu triggernde Zeit als Variable (in Abhängigkeit der timestamps der JSONMETER Readings) übergeben? Oder andere Idee?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 20 März 2017, 14:36:24
at hat das aligntime-Attribut. Damit synchronisiere ich die Datenabfrage zwischen OBIS und PV-Anlage.
Grüße Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 20 März 2017, 18:24:14
Zitat von: KölnSolar am 20 März 2017, 14:36:24
at hat das aligntime-Attribut. Damit synchronisiere ich die Datenabfrage zwischen OBIS und PV-Anlage.
Grüße Markus
Ich müsste dann per "at" das JSONMETER dazu zwingen, die Daten in einem bestimmten Augenblick auszulesen??? Hast Du ein Codebeispiel? Ich kann's mir noch nicht so recht vorstellen.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 20 März 2017, 21:30:19
define zaehler OBIS
attr zaehler interval 60
attr zaehler alignTime 00:00:00

define PV at +*00:01:00 Daten abholen mit JASONMETER
attr PV alignTime 00:00:59


Bedeutet: Jede Minute neue Daten. Zuerst vom Wechselrichter und 1 sek später vom Zähler. Dort habe ich dann die userReadings, die den tatsächlichen Verbrauch berechnen.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 20 März 2017, 21:58:30
Zitat von: KölnSolar am 20 März 2017, 21:30:19

define PV at +*00:01:00 Daten abholen mit JASONMETER

OK, dann muss ich mal schauen, wie ich den JSONMETER zu manueller Datenabfrage bewegen kann.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 21 März 2017, 21:41:50
So geht's:
define zaehler OBIS
attr zaehler interval 60
attr zaehler alignTime 00:00:00

define PV at +*00:01:00 set PV_Zaehler update
attr PV alignTime 00:00:59


Warum hast Du die alignTime einmal auf  00:00:00, das andere mal auf  00:00:59?  Wäre es für synchrones auslesen nicht besser, beide identisch zu setzen?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 21 März 2017, 22:25:51
weil ich sicher gehen will, dass die PV-Daten nicht evtl. 1 min. alt sind  ;)
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 22 März 2017, 22:47:51
Zitat von: KölnSolar am 21 März 2017, 22:25:51
weil ich sicher gehen will, dass die PV-Daten nicht evtl. 1 min. alt sind  ;)
Verstanden. Aber Du verlässt dich drauf, dass die Daten schon kommen werden. Wenn ein Zähler mal "stottert" vergleichst Du alt mit neu.

Ich habe jetzt sicher gestellt, dass beide Readings maximal 2 Sekunden auseinander liegen:
+*00:01:00 IF (((ReadingsAge("Hausstrom_Zaehler","P_Einsp_Watt",0) - ReadingsAge("PV_Zaehler","electricityPower",0)) < 3)
and ((ReadingsAge("Hausstrom_Zaehler","P_Einsp_Watt",0) - ReadingsAge("PV_Zaehler","electricityPower",0)) > -3))
(setreading Strom_Eigenverbrauch Verbrauch {([PV_Zaehler:electricityPower] - [Hausstrom_Zaehler:P_Einsp_Watt] - [Hausstrom_Zaehler:P_Bezug_Watt])})


Als die Zählerauslesungen noch nicht synchronisiert waren hatte ich unsägliche "Phantomausschläge" im Verbrauch. Das will ich jetzt unbedingt vermeiden.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 23 März 2017, 07:57:19
ZitatAls die Zählerauslesungen noch nicht synchronisiert waren hatte ich unsägliche "Phantomausschläge" im Verbrauch.
Kenn ich  ;D
ZitatDas will ich jetzt unbedingt vermeiden.
Das ist das Ziel. Leider konnte ich das bisher noch nicht erreichen  :'( Durch den push-Modus meines Zählers schafft es OBIS nicht, wirklich Daten zum aligntime-Zeitpunkt bereitzustellen. Mal sind alle Daten vorhanden, mal muss OBIS aber einen weiteren Zyklus abwarten, um alle Daten vollständig zu haben. Aktuell können das bis zu 6 sec. auf meinem System, das prinzipiell eher "gelangweilt" ist, sein. Ich hatte früher mal etwas eingebaut, was mir die Daten puffert. Aktuell aber nicht mehr integriert. Da bräuchte es mal wieder etwas mehr Zeit für  :(
ZitatWenn ein Zähler mal "stottert" vergleichst Du alt mit neu.
Stimmt. Das ist aber das kleinste Problem  ;)
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 23 März 2017, 08:31:01
Bei mir werden halt unsynchrone Daten verworfen. Es gibt dann halt mal keine Daten. Ist mir immer noch lieber als falsche.

... wobei ich wohl an der Formel nochmal korrigieren muss. Ich sehe grade bei den ersten Sonnenstrahlen einen "negativen Verbrauch" ...
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 23 März 2017, 08:39:50
Da hab ich es mir einfach gemacht. Negative Werte unterdrücke ich grundsätzlich  ;)
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Icinger am 23 März 2017, 19:44:10
Hi Leute,

habe euch grade ein Update gemacht, mit dem ihr ein

get myOBIS update machen könnt, um jederzeit die aktuellsten Datem vom SM abzurufen (natürlich nur, wenn der SM auf den Abruf unterstützt) :)

lg, Stefan

PS: Wobei, eigentlich sollte es auch klappen, wenn euer SM die Daten zyklisch sendet, dann wird halt <interval> übergangen und der nächste Datensatz automatisch genommen.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 23 März 2017, 22:15:52
Hi Stefan,
danke aber
Zitatwenn der SM auf den Abruf unterstützt
macht er aber nicht  :'(
Grüße Markus
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 23 März 2017, 23:03:51
steh grade auf dem Schlauch: wer ist SM?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: eldrik am 23 März 2017, 23:20:53
Zitat von: willybauss am 23 März 2017, 23:03:51
steh grade auf dem Schlauch: wer ist SM?

Smart Meter?

Greetz
Eldrik
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 23 März 2017, 23:39:45
ok, verstehe. Aber soooo smart ist meins ja gar nicht. Kann ja nur Timestamps und Zählerstände erzählen. Den Rest muss ich mir dann mühsam mit userReadings zusammen stricken.

@Markus Stefan:
Besten Dank dafür. Aber ich werd's nicht nutzen. Bin froh, jetzt alles mit erträglichem Aufwand am laufen zu haben und will nichts mehr ändern. Außerdem habe ich das OBIS-Modul schon seit längerer Zeit von Updates ausgeschlossen, weil immer wieder mit neuen Versionen erhöhte Prozessorlasten auftraten.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 24 März 2017, 08:29:10
war schon spät, Du wolltest Dich sicherlich bei Stefan bedanken, oder ?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: willybauss am 24 März 2017, 08:33:34
Ja, Mist. Habs oben korrigiert.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Burk am 21 August 2017, 01:12:08
Hallo,
ich habe an meinen Raspi einen Fototransistor angeschlossen und will damit gern das Modul betreiben.
LIRC ist installiert, und mit mode2 /dev/lirc0 bekomme ich auch Signale ausgegeben.

Dennoch kann ich den Empfänger in fhem nicht öffnen, ich bekomme die Fehlermeldung
"Can't open /dev/lirc0: Das Argument ist ungültig"

Es scheint eine Fehlermeldung des devIO zu sein. Was mache ich falsch?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Butzel am 09 November 2017, 17:14:22
mein easymeter ist schon an ein POE-Modem angeschlossen, welches über die Stromleitung seine Daten sendet. Früher hatten wir dazu eine Webpage, die nach dem Login die jeweiligen Daten anzeigte. Dies funktioniert von Seiten des Serverbetreibers seit 2 Jahren nicht mehr.
Das Modem hängt mit seiner LAN-Schnittstelle aber noch ;) Haben nun dem PI an eth0 das Netz des Modems nahegebracht (Anbindung an mein Hausnetz läuft über wlan0).
Kann ich die Anbindung an FHEM auch über das Modem, sprich IP realisieren ?
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: KölnSolar am 09 November 2017, 22:50:49
vermutlich nicht  :'( Da müsstest Du erst einmal die Kommunikation Deiner "Box" verstehen. Das OBIS-Modul basiert auf einem seriellen Protokoll.
Titel: Antw:Neues Modul: Easymeter (ersetzt durch 47_OBIS)
Beitrag von: Butzel am 10 November 2017, 11:48:41
das wäre schade, aber nicht tragisch. Da ich demnächst eine PV-Anlage auf das Dach montiere, bekomme ich ohnehin einen neuen Zweirichtungszähler von der Fa. EHM. Diesen muss ich ohnehin wohl auf eine andere Weise auslesen.