FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: pschlaeppi am 02 April 2023, 00:55:31

Titel: devStateIcon über WebGUI setzbar aber nicht mit fhem("attr ...")
Beitrag von: pschlaeppi am 02 April 2023, 00:55:31
Hallo zusammen,

Meine Programmier Kenntnisse sind leider noch recht beschränkt und ich habe noch
keine Handhabe gefunden untenstehendes Problem zu lösen.

Ich möchte aus einem Modul heraus das attr devStateIcon setzen.
Wenn ich dieses versuche, erhalte ich im Event Monitor die folgende Fehlermeldung

2023.04.02 00:23:08 3: attr eg.wg.DF.Rechts devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle 7.(.*:secur_locked@red:toggle \d.(.*:fts_window_roof:toggle [1-10]\d.(.*:fts_window_roof_open_1@red:toggle [10-80]\d.(.*:fts_window_roof_open_2@red:toggle 100.(.*:fts_window_roof_open_2@red:toggle : Argument 7.(.* for attr eg.wg.DF.Rechts devStateIcon is not a valid regexp: Unmatched ( in regex; marked by <-- HERE in m/^7.( <-- HERE .*$/ at fhem.pl line 3186.

Gebe ich die Einstellung über das WebGUI ein, funktioniert dieses klaglos.
attr eg.wg.DF.Rechts devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle 7.\(.*:secur_locked@red:toggle \d.\(.*:fts_window_roof:toggle [1-10]\d.\(.*:fts_window_roof_open_1@red:toggle [10-80]\d.\(.*:fts_window_roof_open_2@red:toggle 100.\(.*:fts_window_roof_open_2@red:toggle
Versuche ich die Parameter zuerst in eine Variable oder einen Array zu schreiben und dann
über:
fhem ("attr eg.wg.DF.Rechts devStateIcon $defineDevState");
zu schreiben, funktioniert das leider auch nicht.

Ich habe leider noch nicht rausgekriegt wie die Einstellungen angepasst werden müssten dass
sie auch aus einem Modul heraus gesetzt werden können.

Ich wäre um jeden Tipp sehr dankbar.

Grüsse Philipp


Titel: Aw: devStateIcon über WebGUI setzbar aber nicht mit fhem("attr ...")
Beitrag von: DasQ am 02 April 2023, 12:37:29
Man möge mich korrigieren, aber ich vermute mal das deine namensvergabe unglücklich ist. Der Punkt ist ein regex und wird dementsprechend nicht richtig interpretiert.

Also entweder Maskieren oder sich an namenskonventionen halten.

is not a valid regexp: Unmatched ( in regex; marked by <-- HERE in m/^7.( <-- HERE
Titel: Aw: devStateIcon über WebGUI setzbar aber nicht mit fhem("attr ...")
Beitrag von: Otto123 am 02 April 2023, 13:40:40
Hi,

in deinem klaglos Code werden die Klammern geschützt: 7.\(.* in deinem Auszug aus dem Logfile fehlt dieser Schutz 7.(.*

Du musst also in deinem Modul dafür sorgen, dass der Schutz drin bleibt.

Gruß Otto