Het is weer mogelijk! Tuya apparaten flashen met aangepaste firmware! Een lange tijd was het mogelijk om aangepaste firmware zoals ESPeasy, ESPHome of Tasmota door middel van tuya-convert op je Tuya apparaat te flashen. Dit geeft je volledige controle over jouw apparaat, zonder tussenkomt van de cloud. Dit geeft je meer flexibliteit, controle en privacy.
Op mijn artikel over het flashen van tuya-convert op bijvoorbeeld het LSC Smart Socket of de LSC A60 filament lamp van de Action heb ik zeer veel views en reacties gekregen. Het leeft dus erg. Tuya ging het flashen tegenwerken en plaatste andere chips in de apparaten. In het tuya-convert tijdperk waren de chips allemaal ESP gebaseerd, wat het flashen ook zo makkelijk maakte. Hedendaags zijn de Tuya apparaten bijna allemaal uitgerust met RTL en Beken chips. Het is hackers/ontwikkelaars nu gelukt om ook deze te voorzien van nieuwe, eigen en opensource firmwares. Hiervoor maak je gebruik van de nieuwe Cloudcutter toolchain. Je kunt kiezen om je apparaat alleen los te maken van de cloud van Tuya of volledig nieuwe firmware te flashen. Hoe je je nieuwste Tuya apparaten losmaakt van de cloud of voorziet van nieuwe firmware lees je in dit artikel.
tuya-cloudcutter how to
Hieronder vindt je een beknopt stappenplan om de tuya cloudcutter toolchain toe te passen. Na het stappenplan lees je hoe je alle stappen doorloopt. Er zijn 2 opties.
- Tuya device cloudcutten: je maakt je apparaat onafhankelijk van de cloud. Je kunt ‘m alleen nog bedienen met bijvoorbeeld Home Assistant in je lokale netwerk. Als je Home Assistant vanaf ‘buiten’ kunt benaderen, kun je natuurlijk deze apparaten ook bedienen. Je bent onafhankelijk van de Tuya cloud maar de firmware op het apparaat is nog wel het originele van Tuya. Je verbind het Tuya apparaat via de LocalTuya integratie met Home Assistant.
- Tuya device flashen met ESPHome custom firmware. Voor ultieme open en vrijheid flash je ESPHome op je apparaat. Het apparaat werkt hetzelfde, zo niet beter en vaak ook sneller omdat de communicatie niet eerst de hele wereld over hoeft om je lamp of apparaat in te schakelen. Je verbind ESPHome op het Tuya apparaat met Home Assistant via de ESPHome integratie.
Benodigde tijd: 2 uren
Om de nieuwste Tuya gebaseerde apparaten los te maken van de cloud of te voorzien van eigen firmware doorloop je de volgende stappen. Het is mij onder andere gelukt met Hombli smart stopcontacten en een LSC A60 filament lamp van de Action beide gekocht in 2023.
- Vind het MCU en Main module versienummer
Om deze versienummers te vinden voeg je je apparaat eerst toe aan de Tuya SmartLife app, of wanneer het apparaat al bekend is in de Cloudcutter devices list kun je door naar stap 2.
- Gereedmaken van Raspberry Pi
De Raspberry Pi gebruiken we om de Cloudcutter toolchain uit te voeren.
- Uitvoeren Cloudcutter
Wanneer je alle benodigde pakketten geïnstalleerd hebt, kun je de Cloudcutter toolchain uitvoeren en je apparaat ‘cloudcutten’.
- Optie 1: Voeg je apparaat toe aan Home Assistant
Door middel van LocalTuya kun je nu je apparaat toevoegen aan Home Assistant.
- Optie 2: Flashen custom firmware
Wanneer het mogelijk is voor jouw apparaat kun je ESPHome of Tasmota flashen op je apparaat en dan toevoegen aan Home Assistant.
Achterhalen MCU en Main module versie
Om straks de juiste aanpak te kiezen, zoeken we eerst uit wat de MCU en main module versie van je apparaat zijn.
Voeg daarvoor eerst het apparaat toe aan de SmartLife app van Tuya. Maak een account aan, kan ook een tijdelijk account zijn, en koppel het apparaat. Tik in het hoofdscherm op de naam van het apparaat. Daarna op het potloodje rechtsbovenin het scherm. Kies nu helemaal onderaan voor “Zoeken naar Firmware Updates”. Op dit scherm worden nu de Main module en MCU Module versies weergegeven. In mijn geval beide v1.3.5 voor de Hombli Power plugs, voor de LSC Smart Connect Filament LED A60 lamp was dat v1.1.6. In mijn voorbeeld gebruik ik Hombli Smart Sockets met power meter HBSS-0109.
Raspberry Pi klaarmaken
Pak je Raspberry Pi erbij en flash met de Raspberry Pi Imager Raspberry Pi OS. Schakel in de configuratie SSH in zodat je straks direct kunt verbinden via putty. Verzin een gebruikersnaam en wachtwoord.
Wanneer je op SCHRIJF klikt, wordt de gekozen SD-kaart geformatteerd en RaspPiOS geflashed naar je SD kaart.
Wanneer het flashen klaar is, haal je de sdcard uit je kaartlezer en stop je ‘m in de pi. Schakel de stroom in, hang ‘m aan een internetkabel en wacht tot de pi geboot is. Dit duurt een paar minuten.
Verbinden met putty
Download en installeer putty op je laptop of pc. Hiermee kunnen we verbinding maken (via SSH) met de Raspberry Pi zonder scherm en toetsenbord eraan te hangen.
Login op de Pi met het IP-adres of de hostname en je zojuist ingestelde gebruikersnaam en wachtwoord.
Installeren tuya-cloudcutter
We gaan starten met de voorbereidingen om tuya-cloudcutter te installeren.
Installeer eerst network-manager, bewerk daarna het dhcpcd.conf en het networkmanager.conf bestand. Network manager installeer je door middel van:
sudo apt update && sudo apt install network-manager
Bewerk het dhcpcd.conf bestand met tekstverwerker nano doormiddel van het volgende commando:
sudo nano /etc/dhcpcd.conf
Scroll naar beneden en typ als laatste regel:
denyinterfaces wlan0
Sla op met CTRL+X en Y en Enter
Daarna pas je het networkmanager bestand aan door middel van:
sudo nano /etc/NetworkManager/NetworkManager.conf
Pas het aan naar onderstaande tekst
[main] plugins=ifupdown,keyfile dhcp=internal [ifupdown] managed=true
Start de Pi nu opnieuw op door middel van:
sudo reboot
Laat de Pi opstarten en verbind opnieuw met de Pi via Putty.
Installeer docker
Installeer Docker volgens de officiële instructies voor Raspberry OS 32 bit. Als je Raspberry OS 64 bit hebt geflashed op je SD-card volg je de instructies voor Debian. Dit kan even duren.
Installeer git
Installeer daarna git met het commando:
sudo apt install git
Clone cloudcutter
Nu zijn we klaar om de cloudcutter repo te klonen. Dit doe je door middel van het volgende commando:
git clone https://github.com/tuya-cloudcutter/tuya-cloudcutter
Voorbereidingen gereed
Nu zijn alle voorbereidingen klaar en kunnen we gaan flashen!
Navigeer naar de map cloudcutter door:
cd tuya-cloudcutter
Start daarna het tuya-cloudcutter script op in combinatie met het ingeven van je wifi gegevens.
sudo ./tuya-cloudcutter.sh -s <SSID> <SSID password>
Eerste poging ging mis
Bij de start van het script maak je de keuze of je een nieuwe firmware wilt flashen of het apparaat los wil maken van de cloud. Ik heb ervoor gekozen eerst de plug te cloudcutten. Doordat je net voor optie -s in combinatie met je WiFi gegevens hebt gekozen sla je die vraag over.
Door het apparaat los te maken van de cloud maakt de plug geen verbinding meer met de Tuyacloud en werkt dan alleen nog lokaal via bijvoorbeeld Home Assistant. Wanneer je Home Assistant vanaf ‘buiten’ kunt bereiken werken je Tuya apparaten natuurlijk wel.
Het script vraagt een keuze te maken of je je apparaat wilt selecteren op basis van fabrikant en apparaatnaam of op basis van MCU en Main module versie. In mijn eerste poging de Hombli plug te cloud-cutten heb ik gekozen voor de eerste optie. Ik heb het device profile van de Hombli HBSS-0209 gekozen, terwijl mijn plug de HBSS-0109 is. Het resultaat van deze poging was dan ook “The profile you selected did not result in a successful exploit”.
Tweede poging is gelukt
Bij de tweede poging heb ik gekozen voor “By firmware version and name”. Ik scrolde naar het versienummer van mijn Hombli plug 1.3.6. Nu kwam de vraag om een apparaat te selecteren. Ik koos voor de Antela Fls202-EU Smart Plug. Deze plug lijkt erg op de Hombli plug dus goede kans dat het werkt.
Het process begint met het zoeken naar je apparaat. Zet je apparaat in de slow-blink modus. Deze activeer je door eerst naar de fast-blink modus te gaan door je apparaat te resetten. Bij een smart plug houd je de knop hiervoor een aantal seconden ingedrukt. Als de led snel knippert, laat je los en houd je de knop nog eens ingedrukt. De led gaat nu langzamer knipperen. Nu kan tuya-cloudcutter je apparaat vinden. Bij een lamp reset je door de lamp 3 tot 6x aan en uit te zetten totdat je de fast-blink mode geactiveerd hebt, en daarna nog een keer 3 tot 6x aan en uit zetten.
Tuya cloudcutter vindt het accesspoint van het apparaat en start met het uitvoeren van het exploit script. Als het lukt volg je de instructies op het scherm.
De exploit heeft gewerkt! Je krijgt nu de local en device keys te zien. Sla ze goed op!
Een tweede apparaat ging direct goed
Voor de LSC Smart Filament A60 lamp kies je firmware 1.1.6:
Cloudcutted apparaat toevoegen aan Home Assistant
Nu je apparaat los is van de Tuya Cloud kun je ‘m alleen nog benaderen via de Local Tuya integration van Home Assistant. Je kunt LocalTuya downloaden via HACS. Als je custom firmware wilt flashen zoals ESPHome kun je door naar de volgende paragraaf.
Tuya apparaat toevoegen aan Home Assistant met LocalTuya
Installeer LocalTuya via HACS. Als je dit gedaan hebt stel je een nieuwe LocalTuya integratie in via het integraties overzicht. Kies daarna voor configureer.
Kies voor “do not create cloud account” en ga verder. Klik op “Add a new device”.
Kies in het volgende menu je cloudcutted device, te herkennen aan de Device ID. In mijn geval heb ik die aangepast tijdens het flashen “abcdefghijklmnopqrst”. Dit is niet noodzakelijk, tijdens het proces van cloudcutten worden de keys opgeslagen in de configured-devices map op je Raspberry Pi mocht je ze nog eens nodig hebben. Back up de keys wel goed!
Vul nu je Local Key in en ga verder na het volgende scherm.
Je kunt nu kiezen welke sensoren van het apparaat je wilt toevoegen. Ik heb eerst de knop toegevoegd.
Het ID is per sensor en apparaat anders. Je kunt het opzoeken in de Tuya Developer omgeving. Klik in het menu op Cloud -> API Explorer. Kies daarna voor Smart Home Basic Service in het menu linksbovenaan. Daarna in het menu daaronder klik je op Smart Home Device Control. In dit submenu kies je voor Get Device Specification Atrribute (de onderste optie, er zijn er twee!). Maar ik vond dit allemaal erg omslachtig en foutgevoelig werken. De scaling factor van 0.001 wordt ook niet gepakt als je het intypt. Copy/paste de waarde in het veld werkt wel.
Klik op opslaan en voeg nog sensoren toe voor current, power en energy. Wanneer je klaar met de laatste sensor bent vink je Do not add any more entities aan. Je kunt je Tuya apparaat nu lokaal gebruiken zonder cloud!
Flashen ESPHome op Tuya apparaat
Om ESPHome op je tuya apparaat te flashen kies je in het menu voor optie 2 nadat je commando:
sudo ./tuya-cloudcutter.sh
Heb ingevoerd. Er zijn twee flash bestanden beschikbaar. Een versie met OpenBeken en een met ESPHome.
Je doorloopt weer dezelfde stappen als in het eerste stappenplan. Maar als laatste is er een nieuwe stap. Kiezen tussen de OpenBeken of ESPHome custom firmware. Ik kies uiteraard voor ESPHome. Een standaard versie van ESPHome wordt op je Tuya apparaat geflashed. Je kunt naderhand de configuratie aanpassen zoals normaal met ESPHome.
Als je apparaat de juiste chip blijkt te hebben is het flashen vrij snel klaar en je apparaat start opnieuw. Check met je telefoon de wifi netwerken. Er staat nu een kickstart wifi accespoint in je lijst. Verbind met het kickstart accesspoint en ga in je browser naar 192.168.4.1.
Kies uit de lijst je wifi netwerk en voer het wachtwoord in. ESPHome maakt verbinding met je thuisnetwerk en meldt zich bij Home Assistant. Check na een paar minuten of je apparaat daar ook opgepakt wordt. Maar voeg het nog niet toe! We gaan eerst een juiste yaml config maken voor je apparaat. Dit gaan we doen met ltchiptool.
ESPHome config voor Tuya apparaat genereren
Om een juiste ESPHome configuratie te maken voor jouw Tuya apparaat maken we gebruik van ltchiptool. Download het tooltje en start het op. Klik op de tab UPK2ESPHome. Klik op de knop Grab from ESPHome-Kickstart. Vul het ipadres in van je geflashede apparaat of de hostname van je apparaat: kickstart-bk7231t.local.
ltchiptool leest nu je apparaat uit en creëert een yaml bestand die je in ESPHome kunt gebruiken.
ESPHome YAML maken voor Tuya device
Geef je nieuwe apparaat de naam die het heeft in het integratieoverzicht. In mijn geval kickstart-bk7231t. Deze kun je na het configureren wijzigen. Klik op next. Klik daarna op skip this step als ESPHome je vraagt het board te verbinden.
Kies nu het type chip. In mijn geval de BK7231T. Kijk hiervoor in ltchiptool op het tabblad ESPHome YAML onder libretiny: board: .Klik weer op next.
Het apparaat is toegevoegd aan je overzicht, klik op skip en edit het device. Kopieer het stuk code met API en OTA naar een kladblok.
Klik op het tabblad options in ltchiptool op generate en ga daarna naar tabblad ESPHome YAML. Kopieer de volledige inhoud van dit scherm in het code scherm van je apparaat in LibreTuya ESPHome.
Vervang het deel code van API en OTA door het origineel wat in je kladblok staat.
Pas de regel name aan naar kickstart-bk7231t. Anders kan ESPHome in eerste instantie het apparaat niet vinden. Straks flashen we nogmaals met een aangepaste naam.
Klik na het aanpassen van de naam op save en daarna op install.
Rename ESPHome apparaat
Standaard krijgt je tuya apparaat de naam kickstart-bk7231t in ESPHome. Dit is natuurlijk niet zoveel zeggend, dus die kunnen nadat je de eerste keer geflashed hebt aanpassen. Klik hiervoor op de menuknop van het apparaat en kies voor rename. Geef een naam in en laat de installatie gaan.
Extra code aanpassingen
Verder heb ik nog wat aanpassingen gedaan in de code voor de Smart Plugs. In sommige van mijn Tuya apparaat zoals de Hombli plugs zit ook een Powersensor welke ESPHome kan uitlezen. Dit gebeurde mij niet vaak genoeg standaard, dus heb ik dit gewijzigd naar 10 seconden. Ook heb ik de stroommeting gekalibreerd door het inpluggen van een apparaat met een vast verbruik en de waardes bekeken. Zo kwam ik op 957 uit voor voltage_devider in plaats van de standaard 1000. Vervang het sensors deel met onderstaande code:
sensor: - platform: uptime name: Uptime - platform: hlw8012 model: BL0937 cf_pin: number: P7 inverted: true cf1_pin: number: P8 inverted: true sel_pin: number: P24 inverted: true current: name: BL0937 Current voltage: name: BL0937 Voltage power: name: BL0937 Power energy: name: BL0937 Energy voltage_divider: 957 current_resistor: 0.001 ohm update_interval: 10s
Tuya apparaat met ESPHome Toevoegen aan Home Assistant
Voeg je apparaat nu toe aan Home Assistant. Je kunt gebruik maken van het discovered device scherm klik op configureer en alles wordt ingesteld.
Het werkt!
Steeds wanneer ik ESPHome projectjes uitvoer blijf ik mij verbazen over de mogelijkheden en de kracht van dit platform. Daarnaast is het ook nog eens gratis en bied het nu, met het toevoegen van vele tuya chips, ook ondersteuning aan nog meer apparaten. Mijn ESPHome apparaten werken betrouwbaar en foutloos zonder haperingen of verbindingsproblemen en ook nog eens zonder cloud!
Is het flashen van esphome om gelukt voor jouw apparaat? Laat het weten in de commentaren! Dan kunnen andere lezers daar ook van profiteren. Op de pagina “Welke producten werken met tuya-convert en tuya-cloudcutter?” kun je lezen welke apparaten andere lezers al getest hebben.
Bedankt!
Ik had al een tijdje een “CALEX Smart LED filament lamp E27/7W ST64 smokey grijs” liggen om mee te spelen, maar ik kwam er niet helemaal uit met cloudcutter.
Dit heeft me precies de aanknopingspunten gegeven om er succesvol ESPHome op te zetten.
Geweldig! Ik zet ‘m erbij op de lijst!
ik heb dit alles perfect kunnen uitvoeren , echter bij een rebuild in tiny moet ik waarschijnlijk een fout gemaakt hebben mbt het ota password
========================= [SUCCESS] Took 33.84 seconds =========================
INFO Successfully compiled program.
INFO Resolving IP address of kickstart-bk7231n.local
INFO -> 192.168.0.131
INFO Uploading /data/kickstart-bk7231n/.pioenvs/kickstart-bk7231n/firmware.uf2 (2797056 bytes)
ERROR Error auth result: Error: Authentication invalid. Is the password correct?
ERROR Backend error code: 0x0000
enig idea hou ik hiervan recover of is dit device voor de vuilnis ?
alvast bedankt
Hoi Kurt,
Ja dat heb ik ook wel eens gehad. Je hebt dan het OTA password niet goed gekopieerd. Heb je een webserver actief op het apparaat? Dan kun je daar een nieuwe firmware OTA flashen.
Succes
Wouter
[…] Je kunt ook je LSC Smart Connect producten van de Action toevoegen aan domoticz of home assistant. Dat is wel goed te doen in combinatie met ESPHome. Met het tuya-convert script flash je custom firmware op je lamp, ledstrip of plug van LSC van voor 2021. Heb je je LSC apparaat na 2021 gekocht probeer dan het tuya-cloudcutter script eens! Met tuya-cloudcutter ontkoppel je de cloud en bedien je je LSC apparaat lokaal […]
[…] Je wasmachine en vaatwasser verbruiken vaak het meeste water maar ook stroom, naast de keukenkraan en douche. Je kunt goed inzicht krijgen met slimme stekkers. Met goedkope Hombli smart plugs uit de lokale bouwmarkt of Shelly smart plugs heb je dat zo geregeld. Zelfs op de Tuya apparaten flash je zo ESPHome! […]
Ik heb dit alles perfect kunnen uitvoeren, echter bij een rebuild in libretiny moet ik ergens een fout gemaakt hebben met het ota password, waardoot iedere build nu mislukt met ========================= [SUCCESS] Took 33.84 seconds =========================
INFO Successfully compiled program.
INFO Resolving IP address of kickstart-bk7231n.local
INFO -> 192.168.0.131
INFO Uploading /data/kickstart-bk7231n/.pioenvs/kickstart-bk7231n/firmware.uf2 (2797056 bytes)
ERROR Error auth result: Error: Authentication invalid. Is the password correct?
ERROR Backend error code: 0x0000
Weet er iemand hoe ik hiervan kan recoveren of is dit device voor de afvalbak ?
Hoi Kurt,
Ja dat heb ik ook wel eens gehad. Je hebt dan het OTA password niet goed gekopieerd. Heb je een webserver actief op het apparaat? Dan kun je daar een nieuwe firmware OTA flashen.
Succes
Wouter
Dank u voor de reactie, ik vrees er voor , de enige poort open is
8892
seosload
From the new Computer Associates eTrust ACX
deze reageert echter niet op web nog putty enz….ik vrees er dus voor
Oei dat is vervelend! Misschien heb je hier wat aan?
https://community.home-assistant.io/t/lost-ota-password-recoverable/332779/10
Dag Wouter ,
dank voor de link , ik had deze zelf reeds bekeken , echter zonder suc6,
had nu vandaag een lcd lamp gekocht om te testen, deze verschijnt in tuya als st64 gold met een mcu 2.9.27 , deze is perfect te selecteren en dit alles gaat goed er word een ap opgezet die zichtbaar is met als naam smartlife-234f , deze word echter niet gevonden door de cloudcutter is echter wel perfect te bereiken via pc, phone
uiteindelijk stopt de slow blink en verdwijnt natuurlijk ook het AP
Wiping NetworkManager configs
Scanning for open Tuya SmartLife AP
…………………………………………………………………………………………………………………………………………….
De wiping is afkomstig opdat ik voor 1 van mijn laatste testen tevens de -r optie toegevoegd heb zodoende de netwerk manager te wipen …ook dit helpt niet
op deze manier dus sudo ./tuya-cloudcutter.sh -r -s
ondertussen de vraag gesteld op github hoe ik dit eventueel kan troubleshooten
Ik hou U op de hoogte
ok wederom een stap verder , hij faalt nu echter bij de validatie van de yaml ….ben hier nu reeds 5 uur zoet mee , laten valideren in lint enzo …;echt niets noppa nada ….snap het niet meer
—
esphome:
name: kickstart-bk7231t
libretiny:
board: generic-bk7231t-qfn32-tuya
framework:
version: dev
logger: null
web_server: null
captive_portal: null
mdns: null
api:
encryption:
key: xL9B7xWU/9cHXtw1KOlVIZOqYDUDJJ+cxyhOXi5Y7Y4=
ota:
password: a94eb0187496fdd1f071f89e7401fed1
wifi:
ssid: wifi_ssid
password: wifi_password
ap: null
button:
– platform: restart
name: Restart
debug:
update_interval: 30s
text_sensor:
– platform: debug
reset_reason:
name: Reset Reason
sensor:
– platform: uptime
name: Uptime
output:
– platform: libretiny_pwm
id: output_cold
pin: P26
– platform: libretiny_pwm
id: output_warm
pin: P24
light:
– platform: cwww
id: light_cwww
name: Light
cold_white_color_temperature: 6500 K
warm_white_color_temperature: 2700 K
cold_white: output_cold
warm_white: output_warm
Zit je wel in de libretiny esphome addon? Of ben je inmiddels over naar 2023.10 want daar zit de ondersteuning voor bk7231t ook in..
Waarom staat er steeds null achter webserver, capative portal etc?
Dag Wouter,
Dit was op 2023.10.1 op de libretiny esphome addon , zit ondertussen op 2023.10.2 , de Null zal waarschijnlijk door lint yaml validator erbij gezet ziijn
Hoi, ik ben er bijna, bij het ESPverhaal blijf ik echter hangen en krijg ik een foutmelding die ik maar niet opgelost krijg
___________Foutmelding
INFO ESPHome 2023.7.0-dev
INFO Reading configuration /config/libretuya-esphome/kickstart-bk7231t.yaml…
Failed config
esphome: [source /config/libretuya-esphome/kickstart-bk7231t.yaml:2]
Platform missing. You must include one of the available platform keys: esp32, esp8266, rp2040, libretiny, host.
name: kickstart-bk7231t
_____________
esphome:
name: kickstart-bk7231t
bk72xx:
board: generic-bk7231t-qfn32-tuya
logger:
web_server:
captive_portal:
mdns:
api:
encryption:
key: “oyLsVbWyP0jZRXF/Hp6ZfkW7f06+EYPVLmh7cB6JPIw1=”
ota:
password: “265c39377daa68b683f64d3fe92c9b5d1”
wifi:
ssid: SSID
password: PAssword
ap:
text_sensor:
– platform: libretiny
version:
name: LibreTiny Version
binary_sensor:
– platform: gpio
id: binary_switch_1
pin:
number: P10
inverted: true
mode: INPUT_PULLUP
on_press:
then:
– switch.toggle: switch_1
switch:
– platform: gpio
id: switch_1
name: Relay 1
pin: P26
status_led:
pin:
number: P6
inverted: true
sensor:
– platform: hlw8012
model: BL0937
cf_pin:
number: P7
inverted: true
cf1_pin:
number: P8
inverted: true
sel_pin:
number: P24
inverted: true
current:
name: BL0937 Current
voltage:
name: BL0937 Voltage
power:
name: BL0937 Power
energy:
name: BL0937 Energy
voltage_divider: 1600
current_resistor: 0.001 ohm
Hoi Alex,
Zo te zien gebruik je niet de LibreTiny ESPHome Addon maar de normale ESPHome addon die inmiddels ook ondersteuning heeft voor Tuya chips. Ik had daar nog geen ervaring mee, maar heb geprobeerd één van mijn apparaten om te zetten naar de normale code. Die werkt, krijg het alleen nog niet geflashed vanwege de error “Connection reset by peer”… Maar dat lijkt een ander probleem en niet gerelateerd aan dat van jou.
Als ik je code in een nieuw apparaat plak krijg ik errors bij de volgende punten:
Onderstaande code werkt nu bij mij, en wordt gebuild:
esphome:
name: kickstart-bk7231t
bk72xx:
board: generic-bk7231t-qfn32-tuya
logger:
web_server:
captive_portal:
mdns:
api:
encryption:
key: "h9fhHPo+FDY6U0TmrqdEJVSD+x0HgJjIY3ahDS0cILw="
ota:
password: "265c39377daa68b683f64d3fe92c9b5d1"
wifi:
ssid: SSID
password: PAssword
text_sensor:
- platform: libretiny
version:
name: LibreTiny Version
binary_sensor:
- platform: gpio
id: binary_switch_1
pin:
number: P10
inverted: true
mode: INPUT_PULLUP
on_press:
then:
- switch.toggle: switch_1
switch:
- platform: gpio
id: switch_1
name: Relay 1
pin: P26
status_led:
pin: P6
sensor:
- platform: hlw8012
model: BL0937
cf_pin:
number: P7
inverted: true
cf1_pin:
number: P8
inverted: true
sel_pin:
number: P24
inverted: true
current:
name: Current
voltage:
name: Voltage
power:
name: Power
energy:
name: Energy
voltage_divider: 1600
current_resistor: 0.001 ohm
INFO ESPHome 2023.10.6
INFO Reading configuration /config/esphome/test.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing kickstart-bk7231t (board: generic-bk7231t-qfn32-tuya; framework: arduino; platform: libretiny @ 1.4.1)
--------------------------------------------------------------------------------
Warning! Non-Git installations are NOT SUPPORTED.
HARDWARE: BK7231T 120MHz, 256KB RAM, 1.03MB Flash
- framework-arduino-api @ 2022.8.24+sha.237b10a
- framework-beken-bdk @ 0.0.0+v2021.06.07.sha.6491b8c
- library-flashdb @ 1.2.0+sha.d5c892f
- library-freertos @ 9.0.0+sha.95cc959
- library-freertos-port @ 2023.5.23+sha.a917d93
- library-lwip @ 2.1.3-bdk+sha.4ee4d34
- library-printf @ 6.1.0+sha.28a79bd
- library-uf2ota @ 5.0.0+sha.f955412
PLATFORM VERSIONS:
- libretiny @ 1.4.1
- ltchiptool @ 4.7.0
CUSTOM OPTIONS:
- fw_name = esphome
- fw_version = 2023.10.6
Dependency Graph
|-- AsyncTCP-esphome @ 2.0.1
|-- ESPAsyncWebServer-esphome @ 3.1.0
|-- DNSServer @ 1.1.0
|-- noise-c @ 0.1.4
|-- ArduinoJson @ 6.18.5
Linking .pioenvs/kickstart-bk7231t/raw_firmware.elf
|-- Image 1: raw_firmware.elf
| |-- image_bk7231t_app.0x011000.rbl
| | |-- raw_firmware.bin
| |-- image_bk7231t_app.0x011000.crc
| |-- image_bk7231t_app.0x129F0A.rblh
| |-- image_bk7231t_app.ota.rbl
| |-- image_bk7231t_app.ota.ug.bin
RAM: [==== ] 44.2% (used 115800 bytes from 262144 bytes)
Flash: [======= ] 66.5% (used 720444 bytes from 1083136 bytes)
Building UF2 OTA image
|-- esphome_2023.10.6_generic-bk7231t-qfn32-tuya_bk7231t_lt1.4.1.uf2
|-- firmware.uf2
|-- firmware.bin
========================= [SUCCESS] Took 15.52 seconds =========================
Let goed op de formatting en of strings tussen dubbele aanhalingstekens staan. Plak even je eigen encryption key terug anders werkt het niet. Ik gebruik ESPHome 2023.10.6 en jij 2023.7-dev. Weet je zeker dat daar LibreTiny ondersteuning inzit?
Groet Wouter
Hoe maak je verbinding via SSH met de Pi nadat je “denyinterfaces wlan0” hebt aangepast, de NetworkManager.conf file hebt aangepast en een reboot hebt gedaan……dat schakelt toch WIFI uit?
En blijkbaar staat de huidige LSC Smart Plus van de Action (type 3202087 met versie V1.1.17) nog niet op de lijst?
Dat klopt, daarom moet je ook de pi met een kabel verbinden of een tweede wifi adapter.
Heb je de LSC Smart Plus succesvol geflashed? Dan zet ik m op de lijst ?
Een Pi zero heeft geen fysieke netwerkpoort voor een kabel helaas….
Nee, flashen is dus nog niet gelukt.
en een optie naar domoticz?
Dag PJ,
Voor esp gebaseerde tuya apparaten kan ik me voorstellen dat espeasy zou kunnen werken, maar voor de nieuwe beken chips heeft espeasy geen ondersteuning denk ik. Je kan esphome misschien connecten met domoticz? Of ‘gewoon’ overstappen naar Home Assistant? Overstap ging bij mij toentertijd redelijk smooth.
Groet Wouter
Het is nog vroeg, maar heeft domoticz ook niet een local tuya achtige plugin? Dan kun je je apparaat los maken van de cloud en alleen nog lokaal aansturen.
Groet Wouter
Ik heb een esphome draaien (airconditioning) in mijn netwerk die ik met mqtt aanstuur via domoticz.
Dit zal toch ook wel mogelijk zijn voor jou artikel?
Hoi peje
ja dat kan hoor als je dat al werkend hebt. Je kunt zo te zien het mqtt component toevoegen aan je yaml. Wist ik niet!
Groet Wouter
Mooie en duidelijke uitleg, Wouter. Het was erg nuttig. Ik had problemen met de Hombli indoors omdat deze zichzelf zomaar uitschakelde. Hopelijk is dat nu ook verleden tijd (tot nu toe wel).
Ik heb ook nog outdoor plugs van Hombli (Hombli HBSO-0100). Het is me (nog) niet gelukt om deze te flashen. Ik dacht dat ik hetzelfde profiel kon gebruiken als bij de indoor Hombli, maar dat ging helaas niet.
Bedankt! Ik denk het wel, ik heb nog nooit problemen gehad met deze plugs!
Je kunt nog wat andere profielen proberen, wel met dezelfde versie natuurlijk?
Wouter FYI: ik zag dat twee van de drie Hombli outdoor smartplugs die ik heb draaiden op Main Module: V1.3.5 en MCU Module V1.3.5 firmware. Die heb ik zonder problemen kunnen flashen. een paar weken geleden had ik nog zo’n outdoor gekocht. Die draaid op Main Module: V1.1.17 Other Type: V1.0.5. Ik heb nog gekeken in of ik andere profielen kon gebruiken met dezelfde versie, maar heb die (helaas) niet kunnen vinden. bijna verlost van Tuya ?