Zitatdefine FileLog_OpenDTU FileLog ./log/OpenDTU-%Y.log OpenDTU|OpenDTU:1164a00f98e9_0_power:.*|OpenDTU:1164a00f98e9_0_powerdc:.*|OpenDTU:Das würde ich mal löschen.
ZitatIn der letzten Woche war meine Wärmepumpe auf "Abwesend" geschaltet. Erwartungsgemäß lagen die KI-Verbrauchsprognosen trotz presence=0 heftig daneben.Das erscheint logisch da presence erst seit kurzer Zeit aufgezeichnet wird und die historischen Trainingsdaten bei presence=undef als presence=1 gemappt werden (müssen).
ZitatWäre es nicht gut, wenn man statt des festen Parameters comforttemp=<temp> eine setupEnvironment-Variable mit der aktuellen Raumsolltemperatur verwenden würde?comforttemp ist ja die Solltemperatur (Komforttemperatur) in den Wohnräumen.
set <name> attrKeyVal ConsumerXX comforttemp=<temp>
SELECT `VALUE` FROM `history` WHERE `device` = 'SMA_Energymeter' AND `reading` = 'Bezug_WirkP_Kosten_Diff' AND YEARWEEK(`TIMESTAMP`, 1) = YEARWEEK(CURDATE(), 1) ORDER BY `TIMESTAMP` ASC LIMIT 1;
set ... userCommand ...
define Dachgeschoss_Rollo_Vorne readingsProxy Dachgeschoss_Rollo:pct_1
define Dachgeschoss_Rollo_Hinten readingsProxy Dachgeschoss_Rollo:pct_0
set Dachgeschoss_Rollo_Hinten closed schliesst das hintere Rollo.set Dachgeschoss_Rollo 50 0 funktioniert!set Dachgeschoss_Rollo_Hinten pct 50 leider nicht.{
my ($hash, $name, $cmd, @args) = @_;
return "Unknown argument $cmd"
unless $cmd =~ /^(open|closed|stop|pos)$/;
# Parent-Device aus DEF ermitteln (vor dem :)
my ($parent) = split(":", $hash->{DEF});
return "Parent device not found" unless $parent;
if ($cmd eq "pos") {
return "pos needs a value (0-100)" unless defined $args[0];
fhem("set $parent pct $args[0] 0");
}
elsif ($cmd eq "open") {
fhem("set $parent open 0");
}
elsif ($cmd eq "closed") {
fhem("set $parent closed 0");
}
else { # stop
fhem("set $parent stop 0");
}
return undef;
}