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

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

Vorheriges Thema - Nächstes Thema

RalfRog

@Sunrise

Schau es dir auf jeden Fall mal mit verbose 5 an (filelog für das Device vorausgesetzt).
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

sunrise

Danke, das mache ich!

Hier noch das:

define FileLog_MyObis2 FileLog /opt/fhem/log/MyObis2-%Y-%m.log MyObis2:(power|.*Last|total_consumption).*
attr FileLog_MyObis2 archivedir /opt/fhem/log/archive/
attr FileLog_MyObis2 createGluedFile 1
attr FileLog_MyObis2 nrarchive 2
#   DEF        /opt/fhem/log/MyObis2-%Y-%m.log MyObis2:(power|.*Last|total_consumption).*
#   FD         12
#   NAME       FileLog_MyObis2
#   NR         146
#   NTFY_ORDER 50-FileLog_MyObis2
#   REGEXP     MyObis2:(power|.*Last|total_consumption).*
#   STATE      active
#   TYPE       FileLog
#   currentlogfile /opt/fhem/log/MyObis2-2025-02.log
#   logfile    /opt/fhem/log/MyObis2-%Y-%m.log
#   READINGS:
#     2025-02-17 10:51:52   linesInTheFile  25337
#
setstate FileLog_MyObis2 active
setstate FileLog_MyObis2 2025-02-17 10:51:52 linesInTheFile 25337

Kann es sein, dass ich mir mit der o.g. Definition die Readings unwillentlich beschränkt habe? Da ich das alles vor längerer Zeit aufgesetzt hatte und leider seither einiges vergessen habe, ist mir nicht klar, ob es daran liegt.

Allerdings sehe ich am neuen HT/NT-Zähler mit dem "Taschenlampen-Trick" über die IR-Schnittstelle trotz eingegebener PIN (wird auch akzeptiert) nur Laufwerk 1.8.0 und 2.8.0, aber eben kein 1.8.1 oder 1.8.2 für HT bzw. NT. Da kann doch eigentlich auch nichts in OBIS ankommen, außer eben 1.8.0.
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

sunrise

Zitat von: RalfRog am 17 Februar 2025, 09:52:10Schau es dir auf jeden Fall mal mit verbose 5 an (filelog für das Device vorausgesetzt).

Was meinst Du mit "filelog für das Device vorausgesetz"? Ich habe es so gemacht:

define MyObis2 OBIS /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0042-if00-port0@9600,8,N,1,SML
attr MyObis2 userattr mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long
attr MyObis2 alias Wärmepumpen-Strom
attr MyObis2 channels {\
"1.0.96.50.1.1"=>"Hersteller_ID",\
"1.0.96.1.0.255"=>"Geraetekennung"}
attr MyObis2 event-min-interval .*:300
attr MyObis2 event-on-change-reading .*consumption.*,power.*
attr MyObis2 icon stromzaehler_icon@brown
attr MyObis2 interval 300
attr MyObis2 pollingMode on
attr MyObis2 room Strom,HomeAssistant
attr MyObis2 unitReadings off
attr MyObis2 verbose 5

define FileLog_MyObis2 FileLog /opt/fhem/log/MyObis2-%Y-%m.log MyObis2:(power|.*Last|total_consumption).*
attr FileLog_MyObis2 archivedir /opt/fhem/log/archive/
attr FileLog_MyObis2 createGluedFile 1
attr FileLog_MyObis2 nrarchive 2
(runterscrollen, es kommt noch mehr Code)

Nach der Änderung von `verbose 3` auf `verbose 5` habe ich FHEM neu gestartet, aber in `MyObis2-2025-02.log` finden sich nicht mehr Details als vorher (Werte "geschwärzt"):

2025-02-17_10:59:55 MyObis2 statTotal_consumptionLast: Hour: xxx Day: xxx Month: xxx Year: xxx (since: xxx )
2025-02-17_10:59:55 MyObis2 statTotal_consumptionHourLast: xxx
2025-02-17_11:00:07 MyObis2 total_consumption: xxx
2025-02-17_11:00:07 MyObis2 power: xxx
2025-02-17_11:02:52 MyObis2 total_consumption: xxx
2025-02-17_11:02:52 MyObis2 power: xxx


Liegt's an der Einschränkung über RegEx?

MyObis2:(power|.*Last|total_consumption).*
Aber wie gerade zuvor geschrieben: Am Display sehe ich auch nur 1.8.0 und 2.8.0.
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

RalfRog

