epoplavskis / pyit600

MIT License
18 stars 19 forks source link

Support for FC600 #22

Closed mat2maa closed 3 years ago

mat2maa commented 3 years ago

Following on from https://github.com/jvitkauskas/pyit600/issues/7#issuecomment-880160254 (also me, different GitHub account) decided to have a look at this myself - and opened this PR as a way to start the conversation.

Empirically tested on my home FC600 devices.

jvitkauskas commented 3 years ago

Hi, thank you for your contribution. The way I am trying to do things in this library is to try to follow Home Assistant models for easy mapping. I've started working on FC600 implementation https://github.com/jvitkauskas/pyit600/commit/73a417a5a34698a19295fe8f0bb54e8b8bdd2c76 but haven't finished it.

mat2maa commented 3 years ago

Hi @jvitkauskas, thanks for this. Your WIP has added context to where some of the e.g. constants were coming from. To answer each of your bullet points:

  1. Yes, I think given that Home Assistant will treat them the same, and there is enough overlap in the models of these devices, to go the way you have with the big if/else in the climate block.
  2. So if you've set the fan coil with a schedule PRESET_FOLLOW_SCHEDULE, which splits the day into up to 6 (I think from memory) periods of different temperature (e.g. 8am - 10am => 24°, 10am - 2pm => 22° etc), then you can temporarily (until the next period) override that temperature (e.g. it is 9am, and you lower the temp to 23°, it will still become 22° at 10am, hence temporary). See page 10, section 2.5 of the manual.
  3. First, I agree with your approach for the getter, that target_temperature, max_temp, min_temp return the value based on the is_heating conditional. And I believe it is the counterpart to the format of my setter set_fan_coil_device_temperature which basically uses the same condition? What do you think?
  4. Agreed re fan_modes
  5. Yep (both this and for became clear with your link to the home-assistant docs, thanks).
  6. 👍

I think there are probably some useful bits in this PR, but your WIP has the more solid foundations and so work should continue from that. I can take it as a starting point and continue from there if you like?

A couple of questions:

Cheers!

MatthewAger commented 3 years ago

This should be closed in favour of https://github.com/jvitkauskas/pyit600/pull/23

jvitkauskas commented 3 years ago

Thanks