MagicMirror² v2.12.0 is available! For more information about this release, check out this topic.

MMM-Sonos - To show what your SONOS is playing.


  • Module Developer

    Hi! Hm… Looks like the SiriusMX information is not coming out in JSON format correctly from the SonosAPI.
    I think you may have to contact Jimmi about this. Open an issue here: https://github.com/jishi/node-sonos-http-api/issues and describe your problem. As soon as the “output” is in correct JSON format, it should be working. Usually hes quick in fixing things. 🙂

    Good luck.



  • Hello,

    I got two sonos (for now) but on my mirror i only want to show one of this two. I don’t find how to do that, is ti possible ?


  • Moderator

    @Desaydrone
    I don’t have any Sonos devices. According to the read me, you can exclude zones, I guess that’s what you are after, right?

    Just follow the download link in first post and scroll down to the bottom for options



  • @yawns

    Thaanks i didn’t see this options !!
    THanks a lot



  • Thank you for your work @Snille! Got it working on my mirror yesterday. Works great!



  • @cohron

    @Snille

    Hello,

    Can you please explian how and where to create the sonos.sh file?
    And how to then add the rest into that file?

    I’m having trouble understanding what you mean by placing a script in ~ directory…
    And the next part cd~sonos.sh file contents:

    Thanks

    create another pm2 script named sonos.sh in ~ directory
    cd ~
    sonos.sh file contents:
    cd ~/node-sonos-http-api
    DISPLAY=:0 npm start
    
    pm2 start sonos.sh
    pm2 start mm
    pm2 save
    


  • @Damian said in MMM-Sonos - To show what your SONOS is playing.:

    create another pm2 script named sonos.sh in ~ directory
    cd ~
    sonos.sh file contents:
    cd ~/node-sonos-http-api
    DISPLAY=:0 npm start
    
    pm2 start sonos.sh
    pm2 start mm
    pm2 save
    

    Okay, so I opened up my directory… created a new file in /home/pi and named it sonos.sh… going by the jumbled up way things have been written in the example above, I have tried every combination to try and make sense of what it is saying to type into terminal

    cd ~ sonos.sh file contents
    sonos.sh

    I will no doubt be going around in circles here trying to decypher the instructions, so can I ask anyone to please decypher this for me and tell me what and where to enter these? do I manually input them into the sonos.sh file? do I get terminal to enter them?
    I a
    l already set up PM2 over a year ago to autostart MM, and sure it was never as hard as this?

    this is what I get when trying

    pi@raspi:~ $ cd ~sonos.sh
    bash: cd: ~sonos.sh: No such file or directory
    pi@raspi:~ $ sonos.sh
    bash: sonos.sh: command not found
    pi@raspi:~ $ sonos.sh file contents:
    bash: sonos.sh: command not found
    pi@raspi:~ $ cd ~/node-sonos-http-api
    pi@raspi:~/node-sonos-http-api $ DISPLAY=:0 npm start
    
    > sonos-http-api@1.6.0 start /home/pi/node-sonos-http-api
    > node server.js
    
    2018-04-16T11:21:47.702Z INFO Could not find file /home/pi/node-sonos-http-api/settings.json
    2018-04-16T11:21:48.670Z INFO Presets loaded: { example: 
       { players: 
          [ { roomName: 'Bathroom', volume: 10 },
            { roomName: 'Kitchen', volume: 10 },
            { roomName: 'Office', volume: 10 },
            { roomName: 'Bedroom', volume: 10 },
            { roomName: 'TV Room', volume: 15 } ],
         playMode: { shuffle: true, repeat: 'all', crossfade: false },
         pauseOthers: false } }
    2018-04-16T11:21:54.317Z ERROR Port 5005 seems to be in use already. Make sure the sonos-http-api isn't 
        already running, or that no other server uses that port. You can specify an alternative http port 
        with property "port" in settings.json
    
    npm ERR! Linux 4.9.35-v7+
    npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "start"
    npm ERR! node v6.14.1
    npm ERR! npm  v3.10.10
    npm ERR! code ELIFECYCLE
    npm ERR! sonos-http-api@1.6.0 start: `node server.js`
    npm ERR! Exit status 1
    npm ERR! 
    npm ERR! Failed at the sonos-http-api@1.6.0 start script 'node server.js'.
    npm ERR! Make sure you have the latest version of node.js and npm installed.
    npm ERR! If you do, this is most likely a problem with the sonos-http-api package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     node server.js
    npm ERR! You can get information on how to open an issue for this project with:
    npm ERR!     npm bugs sonos-http-api
    npm ERR! Or if that isn't available, you can get their info via:
    npm ERR!     npm owner ls sonos-http-api
    npm ERR! There is likely additional logging output above.
    
    npm ERR! Please include the following file with any support request:
    npm ERR!     /home/pi/node-sonos-http-api/npm-debug.log
    pi@papaspi:~/node-sonos-http-api $ pm2 start sonos.sh
    [PM2][ERROR] script not found : /home/pi/node-sonos-http-api/sonos.sh
    script not found : /home/pi/node-sonos-http-api/sonos.sh
    ┌──────┬──────┬────────┬───┬─────┬────────┐
    │ Name │ mode │ status │ ↺ │ cpu │ memory │
    ├──────┼──────┼────────┼───┼─────┼────────┤
    │ mm   │ fork │ online │ 0 │ 0%  │ 0 B    │
    └──────┴──────┴────────┴───┴─────┴────────┘
     Use `pm2 show ` to get more details about an app
    pi@raspi:~/node-sonos-http-api $ 
    


  • @Mods

    Appreciate I have posted this twice in 2 seperate posts - but this one is FAO the Developer in his original post of 1 year ago, and to the poster who replied with his fix.

    The other post goes to anyone here who can help me with making and executing a script, going by the example given for this module.



  • When I play TV sound on my Beam it will show up in Magic Mirror even if that it seems to be that is should hide

                    // if Sonos Playbar is in TV mode, no title is provided and therefore the room should not be displayed
                    var isEmpty = (artist && artist.trim().length) == 0
                            && (track && track.trim().length) == 0
                            && (cover && cover.trim().length) == 0;
    
    


  • @flopp said in MMM-Sonos - To show what your SONOS is playing.:

    When I play TV sound on my Beam it will show up in Magic Mirror even if that it seems to be that is should hide

                    // if Sonos Playbar is in TV mode, no title is provided and therefore the room should not be displayed
                    var isEmpty = (artist && artist.trim().length) == 0
                            && (track && track.trim().length) == 0
                            && (cover && cover.trim().length) == 0;
    
    

    I now have forked this and correct the problem and also done some small changes. Added radio station name when playing Radio. Showing artist and track when playing radio.
    https://github.com/flopp999/MMM-Sonos


Log in to reply