ausnehmen eines readings aus einer readingsgroup möglich?

Begonnen von the ratman, 13 Juli 2016, 11:29:10

Vorheriges Thema - Nächstes Thema

the ratman

servus,

ich hab eine readingsgroup für akkustände am laufen. funzt auch super.

der def ist recht simpel.*:battery
.*:powerLevel
.*:battery_percent


jetzt das problem: ich hab auch ne netatmo. und die liefert sowohl "battery" als auch "battery_percent".
somit hab ich meine netatmo doppelt im wächter stehen.

ist zwar eher ein probem für mein auge, den etwas existentielles, aber falls da jemand ne idee hat ...
→do↑p!dnʇs↓shit←

justme1968

mit FILTER den TYPE netatmo bei einem der beiden ausschließen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

the ratman

hmmm

ich find in der commandref http://fhem.de/commandref.html#readingsGroup und im wiki schon gar nix zu einem filter

wo find ich da beispiele oder generell mal infos?
→do↑p!dnʇs↓shit←

papa

Wahrscheinlich ist die allgemeine Device Specification gemeint. Steht am Anfang in der CommandRef.

http://fhem.de/commandref.html#devspec
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

the ratman

wird wohl so sein. muß man aber auch erst mal drauf kommen, wenn man nach ner anleitung für readingsgroup sucht und hilft mir ohne konkretes bspl. trotzdem ned weiter.

ausserdem geh ich nachThe commands attr, deleteattr, displayattr, delete, get, list, set, setreading, setstate, trigger can take a more complex device specification as argument, which will be expanded to a list of devices.davon aus, dass das zeug bei readingsgroup eh ned wirkt nachdem die nicht dabei steht, oder?
→do↑p!dnʇs↓shit←

marvin78

Da in der Doku zu readingsGroup steht, dass man devspec verwenden kann, kann man eigentlich ganz leicht darauf kommen.

justme1968

commandref readingsGroup:
Zitat<device> can be a devspec (see devspec) with at least one FILTER expression.
und devspec ist sogar ein link den man anklicken kann.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

papa


.*:battery
.*:powerLevel
.*:FILTER=TYPE!=netatmo:battery_percent


So mal aus der Hüfte geschossen ....
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

the ratman

#8
oh, ich danke dir - na das hilft schon mal weiter

so.*:FILTER=TYPE!=netatmo:battery
.*:powerLevel
.*:battery_percent
funzt das nun genauso, wie ich mirs erhofft hatte.

das heißt also, wenn ichs richtig kapiere, dass ich mit dem filter alle readings mit "battery" bekomme, ausgenommen vom device "netatmo"?
wieder was gelernt. wenn mans mal sieht, is es eigentlich recht logisch.
vielen dank
→do↑p!dnʇs↓shit←

rabehd

Zitat von: the ratman am 13 Juli 2016, 16:05:01
dass ich mit dem filter alle readings mit "battery" bekomme, ausgenommen vom device "netatmo"

Ich suche schon den ganzen Tag ohne Ergebnis, kann auch an mir liegen  :-[
Wie kann ich beim Filter mehrere Bedingungen angeben? Ich möchte nicht nur das reading "battery" eines Devices ausschliessen, sondern von mehreren Devices. Wildcard klappt nicht, da die Bezeichnungen zu verschieden sind.
Gewünscht ist ein Filter "nicht x und nicht y"
Auch funktionierende Lösungen kann man hinterfragen.

justme1968

einfach mehrere :FILTER=... hintereinander schreiben.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

rabehd

scheinbar weiss ich nicht wie.

.*:[Bb]atteryLevel
.*:FILTER=NAME!=.*.Thermo:battery

Das klappte ja schon

.*:[Bb]atteryLevel
.*:FILTER=NAME!=.*.Thermo:battery:FILTER=NAME!=TRACKER Blaze:battery

Das nicht!

Alle Geräte, die BatterieLevel haben und die die nur Battery haben sind in der readingsgroup. Mit BatteryLevel und Battery wird der Tracker angezeigt.
Auch funktionierende Lösungen kann man hinterfragen.

justme1968

das :battery gehört hinter die filter. nicht dazwischen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

rabehd

Verstehe ich nicht  :(
.*:FILTER=NAME!=.*.Thermo:FILTER=NAME!=TRACKER Blaze:battery

wird auch nichts
Auch funktionierende Lösungen kann man hinterfragen.

rabehd

ein wenig das Problem ruhenlassen und neu angefangen. Jetzt klappt es!
.*:[Bb]atteryLevel
.*:FILTER=NAME!=.*.Thermo:FILTER=NAME!=fitbit_.*:battery

Mein erster Fehler: Ich habe nicht geschaut welcher Wert unter Name bei der Fitbit steht.
Beide Fälle einzeln getestet und dann die Antwort von justme1968 probiert und verstanden

Beschreibung:
Readingsgroup mit allen Devices, die ein Reading batterieLevel haben und allen Devices mit einem Reading batterie, außer "Thermo" am Ende des Namens und mit fitbit_ am Anfang.
Auch funktionierende Lösungen kann man hinterfragen.