Hauptmenü

notify und Gerätename

Begonnen von Agamemnon, 16 August 2014, 19:27:43

Vorheriges Thema - Nächstes Thema

Agamemnon

Hallo fhem Gemeinde,
ich habe ein notfy zur Überwachung des Batteriestatus.
.*:[Bb]attery.* {
  if("%" !~ m/ok/) {
    if ( Value("MsgBattery") eq "nein" ) {
      { DebianMail('meinadresse@@gmx.de', 'FHEM - Batterie Warnung bei %NAME', 'Batteriewechsel erforderlich bei %NAME')}
      fhem ("set MsgBattery ja") ;
      fhem ("define alarm_Battery at +12:00:00 set MsgBattery nein") ;
    }
  }
}


Das klappt so weit auch gut.
Nur bekomme ich nicht das richtige Gerät genannt.
Wenn ich ein
trigger MAX_Wohnzimmer1 battery:low
ausführe bekomme ich trotzdem folgendes im Logfile (und dann natürlich auch in der Mail)
'FHEM - Batterie Warnung bei LaCrosse_08' -m 'Batteriewechsel erforderlich bei LaCrosse_08'

Warum wird %Name nicht durch das Gerät ersetzt welches das notify auslöst, sondern durch ein willkürliches?

Außerdem muss mir nochmal jemand erklären was der Unterschied zwischen %Name und $Name ist.
Beides taucht immer wieder auf. Einmal so im Forum, einmal anders im Commandref und im Wiki ist keines von beiden zu finden.

Vielen Dank im Voraus.

Gruß
Matze
Raspberry Pi / CULV3 und JeeLinkLaCrosse
MAX Thermostat
LaCrosse TX29DTH

Puschel74

Hallo,

nicht willkürlich aber %NAME sollte $DEVICE heissen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Mitch

Probier doch mal folgendes: @ % - Liefert den Device-Name und das Event -> also in Deinem Beispiel genau "MAX_Wohnzimmer1 battery:low"

Bei mir sieht das ganze so aus, damit sparst Du Dir auch die IF Abfrage für den Zeitinterval:
.*:[Bb]attery.* { if(("%" !~ m/ok/) && (time > $main::NewMailtime)) {
fhem ("set Pushover msg 'FHEM-WARNUNG' '@ %'");
$main::NewMailtime = time + 14400;
}
}
FHEM im Proxmox Container

Puschel74

Hallo,

@ sollte schon länger $DEVICE und
% sollte $EVENT heissen.

Lasst mal ab von den alten Platzhalter.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Mitch

#4
Oh, Danke, habe ich gar nicht mit bekommen.

Allerdings geht es nicht:
2014.08.16 21:08:49 3: BatteriewarnungNotify return value: Global symbol "$DEVICE" requires explicit package name at (eval 57365) line 2

Laut Wiki müsste es aber doch $NAME heißen?
define n_batt_chk notify .*:[Bb]attery.* { if($EVENT !~ m/ok$/mi/) { \
  { FB_mail('recipient@internet.de', 'FHEM Batteriewarnung', $NAME.': '.$EVENT)};; \
   Log 3, "$NAME : Batteriewarnung $EVENT";; \
  } \
}
FHEM im Proxmox Container

Puschel74

Hallo,

ZitatLaut Wiki müsste es aber doch $NAME heißen?
Korrekt. Fehler von mir.

Siehe auch Rudis Post vom 24.03.2013:
http://forum.fhem.de/index.php/topic,11886.0.html

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Mitch

Kann man eigentlich statt dem Namen auch den Alias schicken lassen?

$ALIAS geht nicht.
FHEM im Proxmox Container

justme1968

den alias musst du mit AttrVal selber abfragen.

my $alias = AttrVal($NAME,"alias",$NAME);

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Mitch

würde dann das ergeben, richtig?

.*:[Bb]attery.* { if(($EVENT !~ m/ok/) && (time > $main::NewMailtime)) {
my $alias = AttrVal($NAME,"alias",$NAME);
fhem ("set Pushover msg 'FHEM-WARNUNG' '$alias $EVENT'");
$main::NewMailtime = time + 14400;
Log 3, "$NAME: Batteriewarnung $EVENT";
}
}
FHEM im Proxmox Container

justme1968

#9
ja- genau.

edit: ohne die ganzen einfachen anführungszeichen im string.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Agamemnon

Vielen Dank,
habe es jetzt mit $Name hin bekommen.
Hatte das vorher schon versucht, aber übersehen, dass das dann nicht innerhalb der ' ' stehen darf.

Wenn wir aber schon dabei sind und auch Andre hier schon mitschreibt :) , würde ich dazu gerne noch mein anderes Problem mit anhängen, das im anderen Thread irgendwie unter gegangen ist.
http://forum.fhem.de/index.php/topic,14786.msg189550.html#msg189550
Ich bekomme trotz ignore, batterie notify Meldungen von meinem Nachbarn.

Danke für eure Hilfe.

Gruß
Matze
Raspberry Pi / CULV3 und JeeLinkLaCrosse
MAX Thermostat
LaCrosse TX29DTH

justme1968

schick mit bitte eine pm mit ich es nicht vergesse.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968