Übergabe von Readings aus eigenem Modul

Begonnen von elbsegler, 19 Februar 2015, 15:47:44

Vorheriges Thema - Nächstes Thema

elbsegler

Für meine Raumthermostat-Steuerung (µC) habe ich ein eigenes Modul (serielle Kommunikation über USB/RS232) für FHEM erstellt. Damit habe ich im Moment ein Monitoring für die Raumtemperaturen sowie die zeitgesteuerte Absenkung einzelner Heizkreise über das FHEM Kalendermodul. Es existiert nur 1 Device (TempControl) -> µC-Steuerung. Ich möchte nun die Ausgabe der Readings etwas umstellen, scheitere jedoch an der Umsetzung.

Aktuelle Ausgabe
...
2015-01-31_21:56:04 TempControl Kueche: 21.4 off
2015-01-31_22:00:21 TempControl Schlafen: 16.1 off
2015-01-31_22:21:50 TempControl Diele_OG: 20.3 on
...

Künftig schwebt mir vor, die Raumbezeichnung als "Namen" zu übergeben, die Parameter (z.B. Temperatur, Status, Absenkung etc.) und Werte entsprechend zugeordnet. Damit möchte ich mittels "readingsGroup" eine bessere Darstellung (Spalten mit Symbolen etc.) erreichen

...
2015-02-19_12:22:57 TempControl Kueche Temperatur: 22.8
2015-02-19_12:22:57 TempControl Kueche HK_Status: off
2015-02-19_12:24:36 TempControl Bad_EG Temperatur: 20.9
2015-02-19_12:24:36 TempControl Bad_EG HK_Status: on
...

Im Moment verwende ich folgenden Code in meinem Modul. Als $key wird die Raumbezeichnung übergeben, $val beinhaltet im Moment den Temperaturwert + HK_Status.

sub
myTC_Utils_SetReading($$$$)
{
  my ($hash,$tn,$key,$val) = @_;
  my $name = $hash->{NAME};
  $hash->{READINGS}{$key}{TIME} = $tn;
  $hash->{READINGS}{$key}{VAL} = $val;
  DoTrigger($name, "$key: $val");
}

Sicherlich habe ich den Grundaufbau von FHEM noch nicht richtig verstanden. Hat jemand eine Idee mit ein paar Erklärungen.

Wuppi68

  $hash->{READINGS}{$key . $subkey}{TIME} = $tn;
  $hash->{READINGS}{$key . $subkey}{VAL} = $val;

$subkey sollte dann " Temperatur:", " HK_Status:" oder irgendwas anderes sinnvolles enthalten
FHEM unter Proxmox als VM

elbsegler

Die Readings sehen nun anders aus, jedoch komme ich mit der "readingsGroup" nicht zum gewünschten Erfolg -> alle Werte untereinander. Ziel wäre eine vgl. Darstellung wie z.B. http://www.fhemwiki.de/wiki/Datei:Rg_Heizung_Valveposition.png. Im Unterschied zu diesem Beispiel kommen meine Readings alle vom selben Device (TempControl)  -> µC-Steuerung. Kann man trotzdem eine spaltenweise Anordnung der verschiedenen "Readingtypen"($subkey) bekommen?

2015-02-20_20:38:26 TempControl Wohnen.Temperatur: 21.3
2015-02-20_20:38:26 TempControl Wohnen.HK_Status: on
2015-02-20_20:38:27 TempControl Bad_EG.Temperatur: 20.3
2015-02-20_20:38:27 TempControl Bad_EG.HK_Status: on