|
From: <j-...@us...> - 2011-06-21 19:41:09
|
Revision: 367
http://openautomation.svn.sourceforge.net/openautomation/?rev=367&view=rev
Author: j-n-k
Date: 2011-06-21 19:41:03 +0000 (Tue, 21 Jun 2011)
Log Message:
-----------
Added Heizungsregelung Plugin
Added Paths:
-----------
wiregate/plugin/generic/Heizung
Added: wiregate/plugin/generic/Heizung
===================================================================
--- wiregate/plugin/generic/Heizung (rev 0)
+++ wiregate/plugin/generic/Heizung 2011-06-21 19:41:03 UTC (rev 367)
@@ -0,0 +1,53 @@
+# 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;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|