|
57 | 57 | # Load the inverter data to the dictionary. |
58 | 58 | yesterday = (datetime.datetime.now() + datetime.timedelta(days=-1)).strftime('%Y-%m-%d') |
59 | 59 | for inverter in inverter_summary["micro_inverters"]: |
60 | | - inverter_id = str(inverter["id"]) |
61 | | - if inverter_id not in inverter_historical_data["micro_inverters"]: |
62 | | - inverter_historical_data["micro_inverters"][inverter_id] = {} |
63 | | - inverter_historical_data["micro_inverters"][inverter_id][yesterday] = { "daily_energy": 0, "lifetime_energy": inverter["energy"]["value"]} |
| 60 | + inverter_sn = str(inverter["serial_number"]) |
| 61 | + if inverter_sn not in inverter_historical_data["micro_inverters"]: |
| 62 | + inverter_historical_data["micro_inverters"][inverter_sn] = {} |
| 63 | + inverter_historical_data["micro_inverters"][inverter_sn][yesterday] = { "daily_energy": 0, "lifetime_energy": inverter["energy"]["value"]} |
64 | 64 |
|
65 | 65 | # Populate the daily_energy for each inverter for today's date based on the previous day's lifetime_energy and now's lifetime_energy |
66 | 66 | two_days_ago = (datetime.datetime.now() + datetime.timedelta(days=-2)).strftime('%Y-%m-%d') |
67 | 67 | total_daily_wh = 0 |
68 | | -for inverter_id, inverter_data in inverter_historical_data["micro_inverters"].items(): |
| 68 | +for inverter_sn, inverter_data in inverter_historical_data["micro_inverters"].items(): |
69 | 69 | if two_days_ago in inverter_data: |
70 | | - yesterday_lifetime_energy = inverter_data[two_days_ago]["lifetime_energy"] |
71 | | - today_lifetime_energy = inverter_data[yesterday]["lifetime_energy"] |
72 | | - today_energy = today_lifetime_energy - yesterday_lifetime_energy |
73 | | - inverter_historical_data["micro_inverters"][inverter_id][yesterday]["daily_energy"] = today_energy |
74 | | - total_daily_wh = total_daily_wh + today_energy |
| 70 | + two_days_ago_lifetime_energy = inverter_data[two_days_ago]["lifetime_energy"] |
| 71 | + yesterday_lifetime_energy = inverter_data[yesterday]["lifetime_energy"] |
| 72 | + yesterday_energy = yesterday_lifetime_energy - two_days_ago_lifetime_energy |
| 73 | + inverter_historical_data["micro_inverters"][inverter_sn][yesterday]["daily_energy"] = yesterday_energy |
| 74 | + total_daily_wh = total_daily_wh + yesterday_energy |
75 | 75 |
|
76 | 76 | # Write new data to file |
77 | 77 | with open('data/inverter_daily_data.json', 'w') as outfile: |
|
0 commit comments