[gelöst] Zwei Status zusammen anzeigen

Begonnen von Daku123, 28 November 2014, 12:03:23

Vorheriges Thema - Nächstes Thema

Daku123

Hallo,
ich hab schon etwas gesucht aber noch nicht das Richtige gefunden.
Ich versuche von zwei Temperatursensoren wobei der eine im Kühlschrank und der andere im Gefrierfach liegt beide Status in einem Dummy zusammenzufassen, aber mit einem Latein bin ich langsam am Ende. Ich denke mit userReadings und stateFormat müsste ich doch gar nicht soweit weg sein, oder?


define Ku.Kuehlschrank dummy
attr Ku.Kuehlschrank room LaCrosse
attr Ku.Kuehlschrank stateFormat KuehlGefrier:counters.A, KuehlGefrier:counters.B
attr Ku.Kuehlschrank userReadings KuehlGefrier:counters.A {ReadingsVal("Kuehlschrank","temperature",0)}, KuehlGefrier:counters.B {ReadingsVal("Gefrierfach","temperature",0)}
Raspberry B+ als FHEM-Server
CUL868 mit HM-LC-SW4-PCB, HM-WDS10-TH-O, HM-SEC-MDIR und 2x HM-SEC-RHS
JeeLink mit 1x TX25IT (Zisternenüberwachung), 5xTX29IT (2x Temperatur und 3x als Fenster/Torkontakt), 11xTX29DTH-IT

justme1968

die gleichen antworten wie immer:

- userReadings funktionieren nur innerhalb eines devices. nicht device übergreifend. sie werden von anderen readings im gleichen device getriggert.

- warum willst du überhaupt readings in einen dummy kopieren.

- wenn es dir nur um die anzeige geht nimm eine readingsGroup

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Daku123

#2
Danke für den Tipp.


define Ku.Kuehlschrank readingsGroup Kuehlschrank:temperature Gefrierfach:temperature
attr Ku.Kuehlschrank notime 1
attr Ku.Kuehlschrank mapping {'Kuehlschrank.temperature' => 'Kuehlschrank', 'Gefrierfach.temperature' => 'Gefrierfach'}


Jetzt muss ich mal schauen, dass ich das noch in einen Dummy bekomme, damit mir Andfhem dieses Reading ausgibt/anzeigt.
Raspberry B+ als FHEM-Server
CUL868 mit HM-LC-SW4-PCB, HM-WDS10-TH-O, HM-SEC-MDIR und 2x HM-SEC-RHS
JeeLink mit 1x TX25IT (Zisternenüberwachung), 5xTX29IT (2x Temperatur und 3x als Fenster/Torkontakt), 11xTX29DTH-IT

Joachim

Moin Daku123,
alternativ geht das auch ohne dummy und readingsgroup, indem Du sinngemäß bei Dir ein userReadings und stateFormat setzt.
Als Beispiel:
Bei mir werden in der Küche die Temperaturen der Küche, der Gefriertruhe und des Kühlschranks angezeigt.

define TS_Ku cloneDummy FB_TS_Ku temperature
attr TS_Ku room Kueche
attr TS_Ku stateFormat {sprintf("Ku: %.1f GS: %.1f KS: %.1f",ReadingsVal("TS_Ku","helper_T",0), ReadingsVal("TS_Ku","Kuehltruhe",0), ReadingsVal("TS_Ku","Kuehlschrank",0))}
attr TS_Ku userReadings Kuehltruhe {ReadingsVal("Ku_GS","helper_T",0)},Kuehlschrank {ReadingsVal("Ku_KS","helper_T",0)}

Das userReadings holt die Werte von Gefriertruhe und Kühlschrank, und stateFormat bringt sie in die Anzeige.

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Daku123

Hallo Joachim,
ich versuche gerade deinen Code nachzuvollziehen, aber was ist das helper_T und brauche ich das cloneDummy?
Grüße
Raspberry B+ als FHEM-Server
CUL868 mit HM-LC-SW4-PCB, HM-WDS10-TH-O, HM-SEC-MDIR und 2x HM-SEC-RHS
JeeLink mit 1x TX25IT (Zisternenüberwachung), 5xTX29IT (2x Temperatur und 3x als Fenster/Torkontakt), 11xTX29DTH-IT

