FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: lada04 am 28 Januar 2016, 23:29:35

Titel: regexp in at jobs oder get command
Beitrag von: lada04 am 28 Januar 2016, 23:29:35
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?
Titel: Antw:regexp in at jobs oder get command
Beitrag von: Hans Franz am 28 Januar 2016, 23:39:13
Zitatget .*Danfoss.* battery
matcht auch auf dein at- und dein FileLog_Kueche_Danfoss_Fenster-Device.

get .*_Danfoss.* battery
sollte passen.

Gruß
Hans
Titel: Antw:regexp in at jobs oder get command
Beitrag von: Markus Bloch am 28 Januar 2016, 23:51:08
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
Titel: Antw:regexp in at jobs oder get command
Beitrag von: Hans Franz am 29 Januar 2016, 00:02:39
Ich glaub' ich brauch' 'ne Brille. :)

Gruß
Hans
Titel: Antw:regexp in at jobs oder get command
Beitrag von: lada04 am 29 Januar 2016, 00:06:14
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!