Hallo zusammen,
da zu meinem Beitrag https://forum.fhem.de/index.php/topic,70686.0.html (https://forum.fhem.de/index.php/topic,70686.0.html) noch niemand reagiert hat, hoffe ich, dass mir hier im Bereich readingsGroup jemand helfen kann.
Ich habe ein paar weitere Versuche gemacht (3 mal Klicken + -> Temperatur erhöhen) und das ganze mitgeloggt. Das Log verwirrt mich allerdings noch mehr, da es so aussieht, als würde auch der Minus-Button gedrückt. Ausgangsbasis war eine Wunschtemperatur von 19.5 und trotz 3 mal Klicken wurde nur 20.0 angezeigt und eingestellt.
Ich habe mir auf Basis des Beispiels aus dem WiKi zu readingsGroup eine Steuerung für meine Heizungsventile gebaut. Ich bin mir nicht sicher, ob es an readingsGroup oder fhemweb liegt, aber seit den letzten Updates (seit ca. Samstag) funktioniert das nur noch bedingt.
Bislang hat alles super funktioniert, sprich durch Anklicken der Plus-/Minus-Symbole konnte ich eine neue, beliebige Temperatur einstellen. Jetzt führt nur noch der erste Klick zu einer Temperaturveränderung, jeder weitere Klick bewirkt weder in der Anzeige etwas noch tatsächlich am Wert, der eingestellt werden soll.
Woran kann das liegen, wie kann ich ggf. bei der Fehlersuche helfen?
Beste Güße
Torsten
EDIT: EDIT: Nach dem heutigen Update (22.04.2017) funktioniert es wieder
Internals:
DEF <Heizkörper>,<Modus>,<Ist>,<Soll>,<Wunsch>,<kühler>,< >,<wärmer>,<Ventil>,<Batterie>,<last wake> E2.ku.*Heizung:thermostatMode,temperature,setpointTemp,desired-temp,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-new>,desired-new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-new>,reportedState,battery,<{substr(ReadingsTimestamp($DEVICE,"wakeup",""),11,5)}@wakeup> < >,< >,< >,< >,< >,< >,< >,< >,< >,< >,<{rgLink($DEVICE,"konfigurieren","Details")}>
NAME E2.ku.HR.Steuerung.grp
NR 176
NTFY_ORDER 50-E2.ku.HR.Steuerung.grp
STATE Initialized
TYPE readingsGroup
mayBeVisible 1
Content:
E2.ku.HR.Heizung 1
Content2:
DEVICES:
ARRAY(0x4803d90)
ARRAY(0x47d27a0)
ARRAY(0x44bed50)
Readings:
2017-04-13 16:47:37 desired-temp 18.0
Fhem:
lastDefChange 8
last_update 1492500147.87802
Helper:
DEF
valueFormat {if ($READING eq "desired-new") {"%.1f"} elsif ($READING eq "desired-temp") {"%.1f"} }
valueStyle {if ($READING eq "desired-new" && $VALUE eq "00") {'style="visibility:hidden"'} elsif ($READING eq "desired-new" && $VALUE ne "00") {'style="visibility:visible"'} }
Cellstyle:
r:1 style="font-weight:bold;color:grey;text-align:right;;font-size:14px"
r:1,c:1 style="font-weight:bold;color:grey;text-align:left;;font-size:14px"
r:2 style="font-weight:normal;text-align:right;font-size:14px"
Positions:
E2.ku.HR.Heizung.battery 2:9
E2.ku.HR.Heizung.desired-new 2:6
E2.ku.HR.Heizung.desired-temp 2:4
E2.ku.HR.Heizung.reportedState 2:8
E2.ku.HR.Heizung.setpointTemp 2:3
E2.ku.HR.Heizung.temperature 2:2
E2.ku.HR.Heizung.thermostatMode 2:1
Valuesuffix:
desired-new °C
desired-temp °C
reportedState %
setpointTemp °C
temperature °C
Values:
formated:
undef
ARRAY(0x47d0508)
ARRAY(0x22c6218)
ARRAY(0x449c7c0)
ARRAY(0x480c090)
undef
ARRAY(0x4659c00)
undef
ARRAY(0x4f9ad58)
ARRAY(0x2087848)
orig:
undef
ARRAY(0x4806378)
ARRAY(0x47cf938)
ARRAY(0x47ddb10)
ARRAY(0x47df198)
undef
ARRAY(0x384b9c8)
undef
ARRAY(0x47d41f0)
ARRAY(0x480aa38)
prefixsuffix:
undef
ARRAY(0x4605090)
ARRAY(0x47dcbf0)
ARRAY(0x4803b08)
ARRAY(0x47e50d0)
undef
ARRAY(0x47d3db8)
undef
ARRAY(0x47ec4e8)
ARRAY(0x480b358)
Attributes:
alias Heizungsteuerung
cellStyle {"r:1,c:1"=>'style="font-weight:bold;color:grey;text-align:left;;font-size:14px"', "r:1"=>'style="font-weight:bold;color:grey;text-align:right;;font-size:14px"',"r:2"=>'style="font-weight:normal;text-align:right;font-size:14px"'}
group Heizungssteuerung
noheading 1
room Küche
sortColumn 0
sortby 1
style style="border:0px;background:none;box-shadow:none"
valueFormat {if ($READING eq "desired-new") {"%.1f"} elsif ($READING eq "desired-temp") {"%.1f"} }
valueStyle {if ($READING eq "desired-new" && $VALUE eq "00") {'style="visibility:hidden"'} elsif ($READING eq "desired-new" && $VALUE ne "00") {'style="visibility:visible"'} }
valueSuffix { setpointTemp=>" °C",temperature=>" °C",reportedState=>" %",'desired-temp'=>" °C",'desired-new'=>" °C" }
sub
myUtils_HeizungUpDown($$)
{
my($DEVICE,$CMD) = @_;
Log 1, "Device ".$DEVICE;
my $icon = $CMD;
my $VALUE = ReadingsVal($DEVICE,"desired-new","20" );
Log 1, "read desired-new ".$VALUE;
if( !$VALUE || $VALUE == 0 ) {
$VALUE = ReadingsVal($DEVICE,"desired-temp","20" ) ;
Log 1, "read desired-temp ".$VALUE;
}
my $link;
if( $CMD eq "up" ) {
Log 1, "CMD ".$CMD;
$icon = "control_plus";
$VALUE += 0.5;
if( $VALUE <= 25 ) {
$icon .= "\@red";
$link = "setreading $DEVICE desired-new $VALUE";
Log 1, "changed desired-new + ".$VALUE;
}
} elsif( $CMD eq "down" ) {
Log 1, "CMD ".$CMD;
$icon = "control_minus";
$VALUE -= 0.5;
if( $VALUE >= 18 ) {
$icon .= "\@blue";
$link = "setreading $DEVICE desired-new $VALUE";
Log 1, "changed desired-new - ".$VALUE;
}
}
my $notify = "notifyHeizungUpDown";
if( !defined($defs{$notify}) ) {
CommandDefine(undef, "$notify notify .*:desired-new:.* "."{ myUtils_HeizungUpDownNotify(\$NAME,\$EVTPART1); }" );
}
my $ret = "%$icon";
$ret .= "%$link" if( $link );
return $ret;
}
#########################################################
### Timer x Sekunden anlegen um nach Ablauf die ###
### gewählte Temp ins Device zu übertragen ###
#########################################################
sub
myUtils_HeizungUpDownNotify($$)
{
my($DEVICE,$VALUE) = @_;
return if( $VALUE == 0 );
my $at = "triggerHeizungUpDown_$DEVICE";
CommandDelete(undef, $at) if( defined($defs{$at}) );
CommandDefine(undef,
"$at at +00:00:05 "
."{"
."my \$v = ReadingsVal(\"$DEVICE\",\"desired-new\",undef); "
."fhem(\"set $DEVICE desired-temp \$v\") if( \$v ); "
."fhem(\"setreading $DEVICE desired-new 00\");"
."fhem(\"setreading $DEVICE desired-temp \$v\");"
."}"
);
Log 1, "set desired-new ".$VALUE;
return undef;
}
2017.04.18 09:03:24.118 1: Device E2.ku.HR.Heizung
2017.04.18 09:03:24.118 1: read desired-new 00
2017.04.18 09:03:24.118 1: read desired-temp 19.5
2017.04.18 09:03:24.118 1: CMD down
2017.04.18 09:03:24.118 1: changed desired-new - 19
2017.04.18 09:03:24.121 1: Device E2.ku.HR.Heizung
2017.04.18 09:03:24.121 1: read desired-new 00
2017.04.18 09:03:24.121 1: read desired-temp 19.5
2017.04.18 09:03:24.121 1: CMD up
2017.04.18 09:03:24.121 1: changed desired-new + 20
2017.04.18 09:03:30.826 3: WeatherAtHome: 0 result(s) retrieved
2017.04.18 09:03:52.398 1: Device E2.ku.HR.Heizung
2017.04.18 09:03:52.399 1: read desired-new 20
2017.04.18 09:03:52.399 1: CMD down
2017.04.18 09:03:52.399 1: changed desired-new - 19.5
2017.04.18 09:03:52.413 1: Device E2.ku.HR.Heizung
2017.04.18 09:03:52.414 1: read desired-new 20
2017.04.18 09:03:52.414 1: CMD up
2017.04.18 09:03:52.414 1: changed desired-new + 20.5
2017.04.18 09:03:52.596 1: set desired-new 20
2017.04.18 09:03:57.478 3: ZWave set E2.ku.HR.Heizung desired-temp 20
2017.04.18 09:03:57.478 3: set E2.ku.HR.Heizung desired-temp 20 : Scheduled for sending after WAKEUP
2017.04.18 09:03:57.481 1: Device E2.ku.HR.Heizung
2017.04.18 09:03:57.481 1: read desired-new 00
2017.04.18 09:03:57.481 1: read desired-temp 19.5
2017.04.18 09:03:57.481 1: CMD down
2017.04.18 09:03:57.481 1: changed desired-new - 19
2017.04.18 09:03:57.496 1: Device E2.ku.HR.Heizung
2017.04.18 09:03:57.496 1: read desired-new 00
2017.04.18 09:03:57.496 1: read desired-temp 19.5
2017.04.18 09:03:57.496 1: CMD up
2017.04.18 09:03:57.496 1: changed desired-new + 20