FhemWeb - Dynamische Räume

Begonnen von 87insane, 05 April 2019, 11:07:55

Vorheriges Thema - Nächstes Thema

87insane

Hi zusammen,

da ich nun schon ein paar Dinge geschafft habe, wollte ich am WE mal nach den dynamischen Räumen schauen. Nun habe ich das kurz angetestet und komme nicht ganz mit dem Filter klar.
Im Monatsrückblick von FEB, werden zwei Beispiele gezeigt. Hat ggf. jemand weitere Beispiele?

SOWAS GEHT NICHT!
name=An:devspec=.*MQTT2_DEVICE.*=STATE=.*on.* name=Aus:devspec=.*MQTT2_DEVICE.*=STATE=.*off.*

SOWAS GEHT:
name=An:devspec=state=on.* name=Aus:devspec=state=off.*

- Wenn ich z.B. nur on/off von einer gewissen Gerätegruppe/Gerätetyp/usw. haben möchte, was macht man da am besten?
- Ggf. kann man das ja ein wenig aufschlüsseln? name=RAUMNAME:devspec=READING=WERT - Das verstehe ich und so geht es auch.


Danke schon mal und einen schönen Freitag :)

dkreutz

Müsste es nicht eher so lauten?
name=An:devspec=TYPE=MQTT2_DEVICE:FILTER=STATE=.*on.* name=Aus:devspec=TYPE=MQTT2_DEVICE:FILTER=STATE=.*off.*
Raspberry Pi3B+ (Bullseye) / JeeLink868v3c (LaCrosse), nanoCUL433 (a-culfw V1.24.02), HM-MOD-UART (1.4.1), TEK603, MapleCUL / diverse Sensoren/Sender/Aktoren von Technoline, Intertechno, Shelly, Homematic und MAX!, Froggit Wetterstation, Luftdaten.info / Autor des fhem-skill für Mycroft.ai

87insane

#2
Das geht! Super.


Verwundert bin ich über:
name=An:devspec=state=on.* name=Aus:devspec=state=off.*

Das geht auch. Hier wurde kein TYPE/FILTER geschrieben....

Weiß du zufällig auch wie man in extra Rooms, Räume mit Leerzeichen im Namen nutzen kann?


EDIT: Okay... Licht an :)
TYPE=MQTT2_DEVICE:FILTER = READING TYPE=WERT:FILTER

EDIT2: Gibt es mehr Beispiele hierzu?
Komme mit deinem Code zwar weiter aber wenn ich z.B. STATE gegen POWER.* tauschen will, geht es wieder nicht.
Wie genau wird der devspec Filter angewandt? Ich habe das nun in x Konstellationen probiert und kann mir nicht vorstellen, dass ich der Einzige mit Problemen bin!

EDIT3: Da wo das Reading hin muss, geht kein Regex. Ist das korrekt?

Anbei mal mein Test:
GEHT
name=1._Aktiv:devspec=TYPE=MQTT2_DEVICE:FILTER=POWER1=.*on.*
name=2._Standby:devspec=TYPE=MQTT2_DEVICE:FILTER=POWER1=.*off.*
name=1._Aktiv:devspec=TYPE=MQTT2_DEVICE:FILTER=POWER2=.*on.*
name=2._Standby:devspec=TYPE=MQTT2_DEVICE:FILTER=POWER2=.*off.*
name=3._Low_Batterien:devspec=battery=low


Geht NICHT:
name=1._Aktiv:devspec=TYPE=MQTT2_DEVICE:FILTER=POWER.*=.*on.*
name=2._Standby:devspec=TYPE=MQTT2_DEVICE:FILTER=POWER.*=.*off.*
name=3._Low_Batterien:devspec=battery=low

oder
name=1._Aktiv:devspec=TYPE=MQTT2_DEVICE:FILTER=POWER(1|2)=.*on.*
name=2._Standby:devspec=TYPE=MQTT2_DEVICE:FILTER=POWER(1|2)=.*off.*
name=3._Low_Batterien:devspec=battery=low


EDIT4: In EDIT3 schrieb ich "GEHT". Das stimmt nicht. In dieser Konstellation geht immer nur die letzte Zeile pro Raum.

87insane

Will hierzu wirklich niemand was sagen? Würde sogar das Wiki übernehmen, wenn ich es verstanden habe!