Obis SML Modul über TCP geht nicht

Begonnen von Decki, 27 September 2020, 18:37:48

Vorheriges Thema - Nächstes Thema

gandi1791

#15
Hallo Decki,

konntest Du das Problem mittlerweile lösen?
Ich habe genau das gleiche Problem.

bzw. mit der alten Version, die ich seit längerer Zeit betreibe und nicht upgedated habe, funktioniert es noch.
Leider hat die Version auch die ein oder andere Macke.
Der schlimmste Fehler führt regelmäßig zum Absturz von fhem:

Cannot pack Inf with 'C' at ./FHEM/47_OBIS.pm line 364.
Ich habe diese Version installiert:
File      Rev  Last Change

47_OBIS.pm 18601 2019-02-15 18:22:11Z Icinger

doif.js                    24438 2021-05-14 18:08:18Z Ellert
fhemweb.js                27117 2023-01-25 09:13:32Z rudolfkoenig
fhemweb_readingsGroup.js  15189 2017-10-03 17:53:27Z justme1968

Ich habe mir jetzt damit beholfen, dass ich die Länge des $scaler prüfe, bevor es in das 'pack' Kommando kommt.
Ich bin mir nicht 100% sicher mit 'pack("C"...', wie groß 'C' sein darf.
lt. Perl Doku ist es ein Octet, also 256 Zeichen?  ::)  -  Bitte um Verzeichnung, falls das falsch ist. Ich bin kein gelernter Programmierer und ich habe zu Octet nur Byte gefunden, was 8 Bit entspräche.

Statt....
$scaler=$scaler ne "" ? (10**unpack("c", pack("C", hex($scaler)))) : 1;
...habe ich nun folgendes im Script:
if (length($scaler)>256){
Log 1, "scaler to long: $scaler";
Log 1, "scaler set to 'empty'";
$scaler="";}
else
{$scaler=$scaler ne "" ? (10**unpack("c", pack("C", hex($scaler)))) : 1;}

Seit dem stürzt fhem nicht mehr ab und ich sehe, was in $scaler steht.

Lieber wäre mir allerdings eine funktionierende Version von 47_OBIS, das auch SML über TCP kann.
Im Originalthread konnte ich nichts zu dem Thema finden.
Ich habe nur die Suchfunktion verwendet, da ich - ehrlich - 101 Seiten schon sehr krass finde, um sie durchzulesen - sorry  ::)

Edit:
Habe nun ab ca. ab der Hälfte, also zu dem Zeitpunkt als gvzdus als Maintainer eingestiegen ist, und dann irgendwann die komplett überarbeitete Version herausgebracht hat, alles durchgekämmt.
Von dem Zeitpunkt weg war aber nicht wirklich ein Hinweis auf Probleme zu lesen, bzw. ging es eigentlich fast immer nur um USB Varianten (sofern es um Konnektivität ging).
fhem auf proxmox container
minicul>ESP-01>868>MAX!; minicul>ESP-01>433>SignalDuino>RSL/Jaro/IT
ESP-01>HM-MOD-RPI-PCB>HM
MySensorsGW>NodeMCU>Sensoren, Aktoren, div.
Broadlink RM Pro+ >433 Steckdosen, IR TV/Receiver; Hue, Alexa Echo Plus, div.Dot 2/3/4;DVB-T Stick>mqtt>TFA 30.3180

viegener

Hallo gandi

kannst Du Dein Problem genauer beschreiben, insbesondere was für ein Zähler / List des devices - log-Auszug?

Generell ist Deine Version von 2019 - ist Dein ganzes FHEM auf diesem Stand?

Die Zeile mit scaler ist bei mir im aktuellen Modul gar nicht enthalten und auch keine ähnlichen Inhalte

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

gandi1791

Zitat von: viegener am 01 Mai 2023, 13:49:34Generell ist Deine Version von 2019 - ist Dein ganzes FHEM auf diesem Stand?
Nein. Alles andere ist up2date.

Zitat von: viegener am 01 Mai 2023, 13:49:34Die Zeile mit scaler ist bei mir im aktuellen Modul gar nicht enthalten und auch keine ähnlichen Inhalte
Das ist in der alten Version, die noch von Icinger ist.
gvzdus hat ja dann vor einiger Zeit eine komplett überarbeitete Version online gestellt.
Spätestens seit dieser Version ist es mir nicht mehr möglich über ESP Easy > Communication - Serial Server Daten zu empfangen.

