jrvrcd
Novembre 1, 2022, 3:10
1
Bonjour
j’ai trouver quelqu’un qui a réussi a faire un code spécifique pour le Sonoff pow elite 16A.
Hello everyone, This is my first post ever, I’ve been here for a long time, but just reading. After all this years I’ve learned a lot so I feel like I owe you this contribution, cuz I searched a lot and I found nothing so here you go, a...
Reading time: 1 mins 🕑
Likes: 1 ❤
Mais pour avoir essayé sur un Sonoff POW ELITE 20A je n’ai pas la commande du relais.
il est toujours collé
et regardant sur tasmota je suis tombé sur cela pour le 20 A
et cela pour le 16 A
le relais est connecté sur la version 16 A sur le GPIO 13
par contre pour la version 20 A
je ne comprends pas du tout la logique…
GPIO2 relay_B 2
et GPIO4 relais _B 1
Y a t’il quelqu’un qui a réussi a faire un firmware dédié au sonoff pow elite 20 A
Merci d’avance pour votre retour
Salut
tu as deux GPIO peut être tout simplement parce qu’il y a 2 relais.
dans un premier temps tu peux tester en remplacant ton GPIO13 par GPIO04 et voir ce qu’il se passe. Puis refaire la même manipulation en remplaçant le GPIO13 par GPIO02.
Quand a l’utilité du 2eme relais, j’ai pas trouvé d’info
A+ Fred
jrvrcd
Novembre 1, 2022, 4:00
3
Merci pour ton retour
Mais je n’ai identifié qu’un seul relais
Je vais essayer je vous tiendrai au courant
jrvrcd
Novembre 9, 2022, 10:21
4
Bonjour
petit retour sur la « BETE »
ce modele la est equipé d’un relais BISTABLE. d’ou dans la definition de tasmota de deux relais
j’ai trouvé sur elektor un script ESPHOME avec justement un relais bistable mais je n’ai pas le moment de modifier ce script pour l’adapter au sonoff.
pour l’usage que j’en ai je vais pour le moment rester sous tasmota
ça fonctionne tres bien comme cela
jrvrcd
Décembre 9, 2022, 9:15
5
Bonjour a tous
j’ai trouvé grâce a ce site
ça peux potentiellement servir.
Fred_G
Janvier 7, 2023, 9:25
6
Hello à tous
Effectivement c’est un relais bistable !
La config sur ESPHome-Devices ne fonctionne pas
Après avoir un peu tâtonné, voici ma config qui fonctionne :
sensor:
- platform: cse7766
update_interval: 2s
current:
name: $friendly_name Current
id: a_sensor
voltage:
name: $friendly_name Voltage
id: v_sensor
power:
name: $friendly_name Power
id: w_sensor
on_value_range:
- above: 4.0
then:
- light.turn_on: switch_led
- below: 3.0
then:
- light.turn_off: switch_led
energy:
name: $friendly_name Energy
id: wh_sensor
- platform: total_daily_energy
name: $friendly_name Total Daily Energy
power_id: w_sensor
- platform: wifi_signal
name: $friendly_name Wifi RSSI
update_interval: 60s
- platform: uptime
id: uptime_sensor
internal: True
on_raw_value:
then:
- text_sensor.template.publish:
id: uptime_human
state: !lambda |-
int seconds = round(id(uptime_sensor).raw_state);
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
seconds = seconds % 60;
return (
(days ? to_string(days) + "d " : "") +
(hours ? to_string(hours) + "h " : "") +
(minutes ? to_string(minutes) + "m " : "") +
(to_string(seconds) + "s")
).c_str();
- platform: template
name: $friendly_name ESP32 Internal Temp
device_class: temperature
unit_of_measurement: °C
id: esp32_temp
lambda: return temperatureRead();
- platform: template
name: $friendly_name Power Factor
device_class: power_factor
id: power_factor
lambda: return id(w_sensor).state / id(v_sensor).state / id(a_sensor).state;
- platform: esp32_hall
name: $friendly_name ESP32 Hall Sensor
update_interval: 60s
binary_sensor:
- platform: gpio
pin: GPIO00
id: reset
internal: true
filters:
- invert:
- delayed_off: 10ms
on_click:
- max_length: 350ms # short press to toggle the relay
then:
switch.toggle: relay_1
- min_length: 360ms # long press to cycle display info
max_length: 3s
then:
- if:
condition:
binary_sensor.is_on: page
then:
binary_sensor.template.publish:
id: page
state: OFF
else:
binary_sensor.template.publish:
id: page
state: ON
- platform: template # this is a fake sensor to tell the screen which info to show on display
id: page
publish_initial_state: true
internal: true
display:
platform: tm1621
id: tm1621_display
cs_pin: GPIO25
data_pin: GPIO14
read_pin: GPIO26
write_pin: GPIO27
lambda: |-
if (id(page).state) {
it.display_voltage(true);
it.display_kwh(false);
it.printf(0, "%.1f", id(v_sensor).state);
it.printf(1, "%.1f", id(a_sensor).state);
} else {
it.display_voltage(false);
it.display_kwh(true);
it.printf(0, "%.1f", id(wh_sensor).state);
it.printf(1, "%.1f", id(w_sensor).state);
}
output:
- platform: ledc
id: led
pin:
number: GPIO18
inverted: True
switch:
- platform: template
name: $friendly_name
optimistic: true
id: relay_1
#lambda: |-
# if (isnan(id(w_sensor).state)) {
# return {};
# } else if (id(w_sensor).state > 4) {
# // Running
# return true;
# } else {
# // Not running
# return false;
# }
turn_off_action:
- switch.turn_on: relay_off
turn_on_action:
- switch.turn_on: relay_on
- platform: gpio
restore_mode: ALWAYS_OFF
internal: true
id: relay_off
pin: GPIO04
on_turn_on:
- delay: 500ms
- switch.turn_off: relay_off #bi-stable relay so no need to keep on.
- light.turn_off: switch_led
interlock: [relay_on]
- platform: gpio
restore_mode: ALWAYS_OFF
internal: true
id: relay_on
pin: GPIO02
on_turn_on:
- delay: 500ms
- switch.turn_off: relay_on #bi-stable relay so no need to keep on.
- light.turn_on: switch_led
interlock: [relay_off]
- platform: restart
name: $friendly_name Restart
text_sensor:
- platform: template
name: $friendly_name Uptime
id: uptime_human
icon: mdi:clock-start
- platform: wifi_info
ip_address:
name: $friendly_name IP
ssid:
name: $friendly_name SSID
bssid:
name: $friendly_name BSSID
light:
- platform: monochromatic
id: switch_led
output: led
internal: True
- platform: status_led
id: wifi_status_led
internal: True
pin:
number: GPIO05
inverted: True
interval:
- interval: 30s
then:
if:
condition:
wifi.connected:
then:
- light.turn_on: wifi_status_led
else:
- light.turn_off: wifi_status_led