[OBIS V2] - Jetzt auch mit SML-Unterstützung

Begonnen von Icinger, 08 April 2016, 19:54:44

Vorheriges Thema - Nächstes Thema

KölnSolar

ZitatWas mich aber noch an der Ausgabe stört ist, das es keine einzelnen Werte für Bezug und Einspeisung gibt. Diese werden unter "power" mit positiven und negativen Vorzeichen ausgegeben.
Das ist normal.
userReadings sind der richtige Lösungsansatz. Allerdings nur nach Vorzeichen auszuwerten ist ein wenig sinnfrei. Wichtigste Größe ist ja eigentlich der Verbrauch/Leistung. Bei mir über den Erzeugungszähler ermittelbar. Bei Dir aus Solarlog-Daten(ggfs. Batterie).

Weil ziemlich OT, schicke ich Dir ne PN.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

cocojambo

Über Solarlog läßt sich nicht der Einspeise wert ermitteln, weil dort immer der Ladestrom der Batterie mitgerechnet wird, den ich aber einzeln nicht bekomme. Deshalb habe ich ja den Zweirichtungszähler angezapft. Genauer geht es ja nicht. Und ich finde das nicht unbedingt sinnfrei, weil ich keine andere Möglichkeit sehe die Daten aus dem Zähler sonst zu differenzieren. Deshalb habe ich bis jetzt diese Lösung bevorzugt, solange es nix besseres gibt.

define ISKRA_MT691_notify notify ISKRA_MT691 { my $Strom = ReadingsVal("ISKRA_MT691", "power", " ") ;; {if ($Strom > 0) {fhem ("setreading ISKRA_MT691 Bezug $Strom");;} else {if ($Strom <= 0) {fhem ("setreading ISKRA_MT691 Bezug 0");;{if ($Strom < 0) {fhem ("setreading ISKRA_MT691 Einspeisung $Strom");;} else {if ($Strom >= 0) {fhem ("setreading ISKRA_MT691 Einspeisung 0");;}}}}}}}

So funktioniert es zumindest mit den Werten. An dieser Stelle müßte aber noch das Minusvorzeichen "verschwinden". Ich habe überall geguckt. Nichts gefunden außer der Perl-Funktion "abs". Da weiß ich aber nicht wie ich die hier einbauen kann.

