May 19 04:28:51 three inkypi[516]: 04:28:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:28:51 May 19 04:28:51 three inkypi[516]: 04:28:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 04:28:51 three inkypi[516]: 04:28:51 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 04:28:51 three inkypi[516]: 04:28:51 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T04:28:51.124034-07:00', 'image_hash': '17f2b5a68d33a840021b5daf9ba0e33a200eec960971385a26b35e0a9dc6dc95'} May 19 04:28:51 three inkypi[516]: 04:28:51 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:28:52 three inkypi[516]: 04:28:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:28:58 three inkypi[516]: 04:28:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:31:00 three inkypi[516]: 04:31:00 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:31:00 May 19 04:31:00 three inkypi[516]: 04:31:00 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 04:31:00 three inkypi[516]: 04:31:00 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 04:31:01 three inkypi[516]: 04:31:01 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T04:31:00.623576-07:00', 'image_hash': '5978c2cd3b3fa2562ebc6398bfb8e36306f3f41ee7459b4ad8116a5fd84da69a'} May 19 04:31:01 three inkypi[516]: 04:31:01 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:31:01 three inkypi[516]: 04:31:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:31:07 three inkypi[516]: 04:31:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:33:09 three inkypi[516]: 04:33:09 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:33:09 May 19 04:33:09 three inkypi[516]: 04:33:09 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 04:33:09 three inkypi[516]: 04:33:09 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 04:33:10 three inkypi[516]: 04:33:10 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T04:33:09.823815-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 04:33:10 three inkypi[516]: 04:33:10 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:33:10 three inkypi[516]: 04:33:10 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:33:16 three inkypi[516]: 04:33:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:35:18 three inkypi[516]: 04:35:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:35:18 May 19 04:35:18 three inkypi[516]: 04:35:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 04:35:18 three inkypi[516]: 04:35:18 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 04:35:18 three inkypi[516]: 04:35:18 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T04:35:18.623169-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 04:35:18 three inkypi[516]: 04:35:18 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:35:19 three inkypi[516]: 04:35:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:35:25 three inkypi[516]: 04:35:25 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:37:27 three inkypi[516]: 04:37:27 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:37:27 May 19 04:37:27 three inkypi[516]: 04:37:27 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 04:37:27 three inkypi[516]: 04:37:27 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 04:37:28 three inkypi[516]: 04:37:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T04:37:27.923289-07:00', 'image_hash': '17f2b5a68d33a840021b5daf9ba0e33a200eec960971385a26b35e0a9dc6dc95'} May 19 04:37:28 three inkypi[516]: 04:37:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:37:28 three inkypi[516]: 04:37:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:37:35 three inkypi[516]: 04:37:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:39:37 three inkypi[516]: 04:39:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:39:37 May 19 04:39:37 three inkypi[516]: 04:39:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 04:39:37 three inkypi[516]: 04:39:37 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 04:39:37 three inkypi[516]: 04:39:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T04:39:37.223337-07:00', 'image_hash': 'aca28e865a1bc46d8c709244de6ed90b8c5cb5d7e0a9ffdab6654740762d5be8'} May 19 04:39:37 three inkypi[516]: 04:39:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:39:38 three inkypi[516]: 04:39:38 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:39:44 three inkypi[516]: 04:39:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:41:46 three inkypi[516]: 04:41:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:41:46 May 19 04:41:46 three inkypi[516]: 04:41:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 04:41:46 three inkypi[516]: 04:41:46 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 04:41:46 three inkypi[516]: 04:41:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T04:41:46.428641-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 04:41:46 three inkypi[516]: 04:41:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:41:47 three inkypi[516]: 04:41:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:41:53 three inkypi[516]: 04:41:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:43:55 three inkypi[516]: 04:43:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:43:55 May 19 04:43:55 three inkypi[516]: 04:43:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 04:43:55 three inkypi[516]: 04:43:55 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 04:43:55 three inkypi[516]: 04:43:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T04:43:55.622787-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 04:43:55 three inkypi[516]: 04:43:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:43:56 three inkypi[516]: 04:43:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:44:02 three inkypi[516]: 04:44:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:46:05 three inkypi[516]: 04:46:05 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:46:05 May 19 04:46:05 three inkypi[516]: 04:46:05 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 04:46:05 three inkypi[516]: 04:46:05 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 04:46:56 three inkypi[516]: 04:46:56 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T04:46:05.021033-07:00', 'image_hash': 'f741248d0cac3e8008fbf5c0c7271df5600c07c5e767318b250e062dad3db09a'} May 19 04:46:56 three inkypi[516]: 04:46:56 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:46:57 three inkypi[516]: 04:46:57 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:47:04 three inkypi[516]: 04:47:04 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:49:06 three inkypi[516]: 04:49:06 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:49:06 May 19 04:49:06 three inkypi[516]: 04:49:06 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 04:49:06 three inkypi[516]: 04:49:06 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 04:49:06 three inkypi[516]: 04:49:06 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T04:49:06.153757-07:00', 'image_hash': '74cb8d808cc5fe9c2f4a8dcade844c084d5d9d08d39ec88efb57b55829047a25'} May 19 04:49:06 three inkypi[516]: 04:49:06 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:49:07 three inkypi[516]: 04:49:07 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:49:13 three inkypi[516]: 04:49:13 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:51:15 three inkypi[516]: 04:51:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:51:15 May 19 04:51:15 three inkypi[516]: 04:51:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 04:51:15 three inkypi[516]: 04:51:15 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 04:51:15 three inkypi[516]: 04:51:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T04:51:15.624376-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 04:51:15 three inkypi[516]: 04:51:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:51:16 three inkypi[516]: 04:51:16 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:51:22 three inkypi[516]: 04:51:22 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:53:24 three inkypi[516]: 04:53:24 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:53:24 May 19 04:53:24 three inkypi[516]: 04:53:24 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 04:53:24 three inkypi[516]: 04:53:24 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 04:54:18 three inkypi[516]: 04:54:18 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T04:53:24.423445-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 04:54:18 three inkypi[516]: 04:54:18 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:54:19 three inkypi[516]: 04:54:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:54:25 three inkypi[516]: 04:54:25 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:56:27 three inkypi[516]: 04:56:27 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:56:27 May 19 04:56:27 three inkypi[516]: 04:56:27 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 04:56:27 three inkypi[516]: 04:56:27 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 04:56:28 three inkypi[516]: 04:56:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T04:56:27.858073-07:00', 'image_hash': 'f741248d0cac3e8008fbf5c0c7271df5600c07c5e767318b250e062dad3db09a'} May 19 04:56:28 three inkypi[516]: 04:56:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:56:28 three inkypi[516]: 04:56:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:56:35 three inkypi[516]: 04:56:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 04:58:37 three inkypi[516]: 04:58:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 04:58:37 May 19 04:58:37 three inkypi[516]: 04:58:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 04:58:37 three inkypi[516]: 04:58:37 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 04:58:37 three inkypi[516]: 04:58:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T04:58:37.123981-07:00', 'image_hash': 'ead1f9f15d97f69e56c556763d9e88881aec922c6962ea9b88bd5dcb86ecba98'} May 19 04:58:37 three inkypi[516]: 04:58:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 04:58:38 three inkypi[516]: 04:58:38 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 04:58:44 three inkypi[516]: 04:58:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:00:47 three inkypi[516]: 05:00:47 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:00:47 May 19 05:00:47 three inkypi[516]: 05:00:47 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 05:00:47 three inkypi[516]: 05:00:47 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 05:00:47 three inkypi[516]: 05:00:47 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T05:00:47.123872-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 05:00:47 three inkypi[516]: 05:00:47 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:00:47 three inkypi[516]: 05:00:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:00:54 three inkypi[516]: 05:00:54 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:02:56 three inkypi[516]: 05:02:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:02:56 May 19 05:02:56 three inkypi[516]: 05:02:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 05:02:56 three inkypi[516]: 05:02:56 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 05:02:56 three inkypi[516]: 05:02:56 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T05:02:56.323344-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 05:02:56 three inkypi[516]: 05:02:56 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:02:56 three inkypi[516]: 05:02:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:03:03 three inkypi[516]: 05:03:03 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:05:05 three inkypi[516]: 05:05:05 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:05:05 May 19 05:05:05 three inkypi[516]: 05:05:05 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 05:05:05 three inkypi[516]: 05:05:05 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 05:05:05 three inkypi[516]: 05:05:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T05:05:05.223819-07:00', 'image_hash': 'f741248d0cac3e8008fbf5c0c7271df5600c07c5e767318b250e062dad3db09a'} May 19 05:05:05 three inkypi[516]: 05:05:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:05:06 three inkypi[516]: 05:05:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:05:12 three inkypi[516]: 05:05:12 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:07:14 three inkypi[516]: 05:07:14 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:07:14 May 19 05:07:14 three inkypi[516]: 05:07:14 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 05:07:14 three inkypi[516]: 05:07:14 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 05:07:15 three inkypi[516]: 05:07:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T05:07:14.723536-07:00', 'image_hash': '05bc754f59a18ace681172ff36455fad7231b098349e3271c13dda5d5a6ad5f3'} May 19 05:07:15 three inkypi[516]: 05:07:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:07:15 three inkypi[516]: 05:07:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:07:21 three inkypi[516]: 05:07:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:09:23 three inkypi[516]: 05:09:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:09:23 May 19 05:09:23 three inkypi[516]: 05:09:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 05:09:23 three inkypi[516]: 05:09:23 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 05:09:24 three inkypi[516]: 05:09:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T05:09:23.923121-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 05:09:24 three inkypi[516]: 05:09:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:09:24 three inkypi[516]: 05:09:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:09:30 three inkypi[516]: 05:09:30 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:11:32 three inkypi[516]: 05:11:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:11:32 May 19 05:11:32 three inkypi[516]: 05:11:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 05:11:32 three inkypi[516]: 05:11:32 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 05:11:33 three inkypi[516]: 05:11:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T05:11:32.922995-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 05:11:33 three inkypi[516]: 05:11:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:11:33 three inkypi[516]: 05:11:33 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:11:40 three inkypi[516]: 05:11:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:13:42 three inkypi[516]: 05:13:42 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:13:42 May 19 05:13:42 three inkypi[516]: 05:13:42 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 05:13:42 three inkypi[516]: 05:13:42 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 05:13:42 three inkypi[516]: 05:13:42 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T05:13:42.321296-07:00', 'image_hash': 'f741248d0cac3e8008fbf5c0c7271df5600c07c5e767318b250e062dad3db09a'} May 19 05:13:42 three inkypi[516]: 05:13:42 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:13:43 three inkypi[516]: 05:13:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:13:49 three inkypi[516]: 05:13:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:15:51 three inkypi[516]: 05:15:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:15:51 May 19 05:15:51 three inkypi[516]: 05:15:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 05:15:51 three inkypi[516]: 05:15:51 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 05:15:52 three inkypi[516]: 05:15:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T05:15:51.723680-07:00', 'image_hash': '9d4d4568f3daeb212bcb1e186c9603ce714e05efd62a2596b604a2febd008960'} May 19 05:15:52 three inkypi[516]: 05:15:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:15:52 three inkypi[516]: 05:15:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:15:58 three inkypi[516]: 05:15:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:18:00 three inkypi[516]: 05:18:00 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:18:00 May 19 05:18:00 three inkypi[516]: 05:18:00 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 05:18:00 three inkypi[516]: 05:18:00 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 05:18:00 three inkypi[516]: 05:18:00 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 05:18:00 three inkypi[516]: 05:18:00 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 05:18:00 three inkypi[516]: 05:18:00 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 05:18:00 three inkypi[516]: 05:18:00 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 05:18:00 three inkypi[516]: 05:18:00 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 05:18:00 three inkypi[516]: 05:18:00 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 05:18:00 three inkypi[516]: 05:18:00 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 05:18:00 three inkypi[516]: 05:18:00 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 05:18:04 three inkypi[516]: 05:18:04 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 05:18:04 three inkypi[516]: 05:18:04 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 05:18:26 three inkypi[516]: 05:18:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T05:18:00.923152-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 05:18:26 three inkypi[516]: 05:18:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:18:27 three inkypi[516]: 05:18:27 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:18:33 three inkypi[516]: 05:18:33 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:20:35 three inkypi[516]: 05:20:35 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:20:35 May 19 05:20:35 three inkypi[516]: 05:20:35 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 05:20:35 three inkypi[516]: 05:20:35 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 05:20:35 three inkypi[516]: 05:20:35 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T05:20:35.758138-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 05:20:35 three inkypi[516]: 05:20:35 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:20:36 three inkypi[516]: 05:20:36 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:20:43 three inkypi[516]: 05:20:43 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:22:45 three inkypi[516]: 05:22:45 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:22:45 May 19 05:22:45 three inkypi[516]: 05:22:45 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 05:22:45 three inkypi[516]: 05:22:45 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 05:23:33 three inkypi[516]: 05:23:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T05:22:45.123796-07:00', 'image_hash': '61eb92a599bd34f16982b1e18893e9bd8f135207dd53108bf4d7e3f8b43a72ea'} May 19 05:23:33 three inkypi[516]: 05:23:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:23:34 three inkypi[516]: 05:23:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:23:40 three inkypi[516]: 05:23:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:25:42 three inkypi[516]: 05:25:42 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:25:42 May 19 05:25:42 three inkypi[516]: 05:25:42 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 05:25:42 three inkypi[516]: 05:25:42 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 05:25:43 three inkypi[516]: 05:25:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T05:25:42.664791-07:00', 'image_hash': '556edcc64b8dd399b63326a04f35ce9e4691d81d378ee83f3ab33eb18c052bdd'} May 19 05:25:43 three inkypi[516]: 05:25:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:25:44 three inkypi[516]: 05:25:44 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:25:50 three inkypi[516]: 05:25:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:27:52 three inkypi[516]: 05:27:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:27:52 May 19 05:27:52 three inkypi[516]: 05:27:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 05:27:52 three inkypi[516]: 05:27:52 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 05:27:52 three inkypi[516]: 05:27:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T05:27:52.534060-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 05:27:52 three inkypi[516]: 05:27:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:27:53 three inkypi[516]: 05:27:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:27:59 three inkypi[516]: 05:27:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:30:01 three inkypi[516]: 05:30:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:30:01 May 19 05:30:01 three inkypi[516]: 05:30:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 05:30:01 three inkypi[516]: 05:30:01 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 05:30:01 three inkypi[516]: 05:30:01 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T05:30:01.821280-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 05:30:01 three inkypi[516]: 05:30:01 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:30:02 three inkypi[516]: 05:30:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:30:09 three inkypi[516]: 05:30:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:32:11 three inkypi[516]: 05:32:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:32:11 May 19 05:32:11 three inkypi[516]: 05:32:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 05:32:11 three inkypi[516]: 05:32:11 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 05:32:11 three inkypi[516]: 05:32:11 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T05:32:11.123336-07:00', 'image_hash': '61eb92a599bd34f16982b1e18893e9bd8f135207dd53108bf4d7e3f8b43a72ea'} May 19 05:32:11 three inkypi[516]: 05:32:11 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:32:11 three inkypi[516]: 05:32:11 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:32:18 three inkypi[516]: 05:32:18 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:34:20 three inkypi[516]: 05:34:20 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:34:20 May 19 05:34:20 three inkypi[516]: 05:34:20 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 05:34:20 three inkypi[516]: 05:34:20 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 05:34:20 three inkypi[516]: 05:34:20 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T05:34:20.123516-07:00', 'image_hash': '52b000550aa3042b24aa18b2a4bf095d67f816c82f40674413304f0d2701963a'} May 19 05:34:20 three inkypi[516]: 05:34:20 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:34:21 three inkypi[516]: 05:34:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:34:27 three inkypi[516]: 05:34:27 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:36:29 three inkypi[516]: 05:36:29 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:36:29 May 19 05:36:29 three inkypi[516]: 05:36:29 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 05:36:29 three inkypi[516]: 05:36:29 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 05:36:29 three inkypi[516]: 05:36:29 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T05:36:29.323256-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 05:36:29 three inkypi[516]: 05:36:29 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:36:29 three inkypi[516]: 05:36:29 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:36:36 three inkypi[516]: 05:36:36 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:38:38 three inkypi[516]: 05:38:38 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:38:38 May 19 05:38:38 three inkypi[516]: 05:38:38 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 05:38:38 three inkypi[516]: 05:38:38 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 05:38:38 three inkypi[516]: 05:38:38 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T05:38:38.324201-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 05:38:38 three inkypi[516]: 05:38:38 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:38:39 three inkypi[516]: 05:38:39 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:38:45 three inkypi[516]: 05:38:45 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:40:47 three inkypi[516]: 05:40:47 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:40:47 May 19 05:40:47 three inkypi[516]: 05:40:47 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 05:40:47 three inkypi[516]: 05:40:47 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 05:40:47 three inkypi[516]: 05:40:47 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T05:40:47.723489-07:00', 'image_hash': '61eb92a599bd34f16982b1e18893e9bd8f135207dd53108bf4d7e3f8b43a72ea'} May 19 05:40:47 three inkypi[516]: 05:40:47 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:40:48 three inkypi[516]: 05:40:48 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:40:54 three inkypi[516]: 05:40:54 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:42:56 three inkypi[516]: 05:42:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:42:56 May 19 05:42:56 three inkypi[516]: 05:42:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 05:42:56 three inkypi[516]: 05:42:56 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 05:42:57 three inkypi[516]: 05:42:57 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T05:42:56.723145-07:00', 'image_hash': '3193e6f0e0c81025ef1de2a26a0b7315787f2b93449688a20e487e2818099088'} May 19 05:42:57 three inkypi[516]: 05:42:57 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:42:57 three inkypi[516]: 05:42:57 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:43:03 three inkypi[516]: 05:43:03 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:45:05 three inkypi[516]: 05:45:05 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:45:05 May 19 05:45:05 three inkypi[516]: 05:45:05 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 05:45:05 three inkypi[516]: 05:45:05 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 05:45:06 three inkypi[516]: 05:45:06 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T05:45:05.923544-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 05:45:06 three inkypi[516]: 05:45:06 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:45:06 three inkypi[516]: 05:45:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:45:13 three inkypi[516]: 05:45:13 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:47:15 three inkypi[516]: 05:47:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:47:15 May 19 05:47:15 three inkypi[516]: 05:47:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 05:47:15 three inkypi[516]: 05:47:15 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 05:47:15 three inkypi[516]: 05:47:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T05:47:15.223496-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 05:47:15 three inkypi[516]: 05:47:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:47:15 three inkypi[516]: 05:47:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:47:22 three inkypi[516]: 05:47:22 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:49:24 three inkypi[516]: 05:49:24 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:49:24 May 19 05:49:24 three inkypi[516]: 05:49:24 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 05:49:24 three inkypi[516]: 05:49:24 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 05:49:24 three inkypi[516]: 05:49:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T05:49:24.123823-07:00', 'image_hash': '61eb92a599bd34f16982b1e18893e9bd8f135207dd53108bf4d7e3f8b43a72ea'} May 19 05:49:24 three inkypi[516]: 05:49:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:49:25 three inkypi[516]: 05:49:25 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:49:31 three inkypi[516]: 05:49:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:51:33 three inkypi[516]: 05:51:33 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:51:33 May 19 05:51:33 three inkypi[516]: 05:51:33 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 05:51:33 three inkypi[516]: 05:51:33 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 05:51:34 three inkypi[516]: 05:51:34 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T05:51:33.623769-07:00', 'image_hash': 'b5a40984ce8680ca7130531d44f2e79c79059f8e46a35964c54666de2f6e6439'} May 19 05:51:34 three inkypi[516]: 05:51:34 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:51:34 three inkypi[516]: 05:51:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:51:41 three inkypi[516]: 05:51:41 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:53:43 three inkypi[516]: 05:53:43 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:53:43 May 19 05:53:43 three inkypi[516]: 05:53:43 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 05:53:43 three inkypi[516]: 05:53:43 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 05:53:43 three inkypi[516]: 05:53:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T05:53:43.423691-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 05:53:43 three inkypi[516]: 05:53:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:53:43 three inkypi[516]: 05:53:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:53:50 three inkypi[516]: 05:53:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:55:52 three inkypi[516]: 05:55:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:55:52 May 19 05:55:52 three inkypi[516]: 05:55:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 05:55:52 three inkypi[516]: 05:55:52 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 05:56:46 three inkypi[516]: 05:56:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T05:55:52.223012-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 05:56:46 three inkypi[516]: 05:56:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:56:47 three inkypi[516]: 05:56:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:56:53 three inkypi[516]: 05:56:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 05:58:55 three inkypi[516]: 05:58:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 05:58:55 May 19 05:58:55 three inkypi[516]: 05:58:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 05:58:55 three inkypi[516]: 05:58:55 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 05:59:44 three inkypi[516]: 05:59:44 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T05:58:55.758802-07:00', 'image_hash': '3f00cc206232210373d0a1cc4784f3e6c1b8050f10482eeb8de8494f4b6da551'} May 19 05:59:44 three inkypi[516]: 05:59:44 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 05:59:44 three inkypi[516]: 05:59:44 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 05:59:51 three inkypi[516]: 05:59:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:01:53 three inkypi[516]: 06:01:53 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:01:53 May 19 06:01:53 three inkypi[516]: 06:01:53 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 06:01:53 three inkypi[516]: 06:01:53 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 06:01:53 three inkypi[516]: 06:01:53 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T06:01:53.265654-07:00', 'image_hash': 'da5148e596a1849bae19b8be053b8a431638fb4f5c96a96e8b0c833a24d9d444'} May 19 06:01:53 three inkypi[516]: 06:01:53 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:01:54 three inkypi[516]: 06:01:54 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:02:01 three inkypi[516]: 06:02:01 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:04:03 three inkypi[516]: 06:04:03 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:04:03 May 19 06:04:03 three inkypi[516]: 06:04:03 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 06:04:03 three inkypi[516]: 06:04:03 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 06:04:03 three inkypi[516]: 06:04:03 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T06:04:03.321408-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 06:04:03 three inkypi[516]: 06:04:03 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:04:03 three inkypi[516]: 06:04:03 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:04:10 three inkypi[516]: 06:04:10 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:06:12 three inkypi[516]: 06:06:12 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:06:12 May 19 06:06:12 three inkypi[516]: 06:06:12 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 06:06:12 three inkypi[516]: 06:06:12 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 06:06:12 three inkypi[516]: 06:06:12 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T06:06:12.621687-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 06:06:12 three inkypi[516]: 06:06:12 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:06:13 three inkypi[516]: 06:06:13 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:06:19 three inkypi[516]: 06:06:19 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:08:21 three inkypi[516]: 06:08:21 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:08:21 May 19 06:08:21 three inkypi[516]: 06:08:21 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 06:08:21 three inkypi[516]: 06:08:21 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 06:08:22 three inkypi[516]: 06:08:22 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T06:08:21.923946-07:00', 'image_hash': '3f00cc206232210373d0a1cc4784f3e6c1b8050f10482eeb8de8494f4b6da551'} May 19 06:08:22 three inkypi[516]: 06:08:22 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:08:22 three inkypi[516]: 06:08:22 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:08:29 three inkypi[516]: 06:08:29 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:10:31 three inkypi[516]: 06:10:31 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:10:31 May 19 06:10:31 three inkypi[516]: 06:10:31 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 06:10:31 three inkypi[516]: 06:10:31 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 06:10:31 three inkypi[516]: 06:10:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T06:10:31.324244-07:00', 'image_hash': 'a6e6e4e938e6d4e8277ec5ee30fed12688789a7332815ea7ee8f92e8ca473d20'} May 19 06:10:31 three inkypi[516]: 06:10:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:10:32 three inkypi[516]: 06:10:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:10:38 three inkypi[516]: 06:10:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:12:41 three inkypi[516]: 06:12:41 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:12:41 May 19 06:12:41 three inkypi[516]: 06:12:41 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 06:12:41 three inkypi[516]: 06:12:41 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 06:12:41 three inkypi[516]: 06:12:41 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T06:12:41.023145-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 06:12:41 three inkypi[516]: 06:12:41 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:12:41 three inkypi[516]: 06:12:41 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:12:48 three inkypi[516]: 06:12:48 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:14:50 three inkypi[516]: 06:14:50 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:14:50 May 19 06:14:50 three inkypi[516]: 06:14:50 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 06:14:50 three inkypi[516]: 06:14:50 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 06:14:50 three inkypi[516]: 06:14:50 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T06:14:50.221375-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 06:14:50 three inkypi[516]: 06:14:50 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:14:51 three inkypi[516]: 06:14:51 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:14:57 three inkypi[516]: 06:14:57 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:16:59 three inkypi[516]: 06:16:59 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:16:59 May 19 06:16:59 three inkypi[516]: 06:16:59 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 06:16:59 three inkypi[516]: 06:16:59 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 06:16:59 three inkypi[516]: 06:16:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T06:16:59.623120-07:00', 'image_hash': '3f00cc206232210373d0a1cc4784f3e6c1b8050f10482eeb8de8494f4b6da551'} May 19 06:16:59 three inkypi[516]: 06:16:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:17:00 three inkypi[516]: 06:17:00 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:17:07 three inkypi[516]: 06:17:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:19:09 three inkypi[516]: 06:19:09 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:19:09 May 19 06:19:09 three inkypi[516]: 06:19:09 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 06:19:09 three inkypi[516]: 06:19:09 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 06:19:09 three inkypi[516]: 06:19:09 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T06:19:09.123166-07:00', 'image_hash': 'ecc837cbe73955605650971da6367c375a3bc7d1361ccbd58685697eff14025d'} May 19 06:19:09 three inkypi[516]: 06:19:09 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:19:10 three inkypi[516]: 06:19:10 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:19:16 three inkypi[516]: 06:19:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:21:18 three inkypi[516]: 06:21:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:21:18 May 19 06:21:18 three inkypi[516]: 06:21:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 06:21:18 three inkypi[516]: 06:21:18 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 06:21:18 three inkypi[516]: 06:21:18 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 06:21:18 three inkypi[516]: 06:21:18 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 06:21:18 three inkypi[516]: 06:21:18 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 06:21:18 three inkypi[516]: 06:21:18 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 06:21:18 three inkypi[516]: 06:21:18 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 06:21:18 three inkypi[516]: 06:21:18 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 06:21:18 three inkypi[516]: 06:21:18 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 06:21:18 three inkypi[516]: 06:21:18 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 06:21:22 three inkypi[516]: 06:21:22 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 06:21:22 three inkypi[516]: 06:21:22 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 06:21:43 three inkypi[516]: 06:21:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T06:21:18.923265-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 06:21:43 three inkypi[516]: 06:21:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:21:44 three inkypi[516]: 06:21:44 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:21:50 three inkypi[516]: 06:21:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:23:52 three inkypi[516]: 06:23:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:23:52 May 19 06:23:52 three inkypi[516]: 06:23:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 06:23:52 three inkypi[516]: 06:23:52 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 06:23:52 three inkypi[516]: 06:23:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T06:23:52.454418-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 06:23:52 three inkypi[516]: 06:23:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:23:53 three inkypi[516]: 06:23:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:23:59 three inkypi[516]: 06:23:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:26:01 three inkypi[516]: 06:26:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:26:01 May 19 06:26:01 three inkypi[516]: 06:26:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 06:26:01 three inkypi[516]: 06:26:01 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 06:26:01 three inkypi[516]: 06:26:01 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T06:26:01.323703-07:00', 'image_hash': '3f00cc206232210373d0a1cc4784f3e6c1b8050f10482eeb8de8494f4b6da551'} May 19 06:26:01 three inkypi[516]: 06:26:01 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:26:02 three inkypi[516]: 06:26:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:26:08 three inkypi[516]: 06:26:08 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:28:10 three inkypi[516]: 06:28:10 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:28:10 May 19 06:28:10 three inkypi[516]: 06:28:10 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 06:28:10 three inkypi[516]: 06:28:10 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 06:28:11 three inkypi[516]: 06:28:11 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T06:28:10.923856-07:00', 'image_hash': 'b69ce0c469e0085c84209e99584730fa526bd609109136cab81a2028d9c7aa64'} May 19 06:28:11 three inkypi[516]: 06:28:11 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:28:12 three inkypi[516]: 06:28:12 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:28:18 three inkypi[516]: 06:28:18 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:30:20 three inkypi[516]: 06:30:20 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:30:20 May 19 06:30:20 three inkypi[516]: 06:30:20 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 06:30:20 three inkypi[516]: 06:30:20 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 06:30:20 three inkypi[516]: 06:30:20 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T06:30:20.723192-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 06:30:20 three inkypi[516]: 06:30:20 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:30:21 three inkypi[516]: 06:30:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:30:27 three inkypi[516]: 06:30:27 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:32:29 three inkypi[516]: 06:32:29 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:32:29 May 19 06:32:29 three inkypi[516]: 06:32:29 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 06:32:29 three inkypi[516]: 06:32:29 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 06:32:29 three inkypi[516]: 06:32:29 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T06:32:29.523330-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 06:32:29 three inkypi[516]: 06:32:29 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:32:30 three inkypi[516]: 06:32:30 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:32:36 three inkypi[516]: 06:32:36 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:34:38 three inkypi[516]: 06:34:38 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:34:38 May 19 06:34:38 three inkypi[516]: 06:34:38 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 06:34:38 three inkypi[516]: 06:34:38 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 06:35:30 three inkypi[516]: 06:35:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T06:34:38.921012-07:00', 'image_hash': 'ff1f3c1616782cb85d45ba075d584569299a34a64e4c9e7aa6f1fb7a00defb9d'} May 19 06:35:30 three inkypi[516]: 06:35:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:35:30 three inkypi[516]: 06:35:30 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:35:37 three inkypi[516]: 06:35:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:37:39 three inkypi[516]: 06:37:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:37:39 May 19 06:37:39 three inkypi[516]: 06:37:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 06:37:39 three inkypi[516]: 06:37:39 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 06:37:40 three inkypi[516]: 06:37:40 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T06:37:39.566827-07:00', 'image_hash': '31f03668eb17c448b6ec8cb40b1ad1692f3bf127c912222aa3f180ddbcd8fd40'} May 19 06:37:40 three inkypi[516]: 06:37:40 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:37:40 three inkypi[516]: 06:37:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:37:46 three inkypi[516]: 06:37:46 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:39:49 three inkypi[516]: 06:39:49 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:39:49 May 19 06:39:49 three inkypi[516]: 06:39:49 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 06:39:49 three inkypi[516]: 06:39:49 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 06:39:49 three inkypi[516]: 06:39:49 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T06:39:49.023736-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 06:39:49 three inkypi[516]: 06:39:49 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:39:49 three inkypi[516]: 06:39:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:39:56 three inkypi[516]: 06:39:56 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:41:58 three inkypi[516]: 06:41:58 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:41:58 May 19 06:41:58 three inkypi[516]: 06:41:58 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 06:41:58 three inkypi[516]: 06:41:58 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 06:41:58 three inkypi[516]: 06:41:58 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T06:41:58.223243-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 06:41:58 three inkypi[516]: 06:41:58 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:41:58 three inkypi[516]: 06:41:58 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:42:05 three inkypi[516]: 06:42:05 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:44:07 three inkypi[516]: 06:44:07 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:44:07 May 19 06:44:07 three inkypi[516]: 06:44:07 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 06:44:07 three inkypi[516]: 06:44:07 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 06:44:07 three inkypi[516]: 06:44:07 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T06:44:07.523329-07:00', 'image_hash': 'ff1f3c1616782cb85d45ba075d584569299a34a64e4c9e7aa6f1fb7a00defb9d'} May 19 06:44:07 three inkypi[516]: 06:44:07 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:44:08 three inkypi[516]: 06:44:08 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:44:14 three inkypi[516]: 06:44:14 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:46:16 three inkypi[516]: 06:46:16 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:46:16 May 19 06:46:16 three inkypi[516]: 06:46:16 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 06:46:16 three inkypi[516]: 06:46:16 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 06:46:17 three inkypi[516]: 06:46:17 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T06:46:16.723670-07:00', 'image_hash': 'ce614eea4c1aa53c305b2f0874f7b7ea1024780879eebcc8bc1dd9979e80544b'} May 19 06:46:17 three inkypi[516]: 06:46:17 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:46:17 three inkypi[516]: 06:46:17 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:46:24 three inkypi[516]: 06:46:24 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:48:26 three inkypi[516]: 06:48:26 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:48:26 May 19 06:48:26 three inkypi[516]: 06:48:26 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 06:48:26 three inkypi[516]: 06:48:26 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 06:48:26 three inkypi[516]: 06:48:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T06:48:26.523136-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 06:48:26 three inkypi[516]: 06:48:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:48:27 three inkypi[516]: 06:48:27 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:48:33 three inkypi[516]: 06:48:33 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:50:35 three inkypi[516]: 06:50:35 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:50:35 May 19 06:50:35 three inkypi[516]: 06:50:35 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 06:50:35 three inkypi[516]: 06:50:35 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 06:50:35 three inkypi[516]: 06:50:35 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T06:50:35.821207-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 06:50:35 three inkypi[516]: 06:50:35 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:50:36 three inkypi[516]: 06:50:36 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:50:43 three inkypi[516]: 06:50:43 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:52:45 three inkypi[516]: 06:52:45 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:52:45 May 19 06:52:45 three inkypi[516]: 06:52:45 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 06:52:45 three inkypi[516]: 06:52:45 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 06:52:45 three inkypi[516]: 06:52:45 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T06:52:45.123289-07:00', 'image_hash': 'ff1f3c1616782cb85d45ba075d584569299a34a64e4c9e7aa6f1fb7a00defb9d'} May 19 06:52:45 three inkypi[516]: 06:52:45 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:52:46 three inkypi[516]: 06:52:46 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:52:52 three inkypi[516]: 06:52:52 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:54:54 three inkypi[516]: 06:54:54 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:54:54 May 19 06:54:54 three inkypi[516]: 06:54:54 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 06:54:54 three inkypi[516]: 06:54:54 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 06:54:55 three inkypi[516]: 06:54:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T06:54:54.723511-07:00', 'image_hash': '8e1c7412c955e96cfcf845b1085e1ce2865ce70d2f2e857628ad8fbb4818fb5c'} May 19 06:54:55 three inkypi[516]: 06:54:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:54:55 three inkypi[516]: 06:54:55 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:55:01 three inkypi[516]: 06:55:01 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:57:03 three inkypi[516]: 06:57:03 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:57:03 May 19 06:57:03 three inkypi[516]: 06:57:03 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 06:57:03 three inkypi[516]: 06:57:03 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 06:57:04 three inkypi[516]: 06:57:04 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T06:57:03.923647-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 06:57:04 three inkypi[516]: 06:57:04 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 06:57:04 three inkypi[516]: 06:57:04 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 06:57:10 three inkypi[516]: 06:57:10 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 06:59:13 three inkypi[516]: 06:59:13 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 06:59:13 May 19 06:59:13 three inkypi[516]: 06:59:13 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 06:59:13 three inkypi[516]: 06:59:13 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 07:00:04 three inkypi[516]: 07:00:04 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T06:59:13.023478-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 07:00:04 three inkypi[516]: 07:00:04 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:00:04 three inkypi[516]: 07:00:04 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:00:11 three inkypi[516]: 07:00:11 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:02:13 three inkypi[516]: 07:02:13 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:02:13 May 19 07:02:13 three inkypi[516]: 07:02:13 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 07:02:13 three inkypi[516]: 07:02:13 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 07:02:13 three inkypi[516]: 07:02:13 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T07:02:13.464974-07:00', 'image_hash': 'ff1f3c1616782cb85d45ba075d584569299a34a64e4c9e7aa6f1fb7a00defb9d'} May 19 07:02:13 three inkypi[516]: 07:02:13 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:02:14 three inkypi[516]: 07:02:14 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:02:20 three inkypi[516]: 07:02:20 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:04:23 three inkypi[516]: 07:04:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:04:23 May 19 07:04:23 three inkypi[516]: 07:04:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 07:04:23 three inkypi[516]: 07:04:23 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 07:04:23 three inkypi[516]: 07:04:23 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T07:04:23.023563-07:00', 'image_hash': 'e7f943d5d1703849e00bf6f6896bbf5a2db8bbca301ef4cc889b80f3ba317e04'} May 19 07:04:23 three inkypi[516]: 07:04:23 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:04:24 three inkypi[516]: 07:04:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:04:30 three inkypi[516]: 07:04:30 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:06:32 three inkypi[516]: 07:06:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:06:32 May 19 07:06:32 three inkypi[516]: 07:06:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 07:06:32 three inkypi[516]: 07:06:32 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 07:06:33 three inkypi[516]: 07:06:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T07:06:32.823714-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 07:06:33 three inkypi[516]: 07:06:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:06:33 three inkypi[516]: 07:06:33 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:06:39 three inkypi[516]: 07:06:39 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:08:41 three inkypi[516]: 07:08:41 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:08:41 May 19 07:08:41 three inkypi[516]: 07:08:41 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 07:08:41 three inkypi[516]: 07:08:41 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 07:08:41 three inkypi[516]: 07:08:41 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T07:08:41.823412-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 07:08:41 three inkypi[516]: 07:08:41 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:08:42 three inkypi[516]: 07:08:42 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:08:48 three inkypi[516]: 07:08:48 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:10:50 three inkypi[516]: 07:10:50 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:10:50 May 19 07:10:50 three inkypi[516]: 07:10:50 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 07:10:50 three inkypi[516]: 07:10:50 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 07:11:42 three inkypi[516]: 07:11:42 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T07:10:50.723925-07:00', 'image_hash': '3a422a99121805109b1e3a90a17c9a554e5f56355b380d6c9ab3ec009dc3a23e'} May 19 07:11:42 three inkypi[516]: 07:11:42 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:11:43 three inkypi[516]: 07:11:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:11:50 three inkypi[516]: 07:11:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:13:52 three inkypi[516]: 07:13:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:13:52 May 19 07:13:52 three inkypi[516]: 07:13:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 07:13:52 three inkypi[516]: 07:13:52 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 07:13:53 three inkypi[516]: 07:13:53 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T07:13:52.263097-07:00', 'image_hash': '120c02fa128b704a94a8e5ca78da68b7d66b23e018661cb5d7025924e46c0452'} May 19 07:13:53 three inkypi[516]: 07:13:53 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:13:53 three inkypi[516]: 07:13:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:13:59 three inkypi[516]: 07:13:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:16:02 three inkypi[516]: 07:16:02 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:16:02 May 19 07:16:02 three inkypi[516]: 07:16:02 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 07:16:02 three inkypi[516]: 07:16:02 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 07:16:02 three inkypi[516]: 07:16:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T07:16:02.023932-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 07:16:02 three inkypi[516]: 07:16:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:16:02 three inkypi[516]: 07:16:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:16:09 three inkypi[516]: 07:16:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:18:11 three inkypi[516]: 07:18:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:18:11 May 19 07:18:11 three inkypi[516]: 07:18:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 07:18:11 three inkypi[516]: 07:18:11 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 07:18:11 three inkypi[516]: 07:18:11 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T07:18:11.224141-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 07:18:11 three inkypi[516]: 07:18:11 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:18:11 three inkypi[516]: 07:18:11 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:18:18 three inkypi[516]: 07:18:18 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:20:20 three inkypi[516]: 07:20:20 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:20:20 May 19 07:20:20 three inkypi[516]: 07:20:20 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 07:20:20 three inkypi[516]: 07:20:20 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 07:20:20 three inkypi[516]: 07:20:20 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T07:20:20.523282-07:00', 'image_hash': '3a422a99121805109b1e3a90a17c9a554e5f56355b380d6c9ab3ec009dc3a23e'} May 19 07:20:20 three inkypi[516]: 07:20:20 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:20:21 three inkypi[516]: 07:20:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:20:27 three inkypi[516]: 07:20:27 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:22:30 three inkypi[516]: 07:22:30 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:22:30 May 19 07:22:30 three inkypi[516]: 07:22:30 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 07:22:30 three inkypi[516]: 07:22:30 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 07:22:30 three inkypi[516]: 07:22:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T07:22:30.023195-07:00', 'image_hash': '34484222631b231c3ccf306862610a143b891e1c2ef3c4151e2f11fa61f06a44'} May 19 07:22:30 three inkypi[516]: 07:22:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:22:31 three inkypi[516]: 07:22:31 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:22:37 three inkypi[516]: 07:22:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:24:39 three inkypi[516]: 07:24:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:24:39 May 19 07:24:39 three inkypi[516]: 07:24:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 07:24:39 three inkypi[516]: 07:24:39 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 07:24:39 three inkypi[516]: 07:24:39 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 07:24:39 three inkypi[516]: 07:24:39 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 07:24:39 three inkypi[516]: 07:24:39 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 07:24:39 three inkypi[516]: 07:24:39 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 07:24:39 three inkypi[516]: 07:24:39 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 07:24:39 three inkypi[516]: 07:24:39 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 07:24:39 three inkypi[516]: 07:24:39 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 07:24:39 three inkypi[516]: 07:24:39 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 07:24:43 three inkypi[516]: 07:24:43 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 07:24:43 three inkypi[516]: 07:24:43 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 07:25:05 three inkypi[516]: 07:25:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T07:24:39.523317-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 07:25:05 three inkypi[516]: 07:25:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:25:05 three inkypi[516]: 07:25:05 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:25:12 three inkypi[516]: 07:25:12 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:27:14 three inkypi[516]: 07:27:14 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:27:14 May 19 07:27:14 three inkypi[516]: 07:27:14 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 07:27:14 three inkypi[516]: 07:27:14 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 07:27:14 three inkypi[516]: 07:27:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T07:27:14.546247-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 07:27:14 three inkypi[516]: 07:27:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:27:15 three inkypi[516]: 07:27:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:27:21 three inkypi[516]: 07:27:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:29:23 three inkypi[516]: 07:29:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:29:23 May 19 07:29:23 three inkypi[516]: 07:29:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 07:29:23 three inkypi[516]: 07:29:23 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 07:29:24 three inkypi[516]: 07:29:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T07:29:23.823655-07:00', 'image_hash': '3a422a99121805109b1e3a90a17c9a554e5f56355b380d6c9ab3ec009dc3a23e'} May 19 07:29:24 three inkypi[516]: 07:29:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:29:24 three inkypi[516]: 07:29:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:29:31 three inkypi[516]: 07:29:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:31:33 three inkypi[516]: 07:31:33 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:31:33 May 19 07:31:33 three inkypi[516]: 07:31:33 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 07:31:33 three inkypi[516]: 07:31:33 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 07:31:34 three inkypi[516]: 07:31:34 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T07:31:33.421622-07:00', 'image_hash': 'f5d803da672dc3a2ed9b6c15f884681fb9946cacb46b05d881bcfab216c33957'} May 19 07:31:34 three inkypi[516]: 07:31:34 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:31:34 three inkypi[516]: 07:31:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:31:41 three inkypi[516]: 07:31:41 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:33:43 three inkypi[516]: 07:33:43 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:33:43 May 19 07:33:43 three inkypi[516]: 07:33:43 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 07:33:43 three inkypi[516]: 07:33:43 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 07:33:43 three inkypi[516]: 07:33:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T07:33:43.223563-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 07:33:43 three inkypi[516]: 07:33:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:33:43 three inkypi[516]: 07:33:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:33:50 three inkypi[516]: 07:33:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:35:52 three inkypi[516]: 07:35:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:35:52 May 19 07:35:52 three inkypi[516]: 07:35:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 07:35:52 three inkypi[516]: 07:35:52 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 07:35:52 three inkypi[516]: 07:35:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T07:35:52.423569-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 07:35:52 three inkypi[516]: 07:35:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:35:53 three inkypi[516]: 07:35:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:35:59 three inkypi[516]: 07:35:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:38:01 three inkypi[516]: 07:38:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:38:01 May 19 07:38:01 three inkypi[516]: 07:38:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 07:38:01 three inkypi[516]: 07:38:01 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 07:38:01 three inkypi[516]: 07:38:01 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T07:38:01.723544-07:00', 'image_hash': '3a422a99121805109b1e3a90a17c9a554e5f56355b380d6c9ab3ec009dc3a23e'} May 19 07:38:01 three inkypi[516]: 07:38:01 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:38:02 three inkypi[516]: 07:38:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:38:09 three inkypi[516]: 07:38:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:40:11 three inkypi[516]: 07:40:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:40:11 May 19 07:40:11 three inkypi[516]: 07:40:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 07:40:11 three inkypi[516]: 07:40:11 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 07:40:11 three inkypi[516]: 07:40:11 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T07:40:11.223671-07:00', 'image_hash': '99d1fcd454145b87e43c9a98dab6b88e89e759b688e8e8c7fed433e8c8fcd2ce'} May 19 07:40:11 three inkypi[516]: 07:40:11 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:40:12 three inkypi[516]: 07:40:12 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:40:18 three inkypi[516]: 07:40:18 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:42:21 three inkypi[516]: 07:42:21 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:42:21 May 19 07:42:21 three inkypi[516]: 07:42:21 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 07:42:21 three inkypi[516]: 07:42:21 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 07:42:21 three inkypi[516]: 07:42:21 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T07:42:21.023338-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 07:42:21 three inkypi[516]: 07:42:21 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:42:21 three inkypi[516]: 07:42:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:42:27 three inkypi[516]: 07:42:27 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:44:30 three inkypi[516]: 07:44:30 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:44:30 May 19 07:44:30 three inkypi[516]: 07:44:30 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 07:44:30 three inkypi[516]: 07:44:30 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 07:44:30 three inkypi[516]: 07:44:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T07:44:30.029617-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 07:44:30 three inkypi[516]: 07:44:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:44:30 three inkypi[516]: 07:44:30 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:44:37 three inkypi[516]: 07:44:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:46:39 three inkypi[516]: 07:46:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:46:39 May 19 07:46:39 three inkypi[516]: 07:46:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 07:46:39 three inkypi[516]: 07:46:39 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 07:47:31 three inkypi[516]: 07:47:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T07:46:39.421258-07:00', 'image_hash': '5b0e5ad398d7cdad6be38a73117db2e88e8510ec857a61d1873abf665bd2a6c0'} May 19 07:47:31 three inkypi[516]: 07:47:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:47:31 three inkypi[516]: 07:47:31 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:47:38 three inkypi[516]: 07:47:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:49:40 three inkypi[516]: 07:49:40 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:49:40 May 19 07:49:40 three inkypi[516]: 07:49:40 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 07:49:40 three inkypi[516]: 07:49:40 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 07:49:41 three inkypi[516]: 07:49:41 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T07:49:40.362061-07:00', 'image_hash': '490cc0192d83445a4ad2bde3b1db74172b9b65b8cba0915b025bf2f51f2acfe6'} May 19 07:49:41 three inkypi[516]: 07:49:41 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:49:41 three inkypi[516]: 07:49:41 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:49:48 three inkypi[516]: 07:49:48 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:51:50 three inkypi[516]: 07:51:50 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:51:50 May 19 07:51:50 three inkypi[516]: 07:51:50 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 07:51:50 three inkypi[516]: 07:51:50 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 07:51:50 three inkypi[516]: 07:51:50 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T07:51:50.323882-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 07:51:50 three inkypi[516]: 07:51:50 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:51:50 three inkypi[516]: 07:51:50 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:51:57 three inkypi[516]: 07:51:57 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:53:59 three inkypi[516]: 07:53:59 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:53:59 May 19 07:53:59 three inkypi[516]: 07:53:59 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 07:53:59 three inkypi[516]: 07:53:59 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 07:53:59 three inkypi[516]: 07:53:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T07:53:59.523786-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 07:53:59 three inkypi[516]: 07:53:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:54:00 three inkypi[516]: 07:54:00 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:54:06 three inkypi[516]: 07:54:06 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:56:08 three inkypi[516]: 07:56:08 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:56:08 May 19 07:56:08 three inkypi[516]: 07:56:08 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 07:56:08 three inkypi[516]: 07:56:08 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 07:56:09 three inkypi[516]: 07:56:09 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T07:56:08.923329-07:00', 'image_hash': '5b0e5ad398d7cdad6be38a73117db2e88e8510ec857a61d1873abf665bd2a6c0'} May 19 07:56:09 three inkypi[516]: 07:56:09 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:56:09 three inkypi[516]: 07:56:09 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:56:16 three inkypi[516]: 07:56:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 07:58:18 three inkypi[516]: 07:58:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 07:58:18 May 19 07:58:18 three inkypi[516]: 07:58:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 07:58:18 three inkypi[516]: 07:58:18 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 07:58:19 three inkypi[516]: 07:58:19 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T07:58:18.523602-07:00', 'image_hash': '632bc14b77d9903cf5359cbd090a1bafa7a7cd18597ca4846d84d41051a0940f'} May 19 07:58:19 three inkypi[516]: 07:58:19 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 07:58:19 three inkypi[516]: 07:58:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 07:58:26 three inkypi[516]: 07:58:26 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:00:28 three inkypi[516]: 08:00:28 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:00:28 May 19 08:00:28 three inkypi[516]: 08:00:28 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 08:00:28 three inkypi[516]: 08:00:28 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 08:00:28 three inkypi[516]: 08:00:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T08:00:28.324283-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 08:00:28 three inkypi[516]: 08:00:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:00:28 three inkypi[516]: 08:00:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:00:35 three inkypi[516]: 08:00:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:02:37 three inkypi[516]: 08:02:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:02:37 May 19 08:02:37 three inkypi[516]: 08:02:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 08:02:37 three inkypi[516]: 08:02:37 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 08:03:33 three inkypi[516]: 08:03:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T08:02:37.423342-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 08:03:33 three inkypi[516]: 08:03:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:03:34 three inkypi[516]: 08:03:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:03:40 three inkypi[516]: 08:03:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:05:42 three inkypi[516]: 08:05:42 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:05:42 May 19 08:05:42 three inkypi[516]: 08:05:42 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 08:05:42 three inkypi[516]: 08:05:42 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 08:05:42 three inkypi[516]: 08:05:42 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T08:05:42.663676-07:00', 'image_hash': '5b0e5ad398d7cdad6be38a73117db2e88e8510ec857a61d1873abf665bd2a6c0'} May 19 08:05:42 three inkypi[516]: 08:05:42 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:05:43 three inkypi[516]: 08:05:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:05:50 three inkypi[516]: 08:05:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:07:52 three inkypi[516]: 08:07:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:07:52 May 19 08:07:52 three inkypi[516]: 08:07:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 08:07:52 three inkypi[516]: 08:07:52 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 08:07:52 three inkypi[516]: 08:07:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T08:07:52.123723-07:00', 'image_hash': '959fdaa38a151775644e30a94e0d277036f891e6a50c563e20cd034b8c185d33'} May 19 08:07:52 three inkypi[516]: 08:07:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:07:53 three inkypi[516]: 08:07:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:07:59 three inkypi[516]: 08:07:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:10:02 three inkypi[516]: 08:10:02 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:10:02 May 19 08:10:02 three inkypi[516]: 08:10:02 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 08:10:02 three inkypi[516]: 08:10:02 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 08:10:02 three inkypi[516]: 08:10:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T08:10:02.023820-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 08:10:02 three inkypi[516]: 08:10:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:10:02 three inkypi[516]: 08:10:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:10:09 three inkypi[516]: 08:10:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:12:11 three inkypi[516]: 08:12:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:12:11 May 19 08:12:11 three inkypi[516]: 08:12:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 08:12:11 three inkypi[516]: 08:12:11 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 08:12:11 three inkypi[516]: 08:12:11 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T08:12:11.223547-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 08:12:11 three inkypi[516]: 08:12:11 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:12:11 three inkypi[516]: 08:12:11 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:12:18 three inkypi[516]: 08:12:18 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:14:20 three inkypi[516]: 08:14:20 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:14:20 May 19 08:14:20 three inkypi[516]: 08:14:20 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 08:14:20 three inkypi[516]: 08:14:20 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 08:14:20 three inkypi[516]: 08:14:20 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T08:14:20.124235-07:00', 'image_hash': '5b0e5ad398d7cdad6be38a73117db2e88e8510ec857a61d1873abf665bd2a6c0'} May 19 08:14:20 three inkypi[516]: 08:14:20 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:14:21 three inkypi[516]: 08:14:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:14:27 three inkypi[516]: 08:14:27 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:16:29 three inkypi[516]: 08:16:29 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:16:29 May 19 08:16:29 three inkypi[516]: 08:16:29 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 08:16:29 three inkypi[516]: 08:16:29 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 08:16:29 three inkypi[516]: 08:16:29 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T08:16:29.423536-07:00', 'image_hash': '8aa0273816415de32b00f613005c6f2fe5fc2bc86dfa44f37037e2323d88764c'} May 19 08:16:29 three inkypi[516]: 08:16:29 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:16:30 three inkypi[516]: 08:16:30 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:16:37 three inkypi[516]: 08:16:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:18:39 three inkypi[516]: 08:18:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:18:39 May 19 08:18:39 three inkypi[516]: 08:18:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 08:18:39 three inkypi[516]: 08:18:39 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 08:18:39 three inkypi[516]: 08:18:39 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T08:18:39.223516-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 08:18:39 three inkypi[516]: 08:18:39 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:18:39 three inkypi[516]: 08:18:39 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:18:46 three inkypi[516]: 08:18:46 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:20:48 three inkypi[516]: 08:20:48 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:20:48 May 19 08:20:48 three inkypi[516]: 08:20:48 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 08:20:48 three inkypi[516]: 08:20:48 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 08:20:48 three inkypi[516]: 08:20:48 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T08:20:48.422994-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 08:20:48 three inkypi[516]: 08:20:48 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:20:49 three inkypi[516]: 08:20:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:20:55 three inkypi[516]: 08:20:55 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:22:57 three inkypi[516]: 08:22:57 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:22:57 May 19 08:22:57 three inkypi[516]: 08:22:57 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 08:22:57 three inkypi[516]: 08:22:57 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 08:23:50 three inkypi[516]: 08:23:50 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T08:22:57.323103-07:00', 'image_hash': 'bec741cf6233b8992fee015c57a2706e4980ba32129ee4952fe2240478f31e6f'} May 19 08:23:50 three inkypi[516]: 08:23:50 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:23:51 three inkypi[516]: 08:23:51 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:23:57 three inkypi[516]: 08:23:57 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:25:59 three inkypi[516]: 08:25:59 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:25:59 May 19 08:25:59 three inkypi[516]: 08:25:59 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 08:25:59 three inkypi[516]: 08:25:59 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 08:26:00 three inkypi[516]: 08:26:00 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T08:25:59.863804-07:00', 'image_hash': '0cd733f7f75584fc99da3424516814c2c5e730b237d77130fdd99e4a3bbad601'} May 19 08:26:00 three inkypi[516]: 08:26:00 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:26:01 three inkypi[516]: 08:26:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:26:07 three inkypi[516]: 08:26:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:28:09 three inkypi[516]: 08:28:09 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:28:09 May 19 08:28:09 three inkypi[516]: 08:28:09 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 08:28:09 three inkypi[516]: 08:28:09 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 08:28:09 three inkypi[516]: 08:28:09 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 08:28:09 three inkypi[516]: 08:28:09 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 08:28:09 three inkypi[516]: 08:28:09 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 08:28:09 three inkypi[516]: 08:28:09 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 08:28:09 three inkypi[516]: 08:28:09 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 08:28:09 three inkypi[516]: 08:28:09 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 08:28:09 three inkypi[516]: 08:28:09 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 08:28:09 three inkypi[516]: 08:28:09 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 08:28:13 three inkypi[516]: 08:28:13 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 08:28:13 three inkypi[516]: 08:28:13 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 08:28:35 three inkypi[516]: 08:28:35 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T08:28:09.723180-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 08:28:35 three inkypi[516]: 08:28:35 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:28:36 three inkypi[516]: 08:28:36 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:28:42 three inkypi[516]: 08:28:42 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:30:44 three inkypi[516]: 08:30:44 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:30:44 May 19 08:30:44 three inkypi[516]: 08:30:44 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 08:30:44 three inkypi[516]: 08:30:44 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 08:30:45 three inkypi[516]: 08:30:45 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T08:30:44.957574-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 08:30:45 three inkypi[516]: 08:30:45 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:30:45 three inkypi[516]: 08:30:45 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:30:52 three inkypi[516]: 08:30:52 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:32:54 three inkypi[516]: 08:32:54 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:32:54 May 19 08:32:54 three inkypi[516]: 08:32:54 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 08:32:54 three inkypi[516]: 08:32:54 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 08:32:54 three inkypi[516]: 08:32:54 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T08:32:54.323395-07:00', 'image_hash': 'bec741cf6233b8992fee015c57a2706e4980ba32129ee4952fe2240478f31e6f'} May 19 08:32:54 three inkypi[516]: 08:32:54 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:32:55 three inkypi[516]: 08:32:55 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:33:01 three inkypi[516]: 08:33:01 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:35:03 three inkypi[516]: 08:35:03 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:35:03 May 19 08:35:03 three inkypi[516]: 08:35:03 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 08:35:03 three inkypi[516]: 08:35:03 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 08:35:04 three inkypi[516]: 08:35:04 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T08:35:03.923785-07:00', 'image_hash': '85b36eaa7812158b04e3ca6f2010fd7d24091c5eb60ba15b1f8d509bc372efbb'} May 19 08:35:04 three inkypi[516]: 08:35:04 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:35:05 three inkypi[516]: 08:35:05 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:35:11 three inkypi[516]: 08:35:11 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:37:13 three inkypi[516]: 08:37:13 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:37:13 May 19 08:37:13 three inkypi[516]: 08:37:13 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 08:37:13 three inkypi[516]: 08:37:13 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 08:37:13 three inkypi[516]: 08:37:13 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T08:37:13.623809-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 08:37:13 three inkypi[516]: 08:37:13 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:37:14 three inkypi[516]: 08:37:14 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:37:20 three inkypi[516]: 08:37:20 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:39:22 three inkypi[516]: 08:39:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:39:22 May 19 08:39:22 three inkypi[516]: 08:39:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 08:39:22 three inkypi[516]: 08:39:22 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 08:39:22 three inkypi[516]: 08:39:22 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T08:39:22.423775-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 08:39:22 three inkypi[516]: 08:39:22 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:39:23 three inkypi[516]: 08:39:23 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:39:29 three inkypi[516]: 08:39:29 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:41:31 three inkypi[516]: 08:41:31 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:41:31 May 19 08:41:31 three inkypi[516]: 08:41:31 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 08:41:31 three inkypi[516]: 08:41:31 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 08:41:31 three inkypi[516]: 08:41:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T08:41:31.730208-07:00', 'image_hash': 'bec741cf6233b8992fee015c57a2706e4980ba32129ee4952fe2240478f31e6f'} May 19 08:41:31 three inkypi[516]: 08:41:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:41:32 three inkypi[516]: 08:41:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:41:39 three inkypi[516]: 08:41:39 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:43:41 three inkypi[516]: 08:43:41 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:43:41 May 19 08:43:41 three inkypi[516]: 08:43:41 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 08:43:41 three inkypi[516]: 08:43:41 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 08:43:41 three inkypi[516]: 08:43:41 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T08:43:41.321378-07:00', 'image_hash': 'b18b453dc0ddeef3a0041a542cb89e1dfa99b38f2c221971f1fc483bd7079fdb'} May 19 08:43:41 three inkypi[516]: 08:43:41 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:43:42 three inkypi[516]: 08:43:42 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:43:49 three inkypi[516]: 08:43:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:45:51 three inkypi[516]: 08:45:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:45:51 May 19 08:45:51 three inkypi[516]: 08:45:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 08:45:51 three inkypi[516]: 08:45:51 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 08:45:51 three inkypi[516]: 08:45:51 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T08:45:51.121075-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 08:45:51 three inkypi[516]: 08:45:51 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:45:51 three inkypi[516]: 08:45:51 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:45:58 three inkypi[516]: 08:45:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:48:00 three inkypi[516]: 08:48:00 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:48:00 May 19 08:48:00 three inkypi[516]: 08:48:00 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 08:48:00 three inkypi[516]: 08:48:00 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 08:48:00 three inkypi[516]: 08:48:00 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T08:48:00.321015-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 08:48:00 three inkypi[516]: 08:48:00 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:48:00 three inkypi[516]: 08:48:00 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:48:07 three inkypi[516]: 08:48:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:50:09 three inkypi[516]: 08:50:09 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:50:09 May 19 08:50:09 three inkypi[516]: 08:50:09 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 08:50:09 three inkypi[516]: 08:50:09 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 08:50:09 three inkypi[516]: 08:50:09 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T08:50:09.223269-07:00', 'image_hash': 'bec741cf6233b8992fee015c57a2706e4980ba32129ee4952fe2240478f31e6f'} May 19 08:50:09 three inkypi[516]: 08:50:09 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:50:09 three inkypi[516]: 08:50:09 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:50:16 three inkypi[516]: 08:50:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:52:18 three inkypi[516]: 08:52:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:52:18 May 19 08:52:18 three inkypi[516]: 08:52:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 08:52:18 three inkypi[516]: 08:52:18 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 08:52:18 three inkypi[516]: 08:52:18 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T08:52:18.223629-07:00', 'image_hash': '7dc856fef527f226ec004e78f668a0485ca85046580b14b3fd35588d65c472d8'} May 19 08:52:18 three inkypi[516]: 08:52:18 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:52:19 three inkypi[516]: 08:52:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:52:25 three inkypi[516]: 08:52:25 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:54:27 three inkypi[516]: 08:54:27 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:54:27 May 19 08:54:27 three inkypi[516]: 08:54:27 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 08:54:27 three inkypi[516]: 08:54:27 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 08:54:27 three inkypi[516]: 08:54:27 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T08:54:27.423103-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 08:54:27 three inkypi[516]: 08:54:27 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:54:28 three inkypi[516]: 08:54:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:54:34 three inkypi[516]: 08:54:34 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:56:36 three inkypi[516]: 08:56:36 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:56:36 May 19 08:56:36 three inkypi[516]: 08:56:36 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 08:56:36 three inkypi[516]: 08:56:36 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 08:56:36 three inkypi[516]: 08:56:36 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T08:56:36.623085-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 08:56:36 three inkypi[516]: 08:56:36 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:56:37 three inkypi[516]: 08:56:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:56:43 three inkypi[516]: 08:56:43 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 08:58:46 three inkypi[516]: 08:58:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 08:58:46 May 19 08:58:46 three inkypi[516]: 08:58:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 08:58:46 three inkypi[516]: 08:58:46 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 08:59:36 three inkypi[516]: 08:59:36 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T08:58:46.021137-07:00', 'image_hash': 'f0bb5d7c0679a2bdd4cd06036af3ee829cd65f4bd6c563d7f550302e4a135707'} May 19 08:59:36 three inkypi[516]: 08:59:36 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 08:59:37 three inkypi[516]: 08:59:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 08:59:43 three inkypi[516]: 08:59:43 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:01:46 three inkypi[516]: 09:01:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:01:46 May 19 09:01:46 three inkypi[516]: 09:01:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 09:01:46 three inkypi[516]: 09:01:46 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 09:01:46 three inkypi[516]: 09:01:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T09:01:46.151970-07:00', 'image_hash': '3557d128d13e3ef1536364cd1603d62441e76bbbb87c409cb1f7b2b2993e621f'} May 19 09:01:46 three inkypi[516]: 09:01:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:01:47 three inkypi[516]: 09:01:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:01:53 three inkypi[516]: 09:01:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:03:55 three inkypi[516]: 09:03:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:03:55 May 19 09:03:55 three inkypi[516]: 09:03:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 09:03:55 three inkypi[516]: 09:03:55 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 09:03:55 three inkypi[516]: 09:03:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T09:03:55.623890-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 09:03:55 three inkypi[516]: 09:03:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:03:56 three inkypi[516]: 09:03:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:04:02 three inkypi[516]: 09:04:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:06:04 three inkypi[516]: 09:06:04 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:06:04 May 19 09:06:04 three inkypi[516]: 09:06:04 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 09:06:04 three inkypi[516]: 09:06:04 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 09:06:57 three inkypi[516]: 09:06:57 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T09:06:04.623203-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 09:06:57 three inkypi[516]: 09:06:57 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:06:58 three inkypi[516]: 09:06:58 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:07:04 three inkypi[516]: 09:07:04 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:09:06 three inkypi[516]: 09:09:06 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:09:06 May 19 09:09:06 three inkypi[516]: 09:09:06 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 09:09:06 three inkypi[516]: 09:09:06 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 09:09:07 three inkypi[516]: 09:09:07 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T09:09:06.854367-07:00', 'image_hash': 'f0bb5d7c0679a2bdd4cd06036af3ee829cd65f4bd6c563d7f550302e4a135707'} May 19 09:09:07 three inkypi[516]: 09:09:07 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:09:07 three inkypi[516]: 09:09:07 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:09:13 three inkypi[516]: 09:09:13 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:11:15 three inkypi[516]: 09:11:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:11:15 May 19 09:11:15 three inkypi[516]: 09:11:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 09:11:15 three inkypi[516]: 09:11:15 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 09:11:16 three inkypi[516]: 09:11:16 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T09:11:15.923834-07:00', 'image_hash': '787d0c349d1175d4cf1c62f652b0b6901cb81abc3d44b0984e19bf4cc16367e6'} May 19 09:11:16 three inkypi[516]: 09:11:16 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:11:17 three inkypi[516]: 09:11:17 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:11:23 three inkypi[516]: 09:11:23 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:13:25 three inkypi[516]: 09:13:25 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:13:25 May 19 09:13:25 three inkypi[516]: 09:13:25 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 09:13:25 three inkypi[516]: 09:13:25 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 09:13:25 three inkypi[516]: 09:13:25 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T09:13:25.723362-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 09:13:25 three inkypi[516]: 09:13:25 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:13:26 three inkypi[516]: 09:13:26 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:13:32 three inkypi[516]: 09:13:32 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:15:34 three inkypi[516]: 09:15:34 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:15:34 May 19 09:15:34 three inkypi[516]: 09:15:34 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 09:15:34 three inkypi[516]: 09:15:34 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 09:15:35 three inkypi[516]: 09:15:35 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T09:15:34.924300-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 09:15:35 three inkypi[516]: 09:15:35 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:15:35 three inkypi[516]: 09:15:35 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:15:42 three inkypi[516]: 09:15:42 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:17:44 three inkypi[516]: 09:17:44 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:17:44 May 19 09:17:44 three inkypi[516]: 09:17:44 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 09:17:44 three inkypi[516]: 09:17:44 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 09:17:44 three inkypi[516]: 09:17:44 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T09:17:44.324063-07:00', 'image_hash': 'f0bb5d7c0679a2bdd4cd06036af3ee829cd65f4bd6c563d7f550302e4a135707'} May 19 09:17:44 three inkypi[516]: 09:17:44 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:17:45 three inkypi[516]: 09:17:45 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:17:51 three inkypi[516]: 09:17:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:19:53 three inkypi[516]: 09:19:53 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:19:53 May 19 09:19:53 three inkypi[516]: 09:19:53 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 09:19:53 three inkypi[516]: 09:19:53 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 09:19:54 three inkypi[516]: 09:19:54 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T09:19:53.624016-07:00', 'image_hash': 'afa4e6475847d48b25dab2ab41a0a32e2366e18c5ed05d70b568abf8445681d1'} May 19 09:19:54 three inkypi[516]: 09:19:54 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:19:54 three inkypi[516]: 09:19:54 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:20:00 three inkypi[516]: 09:20:00 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:22:02 three inkypi[516]: 09:22:02 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:22:02 May 19 09:22:02 three inkypi[516]: 09:22:02 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 09:22:02 three inkypi[516]: 09:22:02 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 09:22:02 three inkypi[516]: 09:22:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T09:22:02.823863-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 09:22:02 three inkypi[516]: 09:22:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:22:03 three inkypi[516]: 09:22:03 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:22:09 three inkypi[516]: 09:22:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:24:12 three inkypi[516]: 09:24:12 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:24:12 May 19 09:24:12 three inkypi[516]: 09:24:12 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 09:24:12 three inkypi[516]: 09:24:12 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 09:24:12 three inkypi[516]: 09:24:12 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T09:24:12.023204-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 09:24:12 three inkypi[516]: 09:24:12 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:24:12 three inkypi[516]: 09:24:12 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:24:19 three inkypi[516]: 09:24:19 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:26:21 three inkypi[516]: 09:26:21 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:26:21 May 19 09:26:21 three inkypi[516]: 09:26:21 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 09:26:21 three inkypi[516]: 09:26:21 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 09:26:21 three inkypi[516]: 09:26:21 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T09:26:21.323726-07:00', 'image_hash': 'f0bb5d7c0679a2bdd4cd06036af3ee829cd65f4bd6c563d7f550302e4a135707'} May 19 09:26:21 three inkypi[516]: 09:26:21 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:26:22 three inkypi[516]: 09:26:22 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:26:28 three inkypi[516]: 09:26:28 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:28:30 three inkypi[516]: 09:28:30 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:28:30 May 19 09:28:30 three inkypi[516]: 09:28:30 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 09:28:30 three inkypi[516]: 09:28:30 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 09:28:30 three inkypi[516]: 09:28:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T09:28:30.323782-07:00', 'image_hash': '7e4d31a4209d8ebdaa776113d5b93d0114a928b8bf6f3b405c16a5f6bf7fed53'} May 19 09:28:30 three inkypi[516]: 09:28:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:28:31 three inkypi[516]: 09:28:31 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:28:37 three inkypi[516]: 09:28:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:30:39 three inkypi[516]: 09:30:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:30:39 May 19 09:30:39 three inkypi[516]: 09:30:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 09:30:39 three inkypi[516]: 09:30:39 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 09:30:39 three inkypi[516]: 09:30:39 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 09:30:39 three inkypi[516]: 09:30:39 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 09:30:39 three inkypi[516]: 09:30:39 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 09:30:39 three inkypi[516]: 09:30:39 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 09:30:39 three inkypi[516]: 09:30:39 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 09:30:39 three inkypi[516]: 09:30:39 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 09:30:39 three inkypi[516]: 09:30:39 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 09:30:39 three inkypi[516]: 09:30:39 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 09:30:43 three inkypi[516]: 09:30:43 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 09:30:43 three inkypi[516]: 09:30:43 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 09:31:06 three inkypi[516]: 09:31:06 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T09:30:39.523437-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 09:31:06 three inkypi[516]: 09:31:06 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:31:06 three inkypi[516]: 09:31:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:31:13 three inkypi[516]: 09:31:13 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:33:15 three inkypi[516]: 09:33:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:33:15 May 19 09:33:15 three inkypi[516]: 09:33:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 09:33:15 three inkypi[516]: 09:33:15 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 09:33:15 three inkypi[516]: 09:33:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T09:33:15.158307-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 09:33:15 three inkypi[516]: 09:33:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:33:15 three inkypi[516]: 09:33:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:33:22 three inkypi[516]: 09:33:22 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:35:24 three inkypi[516]: 09:35:24 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:35:24 May 19 09:35:24 three inkypi[516]: 09:35:24 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 09:35:24 three inkypi[516]: 09:35:24 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 09:36:14 three inkypi[516]: 09:36:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T09:35:24.223331-07:00', 'image_hash': '129a331f782253c5b8462625db6dbe539074133cb3c7c7089750bcd663ff2d67'} May 19 09:36:14 three inkypi[516]: 09:36:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:36:15 three inkypi[516]: 09:36:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:36:21 three inkypi[516]: 09:36:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:38:23 three inkypi[516]: 09:38:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:38:23 May 19 09:38:23 three inkypi[516]: 09:38:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 09:38:23 three inkypi[516]: 09:38:23 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 09:38:24 three inkypi[516]: 09:38:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T09:38:23.953528-07:00', 'image_hash': '0a56d537627f64b536a9887501eb73c5c8c7a729c376dc0259091a3cc0354638'} May 19 09:38:24 three inkypi[516]: 09:38:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:38:25 three inkypi[516]: 09:38:25 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:38:31 three inkypi[516]: 09:38:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:40:33 three inkypi[516]: 09:40:33 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:40:33 May 19 09:40:33 three inkypi[516]: 09:40:33 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 09:40:33 three inkypi[516]: 09:40:33 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 09:40:33 three inkypi[516]: 09:40:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T09:40:33.724454-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 09:40:33 three inkypi[516]: 09:40:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:40:34 three inkypi[516]: 09:40:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:40:40 three inkypi[516]: 09:40:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:42:43 three inkypi[516]: 09:42:43 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:42:43 May 19 09:42:43 three inkypi[516]: 09:42:43 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 09:42:43 three inkypi[516]: 09:42:43 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 09:42:43 three inkypi[516]: 09:42:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T09:42:43.021362-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 09:42:43 three inkypi[516]: 09:42:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:42:43 three inkypi[516]: 09:42:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:42:49 three inkypi[516]: 09:42:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:44:51 three inkypi[516]: 09:44:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:44:51 May 19 09:44:51 three inkypi[516]: 09:44:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 09:44:51 three inkypi[516]: 09:44:51 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 09:44:52 three inkypi[516]: 09:44:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T09:44:51.924254-07:00', 'image_hash': '129a331f782253c5b8462625db6dbe539074133cb3c7c7089750bcd663ff2d67'} May 19 09:44:52 three inkypi[516]: 09:44:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:44:52 three inkypi[516]: 09:44:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:44:59 three inkypi[516]: 09:44:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:47:01 three inkypi[516]: 09:47:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:47:01 May 19 09:47:01 three inkypi[516]: 09:47:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 09:47:01 three inkypi[516]: 09:47:01 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 09:47:02 three inkypi[516]: 09:47:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T09:47:01.524393-07:00', 'image_hash': '225f119d98d3ef716052b4e127333f4751c12200888a9a6eb18c641edc05d728'} May 19 09:47:02 three inkypi[516]: 09:47:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:47:02 three inkypi[516]: 09:47:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:47:09 three inkypi[516]: 09:47:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:49:11 three inkypi[516]: 09:49:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:49:11 May 19 09:49:11 three inkypi[516]: 09:49:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 09:49:11 three inkypi[516]: 09:49:11 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 09:49:11 three inkypi[516]: 09:49:11 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T09:49:11.223236-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 09:49:11 three inkypi[516]: 09:49:11 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:49:11 three inkypi[516]: 09:49:11 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:49:17 three inkypi[516]: 09:49:17 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:51:20 three inkypi[516]: 09:51:20 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:51:20 May 19 09:51:20 three inkypi[516]: 09:51:20 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 09:51:20 three inkypi[516]: 09:51:20 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 09:51:20 three inkypi[516]: 09:51:20 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T09:51:20.022964-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 09:51:20 three inkypi[516]: 09:51:20 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:51:20 three inkypi[516]: 09:51:20 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:51:27 three inkypi[516]: 09:51:27 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:53:29 three inkypi[516]: 09:53:29 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:53:29 May 19 09:53:29 three inkypi[516]: 09:53:29 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 09:53:29 three inkypi[516]: 09:53:29 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 09:53:29 three inkypi[516]: 09:53:29 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T09:53:29.423469-07:00', 'image_hash': '129a331f782253c5b8462625db6dbe539074133cb3c7c7089750bcd663ff2d67'} May 19 09:53:29 three inkypi[516]: 09:53:29 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:53:30 three inkypi[516]: 09:53:30 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:53:36 three inkypi[516]: 09:53:36 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:55:39 three inkypi[516]: 09:55:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:55:39 May 19 09:55:39 three inkypi[516]: 09:55:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 09:55:39 three inkypi[516]: 09:55:39 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 09:55:39 three inkypi[516]: 09:55:39 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T09:55:39.022994-07:00', 'image_hash': 'abf1635eb697b24db9bc255cd1e66b70185c121418fcf87a328a27eaebcb3d5b'} May 19 09:55:39 three inkypi[516]: 09:55:39 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:55:40 three inkypi[516]: 09:55:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:55:46 three inkypi[516]: 09:55:46 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:57:48 three inkypi[516]: 09:57:48 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:57:48 May 19 09:57:48 three inkypi[516]: 09:57:48 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 09:57:48 three inkypi[516]: 09:57:48 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 09:57:48 three inkypi[516]: 09:57:48 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T09:57:48.723259-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 09:57:48 three inkypi[516]: 09:57:48 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:57:49 three inkypi[516]: 09:57:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 09:57:55 three inkypi[516]: 09:57:55 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 09:59:58 three inkypi[516]: 09:59:58 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 09:59:58 May 19 09:59:58 three inkypi[516]: 09:59:58 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 09:59:58 three inkypi[516]: 09:59:58 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 09:59:58 three inkypi[516]: 09:59:58 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T09:59:58.023482-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 09:59:58 three inkypi[516]: 09:59:58 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 09:59:58 three inkypi[516]: 09:59:58 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:00:04 three inkypi[516]: 10:00:04 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:02:06 three inkypi[516]: 10:02:06 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:02:06 May 19 10:02:06 three inkypi[516]: 10:02:06 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 10:02:06 three inkypi[516]: 10:02:06 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 10:02:07 three inkypi[516]: 10:02:07 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T10:02:06.923947-07:00', 'image_hash': '129a331f782253c5b8462625db6dbe539074133cb3c7c7089750bcd663ff2d67'} May 19 10:02:07 three inkypi[516]: 10:02:07 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:02:07 three inkypi[516]: 10:02:07 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:02:14 three inkypi[516]: 10:02:14 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:04:16 three inkypi[516]: 10:04:16 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:04:16 May 19 10:04:16 three inkypi[516]: 10:04:16 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 10:04:16 three inkypi[516]: 10:04:16 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 10:04:17 three inkypi[516]: 10:04:17 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T10:04:16.521292-07:00', 'image_hash': 'e69a1bb705526a3dd031facbe90df62f45d82ffb7c4f478e9f9ed513f82285a0'} May 19 10:04:17 three inkypi[516]: 10:04:17 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:04:17 three inkypi[516]: 10:04:17 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:04:24 three inkypi[516]: 10:04:24 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:06:26 three inkypi[516]: 10:06:26 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:06:26 May 19 10:06:26 three inkypi[516]: 10:06:26 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 10:06:26 three inkypi[516]: 10:06:26 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 10:06:26 three inkypi[516]: 10:06:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T10:06:26.223200-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 10:06:26 three inkypi[516]: 10:06:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:06:26 three inkypi[516]: 10:06:26 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:06:33 three inkypi[516]: 10:06:33 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:08:35 three inkypi[516]: 10:08:35 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:08:35 May 19 10:08:35 three inkypi[516]: 10:08:35 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 10:08:35 three inkypi[516]: 10:08:35 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 10:09:28 three inkypi[516]: 10:09:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T10:08:35.423401-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 10:09:28 three inkypi[516]: 10:09:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:09:28 three inkypi[516]: 10:09:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:09:35 three inkypi[516]: 10:09:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:11:37 three inkypi[516]: 10:11:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:11:37 May 19 10:11:37 three inkypi[516]: 10:11:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 10:11:37 three inkypi[516]: 10:11:37 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 10:12:26 three inkypi[516]: 10:12:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T10:11:37.255747-07:00', 'image_hash': '2949f61ec2038b12d212d0adf7813ccf00bfd75949ccdb9564b552164f5d321b'} May 19 10:12:26 three inkypi[516]: 10:12:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:12:27 three inkypi[516]: 10:12:27 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:12:33 three inkypi[516]: 10:12:33 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:14:35 three inkypi[516]: 10:14:35 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:14:35 May 19 10:14:35 three inkypi[516]: 10:14:35 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 10:14:35 three inkypi[516]: 10:14:35 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 10:14:36 three inkypi[516]: 10:14:36 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T10:14:35.853291-07:00', 'image_hash': '5b45bf23a08d7a5006185833cd25dbe0481e9cb54082cf185336930f4dca466d'} May 19 10:14:36 three inkypi[516]: 10:14:36 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:14:37 three inkypi[516]: 10:14:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:14:43 three inkypi[516]: 10:14:43 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:16:45 three inkypi[516]: 10:16:45 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:16:45 May 19 10:16:45 three inkypi[516]: 10:16:45 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 10:16:45 three inkypi[516]: 10:16:45 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 10:16:46 three inkypi[516]: 10:16:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T10:16:45.922086-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 10:16:46 three inkypi[516]: 10:16:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:16:46 three inkypi[516]: 10:16:46 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:16:53 three inkypi[516]: 10:16:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:18:55 three inkypi[516]: 10:18:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:18:55 May 19 10:18:55 three inkypi[516]: 10:18:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 10:18:55 three inkypi[516]: 10:18:55 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 10:18:55 three inkypi[516]: 10:18:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T10:18:55.221223-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 10:18:55 three inkypi[516]: 10:18:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:18:55 three inkypi[516]: 10:18:55 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:19:02 three inkypi[516]: 10:19:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:21:04 three inkypi[516]: 10:21:04 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:21:04 May 19 10:21:04 three inkypi[516]: 10:21:04 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 10:21:04 three inkypi[516]: 10:21:04 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 10:21:04 three inkypi[516]: 10:21:04 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T10:21:04.621480-07:00', 'image_hash': '2949f61ec2038b12d212d0adf7813ccf00bfd75949ccdb9564b552164f5d321b'} May 19 10:21:04 three inkypi[516]: 10:21:04 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:21:05 three inkypi[516]: 10:21:05 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:21:11 three inkypi[516]: 10:21:11 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:23:13 three inkypi[516]: 10:23:13 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:23:13 May 19 10:23:13 three inkypi[516]: 10:23:13 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 10:23:13 three inkypi[516]: 10:23:13 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 10:23:14 three inkypi[516]: 10:23:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T10:23:13.623251-07:00', 'image_hash': '0ce37044695b9db807c234813b1f3a6dd5e3375a11108eab840d9146bc3501cf'} May 19 10:23:14 three inkypi[516]: 10:23:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:23:14 three inkypi[516]: 10:23:14 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:23:21 three inkypi[516]: 10:23:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:25:23 three inkypi[516]: 10:25:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:25:23 May 19 10:25:23 three inkypi[516]: 10:25:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 10:25:23 three inkypi[516]: 10:25:23 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 10:25:23 three inkypi[516]: 10:25:23 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T10:25:23.323343-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 10:25:23 three inkypi[516]: 10:25:23 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:25:23 three inkypi[516]: 10:25:23 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:25:30 three inkypi[516]: 10:25:30 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:27:32 three inkypi[516]: 10:27:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:27:32 May 19 10:27:32 three inkypi[516]: 10:27:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 10:27:32 three inkypi[516]: 10:27:32 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 10:27:32 three inkypi[516]: 10:27:32 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T10:27:32.622985-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 10:27:32 three inkypi[516]: 10:27:32 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:27:33 three inkypi[516]: 10:27:33 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:27:39 three inkypi[516]: 10:27:39 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:29:41 three inkypi[516]: 10:29:41 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:29:41 May 19 10:29:41 three inkypi[516]: 10:29:41 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 10:29:41 three inkypi[516]: 10:29:41 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 10:29:42 three inkypi[516]: 10:29:42 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T10:29:41.823431-07:00', 'image_hash': '2949f61ec2038b12d212d0adf7813ccf00bfd75949ccdb9564b552164f5d321b'} May 19 10:29:42 three inkypi[516]: 10:29:42 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:29:42 three inkypi[516]: 10:29:42 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:29:49 three inkypi[516]: 10:29:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:31:51 three inkypi[516]: 10:31:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:31:51 May 19 10:31:51 three inkypi[516]: 10:31:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 10:31:51 three inkypi[516]: 10:31:51 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 10:31:51 three inkypi[516]: 10:31:51 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T10:31:51.323847-07:00', 'image_hash': '5d3819011f42dc4f396ffd7177b66bfb6f4cbe4b69f102e2accaa66df1786f8a'} May 19 10:31:51 three inkypi[516]: 10:31:51 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:31:52 three inkypi[516]: 10:31:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:31:59 three inkypi[516]: 10:31:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:34:01 three inkypi[516]: 10:34:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:34:01 May 19 10:34:01 three inkypi[516]: 10:34:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 10:34:01 three inkypi[516]: 10:34:01 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 10:34:01 three inkypi[516]: 10:34:01 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 10:34:01 three inkypi[516]: 10:34:01 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 10:34:01 three inkypi[516]: 10:34:01 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 10:34:01 three inkypi[516]: 10:34:01 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 10:34:01 three inkypi[516]: 10:34:01 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 10:34:01 three inkypi[516]: 10:34:01 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 10:34:01 three inkypi[516]: 10:34:01 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 10:34:01 three inkypi[516]: 10:34:01 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 10:34:04 three inkypi[516]: 10:34:04 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 10:34:04 three inkypi[516]: 10:34:04 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 10:34:26 three inkypi[516]: 10:34:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T10:34:01.123381-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 10:34:26 three inkypi[516]: 10:34:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:34:27 three inkypi[516]: 10:34:27 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:34:33 three inkypi[516]: 10:34:33 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:36:35 three inkypi[516]: 10:36:35 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:36:35 May 19 10:36:35 three inkypi[516]: 10:36:35 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 10:36:35 three inkypi[516]: 10:36:35 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 10:36:35 three inkypi[516]: 10:36:35 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T10:36:35.757524-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 10:36:35 three inkypi[516]: 10:36:35 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:36:36 three inkypi[516]: 10:36:36 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:36:43 three inkypi[516]: 10:36:43 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:38:45 three inkypi[516]: 10:38:45 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:38:45 May 19 10:38:45 three inkypi[516]: 10:38:45 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 10:38:45 three inkypi[516]: 10:38:45 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 10:38:45 three inkypi[516]: 10:38:45 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T10:38:45.124088-07:00', 'image_hash': '2949f61ec2038b12d212d0adf7813ccf00bfd75949ccdb9564b552164f5d321b'} May 19 10:38:45 three inkypi[516]: 10:38:45 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:38:46 three inkypi[516]: 10:38:46 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:38:52 three inkypi[516]: 10:38:52 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:40:54 three inkypi[516]: 10:40:54 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:40:54 May 19 10:40:54 three inkypi[516]: 10:40:54 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 10:40:54 three inkypi[516]: 10:40:54 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 10:40:55 three inkypi[516]: 10:40:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T10:40:54.721230-07:00', 'image_hash': 'd5ae7729845dc25bb20a5eee488cf54f1de83e0590f65380f45865a441ea7224'} May 19 10:40:55 three inkypi[516]: 10:40:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:40:55 three inkypi[516]: 10:40:55 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:41:02 three inkypi[516]: 10:41:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:43:04 three inkypi[516]: 10:43:04 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:43:04 May 19 10:43:04 three inkypi[516]: 10:43:04 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 10:43:04 three inkypi[516]: 10:43:04 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 10:43:04 three inkypi[516]: 10:43:04 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T10:43:04.123447-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 10:43:04 three inkypi[516]: 10:43:04 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:43:04 three inkypi[516]: 10:43:04 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:43:11 three inkypi[516]: 10:43:11 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:45:13 three inkypi[516]: 10:45:13 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:45:13 May 19 10:45:13 three inkypi[516]: 10:45:13 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 10:45:13 three inkypi[516]: 10:45:13 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 10:45:13 three inkypi[516]: 10:45:13 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T10:45:13.123462-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 10:45:13 three inkypi[516]: 10:45:13 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:45:13 three inkypi[516]: 10:45:13 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:45:19 three inkypi[516]: 10:45:19 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:47:22 three inkypi[516]: 10:47:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:47:22 May 19 10:47:22 three inkypi[516]: 10:47:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 10:47:22 three inkypi[516]: 10:47:22 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 10:48:13 three inkypi[516]: 10:48:13 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T10:47:22.023670-07:00', 'image_hash': '56cfe11f79304b01a4928c3ded2f845519b251f4da5f4e5da3e8bfe4911fcaa9'} May 19 10:48:13 three inkypi[516]: 10:48:13 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:48:14 three inkypi[516]: 10:48:13 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:48:20 three inkypi[516]: 10:48:20 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:50:22 three inkypi[516]: 10:50:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:50:22 May 19 10:50:22 three inkypi[516]: 10:50:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 10:50:22 three inkypi[516]: 10:50:22 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 10:50:23 three inkypi[516]: 10:50:23 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T10:50:22.471041-07:00', 'image_hash': '9fdefb9747620cf3b94078624093b58be8feee80c68fcd0c8fb329791a5141a0'} May 19 10:50:23 three inkypi[516]: 10:50:23 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:50:23 three inkypi[516]: 10:50:23 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:50:30 three inkypi[516]: 10:50:30 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:52:32 three inkypi[516]: 10:52:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:52:32 May 19 10:52:32 three inkypi[516]: 10:52:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 10:52:32 three inkypi[516]: 10:52:32 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 10:52:32 three inkypi[516]: 10:52:32 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T10:52:32.223767-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 10:52:32 three inkypi[516]: 10:52:32 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:52:32 three inkypi[516]: 10:52:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:52:39 three inkypi[516]: 10:52:39 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:54:41 three inkypi[516]: 10:54:41 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:54:41 May 19 10:54:41 three inkypi[516]: 10:54:41 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 10:54:41 three inkypi[516]: 10:54:41 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 10:54:41 three inkypi[516]: 10:54:41 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T10:54:41.521758-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 10:54:41 three inkypi[516]: 10:54:41 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:54:42 three inkypi[516]: 10:54:42 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:54:48 three inkypi[516]: 10:54:48 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:56:50 three inkypi[516]: 10:56:50 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:56:50 May 19 10:56:50 three inkypi[516]: 10:56:50 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 10:56:50 three inkypi[516]: 10:56:50 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 10:56:50 three inkypi[516]: 10:56:50 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T10:56:50.423280-07:00', 'image_hash': '56cfe11f79304b01a4928c3ded2f845519b251f4da5f4e5da3e8bfe4911fcaa9'} May 19 10:56:50 three inkypi[516]: 10:56:50 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:56:51 three inkypi[516]: 10:56:51 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:56:57 three inkypi[516]: 10:56:57 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 10:58:59 three inkypi[516]: 10:58:59 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 10:58:59 May 19 10:58:59 three inkypi[516]: 10:58:59 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 10:58:59 three inkypi[516]: 10:58:59 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 10:59:00 three inkypi[516]: 10:59:00 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T10:58:59.823337-07:00', 'image_hash': 'cc8240d88450229ed650e404aacdb8b55c32cabec2ffd676bc13cb7ea0f80d1f'} May 19 10:59:00 three inkypi[516]: 10:59:00 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 10:59:01 three inkypi[516]: 10:59:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 10:59:07 three inkypi[516]: 10:59:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:01:09 three inkypi[516]: 11:01:09 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:01:09 May 19 11:01:09 three inkypi[516]: 11:01:09 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 11:01:09 three inkypi[516]: 11:01:09 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 11:01:09 three inkypi[516]: 11:01:09 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T11:01:09.621299-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 11:01:09 three inkypi[516]: 11:01:09 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:01:10 three inkypi[516]: 11:01:10 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:01:16 three inkypi[516]: 11:01:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:03:18 three inkypi[516]: 11:03:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:03:18 May 19 11:03:18 three inkypi[516]: 11:03:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 11:03:18 three inkypi[516]: 11:03:18 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 11:03:19 three inkypi[516]: 11:03:19 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T11:03:18.921244-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 11:03:19 three inkypi[516]: 11:03:19 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:03:19 three inkypi[516]: 11:03:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:03:26 three inkypi[516]: 11:03:26 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:05:28 three inkypi[516]: 11:05:28 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:05:28 May 19 11:05:28 three inkypi[516]: 11:05:28 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 11:05:28 three inkypi[516]: 11:05:28 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 11:05:28 three inkypi[516]: 11:05:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T11:05:28.223479-07:00', 'image_hash': '56cfe11f79304b01a4928c3ded2f845519b251f4da5f4e5da3e8bfe4911fcaa9'} May 19 11:05:28 three inkypi[516]: 11:05:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:05:28 three inkypi[516]: 11:05:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:05:35 three inkypi[516]: 11:05:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:07:37 three inkypi[516]: 11:07:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:07:37 May 19 11:07:37 three inkypi[516]: 11:07:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 11:07:37 three inkypi[516]: 11:07:37 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 11:07:37 three inkypi[516]: 11:07:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T11:07:37.223532-07:00', 'image_hash': '5fb615c76857e98c043e134761382761c9265e6fd34fa615b7c8ee160e15513a'} May 19 11:07:37 three inkypi[516]: 11:07:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:07:38 three inkypi[516]: 11:07:38 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:07:44 three inkypi[516]: 11:07:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:09:46 three inkypi[516]: 11:09:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:09:46 May 19 11:09:46 three inkypi[516]: 11:09:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 11:09:46 three inkypi[516]: 11:09:46 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 11:09:47 three inkypi[516]: 11:09:47 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T11:09:46.923662-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 11:09:47 three inkypi[516]: 11:09:47 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:09:47 three inkypi[516]: 11:09:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:09:53 three inkypi[516]: 11:09:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:11:55 three inkypi[516]: 11:11:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:11:55 May 19 11:11:55 three inkypi[516]: 11:11:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 11:11:55 three inkypi[516]: 11:11:55 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 11:12:46 three inkypi[516]: 11:12:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T11:11:55.723051-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 11:12:46 three inkypi[516]: 11:12:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:12:47 three inkypi[516]: 11:12:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:12:53 three inkypi[516]: 11:12:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:14:55 three inkypi[516]: 11:14:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:14:55 May 19 11:14:55 three inkypi[516]: 11:14:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 11:14:55 three inkypi[516]: 11:14:55 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 11:14:55 three inkypi[516]: 11:14:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T11:14:55.653265-07:00', 'image_hash': '56cfe11f79304b01a4928c3ded2f845519b251f4da5f4e5da3e8bfe4911fcaa9'} May 19 11:14:55 three inkypi[516]: 11:14:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:14:56 three inkypi[516]: 11:14:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:15:02 three inkypi[516]: 11:15:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:17:04 three inkypi[516]: 11:17:04 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:17:04 May 19 11:17:04 three inkypi[516]: 11:17:04 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 11:17:04 three inkypi[516]: 11:17:04 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 11:17:05 three inkypi[516]: 11:17:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T11:17:04.723785-07:00', 'image_hash': '4570461e97370829afbff8771d96ba744a67fa7c9906a92b19463a305a766d1f'} May 19 11:17:05 three inkypi[516]: 11:17:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:17:06 three inkypi[516]: 11:17:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:17:12 three inkypi[516]: 11:17:12 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:19:14 three inkypi[516]: 11:19:14 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:19:14 May 19 11:19:14 three inkypi[516]: 11:19:14 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 11:19:14 three inkypi[516]: 11:19:14 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 11:19:14 three inkypi[516]: 11:19:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T11:19:14.721371-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 11:19:14 three inkypi[516]: 11:19:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:19:15 three inkypi[516]: 11:19:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:19:21 three inkypi[516]: 11:19:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:21:23 three inkypi[516]: 11:21:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:21:23 May 19 11:21:23 three inkypi[516]: 11:21:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 11:21:23 three inkypi[516]: 11:21:23 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 11:21:24 three inkypi[516]: 11:21:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T11:21:23.923286-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 11:21:24 three inkypi[516]: 11:21:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:21:24 three inkypi[516]: 11:21:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:21:30 three inkypi[516]: 11:21:30 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:23:32 three inkypi[516]: 11:23:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:23:32 May 19 11:23:32 three inkypi[516]: 11:23:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 11:23:32 three inkypi[516]: 11:23:32 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 11:24:23 three inkypi[516]: 11:24:23 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T11:23:32.823208-07:00', 'image_hash': 'fa9ff4f5ec2bbb2d72475ab3802c904d3e71d8ab35b69a38b71bbd63ae8f8fbd'} May 19 11:24:23 three inkypi[516]: 11:24:23 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:24:24 three inkypi[516]: 11:24:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:24:30 three inkypi[516]: 11:24:30 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:26:32 three inkypi[516]: 11:26:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:26:32 May 19 11:26:32 three inkypi[516]: 11:26:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 11:26:32 three inkypi[516]: 11:26:32 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 11:26:33 three inkypi[516]: 11:26:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T11:26:32.661250-07:00', 'image_hash': '9f96e25680e76fd24ec4e8d4933db373eebf121da9bbb6d99fa965d39e11d5d9'} May 19 11:26:33 three inkypi[516]: 11:26:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:26:34 three inkypi[516]: 11:26:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:26:40 three inkypi[516]: 11:26:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:28:42 three inkypi[516]: 11:28:42 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:28:42 May 19 11:28:42 three inkypi[516]: 11:28:42 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 11:28:42 three inkypi[516]: 11:28:42 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 11:28:42 three inkypi[516]: 11:28:42 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T11:28:42.722175-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 11:28:42 three inkypi[516]: 11:28:42 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:28:43 three inkypi[516]: 11:28:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:28:49 three inkypi[516]: 11:28:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:30:51 three inkypi[516]: 11:30:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:30:51 May 19 11:30:51 three inkypi[516]: 11:30:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 11:30:51 three inkypi[516]: 11:30:51 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 11:30:52 three inkypi[516]: 11:30:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T11:30:51.921779-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 11:30:52 three inkypi[516]: 11:30:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:30:52 three inkypi[516]: 11:30:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:30:58 three inkypi[516]: 11:30:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:33:00 three inkypi[516]: 11:33:00 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:33:00 May 19 11:33:00 three inkypi[516]: 11:33:00 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 11:33:00 three inkypi[516]: 11:33:00 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 11:33:00 three inkypi[516]: 11:33:00 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T11:33:00.823205-07:00', 'image_hash': 'fa9ff4f5ec2bbb2d72475ab3802c904d3e71d8ab35b69a38b71bbd63ae8f8fbd'} May 19 11:33:01 three inkypi[516]: 11:33:00 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:33:01 three inkypi[516]: 11:33:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:33:08 three inkypi[516]: 11:33:08 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:35:10 three inkypi[516]: 11:35:10 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:35:10 May 19 11:35:10 three inkypi[516]: 11:35:10 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 11:35:10 three inkypi[516]: 11:35:10 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 11:35:10 three inkypi[516]: 11:35:10 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T11:35:10.323147-07:00', 'image_hash': '69463fb3ed0a416456f14258aff3920cf2a6ba7c8d3ff93a6de50b4f630022fb'} May 19 11:35:10 three inkypi[516]: 11:35:10 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:35:11 three inkypi[516]: 11:35:11 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:35:17 three inkypi[516]: 11:35:17 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:37:19 three inkypi[516]: 11:37:19 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:37:19 May 19 11:37:19 three inkypi[516]: 11:37:19 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 11:37:19 three inkypi[516]: 11:37:19 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 11:37:19 three inkypi[516]: 11:37:19 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 11:37:19 three inkypi[516]: 11:37:19 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 11:37:19 three inkypi[516]: 11:37:19 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 11:37:19 three inkypi[516]: 11:37:19 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 11:37:19 three inkypi[516]: 11:37:19 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 11:37:19 three inkypi[516]: 11:37:19 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 11:37:19 three inkypi[516]: 11:37:19 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 11:37:19 three inkypi[516]: 11:37:19 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 11:37:23 three inkypi[516]: 11:37:23 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 11:37:23 three inkypi[516]: 11:37:23 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 11:37:45 three inkypi[516]: 11:37:45 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T11:37:19.524547-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 11:37:45 three inkypi[516]: 11:37:45 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:37:46 three inkypi[516]: 11:37:46 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:37:52 three inkypi[516]: 11:37:52 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:39:54 three inkypi[516]: 11:39:54 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:39:54 May 19 11:39:54 three inkypi[516]: 11:39:54 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 11:39:54 three inkypi[516]: 11:39:54 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 11:39:55 three inkypi[516]: 11:39:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T11:39:54.957457-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 11:39:55 three inkypi[516]: 11:39:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:39:55 three inkypi[516]: 11:39:55 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:40:02 three inkypi[516]: 11:40:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:42:04 three inkypi[516]: 11:42:04 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:42:04 May 19 11:42:04 three inkypi[516]: 11:42:04 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 11:42:04 three inkypi[516]: 11:42:04 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 11:42:04 three inkypi[516]: 11:42:04 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T11:42:04.324365-07:00', 'image_hash': 'fa9ff4f5ec2bbb2d72475ab3802c904d3e71d8ab35b69a38b71bbd63ae8f8fbd'} May 19 11:42:04 three inkypi[516]: 11:42:04 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:42:05 three inkypi[516]: 11:42:05 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:42:11 three inkypi[516]: 11:42:11 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:44:13 three inkypi[516]: 11:44:13 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:44:13 May 19 11:44:13 three inkypi[516]: 11:44:13 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 11:44:13 three inkypi[516]: 11:44:13 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 11:44:13 three inkypi[516]: 11:44:13 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T11:44:13.323674-07:00', 'image_hash': 'd71b93ca0feb84810b60771b1d698ebe48b76cafe8a72f180d7463751850ee61'} May 19 11:44:13 three inkypi[516]: 11:44:13 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:44:14 three inkypi[516]: 11:44:14 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:44:20 three inkypi[516]: 11:44:20 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:46:22 three inkypi[516]: 11:46:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:46:22 May 19 11:46:22 three inkypi[516]: 11:46:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 11:46:22 three inkypi[516]: 11:46:22 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 11:46:22 three inkypi[516]: 11:46:22 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T11:46:22.723836-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 11:46:22 three inkypi[516]: 11:46:22 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:46:23 three inkypi[516]: 11:46:23 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:46:29 three inkypi[516]: 11:46:29 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:48:31 three inkypi[516]: 11:48:31 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:48:31 May 19 11:48:31 three inkypi[516]: 11:48:31 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 11:48:31 three inkypi[516]: 11:48:31 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 11:48:31 three inkypi[516]: 11:48:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T11:48:31.523825-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 11:48:31 three inkypi[516]: 11:48:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:48:32 three inkypi[516]: 11:48:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:48:38 three inkypi[516]: 11:48:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:50:40 three inkypi[516]: 11:50:40 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:50:40 May 19 11:50:40 three inkypi[516]: 11:50:40 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 11:50:40 three inkypi[516]: 11:50:40 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 11:50:40 three inkypi[516]: 11:50:40 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T11:50:40.423389-07:00', 'image_hash': 'fa9ff4f5ec2bbb2d72475ab3802c904d3e71d8ab35b69a38b71bbd63ae8f8fbd'} May 19 11:50:40 three inkypi[516]: 11:50:40 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:50:41 three inkypi[516]: 11:50:41 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:50:47 three inkypi[516]: 11:50:47 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:52:49 three inkypi[516]: 11:52:49 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:52:49 May 19 11:52:49 three inkypi[516]: 11:52:49 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 11:52:49 three inkypi[516]: 11:52:49 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 11:52:50 three inkypi[516]: 11:52:50 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T11:52:49.923675-07:00', 'image_hash': 'ea286d5ef98554974ede4c0aa46aa352e56b62a995458473acfa0af8d2bd88bc'} May 19 11:52:50 three inkypi[516]: 11:52:50 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:52:51 three inkypi[516]: 11:52:51 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:52:57 three inkypi[516]: 11:52:57 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:54:59 three inkypi[516]: 11:54:59 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:54:59 May 19 11:54:59 three inkypi[516]: 11:54:59 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 11:54:59 three inkypi[516]: 11:54:59 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 11:54:59 three inkypi[516]: 11:54:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T11:54:59.623074-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 11:54:59 three inkypi[516]: 11:54:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:55:00 three inkypi[516]: 11:55:00 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:55:06 three inkypi[516]: 11:55:06 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:57:08 three inkypi[516]: 11:57:08 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:57:08 May 19 11:57:08 three inkypi[516]: 11:57:08 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 11:57:08 three inkypi[516]: 11:57:08 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 11:57:08 three inkypi[516]: 11:57:08 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T11:57:08.423032-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 11:57:08 three inkypi[516]: 11:57:08 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 11:57:09 three inkypi[516]: 11:57:09 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 11:57:15 three inkypi[516]: 11:57:15 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 11:59:17 three inkypi[516]: 11:59:17 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 11:59:17 May 19 11:59:17 three inkypi[516]: 11:59:17 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 11:59:17 three inkypi[516]: 11:59:17 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 12:00:08 three inkypi[516]: 12:00:08 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T11:59:17.323189-07:00', 'image_hash': '828627cce43e24b87fd460c51ad3be4f3cc37cfbb43671bd4c1475ea04702206'} May 19 12:00:08 three inkypi[516]: 12:00:08 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:00:09 three inkypi[516]: 12:00:09 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:00:15 three inkypi[516]: 12:00:15 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:02:17 three inkypi[516]: 12:02:17 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:02:17 May 19 12:02:17 three inkypi[516]: 12:02:17 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 12:02:17 three inkypi[516]: 12:02:17 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 12:02:18 three inkypi[516]: 12:02:18 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T12:02:17.755419-07:00', 'image_hash': '7be1d775f0394dde7e8bbe13464e2e0e59c90fc695011baab794d4ca43d4af04'} May 19 12:02:18 three inkypi[516]: 12:02:18 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:02:19 three inkypi[516]: 12:02:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:02:25 three inkypi[516]: 12:02:25 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:04:27 three inkypi[516]: 12:04:27 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:04:27 May 19 12:04:27 three inkypi[516]: 12:04:27 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 12:04:27 three inkypi[516]: 12:04:27 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 12:04:27 three inkypi[516]: 12:04:27 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T12:04:27.723664-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 12:04:27 three inkypi[516]: 12:04:27 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:04:28 three inkypi[516]: 12:04:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:04:34 three inkypi[516]: 12:04:34 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:06:37 three inkypi[516]: 12:06:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:06:37 May 19 12:06:37 three inkypi[516]: 12:06:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 12:06:37 three inkypi[516]: 12:06:37 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 12:06:37 three inkypi[516]: 12:06:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T12:06:37.021661-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 12:06:37 three inkypi[516]: 12:06:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:06:37 three inkypi[516]: 12:06:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:06:44 three inkypi[516]: 12:06:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:08:46 three inkypi[516]: 12:08:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:08:46 May 19 12:08:46 three inkypi[516]: 12:08:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 12:08:46 three inkypi[516]: 12:08:46 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 12:08:46 three inkypi[516]: 12:08:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T12:08:46.323684-07:00', 'image_hash': '828627cce43e24b87fd460c51ad3be4f3cc37cfbb43671bd4c1475ea04702206'} May 19 12:08:46 three inkypi[516]: 12:08:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:08:47 three inkypi[516]: 12:08:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:08:53 three inkypi[516]: 12:08:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:10:55 three inkypi[516]: 12:10:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:10:55 May 19 12:10:55 three inkypi[516]: 12:10:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 12:10:55 three inkypi[516]: 12:10:55 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 12:10:56 three inkypi[516]: 12:10:56 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T12:10:55.823847-07:00', 'image_hash': '5c7ca533d5e29e4e9a55d6a678242a141c2bc279342838e145bd29237064cd86'} May 19 12:10:56 three inkypi[516]: 12:10:56 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:10:56 three inkypi[516]: 12:10:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:11:02 three inkypi[516]: 12:11:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:13:05 three inkypi[516]: 12:13:05 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:13:05 May 19 12:13:05 three inkypi[516]: 12:13:05 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 12:13:05 three inkypi[516]: 12:13:05 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 12:13:05 three inkypi[516]: 12:13:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T12:13:05.023886-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 12:13:05 three inkypi[516]: 12:13:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:13:05 three inkypi[516]: 12:13:05 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:13:11 three inkypi[516]: 12:13:11 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:15:14 three inkypi[516]: 12:15:14 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:15:14 May 19 12:15:14 three inkypi[516]: 12:15:14 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 12:15:14 three inkypi[516]: 12:15:14 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 12:16:08 three inkypi[516]: 12:16:08 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T12:15:14.123443-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 12:16:08 three inkypi[516]: 12:16:08 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:16:09 three inkypi[516]: 12:16:09 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:16:16 three inkypi[516]: 12:16:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:18:18 three inkypi[516]: 12:18:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:18:18 May 19 12:18:18 three inkypi[516]: 12:18:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 12:18:18 three inkypi[516]: 12:18:18 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 12:18:18 three inkypi[516]: 12:18:18 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T12:18:18.265321-07:00', 'image_hash': '828627cce43e24b87fd460c51ad3be4f3cc37cfbb43671bd4c1475ea04702206'} May 19 12:18:18 three inkypi[516]: 12:18:18 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:18:19 three inkypi[516]: 12:18:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:18:25 three inkypi[516]: 12:18:25 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:20:27 three inkypi[516]: 12:20:27 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:20:27 May 19 12:20:27 three inkypi[516]: 12:20:27 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 12:20:27 three inkypi[516]: 12:20:27 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 12:20:28 three inkypi[516]: 12:20:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T12:20:27.723761-07:00', 'image_hash': '8b4e7b5617c976eed52709e06c63278480e8f68291be06934c603c11fea1c37c'} May 19 12:20:28 three inkypi[516]: 12:20:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:20:28 three inkypi[516]: 12:20:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:20:34 three inkypi[516]: 12:20:34 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:22:37 three inkypi[516]: 12:22:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:22:37 May 19 12:22:37 three inkypi[516]: 12:22:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 12:22:37 three inkypi[516]: 12:22:37 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 12:22:37 three inkypi[516]: 12:22:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T12:22:37.123536-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 12:22:37 three inkypi[516]: 12:22:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:22:37 three inkypi[516]: 12:22:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:22:44 three inkypi[516]: 12:22:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:24:46 three inkypi[516]: 12:24:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:24:46 May 19 12:24:46 three inkypi[516]: 12:24:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 12:24:46 three inkypi[516]: 12:24:46 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 12:24:46 three inkypi[516]: 12:24:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T12:24:46.423398-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 12:24:46 three inkypi[516]: 12:24:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:24:47 three inkypi[516]: 12:24:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:24:53 three inkypi[516]: 12:24:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:26:55 three inkypi[516]: 12:26:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:26:55 May 19 12:26:55 three inkypi[516]: 12:26:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 12:26:55 three inkypi[516]: 12:26:55 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 12:26:55 three inkypi[516]: 12:26:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T12:26:55.623773-07:00', 'image_hash': '828627cce43e24b87fd460c51ad3be4f3cc37cfbb43671bd4c1475ea04702206'} May 19 12:26:55 three inkypi[516]: 12:26:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:26:56 three inkypi[516]: 12:26:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:27:03 three inkypi[516]: 12:27:03 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:29:05 three inkypi[516]: 12:29:05 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:29:05 May 19 12:29:05 three inkypi[516]: 12:29:05 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 12:29:05 three inkypi[516]: 12:29:05 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 12:29:05 three inkypi[516]: 12:29:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T12:29:05.123547-07:00', 'image_hash': 'a0e675743969cf0066630c7cc1f8945c6fa5b3bf8ebc2d368652018cb4dc2ef6'} May 19 12:29:05 three inkypi[516]: 12:29:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:29:06 three inkypi[516]: 12:29:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:29:12 three inkypi[516]: 12:29:12 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:31:14 three inkypi[516]: 12:31:14 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:31:14 May 19 12:31:14 three inkypi[516]: 12:31:14 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 12:31:14 three inkypi[516]: 12:31:14 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 12:31:14 three inkypi[516]: 12:31:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T12:31:14.323228-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 12:31:14 three inkypi[516]: 12:31:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:31:14 three inkypi[516]: 12:31:14 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:31:21 three inkypi[516]: 12:31:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:33:23 three inkypi[516]: 12:33:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:33:23 May 19 12:33:23 three inkypi[516]: 12:33:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 12:33:23 three inkypi[516]: 12:33:23 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 12:33:23 three inkypi[516]: 12:33:23 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T12:33:23.323314-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 12:33:23 three inkypi[516]: 12:33:23 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:33:24 three inkypi[516]: 12:33:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:33:30 three inkypi[516]: 12:33:30 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:35:32 three inkypi[516]: 12:35:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:35:32 May 19 12:35:32 three inkypi[516]: 12:35:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 12:35:32 three inkypi[516]: 12:35:32 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 12:36:20 three inkypi[516]: 12:36:20 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T12:35:32.723315-07:00', 'image_hash': 'e5eac01510257fe09db830a14aeb92415f90fb581ab574ac5056441a03eeae7b'} May 19 12:36:20 three inkypi[516]: 12:36:20 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:36:21 three inkypi[516]: 12:36:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:36:27 three inkypi[516]: 12:36:27 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:38:29 three inkypi[516]: 12:38:29 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:38:29 May 19 12:38:29 three inkypi[516]: 12:38:29 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 12:38:29 three inkypi[516]: 12:38:29 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 12:38:30 three inkypi[516]: 12:38:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T12:38:29.962354-07:00', 'image_hash': '78927f9416e179f9acde5368c98594f7b3a6bee9b19b30b753ae6420c0e5adcd'} May 19 12:38:30 three inkypi[516]: 12:38:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:38:31 three inkypi[516]: 12:38:31 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:38:37 three inkypi[516]: 12:38:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:40:39 three inkypi[516]: 12:40:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:40:39 May 19 12:40:39 three inkypi[516]: 12:40:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 12:40:39 three inkypi[516]: 12:40:39 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 12:40:39 three inkypi[516]: 12:40:39 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 12:40:39 three inkypi[516]: 12:40:39 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 12:40:39 three inkypi[516]: 12:40:39 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 12:40:39 three inkypi[516]: 12:40:39 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 12:40:39 three inkypi[516]: 12:40:39 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 12:40:39 three inkypi[516]: 12:40:39 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 12:40:39 three inkypi[516]: 12:40:39 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 12:40:39 three inkypi[516]: 12:40:39 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 12:40:43 three inkypi[516]: 12:40:43 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 12:40:43 three inkypi[516]: 12:40:43 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 12:41:06 three inkypi[516]: 12:41:06 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T12:40:39.823579-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 12:41:06 three inkypi[516]: 12:41:06 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:41:07 three inkypi[516]: 12:41:07 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:41:13 three inkypi[516]: 12:41:13 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:43:15 three inkypi[516]: 12:43:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:43:15 May 19 12:43:15 three inkypi[516]: 12:43:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 12:43:15 three inkypi[516]: 12:43:15 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 12:43:15 three inkypi[516]: 12:43:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T12:43:15.656783-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 12:43:15 three inkypi[516]: 12:43:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:43:16 three inkypi[516]: 12:43:16 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:43:22 three inkypi[516]: 12:43:22 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:45:25 three inkypi[516]: 12:45:25 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:45:25 May 19 12:45:25 three inkypi[516]: 12:45:25 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 12:45:25 three inkypi[516]: 12:45:25 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 12:45:25 three inkypi[516]: 12:45:25 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T12:45:25.024465-07:00', 'image_hash': 'e5eac01510257fe09db830a14aeb92415f90fb581ab574ac5056441a03eeae7b'} May 19 12:45:25 three inkypi[516]: 12:45:25 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:45:25 three inkypi[516]: 12:45:25 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:45:32 three inkypi[516]: 12:45:32 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:47:34 three inkypi[516]: 12:47:34 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:47:34 May 19 12:47:34 three inkypi[516]: 12:47:34 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 12:47:34 three inkypi[516]: 12:47:34 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 12:47:35 three inkypi[516]: 12:47:35 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T12:47:34.423712-07:00', 'image_hash': '7407dc19cad88f9888b2e9b4acec985519a0096efd936cd62b630d694bd8526c'} May 19 12:47:35 three inkypi[516]: 12:47:35 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:47:35 three inkypi[516]: 12:47:35 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:47:42 three inkypi[516]: 12:47:42 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:49:44 three inkypi[516]: 12:49:44 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:49:44 May 19 12:49:44 three inkypi[516]: 12:49:44 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 12:49:44 three inkypi[516]: 12:49:44 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 12:49:44 three inkypi[516]: 12:49:44 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T12:49:44.124034-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 12:49:44 three inkypi[516]: 12:49:44 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:49:44 three inkypi[516]: 12:49:44 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:49:51 three inkypi[516]: 12:49:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:51:53 three inkypi[516]: 12:51:53 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:51:53 May 19 12:51:53 three inkypi[516]: 12:51:53 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 12:51:53 three inkypi[516]: 12:51:53 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 12:51:53 three inkypi[516]: 12:51:53 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T12:51:53.223587-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 12:51:53 three inkypi[516]: 12:51:53 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:51:53 three inkypi[516]: 12:51:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:52:00 three inkypi[516]: 12:52:00 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:54:02 three inkypi[516]: 12:54:02 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:54:02 May 19 12:54:02 three inkypi[516]: 12:54:02 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 12:54:02 three inkypi[516]: 12:54:02 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 12:54:02 three inkypi[516]: 12:54:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T12:54:02.621379-07:00', 'image_hash': 'e5eac01510257fe09db830a14aeb92415f90fb581ab574ac5056441a03eeae7b'} May 19 12:54:02 three inkypi[516]: 12:54:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:54:03 three inkypi[516]: 12:54:03 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:54:10 three inkypi[516]: 12:54:10 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:56:12 three inkypi[516]: 12:56:12 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:56:12 May 19 12:56:12 three inkypi[516]: 12:56:12 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 12:56:12 three inkypi[516]: 12:56:12 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 12:56:12 three inkypi[516]: 12:56:12 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T12:56:12.123689-07:00', 'image_hash': 'fbf609c03a0838dca44747d746354954f178c2d28c915c9130eb201317f3d962'} May 19 12:56:12 three inkypi[516]: 12:56:12 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:56:13 three inkypi[516]: 12:56:13 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:56:19 three inkypi[516]: 12:56:19 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 12:58:22 three inkypi[516]: 12:58:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 12:58:22 May 19 12:58:22 three inkypi[516]: 12:58:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 12:58:22 three inkypi[516]: 12:58:22 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 12:58:22 three inkypi[516]: 12:58:22 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T12:58:22.024251-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 12:58:22 three inkypi[516]: 12:58:22 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 12:58:22 three inkypi[516]: 12:58:22 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 12:58:29 three inkypi[516]: 12:58:29 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:00:31 three inkypi[516]: 13:00:31 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:00:31 May 19 13:00:31 three inkypi[516]: 13:00:31 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 13:00:31 three inkypi[516]: 13:00:31 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 13:00:31 three inkypi[516]: 13:00:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T13:00:31.229882-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 13:00:31 three inkypi[516]: 13:00:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:00:31 three inkypi[516]: 13:00:31 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:00:38 three inkypi[516]: 13:00:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:02:40 three inkypi[516]: 13:02:40 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:02:40 May 19 13:02:40 three inkypi[516]: 13:02:40 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 13:02:40 three inkypi[516]: 13:02:40 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 13:02:40 three inkypi[516]: 13:02:40 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T13:02:40.123112-07:00', 'image_hash': 'e5eac01510257fe09db830a14aeb92415f90fb581ab574ac5056441a03eeae7b'} May 19 13:02:40 three inkypi[516]: 13:02:40 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:02:40 three inkypi[516]: 13:02:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:02:47 three inkypi[516]: 13:02:47 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:04:49 three inkypi[516]: 13:04:49 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:04:49 May 19 13:04:49 three inkypi[516]: 13:04:49 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 13:04:49 three inkypi[516]: 13:04:49 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 13:04:49 three inkypi[516]: 13:04:49 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T13:04:49.123042-07:00', 'image_hash': 'bd4c3b5df58dd802ffa50cf7eb0066aa2e993c5842c3ad658db326e70cc5390f'} May 19 13:04:49 three inkypi[516]: 13:04:49 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:04:50 three inkypi[516]: 13:04:50 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:04:56 three inkypi[516]: 13:04:56 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:06:58 three inkypi[516]: 13:06:58 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:06:58 May 19 13:06:58 three inkypi[516]: 13:06:58 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 13:06:58 three inkypi[516]: 13:06:58 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 13:06:59 three inkypi[516]: 13:06:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T13:06:58.923358-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 13:06:59 three inkypi[516]: 13:06:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:06:59 three inkypi[516]: 13:06:59 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:07:05 three inkypi[516]: 13:07:05 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:09:07 three inkypi[516]: 13:09:07 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:09:07 May 19 13:09:07 three inkypi[516]: 13:09:07 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 13:09:07 three inkypi[516]: 13:09:07 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 13:09:07 three inkypi[516]: 13:09:07 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T13:09:07.723434-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 13:09:07 three inkypi[516]: 13:09:07 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:09:08 three inkypi[516]: 13:09:08 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:09:15 three inkypi[516]: 13:09:15 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:11:17 three inkypi[516]: 13:11:17 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:11:17 May 19 13:11:17 three inkypi[516]: 13:11:17 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 13:11:17 three inkypi[516]: 13:11:17 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 13:12:07 three inkypi[516]: 13:12:07 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T13:11:17.121438-07:00', 'image_hash': '94bd23a75fe2b69c9558be957e207a9e8167e4aa8a9d666f8c2ad99cc49b6a97'} May 19 13:12:07 three inkypi[516]: 13:12:07 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:12:07 three inkypi[516]: 13:12:07 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:12:14 three inkypi[516]: 13:12:14 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:14:16 three inkypi[516]: 13:14:16 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:14:16 May 19 13:14:16 three inkypi[516]: 13:14:16 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 13:14:16 three inkypi[516]: 13:14:16 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 13:14:17 three inkypi[516]: 13:14:17 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T13:14:16.356312-07:00', 'image_hash': 'dca184864a74502d5114c21f759c081d80003d21d88d46b822f4cee5bd04ace5'} May 19 13:14:17 three inkypi[516]: 13:14:17 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:14:17 three inkypi[516]: 13:14:17 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:14:24 three inkypi[516]: 13:14:24 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:16:26 three inkypi[516]: 13:16:26 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:16:26 May 19 13:16:26 three inkypi[516]: 13:16:26 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 13:16:26 three inkypi[516]: 13:16:26 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 13:16:26 three inkypi[516]: 13:16:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T13:16:26.223621-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 13:16:26 three inkypi[516]: 13:16:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:16:26 three inkypi[516]: 13:16:26 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:16:33 three inkypi[516]: 13:16:33 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:18:35 three inkypi[516]: 13:18:35 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:18:35 May 19 13:18:35 three inkypi[516]: 13:18:35 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 13:18:35 three inkypi[516]: 13:18:35 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 13:19:28 three inkypi[516]: 13:19:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T13:18:35.521448-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 13:19:28 three inkypi[516]: 13:19:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:19:28 three inkypi[516]: 13:19:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:19:35 three inkypi[516]: 13:19:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:21:37 three inkypi[516]: 13:21:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:21:37 May 19 13:21:37 three inkypi[516]: 13:21:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 13:21:37 three inkypi[516]: 13:21:37 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 13:21:37 three inkypi[516]: 13:21:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T13:21:37.259160-07:00', 'image_hash': '94bd23a75fe2b69c9558be957e207a9e8167e4aa8a9d666f8c2ad99cc49b6a97'} May 19 13:21:37 three inkypi[516]: 13:21:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:21:38 three inkypi[516]: 13:21:38 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:21:44 three inkypi[516]: 13:21:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:23:46 three inkypi[516]: 13:23:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:23:46 May 19 13:23:46 three inkypi[516]: 13:23:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 13:23:46 three inkypi[516]: 13:23:46 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 13:23:47 three inkypi[516]: 13:23:47 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T13:23:46.523708-07:00', 'image_hash': '22847545b2a3ef685233d4b0c5ddc53b46ceabe57b615f33b8b323077e19086f'} May 19 13:23:47 three inkypi[516]: 13:23:47 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:23:47 three inkypi[516]: 13:23:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:23:54 three inkypi[516]: 13:23:54 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:25:56 three inkypi[516]: 13:25:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:25:56 May 19 13:25:56 three inkypi[516]: 13:25:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 13:25:56 three inkypi[516]: 13:25:56 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 13:25:56 three inkypi[516]: 13:25:56 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T13:25:56.521168-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 13:25:56 three inkypi[516]: 13:25:56 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:25:57 three inkypi[516]: 13:25:57 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:26:03 three inkypi[516]: 13:26:03 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:28:05 three inkypi[516]: 13:28:05 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:28:05 May 19 13:28:05 three inkypi[516]: 13:28:05 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 13:28:05 three inkypi[516]: 13:28:05 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 13:28:05 three inkypi[516]: 13:28:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T13:28:05.821992-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 13:28:05 three inkypi[516]: 13:28:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:28:06 three inkypi[516]: 13:28:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:28:12 three inkypi[516]: 13:28:12 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:30:14 three inkypi[516]: 13:30:14 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:30:14 May 19 13:30:14 three inkypi[516]: 13:30:14 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 13:30:14 three inkypi[516]: 13:30:14 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 13:30:14 three inkypi[516]: 13:30:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T13:30:14.722964-07:00', 'image_hash': '94bd23a75fe2b69c9558be957e207a9e8167e4aa8a9d666f8c2ad99cc49b6a97'} May 19 13:30:14 three inkypi[516]: 13:30:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:30:15 three inkypi[516]: 13:30:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:30:22 three inkypi[516]: 13:30:22 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:32:24 three inkypi[516]: 13:32:24 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:32:24 May 19 13:32:24 three inkypi[516]: 13:32:24 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 13:32:24 three inkypi[516]: 13:32:24 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 13:32:24 three inkypi[516]: 13:32:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T13:32:24.122942-07:00', 'image_hash': '97d3e6e2347968ee9f558513d53099ba56dd6e2690e90329054bfa6eb4cf3d50'} May 19 13:32:24 three inkypi[516]: 13:32:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:32:25 three inkypi[516]: 13:32:25 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:32:31 three inkypi[516]: 13:32:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:34:33 three inkypi[516]: 13:34:33 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:34:33 May 19 13:34:33 three inkypi[516]: 13:34:33 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 13:34:33 three inkypi[516]: 13:34:33 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 13:34:34 three inkypi[516]: 13:34:34 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T13:34:33.923408-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 13:34:34 three inkypi[516]: 13:34:34 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:34:34 three inkypi[516]: 13:34:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:34:40 three inkypi[516]: 13:34:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:36:42 three inkypi[516]: 13:36:42 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:36:42 May 19 13:36:42 three inkypi[516]: 13:36:42 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 13:36:42 three inkypi[516]: 13:36:42 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 13:36:43 three inkypi[516]: 13:36:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T13:36:42.923043-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 13:36:43 three inkypi[516]: 13:36:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:36:43 three inkypi[516]: 13:36:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:36:49 three inkypi[516]: 13:36:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:38:52 three inkypi[516]: 13:38:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:38:52 May 19 13:38:52 three inkypi[516]: 13:38:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 13:38:52 three inkypi[516]: 13:38:52 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 13:38:52 three inkypi[516]: 13:38:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T13:38:52.023239-07:00', 'image_hash': '94bd23a75fe2b69c9558be957e207a9e8167e4aa8a9d666f8c2ad99cc49b6a97'} May 19 13:38:52 three inkypi[516]: 13:38:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:38:52 three inkypi[516]: 13:38:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:38:59 three inkypi[516]: 13:38:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:41:01 three inkypi[516]: 13:41:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:41:01 May 19 13:41:01 three inkypi[516]: 13:41:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 13:41:01 three inkypi[516]: 13:41:01 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 13:41:02 three inkypi[516]: 13:41:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T13:41:01.423363-07:00', 'image_hash': '54b5a04c89e853034150c764c77ff557c302c81b49ab9ce1e2b71e97dc60f489'} May 19 13:41:02 three inkypi[516]: 13:41:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:41:02 three inkypi[516]: 13:41:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:41:09 three inkypi[516]: 13:41:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:43:11 three inkypi[516]: 13:43:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:43:11 May 19 13:43:11 three inkypi[516]: 13:43:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 13:43:11 three inkypi[516]: 13:43:11 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 13:43:11 three inkypi[516]: 13:43:11 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 13:43:11 three inkypi[516]: 13:43:11 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 13:43:11 three inkypi[516]: 13:43:11 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 13:43:11 three inkypi[516]: 13:43:11 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 13:43:11 three inkypi[516]: 13:43:11 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 13:43:11 three inkypi[516]: 13:43:11 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 13:43:11 three inkypi[516]: 13:43:11 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 13:43:11 three inkypi[516]: 13:43:11 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 13:43:15 three inkypi[516]: 13:43:15 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 13:43:15 three inkypi[516]: 13:43:15 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 13:43:34 three inkypi[516]: 13:43:34 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T13:43:11.123089-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 13:43:34 three inkypi[516]: 13:43:35 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:43:35 three inkypi[516]: 13:43:35 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:43:41 three inkypi[516]: 13:43:41 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:45:44 three inkypi[516]: 13:45:44 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:45:44 May 19 13:45:44 three inkypi[516]: 13:45:44 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 13:45:44 three inkypi[516]: 13:45:44 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 13:45:44 three inkypi[516]: 13:45:44 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T13:45:44.057592-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 13:45:44 three inkypi[516]: 13:45:44 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:45:44 three inkypi[516]: 13:45:44 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:45:51 three inkypi[516]: 13:45:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:47:53 three inkypi[516]: 13:47:53 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:47:53 May 19 13:47:53 three inkypi[516]: 13:47:53 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 13:47:53 three inkypi[516]: 13:47:53 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 13:48:36 three inkypi[516]: 13:48:36 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T13:47:53.423740-07:00', 'image_hash': '19ec74c43282564a2368c2f60ca7d931abd4201358992005838820d661511855'} May 19 13:48:36 three inkypi[516]: 13:48:36 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:48:37 three inkypi[516]: 13:48:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:48:43 three inkypi[516]: 13:48:43 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:50:45 three inkypi[516]: 13:50:45 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:50:45 May 19 13:50:45 three inkypi[516]: 13:50:45 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 13:50:45 three inkypi[516]: 13:50:45 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 13:50:46 three inkypi[516]: 13:50:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T13:50:45.946280-07:00', 'image_hash': '359ad11b0c0bce192374ff01d83a8b5a50761aa45eb67bbb23e0e86eb2d30844'} May 19 13:50:46 three inkypi[516]: 13:50:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:50:47 three inkypi[516]: 13:50:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:50:53 three inkypi[516]: 13:50:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:52:55 three inkypi[516]: 13:52:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:52:55 May 19 13:52:55 three inkypi[516]: 13:52:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 13:52:55 three inkypi[516]: 13:52:55 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 13:52:55 three inkypi[516]: 13:52:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T13:52:55.424068-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 13:52:55 three inkypi[516]: 13:52:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:52:56 three inkypi[516]: 13:52:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:53:02 three inkypi[516]: 13:53:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:55:04 three inkypi[516]: 13:55:04 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:55:04 May 19 13:55:04 three inkypi[516]: 13:55:04 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 13:55:04 three inkypi[516]: 13:55:04 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 13:55:04 three inkypi[516]: 13:55:04 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T13:55:04.623552-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 13:55:04 three inkypi[516]: 13:55:04 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:55:05 three inkypi[516]: 13:55:05 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:55:11 three inkypi[516]: 13:55:11 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:57:13 three inkypi[516]: 13:57:13 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:57:13 May 19 13:57:13 three inkypi[516]: 13:57:13 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 13:57:13 three inkypi[516]: 13:57:13 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 13:57:14 three inkypi[516]: 13:57:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T13:57:13.923333-07:00', 'image_hash': '19ec74c43282564a2368c2f60ca7d931abd4201358992005838820d661511855'} May 19 13:57:14 three inkypi[516]: 13:57:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:57:14 three inkypi[516]: 13:57:14 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:57:20 three inkypi[516]: 13:57:20 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 13:59:22 three inkypi[516]: 13:59:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 13:59:22 May 19 13:59:22 three inkypi[516]: 13:59:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 13:59:22 three inkypi[516]: 13:59:22 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 13:59:23 three inkypi[516]: 13:59:23 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T13:59:22.923415-07:00', 'image_hash': '6146d8e59e6c28735d9056e1281975fc1f5884b1f36dc41328b2f43fbc1861bb'} May 19 13:59:23 three inkypi[516]: 13:59:23 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 13:59:24 three inkypi[516]: 13:59:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 13:59:30 three inkypi[516]: 13:59:30 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:01:32 three inkypi[516]: 14:01:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:01:32 May 19 14:01:32 three inkypi[516]: 14:01:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 14:01:32 three inkypi[516]: 14:01:32 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 14:01:32 three inkypi[516]: 14:01:32 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T14:01:32.423151-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 14:01:32 three inkypi[516]: 14:01:32 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:01:33 three inkypi[516]: 14:01:33 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:01:39 three inkypi[516]: 14:01:39 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:03:41 three inkypi[516]: 14:03:41 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:03:41 May 19 14:03:41 three inkypi[516]: 14:03:41 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 14:03:41 three inkypi[516]: 14:03:41 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 14:03:41 three inkypi[516]: 14:03:41 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T14:03:41.721240-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 14:03:41 three inkypi[516]: 14:03:41 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:03:42 three inkypi[516]: 14:03:42 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:03:48 three inkypi[516]: 14:03:48 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:05:51 three inkypi[516]: 14:05:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:05:51 May 19 14:05:51 three inkypi[516]: 14:05:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 14:05:51 three inkypi[516]: 14:05:51 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 14:05:51 three inkypi[516]: 14:05:51 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T14:05:51.023235-07:00', 'image_hash': '19ec74c43282564a2368c2f60ca7d931abd4201358992005838820d661511855'} May 19 14:05:51 three inkypi[516]: 14:05:51 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:05:51 three inkypi[516]: 14:05:51 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:05:58 three inkypi[516]: 14:05:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:08:00 three inkypi[516]: 14:08:00 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:08:00 May 19 14:08:00 three inkypi[516]: 14:08:00 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 14:08:00 three inkypi[516]: 14:08:00 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 14:08:01 three inkypi[516]: 14:08:01 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T14:08:00.423046-07:00', 'image_hash': 'dc2f2f9f83f9850dfc42ef2596f6cf32ab23c6144b6bed1581e1c30f78559f0b'} May 19 14:08:01 three inkypi[516]: 14:08:01 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:08:01 three inkypi[516]: 14:08:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:08:08 three inkypi[516]: 14:08:08 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:10:10 three inkypi[516]: 14:10:10 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:10:10 May 19 14:10:10 three inkypi[516]: 14:10:10 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 14:10:10 three inkypi[516]: 14:10:10 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 14:10:10 three inkypi[516]: 14:10:10 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T14:10:10.123172-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 14:10:10 three inkypi[516]: 14:10:10 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:10:10 three inkypi[516]: 14:10:10 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:10:16 three inkypi[516]: 14:10:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:12:18 three inkypi[516]: 14:12:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:12:18 May 19 14:12:18 three inkypi[516]: 14:12:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 14:12:18 three inkypi[516]: 14:12:18 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 14:12:19 three inkypi[516]: 14:12:19 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T14:12:18.923007-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 14:12:19 three inkypi[516]: 14:12:19 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:12:19 three inkypi[516]: 14:12:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:12:26 three inkypi[516]: 14:12:26 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:14:28 three inkypi[516]: 14:14:28 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:14:28 May 19 14:14:28 three inkypi[516]: 14:14:28 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 14:14:28 three inkypi[516]: 14:14:28 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 14:14:28 three inkypi[516]: 14:14:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T14:14:28.321202-07:00', 'image_hash': '19ec74c43282564a2368c2f60ca7d931abd4201358992005838820d661511855'} May 19 14:14:28 three inkypi[516]: 14:14:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:14:29 three inkypi[516]: 14:14:29 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:14:35 three inkypi[516]: 14:14:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:16:37 three inkypi[516]: 14:16:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:16:37 May 19 14:16:37 three inkypi[516]: 14:16:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 14:16:37 three inkypi[516]: 14:16:37 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 14:16:38 three inkypi[516]: 14:16:38 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T14:16:37.823352-07:00', 'image_hash': '312e4a2b88d8ab2a262b7a45529521e1c96e2f3e02bcef4b762b9409890d1b43'} May 19 14:16:38 three inkypi[516]: 14:16:38 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:16:38 three inkypi[516]: 14:16:38 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:16:45 three inkypi[516]: 14:16:45 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:18:47 three inkypi[516]: 14:18:47 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:18:47 May 19 14:18:47 three inkypi[516]: 14:18:47 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 14:18:47 three inkypi[516]: 14:18:47 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 14:18:47 three inkypi[516]: 14:18:47 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T14:18:47.523461-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 14:18:47 three inkypi[516]: 14:18:47 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:18:48 three inkypi[516]: 14:18:48 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:18:54 three inkypi[516]: 14:18:54 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:20:56 three inkypi[516]: 14:20:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:20:56 May 19 14:20:56 three inkypi[516]: 14:20:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 14:20:56 three inkypi[516]: 14:20:56 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 14:21:47 three inkypi[516]: 14:21:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T14:20:56.323517-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 14:21:47 three inkypi[516]: 14:21:47 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:21:47 three inkypi[516]: 14:21:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:21:54 three inkypi[516]: 14:21:54 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:23:56 three inkypi[516]: 14:23:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:23:56 May 19 14:23:56 three inkypi[516]: 14:23:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 14:23:56 three inkypi[516]: 14:23:56 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 14:24:46 three inkypi[516]: 14:24:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T14:23:56.340204-07:00', 'image_hash': 'a84387e86b20f142454719d98975c82ae52c7100bcd65114d7af6c54cc7e977e'} May 19 14:24:46 three inkypi[516]: 14:24:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:24:47 three inkypi[516]: 14:24:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:24:54 three inkypi[516]: 14:24:54 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:26:56 three inkypi[516]: 14:26:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:26:56 May 19 14:26:56 three inkypi[516]: 14:26:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 14:26:56 three inkypi[516]: 14:26:56 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 14:26:56 three inkypi[516]: 14:26:56 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T14:26:56.159727-07:00', 'image_hash': 'a918f1a0f476d61c1919711c27f2e0f6232226b2bdfa4294495a86bc34d3eee4'} May 19 14:26:56 three inkypi[516]: 14:26:56 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:26:57 three inkypi[516]: 14:26:57 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:27:04 three inkypi[516]: 14:27:04 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:29:06 three inkypi[516]: 14:29:06 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:29:06 May 19 14:29:06 three inkypi[516]: 14:29:06 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 14:29:06 three inkypi[516]: 14:29:06 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 14:29:06 three inkypi[516]: 14:29:06 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T14:29:06.221557-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 14:29:06 three inkypi[516]: 14:29:06 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:29:06 three inkypi[516]: 14:29:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:29:12 three inkypi[516]: 14:29:12 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:31:15 three inkypi[516]: 14:31:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:31:15 May 19 14:31:15 three inkypi[516]: 14:31:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 14:31:15 three inkypi[516]: 14:31:15 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 14:31:15 three inkypi[516]: 14:31:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T14:31:15.023933-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 14:31:15 three inkypi[516]: 14:31:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:31:15 three inkypi[516]: 14:31:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:31:21 three inkypi[516]: 14:31:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:33:23 three inkypi[516]: 14:33:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:33:23 May 19 14:33:23 three inkypi[516]: 14:33:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 14:33:23 three inkypi[516]: 14:33:23 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 14:33:24 three inkypi[516]: 14:33:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T14:33:23.923660-07:00', 'image_hash': 'a84387e86b20f142454719d98975c82ae52c7100bcd65114d7af6c54cc7e977e'} May 19 14:33:24 three inkypi[516]: 14:33:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:33:24 three inkypi[516]: 14:33:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:33:31 three inkypi[516]: 14:33:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:35:33 three inkypi[516]: 14:35:33 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:35:33 May 19 14:35:33 three inkypi[516]: 14:35:33 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 14:35:33 three inkypi[516]: 14:35:33 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 14:35:33 three inkypi[516]: 14:35:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T14:35:33.423526-07:00', 'image_hash': '01ead42b3069050a13706be18c39c24316dfe3e621bf0f46f4ed8a5e72fe84c4'} May 19 14:35:33 three inkypi[516]: 14:35:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:35:34 three inkypi[516]: 14:35:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:35:40 three inkypi[516]: 14:35:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:37:42 three inkypi[516]: 14:37:42 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:37:42 May 19 14:37:42 three inkypi[516]: 14:37:42 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 14:37:42 three inkypi[516]: 14:37:42 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 14:37:42 three inkypi[516]: 14:37:42 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T14:37:42.623601-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 14:37:42 three inkypi[516]: 14:37:42 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:37:43 three inkypi[516]: 14:37:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:37:49 three inkypi[516]: 14:37:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:39:51 three inkypi[516]: 14:39:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:39:51 May 19 14:39:51 three inkypi[516]: 14:39:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 14:39:51 three inkypi[516]: 14:39:51 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 14:39:51 three inkypi[516]: 14:39:51 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T14:39:51.723299-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 14:39:51 three inkypi[516]: 14:39:51 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:39:52 three inkypi[516]: 14:39:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:39:58 three inkypi[516]: 14:39:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:42:00 three inkypi[516]: 14:42:00 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:42:00 May 19 14:42:00 three inkypi[516]: 14:42:00 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 14:42:00 three inkypi[516]: 14:42:00 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 14:42:00 three inkypi[516]: 14:42:00 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T14:42:00.623325-07:00', 'image_hash': 'a84387e86b20f142454719d98975c82ae52c7100bcd65114d7af6c54cc7e977e'} May 19 14:42:00 three inkypi[516]: 14:42:00 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:42:01 three inkypi[516]: 14:42:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:42:07 three inkypi[516]: 14:42:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:44:09 three inkypi[516]: 14:44:09 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:44:09 May 19 14:44:09 three inkypi[516]: 14:44:09 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 14:44:09 three inkypi[516]: 14:44:09 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 14:44:10 three inkypi[516]: 14:44:10 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T14:44:09.623667-07:00', 'image_hash': '3951de8833d8c63a614fd77000bff359b45f61d6ae6cd7d996e22168773dd8eb'} May 19 14:44:10 three inkypi[516]: 14:44:10 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:44:10 three inkypi[516]: 14:44:10 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:44:16 three inkypi[516]: 14:44:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:46:18 three inkypi[516]: 14:46:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:46:18 May 19 14:46:18 three inkypi[516]: 14:46:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 14:46:18 three inkypi[516]: 14:46:18 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 14:46:18 three inkypi[516]: 14:46:18 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 14:46:18 three inkypi[516]: 14:46:18 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 14:46:18 three inkypi[516]: 14:46:18 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 14:46:18 three inkypi[516]: 14:46:18 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 14:46:18 three inkypi[516]: 14:46:18 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 14:46:18 three inkypi[516]: 14:46:18 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 14:46:18 three inkypi[516]: 14:46:18 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 14:46:18 three inkypi[516]: 14:46:18 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 14:46:22 three inkypi[516]: 14:46:22 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 14:46:22 three inkypi[516]: 14:46:22 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 14:46:44 three inkypi[516]: 14:46:44 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T14:46:18.823866-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 14:46:44 three inkypi[516]: 14:46:44 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:46:45 three inkypi[516]: 14:46:45 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:46:51 three inkypi[516]: 14:46:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:48:53 three inkypi[516]: 14:48:53 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:48:53 May 19 14:48:53 three inkypi[516]: 14:48:53 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 14:48:53 three inkypi[516]: 14:48:53 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 14:48:53 three inkypi[516]: 14:48:53 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T14:48:53.752144-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 14:48:53 three inkypi[516]: 14:48:53 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:48:54 three inkypi[516]: 14:48:54 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:49:01 three inkypi[516]: 14:49:01 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:51:03 three inkypi[516]: 14:51:03 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:51:03 May 19 14:51:03 three inkypi[516]: 14:51:03 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 14:51:03 three inkypi[516]: 14:51:03 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 14:51:03 three inkypi[516]: 14:51:03 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T14:51:03.123922-07:00', 'image_hash': 'a84387e86b20f142454719d98975c82ae52c7100bcd65114d7af6c54cc7e977e'} May 19 14:51:03 three inkypi[516]: 14:51:03 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:51:04 three inkypi[516]: 14:51:04 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:51:10 three inkypi[516]: 14:51:10 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:53:12 three inkypi[516]: 14:53:12 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:53:12 May 19 14:53:12 three inkypi[516]: 14:53:12 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 14:53:12 three inkypi[516]: 14:53:12 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 14:53:13 three inkypi[516]: 14:53:13 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T14:53:12.551050-07:00', 'image_hash': 'd19692d7be4ee1db80ee3d0d38f50007f95d9d3bd537ca3ef088e05c088284f2'} May 19 14:53:13 three inkypi[516]: 14:53:13 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:53:13 three inkypi[516]: 14:53:13 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:53:20 three inkypi[516]: 14:53:20 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:55:22 three inkypi[516]: 14:55:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:55:22 May 19 14:55:22 three inkypi[516]: 14:55:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 14:55:22 three inkypi[516]: 14:55:22 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 14:55:22 three inkypi[516]: 14:55:22 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T14:55:22.523702-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 14:55:22 three inkypi[516]: 14:55:22 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:55:23 three inkypi[516]: 14:55:23 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:55:29 three inkypi[516]: 14:55:29 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:57:31 three inkypi[516]: 14:57:31 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:57:31 May 19 14:57:31 three inkypi[516]: 14:57:31 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 14:57:31 three inkypi[516]: 14:57:31 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 14:57:31 three inkypi[516]: 14:57:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T14:57:31.323415-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 14:57:31 three inkypi[516]: 14:57:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 14:57:32 three inkypi[516]: 14:57:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 14:57:38 three inkypi[516]: 14:57:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 14:59:40 three inkypi[516]: 14:59:40 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 14:59:40 May 19 14:59:40 three inkypi[516]: 14:59:40 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 14:59:40 three inkypi[516]: 14:59:40 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 15:00:28 three inkypi[516]: 15:00:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T14:59:40.624014-07:00', 'image_hash': '291b6bcefbe71fb32084e9c9192184144c146ef248c4ce953d8cba9f060d9f5e'} May 19 15:00:28 three inkypi[516]: 15:00:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:00:29 three inkypi[516]: 15:00:29 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:00:35 three inkypi[516]: 15:00:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:02:38 three inkypi[516]: 15:02:38 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:02:38 May 19 15:02:38 three inkypi[516]: 15:02:38 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 15:02:38 three inkypi[516]: 15:02:38 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 15:02:38 three inkypi[516]: 15:02:38 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T15:02:38.043489-07:00', 'image_hash': '87c9bfdcedb128c7c7d5a635bc1760ed71fbdde8d43e6b808aa0a32d149ed99b'} May 19 15:02:38 three inkypi[516]: 15:02:38 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:02:39 three inkypi[516]: 15:02:39 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:02:46 three inkypi[516]: 15:02:46 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:04:48 three inkypi[516]: 15:04:48 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:04:48 May 19 15:04:48 three inkypi[516]: 15:04:48 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 15:04:48 three inkypi[516]: 15:04:48 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 15:04:48 three inkypi[516]: 15:04:48 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T15:04:48.121587-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 15:04:48 three inkypi[516]: 15:04:48 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:04:48 three inkypi[516]: 15:04:48 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:04:54 three inkypi[516]: 15:04:54 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:06:56 three inkypi[516]: 15:06:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:06:56 May 19 15:06:56 three inkypi[516]: 15:06:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 15:06:56 three inkypi[516]: 15:06:56 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 15:06:57 three inkypi[516]: 15:06:57 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T15:06:56.923470-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 15:06:57 three inkypi[516]: 15:06:57 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:06:57 three inkypi[516]: 15:06:57 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:07:03 three inkypi[516]: 15:07:03 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:09:05 three inkypi[516]: 15:09:05 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:09:05 May 19 15:09:05 three inkypi[516]: 15:09:05 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 15:09:05 three inkypi[516]: 15:09:05 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 15:09:05 three inkypi[516]: 15:09:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T15:09:05.823203-07:00', 'image_hash': '291b6bcefbe71fb32084e9c9192184144c146ef248c4ce953d8cba9f060d9f5e'} May 19 15:09:05 three inkypi[516]: 15:09:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:09:06 three inkypi[516]: 15:09:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:09:13 three inkypi[516]: 15:09:13 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:11:15 three inkypi[516]: 15:11:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:11:15 May 19 15:11:15 three inkypi[516]: 15:11:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 15:11:15 three inkypi[516]: 15:11:15 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 15:11:15 three inkypi[516]: 15:11:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T15:11:15.223499-07:00', 'image_hash': '6eb89adbdac8cf05409cf1860c6a67f8415c388ecad9f23d7374ce7edd13b072'} May 19 15:11:15 three inkypi[516]: 15:11:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:11:16 three inkypi[516]: 15:11:16 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:11:22 three inkypi[516]: 15:11:22 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:13:24 three inkypi[516]: 15:13:24 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:13:24 May 19 15:13:24 three inkypi[516]: 15:13:24 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 15:13:24 three inkypi[516]: 15:13:24 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 15:13:24 three inkypi[516]: 15:13:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T15:13:24.523164-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 15:13:24 three inkypi[516]: 15:13:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:13:25 three inkypi[516]: 15:13:25 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:13:31 three inkypi[516]: 15:13:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:15:33 three inkypi[516]: 15:15:33 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:15:33 May 19 15:15:33 three inkypi[516]: 15:15:33 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 15:15:33 three inkypi[516]: 15:15:33 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 15:15:33 three inkypi[516]: 15:15:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T15:15:33.723813-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 15:15:33 three inkypi[516]: 15:15:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:15:34 three inkypi[516]: 15:15:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:15:41 three inkypi[516]: 15:15:41 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:17:43 three inkypi[516]: 15:17:43 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:17:43 May 19 15:17:43 three inkypi[516]: 15:17:43 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 15:17:43 three inkypi[516]: 15:17:43 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 15:17:43 three inkypi[516]: 15:17:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T15:17:43.121500-07:00', 'image_hash': '291b6bcefbe71fb32084e9c9192184144c146ef248c4ce953d8cba9f060d9f5e'} May 19 15:17:43 three inkypi[516]: 15:17:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:17:43 three inkypi[516]: 15:17:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:17:50 three inkypi[516]: 15:17:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:19:52 three inkypi[516]: 15:19:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:19:52 May 19 15:19:52 three inkypi[516]: 15:19:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 15:19:52 three inkypi[516]: 15:19:52 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 15:19:52 three inkypi[516]: 15:19:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T15:19:52.123192-07:00', 'image_hash': '24ba1a82e22f04ef4bbf9a5a81d468056e21b3b5748acad13123e9696baff47a'} May 19 15:19:52 three inkypi[516]: 15:19:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:19:53 three inkypi[516]: 15:19:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:19:59 three inkypi[516]: 15:19:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:22:01 three inkypi[516]: 15:22:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:22:01 May 19 15:22:01 three inkypi[516]: 15:22:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 15:22:01 three inkypi[516]: 15:22:01 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 15:22:01 three inkypi[516]: 15:22:01 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T15:22:01.323347-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 15:22:01 three inkypi[516]: 15:22:01 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:22:01 three inkypi[516]: 15:22:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:22:08 three inkypi[516]: 15:22:08 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:24:10 three inkypi[516]: 15:24:10 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:24:10 May 19 15:24:10 three inkypi[516]: 15:24:10 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 15:24:10 three inkypi[516]: 15:24:10 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 15:25:05 three inkypi[516]: 15:25:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T15:24:10.524150-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 15:25:05 three inkypi[516]: 15:25:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:25:06 three inkypi[516]: 15:25:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:25:12 three inkypi[516]: 15:25:12 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:27:14 three inkypi[516]: 15:27:14 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:27:14 May 19 15:27:14 three inkypi[516]: 15:27:14 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 15:27:14 three inkypi[516]: 15:27:14 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 15:27:15 three inkypi[516]: 15:27:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T15:27:14.858066-07:00', 'image_hash': '291b6bcefbe71fb32084e9c9192184144c146ef248c4ce953d8cba9f060d9f5e'} May 19 15:27:15 three inkypi[516]: 15:27:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:27:15 three inkypi[516]: 15:27:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:27:21 three inkypi[516]: 15:27:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:29:23 three inkypi[516]: 15:29:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:29:23 May 19 15:29:23 three inkypi[516]: 15:29:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 15:29:23 three inkypi[516]: 15:29:23 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 15:29:24 three inkypi[516]: 15:29:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T15:29:23.923922-07:00', 'image_hash': '4f7a2fc8e10b78541a4aca9045b382510bd301dfec4af6aa7803ce19b8bf0ba6'} May 19 15:29:24 three inkypi[516]: 15:29:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:29:25 three inkypi[516]: 15:29:25 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:29:31 three inkypi[516]: 15:29:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:31:33 three inkypi[516]: 15:31:33 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:31:33 May 19 15:31:33 three inkypi[516]: 15:31:33 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 15:31:33 three inkypi[516]: 15:31:33 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 15:31:34 three inkypi[516]: 15:31:34 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T15:31:33.921597-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 15:31:34 three inkypi[516]: 15:31:34 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:31:34 three inkypi[516]: 15:31:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:31:40 three inkypi[516]: 15:31:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:33:42 three inkypi[516]: 15:33:42 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:33:42 May 19 15:33:42 three inkypi[516]: 15:33:42 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 15:33:42 three inkypi[516]: 15:33:42 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 15:33:43 three inkypi[516]: 15:33:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T15:33:42.923713-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 15:33:43 three inkypi[516]: 15:33:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:33:43 three inkypi[516]: 15:33:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:33:50 three inkypi[516]: 15:33:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:35:52 three inkypi[516]: 15:35:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:35:52 May 19 15:35:52 three inkypi[516]: 15:35:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 15:35:52 three inkypi[516]: 15:35:52 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 15:36:43 three inkypi[516]: 15:36:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T15:35:52.223382-07:00', 'image_hash': '3b896d90120d1c5f480f0e22e1e0f44463c1b52890b557baba1f77a7499919c2'} May 19 15:36:43 three inkypi[516]: 15:36:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:36:43 three inkypi[516]: 15:36:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:36:50 three inkypi[516]: 15:36:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:38:52 three inkypi[516]: 15:38:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:38:52 May 19 15:38:52 three inkypi[516]: 15:38:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 15:38:52 three inkypi[516]: 15:38:52 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 15:38:53 three inkypi[516]: 15:38:53 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T15:38:52.462721-07:00', 'image_hash': 'dacc9f08623c43ec76f281bf08086158b288ac6ca35483be082129ee3d3c0ed2'} May 19 15:38:53 three inkypi[516]: 15:38:53 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:38:53 three inkypi[516]: 15:38:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:38:59 three inkypi[516]: 15:38:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:41:01 three inkypi[516]: 15:41:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:41:01 May 19 15:41:01 three inkypi[516]: 15:41:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 15:41:01 three inkypi[516]: 15:41:01 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 15:41:02 three inkypi[516]: 15:41:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T15:41:01.923657-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 15:41:02 three inkypi[516]: 15:41:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:41:02 three inkypi[516]: 15:41:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:41:09 three inkypi[516]: 15:41:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:43:11 three inkypi[516]: 15:43:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:43:11 May 19 15:43:11 three inkypi[516]: 15:43:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 15:43:11 three inkypi[516]: 15:43:11 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 15:43:11 three inkypi[516]: 15:43:11 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T15:43:11.221464-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 15:43:11 three inkypi[516]: 15:43:11 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:43:11 three inkypi[516]: 15:43:11 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:43:18 three inkypi[516]: 15:43:18 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:45:20 three inkypi[516]: 15:45:20 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:45:20 May 19 15:45:20 three inkypi[516]: 15:45:20 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 15:45:20 three inkypi[516]: 15:45:20 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 15:45:20 three inkypi[516]: 15:45:20 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T15:45:20.621238-07:00', 'image_hash': '3b896d90120d1c5f480f0e22e1e0f44463c1b52890b557baba1f77a7499919c2'} May 19 15:45:20 three inkypi[516]: 15:45:20 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:45:21 three inkypi[516]: 15:45:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:45:28 three inkypi[516]: 15:45:28 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:47:30 three inkypi[516]: 15:47:30 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:47:30 May 19 15:47:30 three inkypi[516]: 15:47:30 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 15:47:30 three inkypi[516]: 15:47:30 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 15:47:30 three inkypi[516]: 15:47:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T15:47:30.123671-07:00', 'image_hash': 'df31ba083917afa50b9d66342e299c1107e84e4f42efc581003a4e148ef638d1'} May 19 15:47:30 three inkypi[516]: 15:47:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:47:31 three inkypi[516]: 15:47:31 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:47:37 three inkypi[516]: 15:47:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:49:39 three inkypi[516]: 15:49:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:49:39 May 19 15:49:39 three inkypi[516]: 15:49:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 15:49:39 three inkypi[516]: 15:49:39 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 15:49:39 three inkypi[516]: 15:49:39 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 15:49:39 three inkypi[516]: 15:49:39 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 15:49:39 three inkypi[516]: 15:49:39 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 15:49:39 three inkypi[516]: 15:49:39 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 15:49:39 three inkypi[516]: 15:49:39 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 15:49:39 three inkypi[516]: 15:49:39 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 15:49:39 three inkypi[516]: 15:49:39 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 15:49:39 three inkypi[516]: 15:49:39 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 15:49:43 three inkypi[516]: 15:49:43 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 15:49:43 three inkypi[516]: 15:49:43 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 15:50:03 three inkypi[516]: 15:50:03 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T15:49:39.723460-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 15:50:03 three inkypi[516]: 15:50:03 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:50:03 three inkypi[516]: 15:50:03 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:50:10 three inkypi[516]: 15:50:10 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:52:12 three inkypi[516]: 15:52:12 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:52:12 May 19 15:52:12 three inkypi[516]: 15:52:12 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 15:52:12 three inkypi[516]: 15:52:12 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 15:52:12 three inkypi[516]: 15:52:12 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T15:52:12.157836-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 15:52:12 three inkypi[516]: 15:52:12 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:52:12 three inkypi[516]: 15:52:12 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:52:19 three inkypi[516]: 15:52:19 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:54:21 three inkypi[516]: 15:54:21 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:54:21 May 19 15:54:21 three inkypi[516]: 15:54:21 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 15:54:21 three inkypi[516]: 15:54:21 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 15:54:21 three inkypi[516]: 15:54:21 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T15:54:21.323679-07:00', 'image_hash': '3b896d90120d1c5f480f0e22e1e0f44463c1b52890b557baba1f77a7499919c2'} May 19 15:54:21 three inkypi[516]: 15:54:21 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:54:22 three inkypi[516]: 15:54:22 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:54:28 three inkypi[516]: 15:54:28 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:56:30 three inkypi[516]: 15:56:30 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:56:30 May 19 15:56:30 three inkypi[516]: 15:56:30 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 15:56:30 three inkypi[516]: 15:56:30 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 15:56:31 three inkypi[516]: 15:56:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T15:56:30.824127-07:00', 'image_hash': '7e5902eaf5ef1aa99f95a6cc530b06a6f034c9e2a90957fc43e978b3f9aecbcf'} May 19 15:56:31 three inkypi[516]: 15:56:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:56:31 three inkypi[516]: 15:56:31 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:56:38 three inkypi[516]: 15:56:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 15:58:40 three inkypi[516]: 15:58:40 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 15:58:40 May 19 15:58:40 three inkypi[516]: 15:58:40 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 15:58:40 three inkypi[516]: 15:58:40 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 15:58:40 three inkypi[516]: 15:58:40 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T15:58:40.223283-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 15:58:40 three inkypi[516]: 15:58:40 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 15:58:40 three inkypi[516]: 15:58:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 15:58:47 three inkypi[516]: 15:58:47 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:00:49 three inkypi[516]: 16:00:49 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:00:49 May 19 16:00:49 three inkypi[516]: 16:00:49 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 16:00:49 three inkypi[516]: 16:00:49 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 16:00:49 three inkypi[516]: 16:00:49 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T16:00:49.123568-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 16:00:49 three inkypi[516]: 16:00:49 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:00:49 three inkypi[516]: 16:00:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:00:56 three inkypi[516]: 16:00:56 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:02:58 three inkypi[516]: 16:02:58 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:02:58 May 19 16:02:58 three inkypi[516]: 16:02:58 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 16:02:58 three inkypi[516]: 16:02:58 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 16:02:58 three inkypi[516]: 16:02:58 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T16:02:58.523749-07:00', 'image_hash': '3b896d90120d1c5f480f0e22e1e0f44463c1b52890b557baba1f77a7499919c2'} May 19 16:02:58 three inkypi[516]: 16:02:58 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:02:59 three inkypi[516]: 16:02:59 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:03:05 three inkypi[516]: 16:03:05 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:05:07 three inkypi[516]: 16:05:07 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:05:07 May 19 16:05:07 three inkypi[516]: 16:05:07 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 16:05:07 three inkypi[516]: 16:05:07 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 16:05:08 three inkypi[516]: 16:05:08 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T16:05:07.922880-07:00', 'image_hash': '933efe89ed76ffa1f3057a158b6801f3d1b8f879a4ed3a553e0d61b3d673c3a8'} May 19 16:05:08 three inkypi[516]: 16:05:08 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:05:09 three inkypi[516]: 16:05:09 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:05:15 three inkypi[516]: 16:05:15 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:07:17 three inkypi[516]: 16:07:17 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:07:17 May 19 16:07:17 three inkypi[516]: 16:07:17 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 16:07:17 three inkypi[516]: 16:07:17 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 16:07:17 three inkypi[516]: 16:07:17 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T16:07:17.623533-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 16:07:17 three inkypi[516]: 16:07:17 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:07:18 three inkypi[516]: 16:07:18 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:07:24 three inkypi[516]: 16:07:24 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:09:26 three inkypi[516]: 16:09:26 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:09:26 May 19 16:09:26 three inkypi[516]: 16:09:26 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 16:09:26 three inkypi[516]: 16:09:26 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 16:09:26 three inkypi[516]: 16:09:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T16:09:26.430152-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 16:09:26 three inkypi[516]: 16:09:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:09:27 three inkypi[516]: 16:09:27 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:09:33 three inkypi[516]: 16:09:33 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:11:35 three inkypi[516]: 16:11:35 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:11:35 May 19 16:11:35 three inkypi[516]: 16:11:35 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 16:11:35 three inkypi[516]: 16:11:35 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 16:12:20 three inkypi[516]: 16:12:20 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T16:11:35.323119-07:00', 'image_hash': '3ff002436d1006ab4181dbe6c89cc273015d4083da98e8b14aa8dec1667a60db'} May 19 16:12:20 three inkypi[516]: 16:12:20 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:12:20 three inkypi[516]: 16:12:20 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:12:27 three inkypi[516]: 16:12:27 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:14:29 three inkypi[516]: 16:14:29 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:14:29 May 19 16:14:29 three inkypi[516]: 16:14:29 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 16:14:29 three inkypi[516]: 16:14:29 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 16:14:29 three inkypi[516]: 16:14:29 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T16:14:29.344687-07:00', 'image_hash': '7d25bb2257747d5e76f8788c41dc18d189504d149e1fad58cb560fa8c19f4bc8'} May 19 16:14:29 three inkypi[516]: 16:14:29 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:14:30 three inkypi[516]: 16:14:30 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:14:36 three inkypi[516]: 16:14:36 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:16:38 three inkypi[516]: 16:16:38 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:16:38 May 19 16:16:38 three inkypi[516]: 16:16:38 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 16:16:38 three inkypi[516]: 16:16:38 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 16:16:38 three inkypi[516]: 16:16:38 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T16:16:38.823579-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 16:16:38 three inkypi[516]: 16:16:38 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:16:39 three inkypi[516]: 16:16:39 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:16:45 three inkypi[516]: 16:16:45 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:18:47 three inkypi[516]: 16:18:47 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:18:47 May 19 16:18:47 three inkypi[516]: 16:18:47 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 16:18:47 three inkypi[516]: 16:18:47 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 16:18:47 three inkypi[516]: 16:18:47 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T16:18:47.623821-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 16:18:47 three inkypi[516]: 16:18:47 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:18:48 three inkypi[516]: 16:18:48 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:18:54 three inkypi[516]: 16:18:54 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:20:57 three inkypi[516]: 16:20:57 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:20:57 May 19 16:20:57 three inkypi[516]: 16:20:57 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 16:20:57 three inkypi[516]: 16:20:57 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 16:20:57 three inkypi[516]: 16:20:57 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T16:20:57.023386-07:00', 'image_hash': '3ff002436d1006ab4181dbe6c89cc273015d4083da98e8b14aa8dec1667a60db'} May 19 16:20:57 three inkypi[516]: 16:20:57 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:20:57 three inkypi[516]: 16:20:57 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:21:03 three inkypi[516]: 16:21:03 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:23:06 three inkypi[516]: 16:23:06 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:23:06 May 19 16:23:06 three inkypi[516]: 16:23:06 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 16:23:06 three inkypi[516]: 16:23:06 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 16:23:06 three inkypi[516]: 16:23:06 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T16:23:06.023596-07:00', 'image_hash': 'c0b9cbac94e45bfe37d56e79e3db7e5c1d8192906ee9e65583377aa5ea6d3eeb'} May 19 16:23:06 three inkypi[516]: 16:23:06 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:23:07 three inkypi[516]: 16:23:07 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:23:13 three inkypi[516]: 16:23:13 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:25:15 three inkypi[516]: 16:25:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:25:15 May 19 16:25:15 three inkypi[516]: 16:25:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 16:25:15 three inkypi[516]: 16:25:15 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 16:25:15 three inkypi[516]: 16:25:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T16:25:15.821185-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 16:25:15 three inkypi[516]: 16:25:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:25:16 three inkypi[516]: 16:25:16 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:25:22 three inkypi[516]: 16:25:22 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:27:25 three inkypi[516]: 16:27:25 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:27:25 May 19 16:27:25 three inkypi[516]: 16:27:25 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 16:27:25 three inkypi[516]: 16:27:25 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 16:28:17 three inkypi[516]: 16:28:17 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T16:27:25.023469-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 16:28:17 three inkypi[516]: 16:28:17 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:28:17 three inkypi[516]: 16:28:17 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:28:24 three inkypi[516]: 16:28:24 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:30:26 three inkypi[516]: 16:30:26 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:30:26 May 19 16:30:26 three inkypi[516]: 16:30:26 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 16:30:26 three inkypi[516]: 16:30:26 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 16:30:26 three inkypi[516]: 16:30:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T16:30:26.156001-07:00', 'image_hash': '3ff002436d1006ab4181dbe6c89cc273015d4083da98e8b14aa8dec1667a60db'} May 19 16:30:26 three inkypi[516]: 16:30:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:30:27 three inkypi[516]: 16:30:27 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:30:33 three inkypi[516]: 16:30:33 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:32:35 three inkypi[516]: 16:32:35 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:32:35 May 19 16:32:35 three inkypi[516]: 16:32:35 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 16:32:35 three inkypi[516]: 16:32:35 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 16:32:36 three inkypi[516]: 16:32:36 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T16:32:35.724370-07:00', 'image_hash': 'd5fd68df66caf375fb474a1c4758ce612235551922b20c9c57c9dc8c458823a1'} May 19 16:32:36 three inkypi[516]: 16:32:36 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:32:37 three inkypi[516]: 16:32:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:32:43 three inkypi[516]: 16:32:43 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:34:45 three inkypi[516]: 16:34:45 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:34:45 May 19 16:34:45 three inkypi[516]: 16:34:45 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 16:34:45 three inkypi[516]: 16:34:45 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 16:34:45 three inkypi[516]: 16:34:45 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T16:34:45.423169-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 16:34:45 three inkypi[516]: 16:34:45 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:34:46 three inkypi[516]: 16:34:46 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:34:52 three inkypi[516]: 16:34:52 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:36:54 three inkypi[516]: 16:36:54 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:36:54 May 19 16:36:54 three inkypi[516]: 16:36:54 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 16:36:54 three inkypi[516]: 16:36:54 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 16:36:54 three inkypi[516]: 16:36:54 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T16:36:54.423546-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 16:36:54 three inkypi[516]: 16:36:54 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:36:55 three inkypi[516]: 16:36:55 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:37:01 three inkypi[516]: 16:37:01 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:39:03 three inkypi[516]: 16:39:03 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:39:03 May 19 16:39:03 three inkypi[516]: 16:39:03 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 16:39:03 three inkypi[516]: 16:39:03 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 16:39:03 three inkypi[516]: 16:39:03 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T16:39:03.524023-07:00', 'image_hash': '3ff002436d1006ab4181dbe6c89cc273015d4083da98e8b14aa8dec1667a60db'} May 19 16:39:03 three inkypi[516]: 16:39:03 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:39:04 three inkypi[516]: 16:39:04 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:39:10 three inkypi[516]: 16:39:10 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:41:12 three inkypi[516]: 16:41:12 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:41:12 May 19 16:41:12 three inkypi[516]: 16:41:12 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 16:41:12 three inkypi[516]: 16:41:12 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 16:41:13 three inkypi[516]: 16:41:13 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T16:41:12.923368-07:00', 'image_hash': '0c9a7c53dd1e99e98706d2cbea5ca2c79fd685ddcb6f38410f2503c6d2c68859'} May 19 16:41:13 three inkypi[516]: 16:41:13 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:41:14 three inkypi[516]: 16:41:14 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:41:20 three inkypi[516]: 16:41:20 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:43:22 three inkypi[516]: 16:43:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:43:22 May 19 16:43:22 three inkypi[516]: 16:43:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 16:43:22 three inkypi[516]: 16:43:22 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 16:43:22 three inkypi[516]: 16:43:22 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T16:43:22.723225-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 16:43:22 three inkypi[516]: 16:43:22 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:43:23 three inkypi[516]: 16:43:23 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:43:29 three inkypi[516]: 16:43:29 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:45:31 three inkypi[516]: 16:45:31 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:45:31 May 19 16:45:31 three inkypi[516]: 16:45:31 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 16:45:31 three inkypi[516]: 16:45:31 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 16:45:31 three inkypi[516]: 16:45:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T16:45:31.723259-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 16:45:31 three inkypi[516]: 16:45:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:45:32 three inkypi[516]: 16:45:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:45:38 three inkypi[516]: 16:45:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:47:40 three inkypi[516]: 16:47:40 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:47:40 May 19 16:47:40 three inkypi[516]: 16:47:40 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 16:47:40 three inkypi[516]: 16:47:40 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 16:48:31 three inkypi[516]: 16:48:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T16:47:40.623437-07:00', 'image_hash': 'a84f6b4446e32054b99971c751a537ef88e74a61039ba6acbcebac3ca126d35b'} May 19 16:48:31 three inkypi[516]: 16:48:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:48:32 three inkypi[516]: 16:48:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:48:38 three inkypi[516]: 16:48:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:50:40 three inkypi[516]: 16:50:40 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:50:40 May 19 16:50:40 three inkypi[516]: 16:50:40 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 16:50:40 three inkypi[516]: 16:50:40 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 16:50:41 three inkypi[516]: 16:50:41 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T16:50:40.364768-07:00', 'image_hash': '45f733a88d195e1712f9f89aab211969e7ccf171fc77fbb7e17c515b2c5efbcf'} May 19 16:50:41 three inkypi[516]: 16:50:41 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:50:41 three inkypi[516]: 16:50:41 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:50:48 three inkypi[516]: 16:50:48 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:52:50 three inkypi[516]: 16:52:50 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:52:50 May 19 16:52:50 three inkypi[516]: 16:52:50 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 16:52:50 three inkypi[516]: 16:52:50 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 16:52:50 three inkypi[516]: 16:52:50 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 16:52:50 three inkypi[516]: 16:52:50 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 16:52:50 three inkypi[516]: 16:52:50 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 16:52:50 three inkypi[516]: 16:52:50 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 16:52:50 three inkypi[516]: 16:52:50 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 16:52:50 three inkypi[516]: 16:52:50 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 16:52:50 three inkypi[516]: 16:52:50 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 16:52:50 three inkypi[516]: 16:52:50 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 16:52:54 three inkypi[516]: 16:52:54 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 16:52:54 three inkypi[516]: 16:52:54 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 16:53:13 three inkypi[516]: 16:53:13 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T16:52:50.423618-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 16:53:13 three inkypi[516]: 16:53:13 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:53:13 three inkypi[516]: 16:53:13 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:53:19 three inkypi[516]: 16:53:19 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:55:21 three inkypi[516]: 16:55:21 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:55:21 May 19 16:55:21 three inkypi[516]: 16:55:21 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 16:55:21 three inkypi[516]: 16:55:21 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 16:55:22 three inkypi[516]: 16:55:22 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T16:55:21.958204-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 16:55:22 three inkypi[516]: 16:55:22 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:55:22 three inkypi[516]: 16:55:22 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:55:29 three inkypi[516]: 16:55:29 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:57:31 three inkypi[516]: 16:57:31 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:57:31 May 19 16:57:31 three inkypi[516]: 16:57:31 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 16:57:31 three inkypi[516]: 16:57:31 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 16:57:31 three inkypi[516]: 16:57:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T16:57:31.323472-07:00', 'image_hash': 'a84f6b4446e32054b99971c751a537ef88e74a61039ba6acbcebac3ca126d35b'} May 19 16:57:31 three inkypi[516]: 16:57:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:57:32 three inkypi[516]: 16:57:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:57:38 three inkypi[516]: 16:57:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 16:59:40 three inkypi[516]: 16:59:40 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 16:59:40 May 19 16:59:40 three inkypi[516]: 16:59:40 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 16:59:40 three inkypi[516]: 16:59:40 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 16:59:40 three inkypi[516]: 16:59:40 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T16:59:40.323339-07:00', 'image_hash': 'de39adb7079cef57b99bcc9746d0107af36786e68e63143dd2f01f49e5d35f9b'} May 19 16:59:40 three inkypi[516]: 16:59:40 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 16:59:41 three inkypi[516]: 16:59:41 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 16:59:47 three inkypi[516]: 16:59:47 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:01:49 three inkypi[516]: 17:01:49 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:01:49 May 19 17:01:49 three inkypi[516]: 17:01:49 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 17:01:49 three inkypi[516]: 17:01:49 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 17:01:49 three inkypi[516]: 17:01:49 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T17:01:49.724001-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 17:01:49 three inkypi[516]: 17:01:49 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:01:50 three inkypi[516]: 17:01:50 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:01:56 three inkypi[516]: 17:01:56 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:03:58 three inkypi[516]: 17:03:58 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:03:58 May 19 17:03:58 three inkypi[516]: 17:03:58 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 17:03:58 three inkypi[516]: 17:03:58 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 17:03:58 three inkypi[516]: 17:03:58 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T17:03:58.723550-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 17:03:58 three inkypi[516]: 17:03:58 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:03:59 three inkypi[516]: 17:03:59 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:04:05 three inkypi[516]: 17:04:05 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:06:07 three inkypi[516]: 17:06:07 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:06:07 May 19 17:06:07 three inkypi[516]: 17:06:07 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 17:06:07 three inkypi[516]: 17:06:07 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 17:06:07 three inkypi[516]: 17:06:07 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T17:06:07.623297-07:00', 'image_hash': 'a84f6b4446e32054b99971c751a537ef88e74a61039ba6acbcebac3ca126d35b'} May 19 17:06:07 three inkypi[516]: 17:06:07 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:06:08 three inkypi[516]: 17:06:08 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:06:15 three inkypi[516]: 17:06:15 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:08:17 three inkypi[516]: 17:08:17 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:08:17 May 19 17:08:17 three inkypi[516]: 17:08:17 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 17:08:17 three inkypi[516]: 17:08:17 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 17:08:17 three inkypi[516]: 17:08:17 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T17:08:17.123816-07:00', 'image_hash': 'a4415e5d37cf7e5018d54df708843891e86fcd8771255ab14e99b95e4ed0b1d0'} May 19 17:08:17 three inkypi[516]: 17:08:17 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:08:18 three inkypi[516]: 17:08:18 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:08:24 three inkypi[516]: 17:08:24 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:10:26 three inkypi[516]: 17:10:26 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:10:26 May 19 17:10:26 three inkypi[516]: 17:10:26 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 17:10:26 three inkypi[516]: 17:10:26 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 17:10:26 three inkypi[516]: 17:10:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T17:10:26.723548-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 17:10:26 three inkypi[516]: 17:10:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:10:27 three inkypi[516]: 17:10:27 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:10:33 three inkypi[516]: 17:10:33 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:12:35 three inkypi[516]: 17:12:35 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:12:35 May 19 17:12:35 three inkypi[516]: 17:12:35 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 17:12:35 three inkypi[516]: 17:12:35 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 17:12:35 three inkypi[516]: 17:12:35 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T17:12:35.830074-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 17:12:35 three inkypi[516]: 17:12:35 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:12:36 three inkypi[516]: 17:12:36 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:12:42 three inkypi[516]: 17:12:42 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:14:45 three inkypi[516]: 17:14:45 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:14:45 May 19 17:14:45 three inkypi[516]: 17:14:45 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 17:14:45 three inkypi[516]: 17:14:45 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 17:14:45 three inkypi[516]: 17:14:45 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T17:14:45.023182-07:00', 'image_hash': 'a84f6b4446e32054b99971c751a537ef88e74a61039ba6acbcebac3ca126d35b'} May 19 17:14:45 three inkypi[516]: 17:14:45 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:14:45 three inkypi[516]: 17:14:45 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:14:52 three inkypi[516]: 17:14:52 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:16:54 three inkypi[516]: 17:16:54 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:16:54 May 19 17:16:54 three inkypi[516]: 17:16:54 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 17:16:54 three inkypi[516]: 17:16:54 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 17:16:55 three inkypi[516]: 17:16:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T17:16:54.623550-07:00', 'image_hash': 'f7c2e4975cc5a6e8e24a4f1508d22a1a2d8042d5dc87901e1ec2f3f545fd388f'} May 19 17:16:55 three inkypi[516]: 17:16:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:16:55 three inkypi[516]: 17:16:55 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:17:01 three inkypi[516]: 17:17:01 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:19:03 three inkypi[516]: 17:19:03 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:19:03 May 19 17:19:03 three inkypi[516]: 17:19:03 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 17:19:03 three inkypi[516]: 17:19:03 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 17:19:03 three inkypi[516]: 17:19:03 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T17:19:03.823030-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 17:19:03 three inkypi[516]: 17:19:03 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:19:04 three inkypi[516]: 17:19:04 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:19:10 three inkypi[516]: 17:19:10 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:21:13 three inkypi[516]: 17:21:13 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:21:13 May 19 17:21:13 three inkypi[516]: 17:21:13 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 17:21:13 three inkypi[516]: 17:21:13 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 17:21:13 three inkypi[516]: 17:21:13 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T17:21:13.023544-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 17:21:13 three inkypi[516]: 17:21:13 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:21:13 three inkypi[516]: 17:21:13 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:21:20 three inkypi[516]: 17:21:20 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:23:22 three inkypi[516]: 17:23:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:23:22 May 19 17:23:22 three inkypi[516]: 17:23:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 17:23:22 three inkypi[516]: 17:23:22 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 17:24:13 three inkypi[516]: 17:24:13 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T17:23:22.423061-07:00', 'image_hash': '1a52ce644998a0bec14a1ee4e0ed3f102860da76c33af6f223b998171d673343'} May 19 17:24:13 three inkypi[516]: 17:24:13 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:24:13 three inkypi[516]: 17:24:13 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:24:20 three inkypi[516]: 17:24:20 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:26:22 three inkypi[516]: 17:26:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:26:22 May 19 17:26:22 three inkypi[516]: 17:26:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 17:26:22 three inkypi[516]: 17:26:22 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 17:26:23 three inkypi[516]: 17:26:23 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T17:26:22.662809-07:00', 'image_hash': 'f358175e118a0b7872e6e863d4949c86e97df7ee11eb2bac5c478a5a8d89a00a'} May 19 17:26:23 three inkypi[516]: 17:26:23 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:26:23 three inkypi[516]: 17:26:23 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:26:30 three inkypi[516]: 17:26:30 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:28:32 three inkypi[516]: 17:28:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:28:32 May 19 17:28:32 three inkypi[516]: 17:28:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 17:28:32 three inkypi[516]: 17:28:32 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 17:28:32 three inkypi[516]: 17:28:32 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T17:28:32.123461-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 17:28:32 three inkypi[516]: 17:28:32 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:28:32 three inkypi[516]: 17:28:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:28:38 three inkypi[516]: 17:28:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:30:40 three inkypi[516]: 17:30:40 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:30:40 May 19 17:30:40 three inkypi[516]: 17:30:40 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 17:30:40 three inkypi[516]: 17:30:40 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 17:31:28 three inkypi[516]: 17:31:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T17:30:40.923707-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 17:31:28 three inkypi[516]: 17:31:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:31:28 three inkypi[516]: 17:31:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:31:35 three inkypi[516]: 17:31:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:33:37 three inkypi[516]: 17:33:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:33:37 May 19 17:33:37 three inkypi[516]: 17:33:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 17:33:37 three inkypi[516]: 17:33:37 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 17:33:37 three inkypi[516]: 17:33:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T17:33:37.253301-07:00', 'image_hash': '1a52ce644998a0bec14a1ee4e0ed3f102860da76c33af6f223b998171d673343'} May 19 17:33:37 three inkypi[516]: 17:33:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:33:37 three inkypi[516]: 17:33:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:33:44 three inkypi[516]: 17:33:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:35:46 three inkypi[516]: 17:35:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:35:46 May 19 17:35:46 three inkypi[516]: 17:35:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 17:35:46 three inkypi[516]: 17:35:46 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 17:35:46 three inkypi[516]: 17:35:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T17:35:46.223685-07:00', 'image_hash': '27226b169551ff74ed2f21e39db4dfd92e04865454041c9876f1d1d1ebbaa6c5'} May 19 17:35:46 three inkypi[516]: 17:35:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:35:47 three inkypi[516]: 17:35:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:35:53 three inkypi[516]: 17:35:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:37:56 three inkypi[516]: 17:37:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:37:56 May 19 17:37:56 three inkypi[516]: 17:37:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 17:37:56 three inkypi[516]: 17:37:56 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 17:37:56 three inkypi[516]: 17:37:56 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T17:37:56.023566-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 17:37:56 three inkypi[516]: 17:37:56 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:37:56 three inkypi[516]: 17:37:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:38:03 three inkypi[516]: 17:38:03 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:40:05 three inkypi[516]: 17:40:05 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:40:05 May 19 17:40:05 three inkypi[516]: 17:40:05 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 17:40:05 three inkypi[516]: 17:40:05 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 17:40:05 three inkypi[516]: 17:40:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T17:40:05.321013-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 17:40:05 three inkypi[516]: 17:40:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:40:05 three inkypi[516]: 17:40:05 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:40:12 three inkypi[516]: 17:40:12 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:42:14 three inkypi[516]: 17:42:14 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:42:14 May 19 17:42:14 three inkypi[516]: 17:42:14 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 17:42:14 three inkypi[516]: 17:42:14 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 17:42:14 three inkypi[516]: 17:42:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T17:42:14.223229-07:00', 'image_hash': '1a52ce644998a0bec14a1ee4e0ed3f102860da76c33af6f223b998171d673343'} May 19 17:42:14 three inkypi[516]: 17:42:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:42:15 three inkypi[516]: 17:42:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:42:21 three inkypi[516]: 17:42:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:44:23 three inkypi[516]: 17:44:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:44:23 May 19 17:44:23 three inkypi[516]: 17:44:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 17:44:23 three inkypi[516]: 17:44:23 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 17:44:24 three inkypi[516]: 17:44:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T17:44:23.723750-07:00', 'image_hash': '1ab06ca6cc67b2ad784e9f7a5707f0389e3a5c6b6c0c33cd39a88db36792d976'} May 19 17:44:24 three inkypi[516]: 17:44:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:44:24 three inkypi[516]: 17:44:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:44:31 three inkypi[516]: 17:44:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:46:33 three inkypi[516]: 17:46:33 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:46:33 May 19 17:46:33 three inkypi[516]: 17:46:33 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 17:46:33 three inkypi[516]: 17:46:33 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 17:46:33 three inkypi[516]: 17:46:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T17:46:33.423360-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 17:46:33 three inkypi[516]: 17:46:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:46:34 three inkypi[516]: 17:46:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:46:40 three inkypi[516]: 17:46:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:48:42 three inkypi[516]: 17:48:42 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:48:42 May 19 17:48:42 three inkypi[516]: 17:48:42 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 17:48:42 three inkypi[516]: 17:48:42 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 17:48:42 three inkypi[516]: 17:48:42 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T17:48:42.523623-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 17:48:42 three inkypi[516]: 17:48:42 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:48:43 three inkypi[516]: 17:48:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:48:49 three inkypi[516]: 17:48:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:50:51 three inkypi[516]: 17:50:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:50:51 May 19 17:50:51 three inkypi[516]: 17:50:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 17:50:51 three inkypi[516]: 17:50:51 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 17:50:51 three inkypi[516]: 17:50:51 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T17:50:51.423619-07:00', 'image_hash': '1a52ce644998a0bec14a1ee4e0ed3f102860da76c33af6f223b998171d673343'} May 19 17:50:51 three inkypi[516]: 17:50:51 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:50:52 three inkypi[516]: 17:50:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:50:58 three inkypi[516]: 17:50:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:53:00 three inkypi[516]: 17:53:00 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:53:00 May 19 17:53:00 three inkypi[516]: 17:53:00 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 17:53:00 three inkypi[516]: 17:53:00 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 17:53:01 three inkypi[516]: 17:53:01 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T17:53:00.823782-07:00', 'image_hash': '611cc7579231d0d3b99d725c7434d083207245d648e2048f8aaa3f78f906d32d'} May 19 17:53:01 three inkypi[516]: 17:53:01 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:53:02 three inkypi[516]: 17:53:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:53:08 three inkypi[516]: 17:53:08 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:55:10 three inkypi[516]: 17:55:10 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:55:10 May 19 17:55:10 three inkypi[516]: 17:55:10 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 17:55:10 three inkypi[516]: 17:55:10 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 17:55:10 three inkypi[516]: 17:55:10 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 17:55:10 three inkypi[516]: 17:55:10 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 17:55:10 three inkypi[516]: 17:55:10 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 17:55:10 three inkypi[516]: 17:55:10 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 17:55:10 three inkypi[516]: 17:55:10 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 17:55:10 three inkypi[516]: 17:55:10 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 17:55:10 three inkypi[516]: 17:55:10 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 17:55:10 three inkypi[516]: 17:55:10 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 17:55:14 three inkypi[516]: 17:55:14 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 17:55:14 three inkypi[516]: 17:55:14 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 17:55:33 three inkypi[516]: 17:55:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T17:55:10.522928-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 17:55:33 three inkypi[516]: 17:55:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:55:34 three inkypi[516]: 17:55:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:55:40 three inkypi[516]: 17:55:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:57:43 three inkypi[516]: 17:57:43 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:57:43 May 19 17:57:43 three inkypi[516]: 17:57:43 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 17:57:43 three inkypi[516]: 17:57:43 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 17:57:43 three inkypi[516]: 17:57:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T17:57:43.056975-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 17:57:43 three inkypi[516]: 17:57:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 17:57:43 three inkypi[516]: 17:57:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 17:57:50 three inkypi[516]: 17:57:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 17:59:52 three inkypi[516]: 17:59:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 17:59:52 May 19 17:59:52 three inkypi[516]: 17:59:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 17:59:52 three inkypi[516]: 17:59:52 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 18:00:46 three inkypi[516]: 18:00:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T17:59:52.523968-07:00', 'image_hash': '7d348f7966d28dc9f289ca2204d4030172a57d2a4b6a595314c850258311a199'} May 19 18:00:46 three inkypi[516]: 18:00:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:00:47 three inkypi[516]: 18:00:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:00:53 three inkypi[516]: 18:00:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:02:55 three inkypi[516]: 18:02:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:02:55 May 19 18:02:55 three inkypi[516]: 18:02:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 18:02:55 three inkypi[516]: 18:02:55 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 18:02:56 three inkypi[516]: 18:02:56 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T18:02:55.665077-07:00', 'image_hash': '919631e5ca805e698419d14ae82ef9cad03b8dbe67ae415d0fd5b8e88e8619d3'} May 19 18:02:56 three inkypi[516]: 18:02:56 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:02:56 three inkypi[516]: 18:02:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:03:03 three inkypi[516]: 18:03:03 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:05:05 three inkypi[516]: 18:05:05 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:05:05 May 19 18:05:05 three inkypi[516]: 18:05:05 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 18:05:05 three inkypi[516]: 18:05:05 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 18:05:05 three inkypi[516]: 18:05:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T18:05:05.423370-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 18:05:05 three inkypi[516]: 18:05:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:05:06 three inkypi[516]: 18:05:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:05:12 three inkypi[516]: 18:05:12 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:07:14 three inkypi[516]: 18:07:14 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:07:14 May 19 18:07:14 three inkypi[516]: 18:07:14 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 18:07:14 three inkypi[516]: 18:07:14 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 18:07:14 three inkypi[516]: 18:07:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T18:07:14.623357-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 18:07:14 three inkypi[516]: 18:07:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:07:15 three inkypi[516]: 18:07:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:07:21 three inkypi[516]: 18:07:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:09:23 three inkypi[516]: 18:09:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:09:23 May 19 18:09:23 three inkypi[516]: 18:09:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 18:09:23 three inkypi[516]: 18:09:23 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 18:09:24 three inkypi[516]: 18:09:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T18:09:23.923207-07:00', 'image_hash': '7d348f7966d28dc9f289ca2204d4030172a57d2a4b6a595314c850258311a199'} May 19 18:09:24 three inkypi[516]: 18:09:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:09:24 three inkypi[516]: 18:09:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:09:31 three inkypi[516]: 18:09:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:11:33 three inkypi[516]: 18:11:33 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:11:33 May 19 18:11:33 three inkypi[516]: 18:11:33 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 18:11:33 three inkypi[516]: 18:11:33 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 18:11:33 three inkypi[516]: 18:11:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T18:11:33.423482-07:00', 'image_hash': 'a044ea5953367839256705c1fa044ed78f7f28dfd64f0f79d410bda3b7a005bd'} May 19 18:11:33 three inkypi[516]: 18:11:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:11:34 three inkypi[516]: 18:11:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:11:40 three inkypi[516]: 18:11:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:13:42 three inkypi[516]: 18:13:42 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:13:42 May 19 18:13:42 three inkypi[516]: 18:13:42 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 18:13:42 three inkypi[516]: 18:13:42 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 18:13:42 three inkypi[516]: 18:13:42 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T18:13:42.623548-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 18:13:42 three inkypi[516]: 18:13:42 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:13:43 three inkypi[516]: 18:13:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:13:49 three inkypi[516]: 18:13:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:15:51 three inkypi[516]: 18:15:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:15:51 May 19 18:15:51 three inkypi[516]: 18:15:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 18:15:51 three inkypi[516]: 18:15:51 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 18:15:51 three inkypi[516]: 18:15:51 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T18:15:51.423310-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 18:15:51 three inkypi[516]: 18:15:51 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:15:52 three inkypi[516]: 18:15:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:15:58 three inkypi[516]: 18:15:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:18:00 three inkypi[516]: 18:18:00 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:18:00 May 19 18:18:00 three inkypi[516]: 18:18:00 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 18:18:00 three inkypi[516]: 18:18:00 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 18:18:00 three inkypi[516]: 18:18:00 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T18:18:00.323321-07:00', 'image_hash': '7d348f7966d28dc9f289ca2204d4030172a57d2a4b6a595314c850258311a199'} May 19 18:18:00 three inkypi[516]: 18:18:00 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:18:01 three inkypi[516]: 18:18:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:18:07 three inkypi[516]: 18:18:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:20:09 three inkypi[516]: 18:20:09 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:20:09 May 19 18:20:09 three inkypi[516]: 18:20:09 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 18:20:09 three inkypi[516]: 18:20:09 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 18:20:10 three inkypi[516]: 18:20:10 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T18:20:09.722998-07:00', 'image_hash': 'eda67feae9fe57571762ebf37b119c1f7ee199d6d62f015fb54e57c242fdb7cc'} May 19 18:20:10 three inkypi[516]: 18:20:10 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:20:10 three inkypi[516]: 18:20:10 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:20:16 three inkypi[516]: 18:20:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:22:18 three inkypi[516]: 18:22:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:22:18 May 19 18:22:18 three inkypi[516]: 18:22:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 18:22:18 three inkypi[516]: 18:22:18 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 18:22:19 three inkypi[516]: 18:22:19 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T18:22:18.930004-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 18:22:19 three inkypi[516]: 18:22:19 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:22:19 three inkypi[516]: 18:22:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:22:26 three inkypi[516]: 18:22:26 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:24:28 three inkypi[516]: 18:24:28 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:24:28 May 19 18:24:28 three inkypi[516]: 18:24:28 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 18:24:28 three inkypi[516]: 18:24:28 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 18:24:28 three inkypi[516]: 18:24:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T18:24:28.223293-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 18:24:28 three inkypi[516]: 18:24:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:24:29 three inkypi[516]: 18:24:29 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:24:35 three inkypi[516]: 18:24:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:26:37 three inkypi[516]: 18:26:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:26:37 May 19 18:26:37 three inkypi[516]: 18:26:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 18:26:37 three inkypi[516]: 18:26:37 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 18:26:37 three inkypi[516]: 18:26:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T18:26:37.623646-07:00', 'image_hash': '7d348f7966d28dc9f289ca2204d4030172a57d2a4b6a595314c850258311a199'} May 19 18:26:37 three inkypi[516]: 18:26:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:26:38 three inkypi[516]: 18:26:38 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:26:44 three inkypi[516]: 18:26:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:28:46 three inkypi[516]: 18:28:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:28:46 May 19 18:28:46 three inkypi[516]: 18:28:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 18:28:46 three inkypi[516]: 18:28:46 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 18:28:47 three inkypi[516]: 18:28:47 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T18:28:46.623142-07:00', 'image_hash': 'c35e95842b9c7fd4be23f72633ea70d21467abbdc715372421c9d4ee3a814c69'} May 19 18:28:47 three inkypi[516]: 18:28:47 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:28:47 three inkypi[516]: 18:28:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:28:54 three inkypi[516]: 18:28:54 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:30:56 three inkypi[516]: 18:30:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:30:56 May 19 18:30:56 three inkypi[516]: 18:30:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 18:30:56 three inkypi[516]: 18:30:56 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 18:30:56 three inkypi[516]: 18:30:56 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T18:30:56.323505-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 18:30:56 three inkypi[516]: 18:30:56 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:30:56 three inkypi[516]: 18:30:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:31:03 three inkypi[516]: 18:31:03 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:33:05 three inkypi[516]: 18:33:05 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:33:05 May 19 18:33:05 three inkypi[516]: 18:33:05 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 18:33:05 three inkypi[516]: 18:33:05 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 18:34:01 three inkypi[516]: 18:34:01 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T18:33:05.123132-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 18:34:01 three inkypi[516]: 18:34:01 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:34:01 three inkypi[516]: 18:34:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:34:08 three inkypi[516]: 18:34:08 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:36:10 three inkypi[516]: 18:36:10 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:36:10 May 19 18:36:10 three inkypi[516]: 18:36:10 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 18:36:10 three inkypi[516]: 18:36:10 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 18:37:01 three inkypi[516]: 18:37:01 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T18:36:10.362653-07:00', 'image_hash': '9aa6461dc0fe1b7d17e89917ec99461842a7c8457a6bc4cfb52478c8820c3bd4'} May 19 18:37:01 three inkypi[516]: 18:37:01 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:37:02 three inkypi[516]: 18:37:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:37:08 three inkypi[516]: 18:37:08 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:39:10 three inkypi[516]: 18:39:10 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:39:10 May 19 18:39:10 three inkypi[516]: 18:39:10 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 18:39:10 three inkypi[516]: 18:39:10 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 18:39:11 three inkypi[516]: 18:39:11 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T18:39:10.754795-07:00', 'image_hash': 'aea51514622a79fc4a30b58dfbca3f700b759344cb985422fa1d47fdcecea490'} May 19 18:39:11 three inkypi[516]: 18:39:11 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:39:12 three inkypi[516]: 18:39:12 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:39:18 three inkypi[516]: 18:39:18 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:41:20 three inkypi[516]: 18:41:20 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:41:20 May 19 18:41:20 three inkypi[516]: 18:41:20 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 18:41:20 three inkypi[516]: 18:41:20 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 18:41:21 three inkypi[516]: 18:41:21 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T18:41:20.823275-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 18:41:21 three inkypi[516]: 18:41:21 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:41:21 three inkypi[516]: 18:41:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:41:27 three inkypi[516]: 18:41:27 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:43:29 three inkypi[516]: 18:43:29 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:43:29 May 19 18:43:29 three inkypi[516]: 18:43:29 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 18:43:29 three inkypi[516]: 18:43:29 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 18:43:29 three inkypi[516]: 18:43:29 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T18:43:29.623382-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 18:43:29 three inkypi[516]: 18:43:29 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:43:30 three inkypi[516]: 18:43:30 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:43:36 three inkypi[516]: 18:43:36 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:45:38 three inkypi[516]: 18:45:38 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:45:38 May 19 18:45:38 three inkypi[516]: 18:45:38 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 18:45:38 three inkypi[516]: 18:45:38 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 18:45:38 three inkypi[516]: 18:45:38 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T18:45:38.722969-07:00', 'image_hash': '9aa6461dc0fe1b7d17e89917ec99461842a7c8457a6bc4cfb52478c8820c3bd4'} May 19 18:45:38 three inkypi[516]: 18:45:38 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:45:39 three inkypi[516]: 18:45:39 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:45:45 three inkypi[516]: 18:45:45 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:47:48 three inkypi[516]: 18:47:48 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:47:48 May 19 18:47:48 three inkypi[516]: 18:47:48 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 18:47:48 three inkypi[516]: 18:47:48 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 18:47:48 three inkypi[516]: 18:47:48 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T18:47:48.123444-07:00', 'image_hash': 'cadf543bd4d0e2cfe9152b13127637a5a5af7a080293ff23403ebbc6395d25fc'} May 19 18:47:48 three inkypi[516]: 18:47:48 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:47:49 three inkypi[516]: 18:47:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:47:55 three inkypi[516]: 18:47:55 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:49:57 three inkypi[516]: 18:49:57 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:49:57 May 19 18:49:57 three inkypi[516]: 18:49:57 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 18:49:57 three inkypi[516]: 18:49:57 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 18:49:58 three inkypi[516]: 18:49:58 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T18:49:57.923452-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 18:49:58 three inkypi[516]: 18:49:58 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:49:58 three inkypi[516]: 18:49:58 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:50:04 three inkypi[516]: 18:50:04 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:52:06 three inkypi[516]: 18:52:06 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:52:06 May 19 18:52:06 three inkypi[516]: 18:52:06 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 18:52:06 three inkypi[516]: 18:52:06 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 18:52:06 three inkypi[516]: 18:52:06 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T18:52:06.723965-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 18:52:06 three inkypi[516]: 18:52:06 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:52:07 three inkypi[516]: 18:52:07 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:52:13 three inkypi[516]: 18:52:13 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:54:15 three inkypi[516]: 18:54:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:54:15 May 19 18:54:15 three inkypi[516]: 18:54:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 18:54:15 three inkypi[516]: 18:54:15 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 18:54:15 three inkypi[516]: 18:54:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T18:54:15.623744-07:00', 'image_hash': '9aa6461dc0fe1b7d17e89917ec99461842a7c8457a6bc4cfb52478c8820c3bd4'} May 19 18:54:15 three inkypi[516]: 18:54:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:54:16 three inkypi[516]: 18:54:16 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:54:23 three inkypi[516]: 18:54:23 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:56:25 three inkypi[516]: 18:56:25 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:56:25 May 19 18:56:25 three inkypi[516]: 18:56:25 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 18:56:25 three inkypi[516]: 18:56:25 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 18:56:25 three inkypi[516]: 18:56:25 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T18:56:25.221438-07:00', 'image_hash': '660826a04ce63e434f8dd080323ca5f129a821fa5b6a67e6d1278e2179176eb5'} May 19 18:56:25 three inkypi[516]: 18:56:25 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:56:26 three inkypi[516]: 18:56:26 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:56:32 three inkypi[516]: 18:56:32 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 18:58:34 three inkypi[516]: 18:58:34 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 18:58:34 May 19 18:58:34 three inkypi[516]: 18:58:34 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 18:58:34 three inkypi[516]: 18:58:34 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 18:58:34 three inkypi[516]: 18:58:34 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 18:58:34 three inkypi[516]: 18:58:34 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 18:58:34 three inkypi[516]: 18:58:34 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 18:58:34 three inkypi[516]: 18:58:34 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 18:58:34 three inkypi[516]: 18:58:34 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 18:58:34 three inkypi[516]: 18:58:34 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 18:58:34 three inkypi[516]: 18:58:34 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 18:58:34 three inkypi[516]: 18:58:34 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 18:58:38 three inkypi[516]: 18:58:38 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 18:58:38 three inkypi[516]: 18:58:38 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 18:59:02 three inkypi[516]: 18:59:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T18:58:34.424959-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 18:59:02 three inkypi[516]: 18:59:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 18:59:02 three inkypi[516]: 18:59:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 18:59:09 three inkypi[516]: 18:59:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:01:11 three inkypi[516]: 19:01:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:01:11 May 19 19:01:11 three inkypi[516]: 19:01:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 19:01:11 three inkypi[516]: 19:01:11 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 19:01:11 three inkypi[516]: 19:01:11 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T19:01:11.452991-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 19:01:11 three inkypi[516]: 19:01:11 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:01:12 three inkypi[516]: 19:01:12 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:01:18 three inkypi[516]: 19:01:18 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:03:20 three inkypi[516]: 19:03:20 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:03:20 May 19 19:03:20 three inkypi[516]: 19:03:20 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 19:03:20 three inkypi[516]: 19:03:20 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 19:03:20 three inkypi[516]: 19:03:20 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T19:03:20.423740-07:00', 'image_hash': '9aa6461dc0fe1b7d17e89917ec99461842a7c8457a6bc4cfb52478c8820c3bd4'} May 19 19:03:20 three inkypi[516]: 19:03:20 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:03:21 three inkypi[516]: 19:03:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:03:27 three inkypi[516]: 19:03:27 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:05:29 three inkypi[516]: 19:05:29 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:05:29 May 19 19:05:29 three inkypi[516]: 19:05:29 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 19:05:29 three inkypi[516]: 19:05:29 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 19:05:30 three inkypi[516]: 19:05:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T19:05:29.923730-07:00', 'image_hash': '0ad209caea6590f82488fd4a1e3c2fa57bdc8878faecafa24a6e58cc93003805'} May 19 19:05:30 three inkypi[516]: 19:05:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:05:31 three inkypi[516]: 19:05:31 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:05:37 three inkypi[516]: 19:05:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:07:39 three inkypi[516]: 19:07:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:07:39 May 19 19:07:39 three inkypi[516]: 19:07:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 19:07:39 three inkypi[516]: 19:07:39 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 19:07:39 three inkypi[516]: 19:07:39 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T19:07:39.722982-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 19:07:39 three inkypi[516]: 19:07:39 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:07:40 three inkypi[516]: 19:07:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:07:46 three inkypi[516]: 19:07:46 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:09:48 three inkypi[516]: 19:09:48 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:09:48 May 19 19:09:48 three inkypi[516]: 19:09:48 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 19:09:48 three inkypi[516]: 19:09:48 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 19:09:48 three inkypi[516]: 19:09:48 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T19:09:48.523463-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 19:09:48 three inkypi[516]: 19:09:48 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:09:49 three inkypi[516]: 19:09:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:09:55 three inkypi[516]: 19:09:55 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:11:57 three inkypi[516]: 19:11:57 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:11:57 May 19 19:11:57 three inkypi[516]: 19:11:57 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 19:11:57 three inkypi[516]: 19:11:57 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 19:12:50 three inkypi[516]: 19:12:50 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T19:11:57.923838-07:00', 'image_hash': '9e8d5e2bebcad27e94cca3ed5ec4173fb95ad8c3b2bd6eb27687c04e53a197a9'} May 19 19:12:50 three inkypi[516]: 19:12:50 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:12:50 three inkypi[516]: 19:12:50 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:12:57 three inkypi[516]: 19:12:57 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:14:59 three inkypi[516]: 19:14:59 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:14:59 May 19 19:14:59 three inkypi[516]: 19:14:59 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 19:14:59 three inkypi[516]: 19:14:59 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 19:14:59 three inkypi[516]: 19:14:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T19:14:59.345127-07:00', 'image_hash': '71b1947584ede7b5d15e71d6629f88b703b6583e43297b4ea09c963e668dd16a'} May 19 19:14:59 three inkypi[516]: 19:14:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:15:00 three inkypi[516]: 19:15:00 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:15:06 three inkypi[516]: 19:15:06 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:17:08 three inkypi[516]: 19:17:08 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:17:08 May 19 19:17:08 three inkypi[516]: 19:17:08 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 19:17:08 three inkypi[516]: 19:17:08 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 19:17:08 three inkypi[516]: 19:17:08 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T19:17:08.823428-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 19:17:08 three inkypi[516]: 19:17:08 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:17:09 three inkypi[516]: 19:17:09 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:17:15 three inkypi[516]: 19:17:15 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:19:18 three inkypi[516]: 19:19:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:19:18 May 19 19:19:18 three inkypi[516]: 19:19:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 19:19:18 three inkypi[516]: 19:19:18 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 19:19:18 three inkypi[516]: 19:19:18 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T19:19:18.023229-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 19:19:18 three inkypi[516]: 19:19:18 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:19:18 three inkypi[516]: 19:19:18 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:19:24 three inkypi[516]: 19:19:24 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:21:26 three inkypi[516]: 19:21:26 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:21:26 May 19 19:21:26 three inkypi[516]: 19:21:26 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 19:21:26 three inkypi[516]: 19:21:26 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 19:21:27 three inkypi[516]: 19:21:27 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T19:21:26.923470-07:00', 'image_hash': '9e8d5e2bebcad27e94cca3ed5ec4173fb95ad8c3b2bd6eb27687c04e53a197a9'} May 19 19:21:27 three inkypi[516]: 19:21:27 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:21:27 three inkypi[516]: 19:21:27 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:21:34 three inkypi[516]: 19:21:34 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:23:36 three inkypi[516]: 19:23:36 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:23:36 May 19 19:23:36 three inkypi[516]: 19:23:36 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 19:23:36 three inkypi[516]: 19:23:36 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 19:23:37 three inkypi[516]: 19:23:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T19:23:36.423158-07:00', 'image_hash': 'e98b50e428c1685512dcb03be62fd8e7757b93d3cb63b4352b62ab14b56bff1d'} May 19 19:23:37 three inkypi[516]: 19:23:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:23:37 three inkypi[516]: 19:23:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:23:44 three inkypi[516]: 19:23:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:25:46 three inkypi[516]: 19:25:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:25:46 May 19 19:25:46 three inkypi[516]: 19:25:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 19:25:46 three inkypi[516]: 19:25:46 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 19:25:46 three inkypi[516]: 19:25:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T19:25:46.220979-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 19:25:46 three inkypi[516]: 19:25:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:25:46 three inkypi[516]: 19:25:46 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:25:53 three inkypi[516]: 19:25:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:27:55 three inkypi[516]: 19:27:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:27:55 May 19 19:27:55 three inkypi[516]: 19:27:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 19:27:55 three inkypi[516]: 19:27:55 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 19:27:55 three inkypi[516]: 19:27:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T19:27:55.323163-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 19:27:55 three inkypi[516]: 19:27:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:27:56 three inkypi[516]: 19:27:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:28:02 three inkypi[516]: 19:28:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:30:04 three inkypi[516]: 19:30:04 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:30:04 May 19 19:30:04 three inkypi[516]: 19:30:04 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 19:30:04 three inkypi[516]: 19:30:04 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 19:30:04 three inkypi[516]: 19:30:04 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T19:30:04.623283-07:00', 'image_hash': '9e8d5e2bebcad27e94cca3ed5ec4173fb95ad8c3b2bd6eb27687c04e53a197a9'} May 19 19:30:04 three inkypi[516]: 19:30:04 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:30:05 three inkypi[516]: 19:30:05 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:30:11 three inkypi[516]: 19:30:11 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:32:13 three inkypi[516]: 19:32:13 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:32:13 May 19 19:32:13 three inkypi[516]: 19:32:13 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 19:32:13 three inkypi[516]: 19:32:13 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 19:32:14 three inkypi[516]: 19:32:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T19:32:13.623114-07:00', 'image_hash': 'a488fdc9b20ec893879b42cf38516ac3101c94197d5cb99a2f301820118a4eab'} May 19 19:32:14 three inkypi[516]: 19:32:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:32:14 three inkypi[516]: 19:32:14 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:32:20 three inkypi[516]: 19:32:20 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:34:22 three inkypi[516]: 19:34:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:34:22 May 19 19:34:22 three inkypi[516]: 19:34:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 19:34:22 three inkypi[516]: 19:34:22 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 19:34:23 three inkypi[516]: 19:34:23 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T19:34:22.823458-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 19:34:23 three inkypi[516]: 19:34:23 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:34:23 three inkypi[516]: 19:34:23 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:34:29 three inkypi[516]: 19:34:29 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:36:31 three inkypi[516]: 19:36:31 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:36:31 May 19 19:36:31 three inkypi[516]: 19:36:31 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 19:36:31 three inkypi[516]: 19:36:31 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 19:37:25 three inkypi[516]: 19:37:25 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T19:36:31.623670-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 19:37:25 three inkypi[516]: 19:37:25 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:37:25 three inkypi[516]: 19:37:25 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:37:32 three inkypi[516]: 19:37:32 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:39:34 three inkypi[516]: 19:39:34 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:39:34 May 19 19:39:34 three inkypi[516]: 19:39:34 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 19:39:34 three inkypi[516]: 19:39:34 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 19:39:34 three inkypi[516]: 19:39:34 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T19:39:34.154310-07:00', 'image_hash': '9e8d5e2bebcad27e94cca3ed5ec4173fb95ad8c3b2bd6eb27687c04e53a197a9'} May 19 19:39:34 three inkypi[516]: 19:39:34 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:39:35 three inkypi[516]: 19:39:35 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:39:41 three inkypi[516]: 19:39:41 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:41:43 three inkypi[516]: 19:41:43 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:41:43 May 19 19:41:43 three inkypi[516]: 19:41:43 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 19:41:43 three inkypi[516]: 19:41:43 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 19:41:44 three inkypi[516]: 19:41:44 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T19:41:43.723618-07:00', 'image_hash': '07276d5d528d26e2bcd4a8612a96d50369589281e84d5b9febbc2f4ee40e646f'} May 19 19:41:44 three inkypi[516]: 19:41:44 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:41:44 three inkypi[516]: 19:41:44 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:41:51 three inkypi[516]: 19:41:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:43:53 three inkypi[516]: 19:43:53 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:43:53 May 19 19:43:53 three inkypi[516]: 19:43:53 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 19:43:53 three inkypi[516]: 19:43:53 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 19:43:53 three inkypi[516]: 19:43:53 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T19:43:53.123453-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 19:43:53 three inkypi[516]: 19:43:53 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:43:53 three inkypi[516]: 19:43:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:44:00 three inkypi[516]: 19:44:00 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:46:02 three inkypi[516]: 19:46:02 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:46:02 May 19 19:46:02 three inkypi[516]: 19:46:02 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 19:46:02 three inkypi[516]: 19:46:02 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 19:46:02 three inkypi[516]: 19:46:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T19:46:02.124189-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 19:46:02 three inkypi[516]: 19:46:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:46:02 three inkypi[516]: 19:46:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:46:09 three inkypi[516]: 19:46:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:48:11 three inkypi[516]: 19:48:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:48:11 May 19 19:48:11 three inkypi[516]: 19:48:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 19:48:11 three inkypi[516]: 19:48:11 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 19:49:02 three inkypi[516]: 19:49:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T19:48:11.521747-07:00', 'image_hash': 'b963ac166d8e3dfec32df3f2bcfd3cea7436ed2bcfffd5684243fa5efa5bd0be'} May 19 19:49:02 three inkypi[516]: 19:49:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:49:02 three inkypi[516]: 19:49:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:49:09 three inkypi[516]: 19:49:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:51:11 three inkypi[516]: 19:51:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:51:11 May 19 19:51:11 three inkypi[516]: 19:51:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 19:51:11 three inkypi[516]: 19:51:11 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 19:51:12 three inkypi[516]: 19:51:12 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T19:51:11.357078-07:00', 'image_hash': '3a20359114c940b276b0814bde8959bf4505e135cf629970214dd174cb36d3b6'} May 19 19:51:12 three inkypi[516]: 19:51:12 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:51:12 three inkypi[516]: 19:51:12 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:51:19 three inkypi[516]: 19:51:19 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:53:21 three inkypi[516]: 19:53:21 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:53:21 May 19 19:53:21 three inkypi[516]: 19:53:21 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 19:53:21 three inkypi[516]: 19:53:21 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 19:53:21 three inkypi[516]: 19:53:21 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T19:53:21.324253-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 19:53:21 three inkypi[516]: 19:53:21 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:53:21 three inkypi[516]: 19:53:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:53:28 three inkypi[516]: 19:53:28 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:55:30 three inkypi[516]: 19:55:30 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:55:30 May 19 19:55:30 three inkypi[516]: 19:55:30 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 19:55:30 three inkypi[516]: 19:55:30 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 19:55:30 three inkypi[516]: 19:55:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T19:55:30.524082-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 19:55:30 three inkypi[516]: 19:55:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:55:31 three inkypi[516]: 19:55:31 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:55:37 three inkypi[516]: 19:55:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:57:39 three inkypi[516]: 19:57:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:57:39 May 19 19:57:39 three inkypi[516]: 19:57:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 19:57:39 three inkypi[516]: 19:57:39 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 19:57:39 three inkypi[516]: 19:57:39 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T19:57:39.423897-07:00', 'image_hash': 'b963ac166d8e3dfec32df3f2bcfd3cea7436ed2bcfffd5684243fa5efa5bd0be'} May 19 19:57:39 three inkypi[516]: 19:57:39 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:57:40 three inkypi[516]: 19:57:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:57:46 three inkypi[516]: 19:57:46 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 19:59:48 three inkypi[516]: 19:59:48 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 19:59:48 May 19 19:59:48 three inkypi[516]: 19:59:48 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 19:59:48 three inkypi[516]: 19:59:48 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 19:59:49 three inkypi[516]: 19:59:49 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T19:59:48.423473-07:00', 'image_hash': '35deff6b09f4ab34a35aae5ec045bf3139624e00e134dbe81b6a96808ebaf3e2'} May 19 19:59:49 three inkypi[516]: 19:59:49 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 19:59:49 three inkypi[516]: 19:59:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 19:59:56 three inkypi[516]: 19:59:56 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:01:58 three inkypi[516]: 20:01:58 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:01:58 May 19 20:01:58 three inkypi[516]: 20:01:58 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 20:01:58 three inkypi[516]: 20:01:58 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 20:01:58 three inkypi[516]: 20:01:58 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 20:01:58 three inkypi[516]: 20:01:58 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 20:01:58 three inkypi[516]: 20:01:58 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 20:01:58 three inkypi[516]: 20:01:58 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 20:01:58 three inkypi[516]: 20:01:58 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 20:01:58 three inkypi[516]: 20:01:58 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 20:01:58 three inkypi[516]: 20:01:58 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 20:01:58 three inkypi[516]: 20:01:58 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 20:02:02 three inkypi[516]: 20:02:02 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 20:02:02 three inkypi[516]: 20:02:02 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 20:02:21 three inkypi[516]: 20:02:21 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T20:01:58.223149-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 20:02:21 three inkypi[516]: 20:02:21 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:02:22 three inkypi[516]: 20:02:22 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:02:28 three inkypi[516]: 20:02:28 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:04:30 three inkypi[516]: 20:04:30 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:04:30 May 19 20:04:30 three inkypi[516]: 20:04:30 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 20:04:30 three inkypi[516]: 20:04:30 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 20:04:30 three inkypi[516]: 20:04:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T20:04:30.558035-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 20:04:30 three inkypi[516]: 20:04:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:04:31 three inkypi[516]: 20:04:31 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:04:37 three inkypi[516]: 20:04:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:06:39 three inkypi[516]: 20:06:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:06:39 May 19 20:06:39 three inkypi[516]: 20:06:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 20:06:39 three inkypi[516]: 20:06:39 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 20:06:39 three inkypi[516]: 20:06:39 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T20:06:39.423712-07:00', 'image_hash': 'b963ac166d8e3dfec32df3f2bcfd3cea7436ed2bcfffd5684243fa5efa5bd0be'} May 19 20:06:39 three inkypi[516]: 20:06:39 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:06:40 three inkypi[516]: 20:06:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:06:46 three inkypi[516]: 20:06:46 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:08:48 three inkypi[516]: 20:08:48 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:08:48 May 19 20:08:48 three inkypi[516]: 20:08:48 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 20:08:48 three inkypi[516]: 20:08:48 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 20:08:49 three inkypi[516]: 20:08:49 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T20:08:48.423799-07:00', 'image_hash': 'ff7694e29a4a84ab78ab13b99db7c9da6ee61c091abcb43038b1c01873c6a529'} May 19 20:08:49 three inkypi[516]: 20:08:49 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:08:49 three inkypi[516]: 20:08:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:08:56 three inkypi[516]: 20:08:56 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:10:58 three inkypi[516]: 20:10:58 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:10:58 May 19 20:10:58 three inkypi[516]: 20:10:58 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 20:10:58 three inkypi[516]: 20:10:58 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 20:10:58 three inkypi[516]: 20:10:58 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T20:10:58.223509-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 20:10:58 three inkypi[516]: 20:10:58 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:10:58 three inkypi[516]: 20:10:58 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:11:05 three inkypi[516]: 20:11:05 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:13:07 three inkypi[516]: 20:13:07 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:13:07 May 19 20:13:07 three inkypi[516]: 20:13:07 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 20:13:07 three inkypi[516]: 20:13:07 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 20:13:07 three inkypi[516]: 20:13:07 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T20:13:07.424021-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 20:13:07 three inkypi[516]: 20:13:07 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:13:08 three inkypi[516]: 20:13:08 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:13:14 three inkypi[516]: 20:13:14 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:15:16 three inkypi[516]: 20:15:16 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:15:16 May 19 20:15:16 three inkypi[516]: 20:15:16 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 20:15:16 three inkypi[516]: 20:15:16 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 20:15:17 three inkypi[516]: 20:15:17 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T20:15:16.823724-07:00', 'image_hash': 'b963ac166d8e3dfec32df3f2bcfd3cea7436ed2bcfffd5684243fa5efa5bd0be'} May 19 20:15:17 three inkypi[516]: 20:15:17 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:15:17 three inkypi[516]: 20:15:17 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:15:24 three inkypi[516]: 20:15:24 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:17:26 three inkypi[516]: 20:17:26 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:17:26 May 19 20:17:26 three inkypi[516]: 20:17:26 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 20:17:26 three inkypi[516]: 20:17:26 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 20:17:26 three inkypi[516]: 20:17:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T20:17:26.323492-07:00', 'image_hash': 'be96a22f6dacf843e3d255bef3d5956b9c5d35cc3ee164a59d833f336cc70d0a'} May 19 20:17:26 three inkypi[516]: 20:17:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:17:27 three inkypi[516]: 20:17:27 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:17:34 three inkypi[516]: 20:17:34 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:19:36 three inkypi[516]: 20:19:36 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:19:36 May 19 20:19:36 three inkypi[516]: 20:19:36 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 20:19:36 three inkypi[516]: 20:19:36 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 20:19:36 three inkypi[516]: 20:19:36 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T20:19:36.123317-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 20:19:36 three inkypi[516]: 20:19:36 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:19:36 three inkypi[516]: 20:19:36 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:19:43 three inkypi[516]: 20:19:43 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:21:45 three inkypi[516]: 20:21:45 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:21:45 May 19 20:21:45 three inkypi[516]: 20:21:45 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 20:21:45 three inkypi[516]: 20:21:45 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 20:21:45 three inkypi[516]: 20:21:45 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T20:21:45.429926-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 20:21:45 three inkypi[516]: 20:21:45 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:21:46 three inkypi[516]: 20:21:46 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:21:52 three inkypi[516]: 20:21:52 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:23:54 three inkypi[516]: 20:23:54 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:23:54 May 19 20:23:54 three inkypi[516]: 20:23:54 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 20:23:54 three inkypi[516]: 20:23:54 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 20:24:43 three inkypi[516]: 20:24:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T20:23:54.623596-07:00', 'image_hash': 'a970d1582b2e52cdd7865cee2447de3c414efd1b0d149a85a218aebb8372a445'} May 19 20:24:44 three inkypi[516]: 20:24:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:24:44 three inkypi[516]: 20:24:44 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:24:51 three inkypi[516]: 20:24:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:26:53 three inkypi[516]: 20:26:53 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:26:53 May 19 20:26:53 three inkypi[516]: 20:26:53 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 20:26:53 three inkypi[516]: 20:26:53 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 20:26:53 three inkypi[516]: 20:26:53 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T20:26:53.266696-07:00', 'image_hash': '8a551f3fc660bc4b95e779e1207ff14e9f5d122cd8a1c0e4d039c71b372d228e'} May 19 20:26:53 three inkypi[516]: 20:26:53 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:26:54 three inkypi[516]: 20:26:54 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:27:00 three inkypi[516]: 20:27:00 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:29:02 three inkypi[516]: 20:29:02 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:29:02 May 19 20:29:02 three inkypi[516]: 20:29:02 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 20:29:02 three inkypi[516]: 20:29:02 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 20:29:02 three inkypi[516]: 20:29:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T20:29:02.724101-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 20:29:02 three inkypi[516]: 20:29:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:29:03 three inkypi[516]: 20:29:03 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:29:09 three inkypi[516]: 20:29:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:31:11 three inkypi[516]: 20:31:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:31:11 May 19 20:31:11 three inkypi[516]: 20:31:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 20:31:11 three inkypi[516]: 20:31:11 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 20:31:12 three inkypi[516]: 20:31:12 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T20:31:11.923598-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 20:31:12 three inkypi[516]: 20:31:12 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:31:12 three inkypi[516]: 20:31:12 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:31:19 three inkypi[516]: 20:31:19 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:33:21 three inkypi[516]: 20:33:21 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:33:21 May 19 20:33:21 three inkypi[516]: 20:33:21 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 20:33:21 three inkypi[516]: 20:33:21 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 20:33:21 three inkypi[516]: 20:33:21 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T20:33:21.321421-07:00', 'image_hash': 'a970d1582b2e52cdd7865cee2447de3c414efd1b0d149a85a218aebb8372a445'} May 19 20:33:21 three inkypi[516]: 20:33:21 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:33:22 three inkypi[516]: 20:33:22 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:33:28 three inkypi[516]: 20:33:28 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:35:30 three inkypi[516]: 20:35:30 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:35:30 May 19 20:35:30 three inkypi[516]: 20:35:30 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 20:35:30 three inkypi[516]: 20:35:30 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 20:35:31 three inkypi[516]: 20:35:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T20:35:30.723128-07:00', 'image_hash': '2d40110a80136d4d482996087dc18ef5a793559c0cea258b9693a41a8de82e19'} May 19 20:35:31 three inkypi[516]: 20:35:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:35:31 three inkypi[516]: 20:35:31 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:35:38 three inkypi[516]: 20:35:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:37:40 three inkypi[516]: 20:37:40 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:37:40 May 19 20:37:40 three inkypi[516]: 20:37:40 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 20:37:40 three inkypi[516]: 20:37:40 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 20:37:40 three inkypi[516]: 20:37:40 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T20:37:40.423333-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 20:37:40 three inkypi[516]: 20:37:40 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:37:40 three inkypi[516]: 20:37:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:37:47 three inkypi[516]: 20:37:47 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:39:49 three inkypi[516]: 20:39:49 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:39:49 May 19 20:39:49 three inkypi[516]: 20:39:49 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 20:39:49 three inkypi[516]: 20:39:49 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 20:40:39 three inkypi[516]: 20:40:39 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T20:39:49.223458-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 20:40:39 three inkypi[516]: 20:40:39 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:40:40 three inkypi[516]: 20:40:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:40:46 three inkypi[516]: 20:40:46 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:42:49 three inkypi[516]: 20:42:49 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:42:49 May 19 20:42:49 three inkypi[516]: 20:42:49 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 20:42:49 three inkypi[516]: 20:42:49 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 20:42:49 three inkypi[516]: 20:42:49 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T20:42:49.058147-07:00', 'image_hash': 'a970d1582b2e52cdd7865cee2447de3c414efd1b0d149a85a218aebb8372a445'} May 19 20:42:49 three inkypi[516]: 20:42:49 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:42:49 three inkypi[516]: 20:42:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:42:56 three inkypi[516]: 20:42:56 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:44:58 three inkypi[516]: 20:44:58 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:44:58 May 19 20:44:58 three inkypi[516]: 20:44:58 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 20:44:58 three inkypi[516]: 20:44:58 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 20:44:59 three inkypi[516]: 20:44:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T20:44:58.524543-07:00', 'image_hash': '377fa295fd7f35cc59d281d80878f9cad182546629f16757bfe798d8e0ee575f'} May 19 20:44:59 three inkypi[516]: 20:44:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:44:59 three inkypi[516]: 20:44:59 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:45:06 three inkypi[516]: 20:45:06 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:47:08 three inkypi[516]: 20:47:08 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:47:08 May 19 20:47:08 three inkypi[516]: 20:47:08 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 20:47:08 three inkypi[516]: 20:47:08 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 20:47:08 three inkypi[516]: 20:47:08 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T20:47:08.620943-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 20:47:08 three inkypi[516]: 20:47:08 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:47:09 three inkypi[516]: 20:47:09 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:47:15 three inkypi[516]: 20:47:15 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:49:17 three inkypi[516]: 20:49:17 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:49:17 May 19 20:49:17 three inkypi[516]: 20:49:17 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 20:49:17 three inkypi[516]: 20:49:17 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 20:49:17 three inkypi[516]: 20:49:17 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T20:49:17.723589-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 20:49:17 three inkypi[516]: 20:49:17 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:49:18 three inkypi[516]: 20:49:18 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:49:24 three inkypi[516]: 20:49:24 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:51:26 three inkypi[516]: 20:51:26 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:51:26 May 19 20:51:26 three inkypi[516]: 20:51:26 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 20:51:26 three inkypi[516]: 20:51:26 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 20:51:26 three inkypi[516]: 20:51:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T20:51:26.623839-07:00', 'image_hash': 'a970d1582b2e52cdd7865cee2447de3c414efd1b0d149a85a218aebb8372a445'} May 19 20:51:26 three inkypi[516]: 20:51:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:51:27 three inkypi[516]: 20:51:27 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:51:33 three inkypi[516]: 20:51:33 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:53:36 three inkypi[516]: 20:53:36 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:53:36 May 19 20:53:36 three inkypi[516]: 20:53:36 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 20:53:36 three inkypi[516]: 20:53:36 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 20:53:36 three inkypi[516]: 20:53:36 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T20:53:36.023199-07:00', 'image_hash': '527465867d4a3acd93b389a8d3f08d2a34796c05433e3910bad890ad958e4d59'} May 19 20:53:36 three inkypi[516]: 20:53:36 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:53:36 three inkypi[516]: 20:53:36 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:53:43 three inkypi[516]: 20:53:43 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:55:45 three inkypi[516]: 20:55:45 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:55:45 May 19 20:55:45 three inkypi[516]: 20:55:45 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 20:55:45 three inkypi[516]: 20:55:45 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 20:55:45 three inkypi[516]: 20:55:45 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T20:55:45.223258-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 20:55:45 three inkypi[516]: 20:55:45 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:55:45 three inkypi[516]: 20:55:45 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:55:51 three inkypi[516]: 20:55:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 20:57:54 three inkypi[516]: 20:57:54 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 20:57:54 May 19 20:57:54 three inkypi[516]: 20:57:54 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 20:57:54 three inkypi[516]: 20:57:54 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 20:57:54 three inkypi[516]: 20:57:54 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T20:57:54.023155-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 20:57:54 three inkypi[516]: 20:57:54 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 20:57:54 three inkypi[516]: 20:57:54 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 20:58:00 three inkypi[516]: 20:58:00 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:00:02 three inkypi[516]: 21:00:02 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:00:02 May 19 21:00:02 three inkypi[516]: 21:00:02 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 21:00:02 three inkypi[516]: 21:00:02 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 21:01:14 three inkypi[516]: 21:01:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T21:00:02.923299-07:00', 'image_hash': 'bde01b949627a4d4e368efd2203da48c4847bfdf935576580ac1c184fe413fd6'} May 19 21:01:14 three inkypi[516]: 21:01:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:01:15 three inkypi[516]: 21:01:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:01:21 three inkypi[516]: 21:01:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:03:24 three inkypi[516]: 21:03:24 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:03:24 May 19 21:03:24 three inkypi[516]: 21:03:24 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 21:03:24 three inkypi[516]: 21:03:24 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 21:03:24 three inkypi[516]: 21:03:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T21:03:24.062041-07:00', 'image_hash': '023fa7a72995b2307f9dee26e22697ff913c3995f2adc667a457a2347d08cb40'} May 19 21:03:24 three inkypi[516]: 21:03:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:03:25 three inkypi[516]: 21:03:25 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:03:31 three inkypi[516]: 21:03:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:05:33 three inkypi[516]: 21:05:33 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:05:33 May 19 21:05:33 three inkypi[516]: 21:05:33 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 21:05:33 three inkypi[516]: 21:05:33 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 21:05:33 three inkypi[516]: 21:05:33 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 21:05:33 three inkypi[516]: 21:05:33 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 21:05:33 three inkypi[516]: 21:05:33 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 21:05:33 three inkypi[516]: 21:05:33 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 21:05:33 three inkypi[516]: 21:05:33 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 21:05:33 three inkypi[516]: 21:05:33 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 21:05:33 three inkypi[516]: 21:05:33 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 21:05:33 three inkypi[516]: 21:05:33 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 21:05:37 three inkypi[516]: 21:05:37 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 21:05:37 three inkypi[516]: 21:05:37 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 21:05:59 three inkypi[516]: 21:05:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T21:05:33.523678-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 21:05:59 three inkypi[516]: 21:05:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:05:59 three inkypi[516]: 21:05:59 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:06:06 three inkypi[516]: 21:06:06 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:08:08 three inkypi[516]: 21:08:08 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:08:08 May 19 21:08:08 three inkypi[516]: 21:08:08 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 21:08:08 three inkypi[516]: 21:08:08 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 21:08:08 three inkypi[516]: 21:08:08 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T21:08:08.646530-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 21:08:08 three inkypi[516]: 21:08:08 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:08:09 three inkypi[516]: 21:08:09 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:08:15 three inkypi[516]: 21:08:15 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:10:17 three inkypi[516]: 21:10:17 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:10:17 May 19 21:10:17 three inkypi[516]: 21:10:17 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 21:10:17 three inkypi[516]: 21:10:17 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 21:10:18 three inkypi[516]: 21:10:18 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T21:10:17.923758-07:00', 'image_hash': 'bde01b949627a4d4e368efd2203da48c4847bfdf935576580ac1c184fe413fd6'} May 19 21:10:18 three inkypi[516]: 21:10:18 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:10:18 three inkypi[516]: 21:10:18 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:10:25 three inkypi[516]: 21:10:25 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:12:27 three inkypi[516]: 21:12:27 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:12:27 May 19 21:12:27 three inkypi[516]: 21:12:27 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 21:12:27 three inkypi[516]: 21:12:27 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 21:12:28 three inkypi[516]: 21:12:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T21:12:27.523996-07:00', 'image_hash': 'a316209f828b3f43cb222aae459e36e438a5a9e6434719b27c290b2f017049c1'} May 19 21:12:28 three inkypi[516]: 21:12:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:12:28 three inkypi[516]: 21:12:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:12:35 three inkypi[516]: 21:12:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:14:37 three inkypi[516]: 21:14:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:14:37 May 19 21:14:37 three inkypi[516]: 21:14:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 21:14:37 three inkypi[516]: 21:14:37 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 21:14:37 three inkypi[516]: 21:14:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T21:14:37.325010-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 21:14:37 three inkypi[516]: 21:14:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:14:37 three inkypi[516]: 21:14:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:14:44 three inkypi[516]: 21:14:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:16:46 three inkypi[516]: 21:16:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:16:46 May 19 21:16:46 three inkypi[516]: 21:16:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 21:16:46 three inkypi[516]: 21:16:46 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 21:16:46 three inkypi[516]: 21:16:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T21:16:46.523194-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 21:16:46 three inkypi[516]: 21:16:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:16:47 three inkypi[516]: 21:16:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:16:53 three inkypi[516]: 21:16:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:18:55 three inkypi[516]: 21:18:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:18:55 May 19 21:18:55 three inkypi[516]: 21:18:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 21:18:55 three inkypi[516]: 21:18:55 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 21:18:55 three inkypi[516]: 21:18:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T21:18:55.723118-07:00', 'image_hash': 'bde01b949627a4d4e368efd2203da48c4847bfdf935576580ac1c184fe413fd6'} May 19 21:18:55 three inkypi[516]: 21:18:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:18:56 three inkypi[516]: 21:18:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:19:02 three inkypi[516]: 21:19:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:21:04 three inkypi[516]: 21:21:04 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:21:04 May 19 21:21:04 three inkypi[516]: 21:21:04 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 21:21:04 three inkypi[516]: 21:21:04 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 21:21:05 three inkypi[516]: 21:21:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T21:21:04.723029-07:00', 'image_hash': 'fd74e6643528f39b91cbf0d8a6c9ea08f8a973dfcb9d28bea694cc3f4d29ff5d'} May 19 21:21:05 three inkypi[516]: 21:21:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:21:05 three inkypi[516]: 21:21:05 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:21:11 three inkypi[516]: 21:21:11 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:23:13 three inkypi[516]: 21:23:13 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:23:13 May 19 21:23:13 three inkypi[516]: 21:23:13 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 21:23:13 three inkypi[516]: 21:23:13 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 21:23:14 three inkypi[516]: 21:23:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T21:23:13.923728-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 21:23:14 three inkypi[516]: 21:23:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:23:14 three inkypi[516]: 21:23:14 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:23:21 three inkypi[516]: 21:23:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:25:23 three inkypi[516]: 21:25:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:25:23 May 19 21:25:23 three inkypi[516]: 21:25:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 21:25:23 three inkypi[516]: 21:25:23 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 21:25:23 three inkypi[516]: 21:25:23 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T21:25:23.130410-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 21:25:23 three inkypi[516]: 21:25:23 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:25:23 three inkypi[516]: 21:25:23 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:25:29 three inkypi[516]: 21:25:29 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:27:32 three inkypi[516]: 21:27:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:27:32 May 19 21:27:32 three inkypi[516]: 21:27:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 21:27:32 three inkypi[516]: 21:27:32 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 21:27:32 three inkypi[516]: 21:27:32 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T21:27:32.023251-07:00', 'image_hash': 'bde01b949627a4d4e368efd2203da48c4847bfdf935576580ac1c184fe413fd6'} May 19 21:27:32 three inkypi[516]: 21:27:32 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:27:32 three inkypi[516]: 21:27:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:27:38 three inkypi[516]: 21:27:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:29:41 three inkypi[516]: 21:29:41 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:29:41 May 19 21:29:41 three inkypi[516]: 21:29:41 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 21:29:41 three inkypi[516]: 21:29:41 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 21:29:41 three inkypi[516]: 21:29:41 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T21:29:41.023392-07:00', 'image_hash': '3bb066abcf8c8747cf1ebfa9c6f5a2a1df92a6f08fcd8c74273a7258b5ef2d38'} May 19 21:29:41 three inkypi[516]: 21:29:41 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:29:41 three inkypi[516]: 21:29:41 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:29:48 three inkypi[516]: 21:29:48 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:31:50 three inkypi[516]: 21:31:50 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:31:50 May 19 21:31:50 three inkypi[516]: 21:31:50 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 21:31:50 three inkypi[516]: 21:31:50 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 21:31:50 three inkypi[516]: 21:31:50 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T21:31:50.223369-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 21:31:50 three inkypi[516]: 21:31:50 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:31:50 three inkypi[516]: 21:31:50 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:31:57 three inkypi[516]: 21:31:57 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:33:59 three inkypi[516]: 21:33:59 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:33:59 May 19 21:33:59 three inkypi[516]: 21:33:59 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 21:33:59 three inkypi[516]: 21:33:59 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 21:33:59 three inkypi[516]: 21:33:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T21:33:59.423271-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 21:33:59 three inkypi[516]: 21:33:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:34:00 three inkypi[516]: 21:34:00 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:34:06 three inkypi[516]: 21:34:06 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:36:08 three inkypi[516]: 21:36:08 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:36:08 May 19 21:36:08 three inkypi[516]: 21:36:08 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 21:36:08 three inkypi[516]: 21:36:08 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 21:36:59 three inkypi[516]: 21:36:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T21:36:08.822997-07:00', 'image_hash': 'a553390fd6cd25fca8f90797066dfa2a1b2acd1676bb06ca68b5947adcbbea8a'} May 19 21:36:59 three inkypi[516]: 21:36:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:37:00 three inkypi[516]: 21:37:00 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:37:06 three inkypi[516]: 21:37:06 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:39:08 three inkypi[516]: 21:39:08 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:39:08 May 19 21:39:08 three inkypi[516]: 21:39:08 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 21:39:08 three inkypi[516]: 21:39:08 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 21:39:09 three inkypi[516]: 21:39:09 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T21:39:08.771313-07:00', 'image_hash': '71322cb9e5fc709b2483ea1525c0b1384576a918d788e5bb071587c8e1362b2d'} May 19 21:39:09 three inkypi[516]: 21:39:09 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:39:10 three inkypi[516]: 21:39:10 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:39:16 three inkypi[516]: 21:39:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:41:18 three inkypi[516]: 21:41:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:41:18 May 19 21:41:18 three inkypi[516]: 21:41:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 21:41:18 three inkypi[516]: 21:41:18 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 21:41:18 three inkypi[516]: 21:41:18 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T21:41:18.523351-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 21:41:18 three inkypi[516]: 21:41:18 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:41:19 three inkypi[516]: 21:41:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:41:25 three inkypi[516]: 21:41:25 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:43:27 three inkypi[516]: 21:43:27 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:43:27 May 19 21:43:27 three inkypi[516]: 21:43:27 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 21:43:27 three inkypi[516]: 21:43:27 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 21:44:20 three inkypi[516]: 21:44:20 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T21:43:27.323432-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 21:44:20 three inkypi[516]: 21:44:20 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:44:21 three inkypi[516]: 21:44:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:44:27 three inkypi[516]: 21:44:27 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:46:29 three inkypi[516]: 21:46:29 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:46:29 May 19 21:46:29 three inkypi[516]: 21:46:29 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 21:46:29 three inkypi[516]: 21:46:29 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 21:46:30 three inkypi[516]: 21:46:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T21:46:29.852988-07:00', 'image_hash': 'a553390fd6cd25fca8f90797066dfa2a1b2acd1676bb06ca68b5947adcbbea8a'} May 19 21:46:30 three inkypi[516]: 21:46:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:46:30 three inkypi[516]: 21:46:30 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:46:37 three inkypi[516]: 21:46:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:48:39 three inkypi[516]: 21:48:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:48:39 May 19 21:48:39 three inkypi[516]: 21:48:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 21:48:39 three inkypi[516]: 21:48:39 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 21:48:39 three inkypi[516]: 21:48:39 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T21:48:39.324126-07:00', 'image_hash': '8ddcb9adf59e6c3cfa087e779c54bb0c7f7454083dbf0465de8c0a9e8ee6ad46'} May 19 21:48:39 three inkypi[516]: 21:48:39 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:48:40 three inkypi[516]: 21:48:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:48:46 three inkypi[516]: 21:48:46 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:50:48 three inkypi[516]: 21:50:48 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:50:48 May 19 21:50:48 three inkypi[516]: 21:50:48 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 21:50:48 three inkypi[516]: 21:50:48 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 21:50:48 three inkypi[516]: 21:50:48 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T21:50:48.723216-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 21:50:48 three inkypi[516]: 21:50:48 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:50:49 three inkypi[516]: 21:50:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:50:55 three inkypi[516]: 21:50:55 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:52:58 three inkypi[516]: 21:52:58 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:52:58 May 19 21:52:58 three inkypi[516]: 21:52:58 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 21:52:58 three inkypi[516]: 21:52:58 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 21:52:58 three inkypi[516]: 21:52:58 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T21:52:58.021617-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 21:52:58 three inkypi[516]: 21:52:58 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:52:58 three inkypi[516]: 21:52:58 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:53:04 three inkypi[516]: 21:53:04 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:55:06 three inkypi[516]: 21:55:06 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:55:06 May 19 21:55:06 three inkypi[516]: 21:55:06 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 21:55:06 three inkypi[516]: 21:55:06 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 21:55:07 three inkypi[516]: 21:55:07 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T21:55:06.924155-07:00', 'image_hash': 'a553390fd6cd25fca8f90797066dfa2a1b2acd1676bb06ca68b5947adcbbea8a'} May 19 21:55:07 three inkypi[516]: 21:55:07 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:55:07 three inkypi[516]: 21:55:07 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:55:13 three inkypi[516]: 21:55:13 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:57:15 three inkypi[516]: 21:57:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:57:15 May 19 21:57:15 three inkypi[516]: 21:57:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 21:57:15 three inkypi[516]: 21:57:15 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 21:57:16 three inkypi[516]: 21:57:16 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T21:57:15.923008-07:00', 'image_hash': 'e5c4629977c97b7fa56ce0c5f3e0995647bfaadf42a885937eb90e942ef796fd'} May 19 21:57:16 three inkypi[516]: 21:57:16 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:57:17 three inkypi[516]: 21:57:17 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:57:23 three inkypi[516]: 21:57:23 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 21:59:25 three inkypi[516]: 21:59:25 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 21:59:25 May 19 21:59:25 three inkypi[516]: 21:59:25 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 21:59:25 three inkypi[516]: 21:59:25 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 21:59:25 three inkypi[516]: 21:59:25 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T21:59:25.723448-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 21:59:25 three inkypi[516]: 21:59:25 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 21:59:26 three inkypi[516]: 21:59:26 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 21:59:32 three inkypi[516]: 21:59:32 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:01:34 three inkypi[516]: 22:01:34 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:01:34 May 19 22:01:34 three inkypi[516]: 22:01:34 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 22:01:34 three inkypi[516]: 22:01:34 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 22:01:35 three inkypi[516]: 22:01:35 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T22:01:34.923081-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 22:01:35 three inkypi[516]: 22:01:35 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:01:35 three inkypi[516]: 22:01:35 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:01:41 three inkypi[516]: 22:01:41 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:03:43 three inkypi[516]: 22:03:43 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:03:43 May 19 22:03:43 three inkypi[516]: 22:03:43 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 22:03:43 three inkypi[516]: 22:03:43 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 22:03:43 three inkypi[516]: 22:03:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T22:03:43.823367-07:00', 'image_hash': 'a553390fd6cd25fca8f90797066dfa2a1b2acd1676bb06ca68b5947adcbbea8a'} May 19 22:03:43 three inkypi[516]: 22:03:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:03:44 three inkypi[516]: 22:03:44 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:03:50 three inkypi[516]: 22:03:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:05:52 three inkypi[516]: 22:05:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:05:52 May 19 22:05:52 three inkypi[516]: 22:05:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 22:05:52 three inkypi[516]: 22:05:52 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 22:05:53 three inkypi[516]: 22:05:53 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T22:05:52.823195-07:00', 'image_hash': 'c6611a4b9a26cf074b1c6343bc6ce647390a89708c8ff1a9a2bc973a2923b10e'} May 19 22:05:53 three inkypi[516]: 22:05:53 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:05:53 three inkypi[516]: 22:05:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:06:00 three inkypi[516]: 22:06:00 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:08:02 three inkypi[516]: 22:08:02 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:08:02 May 19 22:08:02 three inkypi[516]: 22:08:02 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 22:08:02 three inkypi[516]: 22:08:02 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 22:08:02 three inkypi[516]: 22:08:02 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 22:08:02 three inkypi[516]: 22:08:02 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 22:08:02 three inkypi[516]: 22:08:02 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 22:08:02 three inkypi[516]: 22:08:02 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 22:08:02 three inkypi[516]: 22:08:02 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 22:08:02 three inkypi[516]: 22:08:02 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 22:08:02 three inkypi[516]: 22:08:02 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 22:08:02 three inkypi[516]: 22:08:02 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 22:08:06 three inkypi[516]: 22:08:06 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 22:08:06 three inkypi[516]: 22:08:06 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 22:08:26 three inkypi[516]: 22:08:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T22:08:02.621555-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 22:08:26 three inkypi[516]: 22:08:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:08:27 three inkypi[516]: 22:08:27 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:08:33 three inkypi[516]: 22:08:33 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:10:35 three inkypi[516]: 22:10:35 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:10:35 May 19 22:10:35 three inkypi[516]: 22:10:35 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 22:10:35 three inkypi[516]: 22:10:35 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 22:10:35 three inkypi[516]: 22:10:35 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T22:10:35.555819-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 22:10:35 three inkypi[516]: 22:10:35 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:10:36 three inkypi[516]: 22:10:36 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:10:42 three inkypi[516]: 22:10:42 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:12:44 three inkypi[516]: 22:12:44 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:12:44 May 19 22:12:44 three inkypi[516]: 22:12:44 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 22:12:44 three inkypi[516]: 22:12:44 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 22:13:33 three inkypi[516]: 22:13:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T22:12:44.923732-07:00', 'image_hash': '868a6083cb6eaae4966436b874410a5de31701274cf740e32d0f8cb6648fe387'} May 19 22:13:33 three inkypi[516]: 22:13:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:13:33 three inkypi[516]: 22:13:33 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:13:40 three inkypi[516]: 22:13:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:15:42 three inkypi[516]: 22:15:42 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:15:42 May 19 22:15:42 three inkypi[516]: 22:15:42 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 22:15:42 three inkypi[516]: 22:15:42 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 22:15:43 three inkypi[516]: 22:15:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T22:15:42.455530-07:00', 'image_hash': '411ca56378bb0439eae249d8e2ced1d4b1194f393d0f9110de0ceb83f9eb88ad'} May 19 22:15:43 three inkypi[516]: 22:15:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:15:43 three inkypi[516]: 22:15:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:15:49 three inkypi[516]: 22:15:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:17:51 three inkypi[516]: 22:17:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:17:51 May 19 22:17:51 three inkypi[516]: 22:17:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 22:17:51 three inkypi[516]: 22:17:51 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 22:17:52 three inkypi[516]: 22:17:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T22:17:51.924230-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 22:17:52 three inkypi[516]: 22:17:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:17:52 three inkypi[516]: 22:17:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:17:58 three inkypi[516]: 22:17:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:20:00 three inkypi[516]: 22:20:00 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:20:00 May 19 22:20:00 three inkypi[516]: 22:20:00 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 22:20:00 three inkypi[516]: 22:20:00 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 22:20:00 three inkypi[516]: 22:20:00 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T22:20:00.724402-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 22:20:00 three inkypi[516]: 22:20:00 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:20:01 three inkypi[516]: 22:20:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:20:08 three inkypi[516]: 22:20:08 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:22:10 three inkypi[516]: 22:22:10 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:22:10 May 19 22:22:10 three inkypi[516]: 22:22:10 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 22:22:10 three inkypi[516]: 22:22:10 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 22:22:10 three inkypi[516]: 22:22:10 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T22:22:10.121211-07:00', 'image_hash': '868a6083cb6eaae4966436b874410a5de31701274cf740e32d0f8cb6648fe387'} May 19 22:22:10 three inkypi[516]: 22:22:10 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:22:10 three inkypi[516]: 22:22:10 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:22:17 three inkypi[516]: 22:22:17 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:24:19 three inkypi[516]: 22:24:19 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:24:19 May 19 22:24:19 three inkypi[516]: 22:24:19 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 22:24:19 three inkypi[516]: 22:24:19 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 22:24:19 three inkypi[516]: 22:24:19 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T22:24:19.123473-07:00', 'image_hash': 'bb952444b4635b00bc799c0944302377a066a13bd1322d71ff8cb65522aaefad'} May 19 22:24:19 three inkypi[516]: 22:24:19 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:24:20 three inkypi[516]: 22:24:20 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:24:26 three inkypi[516]: 22:24:26 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:26:28 three inkypi[516]: 22:26:28 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:26:28 May 19 22:26:28 three inkypi[516]: 22:26:28 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 22:26:28 three inkypi[516]: 22:26:28 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 22:26:28 three inkypi[516]: 22:26:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T22:26:28.823223-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 22:26:28 three inkypi[516]: 22:26:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:26:29 three inkypi[516]: 22:26:29 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:26:35 three inkypi[516]: 22:26:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:28:37 three inkypi[516]: 22:28:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:28:37 May 19 22:28:37 three inkypi[516]: 22:28:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 22:28:37 three inkypi[516]: 22:28:37 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 22:28:38 three inkypi[516]: 22:28:38 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T22:28:37.923523-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 22:28:38 three inkypi[516]: 22:28:38 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:28:38 three inkypi[516]: 22:28:38 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:28:44 three inkypi[516]: 22:28:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:30:47 three inkypi[516]: 22:30:47 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:30:47 May 19 22:30:47 three inkypi[516]: 22:30:47 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 22:30:47 three inkypi[516]: 22:30:47 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 22:30:47 three inkypi[516]: 22:30:47 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T22:30:47.123523-07:00', 'image_hash': '868a6083cb6eaae4966436b874410a5de31701274cf740e32d0f8cb6648fe387'} May 19 22:30:47 three inkypi[516]: 22:30:47 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:30:48 three inkypi[516]: 22:30:48 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:30:54 three inkypi[516]: 22:30:54 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:32:56 three inkypi[516]: 22:32:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:32:56 May 19 22:32:56 three inkypi[516]: 22:32:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 22:32:56 three inkypi[516]: 22:32:56 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 22:32:57 three inkypi[516]: 22:32:57 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T22:32:56.723582-07:00', 'image_hash': '72e064043ad4cf4fbba20b1682efb761cd5c5ea91842a5aea437d2fc81a2057e'} May 19 22:32:57 three inkypi[516]: 22:32:57 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:32:57 three inkypi[516]: 22:32:57 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:33:04 three inkypi[516]: 22:33:04 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:35:06 three inkypi[516]: 22:35:06 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:35:06 May 19 22:35:06 three inkypi[516]: 22:35:06 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 22:35:06 three inkypi[516]: 22:35:06 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 22:35:06 three inkypi[516]: 22:35:06 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T22:35:06.523460-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 22:35:06 three inkypi[516]: 22:35:06 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:35:07 three inkypi[516]: 22:35:07 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:35:13 three inkypi[516]: 22:35:13 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:37:15 three inkypi[516]: 22:37:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:37:15 May 19 22:37:15 three inkypi[516]: 22:37:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 22:37:15 three inkypi[516]: 22:37:15 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 22:37:15 three inkypi[516]: 22:37:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T22:37:15.323914-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 22:37:15 three inkypi[516]: 22:37:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:37:16 three inkypi[516]: 22:37:16 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:37:22 three inkypi[516]: 22:37:22 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:39:24 three inkypi[516]: 22:39:24 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:39:24 May 19 22:39:24 three inkypi[516]: 22:39:24 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 22:39:24 three inkypi[516]: 22:39:24 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 22:39:24 three inkypi[516]: 22:39:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T22:39:24.723750-07:00', 'image_hash': '868a6083cb6eaae4966436b874410a5de31701274cf740e32d0f8cb6648fe387'} May 19 22:39:24 three inkypi[516]: 22:39:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:39:25 three inkypi[516]: 22:39:25 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:39:31 three inkypi[516]: 22:39:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:41:34 three inkypi[516]: 22:41:34 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:41:34 May 19 22:41:34 three inkypi[516]: 22:41:34 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 22:41:34 three inkypi[516]: 22:41:34 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 22:41:34 three inkypi[516]: 22:41:34 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T22:41:34.123373-07:00', 'image_hash': '7dcd0dc8f2a6a9cde2c6fca65155976643c6a8209648413b19213e709f69adaa'} May 19 22:41:34 three inkypi[516]: 22:41:34 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:41:35 three inkypi[516]: 22:41:35 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:41:41 three inkypi[516]: 22:41:41 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:43:43 three inkypi[516]: 22:43:43 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:43:43 May 19 22:43:43 three inkypi[516]: 22:43:43 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 22:43:43 three inkypi[516]: 22:43:43 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 22:43:44 three inkypi[516]: 22:43:44 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T22:43:43.923161-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 22:43:44 three inkypi[516]: 22:43:44 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:43:44 three inkypi[516]: 22:43:44 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:43:51 three inkypi[516]: 22:43:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:45:53 three inkypi[516]: 22:45:53 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:45:53 May 19 22:45:53 three inkypi[516]: 22:45:53 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 22:45:53 three inkypi[516]: 22:45:53 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 22:46:48 three inkypi[516]: 22:46:48 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T22:45:53.124277-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 22:46:48 three inkypi[516]: 22:46:48 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:46:49 three inkypi[516]: 22:46:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:46:55 three inkypi[516]: 22:46:55 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:48:57 three inkypi[516]: 22:48:57 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:48:57 May 19 22:48:57 three inkypi[516]: 22:48:57 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 22:48:57 three inkypi[516]: 22:48:57 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 22:49:42 three inkypi[516]: 22:49:42 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T22:48:57.956794-07:00', 'image_hash': '63adcebcecfabcab76c1345f79d6e834841c30e37ca0deefa345feb9191d0ef8'} May 19 22:49:42 three inkypi[516]: 22:49:42 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:49:43 three inkypi[516]: 22:49:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:49:49 three inkypi[516]: 22:49:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:51:51 three inkypi[516]: 22:51:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:51:51 May 19 22:51:51 three inkypi[516]: 22:51:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 22:51:51 three inkypi[516]: 22:51:51 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 22:51:52 three inkypi[516]: 22:51:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T22:51:51.756365-07:00', 'image_hash': '2d77a285265fd70e39f6ff129f44f348f976895071515f19028f41f98a3809ff'} May 19 22:51:52 three inkypi[516]: 22:51:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:51:52 three inkypi[516]: 22:51:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:51:59 three inkypi[516]: 22:51:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:54:01 three inkypi[516]: 22:54:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:54:01 May 19 22:54:01 three inkypi[516]: 22:54:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 22:54:01 three inkypi[516]: 22:54:01 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 22:54:01 three inkypi[516]: 22:54:01 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T22:54:01.223595-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 22:54:01 three inkypi[516]: 22:54:01 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:54:01 three inkypi[516]: 22:54:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:54:07 three inkypi[516]: 22:54:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:56:10 three inkypi[516]: 22:56:10 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:56:10 May 19 22:56:10 three inkypi[516]: 22:56:10 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 22:56:10 three inkypi[516]: 22:56:10 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 22:56:10 three inkypi[516]: 22:56:10 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T22:56:10.023855-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 22:56:10 three inkypi[516]: 22:56:10 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:56:10 three inkypi[516]: 22:56:10 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:56:17 three inkypi[516]: 22:56:17 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 22:58:19 three inkypi[516]: 22:58:19 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 22:58:19 May 19 22:58:19 three inkypi[516]: 22:58:19 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 22:58:19 three inkypi[516]: 22:58:19 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 22:58:19 three inkypi[516]: 22:58:19 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T22:58:19.423539-07:00', 'image_hash': '63adcebcecfabcab76c1345f79d6e834841c30e37ca0deefa345feb9191d0ef8'} May 19 22:58:19 three inkypi[516]: 22:58:19 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 22:58:20 three inkypi[516]: 22:58:20 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 22:58:26 three inkypi[516]: 22:58:26 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:00:28 three inkypi[516]: 23:00:28 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:00:28 May 19 23:00:28 three inkypi[516]: 23:00:28 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 23:00:28 three inkypi[516]: 23:00:28 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 23:00:29 three inkypi[516]: 23:00:29 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T23:00:28.923253-07:00', 'image_hash': '99e3adf384a416648fba0fd30acd48b1a408b2b98513932a034f4cd48c1e24f6'} May 19 23:00:29 three inkypi[516]: 23:00:29 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:00:30 three inkypi[516]: 23:00:30 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:00:36 three inkypi[516]: 23:00:36 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:02:38 three inkypi[516]: 23:02:38 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:02:38 May 19 23:02:38 three inkypi[516]: 23:02:38 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 23:02:38 three inkypi[516]: 23:02:38 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 23:02:38 three inkypi[516]: 23:02:38 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T23:02:38.723212-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 23:02:38 three inkypi[516]: 23:02:38 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:02:39 three inkypi[516]: 23:02:39 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:02:45 three inkypi[516]: 23:02:45 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:04:47 three inkypi[516]: 23:04:47 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:04:47 May 19 23:04:47 three inkypi[516]: 23:04:47 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 23:04:47 three inkypi[516]: 23:04:47 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 23:04:48 three inkypi[516]: 23:04:48 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T23:04:47.923289-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 23:04:48 three inkypi[516]: 23:04:48 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:04:48 three inkypi[516]: 23:04:48 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:04:55 three inkypi[516]: 23:04:55 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:06:57 three inkypi[516]: 23:06:57 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:06:57 May 19 23:06:57 three inkypi[516]: 23:06:57 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 23:06:57 three inkypi[516]: 23:06:57 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 23:06:57 three inkypi[516]: 23:06:57 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T23:06:57.323233-07:00', 'image_hash': '63adcebcecfabcab76c1345f79d6e834841c30e37ca0deefa345feb9191d0ef8'} May 19 23:06:57 three inkypi[516]: 23:06:57 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:06:58 three inkypi[516]: 23:06:58 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:07:04 three inkypi[516]: 23:07:04 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:09:06 three inkypi[516]: 23:09:06 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:09:06 May 19 23:09:06 three inkypi[516]: 23:09:06 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 23:09:06 three inkypi[516]: 23:09:06 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 23:09:06 three inkypi[516]: 23:09:06 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T23:09:06.324049-07:00', 'image_hash': 'eb1106c64cf34b7a7dfa58043a04f1ab53d3519ba6061eefa4d84e738b59f79e'} May 19 23:09:06 three inkypi[516]: 23:09:06 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:09:07 three inkypi[516]: 23:09:07 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:09:13 three inkypi[516]: 23:09:13 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:11:15 three inkypi[516]: 23:11:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:11:15 May 19 23:11:15 three inkypi[516]: 23:11:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 23:11:15 three inkypi[516]: 23:11:15 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 19 23:11:15 three inkypi[516]: 23:11:15 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 19 23:11:15 three inkypi[516]: 23:11:15 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 19 23:11:15 three inkypi[516]: 23:11:15 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 19 23:11:15 three inkypi[516]: 23:11:15 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 19 23:11:15 three inkypi[516]: 23:11:15 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 19 23:11:15 three inkypi[516]: 23:11:15 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 19 23:11:15 three inkypi[516]: 23:11:15 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 19 23:11:15 three inkypi[516]: 23:11:15 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 19 23:11:19 three inkypi[516]: 23:11:19 - INFO - plugins.my_day.my_day - Found 0 task lists May 19 23:11:19 three inkypi[516]: 23:11:19 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 19 23:11:40 three inkypi[516]: 23:11:40 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T23:11:15.923105-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 23:11:40 three inkypi[516]: 23:11:40 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:11:41 three inkypi[516]: 23:11:41 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:11:47 three inkypi[516]: 23:11:47 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:13:49 three inkypi[516]: 23:13:49 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:13:49 May 19 23:13:49 three inkypi[516]: 23:13:49 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 23:13:49 three inkypi[516]: 23:13:49 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 23:13:49 three inkypi[516]: 23:13:49 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T23:13:49.751461-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 23:13:49 three inkypi[516]: 23:13:49 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:13:50 three inkypi[516]: 23:13:50 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:13:57 three inkypi[516]: 23:13:57 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:15:59 three inkypi[516]: 23:15:59 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:15:59 May 19 23:15:59 three inkypi[516]: 23:15:59 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 23:15:59 three inkypi[516]: 23:15:59 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 23:15:59 three inkypi[516]: 23:15:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T23:15:59.123390-07:00', 'image_hash': '63adcebcecfabcab76c1345f79d6e834841c30e37ca0deefa345feb9191d0ef8'} May 19 23:15:59 three inkypi[516]: 23:15:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:16:00 three inkypi[516]: 23:16:00 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:16:06 three inkypi[516]: 23:16:06 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:18:08 three inkypi[516]: 23:18:08 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:18:08 May 19 23:18:08 three inkypi[516]: 23:18:08 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 23:18:08 three inkypi[516]: 23:18:08 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 23:18:09 three inkypi[516]: 23:18:09 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T23:18:08.623974-07:00', 'image_hash': '67376bdfbdd50c5cbae8113d75d9aba3a2e3a6ddf95910eec69d8eef8e51bf96'} May 19 23:18:09 three inkypi[516]: 23:18:09 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:18:09 three inkypi[516]: 23:18:09 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:18:16 three inkypi[516]: 23:18:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:20:18 three inkypi[516]: 23:20:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:20:18 May 19 23:20:18 three inkypi[516]: 23:20:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 23:20:18 three inkypi[516]: 23:20:18 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 23:20:18 three inkypi[516]: 23:20:18 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T23:20:18.424067-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 23:20:18 three inkypi[516]: 23:20:18 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:20:19 three inkypi[516]: 23:20:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:20:25 three inkypi[516]: 23:20:25 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:22:27 three inkypi[516]: 23:22:27 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:22:27 May 19 23:22:27 three inkypi[516]: 23:22:27 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 23:22:27 three inkypi[516]: 23:22:27 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 23:22:27 three inkypi[516]: 23:22:27 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T23:22:27.721049-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 23:22:27 three inkypi[516]: 23:22:27 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:22:28 three inkypi[516]: 23:22:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:22:35 three inkypi[516]: 23:22:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:24:37 three inkypi[516]: 23:24:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:24:37 May 19 23:24:37 three inkypi[516]: 23:24:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 23:24:37 three inkypi[516]: 23:24:37 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 19 23:25:27 three inkypi[516]: 23:25:27 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T23:24:37.123633-07:00', 'image_hash': 'ff5f7da160162dbad0b836c1c8f0bc3ba501b0abee6de8015c9b866a4c1e42a3'} May 19 23:25:27 three inkypi[516]: 23:25:27 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:25:27 three inkypi[516]: 23:25:27 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:25:34 three inkypi[516]: 23:25:34 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:27:36 three inkypi[516]: 23:27:36 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:27:36 May 19 23:27:36 three inkypi[516]: 23:27:36 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 23:27:36 three inkypi[516]: 23:27:36 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 23:27:37 three inkypi[516]: 23:27:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T23:27:36.361796-07:00', 'image_hash': '96e17ad6acd2e76a269f32c263b45c22d24832b2f288d19ac512b4b50e1911cd'} May 19 23:27:37 three inkypi[516]: 23:27:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:27:37 three inkypi[516]: 23:27:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:27:44 three inkypi[516]: 23:27:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:29:46 three inkypi[516]: 23:29:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:29:46 May 19 23:29:46 three inkypi[516]: 23:29:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 23:29:46 three inkypi[516]: 23:29:46 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 23:29:46 three inkypi[516]: 23:29:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T23:29:46.323842-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 23:29:46 three inkypi[516]: 23:29:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:29:46 three inkypi[516]: 23:29:46 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:29:53 three inkypi[516]: 23:29:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:31:55 three inkypi[516]: 23:31:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:31:55 May 19 23:31:55 three inkypi[516]: 23:31:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 23:31:55 three inkypi[516]: 23:31:55 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 23:31:55 three inkypi[516]: 23:31:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T23:31:55.523636-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 23:31:55 three inkypi[516]: 23:31:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:31:56 three inkypi[516]: 23:31:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:32:02 three inkypi[516]: 23:32:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:34:04 three inkypi[516]: 23:34:04 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:34:04 May 19 23:34:04 three inkypi[516]: 23:34:04 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 23:34:04 three inkypi[516]: 23:34:04 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 23:34:05 three inkypi[516]: 23:34:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T23:34:04.923174-07:00', 'image_hash': 'ff5f7da160162dbad0b836c1c8f0bc3ba501b0abee6de8015c9b866a4c1e42a3'} May 19 23:34:05 three inkypi[516]: 23:34:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:34:05 three inkypi[516]: 23:34:05 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:34:11 three inkypi[516]: 23:34:11 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:36:13 three inkypi[516]: 23:36:13 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:36:13 May 19 23:36:13 three inkypi[516]: 23:36:13 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 23:36:13 three inkypi[516]: 23:36:13 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 23:36:14 three inkypi[516]: 23:36:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T23:36:13.923278-07:00', 'image_hash': 'ae8b447449e691e4c18e283df44403ff26a77ad30be4a8f2ec19159c03f91214'} May 19 23:36:14 three inkypi[516]: 23:36:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:36:15 three inkypi[516]: 23:36:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:36:21 three inkypi[516]: 23:36:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:38:23 three inkypi[516]: 23:38:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:38:23 May 19 23:38:23 three inkypi[516]: 23:38:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 23:38:23 three inkypi[516]: 23:38:23 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 23:38:23 three inkypi[516]: 23:38:23 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T23:38:23.723347-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 23:38:23 three inkypi[516]: 23:38:23 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:38:24 three inkypi[516]: 23:38:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:38:30 three inkypi[516]: 23:38:30 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:40:32 three inkypi[516]: 23:40:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:40:32 May 19 23:40:32 three inkypi[516]: 23:40:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 23:40:32 three inkypi[516]: 23:40:32 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 23:40:32 three inkypi[516]: 23:40:32 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T23:40:32.723435-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 23:40:32 three inkypi[516]: 23:40:32 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:40:33 three inkypi[516]: 23:40:33 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:40:39 three inkypi[516]: 23:40:39 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:42:42 three inkypi[516]: 23:42:42 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:42:42 May 19 23:42:42 three inkypi[516]: 23:42:42 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 23:42:42 three inkypi[516]: 23:42:42 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 23:42:42 three inkypi[516]: 23:42:42 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T23:42:42.023009-07:00', 'image_hash': 'ff5f7da160162dbad0b836c1c8f0bc3ba501b0abee6de8015c9b866a4c1e42a3'} May 19 23:42:42 three inkypi[516]: 23:42:42 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:42:42 three inkypi[516]: 23:42:42 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:42:49 three inkypi[516]: 23:42:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:44:51 three inkypi[516]: 23:44:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:44:51 May 19 23:44:51 three inkypi[516]: 23:44:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 23:44:51 three inkypi[516]: 23:44:51 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 23:44:51 three inkypi[516]: 23:44:51 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T23:44:51.523349-07:00', 'image_hash': '46573e6e542f28baa3e6a62eaab39f400649679574456a89d9df3fbefd8fa433'} May 19 23:44:52 three inkypi[516]: 23:44:51 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:44:52 three inkypi[516]: 23:44:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:44:58 three inkypi[516]: 23:44:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:47:00 three inkypi[516]: 23:47:00 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:47:00 May 19 23:47:00 three inkypi[516]: 23:47:00 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 23:47:00 three inkypi[516]: 23:47:00 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 23:47:00 three inkypi[516]: 23:47:00 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T23:47:00.723656-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 23:47:00 three inkypi[516]: 23:47:00 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:47:01 three inkypi[516]: 23:47:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:47:07 three inkypi[516]: 23:47:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:49:10 three inkypi[516]: 23:49:10 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:49:10 May 19 23:49:10 three inkypi[516]: 23:49:10 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 23:49:10 three inkypi[516]: 23:49:10 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 19 23:50:05 three inkypi[516]: 23:50:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T23:49:10.020955-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 23:50:05 three inkypi[516]: 23:50:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:50:06 three inkypi[516]: 23:50:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:50:13 three inkypi[516]: 23:50:13 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:52:15 three inkypi[516]: 23:52:15 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:52:15 May 19 23:52:15 three inkypi[516]: 23:52:15 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 19 23:52:15 three inkypi[516]: 23:52:15 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 19 23:52:15 three inkypi[516]: 23:52:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-19T23:52:15.246537-07:00', 'image_hash': 'ff5f7da160162dbad0b836c1c8f0bc3ba501b0abee6de8015c9b866a4c1e42a3'} May 19 23:52:15 three inkypi[516]: 23:52:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:52:16 three inkypi[516]: 23:52:16 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:52:22 three inkypi[516]: 23:52:22 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:54:24 three inkypi[516]: 23:54:24 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:54:24 May 19 23:54:24 three inkypi[516]: 23:54:24 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 19 23:54:24 three inkypi[516]: 23:54:24 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 19 23:54:25 three inkypi[516]: 23:54:25 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-19T23:54:24.723810-07:00', 'image_hash': '9131673d27c552f71d84646b9d9fb7a95f46f61dbb33071feb4f28659a10ed4c'} May 19 23:54:25 three inkypi[516]: 23:54:25 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:54:25 three inkypi[516]: 23:54:25 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:54:31 three inkypi[516]: 23:54:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:56:34 three inkypi[516]: 23:56:34 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:56:34 May 19 23:56:34 three inkypi[516]: 23:56:34 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 19 23:56:34 three inkypi[516]: 23:56:34 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 19 23:56:34 three inkypi[516]: 23:56:34 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-19T23:56:34.123979-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 19 23:56:34 three inkypi[516]: 23:56:34 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:56:34 three inkypi[516]: 23:56:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:56:41 three inkypi[516]: 23:56:41 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 19 23:58:43 three inkypi[516]: 23:58:43 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-19 23:58:43 May 19 23:58:43 three inkypi[516]: 23:58:43 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 19 23:58:43 three inkypi[516]: 23:58:43 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 19 23:58:43 three inkypi[516]: 23:58:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-19T23:58:43.323694-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 19 23:58:43 three inkypi[516]: 23:58:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 19 23:58:43 three inkypi[516]: 23:58:43 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 19 23:58:50 three inkypi[516]: 23:58:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:00:52 three inkypi[516]: 00:00:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:00:52 May 20 00:00:52 three inkypi[516]: 00:00:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 00:00:52 three inkypi[516]: 00:00:52 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 20 00:01:45 three inkypi[516]: 00:01:45 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T00:00:52.224039-07:00', 'image_hash': 'c4f68ac1a07117f6ec314847f00ebf21a2d4b9ba977bcc96385aefba8ba3338c'} May 20 00:01:45 three inkypi[516]: 00:01:45 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:01:46 three inkypi[516]: 00:01:46 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:01:53 three inkypi[516]: 00:01:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:03:55 three inkypi[516]: 00:03:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:03:55 May 20 00:03:55 three inkypi[516]: 00:03:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 00:03:55 three inkypi[516]: 00:03:55 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 00:03:55 three inkypi[516]: 00:03:55 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T00:03:55.151624-07:00', 'image_hash': '4b97766cf22eb9cf9b8103efe55d2e6bb58eea0eb6bd834cc98f80286af0f08b'} May 20 00:03:55 three inkypi[516]: 00:03:55 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:03:56 three inkypi[516]: 00:03:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:04:02 three inkypi[516]: 00:04:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:06:04 three inkypi[516]: 00:06:04 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:06:04 May 20 00:06:04 three inkypi[516]: 00:06:04 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 00:06:04 three inkypi[516]: 00:06:04 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 00:06:04 three inkypi[516]: 00:06:04 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T00:06:04.623778-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 00:06:04 three inkypi[516]: 00:06:04 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:06:05 three inkypi[516]: 00:06:05 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:06:11 three inkypi[516]: 00:06:11 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:08:13 three inkypi[516]: 00:08:13 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:08:13 May 20 00:08:13 three inkypi[516]: 00:08:13 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 00:08:13 three inkypi[516]: 00:08:13 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 00:08:13 three inkypi[516]: 00:08:13 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T00:08:13.823410-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 20 00:08:13 three inkypi[516]: 00:08:13 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:08:14 three inkypi[516]: 00:08:14 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:08:20 three inkypi[516]: 00:08:20 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:10:22 three inkypi[516]: 00:10:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:10:22 May 20 00:10:22 three inkypi[516]: 00:10:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 00:10:22 three inkypi[516]: 00:10:22 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 00:10:22 three inkypi[516]: 00:10:22 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T00:10:22.723262-07:00', 'image_hash': 'c4f68ac1a07117f6ec314847f00ebf21a2d4b9ba977bcc96385aefba8ba3338c'} May 20 00:10:22 three inkypi[516]: 00:10:22 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:10:23 three inkypi[516]: 00:10:23 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:10:29 three inkypi[516]: 00:10:29 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:12:32 three inkypi[516]: 00:12:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:12:32 May 20 00:12:32 three inkypi[516]: 00:12:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 00:12:32 three inkypi[516]: 00:12:32 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 00:12:32 three inkypi[516]: 00:12:32 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T00:12:32.023665-07:00', 'image_hash': '022ee8cba9368ae49f50ad16b3bc033b2e966c629dea5090e3f25ee3edb02aa7'} May 20 00:12:32 three inkypi[516]: 00:12:32 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:12:32 three inkypi[516]: 00:12:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:12:39 three inkypi[516]: 00:12:39 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:14:41 three inkypi[516]: 00:14:41 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:14:41 May 20 00:14:41 three inkypi[516]: 00:14:41 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 00:14:41 three inkypi[516]: 00:14:41 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 20 00:14:41 three inkypi[516]: 00:14:41 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 20 00:14:41 three inkypi[516]: 00:14:41 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 20 00:14:41 three inkypi[516]: 00:14:41 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 20 00:14:41 three inkypi[516]: 00:14:41 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 20 00:14:41 three inkypi[516]: 00:14:41 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 20 00:14:41 three inkypi[516]: 00:14:41 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 20 00:14:41 three inkypi[516]: 00:14:41 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 20 00:14:41 three inkypi[516]: 00:14:41 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 20 00:14:45 three inkypi[516]: 00:14:45 - INFO - plugins.my_day.my_day - Found 0 task lists May 20 00:14:45 three inkypi[516]: 00:14:45 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 20 00:15:08 three inkypi[516]: 00:15:08 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T00:14:41.223697-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 00:15:08 three inkypi[516]: 00:15:08 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:15:08 three inkypi[516]: 00:15:08 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:15:14 three inkypi[516]: 00:15:14 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:17:17 three inkypi[516]: 00:17:17 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:17:17 May 20 00:17:17 three inkypi[516]: 00:17:17 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 00:17:17 three inkypi[516]: 00:17:17 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 00:17:17 three inkypi[516]: 00:17:17 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T00:17:17.051613-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 20 00:17:17 three inkypi[516]: 00:17:17 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:17:17 three inkypi[516]: 00:17:17 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:17:23 three inkypi[516]: 00:17:23 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:19:25 three inkypi[516]: 00:19:25 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:19:25 May 20 00:19:25 three inkypi[516]: 00:19:25 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 00:19:25 three inkypi[516]: 00:19:25 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 00:19:26 three inkypi[516]: 00:19:26 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T00:19:25.923302-07:00', 'image_hash': 'c4f68ac1a07117f6ec314847f00ebf21a2d4b9ba977bcc96385aefba8ba3338c'} May 20 00:19:26 three inkypi[516]: 00:19:26 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:19:26 three inkypi[516]: 00:19:26 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:19:32 three inkypi[516]: 00:19:32 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:21:34 three inkypi[516]: 00:21:34 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:21:34 May 20 00:21:34 three inkypi[516]: 00:21:34 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 00:21:34 three inkypi[516]: 00:21:34 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 00:21:35 three inkypi[516]: 00:21:35 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T00:21:34.924277-07:00', 'image_hash': 'cc95e5883f023266cfd1dd9021df0e8cd4033c2d7b6f30b962fe89def12388b1'} May 20 00:21:35 three inkypi[516]: 00:21:35 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:21:36 three inkypi[516]: 00:21:36 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:21:42 three inkypi[516]: 00:21:42 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:23:44 three inkypi[516]: 00:23:44 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:23:44 May 20 00:23:44 three inkypi[516]: 00:23:44 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 00:23:44 three inkypi[516]: 00:23:44 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 00:23:44 three inkypi[516]: 00:23:44 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T00:23:44.723720-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 00:23:44 three inkypi[516]: 00:23:44 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:23:45 three inkypi[516]: 00:23:45 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:23:51 three inkypi[516]: 00:23:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:25:53 three inkypi[516]: 00:25:53 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:25:53 May 20 00:25:53 three inkypi[516]: 00:25:53 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 00:25:53 three inkypi[516]: 00:25:53 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 00:25:53 three inkypi[516]: 00:25:53 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T00:25:53.524096-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 20 00:25:53 three inkypi[516]: 00:25:53 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:25:54 three inkypi[516]: 00:25:54 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:26:00 three inkypi[516]: 00:26:00 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:28:02 three inkypi[516]: 00:28:02 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:28:02 May 20 00:28:02 three inkypi[516]: 00:28:02 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 00:28:02 three inkypi[516]: 00:28:02 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 00:28:02 three inkypi[516]: 00:28:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T00:28:02.423504-07:00', 'image_hash': 'c4f68ac1a07117f6ec314847f00ebf21a2d4b9ba977bcc96385aefba8ba3338c'} May 20 00:28:02 three inkypi[516]: 00:28:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:28:03 three inkypi[516]: 00:28:03 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:28:09 three inkypi[516]: 00:28:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:30:11 three inkypi[516]: 00:30:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:30:11 May 20 00:30:11 three inkypi[516]: 00:30:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 00:30:11 three inkypi[516]: 00:30:11 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 00:30:12 three inkypi[516]: 00:30:12 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T00:30:11.923009-07:00', 'image_hash': '9e5456fc95a61a01663004e05eb74b534d1f05574ddb1ff414cc87fac977f536'} May 20 00:30:12 three inkypi[516]: 00:30:12 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:30:13 three inkypi[516]: 00:30:13 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:30:19 three inkypi[516]: 00:30:19 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:32:21 three inkypi[516]: 00:32:21 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:32:21 May 20 00:32:21 three inkypi[516]: 00:32:21 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 00:32:21 three inkypi[516]: 00:32:21 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 00:32:21 three inkypi[516]: 00:32:21 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T00:32:21.721143-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 00:32:21 three inkypi[516]: 00:32:21 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:32:22 three inkypi[516]: 00:32:22 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:32:28 three inkypi[516]: 00:32:28 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:34:31 three inkypi[516]: 00:34:31 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:34:31 May 20 00:34:31 three inkypi[516]: 00:34:31 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 00:34:31 three inkypi[516]: 00:34:31 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 00:34:31 three inkypi[516]: 00:34:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T00:34:31.029584-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 20 00:34:31 three inkypi[516]: 00:34:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:34:31 three inkypi[516]: 00:34:31 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:34:38 three inkypi[516]: 00:34:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:36:40 three inkypi[516]: 00:36:40 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:36:40 May 20 00:36:40 three inkypi[516]: 00:36:40 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 00:36:40 three inkypi[516]: 00:36:40 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 20 00:37:27 three inkypi[516]: 00:37:27 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T00:36:40.422991-07:00', 'image_hash': '51e0856394eb29c74d80b3f9a9f7622da8ca73eca0cd1b6d8ae1ddc1409431fc'} May 20 00:37:27 three inkypi[516]: 00:37:27 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:37:28 three inkypi[516]: 00:37:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:37:34 three inkypi[516]: 00:37:34 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:39:36 three inkypi[516]: 00:39:36 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:39:36 May 20 00:39:36 three inkypi[516]: 00:39:36 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 00:39:36 three inkypi[516]: 00:39:36 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 00:39:37 three inkypi[516]: 00:39:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T00:39:36.761180-07:00', 'image_hash': '5ed7f5b651f29c7a02685dc1db25cdd90cc4805e9281fa5d4e41b4448f7f12a6'} May 20 00:39:37 three inkypi[516]: 00:39:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:39:38 three inkypi[516]: 00:39:38 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:39:44 three inkypi[516]: 00:39:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:41:46 three inkypi[516]: 00:41:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:41:46 May 20 00:41:46 three inkypi[516]: 00:41:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 00:41:46 three inkypi[516]: 00:41:46 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 00:41:46 three inkypi[516]: 00:41:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T00:41:46.821405-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 00:41:46 three inkypi[516]: 00:41:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:41:47 three inkypi[516]: 00:41:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:41:53 three inkypi[516]: 00:41:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:43:56 three inkypi[516]: 00:43:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:43:56 May 20 00:43:56 three inkypi[516]: 00:43:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 00:43:56 three inkypi[516]: 00:43:56 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 00:43:56 three inkypi[516]: 00:43:56 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T00:43:56.023647-07:00', 'image_hash': '67dde050f1f6ac4d7fbdd358b22e0e44e4283382ceaf5711d6a88b4d928cbaaf'} May 20 00:43:56 three inkypi[516]: 00:43:56 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:43:56 three inkypi[516]: 00:43:56 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:44:02 three inkypi[516]: 00:44:02 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:46:04 three inkypi[516]: 00:46:04 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:46:04 May 20 00:46:04 three inkypi[516]: 00:46:04 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 00:46:04 three inkypi[516]: 00:46:04 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 00:46:05 three inkypi[516]: 00:46:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T00:46:04.922987-07:00', 'image_hash': '51e0856394eb29c74d80b3f9a9f7622da8ca73eca0cd1b6d8ae1ddc1409431fc'} May 20 00:46:05 three inkypi[516]: 00:46:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:46:05 three inkypi[516]: 00:46:05 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:46:12 three inkypi[516]: 00:46:12 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:48:14 three inkypi[516]: 00:48:14 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:48:14 May 20 00:48:14 three inkypi[516]: 00:48:14 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 00:48:14 three inkypi[516]: 00:48:14 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 00:48:14 three inkypi[516]: 00:48:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T00:48:14.323313-07:00', 'image_hash': '2b1f129b490fd06c5e5bfdaa427dba2d14a84a4255b8884e238a0ce889938d46'} May 20 00:48:14 three inkypi[516]: 00:48:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:48:15 three inkypi[516]: 00:48:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:48:21 three inkypi[516]: 00:48:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:50:23 three inkypi[516]: 00:50:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:50:23 May 20 00:50:23 three inkypi[516]: 00:50:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 00:50:23 three inkypi[516]: 00:50:23 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 00:50:23 three inkypi[516]: 00:50:23 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T00:50:23.523818-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 00:50:23 three inkypi[516]: 00:50:23 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:50:24 three inkypi[516]: 00:50:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:50:30 three inkypi[516]: 00:50:30 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:52:32 three inkypi[516]: 00:52:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:52:32 May 20 00:52:32 three inkypi[516]: 00:52:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 00:52:32 three inkypi[516]: 00:52:32 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 20 00:53:22 three inkypi[516]: 00:53:22 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T00:52:32.323356-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 00:53:22 three inkypi[516]: 00:53:22 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:53:23 three inkypi[516]: 00:53:23 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:53:29 three inkypi[516]: 00:53:29 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:55:31 three inkypi[516]: 00:55:31 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:55:31 May 20 00:55:31 three inkypi[516]: 00:55:31 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 00:55:31 three inkypi[516]: 00:55:31 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 00:55:32 three inkypi[516]: 00:55:32 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T00:55:31.955905-07:00', 'image_hash': '51e0856394eb29c74d80b3f9a9f7622da8ca73eca0cd1b6d8ae1ddc1409431fc'} May 20 00:55:32 three inkypi[516]: 00:55:32 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:55:32 three inkypi[516]: 00:55:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:55:39 three inkypi[516]: 00:55:39 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:57:41 three inkypi[516]: 00:57:41 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:57:41 May 20 00:57:41 three inkypi[516]: 00:57:41 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 00:57:41 three inkypi[516]: 00:57:41 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 00:57:42 three inkypi[516]: 00:57:42 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T00:57:41.521963-07:00', 'image_hash': '0c8cb2cde63f26b9ff2a043d67af28029ceb05ae56d8a25cb7bad4cae32f5fb4'} May 20 00:57:42 three inkypi[516]: 00:57:42 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:57:42 three inkypi[516]: 00:57:42 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:57:49 three inkypi[516]: 00:57:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 00:59:51 three inkypi[516]: 00:59:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 00:59:51 May 20 00:59:51 three inkypi[516]: 00:59:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 00:59:51 three inkypi[516]: 00:59:51 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 00:59:51 three inkypi[516]: 00:59:51 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T00:59:51.323491-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 00:59:51 three inkypi[516]: 00:59:51 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 00:59:51 three inkypi[516]: 00:59:51 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 00:59:58 three inkypi[516]: 00:59:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:02:00 three inkypi[516]: 01:02:00 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:02:00 May 20 01:02:00 three inkypi[516]: 01:02:00 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 01:02:00 three inkypi[516]: 01:02:00 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 01:02:00 three inkypi[516]: 01:02:00 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T01:02:00.123493-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 01:02:00 three inkypi[516]: 01:02:00 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:02:00 three inkypi[516]: 01:02:00 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:02:07 three inkypi[516]: 01:02:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:04:09 three inkypi[516]: 01:04:09 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:04:09 May 20 01:04:09 three inkypi[516]: 01:04:09 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 01:04:09 three inkypi[516]: 01:04:09 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 01:04:09 three inkypi[516]: 01:04:09 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T01:04:09.523306-07:00', 'image_hash': '51e0856394eb29c74d80b3f9a9f7622da8ca73eca0cd1b6d8ae1ddc1409431fc'} May 20 01:04:09 three inkypi[516]: 01:04:09 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:04:10 three inkypi[516]: 01:04:10 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:04:16 three inkypi[516]: 01:04:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:06:18 three inkypi[516]: 01:06:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:06:18 May 20 01:06:18 three inkypi[516]: 01:06:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 01:06:18 three inkypi[516]: 01:06:18 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 01:06:19 three inkypi[516]: 01:06:19 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T01:06:18.523447-07:00', 'image_hash': '0b2c522e3bddd6eec22537e1a052e89a26a188979095b1ce4de4bd8604e95a3c'} May 20 01:06:19 three inkypi[516]: 01:06:19 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:06:19 three inkypi[516]: 01:06:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:06:25 three inkypi[516]: 01:06:25 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:08:27 three inkypi[516]: 01:08:27 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:08:27 May 20 01:08:27 three inkypi[516]: 01:08:27 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 01:08:27 three inkypi[516]: 01:08:27 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 01:08:27 three inkypi[516]: 01:08:27 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T01:08:27.723547-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 01:08:27 three inkypi[516]: 01:08:27 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:08:28 three inkypi[516]: 01:08:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:08:34 three inkypi[516]: 01:08:34 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:10:36 three inkypi[516]: 01:10:36 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:10:36 May 20 01:10:36 three inkypi[516]: 01:10:36 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 01:10:36 three inkypi[516]: 01:10:36 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 01:10:37 three inkypi[516]: 01:10:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T01:10:36.923249-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 01:10:37 three inkypi[516]: 01:10:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:10:37 three inkypi[516]: 01:10:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:10:43 three inkypi[516]: 01:10:43 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:12:45 three inkypi[516]: 01:12:45 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:12:45 May 20 01:12:45 three inkypi[516]: 01:12:45 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 01:12:45 three inkypi[516]: 01:12:45 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 20 01:13:34 three inkypi[516]: 01:13:34 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T01:12:45.823322-07:00', 'image_hash': 'b81a2da06433edb6b5c0670fe1bd1d463aa1e31333cec4e4267e34a7dcf0dbeb'} May 20 01:13:34 three inkypi[516]: 01:13:34 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:13:35 three inkypi[516]: 01:13:35 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:13:41 three inkypi[516]: 01:13:41 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:15:43 three inkypi[516]: 01:15:43 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:15:43 May 20 01:15:43 three inkypi[516]: 01:15:43 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 01:15:43 three inkypi[516]: 01:15:43 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 01:15:44 three inkypi[516]: 01:15:44 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T01:15:43.850763-07:00', 'image_hash': 'ea23560b54df7db6f33ba769f631b7f9c50374234da3c85c6fc5b4bfb0f1f886'} May 20 01:15:44 three inkypi[516]: 01:15:44 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:15:45 three inkypi[516]: 01:15:45 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:15:51 three inkypi[516]: 01:15:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:17:53 three inkypi[516]: 01:17:53 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:17:53 May 20 01:17:53 three inkypi[516]: 01:17:53 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 01:17:53 three inkypi[516]: 01:17:53 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 20 01:17:53 three inkypi[516]: 01:17:53 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 20 01:17:53 three inkypi[516]: 01:17:53 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 20 01:17:53 three inkypi[516]: 01:17:53 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 20 01:17:53 three inkypi[516]: 01:17:53 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 20 01:17:53 three inkypi[516]: 01:17:53 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 20 01:17:53 three inkypi[516]: 01:17:53 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 20 01:17:53 three inkypi[516]: 01:17:53 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 20 01:17:53 three inkypi[516]: 01:17:53 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 20 01:17:57 three inkypi[516]: 01:17:57 - INFO - plugins.my_day.my_day - Found 0 task lists May 20 01:17:57 three inkypi[516]: 01:17:57 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 20 01:18:16 three inkypi[516]: 01:18:16 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T01:17:53.723251-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 01:18:16 three inkypi[516]: 01:18:16 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:18:16 three inkypi[516]: 01:18:16 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:18:22 three inkypi[516]: 01:18:22 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:20:25 three inkypi[516]: 01:20:25 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:20:25 May 20 01:20:25 three inkypi[516]: 01:20:25 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 01:20:25 three inkypi[516]: 01:20:25 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 01:20:25 three inkypi[516]: 01:20:25 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T01:20:25.061105-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 01:20:25 three inkypi[516]: 01:20:25 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:20:25 three inkypi[516]: 01:20:25 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:20:31 three inkypi[516]: 01:20:31 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:22:33 three inkypi[516]: 01:22:33 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:22:33 May 20 01:22:33 three inkypi[516]: 01:22:33 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 01:22:33 three inkypi[516]: 01:22:33 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 01:22:34 three inkypi[516]: 01:22:34 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T01:22:33.924441-07:00', 'image_hash': 'b81a2da06433edb6b5c0670fe1bd1d463aa1e31333cec4e4267e34a7dcf0dbeb'} May 20 01:22:34 three inkypi[516]: 01:22:34 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:22:34 three inkypi[516]: 01:22:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:22:41 three inkypi[516]: 01:22:41 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:24:43 three inkypi[516]: 01:24:43 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:24:43 May 20 01:24:43 three inkypi[516]: 01:24:43 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 01:24:43 three inkypi[516]: 01:24:43 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 01:24:44 three inkypi[516]: 01:24:44 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T01:24:43.323721-07:00', 'image_hash': 'a655264ecb68e2ce7b2dc1691cbbdafe835a0b91d9442dff1e0ddb8cc74ef0ea'} May 20 01:24:44 three inkypi[516]: 01:24:44 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:24:44 three inkypi[516]: 01:24:44 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:24:51 three inkypi[516]: 01:24:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:26:53 three inkypi[516]: 01:26:53 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:26:53 May 20 01:26:53 three inkypi[516]: 01:26:53 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 01:26:53 three inkypi[516]: 01:26:53 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 01:26:53 three inkypi[516]: 01:26:53 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T01:26:53.123595-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 01:26:53 three inkypi[516]: 01:26:53 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:26:53 three inkypi[516]: 01:26:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:27:00 three inkypi[516]: 01:27:00 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:29:02 three inkypi[516]: 01:29:02 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:29:02 May 20 01:29:02 three inkypi[516]: 01:29:02 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 01:29:02 three inkypi[516]: 01:29:02 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 01:29:02 three inkypi[516]: 01:29:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T01:29:02.323374-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 01:29:02 three inkypi[516]: 01:29:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:29:03 three inkypi[516]: 01:29:03 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:29:09 three inkypi[516]: 01:29:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:31:11 three inkypi[516]: 01:31:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:31:11 May 20 01:31:11 three inkypi[516]: 01:31:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 01:31:11 three inkypi[516]: 01:31:11 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 01:31:11 three inkypi[516]: 01:31:11 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T01:31:11.723627-07:00', 'image_hash': 'b81a2da06433edb6b5c0670fe1bd1d463aa1e31333cec4e4267e34a7dcf0dbeb'} May 20 01:31:11 three inkypi[516]: 01:31:11 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:31:12 three inkypi[516]: 01:31:12 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:31:18 three inkypi[516]: 01:31:18 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:33:20 three inkypi[516]: 01:33:20 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:33:20 May 20 01:33:20 three inkypi[516]: 01:33:20 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 01:33:20 three inkypi[516]: 01:33:20 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 01:33:21 three inkypi[516]: 01:33:21 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T01:33:20.723428-07:00', 'image_hash': '4a397a5f3cd11d514dbd809eaa2c637c2ed0f9b4ea4818389ddf41315af34a96'} May 20 01:33:21 three inkypi[516]: 01:33:21 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:33:21 three inkypi[516]: 01:33:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:33:28 three inkypi[516]: 01:33:28 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:35:30 three inkypi[516]: 01:35:30 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:35:30 May 20 01:35:30 three inkypi[516]: 01:35:30 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 01:35:30 three inkypi[516]: 01:35:30 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 01:35:30 three inkypi[516]: 01:35:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T01:35:30.223914-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 01:35:30 three inkypi[516]: 01:35:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:35:30 three inkypi[516]: 01:35:30 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:35:37 three inkypi[516]: 01:35:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:37:39 three inkypi[516]: 01:37:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:37:39 May 20 01:37:39 three inkypi[516]: 01:37:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 01:37:39 three inkypi[516]: 01:37:39 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 01:37:39 three inkypi[516]: 01:37:39 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T01:37:39.521285-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 01:37:39 three inkypi[516]: 01:37:39 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:37:40 three inkypi[516]: 01:37:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:37:46 three inkypi[516]: 01:37:46 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:39:48 three inkypi[516]: 01:39:48 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:39:48 May 20 01:39:48 three inkypi[516]: 01:39:48 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 01:39:48 three inkypi[516]: 01:39:48 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 01:39:48 three inkypi[516]: 01:39:48 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T01:39:48.823092-07:00', 'image_hash': 'b81a2da06433edb6b5c0670fe1bd1d463aa1e31333cec4e4267e34a7dcf0dbeb'} May 20 01:39:48 three inkypi[516]: 01:39:48 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:39:49 three inkypi[516]: 01:39:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:39:56 three inkypi[516]: 01:39:56 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:41:58 three inkypi[516]: 01:41:58 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:41:58 May 20 01:41:58 three inkypi[516]: 01:41:58 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 01:41:58 three inkypi[516]: 01:41:58 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 01:41:59 three inkypi[516]: 01:41:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T01:41:58.421329-07:00', 'image_hash': '8214536c311595d1fb2e1ea21e41d5f226d73428b1bd98673100a99854bd9102'} May 20 01:41:59 three inkypi[516]: 01:41:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:41:59 three inkypi[516]: 01:41:59 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:42:06 three inkypi[516]: 01:42:06 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:44:08 three inkypi[516]: 01:44:08 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:44:08 May 20 01:44:08 three inkypi[516]: 01:44:08 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 01:44:08 three inkypi[516]: 01:44:08 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 01:44:08 three inkypi[516]: 01:44:08 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T01:44:08.129152-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 01:44:08 three inkypi[516]: 01:44:08 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:44:08 three inkypi[516]: 01:44:08 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:44:14 three inkypi[516]: 01:44:14 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:46:16 three inkypi[516]: 01:46:16 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:46:16 May 20 01:46:16 three inkypi[516]: 01:46:16 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 01:46:16 three inkypi[516]: 01:46:16 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 01:46:17 three inkypi[516]: 01:46:17 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T01:46:16.923487-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 01:46:17 three inkypi[516]: 01:46:17 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:46:17 three inkypi[516]: 01:46:17 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:46:24 three inkypi[516]: 01:46:24 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:48:26 three inkypi[516]: 01:48:26 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:48:26 May 20 01:48:26 three inkypi[516]: 01:48:26 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 01:48:26 three inkypi[516]: 01:48:26 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 20 01:49:18 three inkypi[516]: 01:49:18 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T01:48:26.123158-07:00', 'image_hash': '458b99277b8b5c3cbad77bbad623dbc7e39aa0dd389df195eddc34573d41f9c0'} May 20 01:49:18 three inkypi[516]: 01:49:18 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:49:19 three inkypi[516]: 01:49:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:49:26 three inkypi[516]: 01:49:26 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:51:28 three inkypi[516]: 01:51:28 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:51:28 May 20 01:51:28 three inkypi[516]: 01:51:28 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 01:51:28 three inkypi[516]: 01:51:28 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 01:51:28 three inkypi[516]: 01:51:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T01:51:28.254223-07:00', 'image_hash': 'e5a0114713ed92f79bc3fabb5274f0d4f03d69a9a1ed0dac1cd09adb4c4011d6'} May 20 01:51:28 three inkypi[516]: 01:51:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:51:29 three inkypi[516]: 01:51:29 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:51:36 three inkypi[516]: 01:51:36 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:53:38 three inkypi[516]: 01:53:38 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:53:38 May 20 01:53:38 three inkypi[516]: 01:53:38 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 01:53:38 three inkypi[516]: 01:53:38 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 01:53:38 three inkypi[516]: 01:53:38 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T01:53:38.123846-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 01:53:38 three inkypi[516]: 01:53:38 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:53:38 three inkypi[516]: 01:53:38 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:53:44 three inkypi[516]: 01:53:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:55:46 three inkypi[516]: 01:55:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:55:46 May 20 01:55:46 three inkypi[516]: 01:55:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 01:55:46 three inkypi[516]: 01:55:46 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 20 01:56:37 three inkypi[516]: 01:56:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T01:55:46.923034-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 01:56:37 three inkypi[516]: 01:56:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:56:37 three inkypi[516]: 01:56:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:56:44 three inkypi[516]: 01:56:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 01:58:46 three inkypi[516]: 01:58:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 01:58:46 May 20 01:58:46 three inkypi[516]: 01:58:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 01:58:46 three inkypi[516]: 01:58:46 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 01:58:46 three inkypi[516]: 01:58:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T01:58:46.264149-07:00', 'image_hash': '458b99277b8b5c3cbad77bbad623dbc7e39aa0dd389df195eddc34573d41f9c0'} May 20 01:58:46 three inkypi[516]: 01:58:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 01:58:47 three inkypi[516]: 01:58:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 01:58:53 three inkypi[516]: 01:58:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:00:55 three inkypi[516]: 02:00:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:00:55 May 20 02:00:55 three inkypi[516]: 02:00:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 02:00:55 three inkypi[516]: 02:00:55 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 02:00:56 three inkypi[516]: 02:00:56 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T02:00:55.823539-07:00', 'image_hash': '0550dc25d920137569ddd23cefc4c766997e2c265cb53af343bc9e5a4e96f655'} May 20 02:00:56 three inkypi[516]: 02:00:56 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:00:57 three inkypi[516]: 02:00:57 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:01:03 three inkypi[516]: 02:01:03 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:03:05 three inkypi[516]: 02:03:05 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:03:05 May 20 02:03:05 three inkypi[516]: 02:03:05 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 02:03:05 three inkypi[516]: 02:03:05 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 02:03:05 three inkypi[516]: 02:03:05 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T02:03:05.523577-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 02:03:05 three inkypi[516]: 02:03:05 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:03:06 three inkypi[516]: 02:03:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:03:12 three inkypi[516]: 02:03:12 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:05:14 three inkypi[516]: 02:05:14 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:05:14 May 20 02:05:14 three inkypi[516]: 02:05:14 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 02:05:14 three inkypi[516]: 02:05:14 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 02:05:14 three inkypi[516]: 02:05:14 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T02:05:14.823279-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 02:05:14 three inkypi[516]: 02:05:14 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:05:15 three inkypi[516]: 02:05:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:05:21 three inkypi[516]: 02:05:21 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:07:23 three inkypi[516]: 02:07:23 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:07:23 May 20 02:07:23 three inkypi[516]: 02:07:23 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 02:07:23 three inkypi[516]: 02:07:23 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 02:07:24 three inkypi[516]: 02:07:24 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T02:07:23.923824-07:00', 'image_hash': '458b99277b8b5c3cbad77bbad623dbc7e39aa0dd389df195eddc34573d41f9c0'} May 20 02:07:24 three inkypi[516]: 02:07:24 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:07:24 three inkypi[516]: 02:07:24 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:07:30 three inkypi[516]: 02:07:30 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:09:32 three inkypi[516]: 02:09:32 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:09:32 May 20 02:09:32 three inkypi[516]: 02:09:32 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 02:09:32 three inkypi[516]: 02:09:32 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 02:09:33 three inkypi[516]: 02:09:33 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T02:09:32.923581-07:00', 'image_hash': 'bce45a210e809d394bb71957359cbb5a2236b89932a0ae9e717eb1e6caeb706b'} May 20 02:09:33 three inkypi[516]: 02:09:33 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:09:33 three inkypi[516]: 02:09:33 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:09:40 three inkypi[516]: 02:09:40 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:11:42 three inkypi[516]: 02:11:42 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:11:42 May 20 02:11:42 three inkypi[516]: 02:11:42 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 02:11:42 three inkypi[516]: 02:11:42 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 02:11:42 three inkypi[516]: 02:11:42 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T02:11:42.123647-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 02:11:42 three inkypi[516]: 02:11:42 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:11:42 three inkypi[516]: 02:11:42 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:11:49 three inkypi[516]: 02:11:49 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:13:51 three inkypi[516]: 02:13:51 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:13:51 May 20 02:13:51 three inkypi[516]: 02:13:51 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 02:13:51 three inkypi[516]: 02:13:51 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 02:13:51 three inkypi[516]: 02:13:51 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T02:13:51.423063-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 02:13:51 three inkypi[516]: 02:13:51 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:13:52 three inkypi[516]: 02:13:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:13:58 three inkypi[516]: 02:13:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:16:00 three inkypi[516]: 02:16:00 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:16:00 May 20 02:16:00 three inkypi[516]: 02:16:00 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 02:16:00 three inkypi[516]: 02:16:00 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 02:16:00 three inkypi[516]: 02:16:00 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T02:16:00.821394-07:00', 'image_hash': '458b99277b8b5c3cbad77bbad623dbc7e39aa0dd389df195eddc34573d41f9c0'} May 20 02:16:00 three inkypi[516]: 02:16:00 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:16:01 three inkypi[516]: 02:16:01 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:16:07 three inkypi[516]: 02:16:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:18:09 three inkypi[516]: 02:18:09 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:18:09 May 20 02:18:09 three inkypi[516]: 02:18:09 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 02:18:09 three inkypi[516]: 02:18:09 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 02:18:10 three inkypi[516]: 02:18:10 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T02:18:09.823251-07:00', 'image_hash': 'b3e6a32ed0ffd69ba656aaf778eeb68dac04eba7e8d2cf352a53fa5b310d73e4'} May 20 02:18:10 three inkypi[516]: 02:18:10 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:18:10 three inkypi[516]: 02:18:10 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:18:16 three inkypi[516]: 02:18:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:20:19 three inkypi[516]: 02:20:19 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:20:19 May 20 02:20:19 three inkypi[516]: 02:20:19 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 02:20:19 three inkypi[516]: 02:20:19 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 20 02:20:19 three inkypi[516]: 02:20:19 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 20 02:20:19 three inkypi[516]: 02:20:19 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 20 02:20:19 three inkypi[516]: 02:20:19 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 20 02:20:19 three inkypi[516]: 02:20:19 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 20 02:20:19 three inkypi[516]: 02:20:19 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 20 02:20:19 three inkypi[516]: 02:20:19 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 20 02:20:19 three inkypi[516]: 02:20:19 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 20 02:20:19 three inkypi[516]: 02:20:19 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 20 02:20:22 three inkypi[516]: 02:20:22 - INFO - plugins.my_day.my_day - Found 0 task lists May 20 02:20:22 three inkypi[516]: 02:20:22 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 20 02:20:43 three inkypi[516]: 02:20:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T02:20:19.023668-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 02:20:43 three inkypi[516]: 02:20:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:20:44 three inkypi[516]: 02:20:44 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:20:50 three inkypi[516]: 02:20:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:22:52 three inkypi[516]: 02:22:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:22:52 May 20 02:22:52 three inkypi[516]: 02:22:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 02:22:52 three inkypi[516]: 02:22:52 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 02:22:52 three inkypi[516]: 02:22:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T02:22:52.456693-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 02:22:52 three inkypi[516]: 02:22:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:22:53 three inkypi[516]: 02:22:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:22:59 three inkypi[516]: 02:22:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:25:01 three inkypi[516]: 02:25:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:25:01 May 20 02:25:01 three inkypi[516]: 02:25:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 02:25:01 three inkypi[516]: 02:25:01 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 20 02:25:47 three inkypi[516]: 02:25:47 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T02:25:01.323609-07:00', 'image_hash': '7e7a8a1434ca2b52414159a11665b9c22ff6936a9a400b1a50f8853e959302da'} May 20 02:25:47 three inkypi[516]: 02:25:47 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:25:48 three inkypi[516]: 02:25:48 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:25:54 three inkypi[516]: 02:25:54 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:27:56 three inkypi[516]: 02:27:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:27:56 May 20 02:27:56 three inkypi[516]: 02:27:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 02:27:56 three inkypi[516]: 02:27:56 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 02:27:57 three inkypi[516]: 02:27:57 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T02:27:56.943327-07:00', 'image_hash': '9b98239f542ac4c7e2b44b466d80085eeae3231433cbc5bc5afbe28031142e01'} May 20 02:27:57 three inkypi[516]: 02:27:57 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:27:58 three inkypi[516]: 02:27:58 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:28:04 three inkypi[516]: 02:28:04 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:30:06 three inkypi[516]: 02:30:06 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:30:06 May 20 02:30:06 three inkypi[516]: 02:30:06 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 02:30:06 three inkypi[516]: 02:30:06 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 02:30:07 three inkypi[516]: 02:30:07 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T02:30:06.923624-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 02:30:07 three inkypi[516]: 02:30:07 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:30:07 three inkypi[516]: 02:30:07 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:30:14 three inkypi[516]: 02:30:14 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:32:16 three inkypi[516]: 02:32:16 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:32:16 May 20 02:32:16 three inkypi[516]: 02:32:16 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 02:32:16 three inkypi[516]: 02:32:16 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 02:32:16 three inkypi[516]: 02:32:16 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T02:32:16.123344-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 02:32:16 three inkypi[516]: 02:32:16 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:32:16 three inkypi[516]: 02:32:16 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:32:23 three inkypi[516]: 02:32:23 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:34:25 three inkypi[516]: 02:34:25 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:34:25 May 20 02:34:25 three inkypi[516]: 02:34:25 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 02:34:25 three inkypi[516]: 02:34:25 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 02:34:25 three inkypi[516]: 02:34:25 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T02:34:25.523351-07:00', 'image_hash': '7e7a8a1434ca2b52414159a11665b9c22ff6936a9a400b1a50f8853e959302da'} May 20 02:34:25 three inkypi[516]: 02:34:25 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:34:26 three inkypi[516]: 02:34:26 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:34:32 three inkypi[516]: 02:34:32 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:36:34 three inkypi[516]: 02:36:34 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:36:34 May 20 02:36:34 three inkypi[516]: 02:36:34 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 02:36:34 three inkypi[516]: 02:36:34 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 02:36:35 three inkypi[516]: 02:36:35 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T02:36:34.523601-07:00', 'image_hash': '284d8dd5d82790e4eaaf9d013f6f48479841a8457c76c9b7825e6d1c9aa4cd57'} May 20 02:36:35 three inkypi[516]: 02:36:35 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:36:35 three inkypi[516]: 02:36:35 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:36:42 three inkypi[516]: 02:36:42 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:38:44 three inkypi[516]: 02:38:44 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:38:44 May 20 02:38:44 three inkypi[516]: 02:38:44 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 02:38:44 three inkypi[516]: 02:38:44 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 02:38:44 three inkypi[516]: 02:38:44 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T02:38:44.423492-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 02:38:44 three inkypi[516]: 02:38:44 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:38:45 three inkypi[516]: 02:38:45 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:38:51 three inkypi[516]: 02:38:51 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:40:53 three inkypi[516]: 02:40:53 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:40:53 May 20 02:40:53 three inkypi[516]: 02:40:53 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 02:40:53 three inkypi[516]: 02:40:53 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 02:40:53 three inkypi[516]: 02:40:53 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T02:40:53.623622-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 02:40:53 three inkypi[516]: 02:40:53 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:40:54 three inkypi[516]: 02:40:54 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:41:00 three inkypi[516]: 02:41:00 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:43:03 three inkypi[516]: 02:43:03 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:43:03 May 20 02:43:03 three inkypi[516]: 02:43:03 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 02:43:03 three inkypi[516]: 02:43:03 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 02:43:03 three inkypi[516]: 02:43:03 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T02:43:03.023051-07:00', 'image_hash': '7e7a8a1434ca2b52414159a11665b9c22ff6936a9a400b1a50f8853e959302da'} May 20 02:43:03 three inkypi[516]: 02:43:03 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:43:03 three inkypi[516]: 02:43:03 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:43:10 three inkypi[516]: 02:43:10 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:45:12 three inkypi[516]: 02:45:12 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:45:12 May 20 02:45:12 three inkypi[516]: 02:45:12 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 02:45:12 three inkypi[516]: 02:45:12 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 02:45:13 three inkypi[516]: 02:45:13 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T02:45:12.523320-07:00', 'image_hash': '48fd05b6c3c0e9ef3f12162ce7423cb13db18e5bc714646be79ac3fc304feefc'} May 20 02:45:13 three inkypi[516]: 02:45:13 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:45:13 three inkypi[516]: 02:45:13 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:45:20 three inkypi[516]: 02:45:20 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:47:22 three inkypi[516]: 02:47:22 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:47:22 May 20 02:47:22 three inkypi[516]: 02:47:22 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 02:47:22 three inkypi[516]: 02:47:22 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 02:47:22 three inkypi[516]: 02:47:22 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T02:47:22.223209-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 02:47:22 three inkypi[516]: 02:47:22 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:47:22 three inkypi[516]: 02:47:22 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:47:29 three inkypi[516]: 02:47:29 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:49:31 three inkypi[516]: 02:49:31 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:49:31 May 20 02:49:31 three inkypi[516]: 02:49:31 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 02:49:31 three inkypi[516]: 02:49:31 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 02:49:31 three inkypi[516]: 02:49:31 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T02:49:31.423201-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 02:49:31 three inkypi[516]: 02:49:31 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:49:32 three inkypi[516]: 02:49:32 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:49:38 three inkypi[516]: 02:49:38 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:51:40 three inkypi[516]: 02:51:40 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:51:40 May 20 02:51:40 three inkypi[516]: 02:51:40 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 02:51:40 three inkypi[516]: 02:51:40 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 02:51:40 three inkypi[516]: 02:51:40 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T02:51:40.323192-07:00', 'image_hash': '7e7a8a1434ca2b52414159a11665b9c22ff6936a9a400b1a50f8853e959302da'} May 20 02:51:40 three inkypi[516]: 02:51:40 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:51:41 three inkypi[516]: 02:51:41 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:51:47 three inkypi[516]: 02:51:47 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:53:49 three inkypi[516]: 02:53:49 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:53:49 May 20 02:53:49 three inkypi[516]: 02:53:49 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 02:53:49 three inkypi[516]: 02:53:49 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 02:53:50 three inkypi[516]: 02:53:50 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T02:53:49.722907-07:00', 'image_hash': '0276635ba58213e83c6f04d3944cb764e1762a9e9db9a2ad3b579de846f00c62'} May 20 02:53:50 three inkypi[516]: 02:53:50 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:53:50 three inkypi[516]: 02:53:50 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:53:57 three inkypi[516]: 02:53:57 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:55:59 three inkypi[516]: 02:55:59 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:55:59 May 20 02:55:59 three inkypi[516]: 02:55:59 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 02:55:59 three inkypi[516]: 02:55:59 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 02:55:59 three inkypi[516]: 02:55:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T02:55:59.523040-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 02:55:59 three inkypi[516]: 02:55:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:56:00 three inkypi[516]: 02:56:00 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:56:06 three inkypi[516]: 02:56:06 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 02:58:08 three inkypi[516]: 02:58:08 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 02:58:08 May 20 02:58:08 three inkypi[516]: 02:58:08 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 02:58:08 three inkypi[516]: 02:58:08 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 20 02:58:52 three inkypi[516]: 02:58:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T02:58:08.323486-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 02:58:52 three inkypi[516]: 02:58:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 02:58:52 three inkypi[516]: 02:58:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 02:58:58 three inkypi[516]: 02:58:58 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:01:01 three inkypi[516]: 03:01:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:01:01 May 20 03:01:01 three inkypi[516]: 03:01:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 03:01:01 three inkypi[516]: 03:01:01 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 20 03:01:52 three inkypi[516]: 03:01:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T03:01:01.057236-07:00', 'image_hash': '442f2042124b3c1d542ee17add986d1b7a8b83c383c16daf712708edd47f6c16'} May 20 03:01:52 three inkypi[516]: 03:01:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:01:52 three inkypi[516]: 03:01:52 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:01:59 three inkypi[516]: 03:01:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:04:01 three inkypi[516]: 03:04:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:04:01 May 20 03:04:01 three inkypi[516]: 03:04:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 03:04:01 three inkypi[516]: 03:04:01 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 03:04:02 three inkypi[516]: 03:04:02 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T03:04:01.256167-07:00', 'image_hash': '7f83a760329bdda93a357f37de5fe1eb72d6aff9fbe910bc74faea23f49da965'} May 20 03:04:02 three inkypi[516]: 03:04:02 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:04:02 three inkypi[516]: 03:04:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:04:09 three inkypi[516]: 03:04:09 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:06:11 three inkypi[516]: 03:06:11 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:06:11 May 20 03:06:11 three inkypi[516]: 03:06:11 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 03:06:11 three inkypi[516]: 03:06:11 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 03:06:11 three inkypi[516]: 03:06:11 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T03:06:11.323605-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 03:06:11 three inkypi[516]: 03:06:11 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:06:11 three inkypi[516]: 03:06:11 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:06:18 three inkypi[516]: 03:06:18 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:08:20 three inkypi[516]: 03:08:20 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:08:20 May 20 03:08:20 three inkypi[516]: 03:08:20 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 03:08:20 three inkypi[516]: 03:08:20 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 03:08:20 three inkypi[516]: 03:08:20 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T03:08:20.523098-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 03:08:20 three inkypi[516]: 03:08:20 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:08:21 three inkypi[516]: 03:08:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:08:27 three inkypi[516]: 03:08:27 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:10:29 three inkypi[516]: 03:10:29 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:10:29 May 20 03:10:29 three inkypi[516]: 03:10:29 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 03:10:29 three inkypi[516]: 03:10:29 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 03:10:30 three inkypi[516]: 03:10:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T03:10:29.923624-07:00', 'image_hash': '442f2042124b3c1d542ee17add986d1b7a8b83c383c16daf712708edd47f6c16'} May 20 03:10:30 three inkypi[516]: 03:10:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:10:30 three inkypi[516]: 03:10:30 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:10:37 three inkypi[516]: 03:10:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:12:39 three inkypi[516]: 03:12:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:12:39 May 20 03:12:39 three inkypi[516]: 03:12:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 03:12:39 three inkypi[516]: 03:12:39 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 03:12:39 three inkypi[516]: 03:12:39 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T03:12:39.423481-07:00', 'image_hash': '3730fbc483de2609ebe0ef75e53292ce2425e1de2a67570a9bb4a518225cca44'} May 20 03:12:39 three inkypi[516]: 03:12:39 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:12:40 three inkypi[516]: 03:12:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:12:46 three inkypi[516]: 03:12:46 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:14:48 three inkypi[516]: 03:14:48 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:14:48 May 20 03:14:48 three inkypi[516]: 03:14:48 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 03:14:48 three inkypi[516]: 03:14:48 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 03:14:48 three inkypi[516]: 03:14:48 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T03:14:48.622959-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 03:14:48 three inkypi[516]: 03:14:48 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:14:49 three inkypi[516]: 03:14:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:14:55 three inkypi[516]: 03:14:55 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:16:57 three inkypi[516]: 03:16:57 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:16:57 May 20 03:16:57 three inkypi[516]: 03:16:57 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 03:16:57 three inkypi[516]: 03:16:57 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 03:16:57 three inkypi[516]: 03:16:57 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T03:16:57.823520-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 03:16:57 three inkypi[516]: 03:16:57 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:16:58 three inkypi[516]: 03:16:58 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:17:04 three inkypi[516]: 03:17:04 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:19:06 three inkypi[516]: 03:19:06 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:19:06 May 20 03:19:06 three inkypi[516]: 03:19:06 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 03:19:06 three inkypi[516]: 03:19:06 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 03:19:06 three inkypi[516]: 03:19:06 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T03:19:06.723694-07:00', 'image_hash': '442f2042124b3c1d542ee17add986d1b7a8b83c383c16daf712708edd47f6c16'} May 20 03:19:06 three inkypi[516]: 03:19:06 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:19:07 three inkypi[516]: 03:19:07 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:19:14 three inkypi[516]: 03:19:14 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:21:16 three inkypi[516]: 03:21:16 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:21:16 May 20 03:21:16 three inkypi[516]: 03:21:16 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 03:21:16 three inkypi[516]: 03:21:16 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 03:21:16 three inkypi[516]: 03:21:16 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T03:21:16.223441-07:00', 'image_hash': '1c46b29939a46538a34c282a14843d355b0ac6e8fafa4c6529ec25ef4559b421'} May 20 03:21:16 three inkypi[516]: 03:21:16 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:21:17 three inkypi[516]: 03:21:17 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:21:23 three inkypi[516]: 03:21:23 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:23:25 three inkypi[516]: 03:23:25 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:23:25 May 20 03:23:25 three inkypi[516]: 03:23:25 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 03:23:25 three inkypi[516]: 03:23:25 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 20 03:23:25 three inkypi[516]: 03:23:25 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 20 03:23:25 three inkypi[516]: 03:23:25 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 20 03:23:25 three inkypi[516]: 03:23:25 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 20 03:23:25 three inkypi[516]: 03:23:25 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 20 03:23:25 three inkypi[516]: 03:23:25 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 20 03:23:25 three inkypi[516]: 03:23:25 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 20 03:23:25 three inkypi[516]: 03:23:25 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 20 03:23:25 three inkypi[516]: 03:23:25 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 20 03:23:29 three inkypi[516]: 03:23:29 - INFO - plugins.my_day.my_day - Found 0 task lists May 20 03:23:29 three inkypi[516]: 03:23:29 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: [] May 20 03:23:50 three inkypi[516]: 03:23:50 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T03:23:25.723607-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 03:23:50 three inkypi[516]: 03:23:50 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:23:51 three inkypi[516]: 03:23:51 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:23:57 three inkypi[516]: 03:23:57 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:25:59 three inkypi[516]: 03:25:59 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:25:59 May 20 03:25:59 three inkypi[516]: 03:25:59 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 03:25:59 three inkypi[516]: 03:25:59 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 03:26:00 three inkypi[516]: 03:26:00 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T03:25:59.856596-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 03:26:00 three inkypi[516]: 03:26:00 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:26:00 three inkypi[516]: 03:26:00 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:26:07 three inkypi[516]: 03:26:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:28:09 three inkypi[516]: 03:28:09 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:28:09 May 20 03:28:09 three inkypi[516]: 03:28:09 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 03:28:09 three inkypi[516]: 03:28:09 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 03:28:09 three inkypi[516]: 03:28:09 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T03:28:09.223290-07:00', 'image_hash': '442f2042124b3c1d542ee17add986d1b7a8b83c383c16daf712708edd47f6c16'} May 20 03:28:09 three inkypi[516]: 03:28:09 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:28:09 three inkypi[516]: 03:28:09 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:28:16 three inkypi[516]: 03:28:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:30:18 three inkypi[516]: 03:30:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:30:18 May 20 03:30:18 three inkypi[516]: 03:30:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 03:30:18 three inkypi[516]: 03:30:18 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 03:30:18 three inkypi[516]: 03:30:18 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T03:30:18.223070-07:00', 'image_hash': 'a84d687de3d76af570348d73f41d2653f7a0052e72e3f717d6b7c36072289c1f'} May 20 03:30:18 three inkypi[516]: 03:30:18 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:30:19 three inkypi[516]: 03:30:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:30:26 three inkypi[516]: 03:30:26 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:32:28 three inkypi[516]: 03:32:28 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:32:28 May 20 03:32:28 three inkypi[516]: 03:32:28 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 03:32:28 three inkypi[516]: 03:32:28 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 03:32:28 three inkypi[516]: 03:32:28 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T03:32:28.221033-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 03:32:28 three inkypi[516]: 03:32:28 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:32:28 three inkypi[516]: 03:32:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:32:35 three inkypi[516]: 03:32:35 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:34:37 three inkypi[516]: 03:34:37 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:34:37 May 20 03:34:37 three inkypi[516]: 03:34:37 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 03:34:37 three inkypi[516]: 03:34:37 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 03:34:37 three inkypi[516]: 03:34:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T03:34:37.323034-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 03:34:37 three inkypi[516]: 03:34:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:34:37 three inkypi[516]: 03:34:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:34:44 three inkypi[516]: 03:34:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:36:46 three inkypi[516]: 03:36:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:36:46 May 20 03:36:46 three inkypi[516]: 03:36:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 03:36:46 three inkypi[516]: 03:36:46 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 20 03:37:37 three inkypi[516]: 03:37:37 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T03:36:46.223076-07:00', 'image_hash': '201a57b9d31c4987f34c7761183deba92c0029866acb14bfe09de9b15bd09c10'} May 20 03:37:37 three inkypi[516]: 03:37:37 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:37:38 three inkypi[516]: 03:37:38 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:37:45 three inkypi[516]: 03:37:45 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:39:47 three inkypi[516]: 03:39:47 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:39:47 May 20 03:39:47 three inkypi[516]: 03:39:47 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 03:39:47 three inkypi[516]: 03:39:47 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 03:39:47 three inkypi[516]: 03:39:47 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T03:39:47.261387-07:00', 'image_hash': '2ce38fc8ad395efd5c74130baf64ff15c5a3e8f51b38efd85173ec4efbc12dab'} May 20 03:39:47 three inkypi[516]: 03:39:47 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:39:48 three inkypi[516]: 03:39:48 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:39:54 three inkypi[516]: 03:39:54 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:41:56 three inkypi[516]: 03:41:56 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:41:56 May 20 03:41:56 three inkypi[516]: 03:41:56 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 03:41:56 three inkypi[516]: 03:41:56 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 03:41:56 three inkypi[516]: 03:41:56 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T03:41:56.723452-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 03:41:56 three inkypi[516]: 03:41:56 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:41:57 three inkypi[516]: 03:41:57 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:42:03 three inkypi[516]: 03:42:03 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:44:06 three inkypi[516]: 03:44:06 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:44:06 May 20 03:44:06 three inkypi[516]: 03:44:06 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 03:44:06 three inkypi[516]: 03:44:06 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 03:44:06 three inkypi[516]: 03:44:06 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T03:44:06.021377-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 03:44:06 three inkypi[516]: 03:44:06 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:44:06 three inkypi[516]: 03:44:06 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:44:12 three inkypi[516]: 03:44:12 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:46:14 three inkypi[516]: 03:46:14 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:46:14 May 20 03:46:14 three inkypi[516]: 03:46:14 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 03:46:14 three inkypi[516]: 03:46:14 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 03:46:15 three inkypi[516]: 03:46:15 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T03:46:14.923989-07:00', 'image_hash': '201a57b9d31c4987f34c7761183deba92c0029866acb14bfe09de9b15bd09c10'} May 20 03:46:15 three inkypi[516]: 03:46:15 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:46:15 three inkypi[516]: 03:46:15 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:46:22 three inkypi[516]: 03:46:22 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:48:24 three inkypi[516]: 03:48:24 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:48:24 May 20 03:48:24 three inkypi[516]: 03:48:24 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 03:48:24 three inkypi[516]: 03:48:24 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 03:48:25 three inkypi[516]: 03:48:25 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T03:48:24.423657-07:00', 'image_hash': '7283a56d5aaadd778b00272ec6e5acb5809f02aef8901e501218b1ffa91be401'} May 20 03:48:25 three inkypi[516]: 03:48:25 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:48:25 three inkypi[516]: 03:48:25 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:48:32 three inkypi[516]: 03:48:32 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:50:34 three inkypi[516]: 03:50:34 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:50:34 May 20 03:50:34 three inkypi[516]: 03:50:34 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 03:50:34 three inkypi[516]: 03:50:34 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 03:50:34 three inkypi[516]: 03:50:34 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T03:50:34.223671-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 03:50:34 three inkypi[516]: 03:50:34 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:50:34 three inkypi[516]: 03:50:34 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:50:41 three inkypi[516]: 03:50:41 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:52:43 three inkypi[516]: 03:52:43 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:52:43 May 20 03:52:43 three inkypi[516]: 03:52:43 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 03:52:43 three inkypi[516]: 03:52:43 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 03:52:43 three inkypi[516]: 03:52:43 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T03:52:43.323667-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 03:52:43 three inkypi[516]: 03:52:43 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:52:44 three inkypi[516]: 03:52:44 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:52:50 three inkypi[516]: 03:52:50 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:54:52 three inkypi[516]: 03:54:52 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:54:52 May 20 03:54:52 three inkypi[516]: 03:54:52 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 03:54:52 three inkypi[516]: 03:54:52 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 03:54:52 three inkypi[516]: 03:54:52 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T03:54:52.423371-07:00', 'image_hash': '201a57b9d31c4987f34c7761183deba92c0029866acb14bfe09de9b15bd09c10'} May 20 03:54:52 three inkypi[516]: 03:54:52 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:54:53 three inkypi[516]: 03:54:53 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:54:59 three inkypi[516]: 03:54:59 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:57:01 three inkypi[516]: 03:57:01 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:57:01 May 20 03:57:01 three inkypi[516]: 03:57:01 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 03:57:01 three inkypi[516]: 03:57:01 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 03:57:01 three inkypi[516]: 03:57:01 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T03:57:01.423277-07:00', 'image_hash': '9f5facb7ff716c1aa3d5d90954e42a0a6bb6cafbd9253dac8353d6b9693b0067'} May 20 03:57:01 three inkypi[516]: 03:57:01 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:57:02 three inkypi[516]: 03:57:02 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:57:08 three inkypi[516]: 03:57:08 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 03:59:10 three inkypi[516]: 03:59:10 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 03:59:10 May 20 03:59:10 three inkypi[516]: 03:59:10 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 03:59:10 three inkypi[516]: 03:59:10 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 03:59:10 three inkypi[516]: 03:59:10 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T03:59:10.624059-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 03:59:10 three inkypi[516]: 03:59:10 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 03:59:11 three inkypi[516]: 03:59:11 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 03:59:17 three inkypi[516]: 03:59:17 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 04:01:19 three inkypi[516]: 04:01:19 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 04:01:19 May 20 04:01:19 three inkypi[516]: 04:01:19 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 04:01:19 three inkypi[516]: 04:01:19 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Calendar' May 20 04:02:21 three inkypi[516]: 04:02:21 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T04:01:19.723280-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 04:02:21 three inkypi[516]: 04:02:21 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 04:02:21 three inkypi[516]: 04:02:21 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 04:02:28 three inkypi[516]: 04:02:28 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 04:04:30 three inkypi[516]: 04:04:30 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 04:04:30 May 20 04:04:30 three inkypi[516]: 04:04:30 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 04:04:30 three inkypi[516]: 04:04:30 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 04:04:30 three inkypi[516]: 04:04:30 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T04:04:30.156895-07:00', 'image_hash': '201a57b9d31c4987f34c7761183deba92c0029866acb14bfe09de9b15bd09c10'} May 20 04:04:30 three inkypi[516]: 04:04:30 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 04:04:30 three inkypi[516]: 04:04:30 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 04:04:37 three inkypi[516]: 04:04:37 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 04:06:39 three inkypi[516]: 04:06:39 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 04:06:39 May 20 04:06:39 three inkypi[516]: 04:06:39 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 04:06:39 three inkypi[516]: 04:06:39 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 04:06:39 three inkypi[516]: 04:06:39 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T04:06:39.224580-07:00', 'image_hash': '7f1cd461ea9df645d0b143efba70d13d54b8a76e35282855e8256507f06d0784'} May 20 04:06:39 three inkypi[516]: 04:06:39 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 04:06:40 three inkypi[516]: 04:06:40 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 04:06:46 three inkypi[516]: 04:06:46 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 04:08:48 three inkypi[516]: 04:08:48 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 04:08:48 May 20 04:08:48 three inkypi[516]: 04:08:48 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 04:08:48 three inkypi[516]: 04:08:48 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 04:08:48 three inkypi[516]: 04:08:48 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T04:08:48.623272-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 04:08:48 three inkypi[516]: 04:08:48 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 04:08:49 three inkypi[516]: 04:08:49 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 04:08:55 three inkypi[516]: 04:08:55 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 04:10:57 three inkypi[516]: 04:10:57 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 04:10:57 May 20 04:10:57 three inkypi[516]: 04:10:57 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 04:10:57 three inkypi[516]: 04:10:57 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 04:10:57 three inkypi[516]: 04:10:57 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T04:10:57.823245-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 04:10:57 three inkypi[516]: 04:10:57 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 04:10:58 three inkypi[516]: 04:10:58 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 04:11:05 three inkypi[516]: 04:11:05 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 04:13:07 three inkypi[516]: 04:13:07 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 04:13:07 May 20 04:13:07 three inkypi[516]: 04:13:07 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 04:13:07 three inkypi[516]: 04:13:07 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Weather' May 20 04:13:59 three inkypi[516]: 04:13:59 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T04:13:07.223254-07:00', 'image_hash': '68e98680dad58ee1252add66ca0bba0c3456b5615fe20e463521ca0f13290915'} May 20 04:13:59 three inkypi[516]: 04:13:59 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 04:14:00 three inkypi[516]: 04:14:00 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 04:14:07 three inkypi[516]: 04:14:07 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 04:16:09 three inkypi[516]: 04:16:09 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 04:16:09 May 20 04:16:09 three inkypi[516]: 04:16:09 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 04:16:09 three inkypi[516]: 04:16:09 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 04:16:09 three inkypi[516]: 04:16:09 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T04:16:09.248099-07:00', 'image_hash': 'f08762704886aa057df9b3279d17a560e62eaee372794c0dadb28ca04dd19888'} May 20 04:16:09 three inkypi[516]: 04:16:09 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 04:16:10 three inkypi[516]: 04:16:10 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 04:16:16 three inkypi[516]: 04:16:16 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 04:18:18 three inkypi[516]: 04:18:18 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 04:18:18 May 20 04:18:18 three inkypi[516]: 04:18:18 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 04:18:18 three inkypi[516]: 04:18:18 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: To Do. May 20 04:18:18 three inkypi[516]: 04:18:18 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'my_day', 'plugin_instance': 'To Do', 'refresh_time': '2026-05-20T04:18:18.723150-07:00', 'image_hash': '6fe184ae31350420f355de0908bd8ed6ab308aa1f561cbf56dc8fe92b71f3506'} May 20 04:18:18 three inkypi[516]: 04:18:18 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 04:18:19 three inkypi[516]: 04:18:19 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 04:18:25 three inkypi[516]: 04:18:25 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 04:20:27 three inkypi[516]: 04:20:27 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 04:20:27 May 20 04:20:27 three inkypi[516]: 04:20:27 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Calendar May 20 04:20:27 three inkypi[516]: 04:20:27 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Calendar. May 20 04:20:27 three inkypi[516]: 04:20:27 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'calendar', 'plugin_instance': 'Calendar', 'refresh_time': '2026-05-20T04:20:27.523636-07:00', 'image_hash': 'bc8575c2dbbd0e0e5675afa1abdf94a63fb9440599ad629ec4c205a8d0b57656'} May 20 04:20:27 three inkypi[516]: 04:20:27 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 04:20:28 three inkypi[516]: 04:20:28 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 04:20:34 three inkypi[516]: 04:20:34 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 04:22:36 three inkypi[516]: 04:22:36 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 04:22:36 May 20 04:22:36 three inkypi[516]: 04:22:36 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Weather May 20 04:22:36 three inkypi[516]: 04:22:36 - INFO - refresh_task - Not time to refresh plugin instance, using latest image. | plugin_instance: Weather. May 20 04:22:36 three inkypi[516]: 04:22:36 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'weather', 'plugin_instance': 'Weather', 'refresh_time': '2026-05-20T04:22:36.823466-07:00', 'image_hash': '68e98680dad58ee1252add66ca0bba0c3456b5615fe20e463521ca0f13290915'} May 20 04:22:36 three inkypi[516]: 04:22:36 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 04:22:37 three inkypi[516]: 04:22:37 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 04:22:44 three inkypi[516]: 04:22:44 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 04:24:46 three inkypi[516]: 04:24:46 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 04:24:46 May 20 04:24:46 three inkypi[516]: 04:24:46 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: Time May 20 04:24:46 three inkypi[516]: 04:24:46 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'Time' May 20 04:24:46 three inkypi[516]: 04:24:46 - INFO - refresh_task - Updating display. | refresh_info: {'refresh_type': 'Playlist', 'playlist': 'Default', 'plugin_id': 'clock', 'plugin_instance': 'Time', 'refresh_time': '2026-05-20T04:24:46.321392-07:00', 'image_hash': 'e3d3d44de15569785762a5255955d68ccfc1c6341b96d6d263c430f8af0362d6'} May 20 04:24:46 three inkypi[516]: 04:24:46 - INFO - display.display_manager - Saving image to /home/jon/projects/InkyPi/src/static/images/current_image.png May 20 04:24:47 three inkypi[516]: 04:24:47 - INFO - display.waveshare_display - Displaying image to Waveshare display. May 20 04:24:53 three inkypi[516]: 04:24:53 - INFO - display.waveshare_display - Putting Waveshare display into sleep mode for power saving. May 20 04:26:55 three inkypi[516]: 04:26:55 - INFO - refresh_task - Running interval refresh check. | current_time: 2026-05-20 04:26:55 May 20 04:26:55 three inkypi[516]: 04:26:55 - INFO - refresh_task - Determined next plugin. | active_playlist: Default | plugin_instance: To Do May 20 04:26:55 three inkypi[516]: 04:26:55 - INFO - refresh_task - Refreshing plugin instance. | plugin_instance: 'To Do' May 20 04:26:55 three inkypi[516]: 04:26:55 - INFO - plugins.my_day.my_day - Settings: {'client-id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'token-cache': '/root/.todo_my_day_cache.json', 'title': 'To Do Today', 'font-size': 'x-small', 'task-limit': '10', 'selectedFrame': 'None', 'topMargin': '', 'bottomMargin': '', 'leftMargin': '', 'rightMargin': '', 'backgroundOption': 'color', 'backgroundColor': '#ffffff', 'textColor': '#000000'} May 20 04:26:55 three inkypi[516]: 04:26:55 - INFO - plugins.my_day.my_day - Looking for token cache at: /root/.todo_my_day_cache.json May 20 04:26:55 three inkypi[516]: 04:26:55 - INFO - plugins.my_day.my_day - Inspecting cache entry: AccessToken -> {'00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad-login.microsoftonline.com-accesstoken-2f6cf5d1-976d-4133-b009-0b00b43b4c8f-consumers-tasks.read user.read openid profile': {'credential_type': 'AccessToken', 'secret': 'EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==', 'home_account_id': '00000000-0000-0000-0984-f600f101b9ad.9188040d-6c67-4c5b-b112-36a304b66dad', 'environment': 'login.microsoftonline.com', 'client_id': '2f6cf5d1-976d-4133-b009-0b00b43b4c8f', 'target': 'Tasks.Read User.Read openid profile', 'realm': 'consumers', 'token_type': 'Bearer', 'cached_at': '1778749765', 'expires_on': '1778753364', 'extended_expires_on': '1778753364'}} May 20 04:26:55 three inkypi[516]: 04:26:55 - INFO - plugins.my_day.my_day - Found AccessToken entry with scopes: Tasks.Read User.Read openid profile, expires_on: 1778753364 May 20 04:26:55 three inkypi[516]: 04:26:55 - INFO - plugins.my_day.my_day - Parsing expires_on string: 1778753364 May 20 04:26:55 three inkypi[516]: 04:26:55 - INFO - plugins.my_day.my_day - Token scopes: ['tasks.read', 'user.read', 'openid', 'profile'], scope_match: True, expires_on: 1778753364, expired: True May 20 04:26:55 three inkypi[516]: 04:26:55 - INFO - plugins.my_day.my_day - Valid token found in cache with scopes: Tasks.Read User.Read openid profile May 20 04:26:55 three inkypi[516]: 04:26:55 - INFO - plugins.my_day.my_day - Cache Path: /root/.todo_my_day_cache.json Token EwBIBMl6BAAU9BatlgMxts2T1B5e3Mucgfs4jcAAAXvFFL4PYwDn2GRNF4M6qk+3yp2mUqdFOgIHk4sfT5kPSSMFsI6ONHrXAHcwDaeiUr6iQQOdy+x7kA04xQEKR8btIYPc+7clR5E/ajGvKAczGitNcZTNwo6C0+hu5A1AOoHsLSLAtckjKMYjSYQcUxd7NN+WdQ3j9anUuwAZwmxGoUk6fRcokiYPeeWTm3i5+Qmq3eqK5v5seNVir46/NgqIL4zb2I5jsP0OwLd8sokLTJYZuOjIKk612/3OL83IYtozVd/oVG28R34Q1cNEfAl0reCcaXhqN0R4f7jujW57ge7oUOELDdaFmpIOJBTnIK8YXa5nhPnLlCDUfdEpL38QZgAAEEZJZzFKH5re5KXN4nnNSG4QA7SelWeugmxp++HVKwTF29Pjhc8IflOKTZClqK6pCbu2ZHQO+01K9ZVj7vENu+gVldpwFet2TAhlZUjXVKI5ZGjyDP78EI4/iR00lsJDiTffHnqYuH961OPA0F+HdQlhgFOj+w0h17KrS+YGmbL17nCMcDsDOPiwDmajoHAmza/5gZhgYnuB8FEOvWsxUpHq9Z8EqNpwFQ79FdszXywKmtFaxFuyFa7N2+JgrthDYERni8ccn/4W2Sn2tdacT8MNj6bMgd27vs7ISbSMt1ng6cuHUoJG0su3eALCyx7OScsMX+uhEEdDkde3IjhVxLdInC6+lJcuPWWy9dR4UGQfPf6ACws/f0D0xMp9DU98O6iuZmcNxe6tDG4xlwFjEV3bAXxGOB/OjmRaZYDCmPkb/0aRL2AdfBTXV+kyKX6Ju6B1MI/I5QsxA0AalyUGhSctCdBAebm3op+W6m+tC+snuuK7nVGjZRV2PJuvRv35tdYejbxOq8Yq+KRBxnCcYtONEAWk64xnSCfh/9yMMvTA4jDcLbOcp25Xi1sEUebH7UQz4y8kiXmOV8ciyt4fyEwT9MPU/pXiTzLfBD/qOFnFQIat5/kfzeyafEdBKx5XUVNu5mTMDi3AOl+55niszX8wrs0X1pbhhGuoefaERBqdzidTSUGtJMPCGMMN5WvIBUafbwT3wON7l1rBqQZIr2Cdf2x7grplX1GkGaMlWjAj89oYi3UCk1d5ILnlziaJmIsAc1oGSmGAIdhCycALTCy147a9GUcpACglTYIYf9U3PBmPDzflajxgx/6o80UwN9ocfGRUTY5mHpq4GHofW695AFCFZ8qptaxuU6fuMw8cvmlwt5IMMXhV+PLc+S13BVMw49Xt6e31QCTu3qGjyUuXVS0C1MbaCO2MrH2B1Kl/dpYcOlK3Kq0NuvNUW7JzwWBfFNudKYSOslEYpyjfK8jZwsTfbUEy2Sn1+X7HnSlkb5Tua26M8Z8i1ujcEpq1Yzft5twRGpZ51WR0e+HnxskYx11L45VtLap0tRjiFiq87vRBAw==: May 20 04:26:59 three inkypi[516]: 04:26:59 - INFO - plugins.my_day.my_day - Found 0 task lists May 20 04:26:59 three inkypi[516]: 04:26:59 - INFO - plugins.my_day.my_day - Found 0 'My Day' tasks: []