HVAC-Talk: Heating, Air & Refrigeration Discussion banner
1 - 20 of 22 Posts

access_max

· Registered
Joined
·
93 Posts
Discussion starter · #1 ·
Hi All,

What is this port used for? I can read it, just wondering where I can get more information on this. I have searched google tirelessly and can't find anything, called AO smith and guy says it has not been implemented yet, but I connected my RS485 on the data lines an there is traffic being communicated. I tried different modbus daud rates, not sure what protocol it is talking. I have an home automation system and would to interface to it.

 
Hi All,

What is this port used for? I can read it, just wondering where I can get more information on this. I have searched google tirelessly and can't find anything, called AO smith and guy says it has not been implemented yet, but I connected my RS485 on the data lines an there is traffic being communicated. I tried different modbus daud rates, not sure what protocol it is talking. I have an home automation system and would to interface to it.
See page 19 on this pdf.
https://www.hotwater.com/lit/im/res_elec/100262724.pdf

The idea was to hook it up to the utility to reduce usage during critical peak... a sort of Auto-DR program.
Emerson got a grant to develop the adapter a while back, but it clearly hasn't gained much traction.
https://www.greentechmedia.com/arti...edia.com/articles/read/the-water-heater-to-smart-grid-connector-goes-commercial

You'd have to check with your local utility to see if one is available for your area. Beyond that, you won't be able to integrate this residential water heater into your home automation system without knowing the protocol and baud rate used, my bet is they're using MODBUS.
 
Did you ever find more info? - I just had a had an hptu-66N installed with the same info... I'd really like to set a schedule or hook it to google home/alexa/ifttt - curious if the iris by lowes conroller works with it - one person on amazon said no... it's odd that controller looks like it was made by ao smith but only works with whirlpools according to the doc???
 
Super Old article, but still worth bringing back to the surface.

I wanted to share with yall some other findings I'm been digging into. I have a rebranded AO smith heatpump water pump that is sold by Kenmore Elite. Its the same machine though. The rebranded Kenmore IOT module still works with the Kenmore Smart app, but not very well. I wanted to add that the J2 connector has a direct connection to the wifi modules Tx and Rx pins so you can interface them from there a bit easier. It also has a 3.3 v and ground pin. Also the waterheater uses RS-485 to communicate using the A-B data wires. You can read the binary stream with any RS-485 to usb converter. I am still working on translating the stream. The baud is 19200 ,8N1 and the termination string is 820082. This will save you huge amounts of time. There are multiple binary strings sent. The protocol is AO smiths own proprietary network called AOSmith AINP. The payload that is sent every second or so is 208 bytes. The SetPoint and tank temperatures are about 140 bytes into the stream. and look like this, in the bigended format which means the leading two zeros go after the 52 to make a 16 bit number(word): 0052004A004C004A
translates to Setpoint: 0x5200 Temp1:0x4A00, Temp2:0x4C00 Total Temp: 0x4A00.
so for example: 0x5200 is 20992 in 10 base(decimal), then divide by 512 and get 41 degrees Celcius.
Thats 100F degree set point on my heater. The other measurements are tank temperatures and are done the same way.

There is an instructable article if you search for: AO-Smith-Water-Heater-Monitor-Lowes-IRIS on their site. I can't post links yet.

Does anyone have a translation table for AOSmith AINP?
 
ICC's gateway products support AO Smith's AIN protocol. These products are typically used on AO Smith's commercial water heaters (BTH - BTX and DVE - DSE models) to provide Modbus or BACnet output. These gateway's are general-purpose, user-configurable gateways. AO Smith worked with ICC to develop their own configurations for the gateways to map the water heater's parameters to Modbus or BACnet.

The residential water heaters support the same protocol. While I don't believe AO Smith has created configurations for ICC's gateways for residential water heater applications, the gateways can be configured by anyone and are capable of accessing any AIN parameter. You would need to contact AO Smith's Electronics Group (contact information is available in AO Smith's instruction manual in the link below) to inquire whether they can send you the parameter list or would entertain creating a configuration for you.

Since the ICC gateways are targeted for commercial markets, they do not support IoT protocols, such as MQTT. However, some home automation servers (Home Assistant and OpenHAB, for example) do support Modbus.

AO Smith's page on this application can be found here:
https://www.hotwater.com/water-heaters/commercial/accessories/bms-and-ems-controls/

