ukulele
[xhome.git] / Griesstatt / 99_myUtils.pm
1 ##############################################
2 # $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
3 #
4 # Save this file as 99_myUtils.pm, and create your own functions in the new
5 # file. They are then available in every Perl expression.
6
7 package main;
8
9 use strict;
10 use warnings;
11 use POSIX;
12
13 sub
14 myUtils_Initialize($$)
15 {
16   my ($hash) = @_;
17 }
18
19 # Enter you functions below _this_ line.
20
21 sub setHeizstatus {
22    my $heizstatus = shift;
23    my $force = shift;
24
25    # parameter check
26    die ("Ungültiger Heizstatus (1 .. 4)") if ($heizstatus < 1 or $heizstatus > 4);
27
28    # status check
29    my $hstat = Value("KNX_0000001");
30    if ($hstat == 4 or $hstat == 1) {
31       # Frostschutz/Aufheizen
32       if (!defined($force)) {
33          die "setHeizstatus nicht ausgeführt, da Frostschutz/Aufheizbetrieb. Setze mit '(F)orce'.";
34       }
35    }
36    fhem("set KNX_0000001 g1 $heizstatus");
37    Log(1, "Set Heizstatus to $heizstatus");
38    fhem("set KNX_LED1 g1 off");
39    fhem("set KNX_LED2 g1 off");
40    fhem("set KNX_LED3 g1 off");
41    fhem("set KNX_LED4 g1 off");
42
43    fhem("set KNX_LED1 g1 on") if ($heizstatus == 1);
44    fhem("set KNX_LED2 g1 on") if ($heizstatus == 2);
45    fhem("set KNX_LED3 g1 on") if ($heizstatus == 3);
46    fhem("set KNX_LED4 g1 on") if ($heizstatus == 4);
47 }
48 1;