Tasmota (via OTA) su BlitzWolf BW-SHP10 (e su Tuya ESP in generale)



In questa guida cerco di spiegare passo-passo (diciamo per principianti) come caricare il firmware Tasmota sulle prese WiFi Blitzwolf BW-SHP10 con misurazione dei consumi, SENZA bisogno di fare saldature nè di smontare nulla.

La procedura è valida per moltissimi dispositivi Tuya basati su ESP, quindi se ne avete uno di modello diverso da questo, vale la pena provare.

Come sempre cercherò di scrivere un articolo come piace a me: inserirò le informazioni necessarie senza dilungarmi troppo, senza continue ripetizioni (in stile SEO) e andando al punto, ma inserendo le informazioni che è necessario sapere (per capire cosa si sta facendo).

1. Breve introduzione/spiegazione e avvertenze

Probabilmente molte persone (me compreso) hanno iniziato a domotizzare casa comprando dispositivi economici WiFi, dell'ecosistema Tuya/Smart Life. Questo perché la piattaforma Tuya si integra facilmente con i vari smart speaker (Amazon Echo, Google Home, ecc.), nonché con Samsung SmartThings. Il numero impressionante di dispositivi supportati da questi piattaforma e la possibilità di creare scenari e semplici controlli invogliano l'utente a buttarsi su questi dispositivi.

Quando poi scopriamo Home Assistant, ci accorgiamo dello sbaglio fatto e, man mano, andremo a sostituire tutti i dispositivi con versioni meglio integrabili (soprattutto che non passano dal cloud), magari ZigBee.

Alcuni dispositivi sono qualitativamente scarsi, per cui non ci importa troppo di dismetterli; altri invece sono dispositivi validi, che farebbero volentieri al caso nostro se solo non fossero vincolati alla piattaforma Tuya.
Quello che si fa solitamente è quindi è caricare il firmware Tasmota se il dispositivo è equipaggiato con chip ESP. Storicamente ciò veniva fatto smontando il dispositivo (in alcuni casi rompendolo proprio), accendendo alla scheda, e saldando dei fili a pin specifici della board, oppure creando ponticelli tra var pin, collegando poi un'interfaccia USB per la programmazione. Un metodo molto scomodo e rischioso, che faceva desistere la maggior parte delle persone.

Successivamente è stato trovato il modo di caricare il firmware Tasmota via OTA (quindi senza intervenire fisicamente sul dispositivo) facendo credere al dispositivo stesso di fornirgli un aggiornamento del firmware ufficiale.
Tuttavia, anche in questo caso, pare che i produttori siano "corsi ai ripari", più che altro usando chip non-ESP. I dispositivi che ho io in casa sono compatibili con questo metodo (almeno quelli che ho provato finora), quindi vi spiego come si fa.

