Closed brianhealey closed 2 years ago
Thank you @brianhealey !
devices {
device {
device {
din {
value: "NEURIO--VAHXXXXXXXXXX"
}
serialNumber {
value: "VAHXXXXXXXXXX"
}
manufacturer {
value: "NEURIO"
}
componentParentDin {
value: "STSTSM--1232100-00-G--TGxxxxxxxxxxxx"
}
firmwareVersion {
value: "1.6.1-Tesla"
}
lastCommunicationTime {
seconds: 1638768324
}
connectionParameters {
ipAddress {
value: "PWRview-XXXXX"
}
}
deviceAttributes {
meterAttributes {
meterLocation: 5
}
}
}
}
vitals {
name: "NEURIO_CT0_Location"
stringValue: "solarRGM"
}
}
Hi @slcasner - if you run this below, it looks like this is accurate. The ipAddress for the Neurio seems to be "PWRview-" with ShortID suffix. Using the /api/meters API call (not the protobuf /vitals data) you will see the same thing.
import pypowerwall
import json
pw = pypowerwall.Powerwall(host,password,email,timezone)
pw.poll('/api/meters')
Snip of Neurio section:
{
"serial": "VAHXXXXXXXXXX",
"short_id": "XXXXX",
"type": "neurio_w2_tcp",
"connected": true,
"cts": [
{
"type": "solarRGM",
"valid": [
true,
false,
false,
false
],
"inverted": [
false,
false,
false,
false
],
"real_power_scale_factor": 2
}
],
"ip_address": "PWRview-XXXXX",
"mac": "xx-xx-xx-xx-xx-xx"
}
I suspect it is a local lookup name on the Tesla gateway.
OK, I guess the element names ipAddress and ip_address are just inappropriately chosen, then. To my mind, an IP address (for IPv4) should be a dotted quad numeric value.
[Sorry for the delayed reply, I was traveling.]
This draft PR contains updates to the protocol buffer schema exposed by the tesla powerwall+ (and hopefully others) api's.
These changes are breaking protocol buffer changes, and will require some code to that uses it to be updated.