Carrier Infinity integration

I got infinitive setup this week using Will1604’s fork and it’s working, but the logs are flooded with the “retransmitting frame” and “action time out”. See snippet of log below. Is anyone else experiencing this? I seem to be able to control the thermostat, but it’s slow to update. I’m trying to figure out if this is normal. I tried switching from a raspberry pi zero w to a raspberry pi 3 to see if that would help, but it didn’t. Any suggestions?

Mar 14 01:13:59 raspberrypi infinitive[463]: time="2019-03-14T01:13:59Z" level=info msg="encoded frame: 9201 -> 2001: READ     003b03"
Mar 14 01:14:00 raspberrypi infinitive[463]: time="2019-03-14T01:14:00Z" level=debug msg="timeout waiting for response, retransmitting frame" <-- this line normally repeats 5 times between reads.
Mar 14 01:14:00 raspberrypi infinitive[463]: time="2019-03-14T01:14:00Z" level=debug msg="transmitting frame: 200192010300000b003b03ecba" <-- this line normally repeats 5 times between reads.
Mar 14 01:14:00 raspberrypi infinitive[463]: time="2019-03-14T01:14:00Z" level=info msg="action timed out"

@mww012 Thank you for making the HA component.
@Tj_Davis Thank you for providing the steps you used to get things working.

1 Like

Yes I see the same issue in my log file. It does work overall though.

[root@server log]$ zcat infinitive.log-20190311.gz | grep -c 200192010300000b003b03ecba
15626
[root@server log]$ zcat infinitive.log-20190311.gz | grep -c "timeout waiting for response, retransmitting frame"
2266
[root@server log]$ zcat infinitive.log-20190311.gz | wc -l
234213

I know that people have had issues if they went with stranded cable vs solid core. Not sure what you’re using there. From my reading, the serial protocol has some architecture issues where you’ll have collisions on the bus because it doesn’t do any kind of CSMA/CD. If you don’t have a physical issue with the cable you may be seeing collisions of the original packet or the acknowledgement. Not really anything we can do about it from what I can tell.

I’m using solid 18AWG for the wiring. I assumed that would be sufficient. What are you using for cables and are you not seeing the timeouts in your logs? In my logs ~5 out of 6 logs are timeouts. It’s very frequent.

The collision issue could certainly cause some problems, but I wouldn’t think it would be so frequent. I could be wrong though. I may probe the signals with an oscilloscope to see if I can figure out what’s going on. Probably won’t be of much use, but it’s worth a shot.

I’m sure 18AWG would be sufficient. I had some leftover in the attic that was about that size. That’s what I’m using. And you’re right, I wouldn’t expect to be seeing that many timeouts. I’d imagine your cable run is relatively short so I wouldn’t expect noise on the line to be a problem. You could report an issue in Will1604’s Infinitive repo. I’ll keep looking and see if I can find anything that may help.

I’m using 20AWG solid wire for my runs, and I saw the same thing on Infinitive. I also have seen crashing issues on infinitude, which may be related to this as well, but not able to fully confirm, as it could be something else that is going on with the serial bus. I can’t imagine that the wire is “bad” on my 20 ft run.

Anyone running this on 0.91.0? @mww012 @bdf0506 @semlethe3rd

I just upgraded and it stopped working. I think the key message in the log is:

ImportError: cannot import name ‘STATE_AUTO’ from ‘homeassistant.components.climate’ (/usr/local/lib/python3.7/site-packages/homeassistant/components/climate/init.py)

Actually I found an issue with the way that it was setup and fixed it (I had it at climate/infinitive.py instead of infinitive/climate.py). I did, however, have to comment out these lines (starting at 234) in climate.py in order to get it to work:

        #self._heatpump_coil_temp = self._status['heatpump_coilTemp']
        #self._heatpump_outside_temp = self._status['heatpump_outsideTemp']
        #self._heatpump_stage = self._status['heatpump_stage']

Just posting this follow-up in case it helps anyone.

I’ve actually been out of town for the last few weeks and haven’t upgraded. It’s on my to-do list for next week and I’ll report back after I give it a shot. Thanks for the heads up.

@Tj_Davis Can you be a bit more specific with steps 16 and 17? I have Infinitive up and running but am struggling to get it connected to HA. This is my first custom component…

@scott.parmenter How are you running Home Assistant, is it hass.io or something else? If you can give me some details on that, I’ll try to send some more detailed info tomorrow.

Please “tag” me again when you respond otherwise I don’t get notified that there’s a new comment. Thanks.

@Tj_Davis I’m running Hass.io. Thanks for your help. I see there is both an API wrapper and a custom component for Infinitive. Trying to figure our what goes where in the config directory.

@scott.parmenter the api wrapper should be automatically pulled when Home Assistant starts up the custom component. It’s hosted via pypi and will get pulled from there.

The custom component should be put under your custom_components directory in your HA installation.

So your end result should be…
.homeassistant/custom_components/infinitive/climate.py, and __init__.py

Thanks @Tj_Davis. I tried that yesterday along with the settings in the config file and HA would not boot. I’ll give it a try again tonight and let you know how I make out. Thanks

@scott.parmenter Can you send a screenshot of your components directory, your HA config and also of the last several lines of the log file if possible?

I’m also having some trouble adding @mww012’s custom component to my HA. I’m running hass.io in docker on raspbian and HA is version 0.92.1. I have the init.py and climate.py files in a custom_components folder within my config folder:
image
When I add these lines into my configuration.yaml, I lose access to HA from the 192.xxx.xx.xxx:8123 address:
image
I don’t lose ssh access to the pi, so I just end up commenting out those lines and restarting the docker container. The only error in the log pertaining to the custom component is this: “2019-05-07 00:42:23 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for infinitive which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.”

Infinitive is working in another tab so it’s just adding the custom component to HA that I’m struggling with. Has anyone had success with the custom component on 0.92?

Edit: also tagging @Tj_Davis

@strikeir13 and @Tj_Davis this is the exact issue I am having. Same error messages and everything. I’m on 0.92.2.

I just ran into this yesterday. Thought it was just me but obviously not. I don’t yet know what causes it. I’ve turned on debugging for the component but get nothing. Hell, I turned debugging on for everything and there was still nothing in the logs of any help. It’s the weirdest issue I’ve hit with HA. Running netstat -plnt shows HA isn’t even listening on port 8123 anymore. As soon as I comment out the infinitive config everything works again. Any help here would be appreciated. I’ll let you guys know if I find anything.

I am currently on .91.4 and all is well. I did have an issue when I went to .91 where I had to comment out 3 lines in the climate.py file because they were breaking the component. However, I don’t think it was causing it to stop listening on 8123. I think HA just wouldn’t start so that was probably a separate issue. Just in case, though, these are the lines that I commented out:

    #self._heatpump_coil_temp = self._status['heatpump_coilTemp']
    #self._heatpump_outside_temp = self._status['heatpump_outsideTemp']
    #self._heatpump_stage = self._status['heatpump_stage']

For now I probably won’t be of much help because I don’t want to upgrade and break mine. I am getting a new Raspberry Pi delivered tomorrow for my new project (connecting Home Assistant to my AquaLink pool controller! :grimacing:) so maybe I’ll clone my production system and setup a dev environment to see if I can do some testing. In the mean time, let me know if commenting the code out above happens to fix it.

@mww012 @scott.parmenter @strikeir13

@Tj_Davis I’ve been reading through the changelog for 0.92. There are a few fixes in there that may have an impact but I don’t have the skill set to really dig into it. If I can’t find anything myself I’ll put in a github issue and see if I can get some help on slack. The frustrating part is that there aren’t any logs of any help. Everything else seems to work apart from the UI. All my automations work, HA stands up a port to listen on for my konnected.io boards, just no UI.

I’ll comment out those lines and let you know how it goes.