Modul für ONKYO AV Receiver (und neuere Pioneer AV Receiver)

Begonnen von Loredo, 30 September 2013, 14:52:36

Vorheriges Thema - Nächstes Thema

stera

Zitat von: Kusselin am 15 November 2017, 08:29:10
Hi,

das mit der laustärke ist so ne Sache bei den Onkyos oder Pioneers....

Das funzt bei mir auch net so...habs dann über einen Pi gemacht
Gruss
Funktionieren tut das ja eigentlich Recht gut in dem Bereich bis 100 %. Nur ich kann ja kein
"Set avr Volume 120%"
setzen..

Aber wie gesagt. Notfalls ändere ich die Begrenzung erstmal in der .pm

Gesendet von meinem SM-G930F mit Tapatalk


Gunther

Hast Du mal versucht über das Attribut etwas zu ändern?

ZitatvolumeMax   1...100   When set, any volume higher than this is going to be replaced by this value.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

stera

Hallo Gunther,

das hat leider ein Slider als. Attr. und ist auch begrenzt bis 100  ??? ??? ???

Aber danke für den Hinweis ;o)

DeeSPe

Man könnte theoretisch die Lautstärke so setzen:
set <name> volume 120

aber leider ist der Maximalwert auf 100 geschränkt, auch wenn man im Attribut volumeMax mehr als 100 eingibt.
Wenn das nicht wäre, könnte man einfach mit widgetOverride den/die Slider ändern.

Somit kann wohl nur der Modulautor weiterhelfen, oder selbst einen Patch schreiben.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

stera

Letztendlich könnte ich das ja hier erstmal ändern, aber dann muss ich die aus dem Updates rausnehmen  ::)


    # volume
    elsif ( lc( @$a[1] ) eq "volume" ) {
        if ( !defined( @$a[2] ) ) {
            $return = "No argument given";
        }
        else {
            my $volm = AttrVal( $name, "volumeMax", 0 );
            @$a[2] = $volm if ( $volm && @$a[2] > $volm );
            Log3 $name, 3, "ONKYO_AVR set $name " . @$a[1] . " " . @$a[2];

            if ( $state eq "on" ) {
                if ( @$a[2] =~ m/^\d+$/ && @$a[2] >= 0 && @$a[2] <= 100 ) {
                    $return =
                      ONKYO_AVR_SendCommand( $hash, "volume",
                        ONKYO_AVR_dec2hex( @$a[2] ) );
                }
                else {
                    $return =
"Argument does not seem to be a valid integer between 0 and 100";
                }
            }
            else {
                $return = "Device needs to be ON to adjust volume.";
            }
        }
    }

pc1246

Hallo Stera
Das wuerde zwar die Wirkung bekaempfen, aber nicht die Ursache. Fraglich ist doch, warum 100 (%) nicht voller Lautstaerke, wer braucht das eigentlich, entspricht. Ich weiss gar nicht, kann man den Receivern sagen, ob Sie db oder % machen sollen?
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

stera

Bei einigen Receivern lässt sich das ja umstellen von relativ auf absolute Lautstärke.. Bei diesem leider nicht, soweit ich das aus der Bedienungsanleitungen entnehmen konnte.



Izzy

@Loredo Dein letztes Update (Juli?) hat leider die Power-Taste der FB "kaputt gemacht". Du hast dort in den Zeilen 3168 und 3191 den Befehl "toggle" durch "power toggle" ersetzt – aber "power" kennt nur "on" und "off". Ich habe das bei mir lokal zurück geändert, und jetzt funktioniert es wieder. Magst Du diese Änderung vielleicht zurücknehmen?

Sorry, dass ich das jetzt erst melde – aber ich bin erst vor ein paar Wochen zum Aktualisieren gekommen, habe es dann erst einen Tag später gemerkt – und erst gestern Nacht Zeit gefunden, der Sache auf den Grund zu gehen ...

rabehd

Ich steuere ab und an meinen TX-NR535 mit diesem Modul. Ist auch aktuell.
Jetzt wollte ich es in ein notify einbauen und stelle fest, dass "set onkyo input FM" zwar laut Log abgesetzt wird, aber nicht am Gerät ausgeführt wird.
On, off, inputup, inpitdown, volume... funktionieren.

