attr TYPE= Filter "verschwinden"

Begonnen von lan4k, 06 März 2017, 15:53:48

Vorheriges Thema - Nächstes Thema

lan4k

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

viegener

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...
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

betateilchen

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.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

igami

Dafür habe ich ein Modul geschrieben: archetype (ist Einsatzbereit aber noch in der Entwicklung ;))
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

betateilchen

ich hatte befürchtet, dass das jetzt kommt  :-\
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

viegener

Ich wusste es kommen noch mehr Antworten  :)
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

igami

Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

lan4k

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

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!