Heizungssteuerung mittels LightScene -> Probleme mit setzen von Werten

Begonnen von Senza, 27 Februar 2017, 20:58:36

Vorheriges Thema - Nächstes Thema

Senza

Hallo liebe Community,

bin seit Weihnachten begeisterter Besitzer eines Raspberry (eigenes Weihnachtsgeschenk  ;D) und habe mir vorgenommen mittels FHEM eine eigene Heizungssteuerung zu realisieren. Hatte noch ein paar alte FHT8V rumliegen, einen DHT22 angeschlossen, einen CUL bestellt – erstmal alles so weit so gut. Die 3x FHT8V funktionieren im Wohnzimmer und sind über eine Structure zusammengelegt, der PID20 ist vorgeschaltet uns steuert/regelt die FHT8V (wobei ich da bzgl. der Implementierung des I-Anteil IMHO denke, das es falsch implementiert ist - aber das ist aktuell nicht mein Problem). Nun will ich über LightScene die verschiedenen Heizungsmodi steuern (ComfortTemp, EcoTemp, HolidayTemp...), was auch mit statischen Temperaturwerten funktioniert. Da ich aber die ComfortTemp über einen Dummy manuell setzen möchte, und dann über ein Notify den neuen Wert in die Scene von LightScene übertragen möchte, scheitere ich leider. :'(

Über ein ReadingsVal kann ich jedenfalls den Wert der der ComfortTemp auslesen:
{ReadingsVal("WHG.ComfortTemp","state","")}       => 22

Das manuelle setzen der Temperatur in LightScene funktioniert auch:
set WHG.ProfileMode set ComfortMode WZ.PID_Controller desired 22

wenn ich jedoch folgendes Kommando absetze ...
set WHG.ProfileMode set ComfortMode WZ.PID_Controller desired {ReadingsVal("WHG.ComfortTemp","state","")}
... dann überträgt er leider nicht den Wert aus dem Dummy sondern:
ComfortMode desired {ReadingsVal("WHG.ComfortTemp","state","")}
EcoMode desired 18


Habt ihr evtl. einen Tipp für mich bzw. was mache ich denn falsch.

PS: vielen Dank an alle die FHEM mitentwickelt haben – echt beachtlich was da entstanden ist - bin echt beeindruckt!

Gruß & Vielen Dank im Voraus
Oli

Zephyr

Hallo zusammen,

das gleiche Problem habe ich ebenfalls. Es funktionierte mal bis zu einer Version (das ist schon länger her) und inzwischen nicht mehr... ?

Viele Grüße
Zephyr
FHEM 5.5 auf Fritz!Box 7390 und Beagle Bone black mit RFXtrx433

justme1968

du kannst fhem und perl code nicht so mischen. im
set musst du [<device>:<reading>] bei dir also also [WHG.ComforTemp:state] verwenden.

oder du baust auf der perl ebene das komplette kommando als string zusammen und schickst es per fhem(...) aufruf an fhem.

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

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

Zephyr

Hallo zusammen,

ich weiß nicht wie es bei euch beiden ist, aber wenn ich hinter set oder setcmd in das Textfeld folgendes eingebe:
IF ([d_wz_heizung_desiredtemp_01] ne "manu") (set wz_heizung_ac_01 setpointTemp [d_wz_heizung_desiredtemp_01:state])
Kommt hinterher das hier raus:
IF ([d_wz_heizung_desiredtemp_01] ne "manu") (set wz_heizung_ac_01 setpointTemp 21)

Ich wollte aber eigentlich den Wert nicht fest gespeichert haben, sondern dass immer der Wert aus [d_wz_heizung_desiredtemp_01:state] benutzt wird.
Aber vermutlich ist dafür LightScene das falsche Modul und ich sollte die Steuerung lieber mit einem DOIF nachbauen.

Viele Grüße
Zephyr
FHEM 5.5 auf Fritz!Box 7390 und Beagle Bone black mit RFXtrx433