Dear all,
ich möchte einen Luftbefeuchter mittels eines THRESHOLD-Device steuern, den ich wie folgt definiert habe:
define thr_Bedroom1Hygrostat THRESHOLD ths_Bedroom1Climate:humidity:2:50:1 sw_Bedroom1Humidifier|set @ off|set @ on|0|reached:not met|_sc (_dv%)
Damit der Luftbefeuchter nur zur Nachtzeit läuft nutze ich Heating_Control wie folgt:
define hc_Bedroom1Hygrostat Heating_Control di_Bedroom1Hygrostat 21:00|50 05:00|10 set @ desired %
Allerdings würde ich die 'desired' Luftfeuchtigkeit gern auch manuell mittels eines ('dummy') Dimmer-Device vorgeben können und habe dazu folgendes versucht:
define ny1_Bedroom1Hygrostat notify di_Bedroom1Hygrostat set thr_Bedroom1Hygrostat desired {substr(Value('di_Bedroom1Hygrostat'),3,2)}
mit dem Ergebnis "thr_Bedroom1Hygrostat: set desired value:{substr(Value('di_Bedroom1Hygrostat'),3,2)}, desired value needs a numeric parameter"
auch
define ny1_Bedroom1Hygrostat notify di_Bedroom1Hygrostat { fhem("set thr_Bedroom1Hygrostat desired " + substr(Value('di_Bedroom1Hygrostat'),3,2)) }
führt nur zu "Unknown command 43, try help." ('43' ist der eingestellte Dimmerwert).
(Mir ist bewußt, daß 'dim0%' und 'dim100%' mit dem obigen 'substr'-Aufruf nicht korrekt zu einer Zahl gewandelt werden. Als gewünschte Luftfeuchtigkeit sind diese Grenzwerte jedoch für mich nicht relevant.)
Wie bringe ich das set <device> desired <value> Kommando dazu den übergebenen Wert anzunehmen?
Any ideas?
Vielen Dank
Lars
Zeichenketten aneinanderhängen in Perl geht mit . statt +, also wenn es überhaupt funktioniert, dann so:
{ fhem("set thr_Bedroom1Hygrostat desired ".substr(Value('di_Bedroom1Hygrostat'),3,2)) }
Gruß
Damian