Here are the links to ICC's products:
Mirius - Serial Protocols such as Modbus RTU or BACnet MS/TP
http://www.iccdesigns.com/protocol-gateways/66-mirius.html

ETH-1000 Ethernet protocols such as Modbus/TCP, BACnet/IP, EtherNet/IP or PROFINET
http://www.iccdesigns.com/millennium-series/10-eth-1000.html
 
I found that the Kenmore Elite HP water heater is a rebranded AO Smith. The Kenmore Elite 153.592500 is the same as the OA Smith HPX-50. The Kenmore 58000 smart control module and Smart App should work. I just purchased one today. Ill replay if it worked or not.
 
Hi everyone here, I'm assuming most will want to use this port to control it with Home Assistant. This is now possible and fairly easy. Google EnergySmartBridge by Starsoccer on github. It's an addon that can talk to the Energy Smart water heater controllers from Lowes (which are super cheap on eBay since the service has shut down). The only thing is it takes a small amount of technical know-how because it requires you to redirect DNS requests on your home network to home assistant. As far as I'm concerned though it's case closed. It works and it's pretty easy. No hardware hacking required.
 
Getting closer

Super Old article, but still worth bringing back to the surface.

I wanted to share with yall some other findings I'm been digging into. I have a rebranded AO smith heatpump water pump that is sold by Kenmore Elite. Its the same machine though. The rebranded Kenmore IOT module still works with the Kenmore Smart app, but not very well. I wanted to add that the J2 connector has a direct connection to the wifi modules Tx and Rx pins so you can interface them from there a bit easier. It also has a 3.3 v and ground pin. Also the waterheater uses RS-485 to communicate using the A-B data wires. You can read the binary stream with any RS-485 to usb converter. I am still working on translating the stream. The baud is 19200 ,8N1 and the termination string is 820082. This will save you huge amounts of time. There are multiple binary strings sent. The protocol is AO smiths own proprietary network called AOSmith AINP. The payload that is sent every second or so is 208 bytes. The SetPoint and tank temperatures are about 140 bytes into the stream. and look like this, in the bigended format which means the leading two zeros go after the 52 to make a 16 bit number(word): 0052004A004C004A
translates to Setpoint: 0x5200 Temp1:0x4A00, Temp2:0x4C00 Total Temp: 0x4A00.
so for example: 0x5200 is 20992 in 10 base(decimal), then divide by 512 and get 41 degrees Celcius.
Thats 100F degree set point on my heater. The other measurements are tank temperatures and are done the same way.

There is an instructable article if you search for: AO-Smith-Water-Heater-Monitor-Lowes-IRIS on their site. I can't post links yet.