Hi
Anmerkung zum Zähler aus der Anleitung die du oben verlinkt hast.
Zitat5.4.4 Doppeltarifmodus
Der Zähler unterstützt optional (siehe Abschnitt 2.5.1 ,,Übersicht") eine
Doppeltarif‐Funktion, die von externen Geräten gesteuert wird. Vor der
erstmaligen Aktivierung der Doppeltariffunktion ist die Standardanzeige aktiv und
es wird das entsprechende Bezugs‐ oder Lieferregister angezeigt (1.8.0 bzw.
2.8.0).

Die Aktivierung der Doppeltarif‐Funktion erfolgt über die Anschlussklemmen 13
und 15. Werden diese für mehr als 15 Sekunden mit einem Steuersignal
(Spannung: 230V) angesprochen, aktiviert sich die bei der Bestellung definierten
und werkseitig eingestellten Doppeltarif‐Funktion dauerhaft.
Dabei können acht verschiedene Doppeltarif‐Konfigurationen im Werk
parametrisiert werden, wovon A‐D für die kombinierte SLP‐ und 4Q‐RLM
Doppeltarif‐Messung und vier (E‐H) für die reine SLP‐ und Doppeltarif‐Messung
verwendet werden können.
Ist die Doppeltariffunktion aktiviert, blinkt der aktive Tarif und wird in der
obersten Zeile im Feld OBIS‐Code angezeigt. In der rollierenden Liste werden die
aktiven Tarifregister für jede Richtung (Import/Export) nacheinander angezeigt.
Beispielsweise wird die Doppeltarif‐Konfiguration A (Bezug und Lieferung) in der
Parametrisierung als SLP‐Zähler wie folgt angezeigt: 1.8.1 ‐> 1.8.2 ‐> 2.8.1 ‐> 2.8.2
Für mein Veständnis müsste zumindest in der Anzeige bei einem Doppeltarifmodus 1.8.1 und 1.8.2 angezeigt werden, da das ja Abrechnugsrelevante Zählerstände sind. Hast du denn tatsächlich Verträge in den HT und NT abgrechnet werden?

Zitat von: sunrise am 17 Februar 2025, 11:09:44Aber wie gerade zuvor geschrieben: Am Display sehe ich auch nur 1.8.0 und 2.8.0.
Das sieht zumindest gemäß Anleitung danach aus, dass hier der Doppeltarifmodus nicht aktiv ist.

Gruß Ralf

FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

RalfRog

Zitat von: sunrise am 17 Februar 2025, 11:09:44Liegt's an der Einschränkung über RegEx?
Ja natürlich. Mit der RegEx schränkst du ja ein was geloggt werden soll.
Zumindest temporär kannst du mal einen Teil von "MyObis2:(power|.*Last|total_consumption).*" in der Def entfernen.
Zitat von: sunrise am 17 Februar 2025, 11:09:44defmod FileLog_MyObis2 FileLog /opt/fhem/log/MyObis2-%Y-%m.log MyObis2.*


FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

sunrise

Entschuldige bitte, dass ich Dich (Euch) so in Anspruch genommen habe! 🫢 Inzwischen habe ich erfahren, dass es trotz HT/NT-Zähler (noch) ein Einfach-Tarif ist. Daher wird entsprechend natürlich auch nur auf 1.8.0 etwas angezeigt. Insofern funktioniert das OBIS-Modul also nach wie vor korrekt. 👍
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

RalfRog

Zitat von: sunrise am 17 Februar 2025, 11:34:43Entschuldige bitte, dass ich Dich (Euch) so in Anspruch genommen habe! 🫢 Inzwischen habe ich erfahren, dass es trotz HT/NT-Zähler (noch) ein Einfach-Tarif ist. Daher wird entsprechend natürlich auch nur auf 1.8.0 etwas angezeigt. Insofern funktioniert das OBIS-Modul also nach wie vor korrekt. 👍
5.4.4 Doppeltarifmodus  ==> da steht ja auch wie es der Netzbetreiber aktivieren kann.

Gute Gelegenheit mal mit verbose=5 zu spielen  ;D
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

sunrise

So ist es! Nochmals danke für Deine Geduld! ❤️ Ich werde mir nun überlegen, ob ich es noch auf den Doppeltarifmodus umstellen lasse (war ja eigentlich Sinn des Wechsels), aber das soll hier nicht mehr Thema sein.
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

Chris_XXX

Hallo zusammen,
bei mir wurde der Zähler getauscht. Ich habe den Neuen wieder per OBIS eingebunden doch seit dem habe ich eine ständige erhöhte CPU Last. Mit den Attributen alignTime und pollingMode habe ich schon herum gespielt. Hat leider nix gebracht. Hat jemand einen Tipp für mich? 

defmod StromzaehlerEMH OBIS /dev/ttyUSB0@9600 SML
attr StromzaehlerEMH DbLogExclude .*
attr StromzaehlerEMH DbLogInclude Einspeisung,Bezug,power
attr StromzaehlerEMH alignTime 00:00:00
attr StromzaehlerEMH createPreValues on
attr StromzaehlerEMH event-on-change-reading Bezug:1,Einspeisung:1,power:30
attr StromzaehlerEMH interval 15
attr StromzaehlerEMH pollingMode on

VG
Christian

sunrise

Wie unterscheidet sich Deine neue Konfiguration von der vorherigen, welche Du für den vorherigen Zähler verwendet hast?
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

Chris_XXX

Andere Hardware. Der alte war so konfiguriert:

defmod Stromzaehler2 OBIS /dev/ttyUSB3@9600 SML
attr Stromzaehler2 DbLogExclude .*
attr Stromzaehler2 DbLogInclude 1.8.1_Bezug_HT,1.8.2_Bezug_NT,2.8.0_Einspeisung,16.7_aktuelle_Leistung_Log
attr Stromzaehler2 alias Wohnung Stromzähler 2
attr Stromzaehler2 channels {"1.8.1"=>"1.8.1_Bezug_HT","1.8.2"=>"1.8.2_Bezug_NT"}
attr Stromzaehler2 createPreValues on
attr Stromzaehler2 event-on-change-reading 1.8.0,1.8.1_Bezug_HT:1,1.8.2_Bezug_NT:1,16.7,16.7_aktuelle_Leistung,16.7_aktuelle_Leistung_Log:30,2.8.0,2.8.0_Einspeisung:1,Flussrichtung
attr Stromzaehler2 interval 15
attr Stromzaehler2 pollingMode on
attr Stromzaehler2 room Stromzaehler
attr Stromzaehler2 timestamp-on-change-reading 1.8.0,2.8.0
attr Stromzaehler2 userReadings 2.8.0_Einspeisung { ReadingsVal("Stromzaehler2","2.8.0", 0) }, \
 Flussrichtung {time_str2num(ReadingsTimestamp($name, "1.8.0",0))> time_str2num (ReadingsTimestamp ($name, "2.8.0",0)) ? "1000" : "-1000"}, \
 16.7_aktuelle_Leistung { ReadingsVal("Stromzaehler2","16.7", 0) * ReadingsVal("Stromzaehler2","Flussrichtung", 0)}, \
 16.7_aktuelle_Leistung_Log { ReadingsVal("Stromzaehler2","16.7", 0) * ReadingsVal("Stromzaehler2","Flussrichtung", 0)}

Der alte war von Landis? und der Neue ist von EMH

sunrise

Bist Du Dir bzgl. der neuen USB-Schnittstelle (ttyUSB0 statt ttyUSB3) sicher? Hast Du versucht, die Baudrate (9600) zu verändern? Hast Du versucht, das event-on-change-reading nochmal testweise so einzustellen wie es beim alten Zähler war?

DbLogInclude sagt mir übrigens nichts, d.h. damit habe ich mich nicht beschäftigt. Falls es eine Datenbank ist (der Name spricht ja dafür) und Du das anstelle eines FileLog verwendest (so sieht es für mich aus), könnte es sein, dass - rein zufällig und nicht in kausalem Zusammenhang mit dem Zählerwechsel - ein Problem mit der DB besteht, was die hohe CPU-Last verursacht? Evtl. könntest Du herausfinden, welcher Prozess diese verursacht (`top` o.ä.).

Das ist nur ein Schuss ins Blaue, und ich vermute, dass die Experten hier im Forum hilfreichere Hinweise haben. Aber das könntest Du ja trotzdem soweit schonmal prüfen. Viel Erfolg! 👍
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

Chris_XXX

Der USB Port passt schon. Hätte vorher zwei Zähler. Baudrate ist laut Datenblatt vom Zähler auch 9600. Die Loggingparameter habe ich bei anderen Devices ebenfalls.
Gibts weitere Ideen?

KölnSolar

Ja.  8) Erhöhe mal Dein interval auf 60. Parallel Deinen "CPU Monitor" u. Event Monitor beobachten. Ggfs. den verbose level erhöhen u. im Log beobachten.

