NEWS
Fortführende Alexa Fragen zu Gruppierungen und Lautstärkenregelung mit Sonos/Harmony Adapter
-
Wie sollte da ein cloud/alexa-Kommando lauten, dass beide bedienen kann? `
Ok, überredet, danke
Aber nur vom Verständnis her wie kommen dann überhaupt solche Sachen wie auf dem Bild zu stande? Müssen ja immer "boolean" oder "nummerisch" sein, wenn on/off und up/down angezeigt wird oder?
Nur noch ne kleine organisatorische Frage… Wie hast du die Gewerke benannt? Hast du andere Gewerke für Echo und ioBroker mobile Ansicht vergeben oder mischt du die alle zusammen?
-
Nur noch ne kleine organisatorische Frage… Wie hast du die Gewerke benannt? Hast du andere Gewerke für Echo und ioBroker mobile Ansicht vergeben oder mischt du die alle zusammen? `
Ich habe zwar sowohl Gewerke als auch Räume vergeben (in meiner HomeMatic Umgebung), diese nutze ich aber nicht im cloud-Adapter weil das einfach viel zu viele Treffer ergibt. (Ein HomeMatic Gerät kann x-Kanäle haben und dann hast Du womöglich x-Smart Geräte im cloud-Adapter obgleich du nur einen Kanal zur Steuerung benötigst)Ich lege jedes Smart Gerät gezielt selbst im cloud-Adapter manuell an (http://forum.iobroker.net/download/file.php?id=12883&mode=view weiter oben "Hinzufügen eines Smart Gerätes am Beispiel SONOS").
-
@pix:// sonos.0.root.192_168_178_XXX.volume var regex_vol = /^sonos\.[0-9]\.root\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)_(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)_(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)_(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.volume$/; ```` `
Moin Pix,
erst einmal vielen Dank für dein Script
Kann es sein, dass dein Script (die enthaltene regex) derzeit den IP Adressbereich "192_168_178xxx" voraussetzt und andere Bereiche (z.B. "192_1681xxx" oder "192_1680_xxx") so nicht ohne weiteres erkannt werden? `
Hallo,nein, das kann nicht sein. Es funktioniert mit allen validen Adressen:
Kannst du hier prüfen: https://regex101.com/r/hRTRU3/1
Gruß
Pix
-
Top danke. Dann schönen Sonntag noch.
Soll ich den Threat noch offen lassen für euch?
-
Noch einmal nachgefragt: Du möchtest über Alexa einen SONOS Lautsprecher einschalten, ausschalten und die Lautstärke anpassen?
Das ist eigentlich kein großer Akt.
1.) im cloud-Adapter ein neues Smart Gerät anlegen (+ Taste)
2.) vom entsprechenden SONOS Gerät das Objekt "volume" auswählen
3.) einen aussagekräftigen Namen wählen - sagen wir zum Beispiel "Sonos Wohnzimmer"
4.) als Grundlautstärke einen angenehmen Wert einstellen (z.B. 25%)
5.) in der Alexa App "Smart Geräte suchen" lassen und prüfen ob "Sonos Wohnzimmer" angekommen ist
-
mit "Alexa, schalte Sonos Wohnzimmer ein" wird mit der "Lautstärke 25" die letzte Musikquelle abgespielt
-
mit "Alexa, stelle Sonos Wohnzimmer auf 30%" wird die Lautstärke entsprechend gesetzt
-
mit "Alexa, schalte Sonos Wohnzimmer aus" wird die Lautstärke auf "0" gesetzt
Ich habe das ganze noch um Scripte ergänzt:
Wenn Lautstärke von Sonos Wohnzimmer > 5 dann setze "play" auf "true", "stop" auf "false", "state" auf "play"
Wenn Lautstärke von Sonos Wohnzimmer < 5 dann setze "play" auf "false", "stop" auf "true", "state" auf "stop" `
Moin, habe gerade mal versucht das nachzubauen, aber stehe irgendwie auf dem Schlauch. Der Eintrag aus dem Cloud-Adapter (in meinem Fall "Sonos Küche") wird einfach nicht an Alexa übertragen bwz. taucht dort bei der Gerätesuche nicht auf.
Dachte erst es liegt möglicherweise an einer fehlenden Raum- bzw. Gerwerkszuordnung, aber den Raum hab ich ja im Sonos Plugin angegeben beim discovern der Box und als Gewerk habe einen der bereits über das Loxone Plugin importierten Einträge (in dem Fall Zentralfunktion) übernommen.
Fehlermeldungen kann ich im Log Reiter auch keine finden. Hab ich eventuell irgendwo anders was übersehen bzw. einen Denkfehler? Jemand ne Idee?
3104_bild1.png -
-
hast Du denn nach dem Anlegen des neuen Smart Gerätes im Cloud-Adapter auch in der Alexa-App nach neuen Geräten gesucht und geprüft ob das neue Smart-Gerät dort angekommen ist?
> 5.) in der Alexa App "Smart Geräte suchen" lassen und prüfen ob "Sonos Wohnzimmer" angekommen ist
In deinem Beispiel müßte in der Alexa App "Sonos Küche" zu sehen seinUnd dann kann über Alexa "Sonos Küche" auch angesprochen werden
Die Angabe des Raumes ist ggf. eine interessante information, aber für das Smart gerät nicht unbedingt notwendig, weil das Smart-Gerät manuell angelegt wird.
Wenn die Kombination "Gewerk + Raum" verfügbar ist, kann im cloud-Adapter ein Smart Gerät einfacher automatisch erkannt werden.
-
> hast Du denn nach dem Anlegen des neuen Smart Gerätes im Cloud-Adapter auch in der Alexa-App nach neuen Geräten gesucht und geprüft ob das neue Smart-Gerät dort angekommen ist?
Hi, ich hab über die Web App im Browser (https://alexa.amaz….) gesucht. Da wurden keine neuen Smart Devices gefunden.
Beim Loxone Plugin hatte das Ganze noch reibungslos funktioniert, aber die loxone Smart Devices haben ihren Raum und ihr Gewerk ja quasi mitgebracht.
Hab auch schon versucht das Plugin in neu zu installieren, aber das scheint an und für sich zu funktionieren. Zumindest werden die korrekten Meta-Daten angezeigt (z.B. Aktuell laufender Interpret etc.)
Nicht dass das so ein verdeckter Fehler ist wo ich den kompletten ioBroker neuaufsetzen muss und ich such mir hier nen Wolf nach Fehlern in der Smart Device Konfiguration. :?
Allgemeine Frage:
Ich brauch aber nicht ne separate Cloud Connector Instanz mit eigenem App Key oder? Hab das Smart Device für Sonos jetzt in der gleichen Instanz angelegt wie die Loxone Devices.
-
Ich brauch aber nicht ne separate Cloud Connector Instanz mit eigenem App Key oder? Hab das Smart Device für Sonos jetzt in der gleichen Instanz angelegt wie die Loxone Devices. `
Nein, brauchst Du nicht.-
wenn das Smart Gerät nicht in der Alexa-App ankommt
-
der cloud-Adapter jedoch online ist
-
und der ioBroker Skill in Alexa App installiert/aktviert ist
dann kann ich nicht mal ansatzweise nachvollziehen wo dein Problem ist.
Der Unterschied ist lediglich, dass ich die Suche nach Smart-Geräten über meine Alexa-iPhone-App durchführe und dort auch gleich kontrolliere ob das Smart-Gerät dort angekommen ist. Da ich zusätzlich die App "reverb" auf meinem iPhone habe, kann ich auch gleich die Kommandos testen, selbst wenn kein echo/echoDOT in "Hörweite" sein sollte.
Zumindest brauchen wir uns nicht zu wundern, dass die Alexa Kommandos nicht ausgeführt werden, wenn das Smart gerät gar nicht in der App bekannt ist.
Sofern Du keine Gruppen oder Szenen in der Alexa-App angelegt hast, kannst Du allerdings auch versuchen deine Smart-Geräte in der App erst einmal zu löschen und anschließend wieder neu einzulesen. (Die Alexa-Gruppen werden dabei ebenfalls entfern, ich denke die Szenen auch).
-
-
Nabend Heiko…
"Fehler" nicht direkt gefunden abr Ursache beseitigt. Da hat sich irgendwie die Verlinkung zwischen dem iobroker Account und dem Alexa Skill fest gefressen. Im Prinzip wie http://downloads.iobroker.com/forum/viewtopic.php?f=37&t=5797
Ok, Cloud-Adapter, usw. sind ok. Zugriff von Cloud auf den IoBroker geht.
Dann bitte mal einen Screenshot der Alexa-Konfig - das geht auch vom Browser aus (http://alexa.amazon.de, geht nicht vom iPad aus!).
Gruß,
Eric `
Unglaublich, aber nach einem neuerlichen Aktivieren des Skills im Browser (bisher immer nur auf der App gemacht) sehe ich alle Smart Devices
Unverständlich, aber es geht jetzt mal!
Danke Eric!!! `
Ende vom Lied…NUR das Deaktivieen und erneute Aktivieren im NOTEBOOK Browser (App ging nicht!!!) hat den Fehler behoben und die wie eingangs vermut richtig angelegten Devices erschienen plötzlich in der Alexa Smart Device Liste. :roll:
Danke für deine Geduld.
-
Dann mache ich mal mit einer einfachen Blockly-Variante (ist für jedes SONOS Gerät anzulegen) mit 8-)
Die Werte sind entsprechend der tatsächlichen SONOS-Objekte anzupassen.
In diesem Beispiel müssen also die Angaben "192._168_178_61" durch die tatsächlichen Werte des SONOS Gerätes ersetzt werden
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block id="dbjr?Bo*P5BB-X|8a
)" type="on_ext" x="-412" y="-212"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow id="NIZw?^l|a|~Az]6-ODC`" type="field_oid"><field name="oid">sonos.0.root.192_168_178_61.volume</field></shadow></value> <statement name="STATEMENT"><block id="/P]OaJvPo(8t|_b@_DWg" type="controls_if"><value name="IF0"><block id="F}%}QU.H.2ReY*27Vujw" type="logic_compare"><field name="OP">GT</field> <value name="A"><block id="2pVgp@S^Gkk4m*FcYp/@" type="get_value"><field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_178_61.volume</field></block></value> <value name="B"><block id="?*,meW}Ty_jsc#/(d2jk" type="math_number"><field name="NUM">1</field></block></value></block></value> <statement name="DO0"><block id="M7=jamTO`f_Vy3asBWy_" type="control"><mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_178_61.state</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="Cp/7yeWv1Aei%jeL-SQl" type="text"><field name="TEXT">play</field></block></value> <next><block id="0^SZ=tQeC/|]-Su_(|=k" type="control"><mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_178_61.play</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id=":f1y3j};K,ER@r(@VEc#" type="logic_boolean"><field name="BOOL">TRUE</field></block></value> <next><block id="]C+RB`OFy[Nq.:xeJFeJ" type="control"><mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_178_61.stop</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="WGj!w{y;A:*[^G+z?23+" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></statement> <next><block id="?|=4%gRKMF*SU8f-4qaQ" type="controls_if"><value name="IF0"><block id="eRFu+k!9zXX,SBm`-?Xv" type="logic_compare"><field name="OP">LT</field> <value name="A"><block id="C{^ngt;Ddf@.VWP6Fi83" type="get_value"><field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_178_61.volume</field></block></value> <value name="B"><block id="4?Z!^[,Mzgu0uyx!)N48" type="math_number"><field name="NUM">2</field></block></value></block></value> <statement name="DO0"><block id=".GJO4s}Fbo6P/hJxl`@v" type="control"><mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_178_61.state</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="!-]HLRwr%H%Ts]2~`8a:" type="text"><field name="TEXT">stop</field></block></value> <next><block id="jS#;~DOdAs]o3D?3W|sf" type="control"><mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_178_61.stop</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="kzfnxW5)Rze:pthw-ik)" type="logic_boolean"><field name="BOOL">TRUE</field></block></value> <next><block id="F?~^/4!sN_J]Vp4uOvH@" type="control"><mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_178_61.play</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="r@4()cyk@FckKsuiGR/q" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></statement></block></next></block></statement></block></xml>
! ```` `
Echt ein MEGA Script - Ich möchte das Script gerne als "Dimmer-Button" in der VIS nutzen. Wenn ich den Schalter (toggle) benutze, soll der Lautsprecher nciht auf 100% gehen. Kann man sagen, daß man den letzten Lautstärke wert nutze, wenn man EIN / AUS drückt?