tdorssers / TeslaPy

A Python module to use the Tesla Motors Owner API
MIT License
374 stars 83 forks source link

Powerwall - cannot retrieve the mode #131

Open HeraldCoupe opened 1 year ago

HeraldCoupe commented 1 year ago

I've just upgraded to the lastest version but I am no longer able to retrieve the Powerwall mode. It looks as though the output of get_battery_data() no longer contains "default_real_mode" or "operation".

Please can you advise how I can get the mode now?

Thanks for your help.

DaveTBlake commented 1 year ago

Yes facing the same issue here, "default_real_mode" produces error. Would like advice on getting mode.

DaveTBlake commented 1 year ago

While get_battery_data() no longer retrieves "default_real_mode" or "operation" (that always seemed to be the same as "default_real_mode"), I have found from experimenting that getting data from the endpoint api/1/energy_sites/{site_id}/site_info does return "default_real_mode". I don't know if this is new, or if it has always done so as this is not an endpoint I have used.

To access that I added the following method to the Battery class in init.py

def get_site_info(self):
        """ Retrieve current site config information"""
        self.update(self.api('SITE_CONFIG')['response'])
        return self

Powerwall mode is then given by product.get_site_info()["default_real_mode"]

HeraldCoupe commented 1 year ago

def get_site_info(self): """ Retrieve current site config information""" self.update(self.api('SITE_CONFIG')['response']) return self

Thanks for this. After some fidding around I got it to work.