Status mit Leerzeichen bei structure im clientstate_behavior: relative

Begonnen von Markus Bloch, 07 Januar 2013, 00:15:09

Vorheriges Thema - Nächstes Thema

Markus Bloch

Hallo zusammen,

ich hab bei mir aufgrund der guten Zuverlässigkeit in der ganzen Wohnung nur HomeMatic Dimmer verbaut. Dabei habe ich einzelne (als auch alle) Lampen via structure zusammengefasst um einfach via Tablet bestimmte Gruppen ein-, auszuschalten und auch zu dimmen. Dabei finde ich clientstate_behavior: relative sehr ansprechend, weil ich damit sagen kann, dass die structure on sein soll, selbst, wenn nur ein einzelnes Device on ist.

Mit den Statis "on" und "off" funktioniert das auch super. Da ich aber größtenteils nur dimme, habe ich sehr oft einen Status von 60% auf allen Devices.

Nun ist es aber so, dass ja die Reihenfolge der Statis angegeben werden muss. Hier meine Definition (Wohnzimmer mit offener Küche):


define Gesamtes_Wohnzimmer_Licht structure Wohnzimmer LED_Kueche Licht_Wohnzimmer Licht_Kueche
attr Gesamtes_Wohnzimmer_Licht clientstate_behavior relative
attr Gesamtes_Wohnzimmer_Licht clientstate_priority on off
attr Gesamtes_Wohnzimmer_Licht group Licht
attr Gesamtes_Wohnzimmer_Licht room Wohnzimmer,Kueche
attr Gesamtes_Wohnzimmer_Licht webCmd pct


Nun ist aber die Frage, wie kann ich die Status "1 %" bis "99 %" angeben, was ja der Status bei HomeMatic Dimmern ist, da ja im Structure Modul nach Leerzeichen getrennt wird, währen das 2 verschiedene Statis (einmal "1" und einmal "%").

Ziel der Sache ist es, wenn alle Devices aus sind, bis auf die LED-Leiste, die steht auf "35 %", dann soll die Structure natürlich auch den Status 35% haben und nicht defined oder dergleichen.

Eventuell kann man hier das % Prozentzeichen als Platzhalter für sämtliche Prozentangaben nehmen, oder man müsste die Trennung nach anderen Kriterien vornehmen (z.B. Anführungszeichen zur Einbeziehung von Leerzeichen in einen Status-Wert).

Vielen Dank

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Tobias

ich hatte damals die Rückmeldefunktion ala clienstate_* in die structure einprogrammiert.

man müsste versuchen, anstatt eines fixen stati´s auch regexp angeben zu können, zb.
attr Gesamtes_Wohnzimmer_Licht clientstate_priority on ([0-9]{1,2}[\s]{0,1}\%) off
(das Regexp nur aus dem Kopf heraus, ohne Prüfung)

Oder andere Ideen?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Markus Bloch

Hi Tobias,

Zitatman müsste versuchen, anstatt eines fixen stati´s auch regexp angeben zu können, zb.

Das währ natürlich schick. Allerdings darf dann natürlich keinerlei Leerzeichen in der Regexp drinn sein.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Tobias

nein, natürlich keine Leerzeichen, deswegen ja auch \s

Aber mir ist noch aufgefallen, damit kann man natürlich keine Priorität innerhalb der dim-Werte setzen. Die structure würde einfach den DIM Wert des letzten gescannten devices anzeigen (wenn alle devices einen DIM-Wert liefern würden).
Vieleicht gibts noch eine bessere Lösung....
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter