[PROJECT] Driver for Connecting to Your Tesla Devices

It was kind of a point of pride to have the whole house electric we have a 6.75kW solar system, and the two powerwalls, the only thing in the house that’s gas is the fireplace which is secondary heating to the heating/cooling electric heat pump.

Daytime load on the house is 0.6 - 1.0 kW and nighttime is usually 1.3-2KW - 1140sq ft

Thanks you two! What is interesting to me is that all the data today is closer to json formatting, some of it actually IS json, but of course the longest most complicated one has invalid formatting. Thanks Tesla...

1 Like

Interesting! I liked the idea of getting rid of the Electric Water heater for sure, mostly because I had used a whole house boiler in the UK, and really missed it. So when I got the opportunity to add tankless here, even with the added trouble of a big propane tank, I jumped at it.

Now that I have it, I can't imagine going to a tank again. Having said that, I've thought of batch pre-heater to raise the temp of the inflow to the tankless, but truthfully It seems like too much trouble...lol

My system is 18 panels which works out to be ~5.6kW ish and my house is ~3K sqft (basement + 2 stories). I have 2 PowerWalls as well. My base load is around 800-1.2kW day/night. It's frustrating because I can't quite figure out where some of that always on load is coming from! Eventually, I'm going to go the IotaWatt route and figure it out.

The biggest reason I'm keen on this driver is simply detecting grid failure so I can shed some of my load, sort of like you described. I'd love to shut down my HVAC/Heat Pump units, but, well, Thermostats. I can certainly load shed other stuff and manually handle the thermostats for sure.

Fun stuff, and I'm really excited to see how this turns out.

S.

oh, ours is talkless too, got a good price from my friend's company Eccotemp.

We did the opposite, our tub filler has a higher flow rate than the Eccotemp can maintain for the 30-40 mins it takes to fill, so we have an in-line Rheem electric booster just for the line that goes to the tub to keep the water temp from dropping.

I really wanted Sense or Smappee to work for determining what devices were on and using what amount of electricity, but neither system is compatible with our new dual feed California power system, and from what I've read neither system actually does a good job of identifying devices, most users are saying 30% of devices recognized.

I figure If I put Zooz zen15 plugs on everything that I can, the only large things I won't know for sure are the water heaters and the heat pump. Eventually maybe I'll get someone to wire those 220v Aeotec load sensors onto stove/oven/water heaters and other big things, but maybe I can just live with the mystery.

2 Likes

New version 0.2.0 posted, and I renamed it so it would not "conflict" with the TeslaConnect app. It is now called TeslaDriver (I know, so original). So you will have to replace the driver on your Hubitat AND change the device's Type to the TeslaDriver type. But everything else should be fine after that.

This version parses all the new data you folks provided me EXCEPT the Powerwalls. That return is large (~6000 elements when split) and not properly formatted for json, so it will be slower getting valuable data out of it. A lot of it looks like "garbage" also, general messages, diagnostics that are not used, etc... So I may focus on trying to identify and provide the valuable nuggets first. Plus if I hit you with that many variables you may not be that happy with me anyways.

One other item of note, I created the first Event if it gets noticed. The System Status data provides only piece of data, but it is valuable, the overall percentage that the Powerwall(s) are charged. So I am providing that as a "battery" event that can be used. For example: You could make a rule that if your battery is <50% start shutting down less important things... <30%, start shutting down more until you are just left with the most critical things. I am sure you folks already had this idea though.

No more versions tonight, sorry. Have to get other tasks (non-Hubitat related) done, in fact I will not even be online shortly so I apologize if something goes weird. I will check again tomorrow morning and try to deal with it then.

2 Likes

Might I offer up... "Tesla Powerwall 2" as the name :slight_smile:

Amazing work so far, will install and get logs for you.

Ha... did not leave the forum yet. I thought about that, but if someone has a car I think I might want to provide data for that as well. Plus I know the API does "everything" Tesla that is tied to an account and has a LOT of car-based data in it with the Powerwalls the afterthought there.

So I did not want to limit myself off the bat. :grin:

Leaving for now... for real this time...

1 Like

Well if you add it the car code, that would be one driver rather than 2 I have to worry about keeping up-to-date

