nicholasrobinson / homebridge-smartcielo

Smartcielo (MRCOOL) plug-in for [Homebridge](https://github.com/nfarina/homebridge) using the smartcielo API.
MIT License
14 stars 6 forks source link

Any adjustment on Home App or Homebride turns off Cielo Display and no change occurs #6

Closed zero1niner closed 1 year ago

zero1niner commented 4 years ago

Hi Nicholas,

Thanks so much for taking the time to build the integration to the Cielo Thermostat.

I haven’t had much luck getting it to work. Im using Hoobs, and I install the plugin, add the configurations, then see the accessory added to the room...see the thermostat on the Home App, but any change I try to make via Hoobs, or the Home app, seems to be completely ignored.

One thing I do see happening if I make any change on the home app (power, temp change, etc), the display on the Cielo changes the power off screen, however the AC unit stays on, and no temp changes occur.

Tried uninstalling and reinstalling multiple times.

Any ideas what I might be doing wrong here?

Thanks Nicholas!

zero1niner commented 4 years ago

Wanted to add a little more detail. I can see the following in terminal if I change the temp, or change the mode.

image

lvnilesh commented 3 years ago

Thanks Nicholas for building the integration to the Cielo Thermostat for use with Mr Cool AC/Heat Pump.

I am using your plugin with homebridge on a rasberry pie.

I notice behavior similar to @zero1niner however I notice things to start functioning correctly for a while if I restart homebridge.

After sometime, any changes on the home app on iPhone are ignored and AC unit stays on and no temp changes occur.

I also notice my AC starts to show centigrade when mess via Home app.

All my settings are in Fahrenheit.

AC display starts showing Fahrenheit if I use the Mr Cool app directly.

Using home app to set temp to 69 causes this log and AC display shows 19

[10/25/2020, 10:32:44] [AC] Setting temperature to 67 °F / 19 °C

Using MrCool app to set temp to 68 shows NO logs at all and AC display shows 68. Homekit Home app now takes notice of the new 68 temperature.

Then I use home app to set temp to 70 and I see these logs and AC display now shows 21.

[10/25/2020, 10:39:07] [AC] Setting temperature to 70 °F / 21 °C
lvnilesh commented 3 years ago

I wait overnight. Get up in the morning. Did not restart homebridge.

I open Home app on iPhone. I change temp from to 72 but the AC display is still stuck at 21 from the previous day and the log shows this.

[10/26/2020, 08:18:56] [AC] Setting temperature to 72 °F / 22 °C

In summary, any adjustment on Home App are ignored by the AC unit and no change occurs.

Next, I use homebridge web UI to change AC temp to 73 but the AC unit ignores it and no changes occur. Home bridge shows this log.

[10/26/2020, 08:22:24] [AC] Setting temperature to 73 °F / 23 °C

This is how I am able to reproduce this original issue.

I restart homebridge.

and use Home app to set temp to 69 °F. AC display now shows 20 °C . Home app starts working as expected after I restart homebridge.

and the logs show this.

[10/26/2020, 08:25:34] [AC] Sending power on
[10/26/2020, 08:25:39] [AC] Setting temperature to 69 °F / 21 °C
[10/26/2020, 08:25:44] [AC] Setting mode to heat
zero1niner commented 3 years ago

It seems that no API calls are being exchanged between the the Cielo site and this integration somehow. The app is controlling the thermostat perfectly, logged in to the admin https://www.smartcielo.com/ and can control the thermostat perfectly from that site.

Looks to me that perhaps the API connectivity is not working correctly.

lvnilesh commented 3 years ago

Everything seems to work fine for a period of time right after Homebridge restart but then after some time (say overnight), Home app on iPhone (via HomeKit) is ignored until I restart Homebridge again.

nicholasrobinson commented 3 years ago

@lvnilesh I believe the issue you are describing is a duplicate of: https://github.com/nicholasrobinson/node-smartcielo/issues/1

This is a fundamental issue in the underlying driver not gracefully handling session invalidation. As a result things work for a while as long as your socket connection isn’t terminated - which could be a few hours or a few days if you are lucky.

The best workaround for now is to restart homebridge...

I believe @zero1niner ’s issue is separate and likely relates to a difference in the smartcielo API vs. the MRCOOL API that I used for development and testing.

zero1niner commented 3 years ago

Hey @nicholasrobinson , I just called Cielo, and MrCool (seem they are owned by the same company), and they both said they dont have open API's. Wondering if you had any insight that might help point me in the right direction.

zero1niner commented 3 years ago

Hi @nicholasrobinson , the MrCool and Cielo seem to be identical products. Just for the heck of it, I downloaded the Mr Cool app, tried to se up an account with the same user name that I used when I set up the SmartCielo account, and got an 'account already exists' message. Tried logging in to the MrCool app using the same credentials as the Cielo, and logged right in.

So seems these are one and the same.

dhpeter commented 3 years ago

I am experiencing this exact issue. Any call home homebridge will turn off Cielo and no change occurs. Logs in homebridge look OK. no logs in cielo app.

zero1niner commented 3 years ago

I just noticed something today that I didnt see before, or didnt catch. Seems the Cielo IS talking to homebridge, but homebridge isnt talking to Cielo.

Today i saw in the log that the Cielo updated Hombridge with the current room temperature. The device has been off for days since the weather has been moderate these past few weeks...so no AC or heat needed.

image

However, when I set the power to COOL, HEAT or AUTO in Homekit, or in Hoobs, I see the command sent in the log, but the Cielo is unresponsive.

Just adding this in case it might help Nicholas or anyone else that might understand whats going wrong better than me troubleshoot this.

I would REALLY love to get this working.

nicholasrobinson commented 3 years ago

@zero1niner

Hey @nicholasrobinson , I just called Cielo, and MrCool (seem they are owned by the same company), and they both said they dont have open API's. Wondering if you had any insight that might help point me in the right direction.

This matches my understanding. There are no documented public APIs for SmartCielo. The underlying node-smartcielo wrapper works by mimicking the smartcielo.com web UI. As such, node-smartcielo and homebridge-smartcielo should be able to control all the functions you can control via smartcielo.com.

I expect that the root issue here is that the commands I implemented are specifically for MRCOOL type devices and are NOT compatible with other Cielo products. This matches up with your report that:

Today i saw in the log that the Cielo updated Hombridge with the current room temperature.

Suggesting that remote status update commands are the same for MRCOOL, but control commands are not.

nicholasrobinson commented 3 years ago

@dhpeter @zero1niner In order to investigate further, it would be useful to contrast the payload that smartcielo.com is sending vs. what node-smartcielo is sending. I propose the following next steps:

  1. Report what actual device model/name you are using.
  2. Install an HTTP debugging tool like https://www.telerik.com/fiddler or https://www.charlesproxy.com (or use the browser development tools "network" tab) to record the HTTP traffic that smartcielo.com is sending for your device.
  3. Compare this traffic with the payloads that node-smartcielo](https://github.com/nicholasrobinson/node-smartcielo) is sending.

Note: Please be careful sharing any raw HTTP logs that you capture are they may contain credentials and/or personally identifying information.

andrewaustinsailer commented 3 years ago

Any way we can get an update for this? Would be greatly appreciated. Thanks!

nicholasrobinson commented 1 year ago

Closing per https://github.com/nicholasrobinson/homebridge-smartcielo/issues/22