Wenn Du Abhängigkeiten(doif, notify, filelog....) hast, diese testweise deaktivieren.

Grüße Markus
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

Chris_XXX

Hmm also alles unauffällig.
Intervall auf 60. Keine Veränderung.
Im Logfile springt mich auch nichts an. Ich habe mit dem Zähler nur zwei Elictricity Calculator verknüpft. Sobald ich das Device lösche geht die Last merklich runter.
2025.02.20 16:17:00 5: DevIo_SimpleWrite StromzaehlerEMH:
2025.02.20 16:17:00 4: OBIS (StromzaehlerEMH) - Wrote
2025.02.20 16:17:00 5: OBIS (StromzaehlerEMH) - Internal timer set to 2025-02-20 16:18:00
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - SML-Parse 1B1B1B1B010101017605022F80DC6200620072630101760107FFFFFFFFFFFF0500BA804A0B0A01454D480000D0F50972620165007C57096201635B60007605022F80DD62006200726307017707FFFFFFFFFFFF0B0A01454D480000D0F509070100620AFFFF72620165007C57097977070100603201010101010104454D480177070100600100FF010101010B0A01454D480000D0F5090177070100010800FF641C110472620165007C5709621E52FF6900000000006F5F9A0177070100010801FF0172620165007C5709621E52FF6900000000006F5F2E0177070100010802FF0172620165007C5709621E52FF69000000000000006C0177070100020800FF0172620165007C5709621E52FF6900000000000BD8E90177070100020801FF0172620165007C5709621E52FF6900000000000BD8D70177070100020802FF0172620165007C5709621E52FF6900000000000000120177070100100700FF0172620165007C5709621B5200550000011A01010163AAE1007605022F80DE620062007263020171016302AC000000001B1B1B1B1A036D84
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Full message-> 1B1B1B1B010101017605022F80DC6200620072630101760107FFFFFFFFFFFF0500BA804A0B0A01454D480000D0F50972620165007C57096201635B60007605022F80DD62006200726307017707FFFFFFFFFFFF0B0A01454D480000D0F509070100620AFFFF72620165007C57097977070100603201010101010104454D480177070100600100FF010101010B0A01454D480000D0F5090177070100010800FF641C110472620165007C5709621E52FF6900000000006F5F9A0177070100010801FF0172620165007C5709621E52FF6900000000006F5F2E0177070100010802FF0172620165007C5709621E52FF69000000000000006C0177070100020800FF0172620165007C5709621E52FF6900000000000BD8E90177070100020801FF0172620165007C5709621E52FF6900000000000BD8D70177070100020802FF0172620165007C5709621E52FF6900000000000000120177070100100700FF0172620165007C5709621B5200550000011A01010163AAE1007605022F80DE620062007263020171016302AC000000001B1B1B1B1A036D84
2025.02.20 16:17:01 4: OBIS (StromzaehlerEMH) - MSG IS:
/
1-0:96.50.1*1(EMH)
1-0:96.1.0*255(EMH)
1-0:1.8.0*255(>729897*Wh)
1-0:1.8.1*255(729886.2*Wh)
1-0:1.8.2*255(10.8*Wh)
1-0:2.8.0*255(77642.5*Wh)
1-0:2.8.1*255(77640.7*Wh)
1-0:2.8.2*255(1.8*Wh)
1-0:16.7.0*255(282*W)
255-255:255.255.255*255()
!

