FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: theotherhalf am 05 Dezember 2018, 22:22:04

Titel: Bedingtes Kopieren einer Variablen in Homematic CCU
Beitrag von: theotherhalf am 05 Dezember 2018, 22:22:04
Hallo!
Ich hoffe in diesem Unterforum ein wenig Hilfe zu bekommen, da es wohl mehr mit der Syntax meiner Abfrage zu tun hat, als mit der Verbindung FHEM-Homematic CCU

Mein Ansinnen ist es bei Überschreiten einer Temperatur eines One Wire Sensors (Speicher_max) ein Bit zu generieren und das mittels HMCCU nach Homematic zu senden. Die Schnittstelle steht auch und ich kann das Bit mittels dieses Kommandos auch zur CCU senden. Klappt einwandfrei.
set CCU var Pufferspeicher_max_thermisch_voll 1
oder
set CCU var Pufferspeicher_max_thermisch_voll 0

Nun möchte ich das ganze alle zwei Minuten ablaufen lassen und habe folgende Funktion erstellt:
define Speicher_max_zur_HomematicCCU_Systemvariable at +*00:02 { if ( "Speicher_max:temperature" ge "75" ) { fhem("set CCU var Pufferspeicher_max_thermisch_voll 1") } else { fhem("set CCU var Pufferspeicher_max_thermisch_voll 0") }}

Das Ergebnis ist allerdings das ständig eine "1" gesendet wird, auch wenn derzeitig die Temperatur bei etwa 60°C liegt.

Stimmt etwas mit der Syntax nicht?
Titel: Antw:Bedingtes Kopieren einer Variablen in Homematic CCU
Beitrag von: Wzut am 06 Dezember 2018, 07:27:11
Zitat von: theotherhalf am 05 Dezember 2018, 22:22:04
if ( "Speicher_max:temperature" ge "75" )
? ? ? ?
if (ReadingsNum("Speicher_max","temperature",0) >75)
Titel: Antw:Bedingtes Kopieren einer Variablen in Homematic CCU
Beitrag von: theotherhalf am 06 Dezember 2018, 08:28:03
ich hatte die Syntax aus dem Wiki übernommen und abgeleitet...

Sollte es dann so sein?
define Speicher_max_zur_HomematicCCU_Systemvariable at +*00:03 { if (ReadingsNum("Speicher_max","temperature",0) >75) { fhem("set CCU var Pufferspeicher_max_thermisch_voll 1") } else { fhem("set CCU var Pufferspeicher_max_thermisch_voll
Titel: Antw:Bedingtes Kopieren einer Variablen in Homematic CCU
Beitrag von: theotherhalf am 06 Dezember 2018, 09:03:24
So läuft es jetzt, kleine Änderung noch zu oben:

define Speicher_max_zur_HomematicCCU_Systemvariable at +*00:01 { if (ReadingsNum("Speicher_max","temperature","") >75) { fhem("set CCU var Pufferspeicher_max_thermisch_voll 1") } else { fhem("set CCU var Pufferspeicher_max_thermisch_voll 0") }}