Setzen des 'desired' value eines 'THRESHOLD' device über einen Dimmer

Begonnen von lferner, 26 Januar 2014, 13:20:55

Vorheriges Thema - Nächstes Thema

lferner

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

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF