NEWS
Http requests via Alexa an Denon Receiver senden
-
Danke für den Tipp, werde ich versuchen
-
So habe ich mal versucht, bekomme es natürlich nicht hin
Habe es so eingegeben. Habe echt keinen Plan davon sorry….
Muss ich noch irgendwas einstellen? unter alexa.amazon.de findet er diese Aktion auch nicht.
-
Dus musst erst ein objecten erstellen und dieses in den Cloud-Adapter aufnehmen damit Alexa ihn sieht.
Dam Brauch dein Script auch nog einen Trigger Baustein das es ausgelöst wird wen du das Objekt änderst
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
Habe es so eingegeben. Habe echt keinen Plan davon sorry….
Muss ich noch irgendwas einstellen? unter alexa.amazon.de findet er diese Aktion auch nicht. ` Regel Nummer 1: Scripte werden <u>N I E M A L S</u> unter "global" abgespeichert (außer Du weißt was du tust)
-
So habe ich mal versucht, bekomme es natürlich nicht hin ` alles was ich sehen kann ist, das wohl Du einen http-request absetzen willst der bei dir "Lautsprecher" heißt.
Du erwähnst weiterhin, dass irgendetwas in einer Alexa-App nicht auftaucht, daraus schließe ich, Du hast folgendes vor:
"Alexa, schalte Lautsprecher"
und darufhin wird ein http-rquest abgesetzt … was auch immer "Lautsprecher" bewirkt 8-)
ab hier beschlägt meine Glaskugel gerade plötzlich und ich bin raus :lol:
Du siehst also, Du musst uns schon sehr genau sagen was Du vor hast.
So eine hhtp request ist wie Fernbedienungsknopf ... du drückst ihn und es passiert etwas, aber auch nur genau das was diese eine Taste kann.
Du kannst diese "Taste" natürlich auch immer wieder drücken.
Du kannst diese "Taste/Befehl" nun über den Cloud-Adapter auch an die Alexa-App übergeben.
Dafür legst Du im Cloud-Adapter eine neues Smart-Gerät an und gibst diesem "Gerät" eiinen Namen der dem Alexa-Kommando entspricht.
Diese Smart Gerät verweist z.B. auf dieses Blockly-Script (simuliert also den vorher geschilderten Tastendruck) .
So ist die Vorgehensweise
-
schau dir mal das folgende Thema an … lies ab dem Punkt ruhig ein paar Seiten weiter
viewtopic.php?f=24&t=5461&hilit=broadli … =60#p77911
hieraus sollte die Vorgehensweise "Wie bekomem ich einen Datenpunkt (oder auch Script) aus ioBroker über den cloud-Adapter in Alexa abgebildet und entsprechend gesteuert" hervorgehen.
-
Also mein Ziel ist es zu sagen "Alexa dimme Lautsprecher auf 50" z.B. dann würde die Lautstärke des Verstärkers auf
50 gehen, Werte von 1 - 80 sind bei dem Verstärker möglich.
So war es auf jeden Fall bei der ha bridge. Dort wird halt emuliert das "die Lampe" auf 50% gestellt werden soll, stattdessen wird
halt die Lautsprecher Lautstärke auf 50 gestellt.
Werde mir mal den Link anschauen.
-
Und dein hhtp-request kann einen variablen Wert übergeben?
also einen "Parameter" enhalten?
-
http://192.168.200.36/MainZone/index.put.asp?cmd0=PutMasterVolumeSet/${intensity.math((X/2.55)-80)}
Wie gesagt bei ha bridge geht das damit.
Dort kann man halt on, dimm und off Befehle geben
-
http://192.168.200.36/MainZone/index.put.asp?cmd0=PutMasterVolumeSet/${intensity.math((X/2.55)-80)} ```` ` was übergibst Du in deinem Beispiel?
ist "-80" am ende des http-request hier der zu übergebene Wert / Parameter / Lautstärke?
-
Ne das ist nur die Formel.
Den Wert zieht er sich dann selbst, der wird wenn ich es richtig verstanden habe errechnet
Habe das damals auch nur aus einem anderen Forum kopiert…
-
dann ist "x" der Wert?
-
Gehe ich von aus ja
-
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)