Modul 93_Log2Syslog - FHEM Logs an Syslog-Server leiten und Syslogs empfangen

Begonnen von DS_Starter, 14 August 2017, 23:40:10

Vorheriges Thema - Nächstes Thema

DS_Starter

Hallo zusammen,

ich habe dem Modul eine automatische Erkennung des BSD/IETF Syslog-Formats spendiert.
Für das Attribut "parseProfile" gibt es dazu nun auch den Wert "Automatic" was gleichzeitig der Standard nach der Definition eines Collectors ist.

Zum Testen befindet sich die Modulversion zunächst im contrib:
https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter  (Downloadbutton benutzen)

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

TarjaT

Hallo, ich nutze Fhem bereits etwas länger und habe dank des Forums alle Unklarheiten beseitigen können.
Nun muss ich aber auch mal eine Frage stellen.

Ich möchte auch gerne meine Logs an meine Synology weiter leiten.
Das klappt allerdings so gut, dass ich am ersten Tag bereits nach ca. 8 Stunden 46.000 Einträge hatte.
Also habe ich noch mal in der Commandref nachgelesen und versucht nur bestimmte verbose-level zu berücksichtigen.

Das hat aber scheinbar nicht richtig funktioniert.
Wenn ich global verbose auf 3 stelle und in meinem fhem-log ~100 Einträge habe, hätte ich jetzt im Prokotoll-Center auch ~100 Einträge erwartet.
Das sind aber immer noch viel mehr.

Hier mal mein Device:


Internals:
   DEF        192.168.148.46 ident:fhem event:.* fhem:.*
   FUUID      5c900f3a-f33f-8e7c-735c-acf1993b4e95d11b
   MODEL      Sender
   MYFQDN     homeserver
   MYHOST     homeserver
   NAME       Syslog
   NR         717
   NTFY_ORDER 50-Syslog
   PEERHOST   192.168.168.46
   SEQNO      1
   STATE      disabled
   TYPE       Log2Syslog
   VERSION    5.3.2
   HELPER:
     EVNTLOG    .*
     FHEMLOG    .*
     IDENT      fhem
     LTIME      1553149578.32221
     OLDSEQNO   1
     OLDSTATE   disabled
     SSLALGO    n.a.
     SSLVER     n.a.
   READINGS:
     2019-03-20 22:05:16   SSL_Algorithm   n.a.
     2019-03-20 22:05:16   SSL_Version     n.a.
     2019-03-21 07:26:18   Transfered_logs_per_minute 0
     2019-03-21 07:26:30   state           disabled
Attributes:
   disable    1
   icon       edit_paste
   respectSeverity Emergency,Alert,Critical,Error,Warning,Notice


Auch sind mir die Parameter noch nicht ganz klar:
define <name> Log2Syslog <Zielhost> [ident:<ident>] [event:<regexp>] [fhem:<regexp>]

event scheint klar zu sein, da kann ich gezielt nur temperature oder humidity loggen.
Aber der Parameter fhem ist mir noch nicht klar:
optionaler regulärer Ausdruck zur Filterung von FHEM Logs zur Weiterleitung

Kann ich hier nur bestimmte Logs berücksichtigen?
Dann könnte ich hier ja fhem: fhem.* nehmen damit nur die fhem-logs berücksichtigt werden.
Habe ich natürlich probiert, aber das hat auch nicht funktioniert.

Wäre um paar Hinweise dankbar. Danke und viele Grüße, Tarja


DS_Starter

Hallo TarjaT,

willkommen im Forum.  :)

Grundsätzlich verarbeitet das Modul FHEM Logs, d.h. Einträge die im FHEM-Logfile erstellt werden, und die Events.

Die eingestellten verbose Level global bzw. pro Device steuern zwar die Einträge im FHEM Log, aber mit deiner Einstellung

  192.168.148.46 ident:fhem event:.* fhem:.*

überträgst du alles was an Events erstellt wird und das was in dem FHEM Log entsteht.