Does anyone have a translation table for AOSmith AINP?
I'm still trying to access the raw rs485 data and can get a dump, but I don't know what to do with it. I can't seem to readline() so I am getting a concatenated bunch of data from read(1000), which is making it harder to decode. Any hints or code you can share?
>>> x = RS485.read_until(b'820082')
>>> x
b'\x00\r\x00\x00\xfe@\r\x12\x00\r\x00<\x00x\x00\x08\x00\x80\x00\x80\x01\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x01\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x01\xae\x8c\x00\x8c\x90\x00\x90\x10\t\x01\x16\x00\x02\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00TI\xd3\x82\x00\x82\x02 \x01\x16\x00\x01\x00\x00\x00 \xe9\x11\x00\x009\x12\x00\x00\xa1\x19\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\x00 \xe9\x11\x00\x009\x12\x00\x00\xa1\x19\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c@@\x08\x1e\x00\x00\x00\x01\x00\x80\x00\x00\x00\x00\x00\x00{+z\x80\x9a0@\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\xe2\x00\x00\x00\x00\x17j\x00\x00\xff\x9f\x00\x00\x00\x00\x00\x00@\xe3\x00\x87&\x00\x1f@\x00!\x02\x06\xb2\x00\x00\x00HPHE6280H045DV 130 AMER HPWH\x00\x00123862978\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9@\x0b\r\x02\x00j\x00f\x00d\x00j\x00\x00\xf9\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00\x00\xfc@\r\x12\x00\r\x00<\x00x\x00\x08\x00\x80\x00\x80\x01\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x01\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x01\xae\x8c\x00\x8c\x90\x00\x90\x10\t\x01\x16\x00\x02\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00TI\xd3\x82\x00\x82\x02 \x01\x16\x00\x01\x00\x00\x00 \xe9\x11\x00\x009\x12\x00\x00\xa1\x19\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\x00 \xe9\x11\x00\x009\x12\x00\x00\xa1\x19\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c@@\x08\x1e\x00\x00\x00\x01\x00\x80\x00\x00\x00\x00\x00\x00{*z\x80\x9a0@\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\xe2\x00\x00\x00\x00\x17j\x00\x00\xff\x9f\x00\x00\x00\x00\x00\x00@\xe3\x00\x87&\x00\x1e@\x00!\x02\x06\xb2\x00\x00\x00HPHE6280H045DV 130 AMER HPWH\x00\x00123862978\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9@\x0b\r\x02\x00j\x00f\x00d\x00j\x00\x00\xf9\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00\x00\xfc@\r\x12\x00\r\x00<\x00x\x00\x08\x00\x80\x00\x80\x01\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x01\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x01\xae\x8c\x00\x8c\x90\x00\x90\x10\t\x01\x16\x00\x02\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00TI\xd3\x82\x00\x82\x02 \x01\x16\x00\x01\x00\x00\x00 \xe9\x11\x00\x009\x12\x00\x00\xa1\x19\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\x00 \xe9\x11\x00\x009\x12\x00\x00\xa1\x19\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c@@\x08\x1e\x00\x00\x00\x01\x00\x80\x00\x00\x00\x00\x00\x00{*z\x80\x9a0@\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\xe2\x00\x00\x00\x00\x17n\x00\x00\xff\x9f\x00\x00\x00\x00\x00\x00@\xea\x00\x87&\x00)@\x00!\x02\x06\xb2\x00\x00\x00HPHE6280H045DV 130 AMER HPWH\x00\x00123862978\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9@\x0b\r\x02\x00j\x00f\x00d\x00j\x00\x00\xf9\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00\x00\xfc@\r\x12\x00\r\x00<\x00x\x00\x08\x00\x80\x00\x80\x01\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x01\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x01\xae\x8c\x00\x8c\x90\x00\x90\x10\t\x01\x16\x00\x02\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00TI\xd3\x82\x00\x82\x02 \x01\x16\x00\x01\x00\x00\x00 \xe9\x11\x00\x009\x12\x00\x00\xa1\x19\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\x00 \xe9\x11\x00\x009\x12\x00\x00\xa1\x19\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c@@\x08\x1e\x00\x00\x00\x01\x00\x80\x00\x00\x00\x00\x00\x00{+z\x80\x9b0@\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\xe2\x00\x00\x00\x00\x17n\x00\x00\xff\x9f\x00\x00\x00\x00\x00\x00@\xe3\x00\x87&\x00$@\x00!\x02\x06\xb2\x00\x00\x00HPHE6280H045DV 130 AMER HPWH\x00\x00123862978\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9@\x0b\r\x02\x00j\x00f\x00d\x00j\x00\x00\xf9\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00\x00\xfc@\r\x12\x00\r\x00<\x00x\x00\x08\x00\x80\x00\x80\x01\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x01\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x01\xae\x8c\x00\x8c\x90\x00\x90\x10\t\x01\x16\x00\x02\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00TI\xd3\x82\x00\x82\x02 \x01\x16\x00\x01\x00\x00\x00 \xe9\x11\x00\x009\x12\x00\x00\xa1\x19\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\x00 \xe9\x11\x00\x009\x12\x00\x00\xa1\x19\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c\x00\x00\r\x0c@@\x08\x1e\x00\x00\x00\x01\x00\x80\x00\x00\x00\x00\x00\x00{+z\x80\x9b0@\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\xe2\x00\x00\x00\x00\x17n\x00\x00\xff\x9f\x00\x00\x00\x00\x00\x00@\xe3\x00\x87&\x00$@\x00!\x02\x06\xb2\x00\x00\x00HPHE6280H045DV 130 AMER HPWH\x00\x00123862978\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9@\x0b\r\x02\x00j\x00f\x00d\x00j\x00\x00\xf9\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00\x00'
 
