FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: lan4k am 06 März 2017, 15:53:48

Titel: attr TYPE= Filter "verschwinden"
Beitrag von: lan4k am 06 März 2017, 15:53:48
Hallo zusammen,

So langsam nimmt meine fhem.cfg eine stattlichere Länge an. Zum "Sparen" wollte ich gern einige Attribute generalisieren. Dabei ist mir folgendes aufgefallen:

Aus

...
define WEB FHEMWEB 8083 global
...
attr TYPE=FHEMWEB JavaScripts codemirror/fhem_codemirror.js
attr TYPE=FHEMWEB codemirrorParam {...}
...

wurden Einträge in jeder FHEMWEB-Instanz (WEB, WEBphone, WEBtablet...).

Das ist kein Problem, da die Information ja erhalten geblieben ist. Somit leidet nur die Übersichtlichkeit bzw. wurde nichts kürzer.

Aus

define vccu CUL_HM 1A2B3C
attr TYPE=CUL_HM event-on-change-reading .*
...

wurde

define vccu CUL_HM 1A2B3C
attr vccu event-on-change-reading .*
...

Hier dürften dann Informationen verloren gegangen sein, da ja nun das Attribut an die vccu gebunden ist und nicht mehr für alle CUL_HM Instanzen gilt?

Ein ähnliches Verhalten habe ich beim MAXLAN festgestellt, allerdings habe ich dort attr TYPE=MAX genutzt.

Kann mir das jemand erklären? Ich hatte gehofft, durch diese Art der Filter die Einträge für einige Geräte (zB. einen Haufen MAX (Wand-)Thermostate) verkürzen zu können.

Viele Grüße
Daniel
Titel: Antw:attr TYPE= Filter "verschwinden"
Beitrag von: viegener am 06 März 2017, 16:03:40
Ja kann man und das werden andere vermutlich noch drastischer tun ;)

Generell ist fhem.cfg kein Datei die man direkt bearbeiten sollte und insbesondere ist sie keine Skriptdatei, die alle Befehle stur ausführt, sondern enthält defines und attr in relativ schlichter Form als Snapshot der aktuellen Deivce-Definitionen.

Filter-Angaben sind für interaktive Nutzung gedacht. Die Speicherung in cfg erfolgt meines Wissens schlicht nach Devices...
Titel: Antw:attr TYPE= Filter "verschwinden"
Beitrag von: betateilchen am 06 März 2017, 16:06:50
Es macht überhaupt keinen Sinn, Attribute auf diese Weise per devspec bei jedem Systemstart setzen zu wollen.
Denn wenn das Attribut einmal so gesetzt wurde, ist das Attribut bei jedem zugehörigen device vorhanden und wird automatisch mit gespeichert.

Titel: Antw:attr TYPE= Filter "verschwinden"
Beitrag von: igami am 06 März 2017, 16:07:23
Dafür habe ich ein Modul geschrieben: archetype (https://forum.fhem.de/index.php/topic,53402.0.html) (ist Einsatzbereit aber noch in der Entwicklung ;))
Titel: Antw:attr TYPE= Filter "verschwinden"
Beitrag von: betateilchen am 06 März 2017, 16:10:33
ich hatte befürchtet, dass das jetzt kommt  :-\
Titel: Antw:attr TYPE= Filter "verschwinden"
Beitrag von: viegener am 06 März 2017, 16:40:30
Ich wusste es kommen noch mehr Antworten  :)
Titel: Antw:attr TYPE= Filter "verschwinden"
Beitrag von: igami am 06 März 2017, 17:18:10
Zitat von: betateilchen am 06 März 2017, 16:10:33
ich hatte befürchtet, dass das jetzt kommt  :-\
Ich stehe halt dazu ;)
Titel: Antw:attr TYPE= Filter "verschwinden"
Beitrag von: lan4k am 06 März 2017, 18:22:56
Danke an euch :)

Um es mal Anfängerfreundlich zu gestalten ... Ich habe die Eleganz des attr TYPE= gerade erkannt. In der Befehlszeile hat mir ein attr TYPE=SVG captionLeft gerade jede Menge Tipparbeit erspart.

Ergebnis: Das entsprechende Attribut wurde an jede meiner SVG-definitionen angehängt.

Das ist schön, besonders wenn man wie ich einige Sensoren neu einrichtet.

Nun eine Frage dazu ... Wie filtere ich weiter, sodass ich zB. allen MAX Wandthermostaten ein passendes icon zuweisen kann?

attr TYPE=MAX ... icon max_wandthermostat

Ich habe die Doku zu den Filtern wohl noch nicht entdeckt  ;)

Viele Grüße
  Daniel
Titel: Antw:attr TYPE= Filter "verschwinden"
Beitrag von: betateilchen am 06 März 2017, 19:10:51
Zitat von: lan4k am 06 März 2017, 18:22:56
Ich habe die Doku zu den Filtern wohl noch nicht entdeckt  ;)

Dann schau halt mal in die commandref unter "devspec" - das Stichwort hatte ich ja weiter oben schon genannt.