Not that the other stuff was greatly useful yet, but I only have charge level visible now (maybe that's what you were saying?) just a heads up.

logs

dev:7052020-05-20 05:38:07.415 pm debugTesla Powerwall - Connected to Tesla device Registration.

dev:7052020-05-20 05:38:07.406 pm debugTesla Powerwall - Connected to Tesla device Powerwalls.

dev:7052020-05-20 05:38:07.385 pm debugTesla Powerwall - Connected to Tesla device Sitemaster.

dev:7052020-05-20 05:38:07.371 pm debugTesla Powerwall - Connected to Tesla device System Status.

dev:7052020-05-20 05:38:07.308 pm debugTesla Powerwall - Connected to Tesla device for Aggregate.

dev:7052020-05-20 05:38:07.282 pm debugTesla Powerwall - Connected to Tesla device Grid Status.

dev:7052020-05-20 05:37:07.424 pm debugTesla Powerwall - Connected to Tesla device System Status.

dev:7052020-05-20 05:37:07.417 pm debugTesla Powerwall - Connected to Tesla device Sitemaster.

dev:7052020-05-20 05:37:07.412 pm debugTesla Powerwall - Connected to Tesla device Grid Status.

dev:7052020-05-20 05:37:07.384 pm debugTesla Powerwall - Connected to Tesla device Powerwalls.

dev:7052020-05-20 05:37:07.377 pm debugTesla Powerwall - Connected to Tesla device Registration.

dev:7052020-05-20 05:37:07.360 pm debugTesla Powerwall - Connected to Tesla device for Aggregate.

dev:7052020-05-20 05:36:15.666 pm debugTesla Powerwall - Connected to Tesla device System Status.

dev:7052020-05-20 05:36:15.637 pm debugTesla Powerwall - Connected to Tesla device for Aggregate.

dev:7052020-05-20 05:36:15.627 pm debugTesla Powerwall - Connected to Tesla device Sitemaster.

dev:7052020-05-20 05:36:15.616 pm debugTesla Powerwall - Connected to Tesla device Registration.

dev:7052020-05-20 05:36:15.612 pm debugTesla Powerwall - Connected to Tesla device Powerwalls.

dev:7052020-05-20 05:36:15.572 pm debugTesla Powerwall - Connected to Tesla device Grid Status.

dev:7052020-05-20 05:36:07.468 pm debugTesla Powerwall - Connected to Tesla device System Status.

dev:7052020-05-20 05:36:07.421 pm debugTesla Powerwall - Connected to Tesla device Sitemaster.

dev:7052020-05-20 05:36:07.397 pm debugTesla Powerwall - Connected to Tesla device Powerwalls.

dev:7052020-05-20 05:36:07.392 pm debugTesla Powerwall - Connected to Tesla device for Aggregate.

dev:7052020-05-20 05:36:07.381 pm debugTesla Powerwall - Connected to Tesla device Registration.

dev:7052020-05-20 05:36:07.322 pm debugTesla Powerwall - Connected to Tesla device Grid Status.

dev:7052020-05-20 05:35:40.700 pm debugTesla Powerwall - Connected to Tesla device Sitemaster.

dev:7052020-05-20 05:35:40.637 pm debugTesla Powerwall - Connected to Tesla device Grid Status.

dev:7052020-05-20 05:35:40.629 pm debugTesla Powerwall - Connected to Tesla device System Status.

dev:7052020-05-20 05:35:40.626 pm debugTesla Powerwall - Connected to Tesla device Registration.

dev:7052020-05-20 05:35:40.573 pm debugTesla Powerwall - Connected to Tesla device Powerwalls.

dev:7052020-05-20 05:35:40.498 pm debugTesla Powerwall - Connected to Tesla device for Aggregate.

dev:7052020-05-20 05:35:36.249 pm debugTesla Powerwall - Connected to Tesla device Sitemaster.

dev:7052020-05-20 05:35:36.230 pm debugTesla Powerwall - Connected to Tesla device Grid Status.

dev:7052020-05-20 05:35:36.208 pm debugTesla Powerwall - Connected to Tesla device Registration.

dev:7052020-05-20 05:35:36.193 pm debugTesla Powerwall - Connected to Tesla device System Status.

dev:7052020-05-20 05:35:36.139 pm debugTesla Powerwall - Connected to Tesla device Powerwalls.

dev:7052020-05-20 05:35:36.099 pm debugTesla Powerwall - Connected to Tesla device for Aggregate.

dev:7052020-05-20 05:35:33.134 pm debugTesla Powerwall - Connected to Tesla device Sitemaster.

dev:7052020-05-20 05:35:33.128 pm debugTesla Powerwall - Connected to Tesla device Powerwalls.

dev:7052020-05-20 05:35:32.995 pm debugTesla Powerwall - Connected to Tesla device System Status.

dev:7052020-05-20 05:35:32.967 pm debugTesla Powerwall - Connected to Tesla device Registration.

dev:7052020-05-20 05:35:32.939 pm debugTesla Powerwall - Connected to Tesla device Grid Status.

dev:7052020-05-20 05:35:32.902 pm debugTesla Powerwall - Connected to Tesla device for Aggregate.

dev:7052020-05-20 05:35:07.897 pm debugTesla Powerwall - Connected to Tesla device Sitemaster.

dev:7052020-05-20 05:35:07.883 pm debugTesla Powerwall - Connected to Tesla device Registration.

dev:7052020-05-20 05:35:07.768 pm debugTesla Powerwall - Connected to Tesla device System Status.

dev:7052020-05-20 05:35:07.708 pm debugTesla Powerwall - Connected to Tesla device Powerwalls.

dev:7052020-05-20 05:35:07.705 pm debugTesla Powerwall - Connected to Tesla device for Aggregate.

dev:7052020-05-20 05:35:07.702 pm debugTesla Powerwall - Connected to Tesla device Grid Status.

dev:7052020-05-20 05:34:35.931 pm debugTesla Powerwall - Connected to Tesla device Registration.

dev:7052020-05-20 05:34:35.917 pm debugTesla Powerwall - Connected to Tesla device Sitemaster.

dev:7052020-05-20 05:34:35.901 pm debugTesla Powerwall - Connected to Tesla device System Status.

dev:7052020-05-20 05:34:35.888 pm debugTesla Powerwall - Connected to Tesla device Powerwalls.

dev:7052020-05-20 05:34:35.807 pm debugTesla Powerwall - Connected to Tesla device for Aggregate.

dev:7052020-05-20 05:34:35.785 pm debugTesla Powerwall - Connected to Tesla device Grid Status.

dev:7052020-05-20 05:34:32.896 pm debugTesla Powerwall - Connected to Tesla device Registration.

dev:7052020-05-20 05:34:32.892 pm debugTesla Powerwall - Connected to Tesla device System Status.

dev:7052020-05-20 05:34:32.857 pm debugTesla Powerwall - Connected to Tesla device Sitemaster.

dev:7052020-05-20 05:34:32.853 pm debugTesla Powerwall - Connected to Tesla device Grid Status.

dev:7052020-05-20 05:34:32.833 pm debugTesla Powerwall - Connected to Tesla device Powerwalls.

dev:7052020-05-20 05:34:32.782 pm debugTesla Powerwall - Connected to Tesla device for Aggregate.

dev:7052020-05-20 05:34:12.219 pm debugTesla Powerwall - Unpublished driver

dev:7052020-05-20 05:34:11.803 pm infoTesla Powerwall - Updated

dev:7052020-05-20 05:34:11.786 pm debugTesla Powerwall - Refresh rate: 1 minute

dev:7052020-05-20 05:34:06.898 pm debugTesla Powerwall - Unpublished driver

dev:7052020-05-20 05:34:06.467 pm infoTesla Powerwall - Updated

dev:7052020-05-20 05:34:06.452 pm debugTesla Powerwall - Refresh rate: 1 minute

dev:7052020-05-20 05:33:51.534 pm infoTesla Powerwall - Updated

dev:7052020-05-20 05:33:51.483 pm infoTesla Powerwall - Installed

--- Live Log Started, waiting for events ---

odd, it took a while, maybe slow refresh, but now everything is back.

also odd, the Current States and State Variables for charge differ

State Variables will only show changes (or at all) if the device page is refreshed. They are more "for reference" than anything else. Things listed in Current States were sent as Events. Those get logged in the events log and are usable in the Rules, Dashboard, and such, but they are just published items "fixed" if you will and will not change unless published again. Apparently they are also a bit more system intensive, so you do not want TONS of them if you can avoid it.

So... the main thing I would say is to identify if there is any important data in the State Variables that you would want to show up as a Current State (Event).

As for why the two are different... Not sure. "battery" should have the same value as "percentage" (which is it's original name). They are both set one after the other. Maybe another change came in after that changed the Current State, but you did not get a page refresh before seeing that? That would be the most likely cause.

UPDATE:
Version 0.2.1 is now posted. It now parses the powerwall data for what seems to be relevant points of information and generates a child device for each powerwall you have (based on their Serial #). Turns out the powerwall data IS json, but broken. Tesla includes messages in it that have " in the message itself, which breaks the json, but once I identified those I was able to work around them easily enough.

Next piece I hope you guys can provide, Debug data for the "Devices" data that should be returned. Aggregates identifies a number of devices and there should be more detailed data on each that the driver should then try to pull in. Generally, I put sections that are not working or unhandled as Debug until they work (or stuff people probably would not care about unless debugging). Trace is used for stuff that is working but could need to be checked for problems.

Lastly, @jared.zimmerman, have you tried the API portion again at any point? Or have you tried a separate virtual device aimed at your car's IP (I assume it connects to your home network when home)?

1 Like

Lots of cool info showing up now. Its correctly showing my two power walls as child devices, which is really nice!

A lot of my status values are interesting. My favorite is:

dev:17932020-05-21 06:32:28.804 pm tracePowerWall - Child State: grid_state = Grid_Uncompliant

Uncompliant? With what? The English language perhaps? Lol. Must be a Martian dialect, thanks Elon!

Seriously this is looking great! What do you need us to look at @snell???

I'll spend some time this weekend looking at the data. I really think only a few things are of real value in my use case...

S.

  • I haven't tried the API version again, will do that.
  • I'll think about what states would be useful
  • I just tried to access my Model 3 via IP, and nothing happens, only API access via app is allowed, will try that and export logs.

This will get a bit harder, now with the serial number in the logs has become a bit of a security issue as the serial number is one of the ways to reset password, would it be difficult to not have serial number appear there? Its fine if it appears in the device page, but logs is too much perhaps?

Here's new logs from one of my two child devices, other than serial they were identical logs

At this time (due to time of use power utlity policy) my powerwall is powering the house, and our solar is going to the grid. So its "disconnected" from the grid and appears that solar isn't generating

dev:7382020-05-21 04:13:41.193 pm tracePowerwall - State: grid_state = Grid_Uncompliant
dev:7382020-05-21 04:13:41.168 pm tracePowerwall - State: type = acpw
dev:7382020-05-21 04:13:41.143 pm tracePowerwall - State: bc_type =
dev:7382020-05-21 04:13:41.118 pm tracePowerwall - State: PackageSerialNumber =
dev:7382020-05-21 04:13:41.091 pm tracePowerwall - State: PackagePartNumber =
dev:7382020-05-21 04:13:41.065 pm tracePowerwall - State: under_phase_detection = false
dev:7382020-05-21 04:13:41.037 pm tracePowerwall - State: updating = false
dev:7382020-05-21 04:13:41.012 pm tracePowerwall - State: Type =
dev:7382020-05-21 04:13:40.987 pm tracePowerwall - State: grid_reconnection_time_seconds = 0
dev:7382020-05-21 04:13:10.668 pm infoPowerwall - State variables cleared
dev:7382020-05-21 04:13:07.480 pm tracePowerwall - State: grid_state = Grid_Uncompliant
dev:7382020-05-21 04:13:07.450 pm tracePowerwall - State: type = acpw
dev:7382020-05-21 04:13:07.424 pm tracePowerwall - State: bc_type =
dev:7382020-05-21 04:13:07.397 pm tracePowerwall - State: PackageSerialNumber =
dev:7382020-05-21 04:13:07.370 pm tracePowerwall - State: PackagePartNumber =
dev:7382020-05-21 04:13:07.341 pm tracePowerwall - State: under_phase_detection = false
dev:7382020-05-21 04:13:07.310 pm tracePowerwall - State: updating = false
dev:7382020-05-21 04:13:07.280 pm tracePowerwall - State: Type =
dev:7382020-05-21 04:13:07.251 pm tracePowerwall - State: grid_reconnection_time_seconds = 0
dev:7382020-05-21 04:12:57.070 pm infoPowerwall - Updated
dev:7382020-05-21 04:12:57.066 pm infoPowerwall - State variables cleared
--- Live Log Started, waiting for events ---

A good state name would be something like

Battery State : Discharging
System State : Self-powered
Grid : Disconnected
Solar Energy Destination : Grid (other states could be Grid, Powerwall)

It would be good to know WHY grid disconnect is happening, could be grid failure (power outage) or rule based (ours disconnects when energy prices are high and we have either stored battery power, or are generating enough solar power)

The app has 3.2 "setup states for the battery" (image below) plus "storm watch" where the battery automatically shifts to "backup" mode if there is a sever storm or if tesla has been altered to a planned power outage (the first one has happens to us, the second one has never triggered even though it should have on 3 occasions)


Main Driver logs

dev:7052020-05-21 04:30:41.117 pm debugTesla Powerwall - Connected to Tesla device for Powerwalls.

dev:7052020-05-21 04:30:41.115 pm traceTesla Powerwall - Ignoring update_diagnostic

dev:7052020-05-21 04:30:41.097 pm traceTesla Powerwall - Child State: grid_state = Grid_Uncompliant

dev:7052020-05-21 04:30:41.073 pm traceTesla Powerwall - Child State: type = acpw

dev:7052020-05-21 04:30:41.048 pm traceTesla Powerwall - Child State: bc_type =

dev:7052020-05-21 04:30:41.024 pm traceTesla Powerwall - Child State: PackageSerialNumber =

dev:7052020-05-21 04:30:41.001 pm traceTesla Powerwall - Child State: PackagePartNumber =

dev:7052020-05-21 04:30:40.978 pm traceTesla Powerwall - Child State: under_phase_detection = false

dev:7052020-05-21 04:30:40.971 pm traceTesla Powerwall - Ignoring commissioning_diagnostic

dev:7052020-05-21 04:30:40.953 pm traceTesla Powerwall - Child State: updating = false

dev:7052020-05-21 04:30:40.930 pm traceTesla Powerwall - Child State: Type =

dev:7052020-05-21 04:30:40.905 pm traceTesla Powerwall - Child State: grid_reconnection_time_seconds = 0

dev:7052020-05-21 04:30:40.899 pm traceTesla Powerwall - Powerwall size = 11

dev:7052020-05-21 04:30:40.897 pm traceTesla Powerwall - Ignoring update_diagnostic

dev:7052020-05-21 04:30:40.879 pm traceTesla Powerwall - Child State: grid_state = Grid_Uncompliant

dev:7052020-05-21 04:30:40.856 pm traceTesla Powerwall - Child State: type = acpw

dev:7052020-05-21 04:30:40.833 pm traceTesla Powerwall - Child State: bc_type =

dev:7052020-05-21 04:30:40.810 pm traceTesla Powerwall - Child State: PackageSerialNumber =

dev:7052020-05-21 04:30:40.787 pm traceTesla Powerwall - Child State: PackagePartNumber =

dev:7052020-05-21 04:30:40.763 pm traceTesla Powerwall - Child State: under_phase_detection = false

dev:7052020-05-21 04:30:40.756 pm traceTesla Powerwall - Ignoring commissioning_diagnostic

dev:7052020-05-21 04:30:40.728 pm traceTesla Powerwall - Child State: updating = false

dev:7052020-05-21 04:30:40.704 pm traceTesla Powerwall - Child State: Type =

dev:7052020-05-21 04:30:40.674 pm traceTesla Powerwall - Child State: grid_reconnection_time_seconds = 0

dev:7052020-05-21 04:30:40.671 pm traceTesla Powerwall - Powerwall size = 11

dev:7052020-05-21 04:30:40.669 pm traceTesla Powerwall - # Powerwalls = 2

dev:7052020-05-21 04:30:40.663 pm traceTesla Powerwall - Powerwalls data = {"enumerating":false,"updating":false,"checking_if_offgrid":false,"running_phase_detection":false,"phase_detection_last_error":"phase detection not run","bubble_shedding":false,"on_grid_check_error":"on grid check not run","grid_qualifying":false,"grid_code_validating":false,"phase_detection_not_available":true,"powerwalls":[{"Type":"","PackagePartNumber":"","PackageSerialNumber":"","type":"acpw","grid_state":"Grid_Uncompliant","grid_reconnection_time_seconds":0,"under_phase_detection":false,"updating":false,"commissioning_diagnostic":{"name":"Commissioning","category":"InternalComms","disruptive":false,"inputs":null,"checks":[{"name":"CAN connectivity","status":"fail","start_time":"2020-05-21T16:30:40.283856631-07:00","end_time":"2020-05-21T16:30:40.283860964-07:00","message":"Cannot perform this action with site controller running. From landing page, either "STOP SYSTEM" or "RUN WIZARD" to proceed.","results":{},"debug":{}},{"name":"Enable switch","status":"fail","start_time":"2020-05-21T16:30:40.283863297-07:00","end_time":"2020-05-21T16:30:40.283865631-07:00","message":"Cannot perform this action with site controller running. From landing page, either "STOP SYSTEM" or "RUN WIZARD" to proceed.","results":{},"debug":{}},{"name":"Internal communications","status":"fail","start_time":"2020-05-21T16:30:40.283867631-07:00","end_time":"2020-05-21T16:30:40.283869964-07:00","message":"Cannot perform this action with site controller running. From landing page, either "STOP SYSTEM" or "RUN WIZARD" to proceed.","results":{},"debug":{}},{"name":"Firmware up-to-date","status":"fail","start_time":"2020-05-21T16:30:40.283871964-07:00","end_time":"2020-05-21T16:30:40.283874297-07:00","message":"Cannot perform this action with site controller running. From landing page, either "STOP SYSTEM" or "RUN WIZARD" to proceed.","results":{},"debug":{}}]},"update_diagnostic":{"name":"Firmware Update","category":"InternalComms","disruptive":true,"inputs":null,"checks":[{"name":"Powerwall firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null,"debug":null},{"name":"Battery firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null,"debug":null},{"name":"Inverter firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null,"debug":null},{"name":"Grid code","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null,"debug":null}]},"bc_type":""},{"Type":"","PackagePartNumber":"","PackageSerialNumber":"","type":"acpw","grid_state":"Grid_Uncompliant","grid_reconnection_time_seconds":0,"under_phase_detection":false,"updating":false,"commissioning_diagnostic":{"name":"Commissioning","category":"InternalComms","disruptive":false,"inputs":null,"checks":[{"name":"CAN connectivity","status":"fail","start_time":"2020-05-21T16:30:40.284463627-07:00","end_time":"2020-05-21T16:30:40.284467294-07:00","message":"Cannot perform this action with site controller running. From landing page, either "STOP SYSTEM" or "RUN WIZARD" to proceed.","results":{},"debug":{}},{"name":"Enable switch","status":"fail","start_time":"2020-05-21T16:30:40.284469627-07:00","end_time":"2020-05-21T16:30:40.284471961-07:00","message":"Cannot perform this action with site controller running. From landing page, either "STOP SYSTEM" or "RUN WIZARD" to proceed.","results":{},"debug":{}},{"name":"Internal communications","status":"fail","start_time":"2020-05-21T16:30:40.28447396-07:00","end_time":"2020-05-21T16:30:40.284476294-07:00","message":"Cannot perform this action with site controller running. From landing page, either "STOP SYSTEM" or "RUN WIZARD" to proceed.","results":{},"debug":{}},{"name":"Firmware up-to-date","status":"fail","start_time":"2020-05-21T16:30:40.28447996-07:00","end_time":"2020-05-21T16:30:40.284482294-07:00","message":"Cannot perform this action with site controller running. From landing page, either "STOP SYSTEM" or "RUN WIZARD" to proceed.","results":{},"debug":{}}]},"update_diagnostic":{"name":"Firmware Update","category":"InternalComms","disruptive":true,"inputs":null,"checks":[{"name":"Powerwall firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null,"debug":null},{"name":"Battery firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null,"debug":null},{"name":"Inverter firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null,"debug":null},{"name":"Grid code","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null,"debug":null}]},"bc_type":""}],"has_sync":true,"sync":{"updating":false,"commissioning_diagnostic":{"name":"Commissioning","category":"InternalComms","disruptive":false,"inputs":null,"checks":[{"name":"CAN connectivity","status":"fail","start_time":"2020-05-21T16:30:40.284765292-07:00","end_time":"2020-05-21T16:30:40.284768625-07:00","message":"Cannot perform this action with site controller running. From landing page, either "STOP SYSTEM" or "RUN WIZARD" to proceed.","results":{},"debug":{}},{"name":"Firmware up-to-date","status":"fail","start_time":"2020-05-21T16:30:40.284770625-07:00","end_time":"2020-05-21T16:30:40.284772959-07:00","message":"Cannot perform this action with site controller running. From landing page, either "STOP SYSTEM" or "RUN WIZARD" to proceed.","results":{},"debug":{}}]},"update_diagnostic":{"name":"Firmware Update","category":"InternalComms","disruptive":true,"inputs":null,"checks":[{"name":"Synchronizer firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null,"debug":null},{"name":"Grid code","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null,"debug":null}]}},"states":[]}

OK, API connection didn't work


dev:7052020-05-21 04:55:39.029 pm debugTesla Powerwall - Unable to reach tesla: groovyx.net.http.HttpResponseException: Not Found

dev:7052020-05-21 04:55:38.898 pm debugTesla Powerwall - Connecting to Tesla...

dev:7052020-05-21 04:55:36.716 pm debugTesla Powerwall - Unable to reach tesla: groovyx.net.http.HttpResponseException: Not Found

dev:7052020-05-21 04:55:36.591 pm debugTesla Powerwall - Connecting to Tesla...

dev:7052020-05-21 04:55:29.595 pm debugTesla Powerwall - Unable to reach tesla: groovyx.net.http.HttpResponseException: Not Found

dev:7052020-05-21 04:55:29.479 pm debugTesla Powerwall - Connecting to Tesla...

dev:7052020-05-21 04:55:16.346 pm debugTesla Powerwall - Unable to reach tesla: groovyx.net.http.HttpResponseException: Not Found

dev:7052020-05-21 04:55:15.126 pm debugTesla Powerwall - Connecting to Tesla...

dev:7052020-05-21 04:54:15.250 pm debugTesla Powerwall - Unable to reach tesla: groovyx.net.http.HttpResponseException: Not Found

dev:7052020-05-21 04:54:15.101 pm debugTesla Powerwall - Connecting to Tesla...

dev:7052020-05-21 04:53:38.081 pm debugTesla Powerwall - Unable to reach tesla: groovyx.net.http.HttpResponseException: Not Found

dev:7052020-05-21 04:53:37.890 pm debugTesla Powerwall - Connecting to Tesla...

dev:7052020-05-21 04:53:30.903 pm debugTesla Powerwall - Unpublished driver

dev:7052020-05-21 04:53:30.356 pm infoTesla Powerwall - Updated

dev:7052020-05-21 04:53:30.337 pm debugTesla Powerwall - Refresh rate: 1 minute

dev:7052020-05-21 04:53:05.093 pm errorTesla Powerwall - Cannot use API without account email and password

dev:7052020-05-21 04:52:40.821 pm debugTesla Powerwall - Unpublished driver

dev:7052020-05-21 04:52:39.993 pm infoTesla Powerwall - Updated

Ok. It looks like the address given for the API is wrong. Guess they must have changed it.

For Serial #... I can try to remove logging for that although it is kindof a built-in method for the data posting I have. Maybe I will just intercept that one directly. Fun of them to use something that is needed to identify the device as a RESET element... that is pretty half-baked. Someone might think they have not thought this all through. @scottgu3, you might want to edit your sample you posted above to remove those references. I have edited the sample I saved to query from my server and put a fake # in there instead.

For the grid state... that is their term. Right now the only data I am modifying for presentation is the battery. In fact, I do not think that grid_state actually has anything to do with whether you are connected or not.

From what I saw of the sample data, the Powerwalls basically report identical data except for the PackageSerialNumber, start_time, and end_time.

As for data... Did either of you see anything in your logs that started with "Device data = "? It would have been a Debug item. Those may have the last pieces of information that can be had without authentication. There should be one for each device (same ones Child devices got generated for) besides Powerwalls.

I looked through my logs and didn't see anything called or looks like "Device data" or "Device_Data" or any permutation of that.

Well... huh... It is supposed to request them as it goes through Aggregates (as each one is discovered there, it should have made a request for it). Do you have an errors mentioning "Timeout connecting to Tesla device for Device."? I get 4 of those every time because there are 4 devices in the Aggregate sample... that I cannot actually connect to, so mine is not happy.

Nope, no mention of that in the logs either (I have it on trace mode, is that right?)