Perché faccio un articolo io e non mi limito a linkare altre guide online già presenti che parlano dello stesso sistema? Semplicemente perché non ne ho ancora trovata una fatta bene, cioè COMPLETA sotto tutti i punti di vista (e che quindi spiega tutto dall'inizio alla fine). Non invento niente, mi limito a mettere insieme le conoscenze acquisite leggendo varie guide di altri siti, che se prese singolarmente non vanno o sono incomplete.

AVVERTENZA: chiaramente il caricamento di un firmware non ufficiale invalida la garanzia, siatene consapevoli.

AVVERTENZA: è necessaria un po' di manualità (minima) con Linux e il suo Terminal (command line)

AVVERTENZA: la procedura necessita imprerogabilmente di un PC con Linux che sia collegato alla rete tramite cavo LAN, e che abbia un'interfaccia WiFi correttamente gestita. Se avete un Raspberry, è perfetto. Se non avete un dispositivo con tali caratteristiche, non cimentatevi nell'impresa, perché NON FUNZIONERÀ!

2. Configurazione tipo (HW/SW)

Questa è la configurazione HW che ho usato io e su cui si basa questa guida:

  • Raspberry Pi 3 Model B (con Raspberry Pi OS)
    • Monitor + tastiera
  • Presa BlitzWolf BW-SHP10 Power Monitor
  • Smartphone

    3. Prerequisiti


Come detto, il Raspberry non è indispensabile, SE avete un PC con Linux con doppia interfaccia (LAN + WiFi). Se non lo avete non provateci nemmeno.
Il Raspberry deve essere collegato alla rete TRAMITE CAVO (l'interfaccia WiFi serve per la programmazione OTA del dispositivo Tuya).

La presa che ho usato io è quella che vi ho detto poco sopra. Attenzione che si il modello Power Meter (cioè con controllo dei consumi) che la versione non-metered hanno lo stesso codice "SHP10", e da quello che leggo è possibile distinguere i 2 modelli solo dal codice a barre presente sulla confezione.
La versione che ho io riporta la sigla D/C:0521 che dovrebbe essere una sorta di indicatore della data di fabbricazione o della versione dell'hardware/software che monta.

Infine il cellulare vi serve per collegarvi prima al Raspberry via WiFi durante la procedura di caricamento OTA del FW, e poi per la prima configurazione di Tasmota (per dargli la configurazione della nostra rete WiFi domestica).

4. Prima di cominciare

Vi do un consiglio prima di iniziare la procedura: vi servirà conoscere l'indirizzo IP della presa, una volta tasmotata. Quindi avete 2 strade, secondo me:
  • Assegnare un IP statico riservato nel DHCP del vostro Router (o access point, o comunque il vostro fornitore di DHCP) prima di cominciare, quando ancora potete vedere i dati (MAC address, in particolare) dall'app Tuya
  • Essere in grado di vedere e distinguere in tempo reale i dispositivi connessi
I punti dal 5. al 7. (compreso) sono necessari solo la prima volta, poi non servirà ripeterli di nuovo.
Dal punto 8. c'è la procedura vera e propria.

    5. Configurazione del Raspberry

Cominciamo subito la nostra procedura collegandoci al Raspberry. Io ho collegato direttamente tastiera e monitor, ma se voi preferite entraci in SSH (magari con Putty) non ci sono problemi, funziona lo stesso.

Come prima cosa è necessario effettuare una configurazione sulle impostazioni del WiFi del Raspberry, che se non fate NON FUNZIONERÀ la procedura. Ho testato personalmente che è così.

Apriamo una nuova finestra di Terminal (o logghiamoci in SSH, se non avete tastiera e monitor)

Lanciamo il seguente comando:
sudo raspi-config
che farà comparire l'interfaccia testuale di configurazione del Raspberry

Scegliamo la voce "5 Localisation Options"

Poi "L4 WLAN Country"

Chiaramente selezioniamo "IT Italy"

E ci comparirà il messaggio di conferma

Tornati al menu principale, spostiamoci su "Finish" e usciamo dalla configurazione


Bene, la prima parte di configurazione è fatta, NON sarà necessario ripeterla nuovamente, basta solo farla la prima volta e poi resta memorizzata.

    6. Installare GIT

La prossima cosa da fare è installare Git (probabilmente sarà già installato, ma non è un problema) e scaricare il repository "tuya-convert" da GitHub.
Sempre da Terminal diamo il comando
sudo apt-get update
che aggiornerà la lista dei pacchetti apt-get

Quindi digitiamo
sudo apt-get install git
per installare GIT (se è già installato non è un problema, non succede nulla)

Infine diamo il comando
git clone https://github.com/ct-Open-Source/tuya-convert
che scaricherà una copia del repository del progetto tuya-convert, il tool che permette il flash del firmware tramite OTA.
Anche questa procedura non sarà necessario ripeterla tutte le volte, basta la prima volta e poi rimane "in memoria".

    7. Installare Tuya-convert

Proseguiamo andando ad eseguire la procedura per compilare il tool Tuya Convert.
Digitiamo il comando
cd tuya-convert
per spostarci nella directory del repository scaricato prima

Digitiamo
./install_prereq.sh
che installerà tutte le librerie necessarie a tuya-convert.

Dovendo scaricare molte cose, potrebbe volerci molto tempo. 

Anche questa procedura, comunque, è necessaria solo la prima volta.
Finito possiamo passare all'esecuzione del tool, la procedura da lanciare ogni volta che vogliamo convertire un device a Tasmota!

    8. Eseguire Tuya-convert

Verifichiamo di essere nella directory /tuya-convert
se non lo siamo, basta digitare il seguente comando per entrarci
cd tuya-convert
A questo punto lanciamo il tool inserendo il comando
./start_flash.sh

Questo farà avviare il tool vero e proprio, che farà le verifiche sui permessi necessari e sulla disponibilità delle varie porte.
Se ci chiede di terminare i processi che bloccano le porte necessarie, diciamogli sempre di si


Infine si arriverà a una schermata con 3 passi da seguire per avviare il processo

Bene, ci siamo!
Seguiamo i passi necessari facendo ciò:
  1. Dallo smartphone cerchiamo una rete wifi chiamata vtrust-flash e colleghiamoci
  2. Colleghiamo la nostra presa BW-SHP10 alla corrente (attenzione che non ci sia attaccato nulla, potrebbe provocare danni);
    Mettiamo la presa in modalità pairing (tenendo premuto il tasto finchè non inizia a lampeggiare la luce blu)
  3. Premiamo il tasto Invio
A questo punto il tool comincerà a cercare il dispositivo e, una volta trovato, gli invierà la configurazione

Ci metterà del tempo

Diverso tempo...

Dovete solo aspettare che finisca

Uno volta configurato per l'OTA, scaricherà in automatico il backup del firmware attuale

Aspettate che finisca

E finalmente ci siamo! Siamo pronti per flashare il firmware Tasmota.
Ora, io uso sempre la versione presente nel repository scaricato da GitHub, perchè mi sembra inutile usare una versione più recente (visto che l'upgrade lo facciamo direttamente da Tasmota), ma se voi volete potete scaricarvi un'immagine pù aggiornata fin da subito

Digitando 2 avvieremo il processo di flash di Tasmota.
Ci chiederà conferma avvisandoci che siamo ad un "punto di non ritorno"

Confermiamo

Aspettiamo che finisca

E finalmente la prima parte è fatta, il dispositivo è tasmotato! Ora bisogna configurarlo.
Digitiamo N per uscire dal tool.

    8. Tasmota - Configurare il WiFi

La prima cosa da fare è configurare il dispositivo per connettersi alla nostra rete di casa, e quindi poterlo gestire facilmente.
Prendiamo di nuovo lo smartphone e cerchiamo una rete WiFi che si chiama con un nome tipo "tasmota_xxxx" e colleghiamoci

Una volta connessi, andiamo a vedere nei dettagli della rete qual è l'indirizzo del Gateway (dovrebbe essere sempre 192.168.4.1)

Ora apriamo il browser e puntiamo all'indirizzo in questione.
ATTENZIONE che alcuni browser di default cercano di accederei n https, e quindi non riuscirete a visualizzare la pagina. Controllate invece che l'indirizzo a cui puntate sia http://192.168.4.1
Se avete fatto tutto correttamente vedrete la pagina di configurazione WiFi di Tasmota

Andiamo a popolare i seguenti campi:
  • AP1 SSId: è il nome della vostra rete WiFi
  • AP1 Password: va spuntato il flag di fianco
  • AP1 Password: inserite la password della vostra rete WiFi
Infine cliccate su "Save"

Ora il vostro dispositivo Tasmota si riavvierà e si aggancerà alla vostra rete WiFi di casa. Verficate sul router i dispositivi connessi e lo troverete.

    9. Tasmota - Configurazione del dispositivo

Siamo pronti per configurare finalmente il dispositivo.
Vi ricordate che all'inizio vi ho detto che era importante avere un modo per conoscere l'indirizzo IP del dispositivo Tasmota, una volta collegato alla vostra rete? Bene, ora è il momento di recuperarlo.
Se avete messo un IP statico riservato nel DHCP, usate quello, altrimenti recuperatelo dall'elenco dei dispositivi connessi al vostro router.

Dal browser puntate quindi all'IP del vostro dispositivo, vi si aprirà la schermata principale di Tasmota

Per prima cosa aggiorniamo all'ultima versione di Tasmota, in modo da avere tutte le funzionalità disponibili.
Per farlo andiamo nel menu "Firmware Upgrade"

E clicchiamo sul bottone "Start upgrade" nella prima sezione ("Upgrade by web server")

Attendiamo che finisca e si riavvii

E al riavvio vedremo che il firmware si è aggiornato


Ora dobbiamo configurare il dispositivo per impostarli il funzionamento corretto di switch, LED e sensori.
Andiamo in "Configuration"

Poi in "Configure Other"

Si aprirà questa schermata


Ora andiamo sul sito https://templates.blakadder.com/ e cerchiamo il nostro modello di dispositivo. Nel caso di BW-SHP10 PM la pagina corretta è questa: BlitzWolf BW-SHP10-P Power Monitoring Plug (POA6204582) Configuration for Tasmota (blakadder.com)
Ora copiamo il codice presente nella sezione "Configuration"

Torniamo nella configurazione del dispositivo Tasmota e inseriamo:
  • In "Template" il codice appena copiato
  • Spuntate la casella "Activate" appena sotto
  • In "Device Name" un nome che sia indicativo per il vostro dispositivo
  • In "Friendly Name 1" una desrizione parlante del modello
Infine clicchiamo su "Save"


Si riavvierà di nuovo il dispositivo


A riavvio effettuato tornerà nella schermata principale, dove vedremo il nuovo nome impostato.
Clicchiamo su "Configuration"

Poi su "Configure Module"

Si aprirà la finestra di gestione del modulo. Clicchiamo sull'elenco a tendina di "Module type"

Nell'elenco che si aprirà, scegliamo il nostro modulo


Salviamo


Attendiamo il riavvio

Ed ecco che il nostro dispositivo è configurato e pronto!


Ora potete provare a cliccare su "Toggle" per verificare che si accenda correttamente e che il LED funzioni. Potete anche configurare MQTT per farlo vedere automaticamente ad HA.

    10. Tasmota - Calibrazione dei sensori

Questo è un "di più" per avere dati più precisi sul reale assorbimento.
Se avete un rilevatore di corrente o un'altra presa che è già calibrata, potete utilizzarli per calibrare questa.
La procedura potete trovarla documentata qui: Power Monitoring Calibration - Tasmota

Per prima cosa collegate un carico resistivo costante alla presa (ad esempio una stufetta) e accendetela.
Poi cliccate su "Console"

Vi si aprirà una schermata come questa

Nella casella di testo in basso inserite i seguenti valori (dopo ognuno bisogna dare Invio):
PowerSet 60.0
Dove "60.0" è il valore in Watt dell'assorbimento istantaneo (voi dovete mettere il vostro assorbimento)

VoltageSet 226.8
Dove "226.8" è il valore in Volt della tensione di rete istantanea (voi dovete mettere il vostro assorbimento)

CurrentSet 1000
Dove "1000" è il valore in mA della corrente assorbita (voi dovete mettere il vostro assorbimento)



Bene, ora abbiamo terminato tutta la procedura!


Commenti

Post popolari in questo blog

Creare un sensore weather (previsioni del tempo) da Meteo & Radar in Home Assistant

Home Assistant - Recuperare informazioni aggiuntive da Netatmo (termostato)

Installare Frigate su Raspberry Pi con HAssOS

Creare un sensore del prezzo del gas (PSBIL_BUY) in Home Assistant

Installare Portainer su NAS Synology

Creare MQTT Server (broker) in Home Assistant (HASSIO)

Ricevere la posizione GPS quando si parcheggia l'automobile (con Home Assistant)

Esporre UPS da NAS Synology verso Home Assistant (NUT)

JC vs Khaby Lame