How do I connect Home Assistant to my Sensi Thermostat

I just finished installing my first Home Assistant server (running in a Hyper-V VM) and in the Discovered devices it found my two Sensi thermostats. However trying to configure these seems to require HomeKit. I found and entered what appears to be the correct pairing code printed on a label on my Sensi devices but HA rejects it saying “Incorrect HomeKit code. Please check it and try again.”

AFAIK HomeKit is an Apple specific product. I do not have any Apple stuff in my house (personal preference). So am I out of luck? Do I need to setup something else to get this working? Can it be done without HomeKit?

I must say that it seems funny that HA can detect my Sensi thermostats but won’t actually connect to them.

I’m in the same boat and have the exact same setup. In fact, I could have written your post, right down to HA discovering the Sensis and no Apple stuff. Did you get your Thermostats paired up in HA?

Hi - new to HA and am in the same boat. I found:

… but am still trying to figure out how to install customizations like that.

I am on the same boat as OP

Anyone had luck with getting these thermostats to work via Home Kit? I am looking at picking one up but wanted to be sure the Home Kit integration piece worked. Thanks!

This still works. Thanks @Embergleam!

Hi Kevin: Just wanted to say THANKS for posting this link. It worked for me.

This no longer works as there is no Sensi Thermostat integration to add

It still works… just install it via HACs and it worked. I got my sensi touch thermostat working on HA.

1 Like

Unfortunately had to reinstall HA and came across this thread.

I’m surprised because I have been using my Sensi thermostat with HA as a HomeKit Device for a few years with no issues. Just make sure that you include the dashes when entering the pairing code (ex. 123-45-678). It will not work without the dashes. No Iphone is needed.

I have to admit that the thermostat is a bit touchy. This time it required resetting by detaching from wall plate and removing the batteries and then re-configuring the WiFi connection through the application. Also, my unit is the simple Smart Thermostat, not the touch ones.

This is how it looks like in HA:

I too am using the Sensi integration via Homekit while I have no Apple devices. But I also discovered a slightly better Sensi interface via SmartThings, which I so use a lot.

Once I installed the [GitHub - iprak/sensi:] iintegration, I asked “claude” to create a nice custom card for the sensi thermostat to add to my dashboard, and it came up with a nice looking implementation in javascript that mimic the android app interface. My dashboard is made of 5 columns so the card size fit perfectly in one of the column. Sometimes the settings I push via this card does not stick if I am also connected via the sensi app and I have to push the setting again, but I can live with that.

this implementation only cover basic HVAC modes, heat, cool, off, and basic fan settings : auto, on, Circulate.

other settings that can be set via this card are “activate backlight”, “show humidity” and "show time’, temperature offset and humidity offset. Those affect the sensi thermostat itself


Of couse the schedule part is just for show because there is no entity for that yet, so we can only specify the various schedules in the YAML configuration and use the schedule button to select which one to display on screen, that’s all that it does.

INSTALL:

  1. Copy to /config/www/sensi-thermostat-card.js
  2. Settings → Dashboards → ⋮ → Resources → Add Resource
    URL: /local/sensi-thermostat-card.js Type: JavaScript Module

CARD YAML — all keys:
type: custom:sensi-thermostat-card

here is my sample yaml configuration that allow the overide of the default entities :slight_smile:

type: custom:sensi-thermostat-card
weather_entity: weather.saint_jean_sur_richelieu_forecast
entity_climate: climate.sensi_home
entity_temperature: sensor.sensi_home_temperature
entity_humidity: sensor.sensi_home_humidity
entity_battery: sensor.sensi_home_battery
entity_backlight: switch.sensi_home_continuous_backlight
entity_disp_hum: switch.sensi_home_display_humidity
entity_disp_time: switch.sensi_home_display_time
entity_heat_max: sensor.sensi_home_heat_max_temp
entity_cool_min: sensor.sensi_home_cool_min_temp
entity_temp_offset: number.sensi_home_temperature_offset
entity_hum_offset: number.sensi_home_humidity_offset
schedules:
  - name: Normal Heat
    slots:
      - temp: 20
        time: 10 PM
      - temp: 20
        time: 11:45 PM
      - temp: 20
        time: 7 AM
      - temp: 21
        time: 8 AM
      - temp: 22
        time: 9:30 AM
      - temp: 22
        time: 5 PM
      - temp: 22
        time: 8 PM
      - temp: 21
        time: 9 PM
  - name: Normal Cool
    slots:
      - temp: 22
        time: 10 PM
      - temp: 21
        time: 11:45 PM
      - temp: 22
        time: 7 AM
      - temp: 23
        time: 8 AM
      - temp: 24
        time: 9:30 AM
      - temp: 24
        time: 5 PM
  - name: Vacation Heat
    slots:
      - temp: 22
        time: 10 PM
      - temp: 21
        time: 11:45 PM
      - temp: 22
        time: 7 AM
      - temp: 23
        time: 8 AM
  - name: Vacation Cool
    slots:
      - temp: 28
        time: All day