2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg-Parse: /
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg-Parse: 1-0:96.50.1*1(EMH)
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg 1-0:96.50.1*1(EMH) is of type ManufID2
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg-Parse: 1-0:96.1.0*255(EMH)
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg-Parse: 1-0:1.8.0*255(>729897*Wh)
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg 1-0:1.8.0*255(>729897*Wh) is of type Counter
2025.02.20 16:17:01 4: OBIS (StromzaehlerEMH) - Set total_consumption to 729897
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg-Parse: 1-0:1.8.1*255(729886.2*Wh)
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg 1-0:1.8.1*255(729886.2*Wh) is of type Counter
2025.02.20 16:17:01 4: OBIS (StromzaehlerEMH) - Set total_consumption_Ch1 to 729886.2
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg-Parse: 1-0:1.8.2*255(10.8*Wh)
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg 1-0:1.8.2*255(10.8*Wh) is of type Counter
2025.02.20 16:17:01 4: OBIS (StromzaehlerEMH) - Set total_consumption_Ch2 to 10.8
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg-Parse: 1-0:2.8.0*255(77642.5*Wh)
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg 1-0:2.8.0*255(77642.5*Wh) is of type Counter
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg-Parse: 1-0:2.8.1*255(77640.7*Wh)
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg 1-0:2.8.1*255(77640.7*Wh) is of type Counter
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg-Parse: 1-0:2.8.2*255(1.8*Wh)
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg 1-0:2.8.2*255(1.8*Wh) is of type Counter
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg-Parse: 1-0:16.7.0*255(282*W)
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg 1-0:16.7.0*255(282*W) is of type Channels
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg-Parse: 255-255:255.255.255*255()
2025.02.20 16:17:01 5: OBIS (StromzaehlerEMH) - Msg-Parse: !

Der alte Zähler war übrigens anders definiert: /dev/ttyUSB1@300,7,E,1 VSM102
Jemand noch eine Idee?

VG
Christian