|
From: <sw...@us...> - 2011-06-25 08:23:09
|
Revision: 372
http://openautomation.svn.sourceforge.net/openautomation/?rev=372&view=rev
Author: swiss1
Date: 2011-06-25 08:23:03 +0000 (Sat, 25 Jun 2011)
Log Message:
-----------
Die Auswertung der aktuellen Lautst?\195?\164rke wurde erg?\195?\164nzt und kann nun als 14byte Text auf den BUS gesendet werden. Version 0.2 BETA
Modified Paths:
--------------
wiregate/plugin/generic/denon_steuerung_knx.pl
Modified: wiregate/plugin/generic/denon_steuerung_knx.pl
===================================================================
--- wiregate/plugin/generic/denon_steuerung_knx.pl 2011-06-24 21:26:40 UTC (rev 371)
+++ wiregate/plugin/generic/denon_steuerung_knx.pl 2011-06-25 08:23:03 UTC (rev 372)
@@ -1,5 +1,5 @@
-# Plugin zur Multimediasteuerung \xFCber einen 8fach Tastsensor
-# Version 0.1 20.06.2011 BETA
+# Plugin zur Multimediasteuerung \xFCber einen 8fach Tastsensor oder eine Visu
+# Version 0.2 23.06.2011 BETA
# Copyright: swiss (http://knx-user-forum.de/members/swiss.html)
# Die Vorlage f\xFCr die Daten\xFCbertragung via socat stammt von makki (http://knx-user-forum.de/members/makki.html)
# Aufbau m\xF6glichst so, dass man unterhalb der Einstellungen nichts ver\xE4ndern muss!
@@ -33,6 +33,8 @@
my $ga_status_mute = '9/5/8'; #Hier die R\xFCckmelde-GA f\xFCr die Statusled Stummschaltung eintragen (0=AUS, 1=EIN)
+my $ga_status_lautstaerke = '9/5/9'; #Hier wird die aktuelle Lautst\xE4rke als 14byte TEXT zur\xFCckgegeben (z.B. -35.5)
+
my $ga_umschalttaste = '9/1/5';
my $ga_status_umschalttaste = '9/1/14';
@@ -258,7 +260,30 @@
my $return_value = rueckmeldung_led();
return;
} elsif ($fn eq "MV" and $buf !~ /^MVMAX/) { # MVMAX is undocumented?
- # broken, just sends every 2, .5 isn't considered
+ # Hier wird die aktuelle Lautst\xE4rke aus der R\xFCckmeldung berechnet
+ $plugin_info{$plugname.'_debug_mv'} = $buf;
+ my $laenge = length($buf);
+ my $wert;
+
+ if ($laenge == 4){
+ $wert = substr($buf,2,2);
+ $wert = $wert."0";
+ }elsif ($laenge == 5){
+ $wert = substr($buf,2,3);
+ }
+
+ if ($wert ne ""){
+ if ($wert <= 800){
+ $wert = 800 - $wert;
+ $wert = "-".substr($wert,0,2).".".substr($wert,2,1);
+ } elsif ($wert == 995){
+ $wert = "-80.5";
+ } else {
+ $wert = "---.-";
+ }
+ knx_write($ga_status_lautstaerke,$wert,16); #Hier funktioniert etwas noch nicht ganz!
+ $plugin_info{$plugname.'_mv_vol'} = $wert;
+ }
return;
} else {
return;
@@ -282,7 +307,7 @@
syswrite($socket[$socknum],"SI?\r");
return;
-#Hier werden die Status LED der Quellenwahltasten angesteuert
+#Hier werden die Status LED's der Quellenwahltasten angesteuert
sub rueckmeldung_led{
SELECT:{
if ($plugin_info{$plugname.'_status_quelle'} == 0){ knx_write($ga_status_umschalttaste,0,1); knx_write($ga_status_kurzwahltaste1,0,1); knx_write($ga_status_kurzwahltaste2,0,1); knx_write($ga_status_kurzwahltaste3,0,1); knx_write($ga_status_kurzwahltaste4,0,1); last SELECT; }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|