Dianemo S

From LinuxMCE
Revision as of 12:26, 12 August 2013 by Totallymaxed (Talk | contribs)

Jump to: navigation, search

Dianemo S is a software product that shares a common heritage with LinuxMCE, which enables you to have a Dianemo installation on almost any LinuxMCE compatible Core hardware that you already own. This is a full implementation of Dianemo but assumes that you are the 'Installer' and the software only product is supported by the CHT Tech Support team only via the LinuxMCE forum to keep its cost to a minimum. We cannot guarantee that all hardware will work with Dianemo S so there will be some restrictions as to which hardware you can install it on. One key restriction is that both for Hybrid NerveCentre's and Media Managers we will only be supporting nVidia and Intel GPU's. Each installation has a Dianemo installation ID and will be upgradable to future releases using a disc-less online update/upgrade procedure. Updates will be released as and when we develop them and will be available at the same time as they are made available to our hardware products and OS upgrades will follow shortly after Ubuntu OS releases and dates. If you require specialist support or have a specific or special need for direct support then we can provide that too - please get in contact with us via a personal message through the LinuxMCE forum.

Dianemo S is currently built for Ubuntu 11.10 and Ubuntu 12.04LTS (we have legacy support for Ubuntu 10.10 too but that version will not receive any further updates and is frozen) - ALL Dianemo S systems can be upgraded without a re-install (ie they will upgrade like any other Ubuntu installation) see the procedure below for upgrading from one Ubuntu release to another. Ubuntu 12.04LTS is now our standard install and you should only really choose Ubuntu 11.10 if you find that your chosen hardware is not supported by 12.04LTS

See the Dianemo Forum Thread for more information about pricing and the procedure for purchasing a support license.


Installing Dianemo S

Hardware Compatibility

Basically if the Ubuntu LiveCD is happy with your hardware then you should be all set in overall terms - do that test first. Alternatively if you already have some hardware that is performing well with LinuxMCE then that is very likely to be suitable for Dianemo too

More specifically we have tested and use the Asus PF7-M WS Server Class MicroATX motherboard and if this suits you requirements then it will work very nicely as an NC or 'Full Size' MM motherboard. Pretty much any of the current crop of Atom/iON motherboards or pre-built units should work well as MM's or as small NC's too. We particularly like the Asus AT510NT-I Atom/ION Mini-ITX motherboard as a good choice for MM's as its fanless and has a good low-profile heat-sink design.

Installing from scratch on Ubuntu 11.10 or 12.04LTS

Below are the simple steps needed to install Dianemo S from scratch on your existing LinuxMCE compatible hardware;

  • Install 32bit Desktop edition of Ubuntu 11.10 or Ubuntu 12.04LTS from a LiveCD (Download this image for; 12.04LTS-Desktop)
    • After installing Ubuntu 11.10/12.04 you will be prompted to upgrade to 12.04
      • Say NO if you intend to stick with Ubuntu 11.10
    • If you installed 12.04 then you should be all set for the Dianemo S installation below (Make sure you have Installer v1.18 or later).
  • At this point you should have the dianemo-licence and dianemo-installer debs somewhere on your systems drive (via e-mail from CHT).
  • Open the Systen Console from Unity using Ctrl + Alt + f6 and login using the Username/Password you created when installing Ubuntu. To switch back to Unity at any time press Ctrl + Alt + f7 - you can switch back and forth using these two keyboard shortcuts. Running the installer in the System Console without X is the best approach currently to avoid some issues during Diskless_Setup;
  • Install the dianemo-temporary-licence deb first
sudo dpkg -i <dianemo-license.deb>
  • Install the dianemo-installer deb second
sudo dpkg -i <dianemo-installer.deb>
  • Execute in a terminal:
  • NOTE: Some users have reported they get an error starting the AVwizard after installing 12.04 related to missing fonts. This seems to be caused by an update timing out. If you see this please run the following command from a terminal and then run the AVwizard again;
sudo pkexec /usr/lib/update-notifier/package-data-downloader

Lastly please run the Diskless Setup script on your NC;

Again please run this in the System Cosnole by using Ctrl + Alt + f6 before running the script below;

sudo /usr/pluto/bin/Diskless_Setup.sh

Please note that Diskless Setup will take a considerable amount of time... please be patient!!

Use Ctrl + Alt + f7 to go back to Unity.

Upgrading an Existing Installation

READ THIS - Before any upgrade process we would recommend that you backup your Dianemo S installation - see the section below called 'Backing up your Dianemo Database'.

Upgrading a Ubuntu 10.10 System to 11.10

Unfortunately you cannot upgrade directly from Ubuntu 10.10 to 11.10. You must first upgrade to Ubuntu 11.04 and then upgrade from 11.04 to Ubuntu 11.10. This is because of the way the Ubuntu upgrade process works. Just follow the steps below to start the upgrade procedure;

  • Firstly you need to remove your existing diskless directories - these will get automatically re-created from scratch later when you run the dianemo-installer under Ubuntu 11.10. So do the following at a console prompt;
sudo rm -rf /usr/pluto/diskless
  • Next from the console upgrade your 10.10 system to 11.04;
sudo do-release-upgrade
  • When the upgrade to Ubuntu 11.04 has finished you are ready immediately to start the upgrade to Ubuntu 11.10. DO NOT Reboot at this point. Simple do the following again at the the console prompt;
sudo do-release-upgrade
  • Once the upgrade to Ubuntu 11.10 has completed do the following from a System console prompt. Use Ctrl + Alt + f6 to get to a System Console screen (***do not Reboot before running the installer again***);

You will be prompted for your user password for sudo above, to become root ie the user/password you created in the Ubuntu installer. Go make yourself a cup of tea or coffee, bake a few biscuits, that kind of thing!... while the installer does its thing.

Use Ctrl + Alt + f7 to get back to Unity again.

Upgrading a Ubuntu 11.10 System to 12.04

  • Firstly make sure that you have Installer 1.16 or later - an earlier installer will not install on 12.04
  • Secondly you need to remove your existing diskless directories - these will get automatically re-created from scratch later when you run the dianemo-installer under Ubuntu 12.04. So do the following at a console prompt;
sudo rm -rf /usr/pluto/diskless
  • Next from the console upgrade your 11.10 system to 12.04;
sudo do-release-upgrade
  • When the upgrade to Ubuntu 12.04 has finished go to a System Console screen with Ctrl + Alt + f6 and you are ready immediately to do the following at a System Console prompt.;

You will be prompted for your user password for sudo above, to become root ie the user/password you created in the Ubuntu installer. Go make yourself a cup of tea or coffee, bake a few biscuits, that kind of thing!... while the installer does its thing.

The installer will download the debs (including updating itself if it needs to be updated) and install them for you without asking any questions.

  • NOTE: Some users have reported they get an error starting the AVwizard after installing 12.04 related to missing fonts. This seems to be caused by an update timing out. If you see this please run the following command from a terminal and then run the AVwizard again;
sudo pkexec /usr/lib/update-notifier/package-data-downloader

After the system is installed, it will run Diskless_CreateTBZ.sh as well.

Lastly please run the Diskless Setup script on your NC;

sudo /usr/pluto/bin/Diskless_Setup.sh

This will reinstate all of your MM's.

Please note that Diskless Setup will take a considerable amount of time... please be patient!!

Use Ctrl + Alt + f7 to get back to Unity.

Lastly reboot your system and Dianemo will start.

You Dianemo S installation will now be running on Ubuntu 12.04LTS

Using the AVwizard 2.0 to Configure Video/Audio for your TV

AVwizard 2.0 - The AVwizard automatically detects what connector (HDMI/DVD/VGA) your display/TV is connected to and will automatically configure the highest resolution suitable for the displays reported EDID capabilities & aspect ratio. The AVwizard now uses the native uBuntu X detection first and if it succeeds it will use that otherwise it will test the previously used custom mode lines. You can still override its choice of screen resolution setup if required and the rest of the process is as before. However this version should avoid situations where some users cannot get a display to start X and therefore do not get video at all.

The AVwizard will automatically be run when you start-up your NC for the first time or add a new MM and boot it for the first time. You can re-run the AVwizard at any time to change the configuration of your TV display & audio outputs for your NC or MM's. From the RedLine UI Home screen select;

Control -> System -> Enter your system PIN (defaults to '1234') and then select/press the Circular button. Now Select/Press the 'Video Res & Audio Button'

The NC or MM will now reboot and run the AVwizard automatically.

Updating Dianemo

On your NerveCentre run the Updater script below to update your system with the latest packages & fixes;

sudo /usr/pluto/install/dianemo-software-update.sh

Periodically we will announce that you need to run this script - but you are free to run it at anytime to make sure your NerveCentre is up to date. The updater script will only do an update if there is an update needed... it is safe to run it as often as you like.

To Update your Media Managers

Please run the Diskless Setup script on your NC;

sudo /usr/pluto/bin/Diskless_Setup.sh

This will update all of your MM's and also retain any existing software changes you have made to any of them.

Please note that Diskless Setup will take a considerable amount of time... please be patient!!

Dianemo Permanent License Key

Within 14 days of your Dianemo S installation contacting our servers you will receive another deb called 'Dianemo-license-nnnnnn' this should be copied to your NerveCentre and installed. This deb installs a securely signed file that completes your installation.


The following are some notes on configuring your system.

Turning On Remote Assistance

Please do the following;

From a web browser on the the NC or on a PC on the LAN side of your NC please enter the URL below;

On the Web page displayed after entering the URL above please got to the Remote Access menu in the blue menu bar and select the 'Tech Support' menu item. On the page that is displayed make sure that the 'Remote Assistance' indicator says 'Enabled'. If it does then please click on the 'Disable' button and then 'Enable' it again - ie toggle it off/on. The 'Remote Assistance' indicator should now say 'Enabled'.

Accessing Web Admin

To access Web Admin please use the following url from your Web browser on the NC itself or another PC on the LAN side of your NC;

Configuring Logitech Media Server

Logitech Media Server (LMS) is at the heart of Dianemo's digital audio system. It is important to configure your NC's LMS properly before attempting to use audio media with your system.

Configuring LMS without iTunes

If you are not an iTunes user then you should carry out the following configuration of LM.

Go to the Web Admin page for Logitech Media Server (LMS);

Advanced->Configuration->Slim Server

  • In the LMS page click on the 'Setting's button at the bottom right.
  • Now click on the 'Basic Settings' tab.
  • There are two fields that you need to complete;
    • Media Folders
      • You need to add the path in this field to where your Music library is located
      • It should have the Dianemo/LinuxMCE file path like this if it is stored on a local drive;
        • /home/public/data/audio/
    • Playlists Folder
      • You need to add the path in this field to where your LMS Playlists are located.
      • Again it should have the Dianemo/LinuxMCE file path like this if it is stored on a local drive;
        • /home/public/data/audio/
  • You can edit the 'Ignored Playlists' field to exclude any playlists that you don't want to appear in your Orbiters
  • Now click the 'Rescan' button to allow LMS to scan your audio library.

Once you have the above settings in place then any new music or playlists will be reflected in your Orbiters shortly afterwards. You will need to go out of the Audio media library screen or the Playlists screen to see any updated or changed iTunes content/playlists.

Configuring LMS with iTunes

For your iTunes Music Library & playlists to automatically appear in your Orbiters you need to have carried out the steps to move your iTunes Library to a storage device that is part of your Dianemo system. Secondly you should make sure that your Dianemo system is fully updated - see the section above on updating your system using the Updater script.

Next go to the Web Admin page for Logitech Media Server (LMS);

