[gelöst] - bei neuen Geräten ein Attribut automatisch setzen

Begonnen von Frank_Huber, 18 Januar 2019, 18:59:53

Vorheriges Thema - Nächstes Thema

Frank_Huber

Nabend.

Ich würde gerne bei jedem neuen Gerät automatisch das DbLogExclude Attibut setzen.
Gibt es hier eine Möglichkeit? mir fällt nichts ein.

Hintergrund ist dass ich die DB einigermaßen sauber halten will, aber je nach Gerät sind zwischen Erstellung und Attribut setzen schon einige Einträge in der DB. :-(

Jemand ne Idee?

bartman121

defmod nft_globalDefined notify global:DEFINED.* attr $EVTPART1 DbLogExclude .*

Frank_Huber

sollte das wirklich so einfach sein? :-)
Ich teste!

KernSani

...oder gleich DBLog umstellen und zu loggende devices/readings explizit includen...


Kurz, weil mobil
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Intruder1956

das ist es  :)
define n_DbLogExclude notify global:DEFINED.* attr $EVTPART1 DbLogExclude .*

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

Frank_Huber

super, das funktioniert genau wie gewünscht!

Zitat von: KernSani am 18 Januar 2019, 19:36:25
...oder gleich DBLog umstellen und zu loggende devices/readings explizit includen...
schwierig, ein Reading was ich an Gerät A loggen möchte will ich evtl bei Gerät B nicht loggen.
deswegen die Idee das Attribut automatisch zu setzen, und dann die gewünschten Readings per Include wieder loggen.

--> gelöst!

betateilchen

so ein Quatsch, dafür braucht man doch kein notify...

Ungefähr schon seit Anbeginn der FHEM Zeitrechnung gibt es dafür den Befehl setdefaultattr der genau für diesen Zweck geschaffen wurde.

Der Weg, in der DEF des DbLog das gewünschte Device aufzunehmen, ist aber bei weitem der effizientere, als bei jedem device ein Attribut zu setzen, um "nichts zu tun"

Die Attribute DbLogExclude und DbLogInclude sind m.E. komplett entbehrlich.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Frank_Huber

Zitat von: betateilchen am 18 Januar 2019, 19:46:54
Ungefähr schon seit Anbeginn der FHEM Zeitrechnung gibt es dafür den Befehl setdefaultattr der genau für diesen Zweck geschaffen wurde.

Der Weg, in der DEF des DbLog das gewünschte Device aufzunehmen, ist aber bei weitem der effizientere, als bei jedem device ein Attribut zu setzen, um "nichts zu tun"

Die Attribute DbLogExclude und DbLogInclude sind m.E. komplett entbehrlich.
Das ist natürlich noch besser. :-) danke!

Warum ich es lieber im Device habe hab ich ja oben erwähnt.

betateilchen

Zitat von: Frank_Huber am 18 Januar 2019, 19:54:57
Warum ich es lieber im Device habe hab ich ja oben erwähnt.

Nein. Einen wirklich sinnvollen Grund dafür kann ich hier im Thread nicht finden.

Es ist doch viel einfacher, EINE regexp (die in DbLog) zu pflegen, als 300 devices einzeln.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Frank_Huber

Zitat von: betateilchen am 18 Januar 2019, 19:46:54
Ungefähr schon seit Anbeginn der FHEM Zeitrechnung gibt es dafür den Befehl setdefaultattr der genau für diesen Zweck geschaffen wurde.
Hi betateilchen,

stelle gerade fest dass die gesetzten default Attribute nach einem shutdown restart nicht mehr funktionieren.
muss ich die irgendwo gesondert eintragen dass die Dauerhaft greifen?

Danke & Grüße
Frank

Frank_Huber

Hab das "setdefaultattr" jetzt per bösem editieren der cfg Dauerhaft implementiert. ;-)

betateilchen

Ich hätte das einfach in ein notify auf global:INITIALIZED gepackt.

Die Werte von setdefaultattr werden nicht persistent gespeichert, sondern nur zur Laufzeit von FHEM.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

Zitat von: Frank_Huber am 28 Januar 2019, 14:38:59
Hab das "setdefaultattr" jetzt per bösem editieren der cfg Dauerhaft implementiert. ;-)

und wie kommst du darauf das es dauerhaft wäre :)?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

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

Frank_Huber

Zitat von: justme1968 am 28 Januar 2019, 14:46:50
und wie kommst du darauf das es dauerhaft wäre :)?
verdammt. dachte wenn es in der cfg ist läd er es beim Starten mit.
Aber neeee, ein Reboot hat gezeigt dass es nicht dauerhaft ist... *grrrrr*

Zitat von: betateilchen am 28 Januar 2019, 14:44:42
Ich hätte das einfach in ein notify auf global:INITIALIZED gepackt.
Die Werte von setdefaultattr werden nicht persistent gespeichert, sondern nur zur Laufzeit von FHEM.
Ja, so mach ich es jetzt. ;-)
danke!