Hallo zusammen,
hier mein Mini-Patch für das WG-Plugin Russound_RIO.pl von ChrisM (danke!) für die Zonen 7 und 8 der Russound C5.
Es ist ein Mini-Patch, denn er betrifft nur die GA-Struktur. Nach Makkis Skript beginnt Zone 1 bspw. bei 10/1/10, Zone 2 bei 10/1/50 usw. Das reicht in der Mittelgruppe 10/1 nur bis Zone 6, und bei 10/2/10 startet Zone 1 des zweiten Russound MCA sein.
Um nicht zu viel zu ändern, mache ich das so: Zone 1 bspw. bei 10/1/10, Zone 2 bei 10/1/50 ... Zone 7 bei 10/2/10, Zone 8 bei 10/2/50, und bei 10/3/10 startet Zone 1 des zweiten Russound MCA. Das ist ein wenig verschwenderischmit GAs, aber dafür verlassen wir Makkis GA-Struktur nicht.
@ChrisM: wenn ok für dich, kann ich das gepatchte Plugin ins SVN hochladen.
VG, Fry
hier mein Mini-Patch für das WG-Plugin Russound_RIO.pl von ChrisM (danke!) für die Zonen 7 und 8 der Russound C5.
Es ist ein Mini-Patch, denn er betrifft nur die GA-Struktur. Nach Makkis Skript beginnt Zone 1 bspw. bei 10/1/10, Zone 2 bei 10/1/50 usw. Das reicht in der Mittelgruppe 10/1 nur bis Zone 6, und bei 10/2/10 startet Zone 1 des zweiten Russound MCA sein.
Um nicht zu viel zu ändern, mache ich das so: Zone 1 bspw. bei 10/1/10, Zone 2 bei 10/1/50 ... Zone 7 bei 10/2/10, Zone 8 bei 10/2/50, und bei 10/3/10 startet Zone 1 des zweiten Russound MCA. Das ist ein wenig verschwenderischmit GAs, aber dafür verlassen wir Makkis GA-Struktur nicht.
Code:
@@ -12,7 +12,7 @@
#
#############################################################################
-# $plugin_info{$plugname.'_cycle'}=0; return "Russound_RIO disabled"; # uncomment to disable plugin
+#return; # uncomment to disable plugin
#############################################################################
# Configuration:
@@ -33,7 +33,7 @@
#############################################################################
# Constants:
my $MAX_ZONES = 31;
-my $ZONES_PER_CONTROLLER = 8;
+my $ZONES_PER_CONTROLLER = 6;
#############################################################################
# Collect log information
@@ -138,8 +138,7 @@
{
my $ctrl = int($zone/$ZONES_PER_CONTROLLER);
my $czone = int($zone%$ZONES_PER_CONTROLLER);
- my $base = $knxstartaddress + 10 + ($czone*40) + ($ctrl*512);
- $base+=16 if $czone>=6;
+ my $base = $knxstartaddress + 10 + ($czone*40) + ($ctrl*256);
for( my $i = 0; $i < 13; $i++ ) # iterate funcnames
{
my $a = $base + $i;
@@ -168,21 +167,18 @@
my $controller;
{
use integer;
- $func = ($dest - $knxstartaddress) % 512;
- $func -=16 if $func>=266;
- $zone = ($func - 10) / 40;
+ $func = ($dest - $knxstartaddress) % 256;
+ $zone = ($func - 10) / 40;
$func = ($func - 10) % 40;
- $controller = ($dest - $knxstartaddress) / 512;
+ $controller = ($dest - $knxstartaddress) / 256;
}
-
+
if( $func < 20) # >= 20 = response addresses
{
$retval .= sendrussFunc( $controller, $zone, $func, $val );
}
}
-return if $retval eq 'Socket: [->;;';
-
return $retval;
#############################################################################
@@ -353,4 +349,4 @@
my $knxGA = $knxstartaddress+30+$func + (($Z-1)*40) + (($C-1)*256);
knx_write( addr2str( $knxGA, 1 ), $val, $dpt );
$retval .= 'KNX[' . addr2str( $knxGA, 1 ) . ',' . $dpt . ']:' . $val . ';' if $show_debug;
-}
+}
VG, Fry


Kommentar