FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: lenn1 am 07 Mai 2017, 08:47:58

Titel: Syntaxproblem: Readingwert in set Kommando übernehmen.
Beitrag von: lenn1 am 07 Mai 2017, 08:47:58
Dieser String hier steht in einem notify.
fhem("define at_terassentuerzutimer at +00:05:00 set WohnzimmerThermostat thermostatSetpointSet sprintf('%.2f',ReadingsVal('WohnzimmerHeizplan', 'state', '0'))");

Wenn ich nur {sprintf('%.1f',ReadingsVal('WohnzimmerHeizplan', 'state', '0'))}
ausführe, wird beispielsweise 19.0 zurückgeliefert.

Ich kriege es auch nicht hin ohne notify einfach per set ... und dann am Ende eben das ReadingsVal.
Die Temperatur bleibt einfach so.



Titel: Antw:Syntaxproblem: Readingwert in set Kommando übernehmen.
Beitrag von: Icinger am 07 Mai 2017, 09:04:21
Logisch.....Dein Beispiel
{sprintf('%.1f',ReadingsVal('WohnzimmerHeizplan', 'state', '0'))}
führt das sprintf direkt auf Perl-Ebene aus.

Ein
set WohnzimmerThermostat thermostatSetpointSet sprintf('%.2f',ReadingsVal('WohnzimmerHeizplan', 'state', '0'))");
würde das sprintf als FHEM-Befehl interpretieren.

Was zB funktionieren würde ist ein
fhem("define at_terassentuerzutimer at +00:05:00 set WohnzimmerThermostat thermostatSetpointSet ".sprintf('%.2f',ReadingsVal('WohnzimmerHeizplan', 'state', '0')));
oder ien
define at_terassentuerzutimer at +00:05:00 {fhem("set WohnzimmerThermostat thermostatSetpointSet ".sprintf('%.2f',ReadingsVal('WohnzimmerHeizplan', 'state', '0')))}
oder einfacher:
define at_terassentuerzutimer at +00:05:00 set WohnzimmerThermostat thermostatSetpointSet [WohnzimmerHeizplan:state]

lg, Stefan
Titel: Antw:Syntaxproblem: Readingwert in set Kommando übernehmen.
Beitrag von: lenn1 am 07 Mai 2017, 09:10:23
Vielen Dank für die ausführliche Erklärung.
Ja das FHEM da manchmal zwischen liegt vergisst man gerne.
Bin beruflich Java Entwickler und bin da etwas mehr Komfort gewöhnt :P.

Schönen Sonntag noch.
Kann gern geschlossen werden.


Grüße
Lennart

Titel: Antw:Syntaxproblem: Readingwert in set Kommando übernehmen.
Beitrag von: Thorsten Pferdekaemper am 07 Mai 2017, 09:15:26
Zitat von: lenn1 am 07 Mai 2017, 09:10:23Bin beruflich Java Entwickler und bin da etwas mehr Komfort gewöhnt :P.
Der war gut!  :D