Xcel Energy ITron Gen 5 Riva

FWIW: I considered a custom integration vs the addon I made. The precise SSL setup is tricky to keep working as OpenSSL versions tick up, the meters themselves can be temperamental, etc. I decided the addon was the best way to isolate things to maximize reliability.

I think an integration should likely target full IEEE 2030.5 compatibility so it could work with things beyond Xcel’s meters.

2 Likes

I’m able to get the Itron device connected to my network and I see that it has an IP address. I used nmap to find that there is only port 8081 responding. That port is closed, however, and my attempts at telnet ... 8081 are failing. I think that telnet ought to work, even if I don’t have ssh credentials or whatever, right?

I can confirm that I have the same Itron root certificate from my meter

And eager to see what you come up with for the integration! Do you have your work-in-progress posted anywhere, or still too early-days?

To potentially help others with the issue that landed me here today…

I had this working quite well for over a year until I started trying to get fancy with my MQTT setup and bricked my energy setup (the subtleties of MQTT remain voodoo to me).

The issue for me was that, while the Xcel iTron MQTT Addon would start, connect, and transmit to Mosquitto/MQTT Integration, the sensors would appear in the Xcel Itron device, but the usage numbers stayed constant and were obviously incorrect.

After a bunch of frantic reconfiguring, including deleting the Xcel Addon, Mosquitto, removing the devices and entities from the core config files, and setting it all up from scratch… I still observed the same behavior.

Fortunately/unfortunately, I was not able to isolate the final step(s) that got things working again, but I am reasonably confident it was 1 of 2 things:

  • I had a somewhat complex Utility Meter Helper setup to track energy consumption/return (solar panels) in the various TOU categories.
    • I disabled these helper devices and went through the delete/disable/re-enable process again for the Xcel Itron device and addon, potentially with a restart of HA thrown in for good measure.
  • Before determining whether the above made a difference, I also setup the Xcel My Energy Connection mobile app, which created a new device in the Xcel Energy Launchpad for my account on their site.
    • Upon setting up the app, I saw that the provided readings appeared to be correct, so I checked back in on HA and… it was working again as expected.

My suspicion is that it was the second bit with the Xcel app that made the difference, and my wild guess is that it triggered a restart of the meter, or at least the API endpoint. This aligns with others’ experience above, wherein contacting/emailing Xcel for a meter restart fixed their issues.

Hope this helps someone out there to avoid the days of frustration!

I have been seeing a very similar issue as well (I also have a solar installation too)- I setup the My Energy Connection app as well, but that didn’t seem to have much effect.

The one thing that did finally work was connecting to the mqtt broker via MQTT Explorer. It seems like it had just gotten stuck a couple weeks ago and connecting that was enough to fix things – no clue why.

My Xcel energy meter finally got an IP address but I was unable to connect to it. I can’t even telnet to it on port 8081, even though nmap finds the port 8081. (Though it is closed).

Can someone let me know: When you telnet to the IP address of the Itron device with the correct port (8081), does it respond? Is it expected to respond?

Is there some way for me to test if the meter is responding as it should so that I can figure out if my problem is Xcel or if the problem is Home Assistant? Thanks!

BTW, if you find that your Itron Xcel energy meter is having trouble connecting to your network, it might be due to the DHCP settings. My TP-Link router had, by default, a 192.168.68.0/22 subnet, which is a weird subnet to have! When I changed it to /24, that solved the connection issue.

I experienced a very different timeline in my resolution of this issue. My meter stopped updated on July 1, 2025 at 10:00 PM. I sent an email to the launchpad email address on July 2 at 8:00 AM. I realized I had forgotten to include my account number, so I replied to my own email on July 2 at 2:00 PM including my account number.

I waited about a week, especially due to the 4th holiday before calling. I got ahold of a very nice person on Monday July 7, at 9:15 AM. She informed me that the Launchpad team is actually a part of the Electric Vehicle Charing group, and she told me several times that they are “a small goup” within the company. She told me that someone Should get back to me within 24 hours, but maybe give it two business days.

No response 47 hours later so I called again on Wednesday July 9 at 8:15 AM (all times MDT, Xcel is likely in CDT). When I got ahold of this person she said that it has not yet been 48 hours. I agreed, but was like "should I call back in 30 minutes then (as I was on hold for half an hour)?

The person I spoke with then sent me an email at 8:47 AM (shortly after the call) with the following:

We just got off the phone about your launchpad issues and I have contacted our support management team, and they informed me it will take a few days to get a restart for your meter and will email you once they have completed that task.

Thank you for your patience,

Today, Thursday, July 10 at 10:51 AM my meter is now working again. I have not received an email from them indicating that they did anything. Maybe they will send one later.

Things to note: if your meter stops respinding but is working on your wifi and no errors in the add on/docker container, send the email, but also call them. Hope that your meter does not go down during the 4th of july holiday as maybe there is like only one person who can click the button to reboot your meter and if they are on vacation, you just have to wait.

If this was going to just be a one day event, I was planning to back fill the hours with data from my Sense monitor. Now that it has been out for more than 192 hours, I’m not sure I have the tenacity to punch in that many numbers into the statistics editor. Has anyone else found a good way to fix the data after this kind of issue? Maybe I will just update the daily totals so my monthly and yearly charts are fine.

I can’t figure out if my problem is my meter or Home Assistant. Are you able to ping the IP address of your Itron meter? Are you able to telnet to it on port 8081?

My meter is back to working again. I cannot ping it.

$ telnet 10.xx.xx.xx:8081
Server lookup failure:  10.xx.xx.xx:8081:telnet, Name or service not known

The only way I know that it is “connected” is by checking my router to see if it is populated, and to check the xcel itron add on log to see that it successfully connected. Now I also need to know that if it all looks good, but i’m not getting any data, the meter needs to be rebooted.

Are you getting any details in the add on log?

Thanks for writing back!

That is not the proper way to use telnet. You need to use a space instead of a colon:

telnet 10.x.x.x 8081

In the add-on log, I just see that it’s unable to connect. It says “Failed to establish connection”.

