Temperature display for openHAB dashboard with little energy consumption

  • Platform information:
    • Hardware: Raspberry Pi 4
    • OS: Raspberry Pi OS / x64 / 11 (bullseye)
    • Java Runtime Environment: 11.0.15 (Temurin-11.0.15+10) (running in Docker)
    • openHAB version: 3.3.0 (running in Docker)
    • ConBee 2 USB stick

Dear community,

I’m still new to the field of home automation/openHAB and looking for some inspiration of how a solution might look like.

My goal is to measure temperatures in different rooms and visualize them. I read a lot about measuring temperatures with Arduino, Raspi and other microcontrollers, but since I already have a ZigBee mesh up and running, I tend to buy a couple of these sensors: Aqara Temperature and Humidity Sensor

After reading some comments on Amazon, they seem to work properly with ConBee, so integrating them into openHAB and creating a custom dashboard shouldn’t be an issue.

However, I have no satisfying idea of how to display this dashboard. Here is my “wishlist” :wink::

  • It should be easily accessible so that you can easily see the temperature as you walk by without manually opening/reloading an app or browser.
  • Screen-size should be big enough to display between 5 and 8 different temperatures (outside and rooms).
  • It should consume little energy - using a regular tablet seems like a big overkill since the display should be always on and therefore would consume a lot of power.

Out of a sudden I discovered that my E-Reader has a built-in browser as well - AFAIK those E-Ink displays consume much less power than regular tablet displays. However, I assume that the openHAB dashboard needs to be updated somehow (page reload) - I doubt that the built-in browser supports browser add-ons like Firefox where I can install add-ons to reload a page every 30 seconds.

I’d really appreciate it if you guys could give me some inspiration. Thanks and have a great Sunday!

EInk displays only consume power when refreshing. While the content is not changing the display doesn’t consume any power. This is perfect for you use case.

One idea that comes to my mind is the following:

  • The Webbrowser refreshes the page any time openhab triggers a reload
  • Openhab triggers a reload of a sitemap when the file changes
  • Thus I’d configure a sitemap that only has the data you want to show (your temperatures) on one page (without any hierarchy you’d have to navigate to) and add cronjob on your server that runs touch file.sitemap every 30 secs (or as often as you want, keep in mind: increasing the refresh rate will reduce the battery life of your e-reader greatly)
1 Like

Thx Felix! I’ve ordered three sensors and will report here hopefully soon :slightly_smiling_face:

Dashboard updates as soon as the item changes. So you don’t need to reload the page.

I use CATT and cast this to my Google nest display Gen 2. All the sensors etc update automatically.

I’m trying to do something similar for my work room at home to signal my Teams status, so no one of my family will come bursting into video conference calls! :wink:
Best solution so far is ESPHome with some waveshare E-ink displays. Use an ESP32/ESP8266, which goes into deep sleep for a time, wakes up, subscribes to MQTT-topics and displays their state. I’m still in developing this, as soon as I’m ready, I’ll post it here (hopefully I find some time around Easter).
They won’t display openHAB dashboard content, but custom-made display with placeholders for the MQTT-payloads.

Thus I’d configure a sitemap that only has the data you want to show (your temperatures) on one page (without any hierarchy you’d have to navigate to) and add cronjob on your server that runs touch file.sitemap every 30 secs (or as often as you want, keep in mind: increasing the refresh rate will reduce the battery life of your e-reader greatly)

@Felix_Schneider: I gave this a try and created a sitemap with the following code:

sitemap page_d0f51ec5c4 label="Temperaturen" {
    Frame label="Wohnzimmer" {
        Text item=Multisensor1Temperature_Temperature
        Text item=Multisensor1Temperature_LastUpdated
    }
    Frame label="Balkon" {
        Text item=Multisensor2Temperature_Temperature
        Text item=Multisensor2Temperature_LastUpdated
    }
    Frame label="Schlafzimmer" {
        Text item=Multisensor3Temperature_Temperature
        Text item=Multisensor3Temperature_LastUpdated
    }
}

To my surprise, the folder /conf/sitemaps/ remains empty. I only find the strings Schlafzimmer or Balkon within /userdata/jsondb/uicomponents_system_sitemap.json. When connecting to openHAB’s Docker container and running touch uicomponents_system_sitemap.json, nothing happens to the website :frowning:

Dashboard updates as soon as the item changes. So you don’t need to reload the page

@ubeaut: my sitemap’s website doesn’t reload automatically - does this mean that I have to use something different than a sitemap?

If this is the case you made a mistake while creating the sitemap file. Be sure to put the code into a .sitemap file within /conf/sitemaps/. And this is the file you want to touch.

This is the case as the sitemap doesn’t exist as mentioned above. If the sitemap doesn’t exist it can’t reload.


This is a internal database of openHAB and should stay untouched by the user.

I created the sitemap from openHAB’s UI, I didn’t place it under userdata/jsondb on my own.

Can I simply move the file to the correct location? Or will that break something?

No, as this is the correct place for UI created sitemaps.

Could you please elaborate on what you would recommend me to do?

It would be nice to have such a picture on an e ink display…

Can someone help me to send auch a picture to an esp32?