{if ($Strom > 0) {fhem ("setreading ISKRA_MT691 Bezug $Strom")

Kann mir da einer weiterhelfen?

Gruß aus Kölle
Norbert
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

ichotolot85

Hallo zusammen
Habe eine Frage. Wir haben bei uns einen AS3000 Zähler von Elster. Jetzt beherrschst der Zähler aber nur EN 62056-21 Protokoll (wie Landis&Gyr E110 oder E350).
Von Volkszähler gibt es eine Anleitung zum auslesen dieses Zählers (https://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/elster_as3000).
Jedoch möchte ich den Zähler mit FHEM auslesen. Gibt es dafür eine Möglichkeit, diesen in das Modul zu Pflegen, oder habe ich etwas übersehen?
Gruss Ichotolot85 

KölnSolar

RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

ichotolot85

Zitat von: KölnSolar am 03 September 2019, 08:03:57
Guck mal hier zur Definition eines E110.

Vielen Dank KölnSolar, so hat das auslesen funktioniert.

Als Input für eine zukünftige 47_OBIS Version wäre eine Lösung für das Problem, welches auch in diesem Artikel vorhanden ist (Initalkommando 300 Baud und Umstellung auf 9600 Baud).
Zitat von: hypetsch am 27 Mai 2016, 21:57:50
1) Ein kompletter Auslesezyklus über 3 Minuten
Das Auslesen funktioniert scheinbar nur mit 300 Baud. Stellt man im define auf 9600 werden keine Daten mehr empfangen. Soweit ich weiß sollte der Zähler auch ein Auslesen mit 9600 Baud unterstützen. Eventuell liegt es daran, dass die "Initialisierungskommandos" immer mit 300 Baud geschickt werden müssen.

Aber eben, nur als Input, ich bin froh das ich den Zähler überhaupt auslesen kann.

cocojambo

Ich habe hier im Thread einiges über das statistics Modul gelesen und wollte damit die Daten des Obis Moduls auslesen und erweitern.
Ich habe zwei Devices im statistics Modul definiert. Einzeln funktionieren sie mit dem Modul aber ich bekomme nicht beide untergebracht, weil beide Devices ein Reading "power" haben und das bringt das statistics Modul durcheinander.

define Statistiken statistics HMFMS_01_Pwr|ISKRA_MT691
setuuid Statistiken 5c470f64-f33f-6f9b-e138-380736f0cc4abdb1
attr Statistiken dayChangeTime 00:00
attr Statistiken deltaReadings ISAKRA_MT691:Bezug | ISAKRA_MT691:Einspeisung | HMFMS_01:power
attr Statistiken excludedReadings ISKRA_MT691:power
attr Statistiken ignoreDefaultAssignments 1
attr Statistiken room Test,Unsorted


Es handelt sich um einen Zähler und um eine HM Mess-Steckdose. Gebe ich als deltaReadings folgendes an:
attr Statistiken deltaReadings Bezug,Einspeisung,power

werden von den beiden Devices jeweils abwechsend die "power" Werte ausgewertet. Das gibt ein heilloses Durcheinander.
Setze ich das Attribut, wie oben,
attr Statistiken singularReadings ISKRA_MT691:Einspeisung:Delta:(Hour|Day|Month|Year) | ISKRA_MT691:Bezug:Delta:(Hour|Day|Month|Year) | HMFMS_01_Pwr:state:Delta:(Hour|Day|Month|Year)

dann funktioniert das Modul nicht mehr. Wie muß ich die Attribute setzen um beide Devices getrennt auszuwerten?

Gruß aus Köln
Norbert
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

gramels

Hallo,

mein OBIS Sensor am Landis & Gyr E230 via

/dev/ttyUSB0@300,7,E,1 VSM102

hängt ca alle 10 Tage immer um 02:00.
Liefert einfach keine Daten mehr.

Ausser den Raspberry Pi new zu booten ist es mir noch nicht gelungen das zu beheben.

Hat jemand eine Idee woran das liegen könnte?

USB device ist noch da

Bus 001 Device 005: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)




cs-online

Hallo,

ich hatte so ein ähnliches Problem, schau ich mittels Timer (at) einmal pro Minute auf das ReadingsAge (also die Zeit seit dem letzten Reading) und wenn das >60s ist, dann schicke ich ein defmod (also dahinter genauso, wie unter raw Definition am Ende der Seite vom OBIS-Device steht) los, damit wird das Modul dann neu gestartet. Gewöhnlich läuft das damit sehr stabil, ausser mein ESP, der die Datenübertragung macht, hängt sich selber weg, dann hilft nur ab und anstöpseln...

Kannst ja mal testen,

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

gramels

Zitat von: cs-online am 30 September 2019, 09:32:50
mittels Timer (at) einmal pro Minute auf das ReadingsAge (also die Zeit seit dem letzten Reading) und wenn das >60s ist, dann schicke ich ein defmod
Hi, Danke! :-)

Kannst Du den Code Schnipsel, der das macht kund tun.

Grüsse
gramels

cs-online

hier der Timer:

define Stromwerte_Timer at +*00:01:00 {\
my $d3 = ReadingsAge("Stromzaehler","power",0);;\ #GGF. ANPASSEN, BEI MIR HEISST DAS OBIS-DEVICE Stromzaehler
if ($d3 >= 60) {fhem ("defmod Stromzaehler OBIS 192.168.2.61:23");;;;\ #HIER DIE DEF VON DEINEM STROMZÄHLER REIN !!!
my $d4 = ReadingsVal("Stromzaehler","Anzahl_Neustarts",0);;\
$d4 = $d4 + 1;;\
fhem ("setreading Stromzaehler Anzahl_Neustarts $d4");;;;\
fhem ("setreading Stromzaehler Neustart ".TimeNow());;;;\
fhem ("save");;;;\
}\

}


So aus der Raw-Definition heraus kopiert...
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

cocojambo

