Neues Modul 70_EFR.pm - N-ERGIE - Drehstromzähler

Begonnen von Zwiebel, 22 Dezember 2013, 18:56:59

Vorheriges Thema - Nächstes Thema

Zwiebel

Hallo Zusammen,

ich hab mit hilfe von Manuel ein neues Modul gebaut um den Drehstrom Zähler (unten) abzufragen.

N-ERGIE - Drehstromzähler
SMART Grid HUB - EFR-CU-M-EM-E001-1 (EasyMeter)

Das modul ist ab morgen per update verfügbar.

have fun...
Zwiebel

Petrosilius Zwackelmann

FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Petrosilius Zwackelmann

Hallo Zwiebel,

bei der Abfrage des Stromzählers kommt es derzeit zu einer Zwangspause von ca. 20 Sekunden.
Ist es möglich die Abfrage in einem eigenen Thread (?) laufen zu lassen um das übrige System nicht zu stören?

Ansonsten läuft bisher alles prima, danke nochmals für dein tolles Modul...

Gruß Manuel



2013.12.23 22:26:47.141 1: HMLAN_Parse: CUL_HM new condition ok
2013.12.23 22:26:46.958 1: Perfmon: possible freeze starting at 22:26:27, delay is 19.958
2013.12.23 22:26:46.913 1: HMLAN_Parse: CUL_HM new condition init
2013.12.23 22:26:46.912 1: 192.168.178.2:1000 reappeared (CUL_HM)
2013.12.23 22:26:46.860 1: HMLAN_Parse: CUL_HM new condition disconnected
2013.12.23 22:26:46.856 1: 192.168.178.2:1000 disconnected, waiting to reappear
2013.12.23 22:24:47.162 1: HMLAN_Parse: CUL_HM new condition ok
2013.12.23 22:24:46.980 1: Perfmon: possible freeze starting at 22:24:27, delay is 19.979
2013.12.23 22:24:46.933 1: HMLAN_Parse: CUL_HM new condition init
2013.12.23 22:24:46.932 1: 192.168.178.2:1000 reappeared (CUL_HM)
2013.12.23 22:24:46.863 1: HMLAN_Parse: CUL_HM new condition disconnected
2013.12.23 22:24:46.859 1: 192.168.178.2:1000 disconnected, waiting to reappear
2013.12.23 22:22:47.090 1: HMLAN_Parse: CUL_HM new condition ok
2013.12.23 22:22:46.958 1: Perfmon: possible freeze starting at 22:22:27, delay is 19.958
2013.12.23 22:22:46.926 1: HMLAN_Parse: CUL_HM new condition init
2013.12.23 22:22:46.926 1: 192.168.178.2:1000 reappeared (CUL_HM)
2013.12.23 22:22:46.906 1: HMLAN_Parse: CUL_HM new condition disconnected
2013.12.23 22:22:46.903 1: 192.168.178.2:1000 disconnected, waiting to reappear
2013.12.23 22:20:46.824 1: HMLAN_Parse: CUL_HM new condition ok
2013.12.23 22:20:46.752 1: Perfmon: possible freeze starting at 22:20:27, delay is 19.752
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hallo Manuel,

woran erkenne ich denn in deinem log Auszug das das Modul EFR die Verzögerung verursacht?

Es gibt das Modul Blocking. Aber wie man das einbindet um so eine art threads zu bekommen weiß ich leider nicht.

Gruß
Zwiebel

Joachim

FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Markus Bloch

Zitat von: Zwiebel am 24 Dezember 2013, 08:31:21
Hallo Manuel,

woran erkenne ich denn in deinem log Auszug das das Modul EFR die Verzögerung verursacht?

Es gibt das Modul Blocking. Aber wie man das einbindet um so eine art threads zu bekommen weiß ich leider nicht.

Gruß
Zwiebel

Hallo Zwiebel,

zum Modul Blocking.pm gibt es im Wiki einen Artikel, der die Einbindung in ein Modul erläutert: http://www.fhemwiki.de/wiki/Blocking_Call

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Petrosilius Zwackelmann

Hallo Markus Hallo Zwiebel,

ZitatHallo Manuel,

woran erkenne ich denn in deinem log Auszug das das Modul EFR die Verzögerung verursacht?

Es gibt das Modul Blocking. Aber wie man das einbindet um so eine art threads zu bekommen weiß ich leider nicht.

Gruß
Zwiebel

Ich habe das Intervall des EFR Moduls verändert und die 19 Sekundne Freeze Einträge verändern sich entsprechend.
Auch habe ich im Eventmonitor geschaut... Nach dem lange Zeit nichts geloggt wird kommen die Werte vom EFR Modul.

@Zwiebel:

hast du mit dem Blocking.pm schon einmal gearbeitet? Falls nicht veruche ich mir da einzuarbeiten und das Modul umzubauen..

Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Petrosilius Zwackelmann

Von Joachim kam der Tipp mit apptime die Programmlaufzeit (?) anzuzeigen.
Ergebnis anbei --> (energy_Update ist ein SUB von 70_EFR.pm)


