ok, this is a problem with webhooks, will be corrected in the following version of netatmo integration
Is it possible, when using compact mode, to use chevrons instead of +/-? I have seen the issue #99 on git and it looks like there are plans for it.
I would happily edit config files, but cannot find them. I tried to change mt="mdi:minus"
to mt="hass:chevron-down"
in X:\www\community\simple-thermostat\simple-thermostat.js, but it made no difference.
Anyone know where the config files are hiding. (HACS install)
thanks
Hello,
It is not possible to configure or retrieve classes for some sensors (Closed for a windows instead of off) ?
It seems that the icon in the top left corner does not change state.
Finally, the Daikin integration does not display its state and hide: / mode does not seem to work.
Thank you for your help.
@Vahaldor do you know when this will be fixed? In my case the sesors related to netatmo update but after sometime (between 5 to 8mins after the setting has been implemented). With this behavious it is (almost) impossible use any automation.
thanks,
Antonio
If you properly configure webhooks, netatmo thermostat should work fine. I have three valves. The author of the integration is in touch with me and debugging this behavior currently. However, everything seems to work with webhooks, I have only some unpredictable lags in seconds, so we changed the behavior significantly since my recent post with the gif
the key is webhooks and external access to HA on port 443 or nabu casa cloud
Check the proper configuration here:
https://community.home-assistant.io/t/netatmo-receives-commands-but-does-not-send-states
Hi,
I had the same problem. When adding to the local resource then: /local/simple-thermostat.js
Not: /local/simple-thermostat.js?v=1
It works…
greetings
Sascha
Unfortunately the last update seems to have a breaking change for me which was not mentioned. I had blue colored buttons and now i have green and orange buttons. Can someone tell me how to change button colors after this update?
The first part with the orange button:
- type: 'custom:simple-thermostat' # card type
entity: climate.generic_thermostat_office # used climate entity
name: false # card title or false
icon: false # icon details or false
# heating: mdi:fire # defines icon for heating beside card title. Alternative - mdi:radiator
# idle: mdi:fire # defines icon for heating beside card title. Alternative - mdi:radiator-disabled
# 'off': mdi:power # defines icon for heating beside card title. Alternative - mdi:radiator-off
fallback: 'AUS' # defines what is shown if no temperature is available
decimals: 1 # defines number of shown decimals
step_size: 0.5 # defines step size of the thermostat
step_layout: column # defines layout
label:
temperature: Temperatur # defines used label for temperature
state: Status # defines used label for state
hide:
temperature: true # defines if temperature should be shown
state: true # defines if temperature should be shown
control:
_headings: false # defines if actionname is written besides the hvac modes
_names: true # defines if button has a name
_icons: true # defines if buttons have an icon
hvac:
heat:
name: 'An' # defines label of mode heat
icon: mdi:radiator # defines icon of mode heat
'off':
name: 'Aus' # defines label of mode off
icon: mdi:radiator-off # defines icon of mode off
sensors:
- entity: sensor.homematic_ip_temperature_current_temperatur_office
name: Temperatur
icon: mdi:home-thermometer-outline
- entity: sensor.bu_wandthermostat_humidity
name: Luftfeuchtigkeit
icon: mdi:water-percent
- entity: sensor.bu_heizkorperthermostat_heating
name: Heizleistung
icon: mdi:radiator
style: |
ha-card {
border-radius: 15px;
background-color: rgba(000,000,000,0.0);
box-shadow: 1px 1px 2px 0px rgba(000,000,000,0.0);
font-weight: bold;
--st-font-size-sensors: 21px;
--st-spacing: 2px;
}
ha-card .mode-item {
border-radius: 8px;
background: rgba(200,200,200,0.5);
color: rgba(120,120,120, 1.0);
}
ha-card .mode-item.active {
border-radius: 8px;
background: rgba(002,136,209,1.0);
}
ha-card .mode-item:hover {
border-radius: 8px;
background: rgba(150,150,150,0.5);
}
And the other part (with the green button):
- type: 'custom:simple-thermostat'
entity: climate.buro
name: false
icon: false
fallback: 'AUS'
decimals: 1
step_size: 0.5
step_layout: row
hide:
temperature: true
state: true
control:
_headings: false
_names: true
_icons: true
hvac:
heat:
name: 'Manuell'
icon: mdi:car-shift-pattern
auto:
name: 'Auto'
icon: mdi:cogs
preset:
'boost':
name: 'Boost'
icon: mdi:fire
'HA Remote':
name: 'HA Remote'
icon: mdi:home-assistant
'Aus (Konstant 14°C)':
name: 'Aus'
icon: mdi:power
'An (Konstant 21,5°C)':
name: 'An'
icon: mdi:thermostat
style: |
ha-card {
border-radius: 15px;
background-color: rgba(000,000,000,0.0);
box-shadow: 1px 1px 2px 0px rgba(000,000,000,0.0);
font-weight: bold;
--st-font-size-sensors: 21px;
--st-spacing: 1px;
}
ha-card .mode-item {
border-radius: 8px;
background: rgba(200,200,200,0.5);
color: rgba(120,120,120, 1.0);
font-size: 13px;
}
ha-card .mode-item.active {
border-radius: 8px;
background: rgba(002,136,209,1.0);
font-size: 13px;
}
ha-card .mode-item:hover {
border-radius: 8px;
background: rgba(150,150,150,0.5);
font-size: 13px;
}
A bit off-topic and I apologise in advance
But, can you please share your full card configuration? The setup with the graph looks amazing!
Yeah, I merged a change to similar coloring of the buttons as the HA native thermostat. Unfortunately overriding those with custom CSS becomes more difficult as there is now a class for each state. Using !important
on the value should suffice to set them all blue.
Hi, anyone used this property?
-
toggle_entity
string : An entity id to create a toggle in the header for. This gives the option to control a separate entity which can be related to the thermostat entity (like a switch, or input_boolean)
I wanted to use this with an input boolean…but nothing is showing
The goal was to replace the operation line with a simple boolean switch on the top right to gain some space.
Anyway if you have another idea how I could do that…
@nervetattoo: Thanks very much. Works like a charm.
@Sergio_pt: Here is the complete card (with corrections “!important” as suggested by nervetattoo).
Quiet long but when you are interessted:
###################################################################################################################
###################################################################################################################
# office ##########################################################################################################
###################################################################################################################
###################################################################################################################
###################################################################################################################
#--------#
# 1 init #
#--------#
###################################################################################################################
title: office
panel: true
background: center / cover no-repeat url("/local/background/white_03.jpg") fixed
icon: mdi:desk
cards:
- type: custom:layout-card
# min_width: 20%
# max_columns: 5
cards:
###################################################################################################################
#------------#
# 2 entities #
#------------#
###################################################################################################################
- type: entities
title: ÜBERSICHT
show_header_toggle: false
entities:
- type: section
label: LICHT
- entity: light.bu_licht_dimmer
secondary_info: last-changed
toggle: true
type: 'custom:slider-entity-row'
name: Deckenlicht
- entity: sensor.bu_deckenlicht_power
name: []
- type: section
label: SICHERHEIT
- entity: binary_sensor.bu_fenster
secondary_info: last-changed
name: Fenster
- entity: binary_sensor.bu_rauchwarnmelder
secondary_info: last-changed
name: Rauchwarnmelder
style: |
ha-card {
background-image: url("/local/rooms/room_buero_V003.png");
background-position: 0% 70%;
background-repeat: no-repeat;
background-size: 100% auto;
border-radius: 15px;
background-color: rgba(220,220,220,0.5);
box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.50);
font-weight: bold;
}
###################################################################################################################
#--------------#
# 3 thermostat #
#--------------#
###################################################################################################################
#------------------------------------------------------------------------------------------------------------------
# 3.1 main part #
#---------------#
- type: entities
title: THERMOSTAT
show_header_toggle: false
style:
.: |
ha-card {
border-radius: 15px;
background-color: rgba(220,220,220,0.5);
box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.50);
font-weight: bold;
}
"#states div":
mini-graph-card:
$: |
ha-card {
padding: 0px;
}
entities:
- type: section
- type: 'custom:simple-thermostat' # card type
entity: climate.generic_thermostat_office # used climate entity
name: false # card title or false
icon: false # icon details or false
# heating: mdi:fire # defines icon for heating beside card title. Alternative - mdi:radiator
# idle: mdi:fire # defines icon for heating beside card title. Alternative - mdi:radiator-disabled
# 'off': mdi:power # defines icon for heating beside card title. Alternative - mdi:radiator-off
fallback: 'AUS' # defines what is shown if no temperature is available
decimals: 1 # defines number of shown decimals
step_size: 0.5 # defines step size of the thermostat
step_layout: column # defines layout
label:
temperature: Temperatur # defines used label for temperature
state: Status # defines used label for state
hide:
temperature: true # defines if temperature should be shown
state: true # defines if temperature should be shown
control:
_headings: false # defines if actionname is written besides the hvac modes
_names: true # defines if button has a name
_icons: true # defines if buttons have an icon
hvac:
heat:
name: 'An' # defines label of mode heat
icon: mdi:radiator # defines icon of mode heat
'off':
name: 'Aus' # defines label of mode off
icon: mdi:radiator-off # defines icon of mode off
sensors:
- entity: sensor.homematic_ip_temperature_current_temperatur_office
name: Temperatur
icon: mdi:home-thermometer-outline
- entity: sensor.bu_wandthermostat_humidity
name: Luftfeuchtigkeit
icon: mdi:water-percent
- entity: sensor.bu_heizkorperthermostat_heating
name: Heizleistung
icon: mdi:radiator
style: |
ha-card {
border-radius: 15px;
background-color: rgba(000,000,000,0.0);
box-shadow: 1px 1px 2px 0px rgba(000,000,000,0.0);
font-weight: bold;
--st-font-size-sensors: 21px;
--st-spacing: 2px;
}
ha-card .mode-item {
border-radius: 8px;
background: rgba(200,200,200,0.5) !important;
}
ha-card .mode-item.active {
border-radius: 8px;
background: rgba(002,136,209,1.0) !important;
}
ha-card .mode-item:hover {
border-radius: 8px;
background: rgba(150,150,150,0.5) !important;
}
- type: custom:mini-graph-card
hours_to_show: 48
points_per_hour: 12
animate: false
decimals: 1
height: 200
show:
icon: false
name: false
state: false
fill: true
labels: false
labels_secondary: false
extrema: false
lower_bound: 20
line_width: 1
hour24: true
entities:
- entity: sensor.average_office_temperature
name: Messung
color: rgba(002,136,209,1.0)
show_legend: true
- entity: sensor.homeassistant_temperature_setpoint_office
name: Soll
color: rgba(131,188,092,1.0)
show_legend: true
- entity: sensor.bu_heizkorperthermostat_heating
name: Heizung
color: rgba(050,050,050,1.0)
show_line: false
show_points: false
show_legend: true
y_axis: secondary
style: |
ha-card {
border-radius: 15px;
background-color: rgba(220,220,220,0.7);
box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.0);
border: solid 2px rgba(200,200,200,1.0);
}
- type: custom:hui-horizontal-stack-card
cards:
- type: custom:button-card
entity: input_boolean.thermostat_boost_office_short
icon: mdi:fire
size: 25px
color_type: card
styles:
card:
- height: 46px
name:
- font-size: 13px
label:
- font-size: 13px
show_name: false
show_label: true
label: "Boost 10 min"
state:
- value: 'on'
color: rgba(002,136,209,1.0)
- value: 'off'
color: rgba(200,200,200,0.5)
styles:
name:
- color: rgba(120,120,120, 1.0)
style: |
ha-card {
border-radius: 10px;
background-color: rgba(000,000,000,0.0);
box-shadow: 1px 1px 2px 0px rgba(000,000,000,0.0);
font-weight: bold;
}
- type: custom:button-card
entity: input_boolean.thermostat_boost_office_middle
icon: mdi:fire
size: 25px
color_type: card
styles:
card:
- height: 46px
name:
- font-size: 13px
label:
- font-size: 13px
show_name: false
show_label: true
label: "Boost 30 min"
state:
- value: 'on'
color: rgba(002,136,209,1.0)
- value: 'off'
color: rgba(200,200,200,0.5)
styles:
name:
- color: rgba(120,120,120, 1.0)
style: |
ha-card {
border-radius: 10px;
background-color: rgba(000,000,000,0.0);
box-shadow: 1px 1px 2px 0px rgba(000,000,000,0.0);
font-weight: bold;
}
- type: custom:button-card
entity: input_boolean.thermostat_boost_office_long
icon: mdi:fire
size: 25px
color_type: card
styles:
card:
- height: 46px
name:
- font-size: 13px
label:
- font-size: 13px
show_name: false
show_label: true
label: "Boost 60 min"
state:
- value: 'on'
color: rgba(002,136,209,1.0)
- value: 'off'
color: rgba(200,200,200,0.5)
styles:
name:
- color: rgba(120,120,120, 1.0)
style: |
ha-card {
border-radius: 10px;
background-color: rgba(000,000,000,0.0);
box-shadow: 1px 1px 2px 0px rgba(000,000,000,0.0);
font-weight: bold;
}
- type: custom:button-card
entity: input_boolean.thermostat_boost_office_stop
icon: mdi:hand-left
size: 25px
color_type: card
styles:
card:
- height: 46px
name:
- font-size: 13px
label:
- font-size: 13px
show_name: false
show_label: true
label: "Boost Stop"
state:
- value: 'on'
color: rgba(002,136,209,1.0)
- value: 'off'
color: rgba(200,200,200,0.5)
styles:
name:
- color: rgba(120,120,120, 1.0)
style: |
ha-card {
border-radius: 10px;
background-color: rgba(000,000,000,0.0);
box-shadow: 1px 1px 2px 0px rgba(000,000,000,0.0);
font-weight: bold;
}
- type: custom:button-card
color_type: card
styles:
card:
- height: 23px
label:
- font-size: 13px
show_name: false
show_label: true
label: >
[[[ if (states['counter.thermostat_boost_office'].state > 0) return "Boost noch aktiv für " + states['counter.thermostat_boost_office'].state + " min"; else return "Boost inaktiv" ]]]
color: rgba(002,136,209,1.0)
style: |
ha-card {
border-radius: 10px;
background-color: rgba(000,000,000,0.0);
box-shadow: 1px 1px 2px 0px rgba(000,000,000,0.0);
font-weight: bold;
}
#------------------------------------------------------------------------------------------------------------------
# 3.2 humidity #
#--------------#
- type: custom:fold-entity-row
head:
type: section
label: Luftfeuchte
items:
- entity: input_number.homematic_ip_humiditylimit_office_upper
type: custom:slider-entity-row
toggle: false
hide_state: false
name: Max
style: |
:host {
--paper-item-icon-color:
{% if states('sensor.bu_wandthermostat_humidity')|float > states('input_number.homematic_ip_humiditylimit_office_upper')|float + states('input_number.homematic_ip_humiditylimit_office_escalation')|float %}
red
{% elif states('sensor.bu_wandthermostat_humidity')|float > states('input_number.homematic_ip_humiditylimit_office_upper')|float %}
orange
{% else %}
var( ---state-icon-color )
{% endif %}
;
}
- entity: input_number.homematic_ip_humiditylimit_office_lower
type: custom:slider-entity-row
toggle: false
hide_state: false
name: Min
style: |
:host {
--paper-item-icon-color:
{% if states('sensor.bu_wandthermostat_humidity')|float < ( states('input_number.homematic_ip_humiditylimit_office_lower')|float - states('input_number.homematic_ip_humiditylimit_office_escalation')|float ) %}
red
{% elif states('sensor.bu_wandthermostat_humidity')|float < states('input_number.homematic_ip_humiditylimit_office_lower')|float %}
orange
{% else %}
var( ---state-icon-color )
{% endif %}
;
}
- entity: input_number.homematic_ip_humiditylimit_office_escalation
type: custom:slider-entity-row
toggle: false
hide_state: false
name: Toleranz
style: |
:host {
--paper-item-icon-color:
{% if states('sensor.bu_wandthermostat_humidity')|float > states('input_number.homematic_ip_humiditylimit_office_upper')|float + states('input_number.homematic_ip_humiditylimit_office_escalation')|float %}
red
{% elif states('sensor.bu_wandthermostat_humidity')|float > states('input_number.homematic_ip_humiditylimit_office_upper')|float %}
orange
{% elif states('sensor.bu_wandthermostat_humidity')|float < ( states('input_number.homematic_ip_humiditylimit_office_lower')|float - states('input_number.homematic_ip_humiditylimit_office_escalation')|float ) %}
red
{% elif states('sensor.bu_wandthermostat_humidity')|float < states('input_number.homematic_ip_humiditylimit_office_lower')|float %}
orange
{% else %}
var( ---state-icon-color )
{% endif %}
;
}
- type: custom:hui-horizontal-stack-card
cards:
- type: history-graph
hours_to_show: 48
entities:
- entity: sensor.bu_wandthermostat_humidity
name: Gemessen
- entity: input_number.homematic_ip_humiditylimit_office_upper
name: Max-Warnung
- entity: input_number.homematic_ip_humiditylimit_office_lower
name: Min-Warnung
style: |
ha-card {
background-color: rgba(000,000,000,0.0);
box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.0);
}
#------------------------------------------------------------------------------------------------------------------
# 3.3 extended configuration #
#----------------------------#
- type: custom:fold-entity-row
head:
type: section
label: Erweiterte Einstellungen
items:
- type: section
label: Homematic Thermostat
- type: 'custom:simple-thermostat'
entity: climate.buro
name: false
icon: false
fallback: 'AUS'
decimals: 1
step_size: 0.5
step_layout: row
hide:
temperature: true
state: true
control:
_headings: false
_names: true
_icons: true
hvac:
heat:
name: 'Manuell'
icon: mdi:car-shift-pattern
auto:
name: 'Auto'
icon: mdi:cogs
preset:
'boost':
name: 'Boost'
icon: mdi:fire
'HA Remote':
name: 'HA Remote'
icon: mdi:home-assistant
'Aus (Konstant 14°C)':
name: 'Aus'
icon: mdi:power
'An (Konstant 21,5°C)':
name: 'An'
icon: mdi:thermostat
style: |
ha-card {
border-radius: 15px;
background-color: rgba(000,000,000,0.0);
box-shadow: 1px 1px 2px 0px rgba(000,000,000,0.0);
font-weight: bold;
--st-font-size-sensors: 21px;
--st-spacing: 1px;
}
ha-card .mode-item {
border-radius: 8px;
background: rgba(200,200,200,0.5) !important;
font-size: 13px;
}
ha-card .mode-item.active {
border-radius: 8px;
background: rgba(002,136,209,1.0) !important;
font-size: 13px;
}
ha-card .mode-item:hover {
border-radius: 8px;
background: rgba(150,150,150,0.5) !important;
font-size: 13px;
}
- type: section
label: Thermostat Optimizer
- type: custom:hui-horizontal-stack-card
cards:
- type: custom:button-card
entity: automation.07_2_1_a_thermostat_optimizer_office_increase
icon: mdi:thermometer-plus
size: 25px
color_type: card
styles:
card:
- height: 46px
name:
- font-size: 13px
label:
- font-size: 13px
show_name: false
show_label: true
label: >
[[[ if (entity.state === 'off') return "Opt. Erhöhen: Aus"; else return "Opt. Erhöhen: An" ]]]
state:
- value: 'on'
color: rgba(002,136,209,1.0)
- value: 'off'
color: rgba(200,200,200,0.5)
styles:
name:
- color: rgba(120,120,120, 1.0)
style: |
ha-card {
border-radius: 10px;
background-color: rgba(000,000,000,0.0);
box-shadow: 1px 1px 2px 0px rgba(000,000,000,0.0);
font-weight: bold;
}
- type: custom:button-card
entity: automation.07_2_1_b_thermostat_optimizer_office_decrease
icon: mdi:thermometer-minus
size: 25px
color_type: card
styles:
card:
- height: 46px
name:
- font-size: 13px
label:
- font-size: 13px
show_name: false
show_label: true
label: >
[[[ if (entity.state === 'off') return "Opt. Reduzieren: Aus"; else return "Opt. Reduzieren: An" ]]]
state:
- value: 'on'
color: rgba(002,136,209,1.0)
- value: 'off'
color: rgba(200,200,200,0.5)
style: |
ha-card {
border-radius: 12px;
background-color: rgba(000,000,000,0.0);
box-shadow: 1px 1px 2px 0px rgba(000,000,000,0.0);
font-weight: bold;
}
- type: section
label: Temperaturverlauf
- type: custom:hui-horizontal-stack-card
cards:
- type: history-graph
hours_to_show: 48
entities:
- entity: sensor.bu_wandthermostat_temperature
name: Gemessen
- entity: sensor.average_office_temperature
name: Gemittelt
- entity: sensor.homematic_ip_temperature_setpoint_office
name: Homematic
- entity: sensor.homeassistant_temperature_setpoint_office
name: HomeAssistant
style: |
ha-card {
background-color: rgba(000,000,000,0.0);
box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.0);
}
It looks mainly like the first picture and if both menus are expanded as shown in picture 2:
now I also have a question, I only want to show the presets? is that also possible?
So delete the things in green circle?
How can I move the icon form the top left to the top right?
how can I move the order of Modes?
Here is my code for future ones if it helps and a screenshot:
type: 'custom:stack-in-card'
cards:
- type: 'custom:simple-thermostat'
entity: climate.netatmo_salon_casa
decimals: '1'
show_header: true
name: Calefacción
label:
temperature: Temperatura
state: Estado
control:
_names: false
_icons: true
_headings: false
preset:
another_mode: false
away:
name: Away
icon: 'mdi:walk'
Frost Guard:
name: 'Off'
include: true
icon: 'mdi:radiator-off'
boost:
name: Calentón
icon: 'mdi:fire'
Schedule:
name: Programa
icon: 'mdi:calendar'
- type: 'custom:mini-graph-card'
entities:
- entity: sensor.netatmo_salon_casa_current_temperature
name: Temperatura
smoothing: true
show_fill: true
- entity: sensor.netatmo_salon_casa_temperature
name: Objetivo
smoothing: false
show_fill: false
- entity: sensor.netatmo_salon_casa_hvac_action
y_axis: secondary
color: orange
name: Caldera
show_line: false
show_points: false
show_legend: false
aggregate_func: max
smoothing: false
state_map:
- value: idle
label: Reposo
- value: heating
label: Calentando
hours_to_show: 24
points_per_hour: 4
line_width: 2
font_size: 90
animate: true
show:
name: false
icon: false
state: false
icon: 'mdi:fire'
Nice , mind sharing ?
thanks
I don’t have it… I need it
the temperature control i meant
Hi,
It’s possible to dinamically change the actual temperature given from the climate entity?
I mean, i will create an input select with 4 thermostat, when i select one fo them, i want that the actual temperature will be used from it.
I think when i change it, it’s not changed at the card.