Zitat von henfri
Beitrag anzeigen
VG, Fry
#!/usr/bin/perl # # Logikprozessor.pl - Konfiguration # $eibd_backend_address='0.0.0'; # eigene Adresse zur Vermeidung von Zirkellogiken, ist oft auch '1.1.254' %logic=( #Fensterkontakte #Gäste und => { receive=>['8/1/30','8/1/31'], transmit=>'8/1/32', translate => sub { 2* $input->[0] + $input->[1]; }, debug=>1 }, #Gästebad und => { receive=>['8/1/8','8/1/9'], transmit=>'8/1/38', translate => sub { 2* $input->[0] + $input->[1]; }, debug=>1 }, #Schuppen Fenster 1 und => { receive=>['8/1/1','8/1/2'], transmit=>'8/1/36', translate => sub { 2* $input->[0] + $input->[1]; }, debug=>1 }, #Schuppen Fenster 2 und => { receive=>['8/1/3','8/1/4'], transmit=>'8/1/37', translate => sub { 2* $input->[0] + $input->[1]; }, debug=>1 } );
%settings=( prowl => { apikey => "*** hier eigenen API-Key eintragen***", application => 'WireGate KNX', priority => 0, event => '[unbenanntes Ereignis]', description => '', url => '' } );
%logic=( simpleProwl => { receive => '1/2/3', prowl => 'Hello world!' } );
%logic=( hashProwl => { receive => '1/2/4', prowl => { application => 'Beschattung' event => 'Südseite AB' } } );
%logic=( subProwl => { receive => '1/2/5', prowl => sub { my (%context) = @_; return (event => 'Rolladen Süd ' . ($context{input} ? 'AB' : 'AUF')); } } );
apikey => [ "*** key 1 ***", "*** key 2 ***", ... ]
%logic=( subProwl => { receive => '1/2/5', prowl => sub { return (event => "Rolladen Süd $input"); } } );
logik_regenbrause_in_benutzung => { receive => '4/1/71', transmit => '6/1/0', state => { oldstate => undef }, translate => sub { my $newstate = ($input gt 25) ? 1 : 0; if ($newstate ne $state->{oldstate}) { $state->{oldstate} = $newstate; return $newstate; } else { return undef; } } },
logik_regenbrause_in_benutzung => { receive => '4/1/71', transmit => '6/1/0', suppress_repetitions => 1, translate => sub { return ($input gt 25) ? 1 : 0; } }
# Schlafmodus # beide schlafen DG_Schl_AND => { receive=>['5/0/0','5/0/1'], transmit=>'5/0/4', translate => sub { $input->[0] && $input->[1]; }, }, # mindestens einer schläft DG_Schl_OR => { receive=>['5/0/0','5/0/1'], transmit=>'5/0/3', translate => sub { $input->[0] || $input->[1]; }, }, # genau einer schläft DG_Schl_XOR => { receive=>['5/0/0','5/0/1'], transmit=>'5/0/2', translate => sub { !$input->[0] != !$input->[1]; }, },
# im Bad, Anleide und Schlafzimmer das Licht nachts nur gedimmt einschalten DG_MBad_DIM => { receive=>['7/1/18','5/0/4'], transmit=>'1/4/89', translate => sub { return unless $input->[0]; if ($input->[1]) { return 5; } else { return $day ? 100 : 30; } }, }, DG_Ankl_DIM => { receive=>['7/1/19','5/0/3'], transmit=>'1/4/95', translate => sub { return unless $input->[0]; if ($input->[1]) { return 5; } else { return $day ? 100 : 30; } }, },
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar