perara / python-systemair-saveconnect

API bindings for the systemair-savecair web interface
MIT License
15 stars 4 forks source link

Not possible to change airflow #2

Open hwikene opened 5 years ago

hwikene commented 5 years ago

Hi! Have you removed "fan_mode"? All i get is this when i try changing mode: image

perara commented 5 years ago

Did you specify any device in the configuration.yaml? if so try to remove it so that it defaults to vtr_300 settings. There is a if clause that determines which modes are supported by the device, and vtr_300 is the only one supported. i can change this so that all devices act the same. Both fan and operation mode is supported, BUT i will have to rework this in-order to get it into the HA repository. But i havent found a elegant way of doing this yet.

hwikene commented 5 years ago

That changed everything. I used vsr_300 when i started testing. When i changed it to vtr_300 all looks great. It would be great if you could change it so that all devices act the same.

I also got all the modes working, but "fan_mode" "high" dont work.

img_0903

perara commented 5 years ago

Are all savecair ventilation units the same in this regard? (all supports operation and fan) Do you have a proposal for how we could map HA to the ventilation unit? i fint it quite limiting to use current states supported in HA.

hwikene commented 5 years ago

I dont think there is any other way to map HA to the ventilations units. We removed the zwave component from all our units.(bad choice if you ask me) But you need to talk to some of the developers, mabey they can help you with how to make it easier. All these units have the same operation and fan

skjermbilde 2018-10-22 kl 19 08 42
hwikene commented 5 years ago

Starting to look great :)

skjermbilde 2018-10-22 kl 23 04 09
perara commented 5 years ago

Nice! Would you care to share a few instructions on how to accomplish this so that i can update the docs accordingly?

perara commented 5 years ago

Regarding operation. I'm thinking that maybe the modes, such as Fireplace, Refresh, etc should be removed and instead that we can use Manual with Low, Medium and High fan settings.

Also i've seen that my vtr_300 unit was configured with a relatively low fan speed on the HIgh setting. Maybe i could override this so that High => 5000/max rpm for the unit?

I know that the unit is specifically configured per household (in my case I found these settings to be useless, air quality was horrible in the bedroom for example...), but maybe there is a command to set air fan once, without saving the fan speed permanently? What do you think?

hwikene commented 5 years ago

I think they should be like they are.. This function is importent when you have a party you put it on "Crouded" then the unit will go to 5000rpm. Same is for "Fireplace" Suppy will got to 5000rpm and Return will go to 500rpm to give more air to the fireplace. If your house is not correct "tuned" the airflow will not the best. its important that the diffusers are correctly set and you have the correct rpm set on the unit. Send me a PM on Discord (7even) and i can send you your correct setup on the unit.

hwikene commented 5 years ago

Here is my setup on HA

climate:
  - platform: systemair_savecair
    device: vtr_300
    name: Systemair
    iam_id: IAM_XXXXXX
    password: XXXXX

input_select:
  operation_list:
    name: valg
    options:
      - Auto
      - Manual
      - Crowded
      - Refresh
      - Fireplace
      - Away
      - Holiday
    initial: Manual
    icon: 'mdi:fan'

automation:
- alias: 'Systemair'
  initial_state: 'on'
  trigger:
    - platform: state
      entity_id: input_select.operation_list
  action:
    - service: climate.set_operation_mode
      data_template:
        entity_id: climate.systemair
        operation_mode: >-
          {% if is_state("input_select.operation_list", "Auto") %}
            Auto
          {%-elif is_state("input_select.operation_list", "Manual") %}
            Manual
          {% elif is_state("input_select.operation_list", "Crowded") %}
            Crowded
          {% elif is_state("input_select.operation_list", "Refresh") %}
            Refresh
          {% elif is_state("input_select.operation_list", "Fireplace") %}
            Fireplace
          {% elif is_state("input_select.operation_list", "Away") %}
            Away
          {% elif is_state("input_select.operation_list", "Holiday") %}
            Holiday
          {% else %}
            Auto
          {% endif %}

sensor:
  - platform: template
    sensors: 
      systemair_current_temp:
        friendly_name: Nåværende temperatur
        value_template: "{{ states.climate.systemair.attributes.current_temperature }}°C"

  - platform: template
    sensors: 
      systemair_min_temp:
        friendly_name: Minimum temperatur
        value_template: "{{ states.climate.systemair.attributes.min_temp }}°C"

  - platform: template
    sensors: 
      systemair_max_temp:
        friendly_name: Max temperatur
        value_template: "{{ states.climate.systemair.attributes.max_temp }}°C"

  - platform: template
    sensors: 
      systemair_tilluft_temp:
        friendly_name: Tillufttemperatur
        value_template: "{{ states.climate.systemair.attributes.supply_air_temperature }}°C"

  - platform: template
    sensors: 
      systemair_viftehastighet_tilluft:
        friendly_name: Viftehastighet tilluft
        value_template: "{{ states.climate.systemair.attributes.supply_air_fan_speed }}o/min"

  - platform: template
    sensors: 
      systemair_viftehastighet_avtrekk:
        friendly_name: Viftehastighet avtrekk
        value_template: "{{ states.climate.systemair.attributes.extract_air_fan_speed }}o/min"

  - platform: template
    sensors: 
      systemair_vifte_modus:
        friendly_name: Vifte modus
        value_template: "{{ states.climate.systemair.attributes.fan_mode }}"

  - platform: template
    sensors: 
      systemair_filter_tid:
        friendly_name: Nedtelling filterskifte
        value_template: "{{ (( state_attr('climate.systemair', 'components_filter_time_left') | float /3600 /24 /365 |int) *12) | int }}mnd."