Joachim

Moin Daku123,

Zitataber was ist das helper_T und brauche ich das cloneDummy?

cloneDummy ist Dein Device, in dem Du die beiden Staten zusammenfassen möchtest, z.B. ein Temperatursensor.
helper_T ist das Reading, welches Du bei deinem Temperatursensor zusätzlich anzeigen möchtest.
Hier noch mal ein Beispiel mit mehreren 1-Wire Temperatursensoren:

define Temperatur_Kueche OWTHERM DS1820 8FEF01020800 100
attr Temperatur_Kueche IODev Kristech
attr Temperatur_Kueche model DS1820
attr Temperatur_Kueche stateFormat {sprintf("Ku: %.1f GS: %.1f KS: %.1f",ReadingsVal("Temperatur_Kueche","temperature",0), ReadingsVal("Temperatur_Kueche","Gefrierschrank",0), ReadingsVal("Temperatur_Kueche","Kuehlschrank",0))}
attr Temperatur_Kueche userReadings Gefrierschrank {ReadingsVal("Temperatur_Gefrierschrank","temperature",0)},Kuehlschrank {ReadingsVal("Temperatur_Kuehlschrank","temperature",0)}


define Temperatur_Gefrierschrank OWTHERM DS18B20 212772040000 100
attr Temperatur_Gefrierschrank IODev Kristech
attr Temperatur_Gefrierschrank model DS1822

define Temperatur_Kuehlschrank OWTHERM DS18B20 198B72040000 100
attr Temperatur_Kuehlschrank IODev Kristech
attr Temperatur_Kuehlschrank model DS1822


Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Daku123

Danke für deine Hilfe, aber beim cloneDummy scheitere ich...

Ich habe doch 2 Devices als "Source", Gefrierfach und Kuehlschrank

#Temperatur Gefrierfach
define Gefrierfach LaCrosse 2E
attr Gefrierfach IODev JLLaCR
attr Gefrierfach event-min-interval temperature:1800,battery:3600
attr Gefrierfach event-on-change-reading temperature:0.5,battery
attr Gefrierfach room LaCrosse
define FileLog_Gefrierfach FileLog ./log/Gefrierfach-%Y.log Gefrierfach
attr FileLog_Gefrierfach logtype text
attr FileLog_Gefrierfach room LaCrosse

#Temperatur Kühlschrank
define Kuehlschrank LaCrosse 18
attr Kuehlschrank IODev JLLaCR
attr Kuehlschrank event-min-interval temperature:1800,battery:3600
attr Kuehlschrank event-on-change-reading temperature:0.5,battery
attr Kuehlschrank room LaCrosse
define FileLog_Kuehlschrank FileLog ./log/Kuehlschrank-%Y.log Kuehlschrank
attr FileLog_Kuehlschrank logtype text
attr FileLog_Kuehlschrank room LaCrosse



Wie soll die Zeile define Temperatur_Kueche cloneDummy ????? temperature dann aussehen?

Raspberry B+ als FHEM-Server
CUL868 mit HM-LC-SW4-PCB, HM-WDS10-TH-O, HM-SEC-MDIR und 2x HM-SEC-RHS
JeeLink mit 1x TX25IT (Zisternenüberwachung), 5xTX29IT (2x Temperatur und 3x als Fenster/Torkontakt), 11xTX29DTH-IT

Joachim

Wo in meinem 2. Beispiel taucht cloneDummy auf?
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Daku123

Hallo,
es ging mir hierum...

Zitat von: Joachim am 28 November 2014, 14:04:14
Moin Daku123,
alternativ geht das auch ohne dummy und readingsgroup, indem Du sinngemäß bei Dir ein userReadings und stateFormat setzt.
Als Beispiel:
Bei mir werden in der Küche die Temperaturen der Küche, der Gefriertruhe und des Kühlschranks angezeigt.