Zitat
Aber der Parameter fhem ist mir noch nicht klar:
optionaler regulärer Ausdruck zur Filterung von FHEM Logs zur Weiterleitung
...
Kann ich hier nur bestimmte Logs berücksichtigen?
Dann könnte ich hier ja fhem: fhem.* nehmen damit nur die fhem-logs berücksichtigt werden.
Habe ich natürlich probiert, aber das hat auch nicht funktioniert.
Ja, das kannst du tun. Dafür sind die Filter im Define gemacht.
Der Parameter "fhem" funktioniert genauso wie "events", nur dass sich der nach "fhem" angegebene reguläre Ausdruck auf entstehende Einträge des FHEM-Logs bezieht.
So werden mit


fhem:.*Thermostat.*


nur Einträge weitergeleitet, die "Thermostat" im Satz enthalten. ZUsätzlich können Schwergrade eingeschränkt werden mit dem respectSeverity  Attribut. Hast du ja auch schon.

Wenn du Schwierigkeiten hast, setze im Log2Syslog-Device verbose 4 oder 5 und poste entstsprechende Auszüge aus dem Log gemeinsam mit einem List wie du es schon getan hast.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

TarjaT

Okay, danke. Dann habe ich das soweit verstanden.

Schade ist allerdings, dass die Keywords "error" grundsätzlich verwertet werden.
Meine Wanscam hat die Readings:
> Error: none
> Errorcode: none

Die tauchen nun ständig im Protokoll-Center auf, obwohl das ja keine ERROR sind.

Was mich noch stört ist der Hostname, der ist nämlich eigentlich homeserver.local:

> hostname
homeserver.local

> hostnamectl
Static hostname: homeserver.local

> /etc/hosts
127.0.0.1       localhost
127.0.1.1       homeserver.local

In der Synology steht allerdings: homeserver.fritz.box
In meiner Fritzbox ist der Server namentlich mit "Homeserver" angegeben.

Eine Idee woher der sich den "falschen" Namen noch zieht?

DS_Starter

Zitat
Schade ist allerdings, dass die Keywords "error" grundsätzlich verwertet werden.
Meine Wanscam hat die Readings:
> Error: none
> Errorcode: none
Ja, das Mapping ist nicht ganz unproblematisch.
Hilfreiche Vorschläge nehme ich gerne entgegen.

Zitat
Eine Idee woher der sich den "falschen" Namen noch zieht?
Es wird im Prinzip das verwendet, was der FHEM-Server liefert wenn man

hostname
bzw.
hostname -f

auf Betriebssystemebene ausführt.

Die /etc/hosts sollte also enthalten:

127.0.1.1       homeserver.local        homeserver

EDIT: Jetzt habe ich deinen Post nochmal gelesen und bin der Meinung, dass der Hostname durch den DNS bestimmt wird.
         Kannst ja mal schauen was mit
         nslookup 127.0.1.1
         angezeigt wird.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Für die Implementierung einer Negativliste bezüglich Error-Schweregrad habe ich inzwischen auch eine Idee.
Werde das bei Gelegenheit versuchen umzusetzen und melde mich wenn ich etwas erreicht habe.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

TarjaT

Also hostname als auch hostname -f liefern das gleiche Ergebnis: homeserver.local

> nslookup 127.0.0.1
Server:         192.168.168.1
Address:        192.168.168.1#53

Non-authoritative answer:
1.0.0.127.in-addr.arpa  name = localhost.

Authoritative answers can be found from:

DS_Starter

Hast du hosts so umgeändert wie ich es geschrieben hatte ?
Die Adresse in nslookup ist falsch. Probiers nochmal mit der richtigen .

Edit
Deine netzkonfig kommt mir bisschen komisch vor. Wieso nutzt du 127er Adressen ? Normal wäre mM nach 192.168.x.x
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Hallo zusammen,

habe soeben eine Version eingecheckt, die das Attribut exclErrCond enthält um bestimmte Events vor der Zuweisung des
Schweregrades "Error" zu schützen.

