##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.

sub setHeizstatus {
   my $heizstatus = shift;
   my $force = shift;

   # parameter check
   die ("Ungültiger Heizstatus (1 .. 4)") if ($heizstatus < 1 or $heizstatus > 4);

   # status check
   my $hstat = Value("KNX_0000001");
   if ($hstat == 4 or $hstat == 1) {
      # Frostschutz/Aufheizen
      if (!defined($force)) {
         die "setHeizstatus nicht ausgeführt, da Frostschutz/Aufheizbetrieb. Setze mit '(F)orce'.";
      }
   }
   fhem("set KNX_0000001 g1 $heizstatus");
   Log(1, "Set Heizstatus to $heizstatus");
   fhem("set KNX_LED1 g1 off");
   fhem("set KNX_LED2 g1 off");
   fhem("set KNX_LED3 g1 off");
   fhem("set KNX_LED4 g1 off");

   fhem("set KNX_LED1 g1 on") if ($heizstatus == 1);
   fhem("set KNX_LED2 g1 on") if ($heizstatus == 2);
   fhem("set KNX_LED3 g1 on") if ($heizstatus == 3);
   fhem("set KNX_LED4 g1 on") if ($heizstatus == 4);
}
1;