name             function    max  count    total  average param Max call
                   tmr-energy_Update      HASH(0x8b84298)  20282      3    60457 20152.33 HASH(0x8b84298)
             tmr-HUEDevice_GetUpdate      HASH(0x8b287c8)     82      4      249    62.25 HASH(0x8b287c8)
          tmr-Heating_Control_Update      HASH(0x890b0d0)     63      2      124    62.00 HASH(0x890b0d0)
             tmr-HUEDevice_GetUpdate      HASH(0x8b054c0)     67      4      244    61.00 HASH(0x8b054c0)
             tmr-HUEDevice_GetUpdate      HASH(0x8b05a60)     62      4      243    60.75 HASH(0x8b05a60)
             tmr-HUEDevice_GetUpdate      HASH(0x8b28d58)     67      4      243    60.75 HASH(0x8b28d58)
             tmr-HUEDevice_GetUpdate      HASH(0x8b29028)     79      4      240    60.00 HASH(0x8b29028)
             tmr-HUEDevice_GetUpdate      HASH(0x89b1fc8)     64      4      233    58.25 HASH(0x89b1fc8)
             tmr-HUEDevice_GetUpdate      HASH(0x8b28a88)     60      4      222    55.50 HASH(0x8b28a88)


Danke Joachim
Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hi Manuel,

ich hab noch nie mit dem Blocking.pm gearbeitet.
Wenn du möchtest kannst du das Modul EFR gern umbauen.

gruß
Zwiebel

Markus Bloch

Hi Zwiebel,

schau dir einfach mal das Modul 32_speedtest.pm an, das ist ein sehr einfaches kleines Modul, welches einen Shell-Aufruf via Blocking.pm in einen Thread verlagert.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Zwiebel

Hallo Zusammen,

ich hab jetzt mal das Modul angepasst. Bin aber nicht sicher ob das so funktioniert, weil ich nicht so ein Strom Zähler habe.

Gruß
Zwiebel

Petrosilius Zwackelmann

#11
Hallo Zwiebel,


Rückmeldung aus einem Kurzzeittest: Das Modul funktioniert noch... Im Log konnte ich keinen Freeze Eintrag mehr sehen..
Rückmeldung ob es noch Hängenbleiber gibt sende ich sobald ich wieder im Lande bin.
1000 Dank.

Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Markus Bloch

#12
Zitat von: Zwiebel am 27 Dezember 2013, 10:02:04
Hallo Zusammen,

ich hab jetzt mal das Modul angepasst. Bin aber nicht sicher ob das so funktioniert, weil ich nicht so ein Strom Zähler habe.

Gruß
Zwiebel

Hallo Zwiebel,

ich habe dein Modul ebenfalls nur durchgesehen. Zwei Punkte sind mir dabei aufgefallen.


  • Die Zeile 150:

    Log3 $hash, 5, "$hash->{NAME} loop done " ;

    sollte eher am Ende in der Funktion energy_energyDone() stehen, weil erst da der Loop wirklich einmal rum ist.

  • Du schedulest den Timer für den nächsten Durchlauf bereits in der Funktion energy_Update(). Das kann im Gutfall durchaus funktionieren, aber sollte der Abfragezyklus kleiner sein, als die Dauer eines Durchlaufes würden sich hier Blocking Calls anstauhen und den entsprechenden Host mit Unterprozessen volllaufen lassen.

    Daher solltest du dies unbedingt in die Funktion energy_energyDone() verlegen, weil dann wird der nächste Durchlauf auch tatsächlich erst dann gescheduled, wenn der aktuelle Loop rum ist.

Der Rest sieht soweit gut aus.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Zwiebel

Hallo Markus,

vielen dank!

hab es abgeändert und hoch geladen.

gruß
Zwiebel

Petrosilius Zwackelmann

Hallo Zwiebel,

Danke für das Update.... Test läuft bisher ohne Probleme.
Guten Rutsch
Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

tupol

#15
Hallo Zwiebel,

ich habe von N-ERGIE ebenfalls einen Drehstromzähler allerdings ohne Tarifumstellung. Der Zähler hat ein Ausgabemodul von ITF und stellt seine Daten im JSON-Format zur Verfügung. Der Zähler wurde, glaube ich, schon mal unter http://forum.fhem.de/index.php/topic,8665.0.html angesprochen.

Könnte man das in Dein Modul integrieren?

Gruß
Tupol

Zwiebel

Hallo tupol,

hast du nach einem update schon mal das EFR Modul definiert?

Was bringt bei dir der output von:

http://ip-adresse/json.txt?LogName=geheim&LogPSWD=auch_geheim

LogName und LogPSWD richtig setzen. In meinem Modul ist das user/user. Das könnte bei dir anderst sein. Dann sollte ich das im Modul ändern, bzw konfigurierbar machen.

Gruß
Zwiebel

Petrosilius Zwackelmann

Hallo Zwiebel,

das Modul läuft seit Tagen stabil ...
Vielen Dank für deinen Support.

Gruß Manuel



FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

tupol

#18
Hallo Zwiebel,