* exclErrCond <Pattern1,Pattern2,Pattern3,...>

Wird in einem Event der Text "Error" erkannt, bekommt diese Message automatisch den Schweregrad "Error" zugewiesen. Im Attribut exclErrCond kann eine durch Komma getrennte Liste von Events angegeben werden, deren Schweregrad trotzdem nicht als "Error" gewertet werden soll. Kommas innerhalb von <Pattern> müssen mit ,, (doppeltes Komma) escaped werden. Das Attribut kann Zeilenumbrüche enthalten.

Beispiel

attr <name> exclErrCond Error: none,
                                      Errorcode: none,
                                      Dum.Energy PV: 2853.0,, Error: none,
                                     .*Seek_Error_Rate_.*,
                                     .*Raw_Read_Error_Rate_.*,
                                     .*sabotageError:.*,
       
Ist morgen früh im Regelupdate. Wer es eilig hat (vllt. TarjaT), kann die Version auch aus dem contrib laden.

https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter  (Downloadbutton benutzen)
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

TarjaT

Top, super. Vielen Dank dafür.
Wegen des Hostnamen muss ich mich noch mal melden wenn ich wieder zu Hause bin.

Tsturm

Hallo Zusammen,

versuche das log2syslog modul zu nutzen, um JSON messages eines devices (Wiffi-Pump2) im raw-format zu empfnagen und dann weiter zu verarbeiten. Allerdings werden die JSON Messages meist in zwei Stücke zerlegt, so dass nur das letzte Stück zur weiteren Verarbeitung im Reading steht. Unten sieht man im Log eine "unzerteilte", danach eine zerteilte Message - leider bleibt nur der zweite Teil erhalten, die Nutzdaten sind aber meistens im 1. Teil.

Any hints?

VG Timmo

Auszug Log File

2019.07.17 21:08:18.173 4: Connection accepted from SyslogServer_192.168.178.65_20304
2019.07.17 21:08:18.175 4: Log2Syslog SyslogServer - #######################################################
2019.07.17 21:08:18.175 4: Log2Syslog SyslogServer - #########        new Syslog TCP Parsing       #########
2019.07.17 21:08:18.176 4: Log2Syslog SyslogServer - #######################################################
2019.07.17 21:08:18.176 4: Log2Syslog SyslogServer - childname: SyslogServer_192.168.178.65_20304
2019.07.17 21:08:18.177 5: Log2Syslog SyslogServer - Buffer content:
{"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"52.92"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"false"}],"Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-47","sec_seit_reset":"1996","zeitpunkt":"2019-07-17 21:08:17","firmware":"wiffi_pump2_91"}}
2019.07.17 21:08:18.178 5: Log2Syslog SyslogServer - message peer: ESP-D95E39.fritz.box,192.168.178.65
2019.07.17 21:08:18.178 4: Log2Syslog SyslogServer - raw message -> {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"52.92"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"false"}],"Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-47","sec_seit_reset":"1996","zeitpunkt":"2019-07-17 21:08:17","firmware":"wiffi_pump2_91"}}
2019.07.17 21:08:18.179 4: Log2Syslog SyslogServer - {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"52.92"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"false"}],"Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-47","sec_seit_reset":"1996","zeitpunkt":"2019-07-17 21:08:17","firmware":"wiffi_pump2_91"}}
2019.07.17 21:08:18.204 4: Log2Syslog SyslogServer - #######################################################
2019.07.17 21:08:18.205 4: Log2Syslog SyslogServer - #########        new Syslog TCP Parsing       #########
2019.07.17 21:08:18.205 4: Log2Syslog SyslogServer - #######################################################
2019.07.17 21:08:18.205 4: Log2Syslog SyslogServer - childname: SyslogServer_192.168.178.65_20304
2019.07.17 21:08:18.207 4: Log2Syslog SyslogServer - Connection closed for SyslogServer_192.168.178.65_20304: EOF



Und hier die session mit der zerteilten Nachricht - mittedrin beginnt ein neues Systlog Parsing:


