From 191a693bc0e98265204a55ab05709b992d330b6d Mon Sep 17 00:00:00 2001
From: markusbloch <>
Date: Fri, 2 Nov 2012 12:24:27 +0000
Subject: [PATCH] added smooth volume change feature
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@2056 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
FHEM/71_YAMAHA_AVR.pm | 58 ++++++++++++++++++++++++++++++++++++-------
docs/commandref.html | 15 +++++++++--
2 files changed, 62 insertions(+), 11 deletions(-)
diff --git a/FHEM/71_YAMAHA_AVR.pm b/FHEM/71_YAMAHA_AVR.pm
index 90606b0bd..4dda4e5c3 100755
--- a/FHEM/71_YAMAHA_AVR.pm
+++ b/FHEM/71_YAMAHA_AVR.pm
@@ -22,12 +22,13 @@ package main;
use strict;
use warnings;
-#use Time::HiRes qw(gettimeofday);
+use Time::HiRes qw(gettimeofday sleep);
sub YAMAHA_AVR_Get($@);
sub YAMAHA_AVR_Define($$);
sub YAMAHA_AVR_GetStatus($);
+sub YAMAHA_AVR_Undefine($$);
@@ -43,16 +44,17 @@ YAMAHA_AVR_Initialize($)
$hash->{DefFn} = "YAMAHA_AVR_Define";
$hash->{UndefFn} = "YAMAHA_AVR_Undefine";
- $hash->{AttrList} = "loglevel:0,1,2,3,4,5 subType event-on-update-reading event-on-change-reading";
+ $hash->{AttrList} = "loglevel:0,1,2,3,4,5 volume-smooth-change:0,1 volume-smooth-time:0,1,2,3,4,5 volume-smooth-steps:1,2,3,4,5,6,7,8,9,10 event-on-update-reading event-on-change-reading";
}
###################################
sub
-YAMAHA_AVR_GetStatus($)
+YAMAHA_AVR_GetStatus($$)
{
- my ($hash) = @_;
+ my ($hash, $local) = @_;
my $name = $hash->{NAME};
my $power;
+ $local = 0 if(!defined($local));
return "" if(!defined($hash->{ADDRESS}) or !defined($hash->{INTERVAL}));
@@ -89,7 +91,7 @@ YAMAHA_AVR_GetStatus($)
readingsEndUpdate($hash, 1);
- InternalTimer(gettimeofday()+$hash->{INTERVAL}, "YAMAHA_AVR_GetStatus", $hash, 1);
+ InternalTimer(gettimeofday()+$hash->{INTERVAL}, "YAMAHA_AVR_GetStatus", $hash, 1) unless $local == 0;
Log GetLogLevel($name,4), "YAMAHA_AVR $name: $hash->{STATE}";
@@ -109,7 +111,7 @@ YAMAHA_AVR_Get($@)
if($what =~ /^(power|input|volume|mute)$/)
{
- YAMAHA_AVR_GetStatus($hash);
+ YAMAHA_AVR_GetStatus($hash, 1);
if(defined($hash->{READINGS}{$what}))
{
return $a[0]." ".$what." => ".$hash->{READINGS}{$what}{VAL};
@@ -229,7 +231,44 @@ YAMAHA_AVR_Set($@)
{
if($hash->{STATE} eq "on")
{
- SendCommand($address,"
You need to define an RFXtrx433
-
+