regexp in at jobs oder get command

Begonnen von lada04, 28 Januar 2016, 23:29:35

Vorheriges Thema - Nächstes Thema

lada04

zugegeben, ich bin ein anfänger, und versuche ein paar danfoss thermostaten in den griff zu bekommen.
der wiki habe ich den hinweis entnommen, dass man alle 30 minuten den batterie-zustand abfragen soll,
um zu verhindern, dass die batterien sich zu schnell entladen.

hatte keine lust, für jeden thermostaten einen eigenen at-job zu schreiben und dachte, dass sich das in perl mit regular expressions zusammenfassen lassen sollte.
habe also nur einen at-job AtDanfossBat definiert mit dem get-command

get .*Danfoss.* battery


grundsätzlich scheint das zu klappen, denn es wird aufgelöst in

2016.01.28 23:20:49 2: ZWave get Kueche_Danfoss_Fenster battery
2016.01.28 23:20:49 2: ZWave get Kueche_Danfoss_Wand battery
2016.01.28 23:20:49 2: ZWave get Saal_Danfoss_Links battery
2016.01.28 23:20:49 2: ZWave get Saal_Danfoss_Rechts battery


mich stören allerdings die fehlermeldungen dieser art:

No get implemented for AtDanfossBat
Usage: get FileLog_Kueche_Danfoss_Fenster <infile>    [...]
  where column_spec is :::
  see the FileLogGrep entries in he .gplot files
   is without direcory, - means the current file
   is a prefix, - means stdout


auch kann ich mangels erfahrung nicht einschätzen, ob der befehl am thermostat überhaupt verarbeitet wird.

meine frage: sind regexp an dieser stelle erlaubt oder muss ich für jedes thermostat einen eigenen at-job schreiben?

Hans Franz

Zitatget .*Danfoss.* battery
matcht auch auf dein at- und dein FileLog_Kueche_Danfoss_Fenster-Device.

get .*_Danfoss.* battery
sollte passen.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Markus Bloch

Zitat von: Hans Franz am 28 Januar 2016, 23:39:13
matcht auch auf dein at- und dein FileLog_Kueche_Danfoss_Fenster-Device.

get .*_Danfoss.* battery
sollte passen.

Gruß
Hans

Hallo hans,

selbst das matcht ebenfalls auf "FileLog_Kueche_Danfoss_Fenster ". Man muss hierbei eine devspec mit Filter nutzen:

get .*Danfoss.*:FILTER=TYPE!=FileLog battery

Damit, werden alle .*Danfoss.*-Definitionen die kein FileLog sind benutzt. Siehe dazu: http://fhem.de/commandref_DE.html#devspec

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Hans Franz

Ich glaub' ich brauch' 'ne Brille. :)

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

lada04

#4
ok, habe nicht an andere objekte gedacht, die auf das pattern passen.
solange ich nur (K)ueche | (S)aal habe, funktioniert auch

get (K|S).*_Danfoss.* battery

danke!