FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: rvideobaer am 25 Oktober 2015, 22:11:52

Titel: Code Beispiel aus dem readingsGroup Wiki
Beitrag von: rvideobaer am 25 Oktober 2015, 22:11:52
Hallo,

ich beschäftige mich seit kurzer zeit mit der Heizungssteuerung von Max Thermostaten mit FEHM.
Nun habe ich versucht das Code Beispiel "Heizungswerte, Status und Regelmöglichkeit" aus dem readingsgroup Wiki an Max anzupassen. Teilweise funktioniert es auch, aber bei der Temperatursteuerung lässt sich mit Auf und Ab immer nur 1° weiterschalten.
#Heizung regeln in readingsGroup
sub
myUtils_HeizungUpDown($$)
{
   my($DEVICE,$CMD) = @_;
 
   my $icon = $CMD;
   my $VALUE = ReadingsVal($DEVICE,"desired-new","10" );
   $VALUE = ReadingsVal($DEVICE,"desiredTemperature","10" )
      if( !$VALUE || $VALUE == 0 );
   my $link;
 
   if( $CMD eq "up" ) {
     $icon = "control_arrow_upward";
     $VALUE += 1;
 
     if( $VALUE <= 27 ) {
       $icon .= "\@red";
       $link = "setreading $DEVICE desired-new $VALUE";
     }
   } elsif( $CMD eq "down" ) {
     $icon = "control_arrow_downward";
     $VALUE -= 1;
 
     if( $VALUE >= 8 ) {
       $icon .= "\@blue";
       $link = "setreading $DEVICE 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;
}
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:03 "
                  ."{my \$v = ReadingsVal(\"$DEVICE\",\"desired-new\",undef);"
                  ."fhem(\"set $DEVICE desiredTemperature auto \$v\") if( \$v );"
                  ."fhem(\"setreading $DEVICE desired-new 00\");}" );
 
   return undef;
}

Leider kenne ich mich nicht gut genug aus um den Fehler zu finden. Vielleicht kann mir jemand dabei Helfen.

Gruß Rolf
Titel: Antw:Code Beispiel aus dem readingsGroup Wiki
Beitrag von: justme1968 am 26 Oktober 2015, 08:19:05
ist dein fhem aktuell? welche version hat das radingGroup modul?

gruss
  andre
Titel: Antw:Code Beispiel aus dem readingsGroup Wiki
Beitrag von: rvideobaer am 26 Oktober 2015, 16:18:44
Hallo,

die Fhem Installation habe ich erst am WE aktualisiert. Die version des Moduls wies ich leider nicht, aber ich denke es ist auch aktuell.

Gruß Rolf
Titel: Antw:Code Beispiel aus dem readingsGroup Wiki
Beitrag von: ph1959de am 26 Oktober 2015, 17:49:38
Zitat von: rvideobaer am 26 Oktober 2015, 16:18:44
... Die version des Moduls wies ich leider nicht, ...
Dann kann Dir zumindest dabei geholfen werden: hier (http://www.fhemwiki.de/wiki/Version).

Peter
Titel: Antw:Code Beispiel aus dem readingsGroup Wiki
Beitrag von: rvideobaer am 26 Oktober 2015, 17:57:06
Hallo,

die Version ist:
33_readingsGroup.pm  9513 2015-10-18 10:25:13Z justme1968

Gruß Rolf