Sunday, October 12, 2014

RPi-Monitor: Version 2.9.1 is available

Note: A new version of RPi-Monitor is available: Version 2.10.
All the details about the latest version of Rpi-Monitor are in RPi-Monitor overview
The version 2.9.1 of RPi-Monitor has been released.

If you don't know yet what RPI-Monitor do, have a look to RPi-Monitor Overview.

What's new in this version?
This version is coming with internal changes, improvement and bug fixes.

Here is the changelog of version 2.9:
  • Sign repository to remove authentication warning during install
  • Migrate style to bootstrap 3
  • Add color into progressbar orange for warning and red for danger
  • Move qrcode to about menu (link is related to the page display)
  • Add justgage generating colored gauges 
  • Add visibility parameter defining if a row of status page should be shown
  • Add example configuration files showing rpimonitor rendering features
  • Fix multi page issue #63

New: Signed repository 

RPi-Monitor repository is now signed. This means that you will no more have the authentication warning. It is then required to install my public key to trust RPi-Monitor repository:

        sudo apt-key adv --recv-keys --keyserver 2C0D3C0F

Installation or upgrade from the repository 

If you already have installed the public key of RPi-Monitor repository and the latest version of RPi-Monitor using the repository, you can execute the  following commands to upgrade:

    sudo apt-get update
    sudo apt-get upgrade

If required, you can install the repository following the instruction bellow. This repository will make installation and update of RPi-Monitor accessible with the commands apt-get or aptitude.

Activate https transport for apt and add certificate authority:

    sudo apt-get install apt-transport-https ca-certificates

Install my public key to trust RPi-Monitor repository:

    sudo apt-key adv --recv-keys --keyserver 2C0D3C0F

Execute the following command to add RPi-Monitor into your list of repository: 

    sudo wget -O /etc/apt/sources.list.d/rpimonitor.list

To install RPi-Monitor, execute the following command: 

    sudo apt-get update
    sudo apt-get install rpimonitor

After installation or upgrade you should excute the following command to update information about upgradable packages:

  sudo /usr/share/rpimonitor/scripts/

Manual installation is still working. Refer to RPi-Monitor Installation page for explaination.

New: Example files

RPi-Monitor comes with example files showing the capabilities of some features and functions available in status page. To see how a specific file is behaving, you can include this file into your configuration file using the 'include' directive. Files are included  and commented out into raspbian.conf. To activate them, you can simply uncomment them.  
The following files are available:
  • example.badge_and_label.conf : Show colors of labels and badg
  • example.progressbar.conf : Show warning and critical and colors 

  • example.justgage.conf : Show justgage and customisation

  • example.visibility.conf : Show visibility feature
Remember to restart RPi-Monitor to apply the configuration change:

  sudo /etc/init.d/rpimonitor restart

New: Bootstrap 3

Now, RPi-Monitor is using the popular framewrok bootstrap 3. This change fix the bug of menu when using RPi-Monitor in tablet or smartphone.

This change also have sides effects on the Label and Badge. If you had customized your installation or RPi-Monitor, you should read with attention the man page related to these feature. A configuration file is also available, example.badge_and_label.conf, show how label and badges are now displayed.

New: JustGageBar

A new widget is now available to display information in status page. Justgage is a handy JavaScript plugin for generating and animating nice & clean gauges. It is based on Raphaël library for vector drawing, so it’s completely resolution independent and self-adjusting.

  JustGageBar(title, label,min, value, max, width, height, levelColors, warning, critical)

To see how justgage behave, you can activate the configuration file example.justgage.conf (Ref example explaination and screenshot upper).

The detail of function usage is available into the manpage:

  man rpimonitord.conf

New: Visibility

A new parameter can be used in configuration file defining a visibility of a row:

  web.status.<page id>.content.<row id>.visibility=<visibility formula>

<visibility formula> should be a valid javascript formula returning
          0: to hide the row
          anything else but 0: show the row


RPi-Monitor is fully configurable so if the displayed information doesn't match you need, customize it.
Everything display in status pages or in statistics pages can be modified, tuned and customized to your needs.

To see how to customize it, use the command
    man rpimonitord
    man rpimonitord.conf

To define the configuration you can use RPi-Monitor Interactive Configuration Helper whit the command:
    rpimonitord -i

You will find some examples of customization in RPi-Monitor articles.


Once RPi-Monitor is configured as you wished, browse http://RPiIpAddress:8888/ to access to the web interface.

