Public Access
Home Assistant requests in a task, progress bar, Plex page, bitmap cache
- net/ha_api: the HTTP requests run in a FreeRTOS task on core 0; loop()
only hands over copies through queues. The web UI's test button polls.
No more 3-4 s loop() stalls once a minute; timeout raised to 5 s.
- Progress bar page element (page format 4, v3 pages are converted)
- Plex user setting (settings v6): {plex_user} in entity ids
- Plex page (examples): watchers, play/pause icon, title, progress
- Bitmaps cached in RAM: a LittleFS read took ~100 ms on every render
and web preview; long JSON lists sent in 2 KB pieces
- Backup includes the refresh settings and the Plex user
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
090c2bf8ae
commit
490cefc360
42 files changed
+1074
-175
No files matched your search
+268
-31
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"format": "flipdot-backup",
|
||||
"version": 1,
|
||||
"firmware": "2.5.0",
|
||||
"exported": "2026-10-15T00:00:00Z",
|
||||
"firmware": "2.9.0",
|
||||
"exported": "2026-10-16T00:00:00Z",
|
||||
"bitmaps": [
|
||||
{
|
||||
"name": "weer sunny",
|
||||
@@ -107,6 +107,22 @@
|
||||
{
|
||||
"name": "bg vol",
|
||||
"data": "fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0fffffffffffffffffffff0"
|
||||
},
|
||||
{
|
||||
"name": "plex logo",
|
||||
"data": "0000000000000000000000f800000000000000000000f8000000000000000000007c000000000000000000007c000000000000000000003e000000000000000000003e000000000000000000001f000000000000000000001f000000000000000000000f800000000000000000001f000000000000000000001f000000000000000000003e000000000000000000003e000000000000000000007c000000000000000000007c00000000000000000000f800000000000000000000f8000000000000000000000000000000000000000000"
|
||||
},
|
||||
{
|
||||
"name": "plex playing",
|
||||
"data": "8000000000000000000000c000000000000000000000e000000000000000000000c000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
||||
},
|
||||
{
|
||||
"name": "plex paused",
|
||||
"data": "d800000000000000000000d800000000000000000000d800000000000000000000d800000000000000000000d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
||||
},
|
||||
{
|
||||
"name": "plex buffering",
|
||||
"data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
||||
}
|
||||
],
|
||||
"pages": [
|
||||
@@ -132,7 +148,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "image",
|
||||
@@ -151,7 +171,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "ha",
|
||||
@@ -170,7 +194,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "ha",
|
||||
@@ -189,7 +217,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -225,7 +257,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "date",
|
||||
@@ -244,7 +280,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -276,7 +316,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "ha",
|
||||
@@ -295,7 +339,11 @@
|
||||
"factor": 0.001,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "clock",
|
||||
@@ -314,7 +362,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -346,7 +398,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "ha",
|
||||
@@ -365,7 +421,11 @@
|
||||
"factor": 0.016666666666666666,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "ha",
|
||||
@@ -384,7 +444,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 46,
|
||||
"scroll_speed": 6,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "ha",
|
||||
@@ -403,7 +467,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -435,7 +503,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "image",
|
||||
@@ -454,7 +526,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "ha",
|
||||
@@ -473,7 +549,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "ha",
|
||||
@@ -492,7 +572,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "ha",
|
||||
@@ -511,7 +595,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -543,7 +631,11 @@
|
||||
"factor": 1000,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "ha",
|
||||
@@ -562,7 +654,11 @@
|
||||
"factor": 0.001,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "clock",
|
||||
@@ -581,7 +677,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "ha",
|
||||
@@ -600,7 +700,11 @@
|
||||
"factor": 0.001,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -636,7 +740,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -668,7 +776,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "date",
|
||||
@@ -687,7 +799,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "clock",
|
||||
@@ -706,7 +822,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -738,7 +858,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "countdown",
|
||||
@@ -757,7 +881,11 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 70,
|
||||
"scroll_speed": 8,
|
||||
"target": "2026-12-25T00:00"
|
||||
"target": "2026-12-25T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -784,7 +912,116 @@
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00"
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Plex",
|
||||
"page": {
|
||||
"slots": [
|
||||
{
|
||||
"start": "00:00",
|
||||
"bitmap": "plex logo"
|
||||
}
|
||||
],
|
||||
"elements": [
|
||||
{
|
||||
"type": "ha",
|
||||
"x": 13,
|
||||
"y": 0,
|
||||
"align": "left",
|
||||
"overlay": "top",
|
||||
"font": "Normal",
|
||||
"format": 0,
|
||||
"language": "nl",
|
||||
"decimals": -1,
|
||||
"text": "",
|
||||
"suffix": " watching",
|
||||
"entity": "sensor.mangavalkserver",
|
||||
"attribute": "",
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "image",
|
||||
"x": 13,
|
||||
"y": 9,
|
||||
"align": "left",
|
||||
"overlay": "top",
|
||||
"font": "Normal",
|
||||
"format": 0,
|
||||
"language": "nl",
|
||||
"decimals": -1,
|
||||
"text": "plex ",
|
||||
"suffix": "",
|
||||
"entity": "sensor.{plex_user}_state",
|
||||
"attribute": "",
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "ha",
|
||||
"x": 19,
|
||||
"y": 9,
|
||||
"align": "left",
|
||||
"overlay": "top",
|
||||
"font": "Small",
|
||||
"format": 0,
|
||||
"language": "nl",
|
||||
"decimals": -1,
|
||||
"text": "",
|
||||
"suffix": "",
|
||||
"entity": "sensor.{plex_user}_full_title",
|
||||
"attribute": "",
|
||||
"factor": 1,
|
||||
"scroll_width": 65,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 40,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
},
|
||||
{
|
||||
"type": "bar",
|
||||
"x": 13,
|
||||
"y": 16,
|
||||
"align": "left",
|
||||
"overlay": "top",
|
||||
"font": "Normal",
|
||||
"format": 0,
|
||||
"language": "nl",
|
||||
"decimals": -1,
|
||||
"text": "",
|
||||
"suffix": "",
|
||||
"entity": "sensor.{plex_user}_progress",
|
||||
"attribute": "",
|
||||
"factor": 1,
|
||||
"scroll_width": 0,
|
||||
"scroll_speed": 8,
|
||||
"target": "2000-01-01T00:00",
|
||||
"bar_width": 71,
|
||||
"bar_height": 3,
|
||||
"bar_max": 100,
|
||||
"bar_frame": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user