Ist das ein bekannter Bug oder mache ich was falsch? 
Auch funktionierende Lösungen kann man hinterfragen.

Izzy

Versuche es einmal mit

get Onkyo remoteControl input fm

Das nutze ich in meinem morgentlichen Wecker  ;D

Nicht irritiert sein, es ist wirklich "get" und nicht "set".

rabehd

Scheint zu funktionieren (zumindest über im Frontend übers Internet)

Danke für den Tip.
Auch funktionierende Lösungen kann man hinterfragen.

DeKai

Hallo,
Ich bin relativ neu im FHEM, genau genommen habe ich dien Pi seit 3 tagen am Laufen.
Ich habe vor meine gesamten "Fernseh"-Utensilien vom Netz zu nehmen um den Stand-by Strom zu sparen.
das Problem ist das mein Onkyo Receiver nicht direkt nach dem Einschalten zu Verfügung steht.
Prinzipiell möchte ich über das TabeltUI ein Butten betätigen der den Strom zu schaltet, den Onkyo einschaltet und Später auch meinen Beamer (das ist ein anderes Thema was ich noch nicht drin habe)

#Onkyo AVR:
define AV_R ONKYO_AVR ***.***.***.***
attr AV_R cmdIcon muteT:rc_MUTE previous:rc_PREVIOUS next:rc_NEXT play:rc_PLAY pause:rc_PAUSE stop:rc_STOP shuffleT:rc_SHUFFLE repeatT:rc_REPEAT
attr AV_R devStateIcon on:rc_GREEN@green:off off:rc_STOP:on absent:rc_RED playing:rc_PLAY@green:pause paused:rc_PAUSE@green:play muted:rc_MUTE@green:muteT fast-rewind:rc_REW@green:play fast-forward:rc_FF@green:play interrupted:rc_PAUSE@yellow:play
attr AV_R inputs BD/DVD:CBL/SAT:GAME:PC:AUX:AM:FM:TV/CD:PHONO:NET:USB:BLUETOOTH
attr AV_R model TX-NR626
attr AV_R room Wohnzimmer
attr AV_R stateFormat stateAV
attr AV_R webCmd volume:muteT:input:previous:next

#Aktion Fernsehen:
#Dummy zum Schalten
define dum_Fernsehen dummy
attr dum_Fernsehen eventMap on:an off:aus
attr dum_Fernsehen room Wohnzimmer

#Notify das die Aktoren schaltet:
define nfy_Strom_On notify dum_Fernsehen:on set ELRO_AVR on ;; sleep 0.1 ;; set ELRO_Sub on
attr nfy_Strom_On room Wohnzimmer
define nfy_AV_R notify (dum_Fernsehen:on|AV_R:presence:present) set AV_R on
attr nfy_AV_R room Wohnzimmer

define nfy_Strom_Off notify dum_Fernsehen:off set AV_R off ;; sleep 1.0 ;; set ELRO_AVR off ;; sleep 0.1 ;; set ELRO_Sub off
attr nfy_Strom_Off room Wohnzimmer


der "ELRO_AVR" versorgt den Onkyo mit Strom
"nfy_AR_R" soll den "AV_R" einschalten wenn "AV_R":Preset meldet und "dum_Ferhnsehen:on" ist.
wenn der Onkyo einmal Manuel ein und ausgeschaltet wurde geht es, aber nicht wenn er vom FHEM automatisch eingeschaltet werden soll nach dem die Steckdose eingeschaltet wurde.
ist AV_R:presence:present das richtige reading? Das ist aus meiner Sicht das einzige was sich nach dem Strom zuschalten ändert.
State:disconnected      state:opened
stateAV:absent         stateAV:off

Gunther

Herzlich Willkommen!

Warum schaltest Du nicht ELRO_AVR anstelle des zusätzlichen Dummys einfach auf an? Hängt da noch mehr dran?
Und dann, wenn ELRO_AVR "an" ist, schaltest Du AV_R an.

Was ist ELRO_Sub? Soll das für den Beamer sein? Hängt das noch hinter dem ELRO_AVR?

