Shelly Dimmer 2 shutdown after high temperature event

Hi HA community,

I have two Shelly dimmers in the living room, each of which supplies 11 LED panels. Each LED light has 9 watts, so 90 watts per dimmer. One dimmer is installed in the flush-mounted box and the other under a drywall ceiling. Both have enough space.
My problem is that the dimmers get too hot and shut off after about 5 minutes when the light is set above 20%.
The temperature then rises above 100 degrees and the dimmer switches off.
I tested various Shelly firmwares, turned on Eco mode, recalibrated and tried all possible settings.

How can I lower the temperature?
Alternatively, I would buy other dimmers if I can’t find a solution.
Do you have a recommendation? I would also have no problem using another manufacturer if necessary.

Greetings

Thomas

Ask shelly?

I already ask Shelly, but they have no idea.

I flashed them with esphome and have a load of around 100W (max) LED connected, in a junction wallbox, no heat issues…

Hello and a happy new year
Thank you for your answer @sender86 .
I have try it with ESPhome, but same issue again.
Temp goes up to 104 degrees at 60 watts.

Any ideas ?

Greets

Thomas

What esphome config do you use

Hi,

this one:

esphome:
name: dimmer
platform: ESP8266
board: esp01_1m
comment: Shelly Dimmer 2

substitutions:
device_name: “Dimmer”
max_power: “220.0” # watt
max_temp: “90.0” # °C

Enable logging

logger:
baud_rate: 0

uart:
tx_pin: 1
rx_pin: 3
baud_rate: 115200

Enable Home Assistant API

api:
encryption:
key: “a3IY4ZCA6mLUlID7PUvv1yaoPKJlanbQBv+g9ITLguk=”

ota:
password: “e53efa8445a06bdee39e98537984ab52”

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password

manual_ip:
# Set this to the IP of the ESP
static_ip: 172.16.1.103
# Set this to the IP address of the router. Often ends with .1
gateway: 172.16.1.1
# The subnet of the network. 255.255.255.0 works for most home networks.
subnet: 255.255.255.0
dns1: 172.16.1.1

Enable fallback hotspot (captive portal) in case wifi connection fails

ap:
ssid: “Wohnzimmer-Dimmer-Rechts”
password: “4bnuwqeEkUHE”

captive_portal:

Enable Web Server

web_server:
port: 80

time:

  • platform: homeassistant
    id: homeassistant_time

sensor:

NTC Temperature

  • platform: ntc
    sensor: temp_resistance_reading
    name: ${device_name} temperature
    unit_of_measurement: “°C”
    accuracy_decimals: 1
    icon: “mdi:thermometer”
    calibration:
    b_constant: 3350
    reference_resistance: 10kOhm
    reference_temperature: 298.15K
    on_value_range:

    • above: ${max_temp}
      then:
      • logger.log: “Switch turned off because temperature exceeded ${max_temp}°C”
      • homeassistant.service:
        service: persistent_notification.create
        data:
        title: Message from ${device_name}
        data_template:
        message: Switch turned off because temperature exceeded ${max_temp}°C
  • platform: resistance
    id: temp_resistance_reading
    sensor: temp_analog_reading
    configuration: DOWNSTREAM
    resistor: 32kOhm

  • platform: adc
    id: temp_analog_reading
    pin: A0

  • platform: total_daily_energy
    name: “${device_name} Energy”
    power_id: power_dimmer
    filters:

    Multiplication factor from W to kW is 0.001

    • multiply: 0.001
      unit_of_measurement: kWh

switch:

  • platform: restart
    name: “${device_name} Herstart”

light:

  • platform: shelly_dimmer
    name: “${device_name}”
    id: dimmer
    icon: mdi:globe-light-outline
    power:
    name: “${device_name} Power”
    id: power_dimmer
    voltage:
    name: “${device_name} Voltage”
    current:
    name: “${device_name} Current”
    min_brightness: 460
    max_brightness: 1000
    firmware:
    version: “51.6”
    update: true

binary_sensor:

  • platform: gpio
    name: ‘Switch 1’
    id: switchID_1
    pin:
    number: GPIO14
    mode: INPUT
    internal: true
    filters:

    • delayed_on_off: 50ms
      on_multi_click:

    single click

    • timing:
      • ON for at most 1s
      • OFF for at least 0.5s
        then:
        • logger.log: “Single-Clicked”
        • light.toggle: dimmer

    double click

    • timing:
      • ON for at most 0.5s
      • OFF for at most 0.5s
      • ON for at most 0.5s
      • OFF for at least 0.2s
        then:
        • logger.log: “Double-Clicked”
        • light.turn_on:
          id: dimmer
          brightness: 100%

    triple click

    • timing:
      • ON for at most 0.5s
      • OFF for at most 0.5s
      • ON for at most 0.5s
      • OFF for at most 0.5s
      • ON for at most 0.5s
      • OFF for at least 0.2s
        then:
        • logger.log: “Triple-Clicked”
        • light.turn_on:
          id: dimmer
          brightness: 25%

    Press and Hold button

    • timing:
      • ON for at most 0.5s
      • OFF for at least 0.1s
      • ON for at least 1s
        then:
        • logger.log: “Press and Hold - Dim DOWN”
        • while:
          condition:
          - binary_sensor.is_on: switchID_1
          then:
          - light.dim_relative:
          id: dimmer
          relative_brightness: -1%
          transition_length: 0.01s
          - delay: 0.01s

    Hold button

    • timing:
      • ON for at least 1s
        then:
        • logger.log: “Hold - Dim UP”
        • while:
          condition:
          - binary_sensor.is_on: switchID_1
          then:
          - light.dim_relative:
          id: dimmer
          relative_brightness: +1%
          transition_length: 0.01s
          - delay: 0.01s