define TS_Ku cloneDummy FB_TS_Ku temperature
attr TS_Ku room Kueche
attr TS_Ku stateFormat {sprintf("Ku: %.1f GS: %.1f KS: %.1f",ReadingsVal("TS_Ku","helper_T",0), ReadingsVal("TS_Ku","Kuehltruhe",0), ReadingsVal("TS_Ku","Kuehlschrank",0))}
attr TS_Ku userReadings Kuehltruhe {ReadingsVal("Ku_GS","helper_T",0)},Kuehlschrank {ReadingsVal("Ku_KS","helper_T",0)}

Das userReadings holt die Werte von Gefriertruhe und Kühlschrank, und stateFormat bringt sie in die Anzeige.

Gruß Joachim
Raspberry B+ als FHEM-Server
CUL868 mit HM-LC-SW4-PCB, HM-WDS10-TH-O, HM-SEC-MDIR und 2x HM-SEC-RHS
JeeLink mit 1x TX25IT (Zisternenüberwachung), 5xTX29IT (2x Temperatur und 3x als Fenster/Torkontakt), 11xTX29DTH-IT

Joachim

Deshalb habe ich Dir ein 2. Beispiel gepostet, ganz ohne cloneDummy!

define Temperatur_Kueche OWTHERM DS1820 8FEF01020800 100
attr Temperatur_Kueche IODev Kristech
attr Temperatur_Kueche model DS1820
attr Temperatur_Kueche stateFormat {sprintf("Ku: %.1f GS: %.1f KS: %.1f",ReadingsVal("Temperatur_Kueche","temperature",0), ReadingsVal("Temperatur_Kueche","Gefrierschrank",0), ReadingsVal("Temperatur_Kueche","Kuehlschrank",0))}
attr Temperatur_Kueche userReadings Gefrierschrank {ReadingsVal("Temperatur_Gefrierschrank","temperature",0)},Kuehlschrank {ReadingsVal("Temperatur_Kuehlschrank","temperature",0)}


define Temperatur_Gefrierschrank OWTHERM DS18B20 212772040000 100
attr Temperatur_Gefrierschrank IODev Kristech
attr Temperatur_Gefrierschrank model DS1822

define Temperatur_Kuehlschrank OWTHERM DS18B20 198B72040000 100
attr Temperatur_Kuehlschrank IODev Kristech
attr Temperatur_Kuehlschrank model DS1822

hier gibt es 3 1-Wire Temperatursensoren, und im STATE des ersten Sensors werden die Maßwerte der beiden anderen angezeigt.
Das ganze geschieht über userReadings und stateFormat.
ggf. diese beiden Attribute mal in der commandref nachlesen.
Ansonsten einfach nur das Beispiel für Dich anpassen.

Gruß Joachim

PS.: Natürlich könnte ich das für Dich machen, aber das ist nicht Sinn des ganzen, denn Du möchtest es ja begreifen.
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Daku123

Hallo Joachim,
danke, deshalb war ich ja auch immer so penetrant hinterher...  ;)

Also Holzbretterzaun vor dem Kopf entfernt. Danke.


#Temperatur Kühlschrank inkl. Gefriefach
define Kuehlschrank LaCrosse 18
attr Kuehlschrank IODev JLLaCR
attr Kuehlschrank event-min-interval temperature:1800,battery:3600
attr Kuehlschrank event-on-change-reading temperature:0.5,battery
attr Kuehlschrank room LaCrosse
attr Kuehlschrank stateFormat {sprintf("Ku: %.1f Gf: %.1f",ReadingsVal("Kuehlschrank","temperature",0), ReadingsVal("Kuehlschrank","Gefrierfachtemp",0))}
attr Kuehlschrank userReadings Gefrierfachtemp {ReadingsVal("Gefrierfach","temperature",0)}
Raspberry B+ als FHEM-Server
CUL868 mit HM-LC-SW4-PCB, HM-WDS10-TH-O, HM-SEC-MDIR und 2x HM-SEC-RHS
JeeLink mit 1x TX25IT (Zisternenüberwachung), 5xTX29IT (2x Temperatur und 3x als Fenster/Torkontakt), 11xTX29DTH-IT

Joachim

Das ist schön, wenn es jetzt geht.
Bitte setze noch in Deinem ersten Beitrag im Betreff ein gelöst davor.

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232