Note: The graphs rendering may have strange behavior on Google-Chrome on Windows while it works fine on Linux. Internet Explorer is even not able to display statistics, it is then advised to use Firefox on Windows or better... switch to Linux! ;-). 
Note 2: Since RPi-Monitor is now using bootstrap 3, the behavior may have changed. Your comments are welcome.

About shellinabox

Shellinabox allow you to access to the shell of your Raspberry Pi through a web interface. You can activate this feature into the configuration dialog box.
By default, the link is set to '''/shellinabox'''. When RPi-Monitor will recieve this request, it will automatically do a redirect to http://RPiIpAddress:4200/. You can modify this address to point to your shellinabox address. This address is used inside the iframe of shellinabox page.


  1. Have made an upgrade form 2.6.1 with the repo-install and everything works fine.

    1. Cool, Thanks for the feedback. I didn't plan to release v2.9 tonight but I did a merge in github that obliged me to officialise this release... ;-)

  2. Bonjour,
    petite question, les exemples de JustGageBar (cpu.conf entre autre) ont un seuil de warning à 100 et un critical à 80? ou le prototype n'est pas le bon?

    1. 80 et 100 représentent la dimension du widget et non un seuil d'alarme. Donc, ouf, tout et bon... il n'y aura donc pas de version 2.9.2 ;-)

  3. Hi. I've installed 2.9 which all went well - and the "default" seems to working well. I'd really like to add the DS18B20 temp probe as you have previously described - but being totally new to all this I'm struggling to figure out which file to add the text to. Could you give me some pointers or perhaps add a few steps to that tutorial direct the less "able" like myself :) Cheers Chris

    1. An article in my blog is explaining how to connect the DS18B20 to the Raspberry Pi. You should follow these instruction. For configuration of Rpi-Monitor, you should just include the file dht11.conf and restart. This should work.

  4. I just install your interface on my raspy... Clean installation, with fast, light and nice interface.... I have just one question for you... Is there any way to display also the free space on the disk plugged via usb ???

    1. Yes there is a way. I did explain how to do so in previous articles (ref. Rpi-Monitor Articles on top of this page). It is even possible to display status of the disk only when it is plugged - this is the purpose of 'visibility' feature explained in this post.

  5. hi! i was trying to install this on raspbian and after:

    No se pudo encontrar el método /usr/lib/apt/methods/https

    then when I write : sudo apt-get update it says:
    No se pudo encontrar el método /usr/lib/apt/methods/https
    that means:
    Can't find the method /usr/lib/apt/methods/https

    do you know what can i do? thanks!

    1. Did you execute the following command ?
      sudo apt-get install apt-transport-https ca-certificates

    2. that's the one i missed. thought i was doing every step! thanks!

  6. Hello,

    I use your script and loved it so much. But i have a problem. I have two hard drives one of them fat32 formatted the other one is ntfs. I mount it to system using BLKIDs since ripmonitor i got no problem with them. But your scripts needs storage names as sda1, sdb1 but it changes every boot. Some times my fat32 drive appears as sda1, some time other. So i have to change storage.conf many time i restarted. I wonder that is there any way to use mounted directories instead of sda1 and sdb1. I hope you can help me.

    Best Regards.

    1. Rpi-Monitor is fully configurable. You should adapt it to your system.
      I did write some examples explaining how to perform such customisation. I let you read them. You should also have a look to RPi-Monitor Interactive which will help you in your customisation.

    2. I know, i customised everything but storage. interactive helper is also using sda1 , sdb1 structure. I want to use /media/hdd1 and /media/hdd2 instead. I am not sure if i tell my issue properly. because of i have two hdds they sometime changes order. sometime fat drive gets sda1 name, sometime other. And i couldnt find any example about that. please excuse me.

    3. You should find the command that give you the expected information not based on /dev but using something else. Why not using mounting point?

    4. I had the same issue sometime ago, here what I did.
      Type the following command
      sudo blkid
      You should get a list of devices connected to your system.
      Identify the UUID of the 2 disk you are talking about; for example
      /dev/sda1: LABEL="backup" UUID="68B46D04B46CD65A" TYPE="ntfs"
      /dev/sdb1:LABEL=”New Volume” UUID=”CAD459D0D459BEFF” Type=”ntfs”
      Now modify your /etc/fstab mounting instruction using the UUID:
      UUID=68B46D04B46CD65A /media/usbdrive1 ntfs-3g defaults 0 2
      UUID=CAD459D0D459BEFF /media/usbdrive2 ntfs-3g defaults 0 2
      In my example I have 2 drives formatted ntfs, adapt your case.

      By doing that the sda1 will always be the sda1 and sdb1 always sdb1

      Hope it helps.

  7. Bonsoir Xavier,
    Merci pour votre travail, j'ai juste un probleme avec la version 2.9, lorsque je vais dans statistics, j'ai ce message : file /stat/cpuload.rrd is not valid RRD archive!
    invalid RRD: Wrong magic id.

    Et ceci : Can not get status information. Is rpimonitord.conf correctly configured on server?

    Pouvez-vous me dire comment en detail regler ce probleme?
    Par avance merci,

    1. The simplest solution if you have a problem with RPi-Monitor (as described upper) should be to reinstall it from scratch.
      First, backup your confguration file if you did customisation.
      Then, uninstall RPi-Monitor:
      apt-get purge rpimonitor
      rm -fr /etc/rpimonitor
      rm -fr /usr/share/rpimonitor
      Then reinstall it
      apt-get install rpimonitor
      Finally, reapply your customisation, one by one and validate then one by one.

  8. Hi, Xavier
    I appreciate everything you have done with rpimonitor. But i have a strange problem > after install rpi-monitor on latest raspbmc and use it with DHT22 and Adafruit python install (GPIO libraries and their DHT app for gettig sensor values) it is working good with rpimonitor but sometimes (lots of time) it returns no values or really wrong values but thats not a problem because after my raspbmc reboot it is always working and getting some values. Recently i discovered other (i think much better) way to get values from DHT sensor - it is GPIO WiringPi library from drogon and lol_dht read app from technion. I compiled it and it is working better. Sometimes there is no value on read but no wrong values like temp= -2898 celsius or so.... It is also working with your RPI monitor (edit dht11.conf example loldht instead of Adafruit_DHT) but after raspbmc reboot it cannot get values from sensor until i do sudo service rpimonitor restart and after that it works perfectly (it is reading values from sensor and show on graph)
    So can you please explain why is this rpimonitor restart needed for geting values from loldht app? Thank You. PS. Sorry for my english :-)

    1. I already had to answer to such a quetion. I just added the explaination and the solution in the FAQ.

  9. my comment just got deleted by shoing me the sign in google account...

    so now the short version

    installed rpi monitor via pi store on raspbian desktop. installation was fully automatic and took about 3 minutes.
    library says it works fine and i should open the url below can not be found
    standard browser and chromium same result

    1. You can restart rpimonotir with the command sudo /etc/init.d/rpimonitor restart and check again.
      You should also think to upgrade to the latet version of RPi-Monitor available in this blog. You will see, it is even simpler than PiStore and you will have a version up to date.

  10. Hi Xavier!
    I connect DS18b20 and set it outdoor. When i get negative value for temperature RPi-Monitor says "undefined". With Python script in terminal i can see values(exp -3.5)

    How i can print negative values of temperature in RPiMonitor? - link to this Pi.

    Regards Obrest.

    1. Hi Obrest,

      I did some test (with static value diretly configured into the conf file) and everything works well, I was able to display nega
      You may have a look to the way you extract the data.
      FYI: The data to display are sent by rpimonitor to your browser into status.json (http://raspberrypi:8888/status.json)

    2. It's works! Thanks!
      dynamic.16.source=*Device Address*
      dynamic.16.regexp=t=(\S+) // That's solution, old value is "(\d+)$"

  11. Bonsoir,
    J'ai ce retour lors d'une visualisation sous iPad:

    message : file /stat/cpuload.rrd is not valid RRD archive!
    invalid RRD: Wrong magic id.

    J'ai appliqué le correctif mentionné ci-dessus sans succès, pourriez vous l'aiguilleur?

    Merci d'avance

  12. Thanks for a great tool! I was able to re-configure rpi-monitor and use it as a status monitor for my gas furnace home. I added and rs-485 interface to the raspberry pi and wrote a program to fetch data from the furnace vi ModBus. I then created an additional status screen and populated it with the furnace data. I use nginx and shellinabox so I can log in from any where. I couldn't have done all this with the great work you have done on rpi-monitor.

    I had to do some interesting programming and problem solving along the way, but it works great. I am willing to help anyone that may want to do something similar.