2019.07.17 21:08:55.555 4: Connection accepted from SyslogServer_192.168.178.65_20028
2019.07.17 21:08:55.557 4: Log2Syslog SyslogServer - #######################################################
2019.07.17 21:08:55.557 4: Log2Syslog SyslogServer - #########        new Syslog TCP Parsing       #########
2019.07.17 21:08:55.558 4: Log2Syslog SyslogServer - #######################################################
2019.07.17 21:08:55.558 4: Log2Syslog SyslogServer - childname: SyslogServer_192.168.178.65_20028
2019.07.17 21:08:55.559 5: Log2Syslog SyslogServer - Buffer content:
{"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"52.62"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"true"}],
2019.07.17 21:08:55.560 5: Log2Syslog SyslogServer - message peer: ESP-D95E39.fritz.box,192.168.178.65
2019.07.17 21:08:55.560 4: Log2Syslog SyslogServer - raw message -> {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"52.62"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"true"}],
2019.07.17 21:08:55.561 4: Log2Syslog SyslogServer - {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"52.62"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"true"}],
2019.07.17 21:08:55.599 4: Log2Syslog SyslogServer - #######################################################
2019.07.17 21:08:55.600 4: Log2Syslog SyslogServer - #########        new Syslog TCP Parsing       #########
2019.07.17 21:08:55.600 4: Log2Syslog SyslogServer - #######################################################
2019.07.17 21:08:55.601 4: Log2Syslog SyslogServer - childname: SyslogServer_192.168.178.65_20028
2019.07.17 21:08:55.601 5: Log2Syslog SyslogServer - Buffer content:
"Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-46","sec_seit_reset":"2034","zeitpunkt":"2019-07-17 21:08:55","firmware":"wiffi_pump2_91"}}
2019.07.17 21:08:55.602 5: Log2Syslog SyslogServer - message peer: ESP-D95E39.fritz.box,192.168.178.65
2019.07.17 21:08:55.602 4: Log2Syslog SyslogServer - raw message -> "Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-46","sec_seit_reset":"2034","zeitpunkt":"2019-07-17 21:08:55","firmware":"wiffi_pump2_91"}}
2019.07.17 21:08:55.602 4: Log2Syslog SyslogServer - "Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-46","sec_seit_reset":"2034","zeitpunkt":"2019-07-17 21:08:55","firmware":"wiffi_pump2_91"}}
2019.07.17 21:08:55.617 4: Log2Syslog SyslogServer - #######################################################
2019.07.17 21:08:55.618 4: Log2Syslog SyslogServer - #########        new Syslog TCP Parsing       #########
2019.07.17 21:08:55.618 4: Log2Syslog SyslogServer - #######################################################
2019.07.17 21:08:55.618 4: Log2Syslog SyslogServer - childname: SyslogServer_192.168.178.65_20028
2019.07.17 21:08:55.620 4: Log2Syslog SyslogServer - Connection closed for SyslogServer_192.168.178.65_20028: EOF


List des Moduls
Internals:
   CONNECTS   6
   FD         23
   FUUID      5d2b3d43-f33f-b872-6c66-157ec1caf94e23c0
   FVERSION   93_Log2Syslog.pm:v5.6.1-s19029/2019-03-25
   INTERFACE  global
   MODEL      Collector
   MYFQDN     fhemserver
   MYHOST     fhemserver
   NAME       SyslogServer
   NR         279
   NTFY_ORDER 50-SyslogServer
   PORT       1883
   PROFILE    raw
   PROTOCOL   tcp
   SEQNO      11
   STATE      active
   TYPE       Log2Syslog
   HELPER:
     LTIME      1563390676.63314
     OLDSEQNO   9
     OLDSTATE   active
     PACKAGE    main
     TCPPADDR   192.168.178.65
     VERSION    5.6.1
   HIPCACHE:
     192.168.178.27 ESP-49B323.fritz.box
     192.168.178.65 ESP-D95E39.fritz.box
   OLDREADINGS:
   READINGS:
     2019-07-17 21:11:32   MSG_ESP-D95E39.fritz.box "Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-47","sec_seit_reset":"2191","zeitpunkt":"2019-07-17 21:11:31","firmware":"wiffi_pump2_91"}}
     2019-07-17 21:11:16   Transfered_logs_per_minute 0
     2019-07-17 21:11:32   p_status        "Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-47","sec_seit_reset":"2191","zeitpunkt":"2019-07-17 21:11:31","firmware":"wiffi_pump2_91"}}
     2019-07-17 21:11:32   state           active