Es ist wohl doch ein anderes Modul als ich ursprünglich angenommen hatte.
Die untere json-Datei ist unter http://ip-adresse/GetMeasuredValue.cgi auslesbar. Ich habe keinen User eingestellt.
----
{"meterId": "0000000061015736", "meterType": "Simplex", "interval": 0, "entry": [
  {"timestamp": 1389296286, "periodEntries": [
    {"obis": "0.0.0", "scale": 0, "value": 1627477814, "unit": "", "valueString": "0000000061015736" },
    {"obis": "0.0.9", "scale": 0, "value": 2147483647, "unit": "", "valueString": "0001420061015736" },
    {"obis": "0.2.0", "scale": 0, "value": 0, "unit": "", "valueString": "V320090704" },
    {"obis": "1.7.0", "scale": 0, "value": 392, "unit": "W", "valueString": "0000392" },
    {"obis": "1.8.0", "scale": 0, "value": 8802276, "unit": "Wh", "valueString": "0008802.276" },
    {"obis": "96.1.0", "scale": 0, "value": 305419896, "unit": "", "valueString": "12345678" },
    {"obis": "96.5.5", "scale": 0, "value": 36032, "unit": "", "valueString": "8CC0" },
    {"obis": "96.7.0", "scale": 0, "value": 8, "unit": "", "valueString": "008" },
    {"obis": "96.7.1", "scale": 0, "value": 3, "unit": "", "valueString": "003" },
    {"obis": "96.7.2", "scale": 0, "value": 3, "unit": "", "valueString": "003" },
    {"obis": "96.7.3", "scale": 0, "value": 0, "unit": "", "valueString": "000" },
    {"obis": "96.8.0", "scale": 0, "value": 101715965, "unit": "", "valueString": "06100FFD" },
    {"obis": "97.97.0", "scale": 0, "value": 0, "unit": "", "valueString": "00" },
    {"obis": "96.90.1", "scale": 0, "value": 269, "unit": "", "valueString": "010D" },
    {"obis": "96.90.2", "scale": 0, "value": 41106, "unit": "", "valueString": "A092" }
  ] }
] }

tupol

Ach ganz vergessen zu fragen. Das Modul läuft doch auch auf der Fritzbox. Oder?

Petrosilius Zwackelmann

Das muss ich bei Gelegenheit testen. Derzeit habe ich keine FB mit FHEM laufen...
Gruß Manuel




Gesendet von meinem iPad mit Tapatalk
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hallo Petrosilius Zwackelmann

geht bei dir die url auch? ->  http://ip-adresse/GetMeasuredValue.cgi

wenn ja könnte man das modul umbauen...
Vielleicht könntest du mir dann auch deinen output zukommen lassen.

gruß
Zwiebel

Petrosilius Zwackelmann

Hallo Zusammen,

zu den Fragen:
1) Ich habe das Modul auf der FB7390 getestet --> läuft
2) Abfrage mit http://192.168.178.21/GetMeasuredValue.cgi

Ich habe diese Zeile im Firefox aufgerufen...
Es wird einige Zeit geladen, dann erscheit wieder die ursprüngliche Webseite.
Falls es zu irgeneiner Ausgabe gekommen ist habe ich diese nicht bemerkt, am Bildschirm ladet bei mir nichts.
Da es aber auch nicht zu einer Fehlermeldung kommt weiß ich nicht so recht was ich davon halten soll.

Auffällig ist ja dass die Abfrage ohne User und Passwort erfolgt...
Deswegen habe ich die Abfrage wiederholt nachdem ich mich an der Weboberfläche angemeldet habe...
--> gleiches Verhalten wie oben beschrieben.

Eine Abfrage mit
http://ip/GetMeasuredValue.cgit?LogName=geheim\&LogPSWD=sehr geheim
hat auch zu keinem anderen Ergebnis geführt...

Mehr Ideen habe ich nun nicht mehr.

Meine Fragen:
Wie ist denn die genaue Typbezeichnung (incl. Firmware) des Smart-Meters?
Gibe es keine Weboverfläche auf welcher User und PSW abgefragt werden? Sind diese Felder einfach leer?

Gruß Manuel

FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

tupol

Also ich glaube, das sind doch sehr verschiedene Abfragemodule an den Zählern. Ich habe mal in den Quellcode von EFR geschaut. Das JSON-Format wird von Dir ja ohne spezielle Perl-Module aufgesplittet. Dadurch scheint es auch auf der FB zu laufen. Super. Es wäre schön, wenn man meinen Zähler durch Parameterangabe einstellen kann und er dann angepasst abgefragt wird.

Hier mal meine Geräteinfos auf der Weboberfläche
Firmware Version   Simplex_ME V0.1.82   
Weboberfläche Version   Froetec_V1.0-3-g98490b8
Bootloader Version   BootLoader V0.1.8 
Hardware-Version   HW5

Zwiebel

Hallo,

so wie es scheint haben die Zähler unterschiedliche url's. Jetzt extra für beide Zähler ein seperates EFR Modul zu machen find ich nicht so gut.
Also sollte das Modul vielleicht verschieden attribute auswerten.
- url
- user
- pw
- Zähler version (z.B. Version1 für den vom Manuel und Version2 für den von tupol...dann könnte -url vielleicht weg fallen...)

