RedingsGroup: generischer Ausdruck in commands und valueIcon

Begonnen von roedert, 10 Oktober 2017, 02:26:57

Vorheriges Thema - Nächstes Thema

roedert

Ich möchte einer einer Readingsgroup mehrere Timer vom Type at anzeigen lassen und diese aktivieren und inaktivieren können.
Ein at hat den state 'inactive' wenn es inaktiviert ist oder enthält die nächste Schaltzeit im state.

Die command-definition müsste also so aussehen:
{
  'state.inactive' => 'set %DEVICE active',
  'state.allesandere' => 'set %DEVICE inactive'
}


Gleiches gilt für valueIcon:
{
  'state.inactive' => 'icon_inactive',
  'state.allesandere' => 'icon_active'
}


Von inactive aus aktivieren funktioniert auch aber "state.allesandere' funktioniert natürlich nicht. Ich habe in all den Beispielen auch nicht finden können, wie ich diese "allesandere" im command-Attribut korrekt definieren könnte.
Auch ein
{
  ($READING eq 'state' && $VALUE eq 'inactive') ? 'set %DEVICE active' : 'set %DEVICE inactive'
}

im command-Attribut funktioniert so nicht. Für valueIcon funktioniert dieser Syntax wie gewünscht.


Ein Weg wäre evtl. dem at ein zusätzliches userreading zu geben, welches eindeutig 0 oder 1 für active/inactive enthält und dieses userreading statt state dann in der reagingsGroup auszuwerten. Allerdings wollte ich zusätzliche Anpassungen an allen at's vermeiden.

Rampler

Hallo zusammen,
ich möchte mich da mal mit reinhängen, habe ähnliches Problem.

{
  'state.inactive' => 'icon_inactive',
  'state.allesandere' => 'icon_active'
}


Bei mir ist es so, dass die Rauchmelder ein 'smoke_detect' off melden, oder halt irgendwas anderes.
Ein state.* => funktioniert ja scheinbar nicht.

Hat jemand das schon mal gelöst ?
3 HMUART (2 via ESP8266), 1 DUOFERN, 9 ESP8266, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

psycho160

#2
Hallo,

habe aktuell auch das Problem das ich hier nicht weiterkomme.

Habe eine ReadingsGroup für den Batteriestatus mit 2 unterschiedlichen Readings (mit Underscore und ohne).

.*:[Bb]attery .*:Battery_.*

Das Problem: Die Readings liefern entweder "ok" oder "NORMAL" zurück. Wenn ich jetzt das "valueIcon" definiere, nimmt er mir das RegEx nicht:

{'battery.ok' => 'batterie', 'Battery_.*.NORMAL' => 'batterie', 'battery.low' => 'batterie@red'}

Das hinter dem Underscore ist generisch, das kann ich also nicht vorher angeben.

Wie bekomme ich das Battery_.*.NORMAL Regex hier zum funktionieren?
- 2013@FHEM - 2020 Setup: Pi 4 4GB Systeme: Shelly, Tasmota, Zigbee und mittlerweile nur noch wenig Homematic. Entwicker von: tado-FHEM Modul (perlcritic 3 ^^)(https://git.wolfmajer.at/Public/FHEM-Tado)

psycho160

Zitat von: psycho160 am 12 Februar 2020, 12:16:23
Hallo,

habe aktuell auch das Problem das ich hier nicht weiterkomme.

Habe eine ReadingsGroup für den Batteriestatus mit 2 unterschiedlichen Readings (mit Underscore und ohne).

.*:[Bb]attery .*:Battery_.*

Das Problem: Die Readings liefern entweder "ok" oder "NORMAL" zurück. Wenn ich jetzt das "valueIcon" definiere, nimmt er mir das RegEx nicht:

{'battery.ok' => 'batterie', 'Battery_.*.NORMAL' => 'batterie', 'battery.low' => 'batterie@red'}

Das hinter dem Underscore ist generisch, das kann ich also nicht vorher angeben.

Wie bekomme ich das Battery_.*.NORMAL Regex hier zum funktionieren?

OK, konnte meine Frage selbst beantworten und Lösen.

Folgendes hat bei mir funktioniert:

{'battery.ok' => 'batterie', $READING . '.NORMAL' => 'batterie', 'battery.low' => 'batterie@red'}


- 2013@FHEM - 2020 Setup: Pi 4 4GB Systeme: Shelly, Tasmota, Zigbee und mittlerweile nur noch wenig Homematic. Entwicker von: tado-FHEM Modul (perlcritic 3 ^^)(https://git.wolfmajer.at/Public/FHEM-Tado)