Threshold,Pushbullet und die |-Trennzeichen

Begonnen von bartman121, 17 März 2019, 17:54:07

Vorheriges Thema - Nächstes Thema

bartman121

Hallo,

ich habe ein kleines Problem mit dem |-Trennzeichen, vielleicht kann mir Jemand einen Tipp geben.

Beim Threshold-Modul wird das | als Trennzeichen verwendet um die Commands zu trennen.
Beim Pushbullet-Modul wird das | als Trennzeichen verwendet um Titel,Nachricht und Empfänger zu trennen.

hier mal ein List vom Threshold-Device:
Internals:
   CHANGED   
   DEF        BA.TEMP:humidity:5:65 PB|set @ message Bad: Luftfeuchtigkeit zu hoch, Lüften nötig | set @ message Bad: Luftfeuchtigkeit okay, Lüften fertig
   FUUID      5c8d403c-f33f-1dd6-d5ba-703496f3a2e02177
   NAME       threshold_bad
   NR         302
   NTFY_ORDER 50-threshold_bad
   STATE      active 65.0
   TYPE       THRESHOLD
   cmd1_gt    set PB message Bad: Luftfeuchtigkeit zu hoch, Lüften nötig
   cmd2_lt    set PB message Bad: Luftfeuchtigkeit okay, Lüften fertig
   cmd_default 0
   hysteresis 5
   init_desired_value 65
   offset     0
   sensor     BA.TEMP
   sensor_reading humidity
   READINGS:
     2019-03-17 09:38:53   cmd             cmd2_lt
     2019-03-17 05:44:43   desired_value   65
     2019-03-17 05:44:43   mode            active
     2019-03-17 17:10:28   sensor_value    64
     2019-03-16 19:46:41   state           active 65.0
     2019-03-17 05:44:43   threshold_max   65
     2019-03-17 05:44:43   threshold_min   60
Attributes:
   DbLogExclude .*
   number_format %.1f
   state_cmd1_gt high
   state_cmd2_lt okay
   state_format _m _dv



Im o.g. Beispiel habe ich die Trenner weggelassen und einfach eine Nachricht an "alle" ohne Titel gesendet, das geht. Ich würde aber gern Titel, Nachricht und Empfänger spezifizieren. Wie kann ich das Zeichen "escapen"(? heißt das so?), sodass ich in den Commands auch | verwenden kann.

Hat Jemand einen Tipp oder ist das schlicht nicht möglich?

Danke schon im Voraus

Damian

Zitat von: bartman121 am 17 März 2019, 17:54:07
Hallo,

ich habe ein kleines Problem mit dem |-Trennzeichen, vielleicht kann mir Jemand einen Tipp geben.

Beim Threshold-Modul wird das | als Trennzeichen verwendet um die Commands zu trennen.
Beim Pushbullet-Modul wird das | als Trennzeichen verwendet um Titel,Nachricht und Empfänger zu trennen.

hier mal ein List vom Threshold-Device:
Internals:
   CHANGED   
   DEF        BA.TEMP:humidity:5:65 PB|set @ message Bad: Luftfeuchtigkeit zu hoch, Lüften nötig | set @ message Bad: Luftfeuchtigkeit okay, Lüften fertig
   FUUID      5c8d403c-f33f-1dd6-d5ba-703496f3a2e02177
   NAME       threshold_bad
   NR         302
   NTFY_ORDER 50-threshold_bad
   STATE      active 65.0
   TYPE       THRESHOLD
   cmd1_gt    set PB message Bad: Luftfeuchtigkeit zu hoch, Lüften nötig
   cmd2_lt    set PB message Bad: Luftfeuchtigkeit okay, Lüften fertig
   cmd_default 0
   hysteresis 5
   init_desired_value 65
   offset     0
   sensor     BA.TEMP
   sensor_reading humidity
   READINGS:
     2019-03-17 09:38:53   cmd             cmd2_lt
     2019-03-17 05:44:43   desired_value   65
     2019-03-17 05:44:43   mode            active
     2019-03-17 17:10:28   sensor_value    64
     2019-03-16 19:46:41   state           active 65.0
     2019-03-17 05:44:43   threshold_max   65
     2019-03-17 05:44:43   threshold_min   60
Attributes:
   DbLogExclude .*
   number_format %.1f
   state_cmd1_gt high
   state_cmd2_lt okay
   state_format _m _dv



Im o.g. Beispiel habe ich die Trenner weggelassen und einfach eine Nachricht an "alle" ohne Titel gesendet, das geht. Ich würde aber gern Titel, Nachricht und Empfänger spezifizieren. Wie kann ich das Zeichen "escapen"(? heißt das so?), sodass ich in den Commands auch | verwenden kann.

Hat Jemand einen Tipp oder ist das schlicht nicht möglich?

Danke schon im Voraus

THRESHOLD kann damit nicht umgehen.

set-Aufruf in eigene Perl-Funktion auslagern oder statt THRESHOLD DOIF nehmen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF