Xcel Energy ITron Gen 5 Riva

I don’t think you will see it until they schedule you for a smart meter install.

I’ve been schedule for the install within the next two weeks and now have a place holder in my account that I don’t remember having in the past.

Yeah called Xcel to see if I could get put in a beta program or something lol. They told me that they’re working in the Denver area and that I"ll get notification letters every 30 days starting at 90 days out when they are ready to start rolling the program out here in our area. Guessing that since I’m rural it’ll be sometime before they get to me.

I had a smart meter installed ~Nov 2021 in Denver proper. Was afraid my bills would go up, but they’ve more or less stayed around the same despite being on time-of-use billing.

After I was approved for the SDK, I was able to add my wifi credentials to the meter via the Xcel website under “View Billing Accounts” then “Devices and Meters”. It is now connected to my network (and shows up as connected on Xcel’s website), but does not respond to pings and I am not a developer, so I don’t know where to begin on using the python examples in the SDK.

Appears to me in the code as if the meter has a csv file that shows usage that can be pulled.

The sdk provides three sensors; total consumed power, total delivered power and instantaneous power readings.

I thought I had a new smart meter installed in 2021, the meter faceplace shows as Centron OpenWay by Itron. However, when I look in my excel acccount, I only see below; I cannot add this device to my wifi.

Clicking Edit doesnt seem to do anything on the page.

I too have a Riva Gen 5 (Denver metro) install the spring. Signed up for launchpad. got it connected to Wi-Fi did port scan it nothing seems open. Have access to gitlab repobut not sure what to do from here. Will watch this thread for any breakthroughs.

I’ve been following this, so thanks for all the great info thus far. I’m just outside of Denver and we had our Riva Gen 5s installed. I was able to enroll in the energy launchpad (instant verification) and connect to the meter via wifi (~5 mins) but it looks like I need a specific device and manufacture LFID to access the data. I wonder if there’s any way to spoof this?

The Home Assistant integration would need to create this.

Just getting started with HA, but recently had this meter installed and curious about what I can get out of it. Looking through the code and repo docs I think any kind of integration with this is going to involve generating a certificate, retrieving the LFDI, and submitting it for approval with the “Add device” form on “Manage Meters and Devices” on Xcel’s site. Waiting to see if my test LFDI gets approved. Currently the meter is refusing requests on 8081, but maybe it’s smart enough to know that there are no devices approved.

Keep us updated

Ok, so seems like there’s two requirements to successfully communicate with the meter. First, the meter needs to be licensed. Sounds like it takes a few days for Xcel to license the meter after you enable it through the UI. It also seems like you need to generate your certificate, extract the LFDI and add it to “My Devices” on Xcel’s site. Not sure how long it takes that to get down to the meter, but I’m now able to pull meter data using the certificate/LFDI I added to My Devices. Can’t access it using a freshly generated certificate. I’ll see about writing a client for this.

Did you use an LFDI from an existing device or generate one? I’m still trying to figure out how to generate a certificate…way above my head!

It was an LFDI generated with the certificate using the sample code.

The LFDI is the certificate fingerprint left-truncated to 160-bits (20 octets)

So that’s basically just the SHA1 fingerprint of your self-signed certificate. This should be pretty easily scriptable.

I think an intended use is something like if you buy an EV charger and you want it to charge when rates are lowest, so they tell you to go to Xcel’s site and enter the LFDI off the label on the EV charger and that authorizes it to talk to your meter (don’t want random devices on your network talking to your meter). We just have to print our own labels, which in this case is pretty easy.

I have my meter on wifi, excited to help test! Randomly received an email from Xcel today –

Congratulations!
 
Your enrollment in Xcel Energy Launchpad has been confirmed and you are now able to utilize or connect your eligible in-home devices to your smart meter over your Wi-Fi network. Third party services may not be available at this time.

To manage your enrollment, visit your Billing Accounts in My Account. You will be able to manage your smart meter connection, enroll in eligible services once available, and add authorized devices.  
 
Thank you for your participation in Xcel Energy Launchpad. ```

The SDK provides a Mosquitto MQTT integration and python libraries for interacting with the devices. It appears to have docker containers and integration examples. The README kicks off as follows:

energy-launchpadsdk-cloud
A Code repository holding our public cloud SDK for xcel energy's home area network and a technical support forum for client sdk developers.

Getting started
To get started with energylaunchpad cloud, once invited to this repository you can simply download repository as a zip. Or you can just clone the whole repo.

I’ve never written a Home Assistant integration, but for you integrators out there, this doesn’t look like a monster undertaking. Famous last words I’m sure. If I get some free time I might poke at the SDK a bit and see if I can tease out something interesting, but no promises :slight_smile:

That was my take on it also.

I am in UTC they just swapped my meter out for the Gen5 Riva as well, Im guessing no one has figured out how to get the SCM data from these new meters yet?

You can get data out of it, but I haven’t tried to transform it into anything useful yet. It’s a bit finicky to setup and the meter itself has been pretty unreliable as far as reachability.

These instructions work for me on Ubuntu 22.04.

Generate a self-signed certificate:
openssl req -x509 -nodes -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365 -subj '/CN=my-integration-cert'

Grab the SHA1 fingerprint:
openssl x509 -noout -fingerprint -sha1 -inform pem -in cert.pem

Now, remove all the : from the output and that’s your LFDI. Add this LFDI to the Xcel Manage Meters and Devices page.
See updated instructions: Xcel Energy ITron Gen 5 Riva - #82 by pdubs10

After an unknown amount of time (a few days, maybe sooner?), you can use this certificate to query the API. The meter uses some wonky encryption, so you’ll need to configure OpenSSL to allow that.

openssl.cnf

openssl_conf = openssl_init

[openssl_init]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
Options = UnsafeLegacyRenegotiation

Then:
export OPENSSL_CONF=/path/to/that/openssl.cnf

curl should work after this.

For me that looked like:
curl --ciphers ECDHE-ECDSA-AES128-CCM8 --insecure --verbose --url https://METER_IP_HERE:8081/upt --cert c.pem --key k.pem
and then you can browse through the hierarchy there. Each response has an href to more info.

Like I said, the meter seems to become unreachable somewhat randomly so it doesn’t inspire a ton of confidence. Ultimately I’d like to build a little python client to simplify this and then it would be pretty simple to pipe that into MQTT or the like.

When you say unreachable does it drop off the network? stop replying to queries?

Wifi shows it as connected, but when I try to connect it times out on port 8081. Comes back later just fine though. It shouldn’t be an issue, but I have 3 access points it could potentially be getting signal from. I suppose that could potentially be confusing it? If it keeps up I’ll give it its own SSID on a single access point and see if that helps.