Bin mir aber nicht sicher ob das so eine tolle idee ist das so zu implementieren...Ich hab das gefühl morgen möchte dann viele Version3-99 haben. :)
Vielleicht gibt es einen besseren Ansatz.

gruß
Zwiebel

tupol

Ich denke, man sollte ein Modul für alle Zähler bauen, die JSON Dateien ausgeben.
In dieses Modul sollte am Anfang ein Konfigurationsteil kommen, für den für jeden Zählertyp folgende Teile definiert werden:

Dateiname der URL
für jedes Reading: Name des Readings + Arrayindex nach split mit "{" + Suchstring um Wert zu finden.

Das Abfragemodul müssten dann mit Hilfe der Konfigurationwerte die Readings einlesen und speichern.

Der Konfigurationsteil könnte dann für jeden Reading-Typ erweitert werden. Das sollte übersichtlich bleiben.

Petrosilius Zwackelmann

Hallo tupol,

wie ist den die genaue Typbezeichnung von deinem Zähler?
Poste doch mal alles was dort aufgdruckt ist.

Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hallo Zusammen,

ich habe etwas gebastelt.
In dem Modul kann man eine URL und FELDER (10,13,8) angeben, damit sollte es für mehr Zähler gut sein. Aber Vorsicht - ist an vielen stellen unschön, und kann sicher so nicht produktiv eingesetzt werden. Vielleicht sollte man es auf einer 2. FHEM installation erst mal testen.

Bitte um Wünsche und Anregung....aber bitte um Geduld der Umsetzung...

Gruß
Zwiebel

Petrosilius Zwackelmann

Hallo Zwiebel,

gerne probiere ich das Update aber aus (10 13 8), werde ich nicht schlau...

Sollte das define dann etwa so aussehen?

define <name> EFR <host> <port> <url>

define EFR_SMART_GRID_HUB EFR 192.168.178.21 120 http://ip/GetMeasuredValue.cgit?LogName=geheim\&LogPSWD=sehr geheim

Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hallo Manuel,

es bleibt beim "define <name> EFR <host>".
Aber es gibt jetzt zwei Attribute. URL und FELDER.
Die werden über die web Schnitstelle dann angezeigt.

gruß
Zwiebel

Petrosilius Zwackelmann

Hallo Zwiebel,

mit dieser Konfiguration bekomme ich nun keine Loggingnachrichten mehr...
Habe ich das mit den Feldern nun richtig verstanden?

11=powernow
10=powercounter
12=powerU1
...

define EFR_SMART_GRID_HUB EFR 192.168.178.21 120
attr EFR_SMART_GRID_HUB FELDER 11 10 12 13 14
attr EFR_SMART_GRID_HUB URL http://192.168.178.21/json.txt?LogName=geheim/LogPSWD=topsecret
attr EFR_SMART_GRID_HUB room Energie_Monitoring
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hallo,

hier eine neue version zum testen.

Wie schaut dein filelog aus?

gruß
Zwiebel

Petrosilius Zwackelmann

Hallo Zwiebel,

mit der neuen Version kommt es bereits beim Laden des Moduls zu Fehlermeldungen....
Meine define ist unverändert wie weiter oben bereits geposted....
Kannst du die Frage zur Verwendung des attr FELDER noch beantworten?

/share/Public/fhem-5.4/FHEM/70_EFR.pm has too many errors.
Can't use global @_ in "my" at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 290, near "= @_"
syntax error at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 285, near "}"
Global symbol "$hash" requires explicit package name at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 283, <> line 9.
Global symbol "$hash" requires explicit package name at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 283, <> line 9.
syntax error at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 278, near "}else"
syntax error at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 269, near "}"
Global symbol "$count" requires explicit package name at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 267, <> line 9.
Global symbol "$count" requires explicit package name at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 261, <> line 9.
Global symbol "$count" requires explicit package name at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 259, <> line 9.
2014.01.18 11:19:41 0: Global symbol "$IP" requires explicit package name at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 183, <> line 9.

/share/Public/fhem-5.4/FHEM/70_EFR.pm has too many errors.
Can't use global @_ in "my" at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 290, near "= @_"
syntax error at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 285, near "}"
Global symbol "$hash" requires explicit package name at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 283, <> line 9.
Global symbol "$hash" requires explicit package name at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 283, <> line 9.
syntax error at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 278, near "}else"
syntax error at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 269, near "}"
Global symbol "$count" requires explicit package name at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 267, <> line 9.
Global symbol "$count" requires explicit package name at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 261, <> line 9.
Global symbol "$count" requires explicit package name at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 259, <> line 9.
Global symbol "$IP" requires explicit package name at /share/Public/fhem-5.4/FHEM/70_EFR.pm line 183, <> line 9.
2014.01.18 11:19:41 1: reload: Error:Modul 70_EFR deactivated:



Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hallo Manuel,

sorry - die version war nix. Hier die 1.0.

Ja mit den Feldern hast recht. Das modul selber kennt kein powernow oder änlich. Hinter Feld 11 kann irgendein Zahlenwert sein.
Damit ist das EFR etwas vielseitiger einsetzbar.

