|
From: <j-...@us...> - 2011-09-24 19:32:42
|
Revision: 426
http://openautomation.svn.sourceforge.net/openautomation/?rev=426&view=rev
Author: j-n-k
Date: 2011-09-24 19:32:35 +0000 (Sat, 24 Sep 2011)
Log Message:
-----------
Kleinere Fixes Heizung.pl Fensterstatus.pl
Modified Paths:
--------------
wiregate/plugin/generic/Fensterstatus.pl
Added Paths:
-----------
wiregate/plugin/generic/Heizung.pl
Removed Paths:
-------------
wiregate/plugin/generic/Heizung
Modified: wiregate/plugin/generic/Fensterstatus.pl
===================================================================
--- wiregate/plugin/generic/Fensterstatus.pl 2011-09-24 19:05:53 UTC (rev 425)
+++ wiregate/plugin/generic/Fensterstatus.pl 2011-09-24 19:32:35 UTC (rev 426)
@@ -1,34 +1,43 @@
+# Plugin zum Erfassen des Gesamt-Fenster-Status
+# Version 0.3 / 24.09.2011
+# Copyright: JNK (http://knx-user-forum.de/members/jnk.html)
+# License: GPL (v2)
#
-# Fensterstatus v0.2
-#
-# by JNK, 2011-09-19
+####################
+###Einstellungen:###
+####################
my @Fenster_GA = ('7/7/7', '7/7/8'); # hier alle Fenster-Einzel-GA
my $Sammel_GA = '7/7/9'; # hier die Sammel-GA
my $zustand_geschlossen = 01; # auf richtige polarit\xE4t achten!
my $zustand_offen = 00;
-
+######################
+##ENDE Einstellungen##
+######################
+
+#
# Flossen weg, der Rest geht automatisch
+#
$plugin_info{$plugname.'_cycle'} = 0; # nur bei Telegramm aufrufen
if (($msg{'apci'} eq 'A_GroupValue_Write') && (grep {$_ eq $msg{'dst'};} @Fenster_GA)) {
- # Telegramm auf einer Einzel-GA erhalten
- my $status = $zustand_geschlossen; # mit geschlossen anfangen
- my $old_status = $plugin_info{$plugname.'_oldstatus'};
- foreach my $GA (@Fenster_GA) {
- if (knx_read($GA, 0, 1) == $zustand_offen) { # da war eine 'offen', also Status auf 1 setzen
- $status = $zustand_offen;
- last;
- }
- }
- if ($old_status != $status){ #
- knx_write($Sammel_GA, $status, 1); # Status hat sich geaendert, senden
- $plugin_info{$plugname.'_oldstatus'} = $status; # neuen Status speichern
- }
-
- return 'Sent Value'.$status;
+ # Telegramm auf einer Einzel-GA erhalten
+ my $status = $zustand_geschlossen; # mit geschlossen anfangen
+ my $old_status = $plugin_info{$plugname.'_oldstatus'};
+ foreach my $GA (@Fenster_GA) {
+ if (knx_read($GA, 0, 1) == $zustand_offen) { # da war eine 'offen', also Status auf 1 setzen
+ $status = $zustand_offen;
+ last;
+ }
+ }
+ if ($old_status != $status){ #
+ knx_write($Sammel_GA, $status, 1); # Status hat sich geaendert, senden
+ $plugin_info{$plugname.'_oldstatus'} = $status; # neuen Status speichern
+ return 'Sent Value'.$status;
+ }
+ return 0; # nichts gesendet, Also
}
# keine Telegramme, also Init
Deleted: wiregate/plugin/generic/Heizung
===================================================================
--- wiregate/plugin/generic/Heizung 2011-09-24 19:05:53 UTC (rev 425)
+++ wiregate/plugin/generic/Heizung 2011-09-24 19:32:35 UTC (rev 426)
@@ -1,53 +0,0 @@
-# Heizungsregelung
-# Plugin h\xF6rt auf GA des Auf/Ab-Befehles und schickt neuen Sollwert
-# V0.1 2011-05-18
-# by Jan N. Klug
-
-### Definitionen
-my $schritt_ga = '4/1/3'; # Gruppenadresse Sollwert Auf = 1 / Ab = 0
-my $sollwert_ga = '4/2/3'; # Gruppenadresse Sollwert
-my $sollwert = 15;
-my $sollwertmin = 10; # Sollwert Minimum
-my $sollwertmax = 25; # Sollwert Maximum
-### Ende Definitionen
-
-# Eigenen Aufruf-Zyklus auf 1x st\xFCndlich setzen, h\xF6rt ja auf GA
-$plugin_info{$plugname.'_cycle'} = 3600;
-$sollwert = $plugin_info{$plugname.'_sollwert'};
-
-# Plugin an Gruppenadresse "anmelden"
-$plugin_subscribe{$schritt_ga}{$plugname} = 1;
-$plugin_subscribe{$sollwert_ga}{$plugname} = 1;
-
-# 1=auf, 0=ab
-if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $schritt_ga && defined $msg{'value'} && $msg{'value'} == "0" ) {
- if($sollwert>$sollwertmin) {
- $sollwert -= 0.5;
- knx_write($sollwert_ga,$sollwert,9);
- $plugin_info{$plugname.'_sollwert'} = $sollwert;
- return 1;
- }
-}
-
-if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $schritt_ga && defined $msg{'value'} && $msg{'value'} == "1" ) {
- if($sollwert<$sollwertmax) {
- $sollwert += 0.5;
- knx_write($sollwert_ga,$sollwert,9);
- $plugin_info{$plugname.'_sollwert'} = $sollwert;
- return 1;
- }
-}
-
-#Sollwert vom Bus lesen, wenn von dort gesendet
-if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $sollwert_ga ) {
-# if (!defined $msg{'value'}) {
- # falls GA/DPT nicht importiert
- $msg{'value'} = decode_dpt9($msg{'data'});
-# }
- $plugin_info{$plugname.'_sollwert'} = $msg{'value'};
- return 2;
-}
-
-knx_write($sollwert_ga,$sollwert,9);
-
-return 0;
Added: wiregate/plugin/generic/Heizung.pl
===================================================================
--- wiregate/plugin/generic/Heizung.pl (rev 0)
+++ wiregate/plugin/generic/Heizung.pl 2011-09-24 19:32:35 UTC (rev 426)
@@ -0,0 +1,58 @@
+# Plugin zum Erfassen des Gesamt-Fenster-Status
+# Version 0.1 / 18.05.2011
+# Copyright: JNK (http://knx-user-forum.de/members/jnk.html)
+# License: GPL (v2)
+#
+
+####################
+###Einstellungen:###
+####################
+
+my $schritt_ga = '4/1/3'; # Gruppenadresse Sollwert Auf = 1 / Ab = 0
+my $sollwert_ga = '4/2/3'; # Gruppenadresse Sollwert
+my $sollwert = 15;
+my $sollwertmin = 10; # Sollwert Minimum
+my $sollwertmax = 25; # Sollwert Maximum
+
+
+######################
+##ENDE Einstellungen##
+######################
+
+# Eigenen Aufruf-Zyklus auf 1x st\xFCndlich setzen, h\xF6rt ja auf GA
+$plugin_info{$plugname.'_cycle'} = 3600;
+$sollwert = $plugin_info{$plugname.'_sollwert'};
+
+# Plugin an Gruppenadresse "anmelden"
+$plugin_subscribe{$schritt_ga}{$plugname} = 1;
+$plugin_subscribe{$sollwert_ga}{$plugname} = 1;
+
+# 1=auf, 0=ab
+if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $schritt_ga && defined $msg{'value'} && $msg{'value'} == "0" ) {
+ if($sollwert>$sollwertmin) {
+ $sollwert -= 0.5;
+ knx_write($sollwert_ga,$sollwert,9);
+ $plugin_info{$plugname.'_sollwert'} = $sollwert;
+ return 1;
+ }
+}
+
+if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $schritt_ga && defined $msg{'value'} && $msg{'value'} == "1" ) {
+ if($sollwert<$sollwertmax) {
+ $sollwert += 0.5;
+ knx_write($sollwert_ga,$sollwert,9);
+ $plugin_info{$plugname.'_sollwert'} = $sollwert;
+ return 1;
+ }
+}
+
+#Sollwert vom Bus lesen, wenn von dort gesendet
+if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $sollwert_ga ) {
+ $msg{'value'} = decode_dpt9($msg{'data'});
+ $plugin_info{$plugname.'_sollwert'} = $msg{'value'};
+ return 2;
+}
+
+knx_write($sollwert_ga,$sollwert,9);
+
+return 0;
Property changes on: wiregate/plugin/generic/Heizung.pl
___________________________________________________________________
Added: svn:executable
+ *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|