@Brett_Adams Wow that is exactly what I want to do. Are you able to show your full node red code?
Thanks Mark
How do you style your input numbers? I actually like them.
I have a different setup (a custom appdaemon app to control zones based on localised temperatures, while also allowing individual manual overrides and conditions), my target temp sensor uses the custom number-box card - but I find it a little to compact.
Inside a vertical stack and entities card, also using the number-box card. I want the vertical spacing to be a bit more compact but the input number and +/- need to have some larger font and padding. Unfortuantely some of my styling changes play with margins/padding and increase vertical spacing, but it is ok for now⌠(open to improvements if you are bette with CSS than I am!)
- entity: input_number.bedroom
name: Bedroom
icon: mdi:thermometer-lines
type: custom:numberbox-card
style: |
.info{font-size:15px !important}
.cur-num{font-size:20px !important}
.cur-unit{font-size:60% !important}
.padr{padding:12px !important}
.padl{padding:12px !important}
If you have temp sensors in your Zones the integration creates both climate entities (which has target and current temp values) but also creates a sensor entity with the current temp (which is disabled by default). The current temp should work all the time but I canât actually confirm that as I donât have sensors in my zones.
Would people be interested in me creating a second integration which can perform the zone damper control for systems without the official temperature sensors? Basically take the existing Node Red implementations, but create new climate entities that control the Advantage Air ones?
I could just add it as a feature to Advantage Air, but figure a separate integration could then be used to control other systems too.
yes please. I am building my own system, using a mixture of KNX dampers, ESPhome/DHT22 temperature sensors and 2 Daikin duckted systems. I am tring to bring it all together is a similiar way to advantage air using Hassio and node Red.
Hi folks, I have a full eZone setup. I have it coming on automatically with the following automation
alias: A/C weekday am below 17
description: ''
trigger:
- platform: time
at: input_datetime.mfac
condition:
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: state
entity_id: device_tracker.sm_n986b
state: home
- type: is_temperature
condition: device
device_id: 1990b5268896c6bf42030ad343a1aff6
entity_id: sensor.openweathermap_temperature
domain: sensor
below: 17
action:
- scene: scene.ac_heat_22_living_hobby_bed2
mode: single
That works well - at a set time (5.45am on weekdays), if Iâm home and the temperature is less than 17, set a scene. The scene is:
- id: '1629031991153'
name: AC Heat 22 Living Hobby Bed2
entities:
climate.ac:
hvac_modes:
- 'off'
- cool
- heat
- fan_only
- dry
min_temp: 16
max_temp: 32
target_temp_step: 1
fan_modes:
- auto
- low
- medium
- high
current_temperature:
temperature: 22
fan_mode: auto
friendly_name: AC
supported_features: 9
state: heat
climate.main_living:
hvac_modes:
- 'off'
- fan_only
min_temp: 16
max_temp: 32
target_temp_step: 1
current_temperature: 22.5
temperature: 22
friendly_name: Main Living
supported_features: 1
state: fan_only
snip...
climate.hobby_room:
hvac_modes:
- 'off'
- fan_only
min_temp: 16
max_temp: 32
target_temp_step: 1
current_temperature: 22.2
temperature: 22
friendly_name: Hobby Room
supported_features: 1
state: fan_only
climate.bed_2:
hvac_modes:
- 'off'
- fan_only
min_temp: 16
max_temp: 32
target_temp_step: 1
current_temperature: 22.1
temperature: 22
friendly_name: Bed 2
supported_features: 1
state: fan_only
snip
That is working well - A/C comes on to heat in the mornings.
The issue:
I then have a separate automation to turn heat OFF when the temperature outside reaches 20. This one is NOT working:
- id: '1629080642358'
alias: Turn off AC heating at 20
description: ''
trigger:
- type: temperature
platform: device
device_id: 1990b5268896c6bf42030ad343a1aff6
entity_id: sensor.openweathermap_temperature
domain: sensor
above: 19
condition:
- condition: device
device_id: 1dbccea58212998fcd77ae2ac04b398f
domain: climate
entity_id: climate.ac
type: is_hvac_mode
hvac_mode: heat
action:
- device_id: 1dbccea58212998fcd77ae2ac04b398f
domain: climate
entity_id: climate.ac
type: set_hvac_mode
hvac_mode: 'off'
mode: single
The trace shows it firing OK at the time the temp hit 19+, but it is failing on the AC check:
Trace step:
condition: device
device_id: 1dbccea58212998fcd77ae2ac04b398f
domain: climate
entity_id: climate.ac
type: is_hvac_mode
hvac_mode: heat
Result:
Executed: August 17, 2021, 9:53:36 AM
Result:
result: false
Yet the eZone entity is showing:
âŚso I would think this should work⌠what am I doing wrong?
Fixed it myselfâŚ
For posterity, this appears to work OK:
alias: Turn off AC heating at Temp
description: ''
trigger:
- platform: state
entity_id: sensor.openweathermap_temperature
condition:
- condition: state
entity_id: climate.ac
state: heat
- condition: numeric_state
entity_id: sensor.openweathermap_temperature
above: input_number.ac_winter_trigger_temp_off
action:
- service: climate.turn_off
target:
entity_id: climate.ac
mode: single
Hey @Brett_Adams
I have installed the system today - working a treat!
Thanks heaps for all your work.
FYI - I have the temp sensors in each zone and can see the current temp even with the system off. I moved them around and they update even when the system is off also.
Thanks heaps for this!
Exactly what I was aiming to get running.
@Tockers I am pulling my hair out trying to get my dashboard card to look like yours.
I have all the zone set points adjusting with input numbers and automations.
I am struggling a bit with the zone on/off control
I have used a switch template to give me the on/off status and control
switch:
- platform: template
switches:
living_zone_control:
# value_template: "{{ is_state_attr('climate.living', 'hvac_mode', 'fan_only') }}"
turn_on:
service: climate.set_hvac_mode
data:
entity_id: climate.living
hvac_mode: fan_only
turn_off:
service: climate.set_hvac_mode
data:
entity_id: climate.living
hvac_mode: 'off'
My issue is, when the hvac_mode gets changed from the air cond app (wife uses this ) the switch status does not update. I tried the line commented out in the above template but it results in the switch turning the hvac_mode to fan-only but it wonât turn it off and the switch status remains off.
Any help would be much appreciated
@zacolly I just used simple button entities with a toggle tap action to open/close a zone. It also receives state updates from the ezone system if that is used (through the integration). Full ezone card:
- cards:
- type: vertical-stack
cards:
- type: entities
entities:
- entity: climate.ac
type: custom:simple-thermostat
style:
.: |
#states > * {
margin: -1px -15px !important;
}
ha-card {
height: 100%;
box-shadow: none;
background: none;
background-color: rgba(255, 255, 255, 0);
}
layout:
step: row
header:
name: Toshiba
icon: mdi:fan
hide:
temperature: true
step_size: 1
decimals: 0
sensors:
- entity: sensor.temperature_158d00054047c7
name: Current
- type: buttons
entities:
- entity: cover.lounge
name: Lounge
icon: mdi:air-filter
tap_action:
action: toggle
- entity: cover.bedroom
name: Bedroom
icon: mdi:air-filter
tap_action:
action: toggle
- entity: cover.study
name: Study
icon: mdi:air-filter
tap_action:
action: toggle
- entity: cover.wineroom
name: Wineroom
icon: mdi:air-filter
tap_action:
action: toggle
- type: divider
- entity: input_number.lounge
name: Lounge
icon: mdi:thermometer-lines
type: custom:numberbox-card
style: |
.info{font-size:15px !important}
.cur-num{font-size:20px !important}
.cur-unit{font-size:60% !important}
.padr{padding:12px !important}
.padl{padding:12px !important}
- entity: input_number.bedroom
name: Bedroom
icon: mdi:thermometer-lines
type: custom:numberbox-card
style: |
.info{font-size:15px !important}
.cur-num{font-size:20px !important}
.cur-unit{font-size:60% !important}
.padr{padding:12px !important}
.padl{padding:12px !important}
- entity: input_number.study
name: Study
icon: mdi:thermometer-lines
type: custom:numberbox-card
card_mod: null
style: |
.info{font-size:15px !important}
.cur-num{font-size:20px !important}
.cur-unit{font-size:60% !important}
.padr{padding:12px !important}
.padl{padding:12px !important}
- entity: input_number.wineroom
name: Wineroom
icon: mdi:thermometer-lines
type: custom:numberbox-card
style: |
.info{font-size:15px !important}
.cur-num{font-size:20px !important}
.cur-unit{font-size:60% !important}
.padr{padding:12px !important}
.padl{padding:12px !important}
Thanks heaps!
Now I know what the difference is. I have a MyAir not a eZone so I have a climate entity for each zone, not a cover.
Do you know how I can use a button to toggle the entity attribute hvac_mode from fan_only and âoffâ?
My switch template above does it but the switch on/off status doesnât update when the hvac_mode is changed using the MyAir App.
Cheers,
In case someone else needs itâŚ
I ended up using the custom:paper-buttons-row to give me icon states, and running scripts to set each climate.zone_name to hvac_mode fan_only or off
Section of my card:
type: custom:paper-buttons-row
buttons:
- entity: climate.living
layout: icon_name
style:
button:
font-size: 20px
icon:
'--mdc-icon-size': 60px
state_icons:
fan_only: hass:fan
'off': hass:fan-off
state_styles:
fan_only:
button:
color: '#329dcf'
'off':
button:
color: '#82898c'
tap_action:
action: call-service
service: script.aircond_living_zone_on
hold_action:
action: call-service
service: script.aircond_living_zone_off
Scripts
aircond_living_zone_on:
alias: AirCond Living Zone ON
sequence:
- service: climate.set_hvac_mode
target:
entity_id: climate.living
data:
hvac_mode: fan_only
mode: single
icon: hass:fan
aircond_living_zone_off:
alias: AirCond Living Zone OFF
sequence:
- service: climate.set_hvac_mode
target:
entity_id: climate.living
data:
hvac_mode: 'off'
mode: single
icon: hass:fan-off
After a few days of setting up automations and scriptsâŚ
Main page:
Settings page:
And a TRUCK-LOAD of automation coding⌠lol
Full climate control setup⌠still some tweaks to do though.
Thanks for this integration - itâs awesomeâŚ
Interesting little wrinkle overnight for my climate automation. Part of my automation triggers on a temperature change request - so even if the system is inactive, changing climate.ac temperature triggers the system to come on, assuming that you want a change based on the input.
Thatâs working very well - until last night we had a 1am 1 minute power-out and climate.ac temperature went to null⌠That change was ignored as it was not to a valid value, but when the power came back on, and climate.ac temperature was reset to 22, automation saw this as a change to 22 (correctly), and the air-con came on.
I need a condition in the automation to check if the triggerâs previous state was numerically valid (and not empty), so it does not interpret recovery from a power-out as a temp change request.
The trigger is this:
trigger:
- platform: state
entity_id: climate.ac
attribute: temperature
From searching on here, I think I need a condition to check the previous state, i.e. trigger.from_state.state, but Iâm not sure on the best way to do this.
Would this work, or is there a better way to check (the minimum settable temperature on the system is 16, so the test should pass if itâs set).
condition: template
value_template: "{{ trigger.from_state.state | int >= 16 }}"
Open to better solutions!
Havenât had another power-cut to test this, but one thing I have worked out is that the value_template for a trigger based on the AC unitâs temperature on a change needs to be (in case anyone else runs into this):
value_template: '{{ trigger.from_state.attributes.temperature | int >= 16 }}'
notâŚ
value_template: "{{ trigger.from_state.state | int >= 16 }}"
Would people be interested in me creating a second integration which can perform the zone damper control for systems without the official temperature sensors? Basically take the existing Node Red implementations, but create new climate entities that control the Advantage Air ones?
I could just add it as a feature to Advantage Air, but figure a separate integration could then be used to control other systems too.
yes please! Has this been done anywhere?
I have a 5 zone system but not the eZone sensors. I have the Xiaomi temperature sensors in each zone and would desperately like to be able to change the dampers or master zone temp to prevent the rooms from over/under cooling
Second this - NodeRed works great but needs some work to get it going.
If you do decide to add damper control with external temp sensors, would be great to include confgurables like min/max cover positions, degrees C range, and cover change amount. E.g. I updated your NodeRed config to increase the cover chance %age to get quicker results.
Only via a NodeRed config so far - as mentioned in the multiple posts above.