Welcome to Smart Home Forum by FIBARO
Dear Guest,
as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.
As a member you can:
- Start new topics and reply to others
- Follow topics and users to get email updates
- Get your own profile page and make new friends
- Send personal messages
- ... and learn a lot about our system!
Regards,
Smart Home Forum by FIBARO Team
Search the Community
Showing results for tags 'Sonos'.
-
Hello, I want to buy a soundbar for one of the rooms. I have a Yamaha Musiccast system at home that works very well with the HC3. Unfortunately, due to the lack of a soundbar with musiccast on the market, I have to buy another device. I see that the HC3 has built-in QA for Sonos and Denon Heos. A question for people who use these devices in combination with HC3. Which feels better and is more functional. I care about basic functionality such as turning on/off, adjusting the volume and changing the source. So that I can use the device, for example, as an alarm clock. Can I ask for a hint? At this stage I am considering two devices: - Denon Home Sound Bar 550 - Sonos Beam Gen 2 Regards
-
Hello, Is there someone who can help to make a VD in Fibaro HC2, that makes it possible to hear Spotify on SONOS. So that when I return home, automatically my favorite playlist in Spotify on my SONOS system can be heard? Who dares? Greetz John
-
Version 1.0.3
1,513 downloads
UHAS v1.0.3 (Universal Home Automation System) for HC2 UHAS INTRODUCTION UHAS is a set of scenes and Virtual Devices (VD) that provide the following capabilities: Auto translation of all scenes, VD's, predefined global variables, and messages to 31 different languages (19 directly supported by HC2) (NOTE – not all languages are translated, and users are very welcomed to help with translations that are not yet done) Scheduled and repeating events based on time of day, week, month, and season including Scene FTBE which provides repeating and scheduled actions Advanced Notification Center (ANC) brings centralized notifications with support for most popular services like Pushover, Telegram, GroupMe, WhatsApp and Signal, Sonos TTS and LaMetric TIME smart clock notifications Advanced Lighting Control (ALC) with integration for Philips HUE, Nanoleaf, LIFX and Blebox devices (will be provided in separate package) Very Smart Blinds (VSB) automation Presence monitoring and control with geofencing and Netatmo presence Weather state and forecast with notifications and integration for Netatmo weather station and WeatherFlow and Tempest weather stations Home consumption monitoring and recording Appliance monitoring - with notifications Safety alarms fire and flood Security alarm integration ready with provided global variables Irrigation control based on FIBARO devices Scenes ready to use with Fibaro dimmer 2, Fibaro keyFob, Fibaro Swipe, Fibaro Button and Remotec ZRC-90 central scene activation with built in support for ANC HC2 system status notifications, automatic backups and many more... UHAS OVERVIEW UHAS has been developed for the Fibaro Home Centre 2 (HC2) home automation controller, as a series of modules, which are responsible for one particular action or job, and the user can interact with them as a group, or on their own. UHAS provides an advanced Home Automation (HA) set of features, ready to be used out of the box with minimum user effort to set up and run. Running code is provided as part of the system, doing most of the settings for the user or a systems installer. UHAS is primarily intended to be used by users of the Fibaro HC2 system who wish to have fully featured HA without the need to learn LUA programming and spending a lot of time with coding Virtual Devices and scenes. UHAS can also become a part of a mature Fibaro system installation which has developed with many modules to cover more advanced HA and more devices. UHAS Virtual Devices and scenes use proprietary code developed by author. This code is developed to minimise users involvement in installation and setting of the system. Most of the necessary setting is done by the UHAS components and other settings are simplified and minimised as much as possible. This was also possible because all UHAS VD's and scenes use role system that is used to find necessary components for actions to be performed. UHAS Virtual devices category is set automatically during translation or changing of the main icon. This means that most of the VD's should show in proper category in new mobile app as lights, blinds, gates, ambience, climate, safety, security, multimedia, remotes and other. The same goes for scenes, when scenes save their settings after first manual run then also category is set. UHAS PREREQUISITES Fibaro Home Center 2 (HC2) with firmware version 4.120 or higher (recommended but not necessary expanded RAM memory to at least 2Gb) Configured and installed z-wave devices – I.e., light switches, motion sensors, lux detectors etc. INSTALLATION AND UPGRADE NEW USERS - Please download provided UHAS v1.0.3 Installation package and UHAS Installation and User Manual v1.0.3 EN EXISTING USERS - if your UHAS is: Not yet started with installation then please download full package UHAS v1.0.3 Installation package and install. Still on v1.0 or V1.0.1 then please first download UHAS v1.02. upgrade package and install. Lastly download and install UHAS v1.03. upgrade package Installed v1.0.2 then please download UHAS v1.03. upgrade package and install. NOTE - Upgrade instructions are provided in UHAS Installation and User Manual v1.0.3 EN ADDITIONAL NOTE - In UHAS Installation and User Manual v1.0.3 EN instructions for ALC scene upgrade say: UPGRADE INSTRUCTIONS – This upgrade is recommended. To upgrade and keep your ALC Scene settings please copy new code from ALC Scene v1.3.3.lua from line: -- NEW v1.3.3 - copy code from here to the end of scene code to keep your settings above this line to the end of code. The mentioned line I forget to add to the code before making upgrade package, therefore please copy new code from line: -- THE CODE BELOW DOES NOT REQUIRE MODIFICATION BY THE USER to the end of code. Thanks goes to @MiZ for pointing that out 🙏 IMPORTANT NOTE UHAS uses its own unique global code variables. This means that UHAS will NOT influence the current system scenes, scripts, or virtual devices in any way, even if any of Sankotronic’s earlier UHAS beta versions and standalone scenes or VD's (Virtual Devices) are being used. There is no need for any changes to be made to the existing code before the installation of UHAS. The UHAS global variables are created and controlled automatically by the system so that you do not need to maintain them manually. UHAS INSTALLATION PACKAGE CONTENT (29.1Mb) 92 Virtual Devices 53 scenes Icon sets for all the above VD's and scenes THANK YOU! ❤️ I want to BIG thank to @clowg for helping me with translations and writing manual these last days speeding up publishing UHAS. BIG thank to @gucio1234 and his son Cyprian for making logo for UHAS and 3D printed with real gears! I just love it ❤️ I also want to thank many of you who helped during testing of UHAS beta versions and with translations! @clowg, @speedoxx007 ,@Bodyart, @jimicr, @gucio1234, @jompa68, @Sjekke, @robw, @rbhun, @lennypenny, @FunkFib, @MarcoT, @Orgli, @MarcoTorino71 and many others. Your help is greatly appreciated. Apologies to all other not mentioned nice people who contributed in making UHAS. I also want to thank gurus of this forum @petergebruers, @jgab, @cag014, @SmartHomeEddy and others for help with coding in LUA. And of course a BIG thank to Fibaro for providing Home Center 2 and Home Center 3 for developing purposes! BIG THANKS! also to all UHAS users for their donations! Your support is greatly appreciated! 🙏 TERMS AND CONDITIONS Permission to use, copy, modify and distribute this software and its documentation for educational, research, personal use and non-profit purposes, without fee and without a signed licensing agreement is hereby granted, provided that the copyright notice, with "Terms and conditions" and "Disclaimer" appear in all copies, modifications and distributions. It is strictly forbidden to sell, rent, lease and/or lend this software for profit without prior consent from the Author. DISCLAIMER This software is provided by copyright owner "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the author and distributor be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. Fibar Group S.A. and their employees are not responsible for support of the UHAS. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required.- 11 comments
- 1 review
-
- 16
-
Version 1.1.0
670 downloads
Sonos API Player standalone INTRODUCTION Sonos is the ultimate wireless home sound system that brings brilliant sound to all parts of house, room by room. Sonos API Player QA enables Fibaro Home Center 3 to control Sonos Wi-Fi multi-room speakers and show their status using node-sonos-http-api as mediator between Sonos and Fibaro. PREREQUISITES Fibaro Home Center 3, HC3L or Yubii Home with firmware 5.070 or greater Node.js capable device such as Raspberry PI with installed jishi node-sonos-http-api One or more Sonos Wi-Fi multi-room speaker FEATURES Support for My Sonos stations and playlists. User can easily get list of My Sonos stations and playlist to QA and start playing from QA or other QA and scene code Support for grouping actions join and leave Support for Spotify, Apple Music and Amazon music Support for text to speech TTS for Google, VoiceRSS and AWS Poly Support for playing clips for e.g. doorbell or alarm functions Supports all standard audio commands PLAY, PAUSE, STOP, PREVIOUS, NEXT, MUTE/UNMUTE, SHUFFLE, REPEAT and CROSSFADE Support for all other functions available by jishi node-sonos-http-api User can restart QA device Debug mode with different levels Multi language support with 25 languages included (see APPENDIX 1 for the list). QA can use HC3 selected language or user can select any other available language. QA will be automatically translated to the selected language User can also setup icons to show current status of the player or leave HC3 default icon INSTALLATION Please check provided User Manual UPGRADE To upgrade from version 1.0 to 1.1 please download this file: Sonos API Player QA v1.1 update.zip Unzip it and copy/paste code for each file as named main, common and app After saving QA please change settings of QA variables TTSlanguage and/or TTSvoice as necessary. AVAILABLE DOWNLOAD Sonos API Player QA v1.1 User manual EN v1.1 TERMS AND CONDITIONS Permission to use, copy, modify and distribute this software and its documentation for educational, research, personal use and non-profit purposes, without fee and without a signed licensing agreement is hereby granted, provided that the copyright notice, with "Terms and conditions" and "Disclaimer" appear in all copies, modifications and distributions. It is strictly forbidden to sell, rent, lease and/or lend this software for profit without prior consent from the Author. DISCLAIMER This software is provided by copyright owner "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the author and distributor be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. Fibar Group S.A. and their employees are not responsible for support of the ABC VD. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required. VERSION HISTORY 1.1.0 - corrected say and sayall commands language handling error, added Korean language for QA and changed TTS language handling to enable usage of all available languages by selected TTS service. 1.0.0 - First public release Look and feel: Enjoy coding and your new Sonos API Player QA! Sankotronic -
Version 1.0
228 downloads
Sonos API Player VD v1.0 standalone INTRODUCTION Sonos is the ultimate wireless home sound system that brings brilliant sound to all parts of house, room by room. Sonos API Player VD enables Fibaro Home Center 2 to control Sonos Wi-Fi multi-room speakers and show their status using node-sonos-http-api as mediator between Sonos and Fibaro. PREREQUISITES Fibaro Home Center 2 with firmware 4.620 or greater Node.js capable device such as Raspberry PI with installed jishi node-sonos-http-api One or more Sonos Wi-Fi multi-room speaker Sankotronic Lab. Emoji VD v1.1 or greater FEATURES Support for My Sonos stations and playlists. User can easily get list of My Sonos stations and playlist to VD and start playing from VD or other VD and scene code Support for grouping actions join and leave Support for Spotify, Apple Music and Amazon music Support for text to speech TTS for Google, VoiceRSS and AWS Poly Support for playing clips for e.g. doorbell or alarm functions Supports all standard audio commands PLAY, PAUSE, STOP, PREVIOUS, NEXT, MUTE/UNMUTE, SHUFFLE, REPEAT and CROSSFADE Support for all other functions available by jishi node-sonos-http-api Debug mode with different levels Multi language support with 27 languages included (see APPENDIX 1 for the list). VD can use HC2 selected language or user can select any other available language. VD will be automatically translated to the selected language Easy setup for VD icons. User can download HC2 Icon Preview VD to easily find icon ID number Global variables are automatically added, monitored and repaired and does not require user intervention INSTALLATION Please check provided User Manual PACKAGE CONTENT Sonos API Player VD v1.0 User manual EN v1.0 TERMS AND CONDITIONS Permission to use, copy, modify and distribute this software and its documentation for educational, research, personal use and non-profit purposes, without fee and without a signed licensing agreement is hereby granted, provided that the copyright notice, with "Terms and conditions" and "Disclaimer" appear in all copies, modifications and distributions. It is strictly forbidden to sell, rent, lease and/or lend this software for profit without prior consent from the Author. DISCLAIMER This software is provided by copyright owner "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the author and distributor be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. Fibar Group S.A. and their employees are not responsible for support of this VD. Please contact the author Sankotronic, on the Fibaro Forum, for any questions or support required. VERSION HISTORY 1.0 - First public release LOOK AND FEEL Peek in spoiler: Enjoy coding and your new Sonos API Player VD! Sankotronic -
-
Hi there! I'm just returning to Fibaro now, with the HC3 up and running for a few days. I used HC2 from 2012 to 2018 when it died. Using Homey since that. Now, I'm curious about HC3 and the new possibilities with QuickApps. No doubt, Fibaro HC is the best for controlling my 60+ mostly Fibaro z-wave devices. But in the past, integration with SONOS, HUE, Alarm systems, Door locks, Video door bells etc was poor. That integration is better elsewhere. Now, with QuickApps, can we expect to see better "plugins" for these kind of IP/API devices? I.e. better than the rudimentary version 1.0 plugins of the past, that's never maintained? I'd love to hear that smart speakers, be it Sonos or Google Home or Alexa, could fully intregrate audio output from my smart home system. Both TTS announcements and sound output from scenes. In a simple and usable way. (I know this has somewhat been possible for years through special VDs with much hassle, but I was never able to make it work properly.) Same goes for Hue, sensors and actors. Or IKEA smart products like blinds. And connecting Alarm systems with 2-way communication for sensor status etc. And a QuickApp for my ventilation system. What do you think? Am I too optimistic?? Regards, Ole Kenneth
-
Version 3.6.2
163 downloads
Advanced Alarm Clock First release on the French board in March 2019. INTRODUCTION This VD+Scene Bundle will help you to wake up in better shape by simulating a smooth dawn with any device in your HC2 : Roller Shutters, lights devices and VD. After the ignition at the value that you have set up in the VD, the scene can fade one or more speakers. The curves for light and audio fade in can be choosen separately. The scene manages itself if it's day or not. So, for each light you will set up in the scene, you can decide if it has to be active everytime, or only when it's day or only when it's night. For example, you can set up a Roller Shutter which is active only if it's day! This Bundle can be used as much as you want, just by adding it again and creating a new Global Variable for each new bundle set. THE SCENE IS ABLE TO MANAGE Roller Shutters (FGR22, FGR223...) Dimmers (FGD211, FGD212...) Switchs (FGS211, FGS212, FGS213...) RGBW Devices (FGRGBW, RGBW Controller 1, RGB Controller 2) RGBW Programs (Any Fibaro's programs) Home Center Scenes Any Light VD (Philips Hue, Ikea TRÅDFRI...) Any VD clickable Any Audio VD (Sonos, Yamaha Multicast or any else...) INSTALLATION Most of explainations are in the scripts. Create a Global Variable which starts with REVEIL_ (what means alarm clock in French ?) and import the Virtual Device you want (12h or 24h). VD CONFIG -- Manageable Alarm Clock Scene Id local SceneID = 193; -- Which room will this VD Manage ? Must be the same than the Scene local ROOM = "ROOM"; -- Days Off local DaysOff = {"Saturday","Sunday"}; -- By defaut, this scene will be launched to have full light at the time set up in the VD : Actual Hour - Dawn Time -- Change this var to anything else if you want to trigg the scene at the hour H. local StartScene = "DEFAULT"; -- Icon's ids local icon_ok = 1156 local icon_wait = 1158 local icon_off = 1160 SceneID : ID of the scene Advanced Alarm Clock ROOM : Value corresponding to the Global Variable you created DaysOff : List here all your days off within quotes marks, separated by commas. Take care of the uppercase at the beggining of the days names! StartScene : Start the scene to have the full ignition at the time set in VD (DEFAULT), or start to begin the dawn's simulation at the time set in the VD (anything else) icon_ok : ID of the icon which will be displayed when the scene is triggered and active icon_wait : ID of the icon ID which will be displayed when an alarm is set and waiting to trigg the scene icon_off : ID of the icon which will be displayed when the alarm is disabled Note: In this Virtual Device, you have to change 3 times the variable's value of ROOM, corresponding to the Global Variable you have created before : REVEIL_ROOM. VD USE Press on : will display 12:00 (or 07:30am in the 12h version). This can be changed by anything else with the variable ClickHour in the corresponding button Sound Volume is in percentage (Act on sliders) Audio fade-in is in seconds Light's Power is in percentage* Dawn's duration is in minutes Once button sets the alarm for the next avalaible scheduele, regardless of the day (DayOff or not). The alarm will automatically be disabled after the dawn's ignition Week of job sets the alarm for everyday, without the days set in the variable table DaysOff. Scene will automatically be launch until it's manually deactivated Recall will recall every parameters set before last VD deactivation Alarm OFF will save every actual parameters and disable the alarm * Rollers Shutters will open at the same time than others lights devices, but will not been affected by Light's Power parameter I thought it was better to be able to choose the power of lights, without having a half opened roller shutter. SCENE local ROOM = "ROOM"; -- Room code corresponding to the Global Var created local StartVolume = 15; -- Which Speakers volume value the fadein will start at (percentage) local CurveLight = "linear"; -- Which function will be used to fadein light keys local CurveAudio = "linear"; -- Which function will be used to fadein speakers keys BASIC SETTINGS ROOM The famous variable wich has to be the same in the Scene+VD StartVolume could be useful if you don't want to start audio fadein from 1. CurveLight & CurveAudio Curves that will be used to fade lights and audio. See the following image to have a better understanding Note1: If you comment a Curve Variable, the curve will be randomly choosen Note2: The curves are possible thanks to the great work that Robert Penners made in 2001. POSSIBLE CURVES : Linear + Robert Penner's Easing Equations -- Debug Vars local debug = 1; -- 1 Enable / 0 Disable local lang = "en"; -- Debug lang local DisplayNamesorID = "ID"; -- Display DeviceName + RoomName (Names) or Type + ID (ID) on each Debug line local DisplayNamesAtStartup = 1; -- Display Rooms & Names at scene startup (1) or not (0) local DisplayRGBWValues = 1; -- Display RGBW Values increasement when fading in (1) instead of only multiplier (0) local DayLightDelay = 60; -- After sunrise/sunset, it's still daylight for .. mn local VolDiffMin = 5; -- Minimum difference between Start Volume and Volume set in VD (in case of Start Volume > Volume set) local LimitDebugLines = 1; -- Limit number of Debug Lines to 4 max per device and to 20 max per roller shutter -- Changing next var values may seriously impact the scene local CheckAlarmMode = 1; -- Check if the alarm is set and not just memorized before starting sthis scene local DisplayScenesNames = 0; -- Display Scenes Names in debug (1) or not (0)! Active this function may delay the script local tempo = 1; -- Pause between two actions in LightsAction and SpeakersAction functions (s) - It' not recommended to change this value DEBUGS SETTINGS debug lang DisplayNamesorID DisplayNamesAtStartup DisplayRGBWValues DaylighDelay VolDiffMin LimitDebugLines CheckAlarmMode If this var value is set on 0, this scene will be able to be launched manually with stored values, even though the VD displays None DisplayScenesNames tempo Note: everything explained in the script! ADDING YOUR DEVICES Add a Roller Shutter (FGR) Parameter "steps" is needed to set how many steps this roller shutter will do to open (to protect motors of 100 steps) table.insert(LightsList, {typ="Shutter", id=279, steps=6}); Add a Dimmer (FGD) table.insert(LightsList, {typ="Dimmer", id=10}); Add a RGBW device (FG-RGB) : To fade a choosen color with RGBW parameters (Set this color at full range, scene will fade this value from 0 to the value set in VD) table.insert(LightsList, {typ="RGBW", id=20, r=150, g=100, b=0, w=255}); Add a RGBW Program : To set a RGBW program, just use "program" parameter Add "start" parameter to manage when this program will be started during the light fadein (in percentage) If no "start" parameter is set, program will be started at the beginning of the scene table.insert(LightsList, {typ="Program", id=20, program=3, start=50}); Add a switch (FGS) Add "start" parameter to manage when this turnon action will be done during the light fadein (in percentage) If no "start" parameter is set, action will be done at the beginning of the scene table.insert(LightsList, {typ="Switch", id=49,start=100}); To add a VD If it's a light VD : Parameter "slider" needed to manage brightness table.insert(LightsList, {typ="VD", id=298, slider=10}); "btn" paramater can be added to set a color preset before the fadein (Be sure that the VD brightness for this button is set et 1%) table.insert(LightsList, {typ="VD", id=298, slider=10, btn=6}); If it's not a light VD (with brightness slider) : Just indicate "btn" parameter table.insert(LightsList, {typ="VD", id=298, btn=6}); Add "start" parameter if you want to manage when this button will be pressed during the dawn fade in (in percentage) table.insert(LightsList, {typ="VD", id=298, btn=6, start=50}); Scene : To start a scene Add "start" parameter to manage when the action will be done during the light fadein (in percentage) If no "start" parameter is set, action will be done at the beginning of the scene table.insert(LightsList, {typ="Scene", id=254, start=50}); To add Speakers VD : One action per key Example for an action on the slider 15 of the VD 245 table.insert(SpeakerAction, {id=245, slider=15}); Example for an action on the button 6 of the VD 245 table.insert(SpeakerAction, {id=245, btn=6}); Note: This is an extract of the scene. So you will find it in the scene to help you if needed One line = One device LightsList typ = Shutter id Roller Shutter ID steps Number of steps which will be done by the roller shutter (to preserve shutter's motor). 2 mini / 20 maxi typ = Dimmer id Device ID typ = VD id VD ID slider Slider number to manage light power btn* Button to push start* When the button have to be pushed during dawn"s ignition (if not set, the button will be pressed just before acting on slider) typ = RGBW id Device ID r Red Value(0-255) g Green Value (0-255) b Blue Value (0-255) w White Value (0-255) Note: Please write the parameters for a full power. The scene will calculate the values needed from them typ = Scene id Device ID start* At which percentage of the dawn's ignition this scene will be started. 1 will be use by default if nothing is set. typ = Switch id Device ID start* At which percentage of the dawn's ignition this switch will be turned on. 1 will be use by default if nothing is set. typ = Program id Device ID program ID of the program to launch start* At which percentage of the dawn's ignition this program will be started. 1 will be use by default if nothing is set. SpeakerAction id VD ID 2nd parameter = Button Type (One or the other) with this button number slider Number of the volume's slider btn Number of the button to push Note: This actions will be done in the order you declare them in the script Note: items with * are not mandatory MODE PARAMETER This parameter is not mandatory. If not set, all your keys will be used to fade the dawn. You can mix modes and no modes keys! For each light key, if you want to see it lighting only when it's day, just add mode="day", or mode="night" if you want to see a key lighting only if it's night. To use a key everytime : no mode or mode="both". WHERE CHANGE GLOBAL VARIABLE "ROOM" VALUE At the beginning of the scene In the "Once" Button of the VD In the "Week of Work" Button of the VD In the "Alarm OFF" Button of the VD At the beginning of the Main Loop of the VD Note: Please take care of this changement of value. If the value is not the same everywhere, the scene could not be launched! DEBUG EXAMPLE SUPPORT In case on any issue, please try again with defaults debug's values and post all your DEBUG lines to help me to understand what happens in your configuration. CONTENT Advanced Alarm Clock Scene v3.6 Multilingual Advanced Alarm Clock Trigger 12h v2.2 for people that have 12-hour clocks (am-pm) Advanced Alarm Clock Trigger 24h v2.2 3 Icons for the VD 1 icon for the Scene info.txt file TRANSLATION All Debugs texts are available in english and french. They could be easily translated in any other language without any LUA knowledge, by creating a new language condition and translating every DebugMsg vars. Don't hesitate to contact me with the support thread if you want to translate them in another language. Only 37 sentences in the scene v.3.6! Your translations could be added in this official bundle.- 1 comment
-
- 1
-
- dawn simulator
- dawn simulation
- (and 5 more)
-
Hei, Quick App - Sonos Zone Controller works great inside the controller bur how can i use it with scenes ? In scenes is is not possible to choose the quick app Thanks for your answer.
-
-
Hi, I would like to have my Sonos-player start playing music when I open my garage door. As far as I can see, I only have one option as I have a HCL, and that is to use IFTTT. How can i set this up? Ive tried making variables that change bases on the doors state (controlled by Aeotec garage door controller) and scenes that activate based upon the state of the variable, but i cant make it work.. The main problem seems to be that both the scene for "Play music" and the scene for "Pause music" starts at the same time every time the state of the door changes.. Also tried "interlocking" the inpud by adding an opposite state, but still triggers them both at the same time. Examples Play music scene: Pause music scene: Scene triggering is the only option I can see for making this work, as the Aeotec controller dont show up in the other triggers.. I have no problem making the IFTTT applets work, that seems to go OK, but its the input im struggelig with..
-
Hello Team I have a sonos player 5 and I just want to use the TTS functionnality. What should I do ? Thanks in advance for your feedback
-
Is there anyway to control Sonos Plugin via scenes ?
developertas posted a question in Home Center 2
Hello friends, I would like to control my sonos devices via scenes. It seems not possible to do that with common ways. So maybe someone in this forum already did that via http methods, rest apis etc. Would be great help if someone has any idea about that. Thanks in advance. -
Implement Sonos VD using node-http-API running on raspberry PI The following should help if you want to implement an sonos VD that leverages the node sonos http api by jishi The post consists in two parts Setting up the API on a raspberry pi Creating the VD and summary of other uses of the API and some sample code I use **I'll structure this in a better format in the coming weeks but for now it should be sufficient** I have tested this with Play1, 3, 5 (older version) ZP100, ZP80, ZP90. I don’t have a sonos soundbar or sub but from reading other forums it should work fine for those I intend to use this more in ‘Press Button’ mode rather than directly as a remote control but it should be good either way. You can also select what appears in HC2 UI by clicking the ‘main’ checkbox on the appropriate VD button ( I think you can have one button, one label and one slider) Credit & Reuse: This work draws on the work of many many people from both this forum as well as other forums. Without these people and the work they have done as well as what they have helped me learn over the last 12 months this wouldn't have been created. Like all VD’s please feel free to constructively criticise or modify it to meet your needs STEP1: Setup api on node.js device: This VD requires jishi’s node-sonos-http-api to be installed on a node.js capable device. This can be a RPi, a NAS or something similar. Details on where to get the code and install can be found on Git - https://github.com/jishi/node-sonos-http-api You will also find an excellent blog/issue tracker at the link above for any issues you encounter I have mine installed on a Rpi Added Feb 5th The fastest way I found to get up and running on a PI if you're unsure and just want to try it (takes about 15 minutes) Use the sonos-api precompiled rpi image at http://jishi.github.io/node-sonos-http-api/ (apply to blank sd card) when you login over SSH (with something like putty) the password is root Map a network drive or Start Run to \\<IP of Pi>\flash click apps folder and you'll see the sonos-http-api folder Get an API from VoiceRSS and create a settings.json file (details in the post) and drop it into the sonos-http-api folder reboot and that's it - test through browser with something like http://<ip-of-Pi:5005/<playername>/Say/Hello If you want to upgrade to the latest api release Download the latest zip from https://github.com/jishi/node-sonos-http-api (green button on right) In the flash folder rename the sonos-http-api to -old Rename what you downloaded to to sonos-http-api Drop in your settings.json file SSH into the Pi - login = root cd /flash/apps cd sonos-http-api npm install --production when finished reboot DOCKER from @riemers (thanks ) You could also use docker Some nas systems include docker too (synology) from the gui. Using docker is easy and simple to give to someone else too, work on Pi3 too. For node-sonos-api there is a docker image https://github.com/chrisns/docker-node-sonos-http-api saves you the hassle of installing all dependency's, assuming you have some knowledge with linux. # Edit - additional observation - I like the Synology NAS option but mine doesn't reboot in the event of a power outage. The Rpi does reboot. If you use a NAS it might be good to use a UPS or find a way to reboot after an outage Once you have this setup you are ready to move on to Step 2 STEP 2 : Import the VD, you will need one VD per sonos zone node-sonos-api VD.vfib Name - The zone name needs to be the same as what it is in native Sonos (try and avoid chars such as /,etc) Spaces are okay IP Address: This is the IP of the device where the api is installed (This is NOT the IP address of the sonos zone) Port: Leave at 5005 (can be changed it needed, see git above) STEP 3 : Configure Play, Stop, Repeat, Shuffle, etc – this should work as is The parts you may want to modify are as follows => Volume I opted for the vol + / vol – as opposed to the slider as I find the sliders difficult to use on a tablet Vol + / - operates in increments of 2%. This is easy to change in the url string. The Vol 10% button is also easy to change => Favourites You will need to modify this to your favourites and how they are named in your sonos setup I would advise simplifying these names in the native Sonos setup as much as you can. Spaces are okay, you just need to use %20 where you have a space in a name If you need more of less favourites, please add/delete buttons as required => Playlists I don’t really use them but these are easily enough added in a similar way to the favourites above. => Line-in selection You can create one button for each line in option on your setup for any connect/connect amp or Zp unit.. (I have 4 on my setup) You will need to get the UUID for the zone that has the line in physically connected to it. You can get the UUID of that zone by viewing the topology of the zone with the topology url. (drop it into chrome/ff) http://[IP of any of your zone]:1400/status/topology The format of the url http://192.168.1.89:5005/kitchen/setavtransporturi/x-rincon-stream:RINCON_000E5832B85401400 and you will need to change the last numerical string for your own UUID. => Grouping Zones I have included two examples of grouping and ungrouping The url format is simple and easy to read. below are two examples that were setup on the kitchen zone where I wanted to group the Playroom zone two it and play what was playing on the kitchen zone Group - [playroom joining kitchen and playing kitchen music] http://192.168.1.89:5005/playroom/join/kitchen Ungroup - [playroom leaving kitchen zone] http://192.168.1.89:5005/playroom/ungroup/kitchen You could also include a group all and an ungroup all by stacking the commands from each zone under one button. There are also options to control volume of grouped zones if you like but I haven't explored that yet Beyond this… The api is very extensive and still undergoing development. There are other functions in the api that could be used and might be worth a glance depending on your system and patterns of use I'll update the post this evening with the actual VD as I can't seem to export it remotely. The node.js api will need to be installed first before the VD will be of any use. Hopefully it will be of use to some people Thanks -Frank Update: Adding VD file Adding some extra information The api is very extensive and seems to keep growing I use it for mainly behind the scenes control rather than me clicking the vd/scenes buttons manually If you look at http://zone_ip:5005/room_name/state for any of your players you’ll see all the state json info and what’s possible to control/trigger from Pretifying the json will show it's structure better { "currentTrack": { "title": "x-sonosapi-stream:s2846?sid=254&flags=32", "albumArtUri": "\/getaa?s=1&u=x-sonosapi-stream%3as2846%3fsid%3d254%26flags%3d32", "duration": 0, "uri": "x-sonosapi-stream:s2846?sid=254&flags=32", "type": "radio", "absoluteAlbumArtUri": "http:\/\/192.168.1.63:1400\/getaa?s=1&u=x-sonosapi-stream%3as2846%3fsid%3d254%26flags%3d32" }, "nextTrack": { "artist": "", "title": "", "album": "", "albumArtUri": "", "duration": 0, "uri": "" }, "volume": 10, "mute": false, "trackNo": 1, "elapsedTime": 651, "elapsedTimeFormatted": "00:10:51", "playbackState": "PLAYING", "playMode": { "repeat": "none", "shuffle": false, "crossfade": false } } I have a VD that shows me the status of all my players (attached) main scene code (just add labels local device = fibaro:getSelfId(); local zonename = fibaro:getName(device); local ipaddress = fibaro:getValue(device, "IPAddress"); local port = fibaro:getValue(device, "TCPPort"); sonos = Net.FHttp(ipaddress, port); local jS = json.decode(fibaro:getGlobalValue("StateTable")) -- zero the counter for each loop local zoneCount = 0 -- LANDING response = sonos:GET("/Landing/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.Landing_Stairs.isPlaying = 1 else jS.Landing_Stairs.isPlaying = 0 end jS.Landing_Stairs.volPlaying = jsonTable.volume jS.Landing_Stairs.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lblLanding.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); -- TWINS BEDROOM response = sonos:GET("/Bed_LE/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.lau_eth_bedroom.isPlaying = 1 else jS.lau_eth_bedroom.isPlaying = 0 end jS.lau_eth_bedroom.volPlaying = jsonTable.volume jS.lau_eth_bedroom.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lblBedLE.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); -- FRANK BEDROOM response = sonos:GET("/Bed_Frank/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.frank_bedroom.isPlaying = 1 else jS.frank_bedroom.isPlaying = 0 end jS.frank_bedroom.volPlaying = jsonTable.volume jS.frank_bedroom.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lblBedFrank.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); -- GUEST BEDROOM response = sonos:GET("/Bed_Guests/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.guest_bedroom.isPlaying = 1 else jS.guest_bedroom.isPlaying = 0 end jS.guest_bedroom.volPlaying = jsonTable.volume jS.guest_bedroom.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lblGuests.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); -- OFFICE response = sonos:GET("/Bed5_Office/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.office.isPlaying = 1 else jS.office.isPlaying = 0 end jS.office.volPlaying = jsonTable.volume jS.office.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lblOffice.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); -- MASTER BED response = sonos:GET("/Bed_MasterL/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.master_bedroom.isPlaying = 1 else jS.master_bedroom.isPlaying = 0 end jS.master_bedroom.volPlaying = jsonTable.volume jS.master_bedroom.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lblMaster.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); -- HALL response = sonos:GET("/Hallway/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.hall.isPlaying = 1 else jS.hall.isPlaying = 0 end jS.hall.volPlaying = jsonTable.volume jS.hall.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lblhallway.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); -- KITCHEN response = sonos:GET("/Kitchen/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.kitchen.isPlaying = 1 else jS.kitchen.isPlaying = 0 end jS.kitchen.volPlaying = jsonTable.volume jS.kitchen.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lblkitchen.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); -- PLAYROOM response = sonos:GET("/playroom/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.playroom.isPlaying = 1 else jS.playroom.isPlaying = 0 end jS.playroom.volPlaying = jsonTable.volume jS.playroom.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lblplayroom.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); -- GARAGE response = sonos:GET("/Garage/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.garage.isPlaying = 1 else jS.garage.isPlaying = 0 end jS.garage.volPlaying = jsonTable.volume jS.garage.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lblgarage.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); -- PIZZA BBQ response = sonos:GET("/PizzaBBQ_Area/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.pizza_bbq_area.isPlaying = 1 else jS.pizza_bbq_area.isPlaying = 0 end jS.pizza_bbq_area.volPlaying = jsonTable.volume jS.pizza_bbq_area.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lblpizza.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); -- LIVING response = sonos:GET("/Living_Room/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.living_room.isPlaying = 1 else jS.living_room.isPlaying = 0 end jS.living_room.volPlaying = jsonTable.volume jS.living_room.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lblliving.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); -- GARAGE response = sonos:GET("/DiningRoom/state") jsonTable = json.decode(response); if jsonTable.playbackState == "PLAYING" then zoneCount = zoneCount + 1 jS.dining_room.isPlaying = 1 else jS.dining_room.isPlaying = 0 end jS.dining_room.volPlaying = jsonTable.volume jS.dining_room.nowPlaying = jsonTable.currentTrack.artist jStateTable = json.encode(jS) fibaro:setGlobal("StateTable", jStateTable) fibaro:call(device,"setProperty","ui.lbldining.value",""..jsonTable.playbackState.." | "..jsonTable.volume..""); fibaro:setGlobal("ActiveMusicZones", zoneCount); fibaro:call(device,"setProperty","ui.activeZones.value",zoneCount); Three of my zones use power amps (the are sonos connects) and I use the ‘playstate’ to turn the amp on / off when required. That’s the code at the bottom of the vd At one stage I was even displaying the image (radio station, music album) on an openremote UI using the uri part of the state json. I use the VoiceRSS TTS on teh http api but there are others. That all that was there when I found it and it worked well I have TTS to tell me “welcome home”, “good night”, "gate opening/closing", "garage door opening/closing" and all the usual stuff but I vary the volume it at night so it doesn’t wake everybody up. I intend this expand this feedback out so If we come home and the alarm went off it would tell me or that the washing machine has finished, the humidity is still too high in the bathroom and I should open the window (or that a fan was turned on) or some HC2 system info like the available memory went beyond certain thresholds, temp in a room rose or dropped, My siemens alarm is connected to my HC2 and I keep track of all the status of the alarm zones and when we press the “Leaving Home” button it checks the alarm zones and if one or many are open, it will TTS the open alarm zones in the hall sonos so we know where to go and close. Same thing when we go to bed at night. I found that each of my zones have different volume levels that work at night and during the day. I’ll be using my HomeTable (different topic) to store this info for each zones but it can written directly into the scene/vd. (This is what the the following code is for) I also plan on using a central TTS engine (simple a scene that take a zone/message and vol) so I can TTS more easily to any player. For now I have specific TTS code on a per player basis. I leverage the global variables that @Sankotronic Weather Basic VD populates and a scene that allows me to send the current weather (temp, humidity, wind speed direction, etc) as a TTS to our bedroom in the morning as well as the temp of the house as part of our wake up routine The API has a presets concept. This allows the user to pre-define a set of grouped players, source and volume. This is a file on the rpi and is referenced by a single command rather than starting one zone and grouping other zones. An example of its structure is as follows ... { "players": [ { "roomName": "Landing", "volume": 0 }, { "roomName": "Bed_MasterL", "volume": 0 }, { "roomName": "Bed_LE", "volume": 0 }, { "roomName": "Bed_Frank", "volume": 0 } ], "pauseOthers": false, "favorite": "96FM" } You may notice that the volume is set as 0 because I use another scene to slowly raise the volume so we are not woken to the sharp shock to a loud song. This simple vd button code is what I use to slowly raise the volume slowly local device = fibaro:getSelfId(); local zonename = fibaro:getName(device); local ipaddress = fibaro:getValue(device, "IPAddress"); local port = fibaro:getValue(device, "TCPPort"); sonos = Net.FHttp(ipaddress, port); for v = 1, 10 do response = sonos:GET("/Bed_Frank/volume/"..v.."") fibaro:debug("vol= "..v.."") fibaro:sleep(1000) end I use this for morning music upstairs and downstairs as well as when the kids go to bed. (changing the presets on the rpi requires a restart of the api - i normally just reboot the pi ) Watch out for radio favorites and playlists - try and not have spaces in the names on sonos and you should have no issue calling them ADDED - Jan 21st Creating a single button on a VD to cycle through favorites or playlist instead of using 1 per favorite. Every time you click the button it selects the next favorite. I have it limited to 5 favorites but this is easily adjusted. I store the favorite in my HomeTable but it could also be a global variable. I use an array to decode the numerical value stored globally into the actual favorite so I can append to the sonos api call. This will need to be adjusted to suit your system VD button code .... local device = fibaro:getSelfId(); local ipaddress = fibaro:getValue(device, "IPAddress"); local port = fibaro:getValue(device, "TCPPort"); local jT = json.decode(fibaro:getGlobalValue("HomeTable")) -- Get the current favorite number stored, increment by 1 and if > 5 set back to 1 local f = tonumber(jT.Landing_Stairs.RadFav) + 1 if f > 5 then f = 1 end -- Store the new favorite jT.Landing_Stairs.RadFav = f fibaro:setGlobal("HomeTable", json.encode(jT)) -- Array for the favorites fav = {[1] = "4FM", [2] = "96FM", [3] = "Calm", [4] = "Heart", [5] = "Red_FM"} -- Execute the sonos conmmand sonos = Net.FHttp(ipaddress, port); response = sonos:GET("/Landing/favorite/"..fav[f]..""); I also reflect this on a status label on the VD. -- Get favorite stored globally local f = tonumber(jT.Landing_Stairs.RadFav) -- Translate into favorite name to be displayed fav = {[1] = "96FM", [2] = "4FM", [3] = "Calm", [4] = "Heart", [5] = "Red_FM"} -- fav[f] represents the name. I apppend to otehr date and display in one label local status = " "..fav[f].." | "..jTS.playbackState.." | Volume "..jTS.volume.."%" fibaro:call(device,"setProperty","ui.status.value", status); This display at the top of the VD doesn't account is somebody changes the favorite from the native sonos app. I'll add code later to keep alignment between what is selected and what is stored in the global variable, This is what it looks like on my setup that is still a work in progress x Please see post 163 on this topic on how to get the VD icons dynamic for radio station or line in
- 255 replies
-
I have VD sonos remote installed but is not working Version 1.0.0 does notting Version 1.0.1 gifs the playing number and gives volume level. Butons are not working. Is there a new version? Is there a other solution. I want to use de VD to control the sonos in scenes (not the interface like the sonos plugin) - select number or playlist to play (example : Alarm sounds) - play number -stop playing Anny sugestions?
-
Hello everyone, I'm new to Fibaro and I have a problem. I created the VD Sonos Romote v.1.0.1 and I want him to play an mp3 sound and stop it. I succeeded to play audio mp3 thanks to the spatpeker but I can not stop it. --PLAY --[[ %% properties %% events %% globals --]] -- 72 is the Virtual Device ID (sonos) -- 73 is the Process button ID (this vd button) local sid, bid = 72, 28 -- Create STREAM params object local params = { -- stream: the file / uri stream = "//192.168.1.5/share/IntruderAlarm.mp3", -- source: "local" or "http", "local" is setted by default source = "local", -- duration: play duration in seconds (option) or "auto" duration = "auto", -- volume: the volume for playing the stream volume = 5 } local _f = fibaro local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end} -- Make a request to the remote to process params object instantly _x:set(tostring(sid), { stream = params }) _f:call(sid, "pressButton", bid) -- STOP DON'T WORK --[[ %% properties %% events %% globals --]] -- 72 is the Virtual Device ID (sonos) -- 73 is the Process button ID (this vd button) local sid, bid = 72, 28 local cmd, log = "PAUSE", "Stop command was sent" local _f = fibaro local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end} -- Make a request to the remote to process params object instantly _x:set(tostring(sid), { action = tostring(cmd .." ")}) _f:log(log); _f:call(sid, "setProperty", "ui.lblDebug.value", log); _f:call(sid, "pressButton", bid)
-
Working SONOS VD and TTS workaround - quick install guide
morpheus75 posted a question in Scenes and Interface
hello all. i have just bought some Sonos speakers and wanted to integrate with home center 2. first part is to control then second part text-to-speech workaround whilst i was going through the forums i found the info i needed scattered around different threads and the original thread was very long, so i have thought i might make it easier by creating a small quick guide: First thing is all credit to the virtual device goes to krikroff for the VD, original thread here - http://forum.fibaro.com/index.php?showtopic=12344 I have created a video demo instead as it was easier to show rather than write. video link is as above. enjoy... download link here: http://www.yorkshireautomation.co.uk/downloads/sonos.zip- 34 replies
-
- 2
-
- sonos
- virtual device
-
(and 1 more)
Tagged with:
-
Hi, Here is a project to create a dedicated sonos room remote using a minimote remote control. One of my kids asked if they could have a simple remote for the sonos player in their bedroom and this is what I created I use the sonos-http-api but I'm sure it could be adapted for the other methods to control sonos with the HC2 This is what we are creating ... 4 single press functions pre-programed Vol-, Vol+ are self explanatory PlayPause - this cycles between play and pause. If no music is selected (like just after a player powers up) then this button will select one of the radio favourites and start playing Favorites - allows you to cycle through your radio favorites with each button press.(more on this later) 4 long press functions can be programed These can be anything from starting a scene to selecting line in In the remote I created, the ling press functions are Sat Line In, ungroup zone, start Bedtime scene and one empty. Lets get started..... The solution has two parts A scene to interpret the button press and direct them to a VD Both scene and the VD are included at he bottom of the post. I use the one scene to interpret two minimote remote controls so adjust as you see fit You only need one scene even if you use multiple remotes/rooms and but you will need one VD per room If you don't use a HomeTable, please comment out this line wherever you see it local jT = json.decode(fibaro:getGlobalValue("HomeTable")) SCENE CONFIGURATION At the start of the scene amend with the ID of your minimote device id's to trigger the scene --[[ %% properties 851 sceneActivation 856 sceneActivation %% events %% globals --]] Adjust the references to the target Sonos RC VD(s) sonosVD1 = jT.vd.OfficeSonosRC sonosVD2 = jT.vd.GuestSonosRC Adjust the reference (851 below) to the remote at the start of each remote block of code if startSource["type"] == "property" and devID == 851 then And that's it for the scene..... VD CONFIGURATION This VD has the 4 single press functions programmed and the place to program the 4 long button presses as well Import the VD and add the IP address and port (probably 5005) of your sonos-htti-api and name and select room accordingly In the code for Button 1 to 4 amend the sonos player name to suit your player local zone = "Office" Button 4 contains a table with your favorites Amend the name in quotes in the table to match your sonos setup fav = {[1] = "4FM", [2] = "96FM", [3] = "Calm", [4] = "Heart", [5] = "Red_FM"} The code cycles through 5 favorites but can easily be adjusted to cycle through less or more You also need a place to store the current favorite and I use my Hometable for this by adding a entry to the respective room Add the highlighted entry to each room you have a remote for. Adjust the Button 4 code to match this reference local f = tonumber(jT.office.RadFav) + 1 if f > 5 then f = 1 end jT.office.RadFav = f fibaro:setGlobal("HomeTable", json.encode(jT)) s = Net.FHttp(ipaddress, port) r = s:GET("/"..zone.."/favorite/"..fav[f].."") If you don't use a HomeTable contact me and I'll help you create a global to do the same thing The final part is then to add functions to Buttons 5 to 8 that represent long presses of buttons 1-4 You don't need to if you don't want to I created these icons - There not great and if somebody has another one I'll gladly swap out for VD for Scene That's it Hopefully this will be of use to a couple of forum users, _af Minimote Sonoc RC.lua Office_Sonos_RC.vfib
-
[VD] Sonos Players Status {v1.0} - 3 step setup.
AutoFrank posted a question in Scenes and Interface
Hi, If you are using the sonos-api then you may find this very easy to use VD helpful It will display the status and volume of each player as well as a house summary of how many are active The VD below is setup for two zones and is very easy to expand. Three Step setup 1) Import the VD, amend the IP address for your sonos-api device (port should be fine) and save 2) Add extra players to the table at line 10 (keep name the same as your sonos player/zone name) players = {"Kitchen", "LivingRoom"} 3) Add extra labels for each extra player/zone and save. (keep default label format which is Label3, Label4, etc) Enjoy !! -f FILES Sonos Players Status {v1.0} -----------------------------> Sonos_Players_Status.vfib -
Hi Re-coded my Sonos status VD into a more generic table based VD This VD monitorsd and displays status of Sonos devices (OFFLINE, STATE (PLAYING, STOPPED, ETC & VOLUME) Notification options for when a player goes offline and back online and is configurable (Smart Message Hub or HC2 email) One Alert will be received when player goes offline and another when it comes back online Online/Offline status is captured in global table (SonosTable) that can be used by other scenes and VD's ** YOU NEED TO BE USING THE SONOS-HTTP-API FOR THIS VD ** ** YOU NEED TO BE USING THE WWWAPI MONITOR FOR THIS VD ** ==INSTALLATION STEPS == - Import the Sonos Monitor 1.0 virtual device, add IP and Port of sonos API on VD General Tab - Status heading and one sonos player label (Label1) has been created as part of the VD - it will created a global variabnle called SonosTable - Add one label per extra sonos payers you have using the default label naming (Lable2, Lable3, Label4, etc) - Populate the sonos table with Player (what player is called in sonos) and Room (room name in HC2) - Run VD with updateData = "true" to populate the device table. Open debug window and you shold see - "Sonos Table successfully Updated" followed by which sonos players are online - Run VD with updateData = "false" to operate in normal mode - Enable Debug = true to see status in debug window VD attached below Suggested icon Sonos_Monitor_1.0.vfib
-
Hi Forum, The native skill for sonos is now available from Sonos There are also updates for the system and for all the controller platforms (android, desktop, iOS) To enable the skill you will need a Sonos account which you should have created with the last Sonos update. Log into your Alexa account and find the and enable the Sonos Skill This will redirect you to you Sonos account to get your permission to link to your sonos system You will then be redirected back to the alexa account to discover your sonos devices after discovery you will see the list of players List of voice commands (thanks @speedy) SiriusXM You can initiate playback from any service using the Sonos app, and basic playback commands, such as play/pause, volume and skip, will continue to work. Spotify users: The ability to ask Alexa to play Spotify music on your Sonos speakers is not yet available, but is coming soon. General playback commands Alexa, pause/stop/resume in the (room name) Alexa, pause/stop/resume the music in the (room name) Alexa, skip/next in the (room name) Alexa, play the next/previous song/track in the (room name) Alexa, pause Alexa, resume on (room name) Alexa, next song/track Alexa, previous song/track Alexa, stop Alexa, skip Alexa, skip song/track Alexa, what's playing in (room name)? Note: Skip and previous cannot be used with TuneIn radio, and previous will not work on Pandora and iHeartRadio. General volume commands Alexa, turn it up/down in the (room name) Alexa, louder/quieter in the (room name) Alexa, set the volume to 3 (30%) in the (room name) [0-10 volume levels] Alexa, softer in the (room name) Alexa, mute the (room name) Alexa, unmute the (room name) Note: Volume commands will only affect the player the command is directed to. If the player is grouped, the group volume will not be adjusted. To start Amazon Music playback Alexa, play music in the (room name) (Alexa will select music) Alexa, play (artist) in the (room name) Alexa, play (song name) by (artist) in the (room name) Alexa, play (artist) on Pandora in the (room name) Alexa, play the album (album name) by (artist) in the (room name) Alexa, play (activity) music in the (room name) To start TuneIn playback Alexa, play (TuneIn station/radio call sign) in the (room name) Alexa, put on (TuneIn station/radio call sign) in the (room name) Alexa, start playing (TuneIn station/radio call sign) in the (room name) To start Pandora playback Alexa, put on (station of your choice) on/from Pandora in the (room name) Alexa, play (station of your choice) on/from Pandora in the (room name) If Pandora is setup as your default service in the Alexa app: Alexa, play (station of your choice) in the (room name) To start iHeartRadio playback Alexa, play (station of your choice) on/from iHeartRadio in the (room name) Alexa, put on (station of your choice) on/from iHeartRadio in the (room name) If iHeartRadio is setup as your default service in the Alexa app: Alexa, play (station of your choice) in the (room name) To start SiriusXM playback Alexa, put on (station of your choice) on/from SiriusXM in the (room name) Alexa, play (station of your choice) on/from SiriusXM in the (room name) The new Sonos One has the Alexa skill built in. Details can be found here http://www.sonos.com/en-us/shop/one.html?utm_source=prospects&utm_medium=email&utm_content=hero-US&utm_campaign=sonosone
-
Hi guys, I have used the Sonos VD before with the SONOS play:1 speakers and the Fibaro HC2, however I am planning to buy a Sonos One (with built-in Alexa), has anyone tried using the VD with this? Thanks, Prankit
-
Witam. mam plugin Sonos wykrywa głosnik ale nie mogę uruchomić muzyki zarówno przez www jaki gsm... chodzi o uruchomienie odtwarzania radia z tunein...
-
- 1 comment
-
- sonos play:1
- sonos
-
(and 2 more)
Tagged with: