RegEx in Kommandozeile: wie für alle Thermostate ein "set" anwenden?

Begonnen von Betonklotz, 22 April 2023, 22:47:37

Vorheriges Thema - Nächstes Thema

Betonklotz

Hallo,

aufgrund eines Umzugs fange ich wieder ganz von vorne an und setzt FHEM neu auf (natürlich anhand der alten Konfiguration). Weiß nur tw. nicht mehr was ich damals vor Jahren gemacht habe...
Würde gerne bei allen Homematic Heizkörperthermostaten initial ein event on change setzen um die Logs zu reduzieren, wobei der Name immer dem Schema Etage_Name_Heizung_HM<id> folgt, die Kanäle entsprechend. Sieht also z.B. fürs Arbeitszimmer im OG so aus:
attr OG_Arbeitszimmer_Heizung_HMxxxxxx event-on-change-reading battery,batteryLevel
attr OG_Arbeitszimmer_Heizung_HMxxxxxx_Clima event-on-change-reading desired-temp,measured-temp,mode,motorErr,ValvePosition
attr OG_Arbeitszimmer_Heizung_HMxxxxxx_ClimaTeam event-on-change-reading no
attr OG_Arbeitszimmer_Heizung_HMxxxxxx_Climate event-on-change-reading no
attr OG_Arbeitszimmer_Heizung_HMxxxxxx_Weather event-on-change-reading no
attr OG_Arbeitszimmer_Heizung_HMxxxxxx_WindowRec event-on-change-reading no
attr OG_Arbeitszimmer_Heizung_HMxxxxxx_remote event-on-change-reading no

Nun die spannende Frage: wie mache ich das für viele Thermostate gleichzeitig? Meine Idee war, in der Kommandozeile erst einmal alles auf "no" zu setzen und dann den Clima Kanal und das Thermostat gesondert zu erwischen und wieder die geünschten Events durchzulassen. Auf der Kommandozeile habe ich daher folgendes eingetippert:
set _Heizung_ event-on-change-reading no
set _Heizung_HM......$ event-on-change-reading battery,batteryLevel
set _Heizung_HM......_Clima$ event-on-change-reading desired-temp,measured-temp,mode,motorErr,ValvePosition
Das führt aber nur zur Fehlermeldung, dass FHEM den Namen "_Heizung_" nicht kennt.
Nun die Frage: wie bringe ich FEHM bei, in der Kommandozeile den RegEx zu nutzen/zu bearbeiten? Denn die RegEx passt lt. diverser Tester, es dürfte an der Syntax für FHEM hapern...

Danke und Grüße

erwin

ZitatDenn die RegEx passt lt. diverser Tester, es dürfte an der Syntax für FHEM hapern.
in der cmd-ref zu devspec nachschauen....

Die devspec muss den kompletten devicenamen matchen, also in deinem Beispiel:
attr .+_Heizung.+ event-on-change-reading blablal.g. erwin
TIP: ich teste immer mit dem list cmd, bevor ich was ändere, das vermeidet "Ärger":
list .+_Heizung.+ gibt alle devices aus, die betroffen sind! ... und erspart den regex-tester  ;D
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

Betonklotz

Moin,

vielen Dank für die schnelle Hilfe. Das ich set genutzt hatte, ist aber auch keinem aufgefallen, mit attr klappt es dann auch ;=)
Da bei mit die Geschosse, KG, EG, OG, DG heißen, und es auch noch filelog gibt, filtere ich auf das "G" bei der Geschossangabe. Über
attr .G.+_Heizung_HM.+ event-on-change-reading no
attr .G.+_Heizung_HM......$ event-on-change-reading battery,batteryLevel
attr .G.+_Heizung_HM......_Clima$ event-on-change-reading desired-temp,measured-temp,mode,motorErr,ValvePosition
funktioniert es dann auch wie gewünscht.

Gruß