I have modified the development branch of the free github skill 'dz_smarthome' (nicknamed Alexicz, main author rimram31) to provide native control of audio and transport commands for all Squeezeboxes connected to Domoticz. To set up this skill, you need to have a (free) Amazon developer account and install the lambda as your own (free) personal dev-skill. There's an excellent how-to in the git repo that explains this in detail. Be warned though, it's not for the faint-hearted !
The skill uses Alexa.StepSpeaker, Alexa.PlaybackController and Alexa.PowerController from the Smart Home API to do its magic. When enabled, you have the following command groups available:
There's no need for an invocation name like, "Alexa, ask squeezeme to play on bathroom" - you just say 'Alexa, next track on livingroom', 'Alexa, mute bedroom' etc. In fact, there's in-built persistence of the player name so once you name a specific player (e.g. 'Alexa, volume up by 20 on kitchen') you can now just say 'Alexa, pause', 'Alexa, louder', 'Alexa skip' and the player named 'kitchen' (the last-mentioned squeezebox called-out via the echo device in question) is automatically targeted unless you specify differently. Here are some more examples:
Note that you cannot ask for a particular playlist, artist, track, genre, favorties, etc - it's just transport and audio controls for now. You also cannot say 'Set volume TO 60' but can only specify a delta such as raise/lower volume BY 30. Alexicz also works if your material-source is Spotify instead of a local library.
Domoticz effectively acts as a HTTPS-savvy web-server/proxy/tunnel that tunnels requests from the Amazon cloud through to your non-HTTPS LMS server securely. No need for nginx, Apache, ngrok or stunnel to achieve this. You do need to have port 443 open in your router, allowing inbound traffic to Domoticz (you likely need this to control Domoticz remotely anyway).
Phil
The skill uses Alexa.StepSpeaker, Alexa.PlaybackController and Alexa.PowerController from the Smart Home API to do its magic. When enabled, you have the following command groups available:
- *Mute/Unmute
*Volume increase/decrease
*Play/Resume
*Pause
*Skip/Next
*Previous
*Stop
*Power ON/OFF
There's no need for an invocation name like, "Alexa, ask squeezeme to play on bathroom" - you just say 'Alexa, next track on livingroom', 'Alexa, mute bedroom' etc. In fact, there's in-built persistence of the player name so once you name a specific player (e.g. 'Alexa, volume up by 20 on kitchen') you can now just say 'Alexa, pause', 'Alexa, louder', 'Alexa skip' and the player named 'kitchen' (the last-mentioned squeezebox called-out via the echo device in question) is automatically targeted unless you specify differently. Here are some more examples:
- Alexa, pause [player]
Alexa, next track on [player]
Alexa, skip track on [player]
Alexa, previous track on [player]
Alexa, resume [player]
Alexa, play [player]
Alexa, stop [player]
Alexa, mute [player]
Alexa, unmute [player]
Alexa, lower the volume on [player]
Alexa, decrease the volume on [player] by 20
Alexa, raise the volume on [player]
Alexa, increase the volume on [player] by 40
Alexa, louder
Alexa, quieter
Alexa, turn it up
Alexa, pump it up
Alexa, tone it down
Note that you cannot ask for a particular playlist, artist, track, genre, favorties, etc - it's just transport and audio controls for now. You also cannot say 'Set volume TO 60' but can only specify a delta such as raise/lower volume BY 30. Alexicz also works if your material-source is Spotify instead of a local library.
Domoticz effectively acts as a HTTPS-savvy web-server/proxy/tunnel that tunnels requests from the Amazon cloud through to your non-HTTPS LMS server securely. No need for nginx, Apache, ngrok or stunnel to achieve this. You do need to have port 443 open in your router, allowing inbound traffic to Domoticz (you likely need this to control Domoticz remotely anyway).
Phil