defmod JK_BMS.notify notify JK_BMS:(errors.*|power_tube_temperature.*|temperature_sensor_1.*|temperature_sensor_2.*)Wenn das die vollständigen Namen der Readings sind dann würde ich das so schreiben wie schon in #2 erwähnt:defmod JK_BMS.notify notify JK_BMS:(errors|power_tube_temperature|temperature_sensor_1|temperature_sensor_2):.*defmod JK_BMS.notify notify JK_BMS:(errors|power_tube_temperature|temperature_sensor_[12]):.*{my $alias = AttrVal($NAME,'alias','');
my $val = $EVENT; $val =~ s/_/ /; $val =~ s/_/ /;
fhem "set Pushover.Nachricht msg '$alias Temperatur' '$val°C';
set NTFY message Title=\"$alias Temperatur\" $val°C"}}besser ändern zu:{my $alias = AttrVal($NAME,'alias','');
$read =~ s/_/ /g;
fhem "set Pushover.Nachricht msg '$alias Temperatur' '$read $val°C';
set NTFY message Title=\"$alias Temperatur\" $val°C"}}Zitat von: Gisbert am 20 Februar 2026, 00:47:01Es scheint ein Problem mit $EVTPART1 zu existieren.
elsif ($EVENT =~ m/temperature/ and $EVTPART1 >= 40)in:elsif ($read ne 'errors' && defined $val && $val >= 40)2026.02.20 00:33:28.432 1: ERROR evaluating my $EVENT= $evalSpecials->{'%EVENT'};my $EVTPART0= $evalSpecials->{'%EVTPART0'};my @MATCHED=@{$evalSpecials->{'%MATCHED'}};my $NAME= $evalSpecials->{'%NAME'};my $SELF= $evalSpecials->{'%SELF'};my $TYPE= $evalSpecials->{'%TYPE'};{
my $alias = AttrVal($NAME,'alias','');
my @evt = split(' ',$EVENT);
my $read = chop $evt[0];
my $val = $evt[1];
if ($read eq 'errors' && $val) {
fhem "set Pushover.Nachricht msg '$alias Fehler' '$EVENT';
set NTFY message Title=\"$alias Fehler\" $EVENT"
# true wenn Reading gleich errors und value vorhanden
}
elsif ($read eq 'errors' && !$val) {
fhem "set Pushover.Nachricht msg '$alias Fehler' 'erledigt';
set NTFY message Title=\"$alias Fehler\" erledigt"
# true wenn Reading gleich errors und value nicht vorhanden
}
elsif ($EVENT =~ m/temperature/ and $EVTPART1 >= 40)
{my $alias = AttrVal($NAME,'alias','');
my $val = $EVENT; $val =~ s/_/ /; $val =~ s/_/ /;
fhem "set Pushover.Nachricht msg '$alias Temperatur' '$val°C';
set NTFY message Title=\"$alias Temperatur\" $val°C"}}: Global symbol "$EVTPART1" requires explicit package name (did you forget to declare "my $EVTPART1"?) at (eval 68123109) line 16.defmod JK_BMS.notify notify JK_BMS:(errors.*|power_tube_temperature.*|temperature_sensor_1.*|temperature_sensor_2.*) {\
my $alias = AttrVal($NAME,'alias','');;\
my @evt = split(' ',$EVENT);;\
my $read = chop $evt[0];;\
my $val = $evt[1];;\
if ($read eq 'errors' && $val) {\
fhem "set Pushover.Nachricht msg '$alias Fehler' '$EVENT';; \
set NTFY message Title=\"$alias Fehler\" $EVENT"\
# true wenn Reading gleich errors und value vorhanden\
} \
elsif ($read eq 'errors' && !$val) {\
fhem "set Pushover.Nachricht msg '$alias Fehler' 'erledigt';; \
set NTFY message Title=\"$alias Fehler\" erledigt"\
# true wenn Reading gleich errors und value nicht vorhanden\
}\
elsif ($EVENT =~ m/temperature/ and $EVTPART1 >= 40) \
{my $alias = AttrVal($NAME,'alias','');; \
my $val = $EVENT;; $val =~ s/_/ /;; $val =~ s/_/ /;; \
fhem "set Pushover.Nachricht msg '$alias Temperatur' '$val°C';; \
set NTFY message Title=\"$alias Temperatur\" $val°C"}}
Internals:
Clients :PCA301:EC3000:RoomNode:LaCrosse:ETH200comfort:CUL_IR:HX2272:FS20:AliRF:Level:EMT7110:KeyValueProtocol
DEF 192.168.0.143:1002
DeviceName 192.168.0.143:1002
FD 34
FUUID 5c4b0d8f-f33f-bfeb-45a8-fae59560edf5d29d
JeeLinker_MSGCNT 36
JeeLinker_TIME 2026-02-19 23:21:15
NAME JeeLinker
NR 785
PARTIAL
RAWMSG OK 9 41 1 4 137 49
STATE initialized
TYPE JeeLink
eventCount 2
initMessages
model LaCrosseITPlusReader.10.1sJo
settings (RFM69CW f:868320 r:17241)
MatchList:
1:PCA301 ^\S+\s+24
2:EC3000 ^\S+\s+22
3:RoomNode ^\S+\s+11
4:LaCrosse ^(\S+\s+9 |OK\sWS\s)
5:AliRF ^\S+\s+5
6:EMT7110 ^OK\sEMT7110\s
7:KeyValueProtocol ^OK\sVALUES\s
READINGS:
2026-02-19 23:21:15 state initialized
Attributes:
flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
initCommands 1m 868320f v
room LaCrosse
timeout 60,15
verbose 22026-02-19 22:21:16.139 MQTT_DEVICE JK_BMS errors: aber die nachfolgende Bedingung wird nicht wahr:if ($EVENT =~ m/errors/)