gruß
Zwiebel

Petrosilius Zwackelmann

Hallo Zwiebel
anbei Feedback von Version 1.0:

Status: Connected

Logfile: (nach Anpassung der Logfile definition wird nun alles geloggt was vom EFR kommt...)
2014-01-18_13:19:01 EFR_SMART_GRID_HUB 10 12 13 14: 0

Events:
2014-01-18 13:09:21 EFR EFR_SMART_GRID_HUB 10 12 13 14: 0

Attributes:
FELDER 10 12 13 14                                                                                                   deleteattr
URL http://192.168.178.21/json.txt?LogName=geheim/LogPSWD=topsecret              deleteattr
room Energie_Monitoring                                                                                             deleteattr


Wir kommen der Sache also näher...
Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hallo Manuel,

Felder sollten "," getrennt sein!

attr EFR_SMART_GRID_HUB FELDER 10,12,13,14

wobei ich mir jetzt nicht sicher bin ob FHEM standart hier ein "|" sein sollten...

Fals es das nicht ist bitte ich um log auszüge.

gruß
Zwiebel

Petrosilius Zwackelmann

nun schaut das Logging wie folgt aus...

2014-01-18_13:46:20 EFR_SMART_GRID_HUB 10: 0 12: 0 13: 0 14: 0

Also wieder ein wenig näher an der Lösung....

Wenn ich was auf die Wunschliste geben darf:
1) Schön wäre es wenn man statt 10: 11: einen Alias eingeben könnte.
2) Kann man die aktuellen Werte wie im OWCOUNT Modul zur Anzeige bringen, statt des derzeitigen Status Connected ?


Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hallo Manuel,

in die URL bitte nur den Rest ohne IP eintragen: /json.txt?LogName=geheim/LogPSWD=topsecret     
Müsste vielleicht nicht URL heißen eher Extension oder so ähnlich. was meinst du?

ich schau mir deine wünsche an...aber zuerst sollten wir die Funktion sauber hin bekommen.

Gruß
Zwiebel

tupol

Hallo Manuel,

ich habe einen FROETEC SIMPLEX ME. Also etwas völlig anderes als in EFR integriert. Die Abfragemethode würde genau die gleiche sein, nur die Readings sind weniger umfangreich.

Hast Du vor, Dein Modul mit dem vorgeschlagenem Konfigurationsteil für verschiedene Zählerhersteller konfigurierbar zu machen?

Gruß

Tupol

Zwiebel

Hallo tupol,

genau da sind wir gerade drann am schauen ob das so geht.

Gruß
Zwiebel

Petrosilius Zwackelmann

Hallo Zwiebel,

ich habe versucht zu debuggen (siehe zusätzliche Loggingzeile)

Der Output sieht dann wie folgt aus....

2014-01-18 15:04:55 EFR EFR_SMART_GRID_HUB background:url('images/main.png') no-repeat -662px -16px; } #btn,#btn1,#btn2,#btn3,#btn4 10: 0 display:block; padding-top:10px; background:url('images/main.png') no-repeat 0 -16px; width:148px; height:33px; font-size:20px; color:#fff; text-align:center; text-decoration:none; font-size:12px; color:#838383; margin-right:3px; } a.button:hover 12: 0 color:#7297ab; } div.selectActLeft, div.selectActRight, div.selectActMid 13: 0 float: left; display:block; padding-top:10px; background:url('images/main.png') no-repeat -240px -16px; width:90px; height:33px; font-size:20px; color:#fff; text-align:center; text-decoration:none; font-size:12px; color:#ffffff; margin-right:3px; } div.selectActRight 14: 0

Hilft dir das weiter?

Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hallo Manuel,

mir bringt das nicht viel weiter ausser das scheinbar die URL noch nicht stimmt.

In zeile 183 hab ich ein Log eingebaut das die URL ausgibt. (ich hoffe das ist bei deiner version auch so)

Daher die frage nach dem fhem.log in dem der output drin steht.

gruß
Zwiebel

Zwiebel

Hallo,

FELDER sollten jetzt so ausschauen 10|14|20 usw.
FELDERNAME solle sollte so auschauen 10=LeistungSumme|14=TotalLeistung usw.

gruß
Zwiebel

tupol

OK. Sagt mir bitte per "Private Mitteilung" Bescheid, wenn Ihr fertig seid. Dann würde ich das bei mir testen und, wenn gewünscht, meinen Konfigurationsteil erzeugen.

Petrosilius Zwackelmann

Hallo Zwiebel,

meine Attribute habe ich wie folgt gesetzt....
Nun bleibt das Modul dauerhaft im Status "Initializing"

Ich kann nicht sagen warum aber im meinem FHEM.log wird seit heute Vormittag nichts mehr geloggt... auch ein Neustart hat da nichts geholfen..

Übrigens ist das GET- Menü verschwunden... ist das so gewollt?

Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hi,

hier eine neues Update.
- GET ist wieder da :)
-  wir jetzt auch ins log übernommen.

@Manuel - hast du für mich den log Auszug?

