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