| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- ##############################################
- # Example perl functions. Put this file into the FHEM directory.
- #
- # # Activate 2 rollades at once with one button, open them to
- # # a different degree.
- # define ntfy_1 notifyon btn3 {MyFunc("@", "%")}
- #
- # # Swith the heater off if all FHT actuators are closed,
- # # and on if at least one is open
- # define at_1 at +*00:05 { fhem "set heater " . (sumactuator()?"on":"off") };
- package main;
- use strict;
- use warnings;
- sub
- PRIV_Initialize($$)
- {
- my ($hash, $init) = @_;
- }
- sub
- sumactuator()
- {
- my $sum = 0;
- foreach my $d (keys %defs) {
- next if($defs{$d}{TYPE} ne "FHT");
- my ($act, undef) = split(" ", $defs{$d}{READINGS}{"actuator"}{VAL});
- $act =~ s/%//;
- $sum += $act;
- }
- return $sum;
- }
- sub
- MyFunc($$)
- {
- my ($a1, $a2) = @_;
- Log 2, "Device $a1 was set to $a2 (type: $defs{$a1}{TYPE})";
- if($a2 eq "on") {
- fhem "set roll1 on-for-timer 10";
- fhem "set roll2 on-for-timer 16";
- } else {
- fhem "set roll1 off";
- fhem "set roll2 off";
- }
- }
- 1;
|