  */
 void process_backlight_message(char *data)
 {
+  char msg_type;
   int backlight_mode;
-  sscanf(data, "%d", &backlight_mode);
+  sscanf(data, "%c|%d", &msg_type, &backlight_mode);
+
+  if(msg_type != 'B')
+    return;
+
+#ifdef SERIAL_DEBUG
+  SERIAL.println("Got backlight message:");
+  SERIAL.print("- Mode: ");
+  SERIAL.println(backlight_mode);
+#endif
 
   set_backlight((backlightmode_t) backlight_mode);
 }

 */
void backlight_timeout(uint64_t timeout)
{
  uint64_t delta_t = millis() - backlight_on_time;
  if(delta_t > timeout)
  {

  {
    case DISPLAY_IDLE:
      if(handle_idle_buttons(id))
        set_backlight(BACKLIGHT_ON_TIMEOUT);
      break;

    case DISPLAY_NOTIFICATIONS:
      if(handle_notification_buttons(id))
        set_backlight(BACKLIGHT_ON_TIMEOUT);
      break;

    default:
