[gelöst] AttrVal in Readingsgroup

Begonnen von TWART016, 09 März 2021, 17:37:35

Vorheriges Thema - Nächstes Thema

TWART016

Hallo,

ich möchte mir gerne alle Geräte inklusive AttrVal anzeigen lassen, die das Attribute "IP" besitzen.

Wie mache ich das am Besten? Schön wäre das natürlich in einer Readingsgroup.

Mit dem list erhalte ich nur Geräte, die fest das Attribut eingetragen haben, und nicht die mit InternalVal.
.*:FILTER=a:IP=.+.*

DeeSPe

Ich denke
list IP=.+
sollte reichen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

TWART016

Zitat von: DeeSPe am 09 März 2021, 19:22:55
Ich denke
list IP=.+
sollte reichen.

Gruß
Dan

Damit tauchen allerdings auch Geräte auf, die das Reading IP haben. Ich möchte nur die Attribute.

DeeSPe

list a:IP=.+|i:IP=.+
Wie sieht es damit aus?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

TWART016

Zitat von: DeeSPe am 10 März 2021, 09:08:24
list a:IP=.+|i:IP=.+
Wie sieht es damit aus?

Das zeigt mit die Geräte an, wie bei meinem ersten Post.

In Readingsgroup funktioniert das jedoch nicht. Ich möchte eine Liste inkl. des AttrVal angezeigt bekommen.

DeeSPe

Ich kann es leider nicht nachstellen da ich kein Device mit einem entsprechenden Internal oder Attribut besitze.

readingsGroup ist m.E. auch der falsche Ansatz, es heißt ja schließlich nicht umsonst readingsGroup. Attribute und Internals wirst Du damit nicht angezeigt bekommen, zumindest nicht dass ich wüsste.

Vielleicht erklärst Du mal was das tatsächliche Ziel ist, dann findet sich sicher eine entsprechende Lösung.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Beta-User

Aus der Commandref:
ZitatIf regex starts with a '?' it will be matched against the attributes of the device instead of the readings.

Das hier zeigt im Test nur die dummy an, die ein Room-Attribut haben:
defmod test_rg readingsGroup TYPE=dummy:?room
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

TWART016

Zitat von: Beta-User am 10 März 2021, 10:42:09
Aus der Commandref:
Das hier zeigt im Test nur die dummy an, die ein Room-Attribut haben:
defmod test_rg readingsGroup TYPE=dummy:?room

Danke, das hilft mir erstmal weiter.

TWART016

Wie bekomme ich es hin, wenn ich alle alle Geräte mit dem Attribut group=Abfall haben möchte? Bzw. wie bekomme ich den AttrVal ausgelesen und gefiltert?

OdfFhem

@TWART016

Eine 100%-Antwort zu geben ist nicht so einfach, da freie Interpretation zu sehr variablen Antworten führen kann.


list-Befehl mit Filterausdruck für alle Geräte, die zu genau einer Gruppe und zwar zu Abfall gehören:

list group=Abfall


list-Befehl mit Filterausdruck für alle Geräte, die evtl. zu mehreren Gruppen gehören, aber auf jeden Fall auch zu einer Gruppe mit Namensanteil Abfall:

list group=.*Abfall.*



Sollte was Zielorientiertes dabei sein, kann der entsprechende Filterausdruck vermutlich 1:1 in die readingsGroup integriert werden ...

Otto123

Also ich glaube das Modul funktioniert nicht wie dokumentiert  :-[ oder ich verstehe es nicht.
Aber so bekomme ich alle Geräte mit attribute model und der Inhalt Attribute model wird dargestellt (funktioniert nicht nur für Readings ;) )
.*:a:model

Was bei list funktioniert, funktioniert bei der DEF readingsGroup nicht wie erwartet - also nur teilweise. Insbesondere die Filterform model=text funktioniert in keiner Kombination.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TWART016

Zitat von: Otto123 am 11 März 2021, 11:36:01
Also ich glaube das Modul funktioniert nicht wie dokumentiert  :-[ oder ich verstehe es nicht.
Aber so bekomme ich alle Geräte mit attribute model und der Inhalt Attribute model wird dargestellt (funktioniert nicht nur für Readings ;) )
.*:a:model

Was bei list funktioniert, funktioniert bei der DEF readingsGroup nicht wie erwartet - also nur teilweise. Insbesondere die Filterform model=text funktioniert in keiner Kombination.
Geht mir genauso. Mit List bekomme ich die Geräte angezeigt, in Readingsgroup jedoch nicht.

Beta-User

Habe leider keine passenden Geräte, aber das hier liefert alle dummy, dir rhasspy-Attribut(e) gesetzt haben:
defmod test_rg readingsGroup TYPE=du.*:?rhasspy.*

list group=AbfallZeigt - ähnlich wie room - auch Geräte, die noch in weiteren Gruppen sind.

Würde das mal so anpassen:
defmod test_rg readingsGroup group=Abfall:?model
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

frank

#13
so wird nur devicename angezeigt, kein alias

defmod rg_test readingsGroup <device>,<model> \
model&.+:+NAME,?model
attr rg_test nameStyle style="color:yellow"
attr rg_test nonames 1


edit: damit die links bleiben besser so:

defmod rg_test readingsGroup <device>,<alias>,<model> \
model&.+:?alias,?model
attr rg_test mapping $DEVICE
attr rg_test nameStyle style="color:yellow"
attr rg_test room 01_Test
attr rg_test valueColumn {"alias" => 1, "model" => 2}
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

TWART016

Zitat von: Beta-User am 11 März 2021, 14:34:15
Habe leider keine passenden Geräte, aber das hier liefert alle dummy, dir rhasspy-Attribut(e) gesetzt haben:
defmod test_rg readingsGroup TYPE=du.*:?rhasspy.*

list group=AbfallZeigt - ähnlich wie room - auch Geräte, die noch in weiteren Gruppen sind.

Würde das mal so anpassen:
defmod test_rg readingsGroup group=Abfall:?model
Ich möchte nicht nur alle Geräte mit dem Reading group angezeigt bekommen, sondern nur wenn attr group einen bestimmten Werte hat.

Bei Otto geht es um model, bei mir um Abfall.