FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: jostereo am 21 August 2018, 13:18:54

Titel: Tagging von Devices - <devspec> mehrer Attribute
Beitrag von: jostereo am 21 August 2018, 13:18:54
Hallo zusammen,

ich habe den Plan meinen Devices ein Tagging hinzuzufügen.
Ein UserAttribut (für alle Devices) habe ich angelegt und es auch befüllt.

Was ist mein Plan:

Tagging -> Bekannt durch Twitter (#) oder Drupal (Taxonomie)

Als Erklärung hier mal an einem Beispiel:

Eine smarte Steckdose bekommt im UserAttr "Tags" den Wert:

Steckdose Gosund Tasmota MQTT

Das sind also 4 Tags.

Was möchte ich damit erreichen:

Durch das Thema <devspec> ist es nun möglich z.B. Devices nach bestimmten Tags zu selektieren.

Beispiel: list Tags=.*Tasmota   -> listet mir alle Devices die "Tasmota" als Tag haben.


Jetzt mein Problem/Frage:

Wenn ich nun mehrere Tags kombinieren möchte, kriege ich Probleme mit dem Regex, da dies nicht Reihenfolgeunabhängig angegeben werden kann.

Ein "list Tags=.*Tasmota.*MQTT" würde die obere Steckdose zwar finden, aber das auch nur weil die Reihenfolge der Begriffe stimmt.


Hätte jemand eine Idee wie dies zu lösen ist?

Scheinbar kann ich auch keine <devspec> mit 2 Attributen angeben:

list Tags=.*Tasmota Tags=.*Gosund   -> funktioniert so nicht.


Bin für Ideen offen

Vielen Dank.
Titel: Antw:Tagging von Devices - <devspec> mehrer Attribute
Beitrag von: CoolTux am 21 August 2018, 13:21:35
list Tags=.*Tasmota:FILTER=Tags=.*Gosund
Titel: Antw:Tagging von Devices - <devspec> mehrer Attribute
Beitrag von: jostereo am 21 August 2018, 13:53:36
Zitat von: CoolTux am 21 August 2018, 13:21:35
list Tags=.*Tasmota:FILTER=Tags=.*Gosund

Ah danke schonmal für den Tipp mit dem Filter.
Dann kann ich mal ein paar Testläufe machen.

ich habe übrigens scheinbar noch die ".*" am Ende der Tags vergessen.

Der Kurztest mit:

list a:Tags=.*Tasmota.*:FILTER=Tags=.*Gosund.*

hat erfolgreich geklappt. (das "a:" habe ich vorne angehangen, um direkt zu definieren das es ein Attribut ist -> Commandref)


Klappt auch mit mehreren Filtern, also z.B.:

list a:Tags=.*Tasmota.*:FILTER=Tags=.*Gosund.*:FILTER=Tags=.*MQTT.*