@tupol - die Änderung in dem Modul hab ich wegen dir gemacht es wäre schön wenn du dich als Tester beteiligen würdest.

bitte um wünsche und Anträge :)

Gruß
Zwiebel

Petrosilius Zwackelmann

Hallo Zwiebel,

hier eine erste Rückmeldung.

Der Status des EFR geht nach einiger Zeit von"Initialzing" auf "". Das liegt wohl daran dass du bereits an der Wunschliste gearbeitet hast und hier nun der aktuelle Wert stehen sollte. Leider wird aber kein Wert eingelesen und damit bleibt auch diese Anzeige leer.

Das FHEM.log ist bei mir aus irgendwelchen Gründen wieder gehen Mittag stehen geblieben. Ich bin noch nicht dahinter gekommen woran das liegen mag.

Sobald ich hier Werte Loggen kann werde ich diese nachreichen.

--> GET ist wieder da.



2014-01-19_15:22:03 EFR_SMART_GRID_HUB
2014-01-19_15:19:35 EFR_SMART_GRID_HUB
2014-01-19_15:17:12 EFR_SMART_GRID_HUB
2014-01-19_15:14:48 EFR_SMART_GRID_HUB
2014-01-19_15:12:25 EFR_SMART_GRID_HUB
2014-01-19_15:10:02 EFR_SMART_GRID_HUB
2014-01-19_15:06:35 EFR_SMART_GRID_HUB PowerTotal: 4812.90 lastPower: 113.79 Power_L1: 40.72 Power_L2: 9.04 Power_L3: 64.03
2014-01-19_15:04:15 EFR_SMART_GRID_HUB PowerTotal: 4812.90 lastPower: 113.73 Power_L1: 41.68 Power_L2: 8.89 Power_L3: 63.16
2014-01-19_15:01:54 EFR_SMART_GRID_HUB PowerTotal: 4812.89 lastPower: 110.12 Power_L1: 40.20 Power_L2: 9.52 Power_L3: 60.40
2014-01-19_14:59:34 EFR_SMART_GRID_HUB PowerTotal: 4812.89 lastPower: 109.41 Power_L1: 39.42 Power_L2: 9.10 Power_L3: 60.89
2014-01-19_14:57:14 EFR_SMART_GRID_HUB PowerTotal: 4812.88 lastPower: 108.50 Power_L1: 39.15 Power_L2: 8.87 Power_L3: 60.48
2014-01-19_14:54:46 EFR_SMART_GRID_HUB PowerTotal: 4812.88 lastPower: 109.89 Power_L1: 39.14 Power_L2: 9.03 Power_L3: 61.72
2014-01-19_14:52:13 EFR_SMART_GRID_HUB PowerTotal: 4812.87 lastPower: 109.08 Power_L1: 39.05 Power_L2: 9.02 Power_L3: 61.01
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Petrosilius Zwackelmann

Hallo Zwiebel,

das Logging scheint nie abgebrochen worden zu sein... Mit Chrome und iPad lassen sich die Einträge anzeigen mit Firefox sehe ich nur Einträge bei 12:09 heute Mittag. Ein solches Problem ist mir bisher nie aufgefallen.

Egal, hier also nun die Einträge welche ich entdeckt habe..
Einen Eintrag welche URL zusammengebaut wird habe ich nicht entdeckt.



Einträge aus Version 1.3
2014.01.19 15:07:38 3: set attribute: EFR_SMART_GRID_HUB attribute: EFR_SMART_GRID_HUB value:URL
2014.01.19 15:07:38 3: set attribute: EFR_SMART_GRID_HUB attribute: EFR_SMART_GRID_HUB value:FELDERNAME
2014.01.19 15:07:38 3: set attribute: EFR_SMART_GRID_HUB attribute: EFR_SMART_GRID_HUB value:FELDER
2014.01.19 15:07:38 3: set attribute: EFR_SMART_GRID_HUB attribute: EFR_SMART_GRID_HUB value:room
2014.01.19 15:07:38 3: EFR_SMART_GRID_HUB will read from EFR at 192.168.178.21:80
...
Einträge wahrscheinlich nach Wiedereinspielen von Version 0.8
2014.01.19 15:26:45 3: EFR_SMART_GRID_HUB will read from EFR at 192.168.178.21:80
2014.01.19 15:26:44 3: EFR_SMART_GRID_HUB energy_energyAborted
2014.01.19 15:26:44 1: Timeout for energy_DoUpdate reached, terminated process 8151



LG Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hallo Manuel,

du hast kein "attr EFR_SMART_GRID_HUB verbose 5" Gemach. Dann erhältst du nur alles was log Level 3 ist.

Auf welcher Hardware hast du FHEM installiert?
Am besten kann man sich die log Dateien auf der Konsole anschauen, gerade wenn sie vielleicht sehr groß geworden sind.

Ich Würde gern das Modul hochladen das es per Update verteilt wird, aber dazu sollten möglichst viele Fehler raus sein.
Daher warte ich mal ab bis wir deine logs analysieren können.

Gruß
Zwiebel

tupol

Hallo Zwiebel,