Attributes:
   makeEvent  reading
   parseProfile raw
   port       1883
   protocol   TCP
   room       9.0_System
   userReadings p_status {my $w = ReadingsVal("SyslogServer","MSG_ESP-D95E39.fritz.box",0);; $w =~ s/.*"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":("true"|"false").*/$1/ ;; $w }
   verbose    5


OrginalJSON
{"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"52.72"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"true"}],"Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-47","sec_seit_reset":"2168","zeitpunkt":"2019-07-17 21:11:09","firmware":"wiffi_pump2_91"}}

DS_Starter

Hallo Timmo,

ich vermute du hast ein carrige return + new line in deinem JSON enthalten.
Ich hatte im Parsing ein split für diese Zeichen drin. Kann momentan nicht mehr sagen warum das so ist.
Aber ich habe dir eine angepasste Version in mein contrib geladen (siehe Fußnote).

Lade sie dir mal herunter (Downloadtaste benutzen!) und probiere es mal. Ich habe deinen String bei mir damit problemlos übertragen können.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Tsturm

Hallo Heiko,

vielen Dank für die wahnsinnig schnelle Reaktion!

Scheint jetzt mal zu funktionieren, mal nicht - dann an der gleichen Stelle (unten direkt nacheinander einmal gut, einmal nicht gut). Gibt es eine Möglichkeit, die ankommende Raw-Message aufzufangen - i.e. dass ich mal mit einem Editor reinschaue? Vielleicht auch ausserhalb des Moduls, so das mann die Message wirklich Raw sieht? Vielleicht streut der Kollege Wiffi ab und an wilde Zeichen rein... oder es ist ein timing Problem.

Let me know, vg Timmo

Internals:
   CONNECTS   3
   FD         15
   FUUID      5d2b3d43-f33f-b872-6c66-157ec1caf94e23c0
   FVERSION   93_Log2Syslog.pm:v5.6.3-s19029/2019-03-25
   INTERFACE  global
   MODEL      Collector
   MYFQDN     fhemserver
   MYHOST     fhemserver
   NAME       SyslogServer
   NR         279
   NTFY_ORDER 50-SyslogServer
   PORT       1883
   PROFILE    raw
   PROTOCOL   tcp
   SEQNO      7
   STATE      active
   TYPE       Log2Syslog
   HELPER:
     LTIME      1563473184.33408
     OLDSEQNO   7
     OLDSTATE   active
     PACKAGE    main
     SSLALGO    n.a.
     SSLVER     n.a.
     TCPPADDR   192.168.178.65
     VERSION    5.6.3
   HIPCACHE:
     192.168.178.65 ESP-D95E39.fritz.box
   OLDREADINGS:
   READINGS:
     2019-07-18 20:05:54   MSG_ESP-D95E39.fritz.box "Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-46","sec_seit_reset":"84652","zeitpunkt":"2019-07-18 20:05:54","firmware":"wiffi_pump2_91"}}
     2019-07-18 20:06:24   Transfered_logs_per_minute 4
     2019-07-18 20:06:24   p_status        "Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-46","sec_seit_reset":"84652","zeitpunkt":"2019-07-18 20:05:54","firmware":"wiffi_pump2_91"}}
     2019-07-18 20:05:54   state           active
