{"id":219,"date":"2025-03-23T00:21:45","date_gmt":"2025-03-23T00:21:45","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/?p=219"},"modified":"2025-03-23T00:21:45","modified_gmt":"2025-03-23T00:21:45","slug":"anyas-status-report-03-22","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/2025\/03\/23\/anyas-status-report-03-22\/","title":{"rendered":"Anya&#8217;s Status Report 03\/22"},"content":{"rendered":"<p><strong>Work Accomplished:<\/strong><\/p>\n<ul>\n<li>Did some testing of a LSTM\u00a0neural network architecture for time-series energy consumption prediction<\/li>\n<li>Tracked self-consumption metrics for solar utilization, peak reduction and cost savings % according to a baseline.<\/li>\n<li>The original cost is based on the predicted load with original device schedule. The optimized cost uses the new schedules with shifted loads<\/li>\n<\/ul>\n<p><strong><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-220\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.04.01\u202fPM-300x187.png\" alt=\"\" width=\"300\" height=\"187\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.04.01\u202fPM-300x187.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.04.01\u202fPM-768x480.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.04.01\u202fPM-1024x640.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.04.01\u202fPM.png 1850w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-221\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.08.45\u202fPM-300x177.png\" alt=\"\" width=\"300\" height=\"177\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.08.45\u202fPM-300x177.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.08.45\u202fPM-768x453.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.08.45\u202fPM-1024x604.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.08.45\u202fPM.png 1126w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/strong><\/p>\n<p>Mock backend for schedules : (I need to parse the results of optimization algo and figure out whats a good way to put that into device schedules). This is what the frontend should look like<\/p>\n<p><strong><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-222\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.12.06\u202fPM-300x255.png\" alt=\"\" width=\"300\" height=\"255\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.12.06\u202fPM-300x255.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.12.06\u202fPM-768x653.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.12.06\u202fPM-1024x870.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.12.06\u202fPM.png 1158w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/strong><\/p>\n<p>Current display of predicted vs optimzied power. Need to scale this up accordingly once the power sensors are connected to Home Assistant and download the data from there.<strong><br \/>\n<img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-223\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.12.38\u202fPM-300x166.png\" alt=\"\" width=\"300\" height=\"166\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.12.38\u202fPM-300x166.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.12.38\u202fPM-768x426.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.12.38\u202fPM-1024x568.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.12.38\u202fPM.png 1158w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Progress:\u00a0<\/strong>I would say I am a little behind because a) the power sensor data is not logged in, need to do the integration of the backend with Home Assistant to feed that data, look at transience to analyze average power consumption b) The grid pricing data is fed in through Nordpool which has an integration\u00a0 with Home Assistant, but for now I am training the LSTM by downloading a csv from Home Assistant rather than having it dynamically via an API (API calls are expensive)<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-224\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.17.27\u202fPM-300x245.png\" alt=\"\" width=\"300\" height=\"245\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.17.27\u202fPM-300x245.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.17.27\u202fPM-768x626.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.17.27\u202fPM-1024x835.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-content\/uploads\/sites\/364\/2025\/03\/Screenshot-2025-03-22-at-8.17.27\u202fPM.png 1158w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><br \/>\n<strong>Challenges and Next Steps:<\/strong><\/p>\n<ul>\n<li>Improve load shifting algorithm with better device priority handling [figure out a way to parse info about optimized loads from an aggregate to a device level]<\/li>\n<li>Also right now, all devices have the same priority.\u00a0 Need to assign weights based on device priorities (like running a fridge vs fan, fridge is way more important)<\/li>\n<li class=\"\">\n<p class=\"\">Use these weights in the <strong>objective function<\/strong> to favor high-priority loads when minimizing cost or peak demand.<\/p>\n<\/li>\n<li class=\"\">\n<p class=\"\">Add detailed logging for performance metrics to validate optimization results<\/p>\n<\/li>\n<li>Integration between HA and backend would be just creating a docker container and adding that to HA vs API requests<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Work Accomplished: Did some testing of a LSTM\u00a0neural network architecture for time-series energy consumption prediction Tracked self-consumption metrics for solar utilization, peak reduction and cost savings % according to a baseline. The original cost is based on the predicted load with original device schedule. The optimized cost uses the new schedules with shifted loads Mock &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/2025\/03\/23\/anyas-status-report-03-22\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Anya&#8217;s Status Report 03\/22&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1050,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-json\/wp\/v2\/posts\/219"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-json\/wp\/v2\/users\/1050"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-json\/wp\/v2\/comments?post=219"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-json\/wp\/v2\/posts\/219\/revisions"}],"predecessor-version":[{"id":225,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-json\/wp\/v2\/posts\/219\/revisions\/225"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-json\/wp\/v2\/media?parent=219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-json\/wp\/v2\/categories?post=219"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teamd5\/wp-json\/wp\/v2\/tags?post=219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}