FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Inputsammler am 22 August 2016, 22:47:17

Titel: gelöst -- $EVENT oder $EVTPART0 manipulieren
Beitrag von: Inputsammler am 22 August 2016, 22:47:17
Hallo zusammen,

Ich habe meine Heizung mit FHEM2FHEM an meinen Haupt Fhem Server verbundnen.

Im Fhem Event Logs kommen die Logs auch super und genau so an wie im Heizungs Fhem Instanz

EventLog am FHEM2FHEM Server
2016-08-22 22:33:46 VCONTROL Heizung Temp_Aussen: 18.3
und die Reading reading sieht so aus
Temp_Aussen 18.3


Event am FHEM2FHEM Client
2016-08-22 22:33:46 dummy Heizung Temp_Aussen: 18.3
diese Daten werden in das log geschrieben
Damit ich auf meinen Client eine readings in ein Dummy (Heizung) bekomme habe ich notify erstell
Internals:
   DEF        Heizung:.* setreading Heizung $EVENT
   NAME       nf_Heizung
   NOTIFYDEV  Heizung
   NR         1688
   NTFY_ORDER 50-nf_Heizung
   REGEXP     Heizung:.*
   STATE      2016-08-22 22:39:25
   TYPE       notify
   Readings:
     2016-08-22 22:11:42   state           active
Attributes:
   disable    0
   group      nf_Heizung
   room       6.10_Notify


leider sehen dann die Reading so aus mit einen Doppelpunkt

Temp_Aussen: 18.3
und ich bekomme im Event log ein 2 hinzu was ja logisch ist
2016-08-22 22:33:46 dummy Heizung Temp_Aussen:: 18.3

$EVTPART0 hat den wert Temp_Aussen:
dadurch funktioniert das TabletUI nicht richtig.

Jetzt meine Frage kann ich evtl $EVTPART0 mit Perl manipulieren mit das immer der Doppelpunkt entfernt wird.
Oder gibts da eine andere Funktion die mir bis jetzt noch nicht aufgefallen ist.


Danke Gruß Gerd
Titel: Antw:$EVENT oder $EVTPART0 manipulieren
Beitrag von: DeeSPe am 22 August 2016, 23:47:11
my $read = (split(":",$EVTPART0))[0];

Gruß
Dan
Titel: ERLEDIGT danke --- Antw:$EVENT oder $EVTPART0 manipulieren
Beitrag von: Inputsammler am 23 August 2016, 00:53:19
Hey Dan,

Danke für deine Hilfe .... funktioniert ganz gut.
Es könnte alles so einfach sein ...
Perl bring mit ab und zu zur Verzweiflung .


Internals:
   DEF        Heizung:.* {my $read = (split(":",$EVTPART0))[0];{{ fhem("setreading Heizung $read $EVTPART1");};}}
   NAME       nf_Heizung
   NOTIFYDEV  Heizung
   NR         1688
   NTFY_ORDER 50-nf_Heizung
   REGEXP     Heizung:.*
   STATE      2016-08-23 00:52:09
   TYPE       notify
   Readings:
     2016-08-23 00:45:07   state           active
Attributes:
   disable    0
   group      nf_Heizung
   room       6.10_Notify


Danke normal für deine SCHNELLE Hilfe

Gruß Gerd

Jetzt sollte TabletUI auch funktionieren
Titel: Antw:gelöst -- $EVENT oder $EVTPART0 manipulieren
Beitrag von: DeeSPe am 23 August 2016, 07:58:19
Warum so verschachtelt und so viel {}?
Heizung:.* {fhem "setreading Heizung ".(split(":",$EVTPART0))[0]." $EVTPART1"}

Gruß
Dan
Titel: Antw:gelöst -- $EVENT oder $EVTPART0 manipulieren
Beitrag von: Inputsammler am 24 August 2016, 23:36:26
Hey Dan,

weil ich es noch nicht ganz so gut kann. Verstehe Perl noch nicht so ganz. (alter C und Assembler macher  :o )

Wuste nicht das man das auch so Inline machen darf, und es bei mir nicht funktioniert hat.
Komme immer mit den Punkte und den Anführungszeichen durcheinander.

Danke Dir funktioniert

Gruß Gerd