Advanced->Configuration->Slim Server

  • In the LMS page click on the 'Setting's button at the bottom right.
  • Now click on the 'iTunes' tab.
  • You should now see the something similar to the image below;
  • There are two fields that you need to complete;
    • iTunes Music Library.xml Location
      • You need to add the path in this field to where your iTunes library.xml file is located (ie wherever you copied it to above)
      • It should have the Dianemo/LinuxMCE file path like this if it is stored on a local drive;
        • /home/public/data/audio/iTunes/iTunes Library.xml
    • iTunes Media Folder Location
      • You need to add the path in this field to where your iTunes Media library is located (ie wherever you copied it to above)
      • Again it should have the Dianemo/LinuxMCE file path like this if it is stored on a local drive;
        • /home/public/data/audio/iTunes/iTunes Media/
  • You can edit the 'Ignored Playlists' field to exclude any playlists that you don't want to appear in your Orbiters
  • 'Unchecked Songs in iTunes'
    • Set this to however you would prefer it.
  • 'iTunes reload Interval'
    • Set this to an interval that is reasonable - something like 300 secs ie 5 mins
  • 'Use iTunes'
    • This must be ticked
  • 'iTunes Art Work'
    • This can be optionally set (it only affects real Squeezeboxes and the LMS management screen track listing.

Once you have the above settings in place then depending on what you set the 'iTunes reload Interval' too you will see any changes to iTunes reflected in your Orbiters shortly afterwards. You will need to go out of the Audio media library screen or the Playlists screen to see any updated or changed iTunes content/playlists.

Backing up your Dianemo Database

We recommend that you regularly take a backup of your Dianemo systems database so that you can always restore your systems configuration should you need too. Please note that these backups are only of your systems database - none of your media or other data is backed up. To make a backup do the following;

  • Open your NerveCentre's Web Admin page (see above)
  • From the green menubar select - Advanced -> Configuration -> Backups
  • On the Backups page enter some descriptive text or notes on the backup and then click the 'Backup' button. After 60 secs or so a backup file will be added to the page beneath the 'Backup' button.

Download Backups

Backups can be downloaded by clicking on the 'download' link next to each listed backup entry and stored safely on another system.

Restore Backups

Backups can be restored by using the 'Choose file' button in the 'Restore' section of the Backups page. This enables you to restore a backup that you had previously downloaded to your laptop or PC.

Backup files are actually stored in;


Xorg custom setup

Installing a different Nvidia driver

If you have an older nVidia card that isn't supported by the driver provided by nvidia-current, you normally shouldn't need to download anything from Nvidia. Ubuntu provides packages for older drivers too.

If you require the 173 series, as for the Quadro FX 2000, this is what you need to do to activate Ubuntu's 173 driver:

Inside a terminal, do this:

apt-get install nvidia-173
update-alternatives --config gl_conf
# select the 173 library at the prompt

This will install the 173 series nvidia driver and activate it. Nothing else needs to change.

Custom xorg.conf

If you need Dianemo to keep your xorg.conf exactly the way you left it, add this line anywhere in it:

# CustomUserConfig=1

That's: Single hash character as the first character on the line, followed by space, followed by the string "CustomUserConfig=1". Any variations on this (like putting two hash signs, or omitting the space) will not work.

When this is present, Xconfigure.sh will not touch xorg.conf at all. That also means AVWizard won't work properly either, and any mismatch between your xorg.conf and the database will have to be handled manually.

Detecting Shares when adding a NAS

The shares detection problem is due to the Configure_1837.sh script not getting called correctly by some other scripts. We're working on a fix for that. In the meantime if your server has been detected and added but the shares have failed to get detected automatically then run this script from the console and your shares will be detected. Firstly use Web Admin's device tree to find out the Device ID for the newly added NAS and note it down. Now from the console run the following scripts to detect the shares;

sudo /usr/pluto/bin/Configure_1837.sh -d <device_ID>

Next run the the script below to create the file structure;

sudo /usr/pluto/bin/StorageDevices_Setup.sh

Make sure you have an Orbiter displayed so that you can respond to the standard setup questions for your shares... ie 'use pluto file structure' etc etc. Once this script has run your good to go.

If you're Static Mounts do not Mount

If you're statically mounted Shares were not up and available when your NC was booted then your're shares may not have mounted. If you experience this issue please open a terminal and run the following script which will mount all of your statically mounted shares;

sudo /usr/pluto/bin/StorageDevices_MountStatic.sh

Configuring Media Config

In Dianemo we use the media_config.conf file to define how media should be routed/controlled. Essentially media_config.conf replaces the pipes editor. The file should be created in /etc/pluto as below if not already there;


This file is line based, and each line follows the following format:

Room=RoomID: AudioDev=AudioDeviceID; VideoDev=VideoDeviceID; KeepScreenOnForOSD=yes/no

Each parameter means the following:

  • RoomID - This is a number coming from the "Rooms" page in pluto-admin. You can easily get the RoomID number by reading the "Delete Room" link corresponding to each room. Don't click it though. Only read the number at the end of the text "Delete Room #RoomID";
  • AudioDeviceID - this is the number of the device that will receive the sound commands (Volume Up, Volume Down, Mute, On ,Off for audio streams) in the room specified by "Room=RoomID";
  • VideoDeviceID - this is the number of the device that will receive the video commands (On, Off for video streams) in the room specified by "Room=RoomID";
  • KeepScreenOnForOSD - this is the equivalent of LinuxMCE's Orbiter DeviceData "Keep Screen On For OSD", but it's a more generic option that allows you to have rooms without Media Manangers that still have amps and TVs controlled. Setting this option to "yes" will keep the TV and amplifier on after media stops. Setting this option to "no" will cause the TV and amplifier to be sent to sleep as soon as media playback ends.

Here's an example from our office demo system:

Room=3: AudioDev=59; VideoDev=60; KeepScreenOnForOSD=yes
Room=4: AudioDev=37; VideoDev=; KeepScreenOnForOSD=yes
Room=10: AudioDev=30; VideoDev=; KeepScreenOnForOSD=yes

Room #3 is the Lounge, Room #4 is the Kitchen and Room #10 is the Study. In each of these rooms, apart from the Study, we have a Media Manager. The Nerve Centre is not used for media playback, and it lives in a rack, thus it doesn't appear in this file.

In the Lounge we have a Denon Amplifier and a LG TV. The Denon has device number 59, the LG TV has device number 60, and we assign these numbers to AudioDev= and VideoDev= respectively. And we want the TV to stay on after media playback ends.

In the Kitchen we don't have any A/V equipment to control but the on-board sound card. The AppServer has a facility to respond to volume commands and it manipulates ALSA's mixers on receipt of these commands. The AppServer device in the Kitchen has device number 37, thus we assign it to AudioDev=37. There's no video device to control, thus VideoDev= is left empty. And we also want this screen to remain on after media playback finishes.

For the Study we just have a SqueezeBox, which is Device ID#30, and therefore we set the AudioDev=30 and the VideoDev= is left empty as there is no video device to control. If your system has SqueezeSlaves & SqueezeBox Players instead of real Squeezeboxes then you should set the Device ID of each room's SqueezeBox Player as the AudioDev in Media_Config.

After editing your media_config.conf file save the changes. There is no need to reload the router for your changes to take effect.

Adding SqueezeSlave Devices

Please note you should always virtualise your soundcards before using them with Squeezeslaves - see the section on virtualising your sounds cards for the details on doing this.

Follow the steps below steps to add Squeezeslave Audio streaming devices to your Dianemo system;

  • Click 'Show Devices Tree' in Web Admin
  • Select the Core & then use the 'Add Child Device' option at the top of the screen on the right.
  • In the 'Add Child Device' screen click 'Pick Device Template' button
  • Now enter Device ID 1964 and click 'OK'
    • 'Squeezebox Slave' & '1964' will be visible next to the 'Pick Device Template' button - click it to select this template
  • You will now see your new Squeezeslave device template screen;
    • Add a meaningful Device Description to uniquely identify which Squeezeslave this is (a reference to the Room Or zone is a good idea)
    • Set the Room & Entertainment Area
    • In the Device Info section set the (**ie the top most section of the template**);
      • Set the Mac Address. This should be in the form of; 00:00:00:00:00:01 and unique on the system
    • In the Device Data section set the;
      • Sound card this Squeezeslave will use

Next you need to create a Squeezebox Player to be associated with the SqueezeSlave you created above - there must be a unique Squeezebox Player for every Squeezeslave;

  • Click 'Show Devices Tree' in Web Admin
  • If there is no 'Slim Server Streamer' listed under the 'Core'
    • Add a child device under the 'Core'
    • In the 'Add Child Device' screen click 'Pick Device Template' button
    • Now enter Device ID 53 and click 'OK'
    • A new 'Slim Server Streamer' device will appear as a child of the 'Core'
  • If there is already a 'Slim Server Streamer' section under the 'Core' (or if you have just added one) then;
    • Add a child device under the 'Slim Server Streamer'
    • In the 'Add Child Device' screen click 'Pick Device Template' button
    • Now enter Device ID 58 and click 'OK'
    • A new Squeezebox Player will be added under the 'Slim Server Streamer'
    • Give it a matching name to the Squeezeslave you are associating it with and locate in in the same Room/EA & enter the same Mac Address too.
    • Save the changes
  • Now do a reload
  • Next you should start the Squeezeslaves manually (on boot they will be started automatically);
sudo /usr/pluto/bin/Start_SqueezeBox_Slaves.sh
  • Next make sure that your Squeezeslaves are set to a reasonable volume level in Logitech Media Server (LMS) from Web Admin.
  • Also open a terminal and check that all alsamixer levels are set to at least 85-90%. Use <F6> to select each of your Sound cards in turn. Type the following at the prompt;
alsamixer <return>
  • Now test your new devices to make sure they work correctly by playing some audio content using them from an Orbiter.

Creating DCEWhisperer Device Templates


Configuring HDMI Audio for nVidia Video Cards with on-board Sound cards

The AVWizard, when setting up sound, will first ask you to select the sound card you want to use. There may be one entry, or there may be more.

The list contains the output of the /usr/pluto/bin/ListSoundCards.sh script, and it looks like this:


In particular, Nvidia ION machines, and machines with Nvidia pre-GT video cards will only have one card that also does HDMI sound, while ION2 and machines with Nvidia GT cards will display two cards - one will be the onboard card, which doesn't do HDMI sone, and the other will be a second sound card embedded on the video card, which only does HDMI sound.

As a rule of thumb, the longer entry is the one you want if you want to configure sound over HDMI, and the shorter entry for Stereo or S/PDIF.


Shuttle XS35 and similar (mostly currently that means some iON2 machines...but if you don't hear anything when running the Wizard try this fix)

On the Shuttle XS35, when you run the AVWizard and select HDMI sound you won't hear anything. That's because it exposes several HDMI sound devices, and the AVWizard can't handle that situation yet, and it always uses the first one.

To make these machines output sound, create the /root/.asoundrc file with the following content:


This will override ALSA's iec958 default device setting, which is referred by the "hdmi" pcm, and get sound working. There's no need for modprobe options trickery. If you add this file after the system is up, all you have to do is reload the router - this will reload Xine Player, which is the device that is affected by the sound settings. No need to reboot.

Do a reload from the console with the following;

/usr/pluto/bin/MessageSend dcerouter 0 -1000 7 1
General speculation

I've seen a machine where the "device" option was 3. It was using an nVidia GT630 card.

With nVidia video cards, you get entries for ELD (EDID-Like Data) in /proc/asound/cardX/eld#Y.Z, where X, Y, Z are integers. On the machine mentioned above, the data was in /proc/asound/card1/eld#3.0, and the usual is /proc/asound/cardX/eld#1.0, but I seem to remember seeing a machine with ELD in #1.0, but with the sound on "device" 0. If this is true, then there isn't any correlation between the ELD device number and the sound device number, which is annoying. -Uplink 17:37, 12 November 2012 (CET)

With at least one Intel video card I got ELD in /proc/asound/card1/eld#3.X, where X is 0, 1, 2. The data was in #3.1 and the "device" value was 1. -Uplink 18:36, 12 November 2012 (CET)

Configuring a multi-channel sound card as multiple Virtual Stereo cards

Example sound-card hardware: ESI Gigaport HD or ASUS Xonar DS

Why?: Allows you to virtualise your physical sound card(s) so that you can use their outputs more flexibly. For example you might take a 7.1 Sound-card and use its 8 audio outputs to create 4x stereo virtual sound cards and associate each of those with a Squeezeslave/Squeezebox Player or you might create one Stereo card and use the remaining 6 outputs to drive a surround amplifier in 5.1 mode - in either case you can fully utilise your sound-cards outputs.


  • Add a device of template "Multichannel sound card" (Dianemo Device Template #1993) under the NC or MM to which the sound card is attached.
    • Select the physical card that will be partitioned into virtual cards from the drop down.
    • Set the number of channels the sound card supports.
  • Under this device, add as many "Stereo virtual sound card" (Dianemo Device Template #1994) as are needed - for a 8 channel card you should have 4 child devices of this type.
    • For each virtual card set the "Channel Left" and "Channel Right" device data to the physical channel on the card that will be used to output the left and right channel of the virtual card. Numbering start at 0 - for a 8 channel card, the channel number pairs would be 0,1; 2,3; 4,5; 6,7.
    • See the output mapping below for the ASUS Xonar DS/DX & DG Cards. It is recommended that you add a reference to the Sound card output mini-jack in the Preferences field of each virtual sound card you add to help identify them;
      • eg "Output 1 - Green (Living)" where 'Living' is the Room name this audio output is for.
  • Execute /usr/pluto/bin/SetupAudioVideo.sh - this will setup ALSA to show the virtual cards.
  • Execute /usr/pluto/bin/UpdateAvailableSoundCards.sh - this will add the virtual cards to the "Sound Card" device data drop-down. Virtual cards are named "Virtual_NN", where NN is the device number of the virtual card in the device tree.
  • You can now set up Squeezebox Slave devices using these virtual sound cards following the Squeezebox Slave instructions on this page.
  • Now you can use a virtual card as the main card of an MM (ie the virtual cards will be selectable) ie Sound card that supports 7.1 audio could be used to deliver 1 Virtual Stereo Sound card and a 5.1 surround Virtual Surround Card for a Hometheatre all from one physical card.

Doing a Sound Test

You can test your virtual sound cards from the terminal using the following Speaker Test script;

sudo speaker-test -c 2 -t wav -D Virtual_31

Replace the 'Virtual_31' above with the name of your actual virtualised sound card of course.

Using the 'Configuration' field in your SqueezeBox Players

The 'Configuration' field in the Device Data section of each Squeezebox Player (SBplayer) is used to describe to the system where the audio output of the SBplayer should be routed eg Surround Amplifier or Audio Matrix etc. If you position your mouse pointer over the text label 'Configuration' in Device Data you will see a 'tool-tip' that explains the structure of information that can be added to the field in the form of a text string. Below are some examples of the types of strings that can be stored in this field;


'SND_121'; Where 'SND_' is the sound source and '121' is the device ID of this SBplayer. '102'; The Device ID of the device receiving this audio output. 'In_3'; The input on the device receiving this audio output.

Sound Card Audio Output Mapping

(you should always get Output 1 mapped to the 'Green' audio output connector on any virtualised audio card)

Note: Please add a new section below with the output mapping of any cards your have experience of using.

ASUS Xonar DS, DX or DG Audio output mapping

Xonar cards have the following output mapping when virtualised;

  • Output 1.1 = Green
  • Output 1.2 = SPDIF/Analog (Metal)
  • Output 1.3 = Orange
  • Output 1.4 = Black

Therefore looking at the outputs of the card with the Pink (Unused) Output jack to the left you should see the following to the right- the Green output 1, followed by the Black Output 4, then the Orange Output 3 and finally the plane metal Output 2.


The Dianemo NC50 has the following audio outputs configured as standard;

  • Output 1.1 - Line Out
  • Output 1.2 - Surr
  • Output 1.3 - Cen/Lfe
  • Output 1.4 - Sidesurround

DPMS control of computer monitors

If you want to use DPMS to control the On/Off power state of a computer monitor rather than a serial control of a TV, you can add a device based on the "DPMS Monitor" template (Dianemo Device Template #1995) to the machine(s) in question, then see the "Configuring Media Config" on this page on how to tell the system to control it. You should assign the number of the DPMS Monitor device to VideoDev under the appropriate room.

Show/Hide The Mouse or Cross Hair Cursor

By default the Mouse Pointer & Cross Hairs Cursor are hidden. You can enable these cursors by renaming/deleting the following file on each Media Manager;


If the file is present then neither the mouse pointer or the cross hairs cursor will be displayed. If you are not using a Gyration Style remote or a mouse/trackball then you will probably want this file to exist on each Media Manager. Delete or rename the file on any Media Manager where you would prefer those cursors to be displayed.

UPnP Media Servers & Media Playback

Dianemo supports browsing of DLNA/UPnP Servers that are connected to your NerveCentre's LAN. Its most likely that you will have a DLNA/UPnP Compatible NAS (Network Attached Storage) on your LAN, but there are other types of devices that increasingly may contain a DLNA/UPnP server capability such as some uPnP Media Players, TV's or BluRay Players. Whatever your device it is important to make sure that you have turned on the DLNA/UPnP features to make sure that your NerveCentre can access your media files located on your device. The only setup required for DLNA/UPnP servers is to make sure that they have their UPnP server option turned 'on' - there is no configuration required at the Dianemo NC or in Web Admin.

Add a 'UPnP Plug-in' as a Child of the DCErouter

If your installation did not ship with a 'UPnP Plug-in' device installed please follow these simple steps to add one to your NC;

  • In Web Admin select the 'Devices Tree' from the bottom of the left hand menu
  • Click on the DCErouter Device in the Devices Tree and then click on the 'Create Child Device' option in the Device details on the right.
  • In the next screen click 'Pick Device Template' and then type '1984' into the Device ID field and click 'Go' and then click 'Pick Device Template'.
  • You Should now see a new 'UPnP Plug-in' device added as a child of the DCErouter.
  • Next do a Reload Router and you are all set

Using the UPnP Media Browser for Media Playback

Once your DLNA/UPnP server is powered up and attached to the LAN side of your NC then all you need to do is the following on any Orbiter:

  • Set your 'Room' to one which contains either a Media Manager or a compatible (and configured) UPnP Media Player such as an XBMC machine or another UPnP Media Renderer such as a WD Live Media Player.
  • From the Home Screen Select select either 'Audio' or 'Video'
  • In the next screen you will have two choices - select either 'Media Library' or UPnP
    • 'Media Library' will take you to the standard Dianemo Media Library stored on your NC's internal Media Drive or on a SAMBA share
    • 'UPnP' will take you to the UPnP Browser
  • If this is the first time you've browsed to your UPnP Media Servers (after a fresh system boot or reload) then the first screen will display a list of all of the UPnP servers your NC has detected on your LAN.
  • Selecting one of the UPnP servers listed will display the server's list of content. Each UPnP server will have a different hierarchical directory structure for the media files stored on it. Each directory will be enclosed in square brackets and look something like: '[DIRECTORY]'. Each time you select a directory you will be shown the next directory level down. When ever you see any items listed without square brackets they are playable files and selecting those will commence playback of that file on the UPnP media Player device or the Media Manager in the currently selected Room that your Orbiter is set too.
    • Once you are playing a Media File you will see the Media Player screen on your Orbiter with the standard Media playback, audio & lighting controls etc. Pressing the 'Stop' button will stop the currently playing files from playing. All of the other transport controls will have the expected functionality. However this will depend on the Media Playback device located in the room you have chosen to stream media too. Currently any Room that has an Media Manager as its media playback device will have some limitations when using FFwd or Rew. With other 3rd pary Media Players your Media Transport controls will depend on the features of that device. The 'File List' button will always take you back to the screen with 'Media Library' & 'UPnP' browsing choice options displayed. Choosing 'UPnP' will take you back to the last browsed to media directory where you can select a new Media file for playback.
  • You can use the '<-- Parent Directory' entry in any screen to go back up to the previous directory.
  • Use the 'Server List' button to the right to return directly to the UPnP Media Server list at any time to browse to another of your DLNA/UPnP servers.

Choosing which DVD Ripper to use

Dianemo now has the choice of two different DVD rippers that can be chosen from Web Admin;

  • Disc Copy - this is the original ripper that copies the DVD and retains its copy protection.
  • DVD Backup - this ripper removes copy protection and can sometimes handle difficult to rip DVD's more successfully than the Disc Copy ripper. The other advantage of this ripper is that the output .dvd (these are identical to .iso's by the way) files have no copy protection and can therefore be played on devices that can only play un-protected .iso files (eg UPnP Media Renderers).

You can choose which DVD ripper to use in Web Admin;

  • Open up Web Admin
  • Choose Wizard->Basic Info->Installation from the Green menu bar.
  • You should now see the Installation Settings screen
  • Look for the 'Ripping Type for DVD's' drop down
  • Choose the ripper you like your system to use from the drop down.
  • Click the 'Save' button to confirm your choice
  • Do a Reload Router and now your new ripper is active.

Adding iOS Orbiters to your System

Please download the latest Dianemo App from Apple's iOS App Store. The Dianemo App is a free download from the App store.

Follow the steps below to add an iOS device to your Dianemo S NC;

Configuration changes on your NC

The procedure to setup a new iOS Device on your NC is simple but the order of the steps is important.

  • First of all, add a new Generic Web Device as a Child Device of your Core:
    • Goto the Dianemo Admin website--> Pull down Advanced --> Configuration --> Devices --> This shows the devices tree on the left window --> click CORE. The CORE's detail page should appear.
    • Click 'Create Child Device'.
    • In the Description, enter the name of the specific web orbiter (choose a device descriptive name ie 'Paul's iPod4G')
    • In the Add child device window, click the button 'Pick device template'. A new pop-up window containing device templates will be opened.
    • Type the template id: 1748 and press go.
    • Click the button 'Pick Device Template'. The Add Child Device Window will close, and the Generic Web Device will be added to the Core, as the updated Device Tree will be displayed.
    • A new Generic Proxy Orbiter will also be created automatically. Watch the Orbiter generation process on the Orbiters page: Wizard-->Devices-->Orbiters.
  • Make a note of the device ID of the new Generic Web Orbiter as this will be needed when configuring the Dianemo Orbiter App on your device.
  • Wait till the Orbiter generation procedure finishes.
  • A message on an active Orbiter or on the Orbiter page will indicate when it has completed.
  • Set the appropriate screen resolution to suit the iOS device you are adding from the 'Size' drop down
    • iPad1, iPad2 or iPad mini = 1024x768
    • iPhone 3G, 3GS, iPod 1-3 Generation = 480x320
    • iPhone4 or iPod4G = 960x640
  • Set the 'Skin' drop down to the skin you want to use (we recommend the 'RedLine' skin or 'Basic')
  • Click on your new Generic Proxy Orbiter in the device tree, give it a unique, and meaningful name, and then scroll to the bottom of the page on the right and look for the field called 'Listen Port'. This field will be set to '3461' by default (if this Generic Proxy Orbiter is not your first then you should increment this value by one ie to '3462' - each Web Orbiter must have a unique 'Listen Port' number)
  • Now click the 'Save' button at the bottom of the screen to save the changes you have made.
  • Now do a 'Full Regen' from the 'Wizard - Orbiters' page (use the 'Full Regen' for the specific Web Orbiter you have created and not the overall 'Full Regen' button at the top of the page). When the Regen has completed do a "Quick reload router". This step is important Otherwise the Generic Proxy Orbiter won't work properly.

Setting up your iOS Device

  • Make sure your iOS device is connected to your LAN side WiFi AP
  • Download the Dianemo Orbiter App from the App store
  • Start the Dianemo App and use an Upward 'swipe' gesture to display the Tab Bar at the bottom of the display
  • Touch the Configuration Tab to display the Connections screen
    • Select '<New Connection>' to display the Connection Settings screen and fill in the fields as follows
      • Description>>> And text string that uniquely describes this Connection Setting
      • Installation number>>> The installation ID of your NC
      • Device number>>> The Device ID you noted down when setting up your Generic Web Device in Web Admin
      • User Name>>> Used for remote access via the Dianemo's Remote Access System **Contact CHT for availability**
      • Password>>> Used for remote access via the Dianemo's Remote Access System **Contact CHT for availability**
      • Nerve Centre IP>>> The NC's internal LAN side IP address - usually this will be
      • 'SAVE'>>> touch this when you want to save the settings you have entered.
    • Select your new Connection to display the options for using it;
      • Connect Locally>>> Use this when you are at home and using your NC's WiFi connection
      • Connection Remotely>>> Use this when you are not at home and want to access your Dianemo system (you need WiFi, mobile 2G/3G data connection foe this to work outside of the house)
      • Edit>>> Edit or update this configuration
      • Delete>>> Delete this configuration from your iOS device.
    • Touching the Settings button in the Connections screen displays the Global Settings screen;
      • Wifi Only>>> forces the device to only use Wifi if set to 'ON'
      • Load Indicator>>> Displays the load indicator if set to 'ON' when the screen is updating.
      • Polling Frequency>>> Determines how often the Dianemo Orbiter will check back with your NC to see if any display changes have occurred
      • Enhanced UI>>> If set to 'ON' then the Enhanced UI mode is used in certain screens in the Orbiter eg Media Browsing. This turns on the interactive layer that provides dynamic scrolling etc. If set to 'OFF' then the standard static UI screens are displayed.
      • Save Settings>>> Saves any changes you make while in the Global Settings screen.

Adding a UPnP Device To Your System

Below are the instructions for adding a new UPnP device using Web Admin. These steps would apply to any UPnP Media Renderer devices such as SmartTV's, Sonos Zone Players or similar devices.;

Follow the simple steps below to add & configure your UPnP Media Player & a UPnP Device Template;

  1. Connect your UPnP device to the LAN and power it up.
  2. Using a Web browser open Web Admin and create a Child device of the 'Core' and select device template #1980 and add it as follows;
    1. Scroll to the bottom of Web Admins menu (on the left hand side of the window)
    2. Click on the last item in the menu - 'Show Devices Tree' (this lists all of the devices in your Dianemo system in the side menu)
    3. Now find the very first entry in the Devices Tree, under My Devices', named 'Core' and click it.
    4. In the right-hand section of the Window locate the 'Create Child Device' link and click it.
    5. Now in the 'Add Child Device' window click the 'Pick Device Template' button.
    6. A new Window called 'Pick Device Template' will be displayed. Enter #1980 in the fieled next to the 'Go' button and click 'Go'.
  3. A new UPnP MediaRenderer device will appear in the Devices Tree
    1. Update the @description field with a descriptive name (Give it a meaningful name - to remind you what the device is)
    2. ^^Tip^^ Use the last part of the Friendly Name from the UPnP Devices list for your devices name (see below)
  4. Now using your Web Browser go to Advanced->Configuration->UPnP Devices page in Web Admin. The UPnP Devices page lists all of the UPnP devices detected on your LAN. Using the information listed on the UPnP Devices page find your new UPnP device. The Friendlyname column should enable you to identify your device. Some devices may expose several UPnP device types - if your's does then look for a 'Media Renderer' device. Now look in the far right-hand column of the page and find the 'UUID' of your UPnP device in the 'UDN' column. Now select & copy the whole UUID entry for your new UPnP device listed under the UDN column - it will look something like this uuid:00000000-0000-1010-8000-3D091114F221.
  5. Next click on your new UPnP device in the devices tree in Web Admin and scroll to the bottom of its page and paste the UUID into the 'uuid' field.
  6. Next make sure the 'Manually Configure EA' drop down is set to 'Manually configure'
  7. Choose a free room & entertainment area and select these for your new device.
  8. Now save the changes using the 'Save' button.
  9. Add a Media-Config line to the Media-Config file to make sure your control commands are sent to the correct device.
  10. And finally in your Web Browser go to Wizards->Restart and Click the 'Quick Reload Router' button (**Dont forget this step**).

Note; After creating the UPnP device you may find that the device does not function. This is often due to the device having an entry in 'Pluto_spawned_local_devices.txt' locks file. All you need to do is find the Device ID of the UPnP device you just added in this locks file, remove its entry and save the file. Now back in Web admim do a Reload and your device should now startup correctly and function;


Adding remote Controls

Setup Wii-Remote

I added this HowTo to this Wikipage to have a complete Dianemo S Guide.

Login (Logging_In) as root to the media manager which has a bluetooth stick with ssh.

sudo su -

Install the cwiid driver as follows

  • For Dianemo S10.10:
apt-get install libcwiid1 wminput

Make sure the uinput kernel module is loaded at boot-time:

echo "uinput" >> /etc/modules

Load it manually in the mean time:

modprobe uinput

create the daemon

cat >/usr/sbin/wminputd <<"EOF"
#read the config file
. /etc/wminputd.conf
export DISPLAY=:0

while true
       #check if the Orbiter/OrbiterGL is already running!
       if [ "$(pidof OrbiterGL)$(pidof Orbiter)" ]

               #check if the wiimote is already connected
               if [ -z "$(hcitool con|grep $WIIMOTE_BDADDR)" ]
                       PID=$(pidof wminput)
                       if [ "$PID" ]
                               kill -9 $PID
                       #check if WiiMote is in range (prevents spawning devices every 10 secs)
                       if [ "$(hcitool scan|grep $WIIMOTE_BDADDR)" ]
                               #mouse acceleration, adjust to your liking
                               #see also: "man xset" and/or "xset -h"
#                               xset m 1/2 3
                               wminput -c ir_ptr $WIIMOTE_BDADDR &


      sleep 5



Make it executable

chmod 755 /usr/sbin/wminputd

vi /etc/wminputd.conf

#this is the config file for the wminputd
#enter the wiimote mac address, you can find it with
#hcitool scan  and then press the red button
#besides the battery's off the wiimote
#Then place the show'n mac address as follows

you can find your address with hcitool scan

  • Edit the file /etc/cwiid/wminput/buttons
vi /etc/cwiid/wminput/buttons

And make it suitable to your needs below is mine


Wiimote.A       = KEY_ENTER
Wiimote.B       = KEY_ESC
Wiimote.Up      = KEY_UP
Wiimote.Down    = KEY_DOWN
Wiimote.Left    = KEY_LEFT
Wiimote.Right   = KEY_RIGHT
Wiimote.Minus   = KEY_F7
Wiimote.Plus    = KEY_F8
Wiimote.Home    = KEY_F3
Wiimote.1       = KEY_F1
Wiimote.2       = KEY_F6

  • create the init file
vi /etc/init.d/wminputd
# Start/stop the wminputd daemon.
# Provides:          wminputd
# Required-Start:    $syslog $time
# Required-Stop:     $syslog $time
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: mousemodule
# Description:       wminputd

test -f /usr/sbin/wminputd || exit 0
. /lib/lsb/init-functions

case "$1" in
start)  log_daemon_msg "Starting wii-remote mousemodule" "wminputd"
       start-stop-daemon -b --start --quiet --pidfile /var/run/wminputd.pid --name wminputd --startas /usr/sbin/wminputd -- $LSBNAMES
       log_end_msg $?
stop)   log_daemon_msg "Stopping wii-mote mousemodule" "wminputd"
       start-stop-daemon --stop --quiet --pidfile /var/run/wminputd.pid --name wminputd
       log_end_msg $?
restart) log_daemon_msg "Restarting wii-mote mousemdule" "wminputd"
       start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/wminputd.pid --name wminputd
       start-stop-daemon -b --start --quiet --pidfile /var/run/wminputd.pid --name wminputd --startas /usr/sbin/wminputd -- $LSBNAMES
       log_end_msg $?
*)      log_action_msg "Usage: /etc/init.d/wminputd {start|stop|restart}"
       exit 2
exit 0

Make it executable

chmod 755 /etc/init.d/wminputd

run the script and push the red button beside the battery and your wiimote is ready to go

enable the script so that it will start at boot time

update-rc.d wminputd defaults

now start the script and see if it works

/etc/init.d/wminputd start

To establish the Bluetooth connection press the Buttons 1&2 on your Wii-Remote. The LED's on your Wii-Remote will flash. When the LED's stop flashing your remote is connected.

Adding a Gyration Media Remote

Plug the Gyration Dongle into your MM and then in the Media Manager page in Web Admin select "dev/input HID MCE kbd/remote" as the 'Infrared Receiver' from the drop down. Save the change by scrolling to the bottom of the page an clicking the 'Update' button.

Adding a Fiire Remote

In Web Admin display the device tree in the left hand pane. Now locate the Orbiter of the Media Manager you want to add the Fiire Remote too and click on its entry in the Tree. Now click on 'Create Child Device' in the right hand main window (top left of that pane) and then click 'Pick Device Template' in the 'Add Child Device' window. In the 'Pick Device Template' window enter '1848' (which is the device template No. for the Fiire remotes Template) and press 'Go'. Now plug in your Fiire Remote Dongle. Now do a reload router and your new Fiire Device is ready to go.


Attach your USB-UIRT to your NC or MM. In Web Admin display the device tree in the left hand pane. Now locate the Core/NC or MM in the device tree and create a child device #1783. If adding your USB-UIRT to your NC then create it as a child device of the 'Core/Hybrid'. Now click on the USB-UIRT device in the tree and in the right-hand pane scroll down and make sure that you select the usb-serial port that your USB-UIRT is connected to - then click 'Save'. Now do a reload router and your USB-UIRT should be all set and usable.
If your USB-UIRT is connected to your MM your devices tree should look like this; USB-UIRT in Device Tree.png

If your USB-UIRT is connected to your NC your devices tree should look like this; USB-UIRT attached to an NC.png

Adding a MCE USB2 & Remote

In Web Admin go to Wizard->Devices->Media Directors and then scroll down to the Media Director you would like to add an MCE USB2 & Remote to. Locate the 'Infrared receivers' drop-down and select 'mce_usb2' from the list. Now locate the green 'Add Remote' button to the left and click on it. In the Window that is displayed find the 'Device Template' drop-down and select the type of remote you want to add - ie 'Windows XP MCE Remote' and click the green button called 'Pick Device Template'. Now scroll to the bottom of the page and click the green 'Update' button. Lastly do a reload router.
You should see something like below now; Media Director-Remotes&video.png

Using theMovieDB service

The Enhanced Movie Metadata Web Tool accesses theMovieDB database and can be accessed from the following internal Web Admin url;

ZWave Devices

Adding A Mk Astral Smart Interface

MK Astral Lighting (MK's ZWave based product line) can be interfaced to Dianemo using the MK Astral Smart Interface. The Smart Interface provides two-way IP based control of MK Astral lighting (or any ZWave compatible devices from other manufacturers) from Dianemo. The installation procedure is very simple and straightforward and can be carried out with a pre-existing Astral installation or with a new one being installed at the same time as your Dianemo system.

Follow the steps below to prepare your Astral & Dianemo systems to work together;

  1. Setup the Mk Smart Interface by following the standard MK installation procedure.
  2. Using the free MK Astral iOS App match your room names in the Smart Interface to room names you create, or have created, Dianemo.
  3. Any lighting scenes created using the MK App will automatically be available from any Dianemo Orbiter's Lighting icon on the Home screen. You can add more, or modify existing lighting scenes at any time using the MK Astral App.
  4. Create a Smart Interface device in Dianemo - Add a Smart Interface device #2032 as a child of your Core.
    1. fill in its IP & Mac Address fields
    2. Use the nmap command from a terminal to find the IP/Mac address of your Smart Interface
      1. sudo nmap -sP<return>
    3. Looking at the output from the nmap command find the Mac Address labeled '(Digiboard)' - this is the Mac address of your Smart Interface. The ip address immediately above is your Smart Interfaces ip address.
    4. Add the ip & Mac Address to your Smart Interface in Web Admin and save the changes.
  5. Do a Reload in Dianemo and set it up as with any other lighting interface.

Adding A ZWave USB Interface

Firstly open a terminal session at your NC (either locally or from another PC on your LAN) and tail the following log file;

tail -f /var/log/pluto/NN_ZWave.log

The 'NN' above should be replaced by whatever Device ID your ZWave USB interface has been allocated after you do the 'Add Child Device' step below (the device ID is noted at the very top of the page). Tail will monitor the file you point it at and print to the screen any changes as they happen. After you do the 'reload' below you should see a load of messages scroll through in the terminal. See below for an example of the type of messages you should see.

36	09/20/12 9:00:37.027		We have been idle for 30 seconds, polling device states <0x40c00b40>
40	09/20/12 9:00:37.127		Sending job 0x40d33a48 (cb 122) - 0x1 0x9 0x0 0x13 0xff 0x2 0x20 0x2 0x5 0x7a 0x45 (###### ##zE) <0x40c00b40>
41	09/20/12 9:00:37.131		0x1 0x4 0x1 0x13 0x1 0xe8 (######) <0x40c00b40>
35	09/20/12 9:00:37.132		ZW_SEND delivered to Z-Wave stack <0x40c00b40>
41	09/20/12 9:00:37.152		0x1 0x5 0x0 0x13 0x7a 0x0 0x93 (####z##) <0x40c00b40>
35	09/20/12 9:00:37.153		ZW_SEND Response with callback 122 received <0x40c00b40>
35	09/20/12 9:00:37.153		ZW_SEND was successful, removing job <0x40c00b40>
40	09/20/12 9:00:37.254		Sending job 0x40d33c68 (cb 123) - 0x1 0xc 0x0 0x13 0xff 0x5 0x60 0x6 0x2 0x20 0x2 0x5 0x7b 0x22 (######`## ##{") <0x40c00b40>
41	09/20/12 9:00:37.257		0x1 0x4 0x1 0x13 0x1 0xe8 (######) <0x40c00b40>
35	09/20/12 9:00:37.258		ZW_SEND delivered to Z-Wave stack <0x40c00b40>
41	09/20/12 9:00:37.281		0x1 0x5 0x0 0x13 0x7b 0x0 0x92 (####{##) <0x40c00b40>
35	09/20/12 9:00:37.281		ZW_SEND Response with callback 123 received <0x40c00b40>
35	09/20/12 9:00:37.281		ZW_SEND was successful, removing job <0x40c00b40>
40	09/20/12 9:00:37.382		Sending job 0x40d33e88 (cb 124) - 0x1 0x9 0x0 0x13 0xff 0x2 0x31 0x4 0x5 0x7c 0x54 (######1##|T) <0x40c00b40>
41	09/20/12 9:00:37.386		0x1 0x4 0x1 0x13 0x1 0xe8 (######) <0x40c00b40>
35	09/20/12 9:00:37.386		ZW_SEND delivered to Z-Wave stack <0x40c00b40>
41	09/20/12 9:00:37.407		0x1 0x5 0x0 0x13 0x7c 0x0 0x95 (####|##) <0x40c00b40>
35	09/20/12 9:00:37.407		ZW_SEND Response with callback 124 received <0x40c00b40>
35	09/20/12 9:00:37.407		ZW_SEND was successful, removing job <0x40c00b40>

If you see any 'Device died' messages then you should edit the following file and remove the entry that matches the Device ID of your ZWave device and save the file;


After saving the file above you should do another reload and go back to your tail session of your NN_ZWave.log file. This time you should not see any 'Device died' messages.

Steps for adding a ZWave USB interface to your system;

  • Attach your ZWave USB Interface to your NC
  • Open Web Admin
  • Change to the Devices Tree view (see bottom of left hand menu pane)
  • Add a Device Template 1754 as a child device of the Core
    • Use 'Add Child Device'
    • From the console do /usr/pluto/bin/UpdateAvailableSerialPorts.sh to update your serial ports
    • Set the COM Port in the 'Device Data' section to use the USB/serial port of your interface (it will look something like; pci0000:00/0000:00:1d.0+1 in the drop-down).
    • Click 'Save' to save your changes.
  • Do a Reload Router
  • You should now see a 'ZWave' item as a child device of the Core in the Devices Tree
    • Expand the 'ZWave' device (click the small '+' to its left)
    • You should see two Child devices;
      • Zwave Embedded Climate Interface
      • ZWave Embedded Security Interface
  • Your ZWave interface is now configured and working.

Adding ZWave Devices to your System

See this wiki page for details of the step by step process of adding ZWave devices using the ZWave SUS/SIS mode;

Installing and using Dianemo's Camera Features

Dianemo uses the Open Source project Motion to provide a more intelligent solution that rivals expensive Security DVR products. In addition to Motion Dianemo also adds the Kmotion package for easier retrieval of archived images. This is how to install, configure and use Motion and Kmotion with Dianemo:-

  • From Web-Admin Wizards->Interfaces, add an instance of the motion wrapper (template #64)
  • Add the Cameras to the Dianemo network, ensuring that they are configured for dhcp and have similar resolutions (ie (640 * 480). Note the mac addresses and the resolutions and then use syslog from a console session (tail -f /var/log/syslog) to see the ip address allocated to the camera by the core. Please try to clearly identify each camera within the camera setup - use a clear naming convention.
  • Still within Pluto-Admin goto Wizard, devices, surveillance cameras, and then use 'Add Device' to add a 'Generic Motion IP Camera' (template #1916).
  • Next add the path to the images, the userid and password, click update. Now click on the 'Advanced' button - to add and save the IP address and MAC address fields.

Some common paths are here:-




  • note - Default username and password are admin 1234


  • note - Change resolution accordingly


GXV 3611_HD
  • primary
  • secondary
  • Either from an orbiter or from Pluto-Admin (Wizard, Restart) do a 'Quick reload router'
    • If prompted from an Orbiter respond 'yes, regenerate all orbiters in my home'
    • When the regen is finished you should see the New Buttons for your camera from the Security menu.

Configuring Kmotion

Kmotion2 takes over the configuration tasks from motion.conf and, at the point of writing this, Dianemo does not fully auto-configure Kmotion2. We therefore need to configure Kmotion2 as well. This will change over time. To do this go to and using the config button add the paths including the full IP address ( ie, resolution, and username and password. Press the 'Apply' button to save the changes and restart kmotion. Please note that Kmotion2 also lets you create masks within the config screen and does not let you use any mask entries that may have been stated in motion.conf or in the threadx.conf files. Creating masks is so much easier under Kmotion2.

If after any camera maintenance or camera downtime you need to restart Kmotion without affecting the rest of the system use the appropriate command as shown below:-

sudo -u motion kmotion restart

Using HDMI-CEC to Control Media Devices

The HDMI-CEC interface we support currently is the Pulse-8 [1]

We currently only support HDMI-CEC to TV's (this will change very soon to cover all standard CEC devices) ie Your Media Manager must be directly connected to your TV and use the TV for sound output too currently if you want to use HDMI-CEC to control it.

Adding an HDMI-CEC device to your system is simple;

  • Firstly add an HDMI-CEC device template as a child of your Media Manager
    • Display the Device Tree in Web Admin and locate the Media Manager you want to use HDMI-CEC
    • With your Media Managers top level entry hi-lighted in the Device Tree click 'Create Child Device' in the right-hand pane.
    • Now Click 'Pick Device Template'
    • In the 'Pick Device Template' window enter 2010 and click 'GO'
    • 'HDMI CEC' should now be displayed next to 'Device Template'. If it is then click 'Pick Device Template'
  • You should now see an HDMI CEC entry as a child device of your Media Manager in the Device Tree - not down its Device #.
  • Next go to Wizard->Basic Info->Rooms in Web Admin and note down the 'Room #' or Room ID for the Room that your Media Manager is located in.
  • Now edit your /etc/pluto/media_config.conf and modify or add a line for the Media Manager your adding HDMI-CEC control too using the Room ID.
  • Set the AudioDev & VideoDev fields for your Room ID to the Device # of 'HDMI CEC' Device you you noted down above and save the file. See the Media Config section above for details; Installing_Dianemo_S#Configuring_Media_Config
  • Lastly do a Reload router

Now if you set your Orbiter to the room that your Media Manager with HDMI-CEC control is in and do Standby On/Off, Mute On/Off/ or Volume Up/Down you should see your TV respond appropriately. If you get no response from your TV one thing to check is that you have used the short HDMI cable that came with your Pulse-8 from the TV's HDMI port to the 'TV' HDMI port on the Pulse-8 - don't use that short cable from the Media Manager's HDMI port to the 'PC' HDMI port on the Pulse-8 as this will stop the CEC commands from getting through to the TV.

Configuring the Photo Screen Saver (Intel & nVidia GPU's supported in all modes)

The Photo Screen Saver (pss) displays a sequence of photo images on an Media Manager's Orbiter display after a defined period of inactivity by the user. These images are either downloaded automatically from Flickr or alternatively can be your own photo images. The pss is automatically setup for the type of UI you choose for your Orbiter. If you choose a static UI1 style for your Orbiter then this will automatically set the pss to static non-animated images. But you can force it to use 'animated' mode even for UI1 style Orbiter - this will use a 'pan & zoom' style effect when displaying the sequence of photo images on the display. This is particularly effective when used in combination with the new Dianemo UI skin that has been designed to be used on both on-screen TV Orbiters and touch based Orbiter's.

Do the following steps to change the configuration of the pss on your Media Managers Orbiter;

  • Display the Device Tree in Web Admin and locate the Media Manager & Orbiter you want to configure the pss on
  • Expand the tree to display the 'OnScreen Orbiters' child devices
  • Click on the Photo Screen Saver for the Orbiter you are configuring
    • On the right of the screen you will see the details of the pss displayed
    • Scroll to the bottom of the screen and locate the field named 'Type' under 'Device Data'
    • If you hover your mouse pointer over the label 'Type' some tool-tips will be displayed to explain what values the field to the right will accept'
      • Animated - adding this to the field will force the animated pss to be displayed
      • Static - adding this to the field will force the static pss to be displayed
      • Default - adding this to the field will force the default pss to be displayed for the type of UI chosen.
    • Click 'Save' to store the change
  • Reload the router

note: This works for LinuxMCE as well

Using Intel GPU's on Ubuntu 11.10 or 12.04LTS

Currently if you install Dianemo S on an NC or MM that is based on an Intel GPU you may experience an issue where if you boot without a display attached and then attach a display subsequently you only see a text based screen with a mouse pointer. In this case the Intel driver has got confused by the lack of a display. If you find yourself in this situation the fix is simple;

  • Using a keyboard press the Control+Alt+F1 keys simultaneously to switch out of the current screen.
  • Now press the Alt+F7 keys simultaneously to make X draw properly again.
  • You should now see your Orbiter's screen on your display.

Setting up & Testing Serial Devices

How to make up a Serial Cable

To make up a serial cable the following pins should be used;

  1. Straight through Cable
    1. Pins 2, 3 & 5 should be connected
      1. Choose a colour for each numbered Pin (we've chosen Red, Green & Yellow...but you can choose another combo) and make sure that you connect the same colour to the same pin in the plug at either end of your cable;
      2. Pin 2 (Red) -> Pin 2 (Red)
      3. Pin 3 (Green) -> Pin 3 (Green)
      4. Pin 5 (Yellow)-> Pin 5 (Yellow)
  2. Reversed Cable
    1. Again Pins 2, 3 & 5 should be used
      1. In a reversed cable Pins 2, 3 are reversed
      2. Pin 2 (Red) -> Pin 3 (Green)
      3. Pin 3 (Green) -> Pin 2 (Green)
      4. Pin 5 (Yellow)-> Pin 5 (Yellow)

Test Serial Syntax

$ /usr/pluto/bin/TestSerialPort
TestSerialPort, v.
Usage: TestSerialPort [-p port] [-P N81|E81|O81] [-t transmit string]
[-s Search String] [-m message to log] [-i Timeout] [-b baud] [-h]
strings can include: \xx (xx is a hex char), \r and \n, and to delay x ms, \sxm
\~ means send a break
-M puts it in monitor mode where it just reports the state
  of hardware flow control until ctrl+c is pressed

Using information from a pnp script

PnP scripts are located here: /usr/pluto/pnp

The serial devices that have UPnP scripts also have invocations of TestSerialPort that can be used out of the scripts after their parameters have been changed appropriately.

For exemple, in 20_DenonReceiver.sh, for Denon amplifiers, the test command is:

/usr/pluto/bin/TestSerialPort -p $3 -P N81 -b 9600 -t "PW?\r" -i 1 -s "Z2MU"

According to the syntax above, -p is followed by the serial port path, which means you need to replace $3 with the serial port, like in the following example:

/usr/pluto/bin/TestSerialPort -p /dev/ttyS0 -P N81 -b 9600 -t "PW?\r" -i 1 -s "Z2MU"

Everything else remains the same. In this example, the string "PW?\r" (following -t) is sent to the device and the search string (-s) to be found in the reply is "Z2MU". The search string parameter and its argument can be left out and you'll see everything the device says back, if anything.

Configuring Internet Radio Services from Logitech MediaServer

Logitech MediaServer (LMS) provides access to thousands of Internet Radio services. Now you can make these easily available from any of your Orbiters. You need to configure the actual stations you want to be selectable in your Orbiters in Logitech MediaServer using it's favourites feature. Search for the Radio station you want to add a favourite for and then click the 'heart' shaped icon to the right of its name. You will see the 'heart' icon change to an 'heart' with a 'minus' sign - this indicates you added the favourite successfully. Click the 'heart' icon again to remove a favourite you have already added. Add as many favourites as you like (you can always add more favorites at any time as they will automatically get added to your Orbiters screens).

How to configure your system with Internet Radio Presets;

  • In Web Admin click on the Dianemo logo in the top left corner of the window.
  • Next click on 'Show devices tree' at the bottom of the tree on the left.
  • Now look for 'My Scenarios' in the left hand tree and click on it.
  • Scroll down until you see 'External Sources' in the tree on the left... click on it.
  • Your should now see 'Advanced|My Scenarios' at the top of the main part of the window and a green 'Add My Scenarios' button. Click that button to add your Internet Radio button.
  • In the window that is displayed fill in the 'Description' field - type a meaningful name for your Internet Radio scenario button and then click 'Save'
  • Your newly named Scenario should now be displayed above the 'Add my scenario' button.
  • Click on your new Scenario in the list to finish adding the configuration data to your new scenario.
  • Now tick any 'Entertainment Areas' where you would like the new button to be displayed (**make sure that you choose only those that have an Squeezebox or Squeezeslaves)
  • Click the pop-up in 'Scenario Commands' at the bottom of the screen and select the first item at the top of the list - '[Local Orbiter]'
  • A new pop-up will now be displayed to the right. Click on that pop-up and find 'Show File List' item in the list, select it and now click on the 'Add' button to the right.
  • In the field called '#29 PK_MediaType (int)' type the character '6' (without the parenthesis!) and click 'Save'
  • Lastly do a 'Quick Regen' of all your Orbiters and a reload and your new 'Internet radio' presets button should be available in any of the Entertainment Areas/Rooms that you chose in the process outlined above.

Now to access your Internet Radio Presets just set your Orbiter to one of the Entertainment Areas or Rooms that you configured above. Now touch the External Sources button on the main menu and you will see your new 'Internet Radio' button (or whatever you called it). Touch it and you will see a media playback screen with your Radio favorites listed down the left. Just touch one to hear it...select another to change Station. Use Vol Up/Down to control the volume. If you touch 'Home' you will see the currently selected Internet Radio favourite displayed in the status area on your Home screen...simply touch the status area to go straight back to the Radio favourites player.

If you want to create more favourites or delete one that you have already created just go back to Logitech Media server in Web Admin and edit your favourites - all your orbiters will automatically be updated with any changes you make next time you use them.

Configuring IP Controllable TV's & BluRay Players


The Sony BDP-S370 BluRay Player and the Sony KDL-32EX723 Internet connected TV have been used for testing but we expect that all other current Sony internet connected BluRay players & TV's should also work. A good test of whether your TV is controllable over IP is to use either the Android or iOS Apps to control it - if one or other of the Apps work then your TV should be controllable over IP.

  • Sony IP Controllable BluRay Player Template is #2020
  • Sony IP Controllable TV Template is #2021

Add a device template #2020 or #2021 as a child device of your Core. Fill in the IP & Mac address fields in the 'Device Info' section of the template and save the change. Next run the following command in the console;

sudo /usr/pluto/bin/DHCP_config.sh

and then do a reload router.

To register your Dianemo system with the TV or BluRay player as a remote control device, put the TV/BluRay in registration mode, then, in the devices tree in Web Admin, select the TV/BluRay player device you added, on its page click the green "Send Command" link at the top of the page, a new window will open. Next select the "Register" command from the drop down menu and then use the "Send Message" button to send the "Register" command. The BluRay player or TV should then confirm the registration...and your all set.


For Samsung SmartTV's you can add a device "Samsung Smart TV Input Switcher" (#2035) which you can use for switching inputs on the TV. That's all this device does. You configure it just like a Denon or other input switching device. The input names themselves are read from the device (if it's powered on, not sleeping) after it starts up (or you reload the router, if the TV was sleeping the first time it started). You can then read the "Port channel choices" DeviceData field in the device to see the names of the inputs the TV supports.

If you want the UPnP functionality as well, add a "WD Live" device as well.

You'll have to fill in the same IP address for both devices. We recommend you fill in the same MAC address for both as well, as it doesn't break anything (only the last one is saved to dhcpd.conf), but if you delete one of them at one point, the IP allocation will be kept by the other.

Configuring External Audio Zone Amplifiers & Audio Zone Matrix Amplifiers

Using a Dianemo DSC-8 to Control an 8 Zone SystemLine Audio System

The Dianemo DSC-8 is an IP addressable control interface compatible with the SystemLine Modular Audio range of products. Typically you would have a SystemLine AM-8 Audio Hub ( [2] )centrally located and up to 8x SLM3/ALM3 Active Speakers pairs with sub-zones (active speakers have integrated stereo power amplifiers built into them). Sub-zones deliver the same audio source as the main zone but have independent volume control & mute.

To locate your DSC-8 on the network you can use nmap from a terminal;

nmap -sS -T5 -p7238

This will return a list of devices. Look for the device, or devices if you have more than one DSC-8 installed, that has '7238/Open' listed and that will be a DSC-8. You can now get the IP and Mac Addresses of your DSC-8 and add those in Web Admin.

Below is a diagram of a typical system that uses an Dianemo DSC-8 controlled SystemLine Modular speaker system for audio. The diagram shows the centralised hardware and a single main zone & sub-zone (Note: the other 7 zones are not shown and only 1 of 6 audio sources are depicted).

Configuring the Armour Speaker Control Device Template

Firstly add a child device to the Core in Web Admin with device template #2024 - Armour Speaker Control. This will add a device called 'Armour Speaker Control' to your systems device tree (you can rename the device if you plan to have multiple DSC-8's installed for example).

Next add a child device using device template #2025 - Armour Sound Zone to your Armour Speaker Control device for each of the sound zones, and sub-zones (eg say an Ensuite bathroom or maybe a conservatory to a living room) you plan to configure (up to a maximum of 8x main zones with a single AM-8 and DSC-8 combo). Each Sub-zone will need its own Armour Sound Zone device too (see below for how to configure a manin zone or sub-zone).You can rename the 'Armour Sound Zone' devices to anything you prefer by the way.

Your Armour Speaker Control device (device template #2024) will need its IP address and Mac address added in the device templates 'Device Info' section. Remember to click the green 'Save' button.

Each of your Armour Sound Zone child devices (device template #2025's) will need the following device data configured manually;

  • Port No. - this is the number of the CAT5E control port that the SLM3/ALM3 Speaker in this zone is connected to on the DSC-8. The Port No. values input into this field should range from 2-9 for Controller firmware 1.0 or 1-8 for firmware 1.1 (Any DSC-8 shipped after 26/06/2013 will have the 1.1 or newer firmware).
  • Address - This field determines whether this Armour Sound Zone is a 'Main Zone' or a 'Sub-zone'. If the input value is '0' then this zone will be a main zone. If the value is 1 or greater then this entry will be treated as a Sub-zone. In most cases you will have a single sub-zone to a main zone and this field's value will be set to '1' (eg an Ensuite bathroom). Valid input values for this field are 0-2.
In Use

Simply choose a room where you have SystemLine Module Speakers from an Orbiter. If you play music/video from your media library then the ALM3/SLM3 will be taken out of stand-by mode automatically and you will hear audio from the speakers (you can use an LRN7 to set the default Vol level for the speaker). You can then use the Orbiters Vol +/- buttons to raise & lower the volume level of the audio and the 'Mute' button to temporarily mute the audio. To select another source simply go to the 'Home' screen in your Orbiter and then select 'Sources' and choose from whatever 'Sources' your system has (these will typically be Satellite STB's or possibly a BluRay player or in fact any type of external hardware device that you have added to your system that can be controlled by Dianemo and has audio outputs). In most cases each of the sources you have added to your 'Sources' screen will have a Remote Screen to control them and this is what you will now see on the screen of your Orbiter device. Whichever Source you choose if you select the Home button you will see what is currently playing in the 'media status' area just above the bottom row of icons on the Home screen. If you see nothing in the Media Status area then that means that nothing is currently being played in the current Room/zone.

Configuring Dianemo to control an RTI AD-4 Matrix Amplifier

The RTI AD-4 is a 4 input & 4 output audio matrix amplifier. It supports 4x stereo inputs and has 4x stereo outputs (The RTI AD-8 is essentially an 8x input & 8x output model with the same control protocol). In Dianemo we use it to provide the audio sources to 4x zones/rooms and these sources typically come from Squeezeslaves/SB Players via either 4 individual stereo soundcards or one 7.1 Soundcard that we have virtualised and created 4x stereo audio outputs from. See here for info on virtualising soundcards.

RTI AD-4 Info

Connecting the AD-4 to your Dianemo NC

Firstly connect an rs232 cable (straight through cable) between a spare port on your NC and the AD-4's rs232 port. Now add 4x stereo input source cables, one from each of your 4x soundcard outputs to the phono inputs for each zone at the rear of the AD-4. I'd suggest connecting them in a logical order - if your using an ASUS DS, DX or DG card the output connections are here.

Configuring the RTI AD-4 Device Template

In this example we will be using a 7.1 Soundcard that has been virtualised into 4x stereo virtual sound cards to provide the audio outputs for each zone/room. Then we will add 4x Squeezeslaves & their associated Squeezebox Players and lastly add and configure the AD-4 Device template.

  • Firstly lets virtualise our 7.1 Soundcard into 4x virtual stereo soundcards
  • Next we need to add 4x Squeezeslaves & their associated Squeezebox Players
    • Follow the steps on adding Squeezeslaves here.
    • Again name your Squeezeslaves & and associated Squeezebox Players so that it is clear which room/output they are connected with. This will make your life much easier and later if you need to change anything it will clearly label what each device does.
  • Now we need to add the AD-4 Device Template.
    • Display the Device Tree and then click on the Core (which will be the top level device in the tree).
    • Next create a child device using the 'Create Child Device' button.
      • Now click on the 'Pick Device Template' button.
      • In the new Window that has opened enter the Device Template ID# 2030 and click 'ok'.
    • If you scroll down the device tree you will see a new 'RTI AD-4' device has been added as a child of the Core.
    • Next we need to configure which serial port the 'RTI AD-4' device will use. So click on your new 'RTI AD-4' device in the devices tree.
    • Now scroll down on the right until you see the 'Com port on PC' field in the Device Data section (see the 2nd thumbnail above)
      • Click on the drop down and select the rs232 port you have connected the AD-4 to.
      • Click 'Save' to save the changes.
  • Next we need to add some 'RTI AD-4 Zones' as child devices of the 'RTI AD-4' device. Each 'RTI AD-4 Zone' device adds an audio zone to the AD-4 & we need to therefore add 4 of these.
    • Click on the 'RTI AD-4' device entry in the devices tree.
  1. Create a child device using the 'Create Child Device' button.
  2. Now click on the 'Pick Device Template' button.
  3. In the new Window that has opened enter the Device Template ID# 2031 and click 'ok'.
  4. If you scroll down the device tree you will see the 'RTI AD-4' device now has a new child device underneath it called 'RTI AD-4 Zone'.
  5. Click on your 'RTI AD-4 Zone' in the Devices tree and then scroll down until you see the 'Device Data' section on the right
  6. If this is the first 'RTI AD-4 Zone' you've added enter '1' in the 'Path' field to identify this device as Input 1. Each time you add another 'RTI AD-4 Zone' increment this value by 1 until you get to Input 4. See the 3rd Thumbnail above for an example.
  • Repeat steps 1-6 4x until you have 4x 'RTI AD-4 Zone' devices that represent the 4x zones in the AD-4. They should each be named appropriately so that they match the zone/room they serve.

You should now have 4x logically named 'RTI AD-4 Zone' devices under the main 'RTI AD-4' device. Again see the first thumbnail above to get an idea of the naming conventions we suggest for all of the devices we have just created (these are only suggestions and you can name your devices anyway you like) - it's worth pointing out that naming your devices is a really important step in making your system easy to configure and maintain.

Now we need to add some configuration data to the Squeezebox Players to make sure that they output audio to the correct room. Bare in mind that our installation will be different to yours, it will have different room names and the Device ID's for our example various devices will be different too. So, with that in mind, let me describe the system that I have here that these configuration notes are based on;

The example system has the following;

  • 4x Rooms
    • Dining
    • Kitchen
    • Bathroom
    • M Bed (eg Master Bed)
  • ASUS Xonar DS 7.1 Multichannel Sound Card virtualised into 4x stereo outputs
    • Output 1 - Green (Dining)
    • Output 2 - Opt/Analog (Kitchen)
    • Output 3 - Orange (Bathroom)
    • Output 4 - Black (M Bed)
  • 4x Squeezeslaves
    • Squeezeslave (Dining)
    • Squeezeslave (Kitchen)
    • Squeezeslave (Bathroom)
    • Squeezeslave (M Bed)
  • Slim Server Streamer with 4x Squeezebox Players
    • Squeezebox Player (Dining) Device #40
    • Squeezebox Player (Kitchen) Device #41
    • Squeezebox Player (Bathroom) Device #42
    • Squeezebox Player (M Bed) Device #43
  • RTI AD-4
    • Zone Output 1 (Dining) Device #45
    • Zone Output 2 (Kitchen) Device #46
    • Zone Output 3 (Bathroom) Device #47
    • Zone Output 4 (M Bed) Device #48

Each Squeezebox player in your installation that is connected to the RTI AD-4 needs to have some configuration data added to its 'Configuration' field in its Device Data section to tell it how to route its audio output. See the 4th Thumbnail above for an example. This data is a simple text string with the following format;

  • For 'Squeezebox Player (Dining)' which has a device ID# of 40 and needs to have its output routed to the RTI's 'Zone Output 1 (Dining)' which is device ID# 45 and its input name is called IN_1 the following data should be entered into the Configuration field;
    • SND_40=45,IN_1
  • For 'Squeezebox Player (Kitchen)' which has a device ID# of 41 and needs to have its output routed to the RTI's 'Zone Output 2 (Kitchen)' which is device ID# 46 and its input name is called IN_2 the following data should be entered into the Configuration field;
    • SND_41=46,IN_2
  • For 'Squeezebox Player (Bathroom)' which has a device ID# of 42 and needs to have its output routed to the RTI's 'Zone Output 3 (Bathroom)' which is device ID# 47 and its input name is called IN_3 the following data should be entered into the Configuration field;
    • SND_42=47,IN_3
  • For 'Squeezebox Player (M Bed)' which has a device ID# of 43 and needs to have its output routed to the RTI's 'Zone Output 4 (Dining)' which is device ID# 48 and its input name is called IN_4 the following data should be entered into the Configuration field;
    • SND_43=48,IN_4

Remember the Device ID# in the example above will be different to the ones you see when you add configuration data to your system - you must use the the Device ID#'s from your system.

At this point you should do a reload and regen of all of your Orbiters. Go to the Logitech Media Server page in Web Admin - Advanced->Configuration->Slim Server and select each of your Squeezeslaves in turn and set their default volume to Max (or close to at least). If you don't do this you may well find that all your outputs will only go to very low volume.

In Use

To play audio in a particular zone/room use your Orbiter to choose the room. Now use the Audio Media Browser to find a track, album or playlist that you like and play it. Alternatively if you have set up some Internet Radio Favourites in Logitec Media Server you could select any of those . If you have everything correctly configured you should be able to hear whatever you selected playing (make sure the AD-4 is powered up) and you should have control of the volume and mute on/off should work too. You can leave whatever you selected playing, hit the 'Home' button, change your Room to another one that is hooked up to the AD-4 and play another piece of music in that room too. The same goes for the remaining 2 rooms too. If you are using the 'Dianemo' (recommended) or 'RedLine' skins you have vol up/down & Mute on/off controls at the bottom right of the Home screen. Whatever room you currently have selected will respond to those controls in the home screen and you will also see the currently play album/track listed in the 'Media Status' area just above the bottom row of buttons.

Configuring a Denon AVR or Similar Controllable Amplifier

Each Video or Audio device that you might want to connect to your rs232/IP controllable amplifier, and have Dianemo control, will need a device and a configuration string in that devices configuration field. You will also need to configure media_config appropriately as well of course - see here for details

Example: Let's say that we have the following devices;

  • Media Manager with Dev ID=46
  • TV with a Dev ID=60
  • Amplifier with a Dev ID=59

In this example we are going to use HDMI out on the MM for video and Optical out for audio;

Therefore the following config string should be added to the MM devices Configuration data field;

VID_46=60,IN_HDMI2; SND_46=59,IN_DVD

This says; For Dev 46, Dev 60 will switch to input HDMI2 and Dev 59 will switch to input DVD

Example: Let's say we have the following devices

  • PVR with Dev ID=5
  • TV with Dev ID=6
  • Amplifier with Dev ID=7
VID_5=6,IN_DVD; VID_5=7,IN_1:OUT_2

This says; For Dev 5, Dev 6 will switch to input DVD and Dev 7 will switch to input 1 and use Output 2 (ie Zone 2)

You could also write the above example like this to;


Or you could write it like this to:


It is preferable that you use the VID and SND labels to denote "video" and "sound", and to keep the video and sound paths separate, for readability, even though you could write a path like this just fine now and it will work;


Using iTunes with your Dianemo System

If you are an iTunes user then integrating iTunes with Dianemo offers you a number of advanced and very powerful features;

  • All your iTunes library Audio content is available to stream - ripped audio or purchased from the iTunes store.
  • Storing your iTunes library in Dianemo means its available all of the time & not just when your Mac/PC/lapto is powered up.
  • As you purchase tracks/albums from the iTunes Store they will be automatically added to your Dianemo audio library.
  • All of your iTunes Playlists are available in your Dianemo system and are updated in realtime.
  • Playlists can be created or edited in your iOS devices or in you iTunes App on your PC/Mac/laptop and these changes will automatically be available in Dianemo too.

What are my iTunes Library files?

The iTunes library is a database iTunes uses to organize your music. Two iTunes library files are created and maintained by iTunes for different purposes. They're both in the iTunes folder.

Location of the iTunes library files:

Mac OS X:

/Users/username/Music/iTunes/iTunes Library.itl
/Users/username/Music/iTunes/iTunes Library.xml

Windows XP:

\Documents and Settings\username\My Documents\My Music\iTunes\iTunes Library.itl 
\Documents and Settings\username\My Documents\My Music\iTunes\iTunes Library.xml

Windows Vista:

\Users\username\Music\iTunes\iTunes Library.itl 
\Users\username\Music\iTunes\iTunes Library.xml

Windows 7:

\Users\username\My Music\iTunes\iTunes Library.itl
\Users\username\My Music\iTunes\iTunes Library.xml

These two different iTunes library files serve very different purposes. See below for more information.

About the iTunes Library.itl file This file is a database of the songs in your library and the playlists you've created. Some song-specific data is saved in this file. If you delete the file, iTunes creates a new, empty copy when you open the application, but any playlists, song ratings, comments, or other information you created is lost. The iTunes Library file is only used by iTunes, and is the only one backed up by Time Machine on OS X.

Note: The library file name for versions of iTunes for Mac prior to iTunes 10.4 was iTunes Library with no file extension.

Tip: New versions of iTunes sometimes include enhancements to the iTunes library. When you open the new version of iTunes, iTunes upgrades your existing library to the new format and places a copy of the old library in the Previous Libraries folder. If everything goes fine during your upgrade to the latest version of iTunes, you can delete the older iTunes Library files.

About the iTunes Library.xml file This file contains some (but not all) of the same information stored in the iTunes Library file. The purpose of the iTunes Library.xml file is to make your music and playlists available to other applications on your computer. In Mac OS X other iLife applications (like iPhoto, iDVD, and iMovie) use this file to make it easier for you to add music from your iTunes library to your projects.

Moving your iTunes Library to your Dianemo System

Firstly make sure that you have the following settings turned on in your iTunes App's settings tab;

  • Keep iTunes media folder organised - this should be ticked
  • Copy file to iTunes media folder when adding to library - this should be ticked

Doing the above is essential if you want to use iTunes with your system - DON'T SKIP THIS.

To make your iTunes library available to your Dianemo system you must move it into the 'audio' directory in the Dianemo file structure on one of your storage devices;


The directory containing your iTunes library can be called anything you prefer, but must be in the 'audio' directory - we have retained the folder name 'itunes' in the example above. Or alternatively you can create a directory on a NAS or other network accessible storage on your Dianemo LAN.

You may have a number of different storage devices configured on your system - such as a local hard drive (or drives) in your NC or possibly on a NAS attached to your NC's LAN. Each of these should have been set-up with the Dianemo/Pluto file structure (see above). You can move your iTunes library to any storage device configured as part of your Dianemo system.

There are a number of ways to move your iTunes library (which is probably currently located on your PC/Mac's internal hard drive) to your Dianemo system - but the steps below have been found to be the best ones to use in practice;

  • Firstly on your PC or Mac Mount the network share that you want to use for your iTunes library (that might be your NC's internal hard drive or some storage on a NAS for example)
  • Now open your iTunes App while holding down the shift key (under Windows) or the Command key (on MacOSX). This forces iTunes to offer you some options you don't normally see. In the dialog box that appears select the option to create a new iTunes library and make sure you create one on the Network share we mounted in the previous step.
  • Next in iTunes select 'Add to library...' and navigate to your local 'iTunes Music' folder on your hard drive and then add that folder to the new iTunes library on your network share ie the one you just created on your NC's hard drive or on your NAS.
  • Now all your music, cover art & plylists will be copied from your existing iTunes library on your hard drive to your new iTunes library on your NC's hard drive or NAS. Depending on the size of your iTunes library this may take a long time - be patient!
  • From now on if you want to rip any Music or make any playlists in iTunes make sure you mount the NC's hard drive or NAS on your Mac/PC and use the 'Shift' or 'Command' key while opening iTunes (as in step 2 above) and open your iTunes library on your Network share.

The new iTunes library that you created above is the library that your Dianemo NC will use and therefore any changes you make in iTunes ie adding new music from the iTunes store, ripping new music from a CD or creating/editing playlists will be available almost immediately from your Dianemo Orbiters.

Making iTunes Music & Playlists Available from your Orbiters

For your iTunes Music Library & playlists to automatically appear in your Orbiters you need to have carried out the steps above to move your iTunes Library to a storage device that is part of your Dianemo system. Secondly you should make sure that your Dianemo system is fully updated - see the section above on updating your system using the Updater script.

Next go to the Web Admin page for Logitech Media Server (LMS);

Advanced->Configuration->Slim Server

  • In the LMS page click on the 'Setting's button at the bottom right.
  • Now click on the 'iTunes' tab.
  • You should now see the something similar to the image below;
  • There are two fields that you need to complete;
    • iTunes Music Library.xml Location
      • You need to add the path in this field to where your iTunes library.xml file is located (ie wherever you copied it to above)
      • It should have the Dianemo/LinuxMCE file path like this if it is stored on a local drive;
        • /home/public/data/audio/iTunes/iTunes Library.xml
    • iTunes Media Folder Location
      • You need to add the path in this field to where your iTunes Media library is located (ie wherever you copied it to above)
      • Again it should have the Dianemo/LinuxMCE file path like this if it is stored on a local drive;
        • /home/public/data/audio/iTunes/iTunes Media/
  • You can edit the 'Ignored Playlists' field to exclude any playlists that you don't want to appear in your Orbiters
  • 'Unchecked Songs in iTunes'
    • Set this to however you would prefer it.
  • 'iTunes reload Interval'
    • Set this to an interval that is reasonable - something like 300 secs ie 5 mins
  • 'Use iTunes'
    • This must be ticked
  • 'iTunes Art Work'
    • This can be optionally set (it only affects real Squeezeboxes and the LMS management screen track listing.

Once you have the above settings in place then depending on what you set the 'iTunes reload Interval' too you will see any changes to iTunes reflected in your Orbiters shortly afterwards. You will need to go out of the Audio media library screen or the Playlists screen to see any updated or changed iTunes content/playlists.

Cover Art & Music that you've ripped in iTunes

When you rip a CD in iTunes it will usually find Cover Art for it successfully and this will be displayed in iTunes or on your iOS devices. But in Dianemo this cover art will not be displayed (you will just see the default cover art icon for each track) as LMS cannot access it because iTunes cover art found this way is actually stored in a proprietary Apple file format outside of the mp3/aac files themselves in a separate set of files. This causes a problem with both reading the Cover art file itself and also for maintaining its relationship with specific tracks. Therefore we would suggest the following to get cover art, let iTunes find the artwork, then copy it and paste it into the tag to make it permanent. If you want to add cover art to all the tracks in a single album you can paste artwork into the tags of multiple items. They do need to be the same album obviously. Once album art is embedded in your tracks then you should re-scan your library from LMS settings in the Basic Settings tab. You can also freely move them or copy your audio tracks in the knowledge that all the album art will always remain inside each track and will always be available for display.

Using iCoverart to embed Cover Art & meta data in your music tracks

An alternative way to embed Cover Art that is particularly useful if you have a large library of music is to use some software tools to automate the process for you. If you run iTunes on Windows a very good choice is iCoverart from Maximised which costs $5 USD but is well worth it. We use and recommend iCoverart ourselves but we are not affiliated at all...we just think its a useful software tool;

Download iCoverart from here

Embedding Cover Art using iCoverart

The first step is to create a new empty iTunes library on your NC in;


See this section for the steps needed to do this - Moving your iTunes library to your Dianemo System

Get all the cover art on iTunes using the usual processes - ie use 'Get Cover Art'. For any tracks that are still missing Cover Art find suitable Cover Art on Amazon etc and copy/paste it in. The iCoverArt software will always operate on the last iTunes library you opened in iTunes so you need to make sure that the last iTunes library opened is the new one you created on your NC.

Once you have all the cover art visible in iTunes run the iCoverArt software. Follow steps 1-3 in iCoverart;

  1. Scans the iTunes library.
  2. Select your Tracks - all the tracks with cover art to embed will be shown and ticked.
  3. Using the drop down menu select "Embed Downloaded Artwork" then click "GO"

iCoverart will then go through each of the tracks in your library and embed the Cover Art and any meta data.

Configuring Dianemo to Control a Sky Box

Adding a SkyBox Device to your Installation

  1. Display the device tree in Web Admin
  2. Add a child device under the Core with a device template ID of #1943
  3. Give the Skybox device a unique name so that it is easily identifiable (especially important if you have more than one Skybox).

Configuring your Skybox Devices Device Data fields

Set the Type field

This field determines what command set is sent to your Skybox. There are two choices;

  1. Sky
    1. For all none PVR Skyboxes enter the string 'Sky'
  2. Sky+
    1. For all Sk+ or SkyHD boxes enter the string 'Sky+'
Set the Timeout field

Enter a value in minutes for how long the box should stay awake after the last command is sent to it.

What goes in the Configuration field?

In almost all cases (possibly all in fact) you will want to add configuration strings to the Configuration field in the Device Data section of your SkyBox device. These strings determine what commands are sent to devices like HDMI Matrices, Zone Amplifiers, Surround Amps etc when the SkyBox is selected from an Orbiter. At first these commands strings may look a little daunting but they are actually logical and pretty simple to understand once you have invested a little time in configuring a system. The basic concept is that the Configuration field contains input & output switching instructions for the downstream devices that your Skybox is connected to. Theses instructions do things like tell an HDMI Matrix to send the video from your SkyBox to a particular output (or range of outputs), while doing the same for your Skybox's audio to a Zone or Audio Matrix Amplier. This would also apply to a Home Theatre zone where you might just have a Surround Amp with various source devices hooked up the the Amplifiers inputs. In this case the Configuration string would select the correct Input on the surround Amplifier and therefore route the video & audio from your Sky box correctly. In fact the concept of Configuration strings applies to many types of devices, not just Skybox's, that have some video or audio output and need to instruct a downstream device to switch inputs & outputs.

Example Configuration field string

There are sections for video eg VID_nn and sections for Audio eg SND_nn. Breaking down the configuration string above into its parts gives the following;

  1. VID_102
    1. This is the device ID for MM or an external source player in a room you want this device accessible in. In systems where there are no MM's we use a generic External Source Player (Template ID #1946) device for any external sources we add to the system. In rooms with no MM one of these should be added to your device tree, as a child of the 'Core', for every 'Room' that needs access to external sources.
  2. =97
    1. This is the Device ID for the device or zone in a device receiving the video output ie Amplifier or output zone of a Matrix.
  3. IN_1
    1. This is the input that this devices video output is connected to ie in this case Input 1.
  4. SND_102
    1. Again this refers to either an MM, or in rooms that have no MM, and external source player.
  5. =118
    1. This is the Device ID for the device or zone in a device receiving the audio output ie Amplifier or output zone of a Matrix.
  6. IN_1
    1. This is the input that this devices audio output is connected to ie in this case Input 1.
  7. +119,IN_1+120,IN_1
    1. In the example we have series of open plan areas that are part of a larger room (ie breakfast area, TV area, Cooking area in a Kitchen) and so we can use '+' send the same audio output to a series of other zones. This allows all of the audio in these connected spaces/zones to be the same.

Using a Dusky Interface with a Sky Box

This section will be added soon.

Using IR Blasting with a Sky Box

This section will be added soon.

Using IP Control with a Sky Box

Future capability.

Problems Adding Media Managers

Diskless Setup Fails

If when adding a new MM to your system you see a 'Diskless Setup Failed' message in the boot screen you may need to run the following script on your NC to correct the problem;

sudo /usr/pluto/bin/Diskless_CreateTBZ.sh

After you have run the Diskless_CreateTBZ script try powering off your MM and booting it again. This time it should add itself correctly. It's also worth doing a;

apt-get -f install 

This will reinstall any broken packages.

Samsung SmartTV Input Switching

The Samsung SmartTV Input Switching (SSIS) device template (#2035) is used to allow your Dianemo system to select a specific input on your Samsung SmartTV. The SSIS device template automatically interrogates the Samsung SmartTV for a list of its inputs.

To add a SSIS device to your system add a child device to your Core in Web Admin and select device template #2035. Fill in the IP address & Mac address fields in the 'Device info' section of the template with the values for your Samsun SmartTV. Save the changes. Now make sure your Samsung SmartTV is powered on (use the Samsung remote to power the TV up from standby if necessary) and has a network connection to the LAN side of your NC. Now do a reload router and wait for 20 secs or so while the reload happens. Now find the SSIS entry in your Web Admin devices tree and select it. Next scroll down to the 'Device Data' section of your SSIS device and look for the 'Port Channel Choices' field. If your device is working correctly you should see a list of all of the Inputs on your TV listed.

Rako Wireless & Wired Lighting Control

Integrating your Rako lighting (wireless or wired products) installation with a Dianemo Home Automation system installation is a simple and mostly automated procedure on the Dianemo side. Before configuring your Rako lighting in your Dianemo installation you should have completed your normal Rako physical installation and used the Rasoft software to configure your Rako installation (see the section below for details). Once your Rako installation is ready you can add a Rako device template as a child of the Core in Web Admins Device tree view;

  1. Rako TCP Bridge Device ID 2037 (if using Rako WRA-232 Bridge)
  2. Rako UDP Bridge Device ID 2038 (if using Rako RA-Bridge)

After adding the Rako Bridge device to your device tree add its IP address and save the change and then do a reload router - this will pull in the configuration from the bridge. Now do a second reload to have Dianemo populate the Rako scenes as child devices to the Bridge device and the associated lighting scenarios.

See this Rako system overview document for more details of how Rako installations are achieved and what roles the various Rako products play.

Configuring your Rako Bridge

When configuring the Rako RA-Bridge for use with a Dianemo installation please follow the steps below;

In the Controls section of Rasoft -> Channel Control (RASOFT window title: Channel Control)

Match the room names between Dianemo and the Rako bridge.

  • Please note Dianemo will place Rako scenes in matched rooms.
  • You can reuse the room name
  • To make separate rooms distinguishable, you can use the following format:
Room name: extra text information

Dianemo will strip everything from the colon onward before matching 'Room name'


  • Hallway: Lights
  • Hallway: Blinds
  • Hallway: Switches

All of the above will match the "Hallway" room in Dianemo

In RASOFT make sure the following is set;

Enable only channels that exist.

  • Dianemo will create devices for every enabled channel in RASOFT.
  • Dianemo will automatically place the devices in the matched rooms (if you have named your rooms correctly).

Matching Rako Channel Type to Dianemo Device Template:

  • For every room type:
    • Slider => Dimmer
    • Blinds => Blinds
    • Switch => On/Off
  • For room type "Lights":
    • Default => Dimmer
  • For room type "Curtains & Blinds":
    • Default => Blinds
  • For room type "Switch":
    • Default => On/Off
  • All other channel types are ignored

In RASOFT go to Controls -> Bridge -> Setup (RASOFT window title: RABRIDGE Setup)

  • Tick "Only Enabled Channels"
  • Tick "Ignore Blank Channels"
  • Set Room Order

Make sure one of the radio buttons is selected

  • This ensures that the XML will get populated
  • The order doesn't matter to Dianemo

When you want to upload changes made in RASOFT Channel Control:

  1. Press the "Get Room Data" button
  2. Press "Upload"

Do a Reload router in Dianemo Web Admin to have Dianemo process the changes you have made in RASOFT to the WRA-232 Bridge.

Merging Video & Audio in a single Room

For Media Managers:

  1. Delete Xine Player from under Orbiter
  2. Create a Xine Video Player (template ID #2039) as a child device under the Orbiter

For UPnP Media Renderer devices ie players/TV's etc:

  1. Create a "WD Live (Video Only)" device, not a "WD Live" as a child device under the Core - **notice the name difference!**

Common to both of the above:

  1. Make sure the room and entertainment area are the right ones on the device you created.
  2. Set up the sqeezeslaves as normal, but configure the rooms and entertainment areas to be the same as the video-only devices you created.
  3. Continue to configure the system as usual.

Caveat: - You can configure just one device to receive volume commands in a given room. That means that if the sound paths don't merge (into an amp for example), you can't change the volume for all the paths.

Adding a Standalone Kmotion based Camera Server to your System

Sometimes it may make sense to run your CS on a separate machine - usually this will be because you want to use a lot of cameras and also have a heavily loaded NC ie your system is busy doing many other tasks as well as managing your cameras. Below is the procedure for installing a stand-alone Camera Server (CS) as part of your Dianemo system:

Assuming you have an NC fully installed and a suitable CS machine with Ubuntu 12.04LTS already installed, here are the steps:

On the NC:

  1. Create a top level "Camera Server" (DT #2041) device as a child of the Core
  2. Fill in the MAC address field with the CS's Mac address (leave IP field empty)
  3. Run "/usr/pluto/bin/CameraServer_Setup.sh"

CameraServer_Setup.sh will allocate the IP address and set up the Apache forward for Kmotion.

On the CS:

  1. Boot the CS (or refresh the IP address in Ubuntu if it's already up)
  2. Copy 'dianemo-camera-server-installer*.deb' from your NC's deb-cache
  3. Install the copied deb
    1. Use 'dpkg -i' from a terminal
    2. answer the questions it asks
  4. Run "/usr/pluto/install/InstallCameraServer.sh"
    1. answer the questions it asks ie IP address of your NC & the device ID of the Motion Wrapper under the Camera Server device on your NC.
  5. Now reboot

Tip: You can do step 2 above with this command on the CS:

scp dianemo@'*camera*install*.deb' .

You can also pre-install ssh on the CS machine and then do the scp from the NC instead. So to scp from your NC to your new CS do the following (where 192.168.80.xxx is the ip address of your new CS);

scp /usr/pluto/deb-cache/*camera*install*.deb dianemo@192.168.80.xxx:

How you copy the file really doesn't matter.

You will need to be 'root' on the CS in order to perform the installation, so don't forget the "sudo" where relevant.

Configuring Telecom Features

!!!!Under Construction!!!!

Setting up and carrying out the basic configuration of the Telecom side of Dianemo is pretty straightforward. Below are the various steps you should go through to configure individual IP telephones & Door/Gate entry panels, Outgoing Trunks (ie telephone service to the outside world).

Configuring your Phones

  • Open Web Admin in your Web Browser and go to;
    • Wizards->Devices->Phones
  • Click the 'Add Device' button to create a new Telephone Device.
  • The Add Device window will appear. Select the appropriate phone model/type for the phone you are adding;
    • Budgetone - Compatible with any Grandstream Phone.
    • CISCO 7960 - Specific to that CISCO Phone.
    • CISCO 7970 - Specific to that CISCO Phone.
    • Generic SIP Softphone - Compatible with most SIP phones (use if your specific model is not listed)
    • Orbiter Embedded Phone - Automatically added for each MM you add to your system.
    • Snom 200 - Specific to that Snom phone.
    • Snom 320 - Specific to that Snom phone.
  • Next press the 'Pick Device Template' button.
  • The Add Device window will disappear, and the new phone will appear in Wizards Phones.
  • Change the name of the Phone so that it describes the actual phone you added and make note of the Phone Number (ie Ext number) and IP Address, and set the FloorPlan Object to 'Non-LinuxMCE Phone' to display a floor plan icon.
  • Find the Mac Address, sometimes its printed on the box or almost always on the underside of the phone iteself. Enter the Mac address in the Mac address field - if you can't find it you can omit this step.
  • Next we need to configure some settings on the Phone itself.
    • Using your browser open a new web page or tab - type in the IP address of the phone you are configuring to access the Phones internal Web setup server.
    • Now Login - usually the default user name is 'admin' password is 'admin'. Consult your phones documentation if this is not the case.
      • Choose the Auth Required option.
      • Add the value from the PhoneNumber field (ie Ext Number) to; (these fields and others may be named differently on your Phone).
        • SIP phone Number
        • Display name
        • Auth ID
        • Auth Password
      • Add the NC's IP address to the following fields;
        • SIP Proxy
        • SIP Registrar
        • Home Domain
        • Outbound Proxy
      • Enable the SIP Route option or setting.
    • Now use the 'Save' button to make sure that all your configuration settings are saved and then exit or log out of the Setup server on your Phone.
    • Lastly do a Reload in Web Admin and reboot your SIP Phone.
    • Your Phone should work now as a phone extension.

Adding an External Trunk

Web Orbiters

Setting Up Auto-login

To set up a weborbiter that autologins and autoselects a device, use the following URL template:<username>&password=<password>&device_id=<Device_ID>

You can get the Device_ID by logging in normally. It will be in the URL after you select an Orbiter.