Attributes:
   makeEvent  reading
   parseProfile raw
   port       1883
   protocol   TCP
   room       9.0_System
   userReadings p_status {my $w = ReadingsVal("SyslogServer","MSG_ESP-D95E39.fritz.box",0);; $w =~ s/.*"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":("true"|"false").*/$1/ ;; $w }
   verbose    5


2019.07.18 20:10:54.587 4: Connection accepted from SyslogServer_192.168.178.65_31509
2019.07.18 20:10:54.588 4: Log2Syslog SyslogServer - #######################################################
2019.07.18 20:10:54.589 4: Log2Syslog SyslogServer - #########        new Syslog TCP Parsing       #########
2019.07.18 20:10:54.589 4: Log2Syslog SyslogServer - #######################################################
2019.07.18 20:10:54.589 4: Log2Syslog SyslogServer - childname: SyslogServer_192.168.178.65_31509
2019.07.18 20:10:54.590 5: Log2Syslog SyslogServer - Buffer content:
{"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"49.32"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"false"}],"Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-45","sec_seit_reset":"84952","zeitpunkt":"2019-07-18 20:10:53","firmware":"wiffi_pump2_91"}}
2019.07.18 20:10:54.591 5: Log2Syslog SyslogServer - message peer: ESP-D95E39.fritz.box,192.168.178.65
2019.07.18 20:10:54.591 4: Log2Syslog SyslogServer - raw message -> {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"49.32"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"false"}],"Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-45","sec_seit_reset":"84952","zeitpunkt":"2019-07-18 20:10:53","firmware":"wiffi_pump2_91"}}
2019.07.18 20:10:54.591 4: Log2Syslog SyslogServer - {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"49.32"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"false"}],"Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-45","sec_seit_reset":"84952","zeitpunkt":"2019-07-18 20:10:53","firmware":"wiffi_pump2_91"}}
2019.07.18 20:10:54.606 4: Log2Syslog SyslogServer - #######################################################
2019.07.18 20:10:54.606 4: Log2Syslog SyslogServer - #########        new Syslog TCP Parsing       #########
2019.07.18 20:10:54.607 4: Log2Syslog SyslogServer - #######################################################
2019.07.18 20:10:54.607 4: Log2Syslog SyslogServer - childname: SyslogServer_192.168.178.65_31509
2019.07.18 20:10:54.608 4: Log2Syslog SyslogServer - Connection closed for SyslogServer_192.168.178.65_31509: EOF
2019.07.18 20:13:07.167 4: Connection accepted from SyslogServer_192.168.178.65_3888
2019.07.18 20:13:07.167 4: Log2Syslog SyslogServer - #######################################################
2019.07.18 20:13:07.168 4: Log2Syslog SyslogServer - #########        new Syslog TCP Parsing       #########
2019.07.18 20:13:07.168 4: Log2Syslog SyslogServer - #######################################################
2019.07.18 20:13:07.169 4: Log2Syslog SyslogServer - childname: SyslogServer_192.168.178.65_3888
2019.07.18 20:13:07.169 5: Log2Syslog SyslogServer - Buffer content:
{"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"49.14"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"true"}],
2019.07.18 20:13:07.170 5: Log2Syslog SyslogServer - message peer: ESP-D95E39.fritz.box,192.168.178.65
2019.07.18 20:13:07.170 4: Log2Syslog SyslogServer - raw message -> {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"49.14"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"true"}],
2019.07.18 20:13:07.170 4: Log2Syslog SyslogServer - {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"49.14"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"true"}],
2019.07.18 20:13:07.186 4: Log2Syslog SyslogServer - #######################################################
2019.07.18 20:13:07.186 4: Log2Syslog SyslogServer - #########        new Syslog TCP Parsing       #########
2019.07.18 20:13:07.186 4: Log2Syslog SyslogServer - #######################################################
2019.07.18 20:13:07.187 4: Log2Syslog SyslogServer - childname: SyslogServer_192.168.178.65_3888
2019.07.18 20:13:07.187 5: Log2Syslog SyslogServer - Buffer content:
"Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-47","sec_seit_reset":"85084","zeitpunkt":"2019-07-18 20:13:06","firmware":"wiffi_pump2_91"}}
2019.07.18 20:13:07.188 5: Log2Syslog SyslogServer - message peer: ESP-D95E39.fritz.box,192.168.178.65
2019.07.18 20:13:07.188 4: Log2Syslog SyslogServer - raw message -> "Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-47","sec_seit_reset":"85084","zeitpunkt":"2019-07-18 20:13:06","firmware":"wiffi_pump2_91"}}
2019.07.18 20:13:07.188 4: Log2Syslog SyslogServer - "Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-47","sec_seit_reset":"85084","zeitpunkt":"2019-07-18 20:13:06","firmware":"wiffi_pump2_91"}}
2019.07.18 20:13:07.202 4: Log2Syslog SyslogServer - #######################################################
2019.07.18 20:13:07.203 4: Log2Syslog SyslogServer - #########        new Syslog TCP Parsing       #########
2019.07.18 20:13:07.203 4: Log2Syslog SyslogServer - #######################################################
2019.07.18 20:13:07.204 4: Log2Syslog SyslogServer - childname: SyslogServer_192.168.178.65_3888
2019.07.18 20:13:07.205 4: Log2Syslog SyslogServer - Connection closed for SyslogServer_192.168.178.65_3888: EOF