ich kann es gerne testen. Vor dem Start habe ich noch einen kurzen Blick in den Code geworfen. Einen kleinen Vorschlag dazu. Konzeptionell sollte das Device eigentlich auch ohne irgendwelche Attribute funktionieren (insbesondere für unerfahrene User). Du solltest deshalb meines Erachtens im define ein Smartmeter-Modell erwarten und die URL intern ({helper}{URL}) festlegen. Es kann dann aber auch ein "Spezialmodell" geben, welches die URL als Attribute erwartet.

Was muss ich denn als URL angeben? Den URL-Path "/GetMeasuredValue.cgi" ? Das habe ich gemacht ohne Resultat und ohne wirkliche Fehlermeldungen (verbose 5)

cfg:
define Strommessung EFR 192.168.178.19 10
attr Strommessung room Keller
attr Strommessung URL  192.168.178.19/GetMeasuredValue.cgi
attr Strommessung verbose 5

Log:
2014.01.20 18:36:09 3: Strommessung will read from EFR at 192.168.178.19:80
2014.01.20 18:36:09 3: set attribute: Strommessung attribute: Strommessung value:room
2014.01.20 18:36:09 3: set attribute: Strommessung attribute: Strommessung value:URL
2014.01.20 18:36:09 3: set attribute: Strommessung attribute: Strommessung value:verbose
2014.01.20 18:36:48 4: SET device: Strommessung name: ? value:
2014.01.20 18:36:50 4: SET device: Strommessung name: ? value:
2014.01.20 18:36:54 4: SET device: Strommessung name: ? value:
2014.01.20 18:37:08 4: SET device: Strommessung name: ? value:



Vielen Dank nochmal für Dein Engagement

Tupol

Zwiebel

Hallo tupol,

danke für deine Anmerkungen.
Welche URL soll das default genommen werden?
Welche Felder soll als default genommen werden?
Sorry aber da läßt sich sicher kein default bei dem das einfach so funktioniert festlegen.

Als URL wird der teil nach der IP erwartet. In deinem Fall /GetMeasuredValue.cgi .

weshalb es bei dir kein log (4 oder 5) gibt find ich komisch....

Gruß
Zwiebel

tupol

Hallo Zwiebel,

Der URL-Path (nicht die URL!) bei meinem Model "IFR" ist z.B. "/GetMeasuredValue.cgi"
In der CFG müsste dann also z.B. nur folgendes stehen

define <device> EFR <model(=IFR)> <ip-address> [<interval> <timeout>]

D.h. ohne Modelangabe müsstest Du beim define einen Fehler melden.
Du kannst dann über einen Konfig-Teil in Deinem Modul für jedes Model die Readings definieren. Oder Du fragst immer alle obis-IDs ab und legst nur die an, die Du tatsächlich findest.
Letzteres scheint etwas komplex ist aber sehr robust. Du musst zudem berücksichtigen, dass Dein Eintrag
{"obis":"0100010700FF","value":313.07,"unit":"W"},
bei mir so aussieht
{"obis": "1.7.0", "scale": 0, "value": 392, "unit": "W", "valueString": "0000392" }.

Ersteres ist eigentlich zu sehr "hardcode", scheint mir aber einfacher zu sein. Du könntest dafür z.B. in Deinem Modul für das Model "IFR" folgendes Konfigteil integrieren:
$URL-path{"IFR"} = "/GetMeasuredValue.cgi"; (also das derzeitige Attribut URL)
$Values{"IFR"}{1}{name}="totalPower";  #Name des Readings
$Values{"IFR"}{1}{pos}=10; # Position des Readings in dem zu durchsuchenden Skalar (Also das derzeitige Attribut FELDER)

Evt. muss Du auch noch den regulären Suchausdruck definieren. $Values{"IFR"}{1}{reg_str}= 'value":(.*)"unit"';

PS: Ist <timeout> tatsächlich notwendig?

Gruß

Tupol

tupol

Jetzt habe ich einen Output im Log. Ich glaube aber meine Definitionen sind irgendwie falsch. Ist das untere korrekt?

define Strommessung EFR 192.168.178.19 10
attr Strommessung URL /GetMeasuredValue.cgi
attr Strommessung FELDER 5|6
attr Strommessung FELDERNAME power1|power2
attr Strommessung verbose 5

es ergibt:
2014.01.20 20:23:26 4: EFR Strommessung ip: 192.168.178.19 port: 80 URL: /GetMeasuredValue.cgi
2014.01.20 20:23:26 5: buf: HTTP/1.1 200 OK
Server: Keil-EWEB/2.1
Content-Type: text/html
Cache-Control: no-cache
Connection: close
... (json-output) ...
2014.01.20 20:23:26 4: Socket closed
2014.01.20 20:23:27 4: name: Strommessung felder: 5|6
2014.01.20 20:23:27 5: Strommessung write log file:
2014.01.20 20:23:27 4: SET device: Strommessung name: ? value:
2014.01.20 20:23:27 4: SET device: Strommessung name: ? value:
2014.01.20 20:23:27 5: Strommessung loop done

Zwiebel

Hallo tupol,

- du hast recht nicht URL sondern URL-Path ist wahrscheinlich besser.