I cant see anything wrong. Although the formatting is not correct.

For what it may help, this is mine:

wifi:
  ssid: $ssid
  password: $password
  #use_address: 192.168.1.1
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "${esp_name} FBHS"
    password: !secret Fallback_Hotspot

captive_portal:
 
# Enable logging
logger:
    baud_rate: 0

esphome:
  name: shelly-2-dimmer-01
  platform: ESP8266
  board: esp01_1m

substitutions:
  device_name: "shelly-2-dimmer-01"
  max_power: "220.0" # watt
  max_temp: "70.0" # °C
  esp_name: shelly-2-dimmer-01
  ssid: ssid
  password: !secret ssid_wifi_key

uart:
    tx_pin: 1
    rx_pin: 3
    baud_rate: 115200

# Enable Home Assistant API
api:

ota:

# Enable Web Server
web_server:
  port: 80

time:
  - platform: homeassistant
    id: homeassistant_time

sensor:
  # NTC Temperature
  - platform: ntc
    sensor: temp_resistance_reading
    name: Temperature
    id: temperature
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    icon: "mdi:thermometer"
    calibration:
      b_constant: 3350
      reference_resistance: 10kOhm
      reference_temperature: 298.15K
    on_value:
      then:
        - if:
            condition:
              - sensor.in_range:
                  id: temperature
                  above: ${max_temp}
              - light.is_on: dimmer
            then:
              - light.turn_off: 
                  id: dimmer
              - logger.log: "Switch turned off because temperature exceeded ${max_temp}°C"
              - homeassistant.service:
                  service: persistent_notification.create
                  data:
                    title: Message from ${device_name}
                  data_template:
                    message: Switch turned off because temperature exceeded ${max_temp}°C
    on_value_range:
      - above: ${max_temp}
        then:
          - logger.log: "Temperature exceeded ${max_temp}°C"
          - homeassistant.service:
              service: persistent_notification.create
              data:
                title: Message from ${device_name}
              data_template:
                message: Temperature exceeded ${max_temp}°C
  - platform: resistance
    id: temp_resistance_reading
    sensor: temp_analog_reading
    configuration: DOWNSTREAM
    resistor: 32kOhm
  - platform: adc
    id: temp_analog_reading
    pin: A0

  - platform: total_daily_energy
    name: "${device_name} Energy"
    power_id: power_dimmer
    filters:
      # Multiplication factor from W to kW is 0.001
      - multiply: 0.001
    unit_of_measurement: kWh

light:
  - platform: shelly_dimmer
    name: "${device_name}"
    id: dimmer
    icon: mdi:globe-light-outline
    power:
      name: "${device_name} Power"
      id: power_dimmer
    voltage:
      name: "${device_name} Voltage"
    current:
      name: "${device_name} Current"
      device_class: "current"
    min_brightness: 350
    max_brightness: 1000
    firmware:
      version: "51.6"
      update: true

binary_sensor:
  - platform: gpio
    name: 'Switch 1'
    id: switchID_1
    pin:
      number: GPIO12
      mode: INPUT
    internal: true
    filters:
      - delayed_on_off: 50ms
    on_multi_click:
    
      # single click
      - timing:
        - ON for at most 1s
        - OFF for at least 0.5s
        then:
          - logger.log: "Single-Clicked"
          - light.turn_off: dimmer

      # Hold button
      - timing: 
        - ON for at least 1s
        then:
          - logger.log: "Hold - Dim DOWN"
          - while:
                condition:
                  - binary_sensor.is_on: switchID_1
                then:
                  - light.dim_relative:
                      id: dimmer
                      relative_brightness: -0.5%
                      transition_length: 0.01s
                  - delay: 0.01s

  - platform: gpio
    name: 'Switch 2'
    id: switchID_2
    pin:
      number: GPIO14
      mode: INPUT
    internal: true
    filters:
      - delayed_on_off: 50ms
    on_multi_click:
    
      # single click
      - timing:
        - ON for at most 1s
        - OFF for at least 0.5s
        then:
          - logger.log: "Single-Clicked"
          - light.turn_on: 
              id: dimmer
              brightness: 15%

      # Hold button
      - timing: 
        - ON for at least 1s
        then:
          - logger.log: "Hold - Dim UP"
          - while:
                condition:
                  - binary_sensor.is_on: switchID_2
                then:
                  - light.dim_relative:
                      id: dimmer
                      relative_brightness: +0.5%
                      transition_length: 0.01s
                  - delay: 0.01s

text_sensor:
  - platform: wifi_info
    ip_address:
      name: "${esp_name} IP Address"
    ssid:
      name: "${esp_name} Connected SSID"
    bssid:
      name: "${esp_name} Connected BSSID"
    mac_address:
      name: "${esp_name} Mac Wifi Address"
      
switch:
  - platform: restart
    name: ${esp_name} Restart