• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

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

Scheduled Pinned Locked Moved Entertainment
29 Posts 17 Posters 26.3k Views 16 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    Damian @Damian
    last edited by Apr 16, 2018, 11:43 AM

    @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 $ 
    
    D 1 Reply Last reply Apr 16, 2018, 12:09 PM Reply Quote 0
    • D Offline
      Damian @Damian
      last edited by Apr 16, 2018, 12:09 PM

      @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.

      1 Reply Last reply Reply Quote 0
      • F Offline
        flopp
        last edited by Sep 3, 2019, 6:18 PM

        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;
        
        
        F 1 Reply Last reply Sep 4, 2019, 10:46 AM Reply Quote 0
        • F Offline
          flopp @flopp
          last edited by flopp Sep 4, 2019, 10:47 AM Sep 4, 2019, 10:46 AM

          @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

          S 1 Reply Last reply Nov 12, 2019, 7:26 AM Reply Quote 0
          • B Offline
            BD0G
            last edited by Nov 12, 2019, 12:39 AM

            Looks like I am missing settings.json under /home/pi/node-sonos-http-api. I went to magicmirrors IP address:5005/zones and saw the output from my sonos one time , but then on reboot I can no longer get the output to show up by visiting the above specified URL . I think it may be a result of this missing settings.json file.

            1 Reply Last reply Reply Quote 0
            • S Offline
              Stoffbeuteluwe Project Sponsor @flopp
              last edited by Nov 12, 2019, 7:26 AM

              @flopp when I play Apple Music from my Sonos, is no artwork showing, anybody same problem

              1 Reply Last reply Reply Quote 0
              • B Offline
                BD0G @cohron
                last edited by BD0G Nov 14, 2019, 3:00 AM Nov 14, 2019, 2:58 AM

                @cohron OK , Im getting somewhere. When I visit http://192.168.1.5:5005/zones after installing sonos-http-api and then doing npm install --production and then npm start. I do see a webpage of output information from my sonos device.

                However, when I run my sonos.sh file after creating it like this

                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

                It does start sonos as noted here

                │ id │ name │ mode │ ↺ │ status │ cpu │ memory │
                ├────┼────────────────────┼──────────┼──────┼──────────┼──────────┼──────────┤
                │ 0 │ MagicMirror │ fork │ 2 │ stopped │ 0% │ 0b │
                │ 1 │ sonos │ fork │ 212 │ online │ 0% │ 2.4mb │

                Then if I visit the same address (http://192.168.1.5:5005/zones) to see if there is still output . There is not!

                I realize that the Magic Mirror is not started as I stopped it as I just wanted to see if there was still output on http://192.168.1.5:5005/zones

                Sonos is playing when I visit http://192.168.1.5:5005/zones so there should be data being output.

                1 Reply Last reply Reply Quote 0
                • B Offline
                  BD0G
                  last edited by BD0G Dec 16, 2019, 8:12 PM Dec 14, 2019, 8:07 PM

                  I finally solved this. Turned out I left out the tilde (~) in front of the /node-sonos-http-api within the sonos.sh file. So in essence the directory was never switched to execute the npm start command. So even though my PM2 status of running processes showed Sonos as a running process it was not providing the output data so that the module could display it

                  1 Reply Last reply Reply Quote 0
                  • B Offline
                    BD0G
                    last edited by Dec 16, 2019, 8:06 PM

                    Any way to remove the Source: specifier?

                    I tried
                    showSource:False,
                    within the config.js to no avail.

                    1 Reply Last reply Reply Quote 0
                    • B Offline
                      BD0G
                      last edited by BD0G Dec 16, 2019, 8:31 PM Dec 16, 2019, 8:07 PM

                      I added the code to my custom.css file that was entered within one of the first posts and expected it to provide a new layout and look , but nothing changed?

                      Its as if the entries in the custom.css are not being recognized.

                      Do I need to add .MMM-Sonos right above the entires?

                      Update: Tried that and still no effect.

                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 3 / 3
                      • First post
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy