[GELÖST] nochmals rechnen mit Readings

Begonnen von Kaspi, 15 Januar 2020, 10:47:17

Vorheriges Thema - Nächstes Thema

Kaspi

Servus,

ich habe:
ProxyDevice A     : PV_ANLAGE_ARBEIT mit dem Reading "state"                  zB: 100
ProxyDevice B     : NETZ_BEZUG_ARBEIT mit dem Reading "state"                zB: 50
ProxyDevice C     : NETZ_EINSPEISUNG_ARBEIT mit dem Reading "state"      zB: 0

nun möchte ich ein Device: HAUS_VERBRAUCH_ARBEIT mit einem Reading A+B-C haben.

Bekomme ich zum verrecken nicht hin  :(

Bräuchte Hilfe   :-\

Kaspi

Beta-User

Unterstellungen:
Du hast ein "Großdevice", in dem alle Readings liegen, die du in ProxyDevice (A-C) hast, und unter einem ProxyDevice ist je ein Gerät des TPPE=ReadingsProxy zu verstehen?

Dann würde ich empfehlen, ein userReadings-Attribut im "Großdevice" anzulegen, das den weiteren gewünschten Wert ermittelt und in ein weiteres Reading schreibt. Dazu benötigst du etwas Perl (ReadingsVal()) und solltest darauf achten, dass du das neue "Verbrauch_Arbeit"-Reading nur aktualisierst, wenn einer der Werte aktualisiert wird (=trigger sauber definieren).

Wenn dir das zu abstrakt ist: liefere bitte ein list vom "Großdevice" (siehe angepinnte Beiträge hier).
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

Kaspi

#2
Hi,

nein. Es sind verschiedene Devices. Und ja, es sind ReadingsProxy.

Kaspi

Beta-User

Hm, dann kannst du das userReadings-Attribut bei einem der verschiedenen Devices anbringen und mit "ReadingsVal()" auf die anderen beiden zugreifen. Das Device, an das du das hängst, darf nur kein ReadingsProxy sein, weil der afaik nicht triggert.
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

Wzut

Zitat von: Beta-User am 15 Januar 2020, 10:55:45
Unterstellungen:
Du hast ein "Großdevice", in dem alle Readings liegen,
Sicher ? da er dreimal state schreibt werden es vermutlich drei verschiedene Geräte sein die er der besseren Übersicht wegen in einem readingsProxy zusammenführt. So richtig simpel geht das z.B. mit einem DOIF das alle drei states addiert und als eigenen ausgibt.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Beta-User

#5
Zitat von: Wzut am 15 Januar 2020, 11:02:43
Sicher ? da er dreimal state schreibt werden es vermutlich drei verschiedene Geräte sein die er der besseren Übersicht wegen in einem readingsProxy zusammenführt.
Ein ReadingsProxy hat in der Regel nur ein Reading und das ist state, man kann damit afaik nichts "zusammenführen". Im Ausgangspost war daher die Frage, ob er 4 Devices hat (eines mit mindestens den drei Readings, die dann im "Großdevice" auch ganz anders benannt sein können, und je einen ReadingsProxy).

Antwort war: nein. Von daher hatte sich das teilweise erledigt.

Aber ohne list der Geräte ist das müßig, und ansonsten ist klar: viele Wege führen nach Rom...

EDIT:
Die neue Antwort war jetzt doch ja...
Zitat von: Kaspi am 15 Januar 2020, 10:58:18
nein. Es sind verschiedene Devices. Und ja, es sind ReadingsProxy.
Dann gibt es auch mind. ein Device, aus dem die Readings ursprünglich kommen, und du kannst das (auch) mit userReadings lösen (aber eben dort).
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

Wzut

Zitat von: Beta-User am 15 Januar 2020, 11:09:34
Aber ohne list der Geräte ist das müßig
stimmt , bin bis dahin auch still :)
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Kaspi

OK. Erledigt mit userReading in einem Device.

Danke  :)

Beta-User

Zitat von: Beta-User am 15 Januar 2020, 10:55:45
[...] solltest darauf achten, dass du das neue "Verbrauch_Arbeit"-Reading nur aktualisierst, wenn einer der Werte aktualisiert wird (=trigger sauber definieren).
Das hast du auch umgesetzt?
Ist vor allem bei "Großdevices" nicht unwichtig!

Ansonsten nochmal die Bitte, zukünftig "list" von den beteiligten Geräten zu liefern (notfalls kann man heikle Daten auch löschen; das aber bitte kenntlich machen!).
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