Ich habe heute nach dem Neustart von FHEM mal in den LOG gesehen und dort Fehlermeldungen zum Obis Modul gesehen:

2019.10.07 17:18:40 1: PERL WARNING: Use of uninitialized value $1 in hash element at ./FHEM/47_OBIS.pm line 476.
2019.10.07 17:18:40 1: PERL WARNING: Use of uninitialized value $1 in hash element at ./FHEM/47_OBIS.pm line 544.
2019.10.07 17:18:40 1: PERL WARNING: Use of uninitialized value $v1 in substitution (s///) at ./FHEM/47_OBIS.pm line 560.


Modul funktioniert bei mir zwar einwandfrei, aber vielleicht kann der Maintainer des Moduls mit der Fehlermeldung was anfangen und korrigieren.

Gruß aus Köln
Norbert
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

tr_ex

@ichotolot85
Versuch mal die Definition mit dem AS1440 anstatt des E110. Dann kommen nur aktuelle Daten und die historischen Werte werden unterdrückt. Funktioniert zwar auch nur mit 300 Baud, aber der Datenumfang ist deutlich geringer.

AnDiBaCkE

Hallo zusammen,
ich habe jetzt schon eine Weile hier im OBIS Thread gelesen aber für mein Problem konnte ich noch keine Lösung finden.

Ich habe einen PAFAL 20EC3gr Zähler mit einem IR USB und folgende Definition angelegt:
define Stromzaehler2 OBIS /dev/ttyUSB0@300,7,E,1 VSM102
attr Stromzaehler2 interval 60
attr Stromzaehler2 pollingMode off
attr Stromzaehler2 verbose 5


Der Zähler sendet folgendes Lebenszeichen: "/PAF5EC3r000" aber sendet keine Messdaten bzw. Zählerstand.
Nun habe ich im Photovoltaik- Forum gelesen https://www.photovoltaikforum.com/thread/89365-weitere-pv-anlage-mit-eigenstromverbrauch-%C3%BCberwachen/?t=89365 dass der Zähler einmal angesprochen werden muss um sich zu melden und innerhalb von 1,5s eine zweite Anfrage für die Messdaten bekommen muss.
Unterstützt das OBIS V2 Modul diese Vorgehensweise?
Wenn ja, was muss ich noch zusätzlich tun um die zweite Anfrage über FHEM zu senden?

Vielen Dank im Voraus!
Gruß, Andi
FHEM auf RasPi2
CUL und HMLAN Adapter

tr_ex

Hallo AnDiBaCkE
laut dem Beitrag muss der Zähler mit 3 Sendesequenzen zum Messwerteversand überredet werden. Das ist aktuell nicht möglich. Du müsstes bitte einmal Deinen Zähler mit hterm zum Senden der Daten bringen und uns schreiben wie Du dies angestellt hast. Wenn die Pause nicht notwendig ist, besteht gute Hoffnung der Integration.

AnDiBaCkE

Hallo tr_ex,
ich habe mich einmal an hterm versucht:
#1 Wenn ich einzeln 2F 3F 21 0D 0A sende dann erhalte ich als Antwort "PAF5EC3r000".
#2 Wenn ich nun den 3in1 hex-Befehl inkl. Pause (2F 3F 21 0D 0A 00 00 00 00 00 00 00 06 30 30 30 0D 0A) sende dann kommt gar keine Antwort.
#3 Wenn ich ich den kombinierten 3in1 hex-cmd-Befehl (2F 3F 21 0D 0A wait=2500 06 30 30 30 0D 0A) sende dann stürzt mein hterm ab.
#4 Wenn ich beiden Befehle (2F 3F 21 0D 0A + 06 30 30 30 0D 0A) einzeln mit einer manuellen Pause sende erhalte ich auch keine Antwort.

Nun bin ich leider immer noch nicht schlauer  :-\
Der PAFAL Zähler ist ja scheinbar noch nicht "smart" oder kann es sein das ich erst einen Freischaltcode vom Netzbetreiber holen muss?

Vielen Dank!

Gruß,
Andi
FHEM auf RasPi2
CUL und HMLAN Adapter