- deine Implementierung scheint mir etwas komplex. Bzw. mir ist nicht klar was daran für den Anfänger einfacher wird.

- <timeout> ist wirklich etwas überflüssig.

- attr Strommessung FELDERNAME 5=power1|6=power2    # ist besser

gruß
Zwiebel

tupol

Ja. Das Attribut ist so besser verständlich.  ;D

Bzgl. Modelwahl:
Der Anfänger wählt entweder den speziellen Konfigurationsmodus ("config") mit den beiden von Dir vorgegebenen Attributen.
Oder (besser) er findet sein Modell in der Anleitung zu Deinem Modul und kann durch die Modellwahl eine entsprechende Vorbelegung der Attribute nutzen. (Ohne weitere Details zu seinem Modell zu kennen.)

Wie gesagt, ein automatische Interpretation der obis codes entsprechend http://www.dlms.com/documentation/listofstandardobiscodesandmaintenanceproces/index.html wäre natürlich höchst genial. :-)

Dann würde man über das Model nur noch den Pfad wählen müssen.

tupol

Hallo Zwiebel,

da hier nichts mehr weiter gepostet wurde: Bist Du noch an der Sache dran?

Gruß

Tupol

Zwiebel

Hallo Zusammen,

ich würde das Modul was ich hier zum testen eingestellt habe ins svn hoch laden.
Dann wird es über ein update verteilt.

Danach kann weiter daran gearbeitet werden, das muß aber nicht unbedingt ich sein.

Gruß
Zwiebel

Petrosilius Zwackelmann

Hallo Zwiebel,

ich habe den neuen Stand deines Moduls nicht zum laufen gebracht. (siehe meine Rückmeldungen) deswegen finde ich eine Verteilung über update nicht so toll.

@Tupol: Läuft bei dir die neue Version ohne Probleme?

Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hallo Manuel,

ich hab von dir leider kein log bekommen in dem die URL zu sehen ist. Somit kann ich nicht sagen was da falsch läuft.
Ich hab das Modul ins contrib verschoben.

Gruß
Zwiebel

tupol

Ich hatte ja schon geschrieben, dass ich das Modul nicht zum laufen bekommen habe, weil ich die einzustellenden Attribute nicht verstanden habe.

Petrosilius Zwackelmann

Hallo Zwiebl
Ich hatte dir mein Log an PM gesendet...
Gere teste ich wieder, oder sende noch Daten.

Gruß Manuel


Gesendet von meinem iPad mit Tapatalk
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Zwiebel

Hallo Manuel,

ich habe von dir noch keinen brauchbaren Log Auszüge bekommen. Hast du an der URL schon verschiedene Varianten versucht?
So wie in der Mail an dich beschrieben?

Gruß
Zwiebel

Petrosilius Zwackelmann

Hallo Zwiebel

mit folgender Konfiguration haut es hin...

define EFR_SMART_GRID_HUB EFR 192.168.178.21 120
attr EFR_SMART_GRID_HUB FELDER 10|11|12|13|14
attr EFR_SMART_GRID_HUB FELDERNAME 10=PowerTotal|11=lastPower|12=Power_L1|13=Power_L2|14=Power_L3
attr EFR_SMART_GRID_HUB URL /json.txt?LogName=geheim&LogPSWD=topsecret

Danke für dein Modul & Geduld.
Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony


rabbe

Wheezy@MeLE A2000 (A10) | FHEM 5.6 | CUL433 | CUL868 | FRITZ!Box 7362SL --- CUL_WS: AS(H)2000, S2001I(D/A), WS7000-15/16/20, S300TH, S555TH, ASH555, KS555 | CUL_TX: TX3P | FS20: FS20 STR-2 | FBAHA, FBDECT: FRITZ!Dect 200 | Calendar | ENIGMA2 | JSONMETER | PROPLANTA | SYSMON

tupol

Youless LS110 ist nicht OBIS kompatibel. Ich habe das Modul etwas erweitern (Gerätetyp LS110), bin mir aber nicht sicher, ob das gut ist. Gleiches gilt ja eigentlich auch für den VOLKSZÄHLER.
OBIS ist meines Erachtens ein zukunftssicherer Standard der unter den Versorgern international anerkannt ist und deshalb bald alle ereilen wird.
Bitte künftig für Rückfragen zum JSONMETER einen neuen Thread aufmachen.

Petrosilius Zwackelmann

Hallo Zwiebel,

ich habe die Vermutung dass nach einer Änderung an Blocking.pm das 70_EFR Modul nicht mehr stabil läuft.
Das Problem ist ein FHEM Absturz....
Letzte Meldung im Logfile:
2014.03.25 08:06:04 1: CallBlockingFn: Can't connect to localhost:7072

Seit dem 16.03 gibt es hier eine Änderung....
[r5232] (4.0 kB) by rudolfkoenig
Blocking.pm: require DevIo.pm for modules without DevIo.pm but setting


Scheint der Zusammenhang für dich schlüssig...

Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Petrosilius Zwackelmann

Hallo Zwiebel,

mit dem EFR-Modul haben die Probleme nichts zu tun...
Bin noch am suchen...
Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony