Zurück   KNX-User-Forum > Öffentlicher Bereich > KNX EIB Forum > Code-Schnipsel
knx-user-forum - International KNX Award Winner 2010


Links
Kalender
Spende

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 23.11.2012, 11:39
Benutzerbild von JuMi2006
Erfahrener Benutzer
 
Registriert seit: 23.03.2011
Beiträge: 1.908
JuMi2006 sorgt für eine eindrucksvolle AtmosphäreJuMi2006 sorgt für eine eindrucksvolle AtmosphäreJuMi2006 sorgt für eine eindrucksvolle Atmosphäre
Standard Timer / Treppenlicht Funktion

Einfacher Timer / Treppenlichtautomat.

Anwendungsfall bei uns: Merten BWM -> Sperrobjekt nach 2 Stunden löschen

Die aktuellste Version bitte stets aus dem SVN laden: SourceForge.net Repository - [openautomation] Log of /wiregate/plugin/generic/Timer.pl

Gruß

Timer.pl
Code:
# Timer
# v 0.2 
# 2013-01-31 JuMi2006 -> http://knx-user-forum.de

#####################
### Konfiguration ###
#####################

my $ga  = "0/0/7";     #GA
my $delay = 900;          #Delay in Sekunden
my $start_value = 1;    #Timerstart bei 1 -> 1 (Aus-Timer)
            #Timerstart bei 0 -> 0 (An-Timer)
            
##########################
### Ende Konfiguration ###
##########################

$plugin_info{$plugname.'_cycle'} = 60;
$plugin_subscribe{$ga}{$plugname} = 1;    
my $time = time;

if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $ga)
{
    my $val_in = knx_read($ga,0,1);
    
    if ($val_in == $start_value)   # wenn Start von GA erkannt
    {
    plugin_log($plugname,"Timer aktiv");
    $plugin_info{$plugname.'_timer_active'} = 1;# setzt eine Variable zur Fehlervermeidung
    $plugin_info{$plugname.'_last_start'} = time;
    }
    
    if ($val_in == !$start_value)   # wenn Stop von GA erkannt
    {       
    $plugin_info{$plugname.'_timer_active'} = 0;    # setzt eine Variable zur Fehlervermeidung
    plugin_log($plugname,"Timer deaktiviert");
    }
}

else

{
    if (($plugin_info{$plugname.'_timer_active'} == 1) && ($time > ($plugin_info{$plugname.'_last_start'} + $delay)))
    {
    knx_write($ga,!$start_value,1);                 # negiert senden
    $plugin_info{$plugname.'_timer_active'} = 0;    # setzt eine Variable zur Fehlervermeidung
    plugin_log($plugname,"Timer abgelaufen");
    }
}

return;
__________________
Umgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !

Geändert von JuMi2006 (01.02.2013 um 14:15 Uhr) Grund: Update
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrfache Telegramme auf den Bus mit KNX Anbindung erru openHAB 29 28.08.2012 09:04
Aufruf der updateTopNavigation() Funktion peuter CometVisu 4 15.08.2012 00:11
find Funktion Jambala eibPC 16 31.12.2011 13:22
Eine Funktion mit 2verschiedenen GA ansprechen? maxxmobile KNX EIB Forum 6 27.12.2010 11:14
[Firmware] Bug in Funktion gettime() klaus eibPC 46 29.11.2010 23:12


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:45 Uhr.



SEO by vBSEO