Denon Modul [Testversion]

Das Log sieht ja schon mal gut aus.

Wie sieht es denn aus wenn du den InputSource änderst?

Dort müsste dann z.B.

TRANSMIT     SISAT/CBL

und eine Antwort auftauchen wenn du den Input auf ‚SAT/CBL‘ umstellst.

Wie änderst du den Input Source?

Gruß

Burkhard

Hallo Burkhard,

ich verwende:


$payload = "SITUNER";
DAVRT_SendCommand($DenonTelnetAVRObjektID, $payload); 

oder


DAVRT_Input(25738, "TUNER");

im Log:
SITUNER<CR>
bleibt vom AVR unbeantwortet.

Gruß
Isi

Alles richtig gemacht :slight_smile:

Laut Protokollbeschreibung ist das Kommando korrekt.

Versuch mal, über die Fernbedienung die Quelle TUNER auszuwählen. Vielleicht funktioniert das Kommando nur in dem aktuellen Kontext (z.B. Gerät im StandBy) nicht.
Auch hier müsstest du im Debugfenster die Antworten des Receivers sehen.

Gruß

Burkhard

Hallo zusammen,

ich bin ganz neu hier und versuche gerade meinen Denon AVR-X2000 mit Alexa zu steuern.
Ich nutze einen Raspberry 3 mit Raspian Strech vom 29.11.2017 und IP Symcon 4.4
Jetzt ist es mir relativ leicht gelungen den Receiver ein und auszuschalten, Mutue funktioniert auch problemlos.
Schwierigkeiten macht mir jetzt die Lautstärkeregelung und die Wahl der InputSource.
Sobald ich die Variabeln für Lautstärke und Input source hinzufüge und auf übernehmen klicke, werden diese beiden Variabeln rot hinterlegt und mit dem Status „Profile is not compatible“ versehen.



Über die WebFront und über die App auf dem Galaxy lassen sich Lautstärke und InputSource verstellen.
Bei Alexa werden mir Power und Mute auch als Geräte angezeigt, Lautstärke und InputSource jedoch nicht.

Was mache ich falsch? Danke schonmal für Eure Hilfe.

Gruß
Dirk

Hallo und Willkommen,
Das liegt daran, das zur Zeit nur bestimmte Variablenprofile von dem SmartHomeSkill unterstützt werden, diese sind in der Dokumentation aufgeführt. Wenn der SmartHomeSkill in Zukunft angepasst worden ist an die neue API kann dann in Zukunft auch ein Entertainment Device gesteuert werden, dazu muss aber erst mal der SmartHomeSkill angepasst werden, das ist in Arbeit.

Um das, was Du erreichen willst, dennoch zu lösen kannst Du aber mit einem Skript arbeiten statt mit einer Variable. So lange der SmartHomeSkill aber noch nicht umgestellt ist, wirst Du so tun müssen als wäre dies ein Schalter weil Lautstärke Regelung und Input wechseln erst mit der neuen API möglich ist.

Du must dann also so was sagen wie
Alexa schalte Fernseher ein
oder
Alexa schalte Bluray ein

Dazu legst Du Dir ein Skript mit STRG+3 an und gibst diesem einen aussagekräftigen Namen.

in dem Skript steht jetzt dann alles drinnen was passieren soll wenn Du Alexa diese Anweisung gibst.

Eine Übersicht der Befehle die Du benutzten kannst findest Du in der Denon Dokumentation.

Beispiel:


<?
$DenonAVRID = 12345;// Objekt ID der Denon Instanz (Telnet) 
 Switch ($_IPS['SENDER']) 
    { 
    Default: 
    Case "AlexaSmartHome": // Schalten durch den Alexa SmartHomeSkill
           
    if ($_IPS['VALUE'] == True) 
        { 
            // einschalten bzw. auf Input wechseln
			DAVRT_Input($DenonAVRID, "DVD"); 
        } 
    else 
        { 
            //ausschalten
            DAVRT_Power($DenonAVRID, false);
        } 
       break;
      
    } 

?>

Anschließend gehst Du in der SmartHomeSkill instanz und fügst dieses Skript hinzu und gibst diesem einen Namen dann kannst Du auch den Input verstellen. Gleiches Vorgehen für alle anderen Befehle. falls Du Dich ein wenig in IP-Symcon eingearbeitet hast ist es sinnvoll zusätzlich einen Custom Skill zu nutzten, diesen kannst Du z.B. mit dem Patami Alexa Skill Framework erstellen. Wenn zum Custom Skill Fragen sind am besten in einem separaten Thread fragen.

