Metadaten per Script abfragen

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Antworten
zap
Beiträge: 66
Registriert: 05.12.2014, 17:57

Metadaten per Script abfragen

Beitrag von zap » 15.03.2024, 14:47

Es gibt die RPC Funktion getMetadata in der CCU, mit der zu einem Gerät gespeicherte Informationen (z.B. Energiezähler) ausgelesen werden können.

Diese Funktion benötigt als Parameter eine (Kanal) Adresse und einen Daten-ID. Leider ist die Daten-ID nicht bekannt. Für BidCos gibt es eine RPC Funktion getAllMetaData, mit der alle Metadaten zu einer Adresse geholt werden können. Leider fehlt diese Funktion bei HmIP.

Gibt es eine Art Enum-Methode, mit der man alle Metadaten zu einem Gerät unabhängig vom Protokoll auslesen kann?


zap
Beiträge: 66
Registriert: 05.12.2014, 17:57

Re: Metadaten per Script abfragen

Beitrag von zap » 15.03.2024, 15:48

Es gibt z.B. den Energiezähler HmIP-ESI. Der hat zwar normale Datenpunkte für den Energycounter, die Werte für 7 oder 30 Tage werden aber wohl als Metadaten gespeichert.

Im Prinzip lässt sich das recht einfach nutzen, z.B. mit (RPC Methoden)

putMetadata (Adresse, "meinEnergyCounter", 1000)

und auslesen mit

getMetadata (Adresse, "meinEnergyCounter")

Ich weiß jedoch nicht, unter welchem Namen (wie "meinEnergyCounter") EQ-3 diese Messdaten ablegt. Daher die Hoffnung, dass es eine Art Enum Funktion für diese Namen gibt.

Benutzeravatar
Baxxy
Beiträge: 10850
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 610 Mal
Danksagung erhalten: 2230 Mal

Re: Metadaten per Script abfragen

Beitrag von Baxxy » 15.03.2024, 16:36

Ich glaube du bist auf dem Holzweg.
Die XML-Metadaten sind was anderes wie die ReGa-Metadaten.
Soll heißen man kann per getMetadata nicht auf die ReGa-Metadaten zugreifen.

Letztere werden für die erweiterten Energiezähler genutzt.
Beispiel gibt es hier im Script, da habe ich die Metadaten benutzt:
viewtopic.php?f=60&t=80952&start=10&hilit=psm

zap
Beiträge: 66
Registriert: 05.12.2014, 17:57

Re: Metadaten per Script abfragen

Beitrag von zap » 15.03.2024, 19:18

Danke! Es geht tatsächlich um die Rega Metadaten:

Dump der Metadaten eines Kanals:

Code: Alles auswählen

object chnObj = channels.Get("MyChannelName");
string dataIdList = chnObj.EnumMetaData();
string dataId;
foreach (dataId, dataIdList.Split(' ')) {
  string metaVal = chnObj.MetaData(dataId);
  WriteLine(dataId # '=' # metaVal);
}

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“