WARNING: Retrying xcelMeter.xcelMeter.setup in 15.0 seconds as it raised ConnectionError: HTTPSConnectionPool(host='192.168.68.106', port=8081): Max retries exceeded with url: /sdev/sdi (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f81f03950>: Failed to establish a new connection: [Errno 111] Connection refused')).

I can see that it is trying to use HTTPS. HTTPS is a protocol for which telnet ought to work. For example, google.com uses https for web connections and if you try:

telnet google.com 443
Trying 142.250.72.46...
Connected to google.com.
Escape character is '^]'.



FConnection closed by foreign host.

You’ll see that it does connect. If you hit enter a couple of times, it’ll kick you out. But it at least connect. For my Itron, it doesn’t even connect:

└──> telnet 192.168.68.106 8081
Trying 192.168.68.106...
telnet: Unable to connect to remote host: Connection refused
Exit code: 1                                                                                        

I’m trying to diagnose if the problem is the Itron or me. Can you please try the telnet again, with space instead of colon, and let me know if it connects and then kicks you out or if it doesn’t even connect in the first place. Because if yours is connecting and mine isn’t, then the problem is Itron.

Looking through the code here, it seems that it should be discoverable by the Bonjour service (called avahi on Linux). If you have it, can you try to run avahi-browse -t --all? It’ll list all the devices on your network and maybe include the Itron meter, too. Or maybe not!

I did notice that the Itron meter is kind of finicky about its network configuration. It was unwilling to connect to my network until I fixed the DHCP to be a different subnet. So maybe it’s something in my network that is screwy. Maybe I’ll try a different router, too.

$ telnet 10.x.x.x 8081

Trying 10.x.x.x...

Connected to 10.x.x.x.

Escape character is '^]'.

Connection closed by foreign host.

It appears to do something. I hope this helps.

Yes, that does help. It tells me that the problem is with the meter and not with home assistant. It might be some more subnet stuff that I need to sort out. Maybe it’s the router? I will try connecting my xcel meter to a different brand of router and see if that makes a difference. Thanks for doing that!

I am relatively new to HA and so far have been unable to get this add-on to work. My meter is showing up when I scan my network and using netcat I am able to see that it’s there, although using telnet it won’t connect. The meter shows up in Xcel’s Launchpad:

Here is the log from starting the add-on:

The only certs that have been created were done by the add-on the first time it ran. If I use the terminal & SSH add-on I can see the files exist:

Here is how the add-on is configured:

The LFDI is setup on Launchpad as this:

I think this identifies all of the variables under my control regarding the issue. The connection to the meter is being refused, which to me would indicate a cert problem? For example, in the log it also states that it is creating the cert directory and that cert & key files are missing yet looking at the files shows that they are there.

I would really appreciate any ideas or suggestions on things to check or do. I’ve contacted Xcel three times over the last 3 weeks and am not getting anywhere since they will escalate the problem to the Launchpad “team” but I never hear back from them.

Thanks in advance!!

I can post set-up details and the entire error log if necessary, but can someone direct me towards where to fix this error I get in the add-on log:

./run: line 41: MQTT_TOPIC_PREFIX: unbound variable
[18:53:08] INFO: Service Xcel iTron2MQTe exited with code 1 (by signal 0)

I had the same problem as you, I think! Go look at my messages above.

I diagnosed two things:

Check subnet

First, it was important that my router’s DHCP was configured to use a /24 subnet. Without this, I didn’t even see Itron connecting to my router. Without this, my TPLink Deco app which lists all the devices connected to my network did not even list the “Itron” device. Make sure that you can see the “Itron” on your network and that the IP address matches

Check connection to port 8081

After you get the above working, check that port 8081 is responding. If you know what telnet is, you can telnet to the meter’s IP address with port 8081. It should connect and not kick you out immediately. Read my messages above about to do a telnet.

Alternatively, in the same terminal where you did the other commands, type:

apk update
apk add busybox-extras
nmap -v -sT 10.10.1.196 8081

If it is working then you should see around 20 lines of text which includes:

PORT     STATE SERVICE
8081/tcp open  blackice-icecap
MAC Address: B4:23:30:xx:xx:xx (Itron)

Or it might be a different MAC Address. It should be open. It should be Itron.

If you see those lines then the device is working and the problem is elsewhere. If not, then your device is not working and it needs a reset. Send email to [email protected] with your Xcel account number and ask them to examine the logs of your Itron device and confirm that the “container” has no errors. In my case, they saw an error in the logs and it was repaired within a day.

Thanks so much for this, @eyal0! Subnet is good, and I am able to see the meter when I scan the subnet with LanScan. I then ran the “apk” update & add. The “nmap” command worked, however the output shows an inability to connect.

➜ ~ nmap -v -sT 10.10.1.196 8081
Starting Nmap 7.97 ( https://nmap.org ) at 2025-07-30 16:02 -0500
Initiating Parallel DNS resolution of 1 host. at 16:02
Completed Parallel DNS resolution of 1 host. at 16:02, 3.44s elapsed
Initiating System DNS resolution of 1 host. at 16:02
Completed System DNS resolution of 1 host. at 16:02, 0.00s elapsed
Initiating ARP Ping Scan at 16:02
Scanning 10.10.1.196 [1 port]
Completed ARP Ping Scan at 16:02, 1.42s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 16:02
Completed Parallel DNS resolution of 1 host. at 16:03, 4.50s elapsed
Nmap scan report for 10.10.1.196 [host down]
Initiating Ping Scan at 16:03
Scanning 8081 (0.0.31.145) [4 ports]
Completed Ping Scan at 16:03, 3.03s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 16:03
Completed Parallel DNS resolution of 1 host. at 16:03, 4.50s elapsed
Nmap scan report for 8081 (0.0.31.145) [host down]
Read data files from: /usr/bin/…/share/nmap
Nmap done: 2 IP addresses (0 hosts up) scanned in 17.06 seconds
Raw packets sent: 10 (360B) | Rcvd: 0 (0B)

I will send the email as you suggested, as I mentioned before calling them doesn’t work.

Another test, if you know how, is that when you telnet to the IP address with the port number 8081, it should wait for you to type something and not just kick you out immediately. When my device was not working, I get rejected immediately. When it was working, it connected and I was able to type to it. I would type enter three times and then it would kick me out.

If they haven’t solved it for you in a week, contact me again and I can provide some more info.

After emailing Xcel, I tried the nmap command again. It now finds port 8081 but says it is “closed”. Here are the results:

➜ ~ nmap -v -sT 10.10.1.196 8081
Starting Nmap 7.97 ( https://nmap.org ) at 2025-08-10 11:30 -0500
Initiating Parallel DNS resolution of 1 host. at 11:30
Completed Parallel DNS resolution of 1 host. at 11:30, 3.26s elapsed
Initiating System DNS resolution of 1 host. at 11:30
Completed System DNS resolution of 1 host. at 11:30, 0.00s elapsed
Initiating ARP Ping Scan at 11:30
Scanning 10.10.1.196 [1 port]
Completed ARP Ping Scan at 11:30, 0.17s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 11:30
Completed Parallel DNS resolution of 1 host. at 11:30, 0.50s elapsed
Initiating Ping Scan at 11:30
Scanning 8081 (0.0.31.145) [4 ports]
Completed Ping Scan at 11:30, 3.02s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 11:30
Completed Parallel DNS resolution of 1 host. at 11:30, 4.50s elapsed
Nmap scan report for 8081 (0.0.31.145) [host down]
Initiating Connect Scan at 11:30
Scanning 10.10.1.196 [1000 ports]
Completed Connect Scan at 11:30, 10.08s elapsed (1000 total ports)
Nmap scan report for 10.10.1.196
Host is up (0.039s latency).
Not shown: 999 filtered tcp ports (no-response)
PORT STATE SERVICE
8081/tcp closed blackice-icecap
MAC Address: B4:23:30:18:78:62 (Itron)

Read data files from: /usr/bin/…/share/nmap
Nmap done: 2 IP addresses (1 host up) scanned in 21.71 seconds
Raw packets sent: 9 (332B) | Rcvd: 1 (28B)

There is no change in my ability to read my Xcel usage data. I also have not heard or seen any response from Xcel Energy.

You mentioned some additional troubleshooting or steps I can take? I’m all ears!

For what it’s worth, I too am no longer getting data from my meter. I am able to connect to it via telnet okay. I’ve emailed and am awaiting a response.

Just to add to the comments here, I live in Aurora, CO (an Xcel region), and over the past few months that I’ve been accessing the Itron Riva Gen5 I’ve had a mostly positive experience, with some issues:

  • It’ll go weeks producing readings every 5-10 seconds, which is nice
  • Sometimes it’ll inexplicably stop producing readings, at which point I visit the “Manage Meters and Devices” page
    • I’ll find invariably that it reports it’s not connected to my wireless network
    • I’ll submit my network info again, to which it responds “Connection Unsuccessful” but will usually start working again within 5 to 10 minutes
      • From inspecting the “aura” requests the page makes, it doesn’t report the actual error that the backend is producing; often the error will be “the device has a pending HAN (home area network) request”, which it just reports as “Connection Unsuccessful”
  • For a week in July, it was producing readings that were stuck at 9am July 21st, 2025. I curl’d the device with the certs created by the add-on and got a response, but the timestamp was just that one from July 21st.
    • I contacted Xcel and they eventually did something to fix it; I assume they rebooted the meter but I’m not sure.
    • It’s been working since then, though, with some occasional hiccups maybe weekly as mentioned above

In order to get the thing to connect at all, I had to mount an outdoor wireless access point right next to the meter, then extend one of the antennas and literally drape it over the meter.

Questions for others:

  • do you find that it’s flaky and you have to reconnect to the network?
  • anyone ever got the “stuck readings” issue?
  • do you all need to have a WAP right next to the meter, or can it access your home WAN?