Zitat von: viegener am 01 Mai 2023, 13:49:34kannst Du Dein Problem genauer beschreiben, insbesondere was für ein Zähler / List des devices - log-Auszug?
Ich habe mir mein Setup nach dieser Anleitung gebaut:
mwinkler - Stromzähler Digital

Ich habe zwei Änderungen zu diesem Setup:
Fototransistor: BPW40 durch SFH309FA ersetzt.
Signal mit BC 547C verstärkt.

Zähler: DTZ541

ESP Easy Firmware:
Build:⋄               20116 - Mega
System Libraries:⋄    ESP82xx Core 2843a5ac, NONOS SDK 2.2.2-dev(38a443e), LWIP: 2.1.2 PUYA support
Git Build:⋄           mega-20220328
Plugin Count:⋄        47 [Normal]
Build Origin:         GitHub Actions
Build Time:⋄          Mar 28 2022 07:21:29
Binary Filename:⋄     ESP_Easy_mega_20220328_normal_ESP8266_1M
Build Platform:⋄      Linux-5.11.0-1028-azure-x86_64-with-glibc2.31
Git HEAD:⋄            HEAD_9d46d4d

ESP Easy - Serial Server Einstellungen:
Serial Port                    HW Serial0:GPIO-3(D9)<-TX/GPIO-1(D10)->RX
TCP Port                       23
Baud Rate                      9600
Serial Config                  8 bit /parity: None / stop bits: 1
Event processing               None
RX Receive Timeout (mSec)      0
Reset target after init        None
RX buffer size (bytes)         256

fhem Device:
defmod Stromzaehler OBIS 192.168.110.38:23 SML
attr Stromzaehler ignoreUnknown on
attr Stromzaehler interval 30

Problem:
Sobald ich auf die neue OBIS Version update, empfange ich keine Daten mehr.
Mit der alten Version geht es.
Die alte Version hat allerdings wohl einige Macken.
Vor allem die im vorherigen Post beschriebene Problematik mit den dauernden Abstürzen.
Diese konnte ich zwar mit einer Pflasterlösung soweit beheben, dass fhem nicht mehr abstürzt, aber ich habe immer wieder völlig utopische Werte beim Verbrauch ("power").



fhem auf proxmox container
minicul>ESP-01>868>MAX!; minicul>ESP-01>433>SignalDuino>RSL/Jaro/IT
ESP-01>HM-MOD-RPI-PCB>HM
MySensorsGW>NodeMCU>Sensoren, Aktoren, div.
Broadlink RM Pro+ >433 Steckdosen, IR TV/Receiver; Hue, Alexa Echo Plus, div.Dot 2/3/4;DVB-T Stick>mqtt>TFA 30.3180

viegener

Sorry für die Verspätung, die Antwort ist bei mir wohl untergegangen.

Wenn Du Dein Problem noch nicht gelöst hast, würde ich vorschlagen mal folgende Änderungen

Attribut interval entfernen und möglicherweise explizit noch "pollingMode off" setzen.

Wenn das nicht geht, wäre ein list (nicht list -r) des devices hilfreich
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

gandi1791

Habe es eben nochmal ausprobiert.
Geht leider nicht.

hier das list:
Internals:
   CFGFN     
   CRC_Errors 28
   DEF        192.168.110.38:23 SML
   DeviceName 192.168.110.38:23
   FD         15
   FUUID      649f1d10-f33f-ccd3-2881-b9bdb096e6c01354
   MeterType  SML
   NAME       Stromzaehlertest
   NR         351
   PARTIAL   
   STATE      opened
   TYPE       OBIS
   READINGS:
     2023-06-30 20:21:06   state           opened
   helper:
     BUFFER     
     EoM        -1
     NETDEV     1
     SPEED      5
     TRIGGERTIME 1688149265.00728
     DEVICES:
       
       0
       
     RULECACHE:
Attributes:
   pollingMode off
fhem auf proxmox container
minicul>ESP-01>868>MAX!; minicul>ESP-01>433>SignalDuino>RSL/Jaro/IT
ESP-01>HM-MOD-RPI-PCB>HM
MySensorsGW>NodeMCU>Sensoren, Aktoren, div.
Broadlink RM Pro+ >433 Steckdosen, IR TV/Receiver; Hue, Alexa Echo Plus, div.Dot 2/3/4;DVB-T Stick>mqtt>TFA 30.3180