Kommandos über Icons funktioniert nicht mehr beim Anklicken [gelöst]

Begonnen von ToKa, 18 April 2017, 09:28:06

Vorheriges Thema - Nächstes Thema

ToKa

Hallo zusammen,

da zu meinem Beitrag 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

RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight