Git Product home page Git Product logo

sensi's People

Contributors

actions-user avatar bmxpert1 avatar iprak avatar neilbrookins avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sensi's Issues

Websockets=12.0

Updated my install and now I'm getting this error. I'm not sure what I need to install.

Setup failed for custom integration 'sensi': Requirements for sensi not found: ['websockets=12.0'].

Unable to log in

I've unsuccessfully tried using your updated instructions, which are not entirely clear.

When trying to re-install the Home Assistant integration, I get the following prompt:

"Set up Sensi integration. Login with yout (sic) mobile app credentials."
Username: _______________________
Password: ________________________

Can you please be more specific about what goes where? I've tried using my email address in the username field with the "refresh_token" value in the password field. Alternately, if tried the "user_id" value listed in the developer tools window further down from where the refresh_token is. Neither option works.

Thanks!

missing 1 required positional argument: 'message'

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 354, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/sensi/coordinator.py", line 643, in _async_update_data
self._setup_headers(await refresh_access_token(self.hass))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/sensi/auth.py", line 161, in refresh_access_token
result = await _get_new_tokens(hass, refresh_token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/sensi/auth.py", line 81, in _get_new_tokens
raise SensiConnectionError from err
TypeError: SensiConnectionError.init() missing 1 required positional argument: 'message'

Invalid credentials with refresh_token

Followed instructions for 3/14/24 update. Obtained refresh_token, without quotes, from my login to manager.sensicomfort.com and entered it into HA integration request. "Invalid credentials." Result is immediate, integration does not load/"think" during this process.
image

image

Have you considered using HomeKit protocol/integration for HA to control Sensi?

Hey this looks like a really cool project and excited to see HA integration for sensi which is strangely lacking. I've seen reports of ppl connecting the sensi to HA using HomeKit protocol. I was going to give it a shot when I found this project and now I'm curious if y'all have tried that path vs having to reverse engineer the App? Does HomeKit option no longer work or have limited features etc

PS I'll def try installing this on my HA. Thanks for you work!

Get status of thermostat

Hi, thank you for this integration! Is there anyway to get the current status of the thermostat (heating/cooling/idle)? I want to use the status in automations, but I didn't see any entities related to status, only the mode.

Cannot raise temperature, only lower.

The control for temperature appears to be all the way to the end of the range when it’s set for 77 degrees F. I can easily set it colder to 70F but then when I move it the other way 75F is the warmest it will go. I can’t get back to 77F where I started. It’s like it doesn’t know what the full range should be. It’s artificially limiting the range. This is in cooling mode on a Sensi classic, not the touch screen model.
IMG_1710

Error when adding integration

After installation of the integration using HACS and then adding the integration on home assistant, I receive the error :
Config flow could not be loaded: {"message":"Invalid handler specified"}

Aux heat

Is it possible to add an auxiliary heat mode option.?

Compatible with Scheduler?

Hi,

I use this addon:

https://github.com/nielsfaber/scheduler-card

I noticed that with sensi 1.2.3, schedules would initially start, then 30 seconds later the unit would turn off. I downgraded to 1.2.2 and now the unit doesn't turn off after 30 seconds, which is good.

I am seeing that the set point from scheduler doesn't always make it to the thermostat.

Do you know if the scheduler card is compatible with the sensi addon?

Thanks.

Can't login

Hi,

With some problems I'm seeing, I just tried re-installing the addon. I can't login anymore. It says invalid credentials. I am using the credentials to log into the mobile app. I'm stuck.

Heating max setpoint is enforced for cooling

The purpose of the heating max setpoint is to prevent wasting money by not allowing heating to a higher temperature than appropriate. This limit should not be applied to the cooling mode. There is nothing wrong with (and no energy is wasted) setting the thermostat warmer when in cooling mode. But this integration incorrectly prevents the cooling mode from being set warmer than this limit.
The reverse is also the same: The purpose of the cooling min setpoint is to prevent wasting energy by not allowing the operator to set the air conditioning to an unreasonable cold temperature. But this limit should not be enforced in heating mode. The operator should be allowed to heat to a colder temperature- the low limit for heating should be 45 degrees F. But this integration is preventing the operator from setting the heating temperature to below this higher limit. Meaning you can’t heat to 50 degrees F. But this should be allowed. The cooling min setpoint should have no impact on heating.

The heating max setpoint should have no impact on cooling.

Please test this inside the Sensi app and you will see what I’m describing is accurate.

Changing Settings

Changing settings in home assistant doesn't stick... it reverts back to what it was, most of the time. Do I need to do anything else to fix this?

Awesome project, by the way.

Thanks.

Linking Sensi Themostats

Is there any chance you could make it so we can link multiple Sensi thermostats. So if i change the temp on one, the other one changes as well to match it? I have a spare sensi classic, and would like to have it on the wall downstairs and just run it off batteries and not wired to the HVAC. And spending $ each month on Sensi plan isn't something I want or anyone should do.

"Invalid Credentials" No Longer Able To Authenticate

Suddenly, the sensi integration is unable to authenticate. I tried to setup a new instance and still get an "invalid credentials" error. I am able to login to the sensi app with those same credentials. Maybe a auth token issue?

detect fan mode and heat/cool mode

I have 4 Sensi in my house. 3 are for heating, 1 for cooling.

The cooling supports:

_attr_hvac_modes = [
    HVACMode.COOL,
    HVACMode.OFF,
]
_attr_supported_features = (
    ClimateEntityFeature.TARGET_TEMPERATURE | ClimateEntityFeature.FAN_MODE
)      
_attr_fan_modes = [SENSI_FAN_AUTO, SENSI_FAN_ON]  

Heating however only supports (it's baseboard heating with hot water boiler):

_attr_hvac_modes = [
    HVACMode.HEAT,
    HVACMode.OFF
]
_attr_supported_features = (
    ClimateEntityFeature.TARGET_TEMPERATURE
)

I manually patched your code to support that.
I remember there is a way to detect if heating and/or cooling is supported, I just don't remember how.

So my current patch is to switch between those 2 sets by checking the name of my thermostat.
Obviously that is not a generic solution. And I have to patch your code every time.

But it is rather annoying to see modes that are not supported.

Happy to help implement if needed.
Gettting this added would be AMAZING!

Setup fail on 1.1.2 update using HACS

Used update button, then restarted home assistant with Developer tools. After seeing the error, also restarted HA with system menu with same result.
Logger: homeassistant.setup
Source: setup.py:213
First occurred: 9:56:19 PM (1 occurrences)
Last logged: 9:56:19 PM

Setup failed for custom integration sensi: Unable to import component: cannot import name 'StrEnum' from 'enum' (/usr/local/lib/python3.10/enum.py)

Authentication failed

I have been using this Sensi integration for a few weeks. Today I had a notification that the authorization for the Sensi integration was expired. I went to the Integrations page in Home Assistant and clicked "Re-configure" for the Sensi integeration.

A modal box with no text and just a "sleepy eyeball" appeared. I entered my Sensi account password. Authentication failed. I went to the mobile app on my phone and changed the password. I was able to log into the mobile app with the new password. I used the new password in the Sensi integration and again, authentication failed.

Changing temperature temporarily updates 'actual' temperature

The following line updates the actual temperature instead of the heat or cool target temperature!

https://github.com/iprak/sensi/blob/00884efee6d48b34ce195a8cde24511ef9aa87b0/custom_components/sensi/coordinator.py#L224C25-L224C25

        # Assume the operation to succeed, update attribute immediately
        self.temperature = value

Correct code

        # Assume the operation to succeed, update attribute immediately
        if self.hvac_mode == HVACMode.HEAT:
            self.heat_target = value
        else:
            self.cool_target = value

Warning message about load_default_certs (HomeAssistant 2024.9.0)

2024-09-04 18:11:10.953 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to load_default_certs with args (<ssl.SSLContext object at 0x7f1f6e1886d0>, <Purpose.SERVER_AUTH: _ASN1Object(nid=129, shortname='serverAuth', longname='TLS Web Server Authentication', oid='1.3.6.1.5.5.7.3.1')>) inside the event loop by custom integration 'sensi' at custom_components/sensi/coordinator.py, line 652: async with websockets.client.connect( (offender: /usr/local/lib/python3.12/ssl.py, line 713: context.load_default_certs(purpose)), please create a bug report at https://github.com/iprak/sensi/issues
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#load_default_certs
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/main.py", line 223, in
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/main.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked
await self.async_setup(hass, integration=integration)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/sensi/init.py", line 55, in async_setup_entry
await coordinator.async_config_entry_first_refresh()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 281, in async_config_entry_first_refresh
await self._async_refresh(
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 354, in _async_refresh
self.data = await self._async_update_data()
File "/config/custom_components/sensi/coordinator.py", line 621, in _async_update_data
return await self._fetch_device_data()
File "/config/custom_components/sensi/coordinator.py", line 652, in _fetch_device_data
async with websockets.client.connect(

Can't get this to work

So, yes, I am new to HA and all setup. I began by going to the URL provided and tried to sign in. I KINDA think I can sign in, but when i browse around, I only see the part where the site is asking me to pay for a membership. Is this a requirement? I have the app, and it works great, but not this URL.

Controls

I have successfully setup the new sensi integration with the token (at least I think) but I do not appear to have the option to add thermostat controls to my dashboard. Any suggestions? I have the following,

Sensors

  • humidity
  • temperature

Configuration

  • Display Humidity
  • Display Time
  • Fan Support
  • Keypad Lockout

Diagnostic

  • Batery
  • Max setpoint
  • Min setpoint

HVAC modes missing

HVAC modes are not showing in states. As a result, mode cannot be selected from the thermostat card.

Report as "Idle" instead of "Off"

Is there a way to change the thermostat in settings or otherwise to report as "Idle" instead of "Off" when thermostat is in Auto Mode and neither heating nor cooling? When neither heating or cooling, the device isn't really off, it's just waiting for a temperature to trigger either heating or cooling.

Login not working

I appear to have lost the readouts on the integration for my two thermostats. I have deleted and reloaded the integration, but login is not working. I changed my Sensi password and still the integration tells me I have invalid credentials. Any changes to login after this recent update?

battery entity showing odd value - is that correct now?

hello,
i see that your integration was updated. i followed the breaking change and removed the integration after i updated it and then added it back. the Batter i could have sworn used to show a percentage showing how much life was left in the battery. now it shows as 3.189V. is that correct now? could we maybe get the percentage back?

thanks
Mike

add target_temp_step attribute with value 1

NSPanel uses that attribute for the step size.
Currently the attribute is not present. It would be nice to get this added with either a fixed value of 1, or using a config value.
That way, all HA cards would behave the same way.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.