Lautstärke könnte man so lösen in dem Du theoretisch eine Temperatur übergibst (nur vorübergehend bis ein Update des Skills erfolgt ist):


<?
 $DenonAVRID = 12345;// Objekt ID der Denon Instanz (Telnet) 
 Switch ($_IPS['SENDER']) 
    { 
    Default: 
    Case "AlexaSmartHome": // Schalten durch den Alexa SmartHomeSkill
	      $volume = floatval($_IPS['VALUE']);
          DAVRT_MasterVolumeFix($DenonAVRID, $volume); 
    
       break;
      
    } 

?>

Hallo Dirk,

erst einmal ein herzliches Willkommen im Forum und viel Spaß mit IPS!

Deine Frage hat weniger mit dem Denon Modul (das funktioniert ja bei dir) zu tun. Sie bezieht sich auf das IQL4SmartHome Modul, das hierbehandelt wird.

Vielleicht kann deine Frage einer der Mods verschieben.

Zu deiner Frage: in der Doku zum Alexa Modul ist beschrieben, welche Variablen unterstützt werden:

alle Variablen vom Typ Boolean
alle Variablenprofile mit dem Suffix „°C“
alle Variablenprofile mit dem Suffix „%“
das Variablenprofil „~HexColor“

Diese Kriterien treffen auf die Variablen ‚Volume‘ und ‚Input Source‘ nicht zu.

Da bleibt dir wohl nur der Weg über ‚Skripte‘.

Gruß

Burkhard

/EDIT: Fonzo war schneller:)

Hallo Burkhard,

vielen Dank für die schnelle Antwort. Ich werde das in den nächsten Tagen einmal ausprobieren.

VG
Dirk

Hallo Fonzo,

vielen Dank für die schnelle Antwort. Ich werde das in den nächsten Tagen einmal ausprobieren.
Weisst Du wann das SmartHomeSkill angepasst werden soll?

VG
Dirk

Das macht Dave und der hat wohl begonnen hat aber privat viel um die Ohren, ansonsten kann das nur paresy beantworten. Eventuell erfährt man dazu in Lübeck Ende Januar mehr. Ansonsten müsste man in Lübeck besprechen wie man da helfen kann bzw. die Umstellung beschleunigen und unterstützten, wenn beide viel zu tun haben.

