FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ingo46 am 10 November 2022, 12:40:34

Titel: Bei readingsGroups Geräte ausschließen
Beitrag von: ingo46 am 10 November 2022, 12:40:34
Hallo,

Mit:

# Batteriestatus aller Devices anzeigen

define Batterie_Status readingsGroup .*:voltage .*:[Bb]atteryState
attr Batterie_Status notime 1
attr Batterie_Status room ALARM
attr Batterie_Status valueFormat {return "0" if( $VALUE eq "low" );; return "100" if( $VALUE eq "ok" );; return "25" if( $VALUE < 2.1 );; return "50" if( $VALUE < 2.3 );; return "75" if( $VALUE < 2.5 );; return "100"}
attr Batterie_Status valueIcon {'batteryState.0' => 'measure_battery_0@red','batteryState.100' => 'measure_battery_100@green','voltage.0' => 'measure_battery_0@red','voltage.25' => 'measure_battery_25@orange','voltage.50' => 'measure_battery_50@orange','voltage.75' => 'measure_battery_75@green','voltage.100' => 'measure_battery_100@green'}


zeige ich den Batterie-Status an.

Jetzt habe ich folgendes Problem: Ein HMIP-PSM hat auch einen Status "voltage" (wenn aus 0.0). Wäre ja auch nicht schlimm, aber es gibt noch einen Mail-check! Ich möchte somit Geräte mit HMIP nicht berücksichtigen.

Ingo
Titel: Antw:Bei readingsGroups Geräte ausschließen
Beitrag von: OdfFhem am 11 November 2022, 03:29:38
@ingo46

Du verwendest folgenden Ausdruck und sprichst damit alle (.*) Geräte an; aufgelistet davon werden die, die ein Reading namens voltage haben.

.*:voltage


Um unerwünschte Geräte auszugrenzen, sollte .* (verbreitet devspec genannt) durch geeignete Bedingungen verfeinert werden.

Angenommen, HMIP-Geräte sind schon am Namen zu erkennen, dann könnte folgender Ausdruck helfen:

NAME!=.*HMIP.*:voltage


Generell bietet es sich an, eine geeignete devspec mit Hilfe von FHEM-Kommando list zu "erarbeiten" ...
Titel: Antw:Bei readingsGroups Geräte ausschließen
Beitrag von: ingo46 am 11 November 2022, 15:14:48
Zitat von: OdfFhem am 11 November 2022, 03:29:38
@ingo46

Um unerwünschte Geräte auszugrenzen, sollte .* (verbreitet devspec genannt) durch geeignete Bedingungen verfeinert werden.

Angenommen, HMIP-Geräte sind schon am Namen zu erkennen, dann könnte folgender Ausdruck helfen:

NAME!=.*HMIP.*:voltage


...habe ich gerade getestet. NAME= geht - NAME!= nicht

Ingo
Titel: Antw:Bei readingsGroups Geräte ausschließen
Beitrag von: OdfFhem am 11 November 2022, 17:25:20
Stimmt - list funktioniert mit beiden Varianten, readingsGroup leider nicht mit der negativen.

Mit folgender FILTER-Variante sollte es aber auch bei einer readingsGroup funktionieren:

.*:FILTER=NAME!=.*HMIP.*:voltage

Titel: Antw:Bei readingsGroups Geräte ausschließen
Beitrag von: ingo46 am 11 November 2022, 17:51:35
Danke, diese Variante hat funktioniert. Wäre ich nie drauf gekommen!!

Ingo