NEWS
Http requests via Alexa an Denon Receiver senden
-
folgendes könnte funktionieren …
Du legst einen Datenpunkt vom Typ "Zahl" als rolle "level" (ich habe ihn "level.audio" genannt" für die Lautsärke deines Denon an.
Wichtig ist, das der Zahlen (ich habe mal 0 - 100 unterstellt) kennt.
Dann legst Du ein Smartgerät im Cloud Adapter mit einem Namen an, der dem Alex Befehl entspricht
Ich habe dem "Lautärke Denon" genannt
"Alexa, stelle Lautsärke Denon auf 35%"<<
in den Cloud Einstellungen bin ich von einer Normallautstärke von 30% ausgegangen.
1917_denon_0.png
1917_denon_1.png
1917_denon_2.png -
Wenn Du nun über Alexa nach neuen Geräten suchst, dann sollte die ALexa App diesen Datenpunkt finden und auch drauf reagieren.
Das kannst Du auch gleich ausprobieren in dem Du einen Wert an Alexas übergibst:
"Alexa. stelle Lautsärke Denon auf 60%"<<
Der Datenpunkt "Denon_Lautstärke" sollte sich entsprechend auf 60% aktualisieren, das müßtest Du in ioBroker sofort sehen können … mehr passiert bis hierhin aber noch nicht!
-
sry aber ich verstehe nur bahnhof
-
sry aber ich verstehe nur bahnhof ` ich hatte dir ein paar Antworten weiter oben einen Link empfohlen … <u>LIES</u> und versuche zu verstehen.
Dann kommst Du wieder hierher zurück und ich könnte mir vorstellen, das es bei dir "klick" macht …. Grundvoraussetung ist allerdings, das Du mitmachst, anfängst zu lesen und zu verstehen!
Frage: Wenn Du Alexa sagst: "stelle die Lautsärke auf 50"
Wo ist denn denn dann diese ominöse "50"?
Wo lässt Du diese?
Wo schreibst Du die hin?
Und was passiert wenn Du das nächste mal etwas etwas anderes als "50" sagst?
Also benötigen wir als Erstes mal einen Datenpunkt wo diese "Variable bzw. Lautstärke bzw. "Wert zwischen 0 und 100" hinlegen, und das ist eben der Datenpunkt den wir soeben angelegt haben.
-
oki doki werde ich machen. guck mir das heute abend mal an.
Muss jetzt nur nochmal weg.
Melde mich später, hoffe dann hat es klick gemacht
Aber auf jeden fall schonmal vielen dank für deine hilfe
-
Was jetzt noch benötigt wird ist ein Script, welches prüft ob sich die Lautstärke über den von Alexa angesprochenen Datenpunkt verändert hat.
Falls ja, soll das script nun letztendlich den http Befehl an den Receiver schicken.
Da ich keinen Denon Receiver habe, weiss ich nicht was genau von dem http-befehl alles mitgeschickt weren muß, dass mußt Du ausprobieren:
Gemäß der Formel wäre bei "Lautstärke = 20%" der zu übergebene Wert "-72"
(20 / 2.55) - 80 = -72
Folgendes würde ich an Deiner Stelle mal ausprobieren:
nur Wert
http://192.168.200.36/MainZone/index.pu … umeSet/-72
oder Wert mit vorangestellten "$"-Zeichen)
http://192.168.200.36/MainZone/index.pu ... meSet/$-72
oder mit Funktion(?)
http://192.168.200.36/MainZone/index.pu ... .math(-72)}
Code zum blockly import
! ````
<block xmlns="http://www.w3.org/1999/xhtml" type="request" id="hWq]a^0,RR/{G*/zvL%*" x="-187" y="-137"><mutation with_statement="false"></mutation>
<field name="WITH_STATEMENT">FALSE</field>
<field name="LOG">log</field>
<value name="URL"><shadow type="text" id="!J6#5n3%ohYbM|e2r]/i"><field name="TEXT">http://192.168.200.36/MainZone/index.put.asp?cmd0=PutMasterVolumeSet/$-72</field></shadow></value></block>[1917_denon_3.png](/assets/uploads/files/1917_denon_3.png)
-
Und das wäre ein Vorschlag um den Blockly Code zusammenzubauen
! ````
<block xmlns="http://www.w3.org/1999/xhtml" type="on_ext" id="UOdt?(t{Z=~|8j`o/t#d" x="-212" y="-137"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="O
^i|+{HHFGg}oA#NT@G"><field name="oid">MultiMedia.0.Denon.Lautstärke_Denon</field></shadow></value> <statement name="STATEMENT"><block type="request" id="hWq]a^0,RR/{G*/zvL%*"><mutation with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG">log</field> <value name="URL"><shadow type="text" id="!J6#5n3%ohYbM|e2r]/i"><field name="TEXT">text</field></shadow> <block type="text_join" id="%kc/v;oE/EWZs*v%LG{x"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="8DU{-Vb7b1ebG@^fA;2K"><field name="TEXT">http://192.168.200.36/MainZone/index.put.asp?cmd0=PutMasterVolumeSet/$</field></block></value> <value name="ADD1"><block type="math_round" id=".!2WtTVAm#,3j
4si-au"><field name="OP">ROUND</field>
<value name="NUM"><shadow type="math_number" id="o@jdd6w#hn52KFHG6mFb"><field name="NUM">3.1</field></shadow>
<block type="math_arithmetic" id="!KX5E8BoqHRCku[99m%~"><field name="OP">MINUS</field>
<value name="A"><shadow type="math_number" id="8H2QIQr@!fml({/w(10"><field name="NUM">1</field></shadow>
<block type="math_arithmetic" id="L5pq5jsBY7W#yOLp,X3"><field name="OP">DIVIDE</field>
<value name="A"><shadow type="math_number" id="_Y_ap==mVi7yAC:oLo31"><field name="NUM">1</field></shadow>
<block type="convert_tonumber" id="!gTxu5O34YyX~dU!VM)e"><value name="VALUE"><block type="get_value" id=":@J?uHW[L32WTNj33a`M"><field name="ATTR">val</field>
<field name="OID">MultiMedia.0.Denon.Lautstärke_Denon</field></block></value></block></value>
<value name="B"><shadow type="math_number" id="4OdVW+Plb[8U~+sWGF9x"><field name="NUM">2.55</field></shadow></value></block></value>
<value name="B"><shadow type="math_number" id="x#/f%42-;#^^|{~4+C}0"><field name="NUM">80</field></shadow></value></block></value></block></value></block></value></block></statement></block>[1917_denon_4.png](/assets/uploads/files/1917_denon_4.png)
-
Hallo, für meinem Denon läuft dieses Script für die Lautstärke.
! /* – do not edit following lines - START --
! {
! "debug": false,
! "verbose": false
! }
! -- do not edit previous lines - END --*/
! createState('Denon.Denon_Lautstärke', {
! type: 'number',
! name:'Denon-Lautstärke',
! min: 0,
! max: 100,
! def: 50,
! read: true,
! write: true,
! role: 'level.volume'});
! var http = "http://192.168.180.6/goform/formiPhoneAppDirect.xml?";
! on({id: "javascript.0.Denon.Denon_Lautstärke", change: "any"},
! function (obj) {
! var x = obj.state.val;
! if (x === 0) {
! require("request")(http + 'MUON'); // Bei Befehl "aus" wird Vol. auf Mute gesetzt.
! console.log("Lautstärke AVR-4520 auf -MUTE- gesetzt.");
! } else {
! require("request")(http + 'MV' + x);
! console.log("Lautstärke AVR-4520 auf " + x + " gesetzt.");
! }});
Die 80% Begrenzung habe ich bei mir direkt im Verstärker eingestellt. (so sind in dem Script Deine 80% dann trotzdem 100% für die Alexa Geschichte)Der Alexa Befehl bei mir : Alexa, Lautstärke im Wohnzimmer (so heißt das Ding bei mir als Smartgerät im Cloud Adapter) auf xy Prozent. (also nicht dimmen oder so…)
-
Puh. ich habe mir den Link von dir jetzt 2x durch gelesen, aber das ist mir wirklich zu hoch… habe
echt keine Ahnung davon...
-
was verstehst Du denn nicht ?
Du musst nur ein neues leeres Script erstellen und das von mir dort rein kopieren. Die IP Adresse musst Du noch mit der Deines Verstärkers überschreiben. (Sollte eigentlich beim Denon funktionieren. Welchen hast Du eigentlich ?)
Das Script erstellt Dir dann einen Datenpunkt, wenn es gestartet wird.
Dann gehst Du in den Cloud Adapter und fügst ein neues Smart Gerät über das + Zeichen hinzu. Den Datenpunkt findest Du dann unter JavaScript in den Objekten. Dann vergibst Du einen Namen, z.B. Lautstärke im Wohnzimmer, oder Verstärker, oder halt so wie es heißen soll. Danach sagst Du nur: Alexa, suche neue Geräte und es sollte gefunden werden.
Sonst frage einfach….
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201804 ... 6e72fd.jpg">https://uploads.tapatalk-cdn.com/20180417/11a1f76fd629c860f2729313536e72fd.jpg</link_text>" /> -
was verstehst Du denn nicht ? ` ich glaube es ging hier um die Erläuterungen in dem von mir empfohlenen Link viewtopic.php?f=24&t=5461&hilit=broadli … =60#p77911
-
ist deine Grundlautstärke wirklich volle Pulle (100%) ??
-
ist deine Grundlautstärke wirklich volle Pulle (100%) ?? ` Ich habe die Lautstärke im Verstärker auf 80% begrenzt. Wenn das Gerät eingeschaltet wird steht es immer auf 50%. (dev:50)
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201804 ... a97ce1.jpg">https://uploads.tapatalk-cdn.com/20180417/966dc8798045b2c2171d7b481da97ce1.jpg</link_text>" /> -
aber wenn du sagen würdest "Alexa, schalte den Verstärker ein" dann würde der mit100% (entsprechend 80% im Verstärker) losbrüllen da Du den default für on auf 100% gestellt hast
-
Ich lach mich schlapp. ehrlich gesagt ich weiß nicht warum aber es funktioniert
Vielen Dank für eure Hilfe^^
Werde später mal versuchen das zu verstehen.
-
Ich lach mich schlapp. ehrlich gesagt ich weiß nicht warum aber es funktioniert
Vielen Dank für eure Hilfe^^
Werde später mal versuchen das zu verstehen. ` na, geht doch 8-)
Hast Du das Script von dslraser genommen, oder bist Du den Weg gegangen, den ich beschrieben habe?
-
Habe das Script von dslraser genommen
Und funktionierte auf Anhieb.
Jetzt möchte ich noch versuchen meinen Receiver (VU Zero 4k) im Schlafzimmer über Alexa an zu machen.
Habt ihr da auch noch einen Tipp für mich?
Hatte dafür auch ein http request für die ha bridge, aber den habe ich ausversehen gelöscht, aber den werde ich finden.
Edit: Da sah der http request so aus
http://192.168.200.81/web/remotecontrol?command=116
Wie müsste dann das Script aussehen?
-
aber wenn du sagen würdest "Alexa, schalte den Verstärker ein" dann würde der mit100% (entsprechend 80% im Verstärker) losbrüllen da Du den default für on auf 100% gestellt hast `
an/aus ist ein anderer Befehl! /* – do not edit following lines - START --
! {
! "debug": false,
! "verbose": false
! }
! -- do not edit previous lines - END --*/
! createState('Denon.Denon_Power', {
! type: 'boolean',
! name:'Denon-Power',
! read: true,
! write: true,
! role: 'switch.active'
! });
! var http = "http://192.168.180.6/goform/formiPhoneAppPower.xml?";
! on({id: "javascript.0.Denon.Denon_Power", change: "ne"},
! function (obj) {
! var oldValue = obj.oldState.val;
! if (getState("javascript.0.Denon.Denon_Power").val === true) {
! require("request")(http + '1+PowerOn');
! } else {
! require("request")(http + '1+PowerStandby');
! }}); -
Wie müsste dann das Script aussehen? ` so:````
http://192.168.200.81/web/remotecontrol?command=116 -
Habe das Script von dslraser genommen
Und funktionierte auf Anhieb.
Jetzt möchte ich noch versuchen meinen Receiver (VU Zero 4k) im Schlafzimmer über Alexa an zu machen.
Habt ihr da auch noch einen Tipp für mich?
Hatte dafür auch ein http request für die ha bridge, aber den habe ich ausversehen gelöscht, aber den werde ich finden.
Edit: Da sah der http request so aus
http://192.168.200.81/web/remotecontrol?command=116
Wie müsste dann das Script aussehen? ` Hier mal ein Beispiel für ARD
http://192.168.180.3/web/zap?sRef=1:0:1 … 0000:0:0:0:
und hier kannst Du lesen wie es geht.
https://dream.reichholf.net/wiki/Enigma2:WebInterface
Für die Sender gib das mal in den Browser mit Deiner IP Adresse ein(wenn die Box an ist, dann siehst Du die jeweilige Kanalreferenz, einfach umschalten und Browser aktualisieren)