I poped out the plastic pice at the bottom to reveal 2 screws.
i posted the picture above.
Hopefully its similar enough to the one you have to help.
I also got a power strip, with this SWB2-1 (LM1) chip inside. For pinout, see this. Flashing went easily, but it behaves very strange, it can be flashed after every power-cycle, regardless of the GPIO0 state. Basically every code works on it until a restart.
Somebody experienced similar behavior with ESPs?
how do I load new firmware into this module SWB2-1? do you have any instructions?
Help FTL232RL and windows esphome flasher
My log lists:
Using 'COM5' as serial port.
Connecting........_____....._____....._____....._____....._____....._____....._____
Unexpected error: ESP Chip Auto-Detection failed: Failed to connect to Espressif device: Timed out waiting for packet header
Yaml in esphome
substitutions:
friendly_name: ESP-Strip
device_description: "convert strip Tuya Lingan SWB2-1"
esphome:
name: esp-strip1
esp8266:
board: esp01_1m
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
password: "6d46e4943a7c28f4a232784e352152aa"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp-Strip1 Fallback Hotspot"
password: "yE2hgZxfsoks"
captive_portal:
sensor:
# Wifi signal
- platform: wifi_signal
name: "${friendly_name} Signal"
update_interval: 300s
switch:
- platform: gpio
id: led
pin:
number: GPIO12
inverted: true
- platform: gpio
name: "${friendly_name} USB"
pin: GPIO15
id: plugusb
- platform: gpio
name: "${friendly_name} Socket3"
pin: GPIO12
id: plug1
- platform: gpio
name: "${friendly_name} Socket1"
pin: GPIO14
id: plug2
- platform: gpio
name: "${friendly_name} Socket2"
pin: GPIO05
id: plug3
Thanks
EDIT: Ha ha fix reverse pin RX a TX
And another problem:
Using 'COM5' as serial port.
Connecting....
Detecting chip type... ESP8266
Connecting...
Chip Info:
- Chip Family: ESP8266
- Chip Model: ESP8266EX
- Chip ID: 00FE6CEE
- MAC Address: 98:F4:AB:FE:6C:EE
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
- Flash Size: 4MB
- Flash Mode: dout
- Flash Frequency: 40MHz
Erasing flash (this may take a while)...
Unexpected error: Error while erasing flash: Timed out waiting for packet content
EDIT 2
helped to replace it with another flasher module
EDIT3
full yaml code whit button (click turn on/hold turn off) and add current meter (ads1115 adc and ct_clamp SCT-013-50A)
i2c:
sda: GPIO4
scl: GPIO2
ads1115:
- address: 0x48
sensor:
# Wifi signal
- platform: wifi_signal
name: "${friendly_name} Signal"
update_interval: 300s
- platform: ads1115
multiplexer: 'A0_GND'
gain: 6.144
name: "ADS1115 Channel A0-GND"
id: adc_sensor
update_interval: 30s
internal: true
- platform: ct_clamp
sensor: adc_sensor
name: "${friendly_name} Current"
update_interval: 30s
filters:
- calibrate_linear:
# Measured value of 0 maps to 0A
- 0 -> 0
# Known load: 4.0A
# Value shown in logs: 0.1333A
- 0.003 -> 0.142
id: ctcurrent
- platform: template
name: "${friendly_name} Power"
lambda: |-
return (235.0 * id(ctcurrent).state);
unit_of_measurement: 'W'
update_interval: 30s
# Example configuration entry
switch:
- platform: gpio
id: led
pin:
number: GPIO12
inverted: true
- platform: gpio
name: "${friendly_name} USB"
pin: GPIO15
id: plugusb
restore_mode: ALWAYS_ON
- platform: gpio
name: "${friendly_name} Socket1"
pin: GPIO12
id: plug1
restore_mode: ALWAYS_ON
- platform: gpio
name: "${friendly_name} Socket2"
pin: GPIO14
id: plug2
restore_mode: ALWAYS_ON
- platform: gpio
name: "${friendly_name} Socket3"
pin: GPIO05
id: plug3
restore_mode: ALWAYS_ON
# Example configuration entry
binary_sensor:
- platform: gpio
name: "${friendly_name} gpio13"
pin:
number: GPIO13
mode: INPUT_PULLUP
id: press_strip
filters:
- invert:
- delayed_on: 10ms
device_class: power
on_click:
- min_length: 50ms
max_length: 990ms
then:
- switch.turn_on: plug1
- switch.turn_on: plug2
- switch.turn_on: plug3
- switch.turn_on: plugusb
- min_length: 1000ms
max_length: 5000ms
then:
- switch.turn_off: plug1
- switch.turn_off: plug2
- switch.turn_off: plug3
- switch.turn_off: plugusb
Can you share original firmware.
I don’t have the original firmware. It have been overwriten with ESPHome firmware.
Hi,
i have an 3 Socket + USB Lingan Model swb2-1 REV:v1.1 Date 2018.11.22
i tried your code to switch the Sockets and it is working fine.
But the Power Sensor does not work. - NA - result.
Did you add the power sensor with your own hardware?
or is your Socket with the needed hardware delivered from Factory?
Greetings TiBo
I added my own HW.
the first version was with CT-clamp and ADS1115
the second version is already with hlw8012 and galvanically separated USB!!!
I have a Deltaco outdoor smartplug (SH-OP01)
Seems tuya convert did not work.
But, managed to use this tuya cloudcutter to install esphome on it.
I followed digiblurs webpage how to use tuya cloudcutter:
Could not find that plug in the tuya cloudcutter list, so I just winged it and hoped for the best
Chose a generic bk7231t plug, luckily I could login to it in AP mode, and add it to my wifi.
After that I used esphome to build a firmware and loaded it manually through webgui. And after that homeassistant found it.
Here is my esphome config for it. But still needs a proper calibration for energymeter part.
substitutions:
# voltage_divider: "785.5115954276857"
voltage_divider: "815.5115954276857"
current_resistor: "0.001054149274397953"
current_multiply: "0.4499878363475396"
esphome:
name: deltaco-outdoor-wifi-plug-1
friendly_name: Deltaco-outdoor-wifi-plug-1
bk72xx:
board: generic-bk7231t-qfn32-tuya
# Enable logging
logger:
# Enable Home Assistant API
api:
password: ""
ota:
password: ""
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "Deltaco-Outdoor-Wifi-Plug-1"
password: ""
captive_portal:
web_server:
port: 80
sensor:
- platform: hlw8012
model: BL0937
cf_pin:
number: P7
inverted: true
cf1_pin:
number: P8
inverted: true
sel_pin:
number: P24
inverted: true
current_resistor: ${current_resistor}
voltage_divider: ${voltage_divider}
current:
name: "BL0937 Current"
filters:
- multiply: ${current_multiply}
voltage:
name: "BL0937 Voltage"
power:
name: "BL0937 Power"
update_interval: 10s
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
- platform: uptime
name: Uptime Sensor
id: uptime_sensor
update_interval: 60s
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();
text_sensor:
- platform: template
name: Uptime Human Readable
id: uptime_human
icon: mdi:clock-start
- platform: wifi_info
ip_address:
name: IP Address
entity_category: diagnostic
binary_sensor:
- platform: status
name: Status
entity_category: diagnostic
- platform: gpio
pin:
number: P10
mode: INPUT_PULLUP
inverted: true
name: "Power Button"
on_press:
- switch.toggle: relay
switch:
- platform: gpio
# LED
id: led
pin:
number: P6
inverted: true
- platform: gpio
name: Switch
pin: P26
id: relay
# Turn on LED when turned on
on_turn_on:
- switch.turn_on: led
# Turns off LED once the plug is turned off
on_turn_off:
- switch.turn_off: led
button:
- platform: restart
id: restart_button
name: Restart
entity_category: diagnostic
Oh, thanks this looks great! I have bee searching for this but what orginal firmware did you have on the plug, I have a SH-OP01 and don’t know if there is any difference to the sp-op01 maybe just or another contry. My is bought in Sweden.
Where did you get thoose number from?
voltage_divider: "815.5115954276857"
current_resistor: "0.001054149274397953"
current_multiply: "0.4499878363475396"
Because I read that you need to calibrate it?
Hi, sorry that was a typo… It’s a SH-OP01. I bought it from netonnet
The values I just copied it from another example, and tried it to see what kind of values I get for volt amps watt.
I have tuned those a bit, but still need more time on that. It’s almost there, but I haven’t just had time to calibrate it properly.
new values that I think is more close to be correct.
voltage_divider: "826.5560949725779"
current_resistor: "0.0005782716155781829"
current_multiply: "0.20570710385066757"
You can use this page to calibrate it.
Confirmed this worked with my SH-P01M-3P plugs, just added a new device through wifi in Tuya Smart app