BlitzWolf BW-SHP9 Power Strip (SKUD56165) / Deltaco SH-P03USB Power Strip Vo vnútri je osadení čip s označením LM1 Lingan SWB2-1 --- je to vlastne esp8266
Konverzia je jednoduchá nakoľko priamo na doske sú umiestnené piny na flashovanie RX TX GPIO0 GND 5VDC -Stačí použiť akýkoľvek flashboard FTL232RL
- GPIO0 pri flashovaní pripojiť na GND
- RX na Tx a TX na Rx
- nesmie byť pripojený do siete!
V esphome je potrebne len vytvoriť binárny súbor a nahrať ho cez napr. ESPHome-Flasher-1.4.0-Windows-x64
Kód nižšie ale ešte ho upravujem (ale dostupne sú tu: https://community.home-assistant.io/t/deltaco-smarthome ak by chcel niekto bez power metra)
Popis pinov je na stránke tasmota: https://templates.blakadder.com/blitzwolf_SHP9.html
popis pinov na esp8266 lm1
BONUS:
PRIDANIE POWER METRU POMOCOU MODULU HLW8012
UPOZORNENIE: MODUL NIE JE GALVANICKY ODDELENÝ OD FÁZY PRETO JE FÁZA PRIVEDENÁ V CELOM OBVODE PRETO AK NEMÁTE ZNALOSTI NEPÚŠTAJTE SA DO TOHO!
UPOZORNENIE 2: PREDLŽOVÁK OBSAHUJE USB TIETO JE POTREBNÉ CELÉ ODLETOVAŤ A VYTVORIŤ NOVÝ MODUL PRE ODDELENIE OD FÁZY!!! POPIS NIŽŠIE
UPOZORNENIE 3: Vždy pred zapojením do siete si všetko pomerajte merákom či náhodou Vám niekde nepretláča spojenie GND a VCC alebo GND a uzemnenie. GND a Fáza spojenie je vporiadku. VCC fáza by Vám malo vyhodiť nejaký odpor.
UPOZORNENIE 4: Ak to plánujete hodiť na iné zariadenie inú inteligentú záuvku tak vždy platí to čo je napísané vyššie a najlepšie riešenie a kontrolu či to bude fungovať je tá, že voltig divider z 220V na 5 alebo 3.3V je pomocou transformátorum ktorý robí galvanické oddelenie od nuláku. Umiestnujte celé zariadenie aj s esp do uzatvorenej krabice aby nedošlo k úrazu ak je to custom predlžovák.
ČO POTREBUJEME:
- energy meter hlw8012 modul: https://www.aliexpress.com/item/3295497 ... 1802PXKZ0E
- opotoculer PC817
- NPN mofset IRFZ44N
- Diodu 1N4007
- Odpory: 110k, 330k, 1k, 2x100, 220,
- transformátor z 220Ac na 5Vdc cievkový (rozobral som malý modul zo starej usb nabijiačky 1,5A)
- kabeláž spoje atď
REALIZÁCIA: SCHÉMA ZAPOJENIA (galvanické oddelenie usb): YAML KÓD:
EDIT:1
- upravil som piny nakoľko pin GPIO15 nedokáže čitať a bol prehodený na SEL_pin
- ešte musim porovnať s nejakým power metrom pre kontrolu výstupných hodnôt nakoľko keď vynásobím volty x ampére tak výsledná hodnota je dvojnásobná ako ukazuje power na module.
Kód: Vybrat vše
substitutions:
friendly_name: ESP-Strip
device_name: esp-strip
created_by: "StudioTiiM 2022"
device_description: "convert strip Tuya Lingan SWB2-1 and add power meter hlw 8012"
button_pin: GPIO13
socket1_pin: GPIO12
socket2_pin: GPIO14
socket3_pin: GPIO05
usb_pin: GPIO16
hlw_sel_pin: GPIO15
hlw_cf_pin: GPIO003 #power measured
hlw_cf1_pin: GPIO04 #current/voltage
#-------------------------------------------
# ESP main settings
#-------------------------------------------
esphome:
name: esp-strip1
esp8266:
board: esp01_1m
restore_from_flash: true
logger:
api:
ota:
password: "6d46e4943a7c28f4a232784e352152aa"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "$device_name Hotspot"
password: "passstrip"
captive_portal:
#-------------------------------------------
# SENSORS
#-------------------------------------------
sensor:
#-------------------------------------------
# Wifi signal component
#-------------------------------------------
- platform: wifi_signal
name: "${friendly_name} Signal"
update_interval: 320s
#-------------------------------------------
# Power meter sensor - hlw8012 modul
#-------------------------------------------
- platform: hlw8012
sel_pin: "$hlw_sel_pin"
cf_pin: "$hlw_cf_pin"
cf1_pin: "$hlw_cf1_pin"
# initial_mode: CURRENT
change_mode_every: 5
current:
name: "${friendly_name} Current"
id: current
on_value:
then:
component.update: power_temp
voltage:
name: "${friendly_name} Voltage"
id: voltage
accuracy_decimals: 0
power:
name: "${friendly_name} Power"
energy:
name: "${friendly_name} Energy"
update_interval: 10s
#-------------------------------------------
# Power meter template - correct watt and total energy
# (it is necessary to check the consumption data)
#-------------------------------------------
- platform : template
name: "${friendly_name} Power temp"
id: power_temp
icon: "mdi:flash"
unit_of_measurement: "W"
lambda: |-
return (id(current).state * id(voltage).state);
update_interval: never
accuracy_decimals: 0
- platform: total_daily_energy
name: "${friendly_name} Total energy"
power_id: power_temp
unit_of_measurement: 'kWh'
icon: mdi:circle-slice-3
state_class: total_increasing
device_class: energy
filters:
# Multiplication factor from W to kW is 0.001
- multiply: 0.001
accuracy_decimals: 3
#-------------------------------------------
# BINARY SENSORS
#-------------------------------------------
binary_sensor:
#-------------------------------------------
# Button strip - on press all relay on or off
#-------------------------------------------
- platform: gpio
name: "${friendly_name} Button"
pin:
number: "$button_pin"
mode: INPUT_PULLUP
id: press_strip
filters:
- invert:
- delayed_on: 10ms
device_class: power
on_press:
then:
- switch.template.publish:
id: socket_all_temp
state: !lambda |-
if (id(socket_all_temp).state) {
return false;
} else {
return true;
}
# on_click:
# - min_length: 50ms
# max_length: 990ms
# then:
# max_length: 5000ms
# then:
#-------------------------------------------
# SWITCHES
#-------------------------------------------
switch:
#-------------------------------------------
# Template Button 1 Left
#-------------------------------------------
- platform: template
name: "${friendly_name} Socket all"
id: socket_all_temp
optimistic: true
restore_state: on
on_turn_on:
then:
- switch.turn_on: plug1
- switch.turn_on: plug2
- switch.turn_on: plug3
- switch.turn_on: plugusb
on_turn_off:
then:
- switch.turn_off: plug1
- switch.turn_off: plug2
- switch.turn_off: plug3
- switch.turn_off: plugusb
#-------------------------------------------
# Led button - find out why it is the same pin as the button
#-------------------------------------------
- platform: gpio
id: led
pin:
number: "$socket1_pin"
inverted: true
#-------------------------------------------
# Socket - USB
#-------------------------------------------
- platform: gpio
name: "${friendly_name} USB"
pin: "$usb_pin"
id: plugusb
restore_mode: RESTORE_DEFAULT_ON
icon: mdi:usb
#-------------------------------------------
# Socket - 1
#-------------------------------------------
- platform: gpio
name: "${friendly_name} Socket1"
pin: "$socket1_pin"
id: plug1
restore_mode: RESTORE_DEFAULT_OFF
icon: mdi:power-socket-de
#-------------------------------------------
# Socket - 2
#-------------------------------------------
- platform: gpio
name: "${friendly_name} Socket2"
pin: "$socket2_pin"
id: plug2
restore_mode: RESTORE_DEFAULT_OFF
icon: mdi:power-socket-de
#-------------------------------------------
# Socket - 3
#-------------------------------------------
- platform: gpio
name: "${friendly_name} Socket3"
pin: "$socket3_pin"
id: plug3
restore_mode: RESTORE_DEFAULT_OFF
icon: mdi:power-socket-de
#-------------------------------------------
# TIME
#-------------------------------------------
time:
- platform: homeassistant
id: homeassistant_time
- Počas úpravy sa mi vyskytla jedna chyba modulu a to, že nechcel bez akejkoľvek zmeny nabehnúť po pripojení cez ftd a pozretí logu na mňa vyskočila chyba:
Kód: Vybrat vše
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
- Je potrebná korekcia spotreby.