Moin,
ich komme trotz suchen nicht weiter.
Vor 2 Tagen habe ich diese Meldungen immer wieder im Log und keine Idee wo ich suchen kann.
Jemand einen Ansatz für mich?
Danke und Gruß
2022.01.27 10:49:17 1: PERL WARNING: Unrecognized escape \A passed through at (eval 49793) line 1.
2022.01.27 10:49:17 1: stacktrace:
2022.01.27 10:49:17 1: main::__ANON__ called by (eval 49793) (1)
2022.01.27 10:49:17 1: (eval) called by ./FHEM/01_FHEMWEB.pm (2977)
2022.01.27 10:49:17 1: main::FW_dev2image called by ./FHEM/01_FHEMWEB.pm (3302)
2022.01.27 10:49:17 1: main::FW_devState called by ./FHEM/01_FHEMWEB.pm (3164)
2022.01.27 10:49:17 1: main::FW_Notify called by fhem.pl (3897)
2022.01.27 10:49:17 1: main::CallFn called by fhem.pl (3814)
2022.01.27 10:49:17 1: main::DoTrigger called by fhem.pl (4194)
2022.01.27 10:49:17 1: main::Dispatch called by ./FHEM/00_MQTT2_SERVER.pm (515)
2022.01.27 10:49:17 1: main::MQTT2_SERVER_doPublish called by ./FHEM/00_MQTT2_SERVER.pm (396)
2022.01.27 10:49:17 1: main::MQTT2_SERVER_Read called by ./FHEM/00_MQTT2_SERVER.pm (466)
2022.01.27 10:49:17 1: main::__ANON__ called by fhem.pl (3429)
2022.01.27 10:49:17 1: main::HandleTimeout called by fhem.pl (697)
2022.01.27 10:49:17 1: PERL WARNING: Unrecognized escape \W passed through at (eval 49793) line 1.
2022.01.27 10:49:17 1: stacktrace:
2022.01.27 10:49:17 1: main::__ANON__ called by (eval 49793) (1)
2022.01.27 10:49:17 1: (eval) called by ./FHEM/01_FHEMWEB.pm (2977)
2022.01.27 10:49:17 1: main::FW_dev2image called by ./FHEM/01_FHEMWEB.pm (3302)
2022.01.27 10:49:17 1: main::FW_devState called by ./FHEM/01_FHEMWEB.pm (3164)
2022.01.27 10:49:17 1: main::FW_Notify called by fhem.pl (3897)
2022.01.27 10:49:17 1: main::CallFn called by fhem.pl (3814)
2022.01.27 10:49:17 1: main::DoTrigger called by fhem.pl (4194)
2022.01.27 10:49:17 1: main::Dispatch called by ./FHEM/00_MQTT2_SERVER.pm (515)
2022.01.27 10:49:17 1: main::MQTT2_SERVER_doPublish called by ./FHEM/00_MQTT2_SERVER.pm (396)
2022.01.27 10:49:17 1: main::MQTT2_SERVER_Read called by ./FHEM/00_MQTT2_SERVER.pm (466)
2022.01.27 10:49:17 1: main::__ANON__ called by fhem.pl (3429)
2022.01.27 10:49:17 1: main::HandleTimeout called by fhem.pl (697)
Folgendes ausführen und dann in der Rückgabe mal nachsehen, ob sich da was findet, was zur Fehlermeldung paßt:
list TYPE=MQTT2_DEVICE:FILTER=devStateIcon=.+ devStateIcon
(oder evtl. auch:)list TYPE=MQTT2_DEVICE:FILTER=stateFormat=.+ stateFormat
Zur Erläuterung: "\A" ist ein "Beginnt mit" (sonst häufig als "^" anzutreffen), Erläuterung zu "\W" sollte unter https://regex101.com/ unter "Kurzanleitung" zu finden sein.
YES, danke.
Der Grund war, ich wollte das Leerzeichen wegbekommen.
Da direkt dran zum Fehler führte beim attr drücken, habe ich einen \ genommen, zumindest konnte ich das in der FHEM Oberfläche ohne Fehler speichern und es funktionierte auch.
Aus 0 A 0 W wurde 0A 0W (platzsparend)
Jetzt habe ich es wieder Rückgang gemacht:
Von: </a> $current\A $pwr\W<b></b>)
Zu: </a> $current A $pwr W<b></b>
Was nimmt man denn, wenn man in FHEM/Perl zwischen Variable und Text kein Leerzeichen will?
Verdächtige wie . und + habe ich auch schon probiert.
Auf jeden Fall, vielen Dank, Fehler weg!
Innerhalb Perl (Auszüge sind immer schwierig!) sollte das hier funktionieren:
</a> ${current}A ${pwr}W<b></b>)
Super, vielen Dank, funktioniert.
Wie soll man das Googeln, ich war zumindest damit nicht erfolgreich.
Ja, ist nicht so einfach zu finden... Gibt noch mehr solcher "Rätselchen" - such mal nach der Bedeutung von "//"...
Aber hier mal eine Fundstelle, wo das zumindest auftaucht:
https://perlmaven.com/quoted-interpolated-and-escaped-strings-in-perl
Grundsätzlich: Geschweifte Klammern sind im Perl-Umfeld immer was "spezielles" und dienen eben häufig dazu, irgendwas "abzugrenzen", also kenntlich zu machen, dass der Inhalt zwischen den Klammern eine eigentständige und (für sich) zusammengehörige Bedeutung hat. Muss man halt "wissen" (oder eher: ein Gefühl dafür entwickeln)...