FHEM Forum

FHEM => Automatisierung => Thema gestartet von: klausw am 18 Mai 2015, 17:50:47

Titel: 93_DbLog - DbLog_SplitFn
Beitrag von: klausw am 18 Mai 2015, 17:50:47
Hallo zusammen,

ich würde die DbLog_SplitFn in diverse I2C Module einbauen.
Dazu habe ich 2 Fragen:

Titel: Antw:93_DbLog - DbLog_SplitFn
Beitrag von: Tobias am 19 Mai 2015, 08:25:27
Als erstes wird immer geschaut, aber das dazugehörige Modul des Events die splitfn bereitstellt. Falls ja, wird der Rückgabewert benutzt. Langfristig soll die globale (interne dblog) Ermittlung von Value/Unit/Reading wegfallen.

So siehts aus:
($reading,$value,$unit) =
        &{$modules{$dtype}{DbLog_splitFn}}($event);


Das heißt, das komplette event wird der splitfn übergeben. Das Modul des Events enscheidet selbsständig, was und wie zurückgegeben wird.
Titel: Antw:93_DbLog - DbLog_SplitFn
Beitrag von: klausw am 19 Mai 2015, 17:25:13
Zitat von: Tobias am 19 Mai 2015, 08:25:27
Als erstes wird immer geschaut, aber das dazugehörige Modul des Events die splitfn bereitstellt. Falls ja, wird der Rückgabewert benutzt. Langfristig soll die globale (interne dblog) Ermittlung von Value/Unit/Reading wegfallen.

So siehts aus:
($reading,$value,$unit) =
        &{$modules{$dtype}{DbLog_splitFn}}($event);


Das heißt, das komplette event wird der splitfn übergeben. Das Modul des Events enscheidet selbsständig, was und wie zurückgegeben wird.

soweit hatte ich es verstanden.
Nur was steht im $event drin?

Beispiel:
wenn im Event Monitor
2015-05-19 17:15:28 I2C_SHT21 SHT21 temperature: 24.562
auftaucht, ist dies das identisch mit $event
oder mit
temperature: 24.562

Die Implementierung in 10_MAX.pm beispielsweise macht den Eindruck, das es die zweite Variante ist.
Aus dieser würde ich ja nicht den Namen des Gerätes bekommen.

Die readings im Modul I2C_MCP342x lauten Channel1, Channel2 ...
Wenn ich mehrere devices von I2C_MCP342x definiert habe und diese unterschiedliche Größen messen (z.B. Strom und Spannung) kann ich dies im Nachhinein nicht mehr den entsprechenden Einheitenatributen zuordnen.
Titel: Antw:93_DbLog - DbLog_SplitFn
Beitrag von: Tobias am 19 Mai 2015, 21:00:35
zweitere: temperature: 24.562
Titel: Antw:93_DbLog - DbLog_SplitFn
Beitrag von: klausw am 20 Mai 2015, 11:15:43
Zitat von: Tobias am 19 Mai 2015, 21:00:35
zweitere: temperature: 24.562

habe ich mir fast gedacht  :)
Dann habe ich keine Idee wie ich dem AD Wandler eine per Attribut einstellbare Einheit spendieren kann.
Ist aber eher ein kosmetisches Problem.