Hi Trioon:
By the way.
May you share the configuration for how to show Shelly temperature by degreee C ?
Tks
I communicate with the Shelly by MQTT, which has one topic for °C and one for °F (here is the API reference):
- platform: mqtt
name: "Immersion switch temperature"
state_topic: "shellies/shelly1pm-xxxxxx/temperature"
unit_of_measurement: "°C"
device_class: temperature
tks for your reply
by the way, may you share config for switch?
tks again
light or switch - config is very similar if not the same. Also shelly1, 1pm, 2.5 are the same in regard of mqtt relay configuration
It differs in a domain the definition is member of. (see mqtt light and mqtt switch documentation).
comparing to post above I would define more details for the entity. Here is config of relay 0 one of my shellies 2.5. For second relay you need to duplicate the code changing name and relay number from 0 to 1.
Also note, Shelly2.5 provides sensors (internal temp and power usage)
- plateform: mqtt
name: "Entrance"
command_topic: "shellies/shelly25-entrance/relay/0/command"
state_topic: "shellies/shelly25-entrance/relay/0"
availability_topic: "shellies/shelly25-entrance/online"
qos: 1
retain: false
payload_on: "on"
payload_off: "off"
payload_available: "true"
payload_not_available: "false"
optimistic: false
Just built in a shelly 2.5 esphome flashed…
Instantly (after a few minutes) lights out and message on app… temperature too high… Is this normal? Only 300W lamp connected…
max_temp was set by me at 75… now I have set it at 85…
Is this normal behavior??
substitutions:
devicename: shelly_25_01
# ip: 192.168.xx.xx
channel_1: Relay 1
channel_2: Relay 2
ssid: IOTDOM
password: !secret IOTDOM_wifi_key
max_power: "2000.0"
max_temp: "85.0"
esphome:
name: ${devicename}
platform: ESP8266
board: esp01_1m
wifi:
ssid: "IOTDOM"
password: !secret IOTDOM_wifi_key
domain: !secret domain
use_address: 192.168.6.28
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "${devicename} Fallback Hotspot"
password: !secret Fallback_Hotspot
captive_portal:
# Enable logging
logger:
level: DEBUG
# Enable Home Assistant API
api:
ota:
web_server:
port: 80
time:
- platform: sntp
id: my_time
i2c:
sda: GPIO12
scl: GPIO14
sensor:
- platform: ade7953
voltage:
name: ${devicename} voltage
current_a:
name: ${channel_2} current
internal: true
current_b:
name: ${channel_1} current
internal: true
active_power_a:
name: ${channel_2} power
id: power_channel_2
filters:
- multiply: 1
on_value_range:
- above: ${max_power}
then:
- switch.turn_off: shelly_relay_2
- homeassistant.service:
service: persistent_notification.create
data:
title: Message from ${devicename}
data_template:
message: Switch turned off because power exceeded ${max_power}W
active_power_b:
name: ${channel_1} power
id: power_channel_1
filters:
- multiply: -1
on_value_range:
- above: ${max_power}
then:
- switch.turn_off: shelly_relay_1
- homeassistant.service:
service: persistent_notification.create
data:
title: Message from ${devicename}
data_template:
message: Switch turned off because power exceeded ${max_power}W
update_interval: 30s
- platform: total_daily_energy
name: ${channel_1} energy
power_id: power_channel_1
filters:
# Multiplication factor from W to kW is 0.001
- multiply: 0.001
unit_of_measurement: kW
- platform: total_daily_energy
name: ${channel_2} energy
power_id: power_channel_2
filters:
# Multiplication factor from W to kW is 0.001
- multiply: 0.001
unit_of_measurement: kW
# NTC Temperature
- platform: ntc
sensor: temp_resistance_reading
name: ${devicename} 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:
- switch.turn_off: shelly_relay_1
- switch.turn_off: shelly_relay_2
- homeassistant.service:
service: persistent_notification.create
data:
title: Message from ${devicename}
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
status_led:
pin:
number: GPIO0
inverted: yes
switch:
- platform: gpio
id: shelly_relay_1
name: ${channel_1} relay
pin: GPIO4
icon: "mdi:electric-switch"
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
id: shelly_relay_2
name: ${channel_2} relay
pin: GPIO15
icon: "mdi:electric-switch"
restore_mode: RESTORE_DEFAULT_OFF
binary_sensor:
- platform: gpio
pin:
number: GPIO5
name: "${channel_1} input"
on_state:
then:
- switch.toggle: shelly_relay_1
- platform: gpio
pin:
number: GPIO13
name: "${channel_2} input"
on_state:
then:
- switch.toggle: shelly_relay_2
I think ESPHome already addressed the problem by adding the irq_pin.
Still my units get hotter than 75°C is this still normal?
# If you change the light for a sitch or the other way around,
# make shure to also change
# the automation service call "light.turn_off" / "swich.turn_off".
#Variables
substitutions:
device_name: shelly_5_25_kitchen
node_name: Shelly25 Kitchen
# Name for the relays
channel_1: Kitchen Spot
channel_2: Kitchen Exhaust Fan
max_power: "2000.0" # watt
max_temp: "80.0" # °C
# Basic Config
esphome:
name: "${device_name}"
platform: ESP8266
board: esp01_1m
build_path: ./build/${device_name}
wifi:
use_address: 10.25.30.107
packages:
#Wifi Settings
wifi: !include includes/network.yaml
#Device Specific Config
script:
- id: protection_temp
then:
- light.turn_off: channel_1
- fan.turn_off: channel_2
- homeassistant.service:
service: persistent_notification.create
data:
title: Message from ${node_name}
data_template:
message: Switch turned off because temperature exceeded ${max_temp}°C
- id: protection_power
then:
- light.turn_off: channel_1
- fan.turn_off: channel_2
- homeassistant.service:
service: persistent_notification.create
data:
title: Message from ${node_name}
data_template:
message: Switch turned off because power exceeded ${max_power}°C
i2c:
sda: GPIO12
scl: GPIO14
sensor:
- platform: ade7953
irq_pin: GPIO16
voltage:
name: ${node_name} Voltage
current_a:
name: ${channel_1} Current
active_power_a:
name: ${channel_1} Power
id: channel_1_power
filters:
- multiply: 1
on_value_range:
- above: ${max_power}
then:
- script.execute: protection_power
current_b:
name: ${channel_2} Current
active_power_b:
name: ${channel_2} Power
id: channel_2_power
filters:
- multiply: 1
on_value_range:
- above: ${max_power}
then:
- script.execute: protection_power
update_interval: 60s
# NTC Temperature
- platform: ntc
sensor: temp_resistance_reading
name: ${node_name} Temperature
calibration:
b_constant: 3350
reference_resistance: 10kOhm
reference_temperature: 298.15K
on_value_range:
- above: ${max_temp}
then:
- script.execute: protection_temp
- platform: resistance
id: temp_resistance_reading
sensor: temp_analog_reading
configuration: DOWNSTREAM
resistor: 32kOhm
- platform: adc
id: temp_analog_reading
pin: A0
## Changed to always off under switch component
#status_led:
# pin:
# number: GPIO0
# inverted: yes
## Added to turn off status led
switch:
- platform: gpio
pin:
number: GPIO0
inverted: true
id: status_light
restore_mode: ALWAYS_OFF
internal: true
output:
- platform: gpio
pin: GPIO15
id: out_channel_1
- platform: gpio
pin: GPIO4
id: out_channel_2
fan:
- platform: binary
output: out_channel_2
name: "${channel_2}"
id: channel_2
light:
- platform: binary
name: "${channel_1}"
restore_mode: RESTORE_DEFAULT_OFF
output: out_channel_1
id: channel_1
binary_sensor:
- platform: gpio
pin:
number: GPIO13
name: "${channel_1}"
on_state:
then:
- light.toggle: channel_1
internal: true
- platform: gpio
pin:
number: GPIO5
name: "${channel_2}"
on_state:
then:
- fan.toggle: channel_2
internal: true
I don’t know. Add a binary sensor for gpio 16 and check again
it’s already in:
sensor:
- platform: ade7953
irq_pin: GPIO16
Ok but that doesn’t seems to work. So follow the link above and add:
binary_sensor:
- platform: gpio
pin: GPIO16
name: "ade7953 IRQ pin"
internal: true
If then it’s working as expected, open an issue at Esphome GitHub about irq_pin
Hi,
My Shelly 2.5 is at 50C with no load and almost 70C with just 40W (like 15W+25W) total load, using the original firmware. It is in a closed fuse box in a basement at like 14C.
My understanding is that if you want to drive any load you should probably put a proper contactor/relay in between or simply use 2 x Shelly 1 which have a dry relay. I have a Shelly 1 with like 300W and by touch it does not seem to get very hot.
From some discussions on the Shelly forums, it seems the manufacturer claims it is ok to have high temperatures with the 2.5 but, like most users i guess, I do not feel good about it reaching 80C or 90C.
link possible?
I did not have it handy but with a bit of digging i think i had this one in mind:
https://www.shelly-support.eu/forum/index.php?thread/3957-dimmer-2-overtemperature-error/&postID=55063#post55063
There are a few discussion on overheating on their forum: if you search you may find more useful data points.
That said i like very much the Shelly devices because they are more opened than most devices right out of the box and they don’t try to push their app and cloud down your throat. Just have to be aware of the practical vs theoritical load limits.
That is about a dimmer, not the shelly 2.5…
Right. But it does not matter much: the 1PM, 2.5 and any without dry relay are subject to overheating.
That said, I found the more relevant post involving one of their technical guy (it was not on their forum as i thought but only linked from their forum to their facebook page):
https://m.facebook.com/groups/1686781668087857?view=permalink&id=2054834997949187
Their tech support is relatively responsive so if you need more details probably best to go directly to the source.
I can confirm they (Shelly) claims what JeanC said about S2.5.
it doesn’t change the fact that such temperatures might be limitting as well as one might have concerns about energy loss/waste
Ok, but formally now “what is said then” , in other words… is 90 to 95 degrees safe and cut off at 95 normal? Even if it “can get 120 degrees” . That facebook post does not make things more clear but more vague
FWIW, I measured the case temperature of a Wemo Insight plug. A washing machine is connected to it and typically draws from 200 to 450 watts depending on the washing cycle. While it was part way through a spin cycle (consumes more power) I took several measurements and the highest value was 37.2 C (99 F).
I also have a refrigerator connected to a CE Smart Plug with Energy Monitoring (flashed with Tasmota). It consumes about 150 watts (when the compressor kicks in) and the plug’s case temperature is just a few degrees above ambient.
Right it is not a tech doc. I think he tried to say they cut 10C below rating of the components (105C) and that they are confortable with that margin. Personally i am not