DS_Starter

Hallo Timmo,

ich habe das Modul nochmal dahingehend geändert, dass im raw-Mode maximal 16384 Zeichen auf einmal empfangen werden können. Aber das ist eigentlich nur ein Negativtest, ich glaube nicht dass es daran liegt.
Zieh dir das Modul bitte nochmal aus dem contrib.

Im Prinzip ist das was nach "2019.07.18 20:13:07.187 5: Log2Syslog SyslogServer - Buffer content:" angezeigt wird, genau der Content der vom Interface geliefert wird. Du kannst aber auch mit tcpdump auf BS-Ebene versuchen etwas herauszubekommen.

Ich vermute allerdings eher, dass auf Senderseite etwas zu machen wäre. Der Sender müsste ja nach jedem Datensatz ein Endezeichen senden oder CR/LF tut es auch, deswegen hatte ich wohl den split drin.

Ich habe einen Test gemacht. Ein FHEM mit einem Collector im raw-Mode und in einem anderen FHEM einen Sender definiert. Den Sender kann man mit "disable = maintenance" in einen manuellen Modus setzen.
Dann kann man mit:

set <name> sendTestMessage {"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.65"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":"49.32"},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":"0.0"},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":"0.0"},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":"false"}],"Systeminfo":{"MAC-Adresse":"5c:cf:7f:d9:5e:39","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmnetz","WLAN_Signal_dBm":"-45","sec_seit_reset":"84952","zeitpunkt":"2019-07-18 20:10:53","firmware":"wiffi_pump2_91"}}

die Mitteilung an den Collector senden. Auch als Schleife, z.b. mit einem AT. Dann habe ich noch ein expandJSON-Device definiert und angewendet. Damit wird dann auf Empfängerseite dein JSON sauber in Einzelreadings aufgedröselt.
Also das klappte ganz prima  :)

Wie sendest du denn den String ?

LG,
Heiko





ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Tsturm

Hallo Heiko,

danke Dir... habe es nochmals probiert (Du hattest die Version nicht verändert?) - keine Veränderung. Ich habe den Entwickler angepingt (Eugen Stall), ob er eine Idee hat - mal schauen.

Mit dem TCP sniffer muss ich mich am WE auseinandersetzen, da muss ich erstmal die manpages lesen.. ;-)

VG Timmo

Link zum Homematik-Forum in dem die Wiffis diskutiert werden:
https://homematic-forum.de/forum/viewtopic.php?f=31&t=32030&p=518955#p518955

(Der Wiffi-Bausatz dient zur Steuerung der Warmwasser-Umwälzpumpe - ich würde gerne statt ständigem Pollen die Push-Telegramme auswerten, um den Status der Umwälzpumpe zu erkennen)