Hi,
Ich wollte auf HTTP umsteigen, solange es mit Alexa probleme gibt (bei mir bricht bei telnet auch die verbindung ab…
Jetzt habe ich aber ein problem, was immer wider kommt, wenn ich meine AVRs (X4000, X2000, X1000) auf HTTP umstellen will.
Beim anlegen bekomme ein riesen fehler popup und im Log steht:

13.02.2018 14:01:30 | UpdateVariable | [{„file“:„C:\IP-Symcon\modules\IPSymconDenon\DenonClass.php“,„line“:83,„function“:„UpdateVariable“,„class“:„AVRModule“,„object“:{},„type“:"->",„args“:[{„ResponseType“:„HTTP“,„Data“:{„Mainzone“:,„Zone2“:,„Zone3“:}}]},{„file“:"-",„line“:4,„function“:„ReceiveData“,„class“:„AVRModule“,„object“:{},„type“:"->",„args“:["{„DataID“:"{D9209251-0036-48C2-AF96-9F5EDE761A52}",„Buffer“:{„ResponseType“:„HTTP“,„Data“:{„Mainzone“:,„Zone2“:,„Zone3“:}}}"]}]

Gefolgt von:

13.02.2018 14:01:30 | ScriptEngine | Ergebnis für Ereignis 11092
<br />
<b>Notice</b>: Trying to get property of non-object in <b>C:\IP-Symcon\modules\IPSymconDenon\Denon HTTP IO\module.php</b> on line <b>257</b><br />
<br />
<b>Warning</b>: Invalid argument supplied for foreach() in <b>C:\IP-Symcon\modules\IPSymconDenon\Denon HTTP IO\module.php</b> on line <b>259</b><br />
<br />
<b>Notice</b>: Undefined index: in <b>C:\IP-Symcon\modules\IPSymconDenon\AVRModels.php</b> on line <b>146</b><br />
String could not be parsed as XMLString could not be parsed as XMLString could not be parsed as XMLString could not be parsed as XMLString could not be parsed as XMLString could not be parsed as XML

An/Aus von Power, Main, Mute geht, aber ich sehe keinen anderen Variablen.

Habe das Modul und alle Einräge im Baum mehrfach gelöscht, abder der fehller kommt immer wieder.
Was kann ich da noch machen?

BTW. Habe festgestellt, dass wenn man min Alexa nach Geräten sucht, der Denon komplett die Netzverbindung zu verlieren schein zu mind brechen auch DLNA streams komplett ab.

Hab hier nochmal nen screenshot vom fehler popup

Solltest Du eine Möglichkeit haben das der Router auch ein Gastnetzwerk zur Verfügung stellt, so wäre imho die erste Option den Echo ins Gastnetzwerk zu verbannen, dann ist Ruhe. Alexa funktioniert dennoch und Du kannst alle Befehle im vollen Umfang nutzten und hast vor allem direkte Rückmeldung vom AVR. Auf HTTP würde ich nur dann umstellen wenn ein die Option mit einem Gastnetzwerk nicht zur Verfügung steht.

Ja das scheint ein echtes Problem mit dem Echo zu sein, bei welchen Denon AVR Modellen das alles auftritt ist offen aber es wird immer wieder von berichtet.

Moin, ein kleines kosmetisches Problem bei meinen Marantz-Geräten:

Wenn ich mit

DAVRT_Input(10096 /*[SR7007 WZ MainZone]*/, "TUNER");

auf Radio umschalte, funktioniert das und der Marantz gibt auch Radio wieder, aber die Variable „Input Source“ bleibt auf dem alten Wert. Gleiches Verhalten bei Zone2.

Grüße,
Tom

Hallo Tom,

welche Marantz Geräte hast du?

Ich vermute, es ist das gleiche Problem wie hier.

Aktiviere bitte einmal das Debug Fenster des ClientSockets und versuche mal in einem kleinen Testprogramm den folgenden Befehl:


DAVRT_SendCommand(10096, 'SITUNER');

Ich vermute, dass der Marantz nicht antwortet und somit die folgende Zeile fehlt:

RECEIVED SITUNER<CR>

Die gleiche Zeile müsste kommen, wenn du z.B. über die Fernbedienung den Input änderst.

Gruß

Burkhard

Hi :slight_smile:

Wollte grad den letzten HDMI-Input meines Marantz SR5011 belegen und in meine Szenen-Steuerung einbauen…aber da macht mir das Denon-Modul einen Strich durch die Rechnung und ich weiß nicht so recht wieso :confused:

Verwenden wollte ich den Input „DVD“.

Hier mal ein paar Screenshots:
marantzavr_undefindexdvd.png
>> Kommt beim Klick in der Modul-Instanz auf „Status Initialisieren“ (wollte das Variablenprofil aktualisiert bekommen dadurch)

marantzavr_dvddebug.png
>> Steht derweil im Debug der Modul-Instanz

marantzavr_dvdmeldungen.png
>> Kommt im Meldungen-Fenster

Eigentlich gibt es in der „DenonClass.php“ diesen Code hier:

[0, 'DVD', DENON_API_Commands::DVD]

…keine Ahnung, wo genau das Problem ist :confused:

Könnt ihr mir weiterhelfen?

Danke im Voraus und Grüße,
Chris

Hallo Chris,

hast du den Eingang erst jetzt im Receiver freigeschaltet?

Versuch bitte mal folgendes:

  • die Instanz einmal ändern und neu übernehmen. Dabei müssten die Profile neu geschrieben werden.
  • prüf bitte einmal dein Profil für den InputSource. Ist dort DVD enthalten?
  • auf die aktuelle Beta aktualisieren
  • noch einmal die Instanz ändern und übernehmen. Mir einmal das Logfile zuschicken

Vielleicht hilft schon Pkt 1.:slight_smile:

Gruß

Burkhard

Aaaaaaaah, warum vergesse ich das Übernehmen immer? :rolleyes:

Ja, hatte den Eingang ausgeblendet und erst jetzt „aktiviert“. War der letzte unbenutzte…

Wie das letzte Mal schon > Übernehmen > alles ok :smiley:

Danke und Grüße,
Chris

Hallo Burkhard,

ich habe einen SR7007 - der antwortet auf SITUNER wie folgt:

Das sieht ja schon mal gut aus.

Lege mal bitte eine Datei mit Namen ‚denondebug.txt‘ im Logverzeichnis von IPS an. Dann werden erweiterte Logeinträge ins IPS Logfile geschrieben.

Dann wiederhole bitte einmal das Kommando und schick mir das Logfile zu.

Gruß

Burkhard

Hab ich gemacht, denondebug.txt in c:\ipsymcon\logs. Dann „DAVRT_SendCommand(10096, ‚SITUNER‘);“, aber die Datei bleibt leer…