Hallo zusammen,
ich versuche gerade mein 1. WireGate Plugin eine 5-fach Oderfunktion zu realisieren.
Ich habe auch schon einen Versuch gestartet:
das ganze funktioniert auch schon teilweise das Plugin wird bei neuen Telegramm abgearbeitet. Allerdings funktioniert die Oderfunktion selbst nicht d.h. es wird immer das 0 Telegramm an den Ausgang weitergegeben obwohl ein anderen Eingang noch logisch 1 anliegt.
GA sind im WG importiert.
Warum funktioniert das Oder nicht?
Könnte evtl. jemand drüberschaun?
Gruß
ich versuche gerade mein 1. WireGate Plugin eine 5-fach Oderfunktion zu realisieren.
Ich habe auch schon einen Versuch gestartet:
Code:
######################################################################################
#
# Oder Verknüpfung
# V0.1 2012-04-05
#
######################################################################################
#########################
### BEGINN DEFINITION ###
#########################
# Aufruf-Zyklus auf 300 Sekunden setzen
$plugin_info{$plugname.'_cycle'} = 300;
#Variablen
my $Oder1 = 0;
my $Oder2 = 0;
my $Oder3 = 0;
my $Oder4 = 0;
my $Oder5 = 0;
#GA´s
my $AusgangOderGA = '0/0/7';
my $Oder1GA = '0/0/2';
my $Oder2GA = '0/0/3';
my $Oder3GA = '0/0/4';
my $Oder4GA = '0/0/5';
my $Oder5GA = '0/0/6';
#Plugin auf GAs anmelden
$plugin_subscribe{$Oder1GA}{$plugname} = 1;
$plugin_subscribe{$Oder2GA}{$plugname} = 1;
$plugin_subscribe{$Oder3GA}{$plugname} = 1;
$plugin_subscribe{$Oder4GA}{$plugname} = 1;
$plugin_subscribe{$Oder5GA}{$plugname} = 1;
#########################
### ENDE DEFINITION ###
#########################
# Plugin aufgrund eines eintreffenden Telegramms oder zyklisch bearbeiten
# bei eintreffenden Telegrammen auf "Write" reagieren
if ($msg{'apci'} eq "A_GroupValue_Write") {
if ($msg{'dst'} eq $Oder1GA) {
$Oder1 = $msg{'value'};
}
if ($msg{'dst'} eq $Oder2GA) {
$Oder2 = $msg{'value'};
}
if ($msg{'dst'} eq $Oder3GA) {
$Oder3 = $msg{'value'};
}
if ($msg{'dst'} eq $Oder4GA) {
$Oder4 = $msg{'value'};
}
if ($msg{'dst'} eq $Oder5GA) {
$Oder5 = $msg{'value'};
}
} else { # zyklischer Aufruf
$Oder1 = knx_read($Oder1GA,300,1);
$Oder2 = knx_read($Oder2GA,300,1);
$Oder3 = knx_read($Oder3GA,300,1);
$Oder4 = knx_read($Oder4GA,300,1);
$Oder5 = knx_read($Oder5GA,300,1);
}
#Auswertung Oderfunktion
if (($Oder1 == 1) || ($Oder2 == 1) || ($Oder3 == 1) || ($Oder4 == 1) || ($Oder5 == 1)) {
knx_write($AusgangOderGA,1,1);
$plugin_info{$plugname.'_Ausgang'} = 1;
} else {
knx_write($AusgangOderGA,0,1);
$plugin_info{$plugname.'_Ausgang'} = 0;
}
return;
GA sind im WG importiert.
Warum funktioniert das Oder nicht?
Könnte evtl. jemand drüberschaun?
Gruß



Kommentar