I was researching this topic for my own heat pump water heater and just came across some details that might be useful to everyone:
The interface ports on these water heaters are a standard port called CTA-2045.
The best document I found so far is located at the CTA web site (shop.cta.tech). Look for "Modular Communications Interface for Energy Management (ANSI/CTA-2045-B)"
Free to download.
That has -all- of the technical details for both hardware and the software protocol.
 
I'll have a look!
I'm making progress on the RS485 data. I really only need to get the value for when it is running/heating or not now, which is all I care about in addition to the temperatures, which I think I have now:

02006a00680068006c0000f9ffff0000000000000000000d
Setpoint: 127.4 UpperTemp: 125.60000000000001 LowerTemp: 125.60000000000001 MaxTemp: 129.2

I'll probably post my simple code on github with some instructions. I am hoping to eliminate the need for any device other then a microcontroller or raspberry pi with an RS485 interface.
My heater seems to require a device being plugged into the com port in order to enable the RS485 stream. I'm hoping I can figure that out too.
 
@RMG84 - wondering if when you added the Kenmore module if you found a way to set the "Hybrid" mode to be on at certain times, and "Electric" mode at others - I'm trying to optimize the use, but am very very (very) non-technical (both wirelessly and HVACly).
Thank you
 
I forgot to add...for a HPTU-80N if that matters. (I do see some info on the Home Assistant page but not sure I'm technical enough to figure that out.
@RMG84 - wondering if when you added the Kenmore module if you found a way to set the "Hybrid" mode to be on at certain times, and "Electric" mode at others - I'm trying to optimize the use, but am very very (very) non-technical (both wirelessly and HVACly).
Thank you
 
I'll have a look!
I'm making progress on the RS485 data. I really only need to get the value for when it is running/heating or not now, which is all I care about in addition to the temperatures, which I think I have now:

02006a00680068006c0000f9ffff0000000000000000000d
Setpoint: 127.4 UpperTemp: 125.60000000000001 LowerTemp: 125.60000000000001 MaxTemp: 129.2

I'll probably post my simple code on github with some instructions. I am hoping to eliminate the need for any device other then a microcontroller or raspberry pi with an RS485 interface.
My heater seems to require a device being plugged into the com port in order to enable the RS485 stream. I'm hoping I can figure that out too.
Very interested in this, would love to be able control the temperature from my home assistant. Since its RS485 it looks like an ESP32 with a MAX485 could work... How are you connecting to the COM port? I've got a standard Rheem Gas model with what appears to be a two or four pad COM connector. Haven't had a chance to pop the lid of the control box. Curious about your progress...
 
no. It just allows you set the temperature (the max allowable on the app is what is physically set on the WH), and the mode. There is no scheduling just open the app and make changes.
 
I forgot to add...for a HPTU-80N if that matters. (I do see some info on the Home Assistant page but not sure I'm technical enough to figure that out.
no. It just allows you set the temperature (the max allowable on the app is what is physically set on the WH), and the mode. There is no scheduling just open the app and make changes.
Edit / DeleteEdit Post Quick reply to this messageReply Reply With QuoteReply With Quote Multi-Quote This Message
 
AO SMITH HPTU-66

Just installed the Kenmore smart controller. Works fine with the smart app and AO SMITH HPTU-66. However I cannot schedule it to switch to electric mode early am and then switch back to energy saver late am.
 
I gotta say, I never wuda thought such an odd and obscure thingamajig could have a thread with such staying power.

There ya go
 
Very interested in this, would love to be able control the temperature from my home assistant. Since its RS485 it looks like an ESP32 with a MAX485 could work... How are you connecting to the COM port? I've got a standard Rheem Gas model with what appears to be a two or four pad COM connector. Haven't had a chance to pop the lid of the control box. Curious about your progress...
I'm looking back at this thread to see if anyone figured out the serial command string to change the mode and temp. I am able to gather the working mode and temp settings and current temp as described in my post above. I am using a raspberry pi pico with an rs485 adapter connected to the rs485 A and B of the water heater. The same thing works with a regular raspberry pi and an rs485 adapter of course. It should work with anything that can read rs485. I'm really interested in changing the mode because these units are programmed to force themselves back into hybrid no matter what you do. The electric only setting lasts for about 24 hours on mine. I'm happy to share the details if anyone needs help with what I have working already. I don't seem to get notifications from this forum though. Try me at mrdetweiler at hot mail dot com.
 
1 - 20 of 22 Posts
You have insufficient privileges to reply here.