jishi / node-sonos-web-controller Goto Github PK
View Code? Open in Web Editor NEWA web based controller for Sonos utilizing web sockets for a native look and feel
License: MIT License
A web based controller for Sonos utilizing web sockets for a native look and feel
License: MIT License
Hi there just updated to your new code and the fav icon are not showing all looks like it is working on my pi but img source is undefined any thoughts thanks
Hy Jimmy,
two days ago, I discoverd your webcontroller for Sonos. Just what I was looking for!
I have build a Homeautomation System with IP Symcon. You might know it. I use several Built-In Touchscreen which are Windows based and use a Dashboard (Floorplan) from which I can control the house.
From the Dashbaord I can link in external Pages and since I have several Sonos devices in use, you solution was looking extremly tempting.
To bad, the internal Dashbard Browser is always IE (can't change). No I am getting some error's and some buttons which are not getting shown how they should. (sorry for my English). Also I drag and drop Problems in the Group View. In Chrome it works great.
Now I was just wondering if you plan to make you Tool IE compatible or leave it like it is. Depending on your answer, I will know if I have to wait (any help needed) or look foward for another solution.
Thank you!
Chris
Hi,
I'm trying to get the web controller to start automatically using your suggestion in issue #330
create the same approach but for the web controller...
/etc/local.d/http-api.start
/flash/apps/runner/start_http_api.sh
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The web controller files are located at
/flash/apps/node-sonos-web-controller
I created a web-controller.start file in /etc/local.d/ and persisted it with lbu_commit
#!/bin/sh
/flash/apps/runner/start_web_controller.sh &
I created a shell file called start_web_controller.sh in /flash/apps/runner/
#!/bin/sh
while (true); do
/usr/bin/node /flash/apps/node-sonos-web-controller/server.js > /flash/logs/web-cont.log
sleep 10
done
but when I restart the pi the web controller doesnt startautomatically
If i go to /flash/apps/node-sonos-web-controller and issue node server.js from putty the web controller starts
Did I miss a step ?
thanks
-f
It should be possible to run this app on a relative URL to easily put a reverse proxy in front of it. Would be awesome.
Hi Jishi, thanks so much for this great software! I've used pieces of it to integrate sonos into my home control interface and it works great. I'm no javascript expert but I did make a couple changes in case anyone is interested:
-implemented noUIslider.js for volume sliders so they work across touch and non-touch interfaces
-implemented hammer.js for drag and drop zone management so they work across touch and non-touch interfaces
-changed current-track-art src to (ip + albumArtUri) instead of absoluteAlbumArtUri so it works when accessed from outside LAN
My question is if it is possible to implement search/browse of Google Music into the interface. That's the last thing I need to abandon the native sonos apps entirely. There are 3rd party apps for Windows that implement search such as Zonos and Phonos, so it seems like it must be possible, but I'm an inexperienced developer so I don't know where to start.
Any chance of implementing this? I would be happy to help or contribute to development however I can. Thanks again, awesome project.
You can only switch from initial state, not back. The button will reflect the second state, but it will show the wrong state of the player.
Hi there,
great work so far. One thing I'd love to see is an updated UI as the current one looks insanely outdated. This would be a nice redesign concept: https://www.behance.net/gallery/40378301/Sonos-Controller-App-UI-Redesign-Concept
Keep up the good work!
I noticed an earlier commit that I think tried to solve this issue; but at least with Safari 8 and Chrome 40 the big play button does not change state to a 'pause' button. This also leads to an issue where songs cannot be paused once they're playing (since the button is stuck).
Hi,
First of all, nice job with this project. I only have one issue, I want to run this as a php file instead of html, how can I solve this?
I've included node-sonos-web-controller in a chef cookbook for sonos related goodies, to be found here https://github.com/odcinek/sonos-cookbook/. Installs all the dependencies, runs as a system service. Just a fyi ;)
Thank you for this. It is really needed to have en new browser based Sonos Controller. Great work.
Current version 0.61 supports browsing Sonos Favorites. Would you support browsing the local Sonos music library by artist, track and folder?
joe@debianjessie:~/Hentninger/jishi$ npm install
npm ERR! install Couldn't read dependencies
npm ERR! Error: ENOENT, open '/home/joe/Hentninger/jishi/package.json'
npm ERR! If you need help, you may report this log at:
npm ERR! http://github.com/isaacs/npm/issues
npm ERR! or email it to:
npm ERR! [email protected]
npm ERR! System Linux 3.10-2-amd64
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/joe/Hentninger/jishi
npm ERR! node -v v0.10.21
npm ERR! npm -v 1.3.10
npm ERR! path /home/joe/Hentninger/jishi/package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/joe/Hentninger/jishi/npm-debug.log
npm ERR! not ok code 0
synpatic was used to install node and npm.
Linux debianjessie 3.10-2-amd64 #1 SMP Debian 3.10.7-1 (2013-08-17) x86_64 GNU/Linux
Hello, great work by the way. Im trying to build a sonos dashboard to display on my HTPC while I play some music.
What kind of image do we have access to with the API? Looks like theres a bigger version in the desktop controller than the one in the currentTrack objet in your API.
Thank you!
Scroll bar not showing when screen is reduced like fav side when more rooms to display that can be seen thank you
It seems that a recent Sonos update made it so.
Hi,
When I use the Webcontroller latest version "version": "0.12.3" with firefox and if I try to adjust the volume it immediately goes to 100%. Then can not adjust the volume anymore.
All works fine with Chrome though.
It would be great if the volume slider would also work on touch devices, at the moment it can only be used with a mouse.
Sorry for opening this as an issue (feel free to close) but I couldn't find your contact info to reach out to you. I'd love to chip in and help with this project, do you have a list somewhere of what you want tackled/fixed?
I get the following error:
% sudo /usr/bin/node /srv/http/node-sonos-web-controller/server.js
module.js:472
throw err;
^
Error: Cannot find module 'node-static'
at Function.Module._resolveFilename (module.js:470:15)
at Function.Module._load (module.js:418:25)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/srv/http/node-sonos-web-controller/server.js:3:22)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
Hi,
Would there be any conflict if I wanted to install this on a raspberry pi that is already running your sonos-http-api
Thanks
-f
It's a small visual thing, but when the remaining time for a track is something like 1 hour and 7 minutes, 42 seconds the sonos controller app renders this as "-1:07:42" whereas the sonos-web-controller renders it as "-1:7:42" which looks a tad odd.
Just a big THANK YOU for making this!!!
Works great so far and I made it a Chrome Application Shortcut so it can be used from my Ubuntu launcher and desktop. I also set the app to run on boot!!
This is fantastic!
Increase the size of the text in the middle panel - it can be difficult to read on 10" tablet
The controller works really well so far. I would consider to move away from the Sonos Desktop UI, since it is limited feature wise. Maybe go for a different approach with a responsive bootstrap based solution and don't try to either reproduce the desktop or mobile Sonos UI, since they have shortcomings. I think you will be a lot faster to integrate media, rather than implement the long drill down navigations from the desktop UI or the many layered views from the mobile UI.
Add buttons for volume up and volume down as the slider can be difficult on some tablets
https://github.com/jishi/node-sonos-web-controller/blob/master/static/m/index.html#L63
The file does not exist in the m/js directory. Same for swipe.js-
Hi
I've tried installing this on a FreeBSD environment, no luck!
Anybody else experiencing the same? I'm sorry if this is not the right forum, but I don't know what to do anymore.
Rgds
ReefWarrior
Hi Jishi
I installed web controller. It's work fine
But http-api don't want to start
I'm attaching npm-debug.log
Hallo from Germany,
with the new SONOS-Version the old iPad1 and iPod touch will not work any more.
So i am look for a web-controller and find you. I use SONOS as "alarm clock" and my NAS
was not fast enough, and SONOS start the buzzer :-(
So I take a Raspi with and old 60GB SSD USB Drive and I have a 5Watt fast NAS for SONOS.
In the old NAS Sonos spin up all drives to get a new MP3 - not good.
The Question about a NAS for SONOS come on and on in the German SONOS forum.
On this SONOS-NAS I install your Web-Controller and it work very good :-)
I think it is a good way to put NAS and Web-Controller together.
Many people are looking for a cheap SONOS controller!
I will buy now a "cubietruck" to get a faster Raspi with IR-Port, good case an a SATA-Port.
So I hope to use a IP-Remote to control SONOS :-)
Can we work together ?
How can I use the "dashboard mode" ?
Add the ability to select the line in as a source for a player
Hello
Running your Project on a raspberry pi and prefer to use it as Screen for the sonos system. The dashboard webpage doesnot works. Is there a problem recognizing the playing Zone and covers ?
Regards
Reborn
Hi,
I try to install the songs-web-controller on a EDS14 with the node-package from Synology.
One thing I change per hand:
In "/etc/profile" I put "/volume1/@appstore/Node.js/usr/bin:$PATH:/bin:" in Path
PATH=/volume1/@appstore/Node.js/usr/bin:$PATH:/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
export PATH
Problem :
DS-EDS14> node server.js
module.js:340
throw err;
^
Error: Cannot find module 'node-static'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/volumeUSB1/usbshare1-1/@sharebin/web/sonos/server.js:2:14)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
DS-EDS14>
I need help :-(
Karl-Heinz Schneider
Germany
@reefwarrior, maybe this works
Is there perhaps a way to have the system run on apache with php? Reason being I would like to have the whole system run off 'FreeBSD'
updated to utilize the latest version of sonos-discovery
could you implement the posibillity to have checkboxes to group or ungroup?
Like it is in the songs app?
A zone named "Front & Back", for example, displays as "Front & Back" right now.
Easy to fix. Great package by the way.
As far i reviewed the current code base, it can't handle syncing state over multiple clients. Maybe consider a rewrite using something like meteor.
Thanks!
Hello Jimmy,
What's the purpose of the mobile branch?
Would you fancy me helping you with a mobile-friendly css file? One that makes the controller usable on a phone?
Cheers,
Tom
OS X 10.10 Safari Version 8.0 (10600.1.25)
I'm not able to reproduce the issue consistently but it's happened several times.
Also thanks for the amazing project ๐ I started making an equivalent thing but this is 9999999 times better than mine.
Greetings,
I am able to join two players into a group by dragging and dropping them in the left panel, but I cannot separate them by pulling them apart.
If a standalone player is selected and is regrouped with another group, the new group will not be selected.
There is nowhere on Github I can submit my SINCERE congratulations for this idea. I installed it on my Pi and it works like a charm. Granted, it is an alpha, but the idea is definitely there!
Continue the good work.
Kind regards
the /m and /dashboard no longer works because of #35
changed port but socket is still using 8080
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.