Versuch mal den STATE von Deinem Onkyo zu nehmen und da auf opened zu reagieren.

Ich bin aufgrund mangelnder Perl-Kenntnisse gerne mit DoIF unterwegs.
Falls Du beim Dummy bleiben willst, würde ich (ungetestet) ungefähr so vorgehen:
define doif_receiverlogik DOIF ([AV_R:state] eq "opened")
(set ELRO_AVR on)
DOELSEIF
([dum_Fernsehen:state] eq "on")
(set ELRO_AVR on)
(set ELRO_Sub on)
DOELSEIF
([dum_Fernsehen:state] eq "off")
(set ELRO_Sub off)
(set ELRO_AVR off)

attr doif_receiverlogik wait 0:0,0.5:60,0


Beim wait musst Du dann für den Beamer die Nachlaufzeit zum Abkühlen berücksichtigen. Ich bin dabei davon ausgegangen, dass Dein ELRO_Sub automatisch über die ELRO_AVR ausgeschaltet wird und habe daher zuerst die ELRO_Sub vorgesehen (in meinem Beispiel 60 Sekunden Nachlauf)

Vielleicht hilft Dir das weiter oder gibt Dir Ideen.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

DeKai

Vielen Dank für den Tipp!
Das DOFI Kommando hat mir schon sehr geholfen.

der ELRO_Sub soll den Subwoofer Schalten der nicht mit an dem Av reciver hängt ;) deswegen beide zusammen.

Prinzipiell kann man ja sagen wenn ich irgenetwas gucken will muss der AV Reciver laufen.
beim einschalten wechselt der AV_R:state von "disconecktet" zu "opened" also:
#Notify das die Aktoren schaltet:
define nfy_Strom_On notify dum_Fernsehen:on set ELRO_AVR on ;; sleep 0.1 ;; set ELRO_Sub on
attr nfy_Strom_On room Wohnzimmer

define nfy_Strom_Off notify dum_Fernsehen:off set AV_R off ;; sleep 1.0 ;; set ELRO_AVR off ;; sleep 0.1 ;; set ELRO_Sub off
attr nfy_Strom_Off room Wohnzimmer

#DOIF für das Automatiche einschalten des Recivers
define doif_receiverlogik DOIF ([AV_R:state] eq "opened") (set AV_R on)
attr doif_receiverlogik devStateIcon cmd_1:general_an:cmd_2 cmd_2|initialized:general_aus:cmd_1
attr doif_receiverlogik room Wohnzimmer


Das nur als Rückmeldung wie ich es gemacht habe und funktioniert.

Wie gesagt danke für die Hilfe.

TWART016

Hallo,

ich betreibe mit meinen Onkyo AVR 2 Zonen. Auf der 2. Zone spiele ich über einen Logitech Media Server mit DLNA Plugin Musik ab. Dabei habe ich ein seltsames Verhalten:

avr = Zone 1
avr_zone2 = Zone 2

1) Sobald ich die Musik in Zone 2 stoppe, wird die Zone 1 stumm geschalten:
2018-01-21 14:19:00 ONKYO_AVR avr playStatus: paused
2018-01-21 14:19:00 ONKYO_AVR_ZONE avr_zone2 playStatus: paused
2018-01-21 14:19:00 ONKYO_AVR avr mute: on
2018-01-21 14:19:00 ONKYO_AVR avr stateAV: muted


2) Wenn ich die Musik in Zone 2 starte, wird Zone 1 auf Volume 5 gesetzt
2018-01-21 14:24:42 ONKYO_AVR avr playStatus: playing
2018-01-21 14:24:42 ONKYO_AVR_ZONE avr_zone2 playStatus: playing
2018-01-21 14:24:43 ONKYO_AVR avr currentTrackPosition: 00:03:53
2018-01-21 14:24:43 ONKYO_AVR_ZONE avr_zone2 currentTrackPosition: 00:03:53
2018-01-21 14:24:43 ONKYO_AVR avr volume: 5


Gibt es Möglichkeiten die Zone unberührt zu lassen, wenn Zone 2 angesprochen wird?