Scopi della guida:
Concetti affrontati:
|
Componenti software utilizzate:Prerequisiti:
Dispositivi fisici utilizzati:
|
GUIDA INDICATA A UTENTI CON ISTALLAZIONE: |
|
NOTE E DISCLAIMER
|
|
Revisione guida: 1.0 |
Abstract
I robot aspirapolvere (e lavapavimenti) sono tra le appliance domotiche ultimamente tra le più apprezzate, e capire il perché è semplice: in una vita sempre più frenetica e mai come oggi bisognosa di igiene e pulizia, sono validissimi alleati di tutti i giorni per garantire una pulizia il più possibile costante e certa.
Tra le tante soluzioni possibili, il robot Proscenic M7 Pro, top di gamma della tedesca Proscenic, è uno dei tanti adottati a livello mondiale.
Va da sé che la possibilità/volontà di integrarlo al proprio HUB personale Home Assistant sia un must: non solo per la possibilità di gestirne gli stati, ma anche e sopratutto per pilotarlo tramite automazioni, per esempio come nel caso di voler attivare le pulizie quando si esce di casa, o molto altro – il limite, come sempre, è la fantasia.
Per far ciò è possibile sia utilizzare i raggi infrarossi copiando i codici del telecomando originale usando Broadlink o componenti analoghi, come spiegato in questa guida, oppure utilizzando una tecnica che prevede l’evocazione di indirizzi del cloud Proscenic per consentire di comandare il robot. Nella presente guida documentiamo questo secondo caso, utilizzando per l’occasione il package realizzato dal nostro membro AndKer.
Assunti
Si assume che Home Assistant ovviamente sia già operativo. Si assume inoltre che il robot in questione sia già stato configurato fornendogli accesso alla propria rete Wi-Fi, cosa che può essere fatta tramite l’app Proscenic Home (disponibile sia per iOS che per Android). Ci serviranno username e password in uso presso tale app assieme ad altre due informazioni, ovvero il seriale del robot da integrare e il token d’accesso al cloud.
Si parte
Seriale robot
Prima di passare alla configurazione è necessario ottenere il seriale del robot o dei robot da integrare. Per farlo è necessario è necessario utilizzare cURL, il quale può essere evocato da riga di comando da qualsiasi terminale Linux-like (per esempio Raspberry installato con Raspberry Pi OS, oppure da macOS, Ubuntu e così via) o da Windows.
Il comando da eseguire è. il seguente:
curl -v -k -X POST -H "os: i" -H "Content-Type: application/json" -H "c: 338" -H "lan: en" -H "Host: mobile.proscenic.com.de:443" -H "User-Agent: ProscenicHome/1.7.8 (iPhone; iOS 14.2.1; Scale/3.00)" -H "v: 1.7.8" -d "{\"state\":\"欧洲\",\"countryCode\":\"49\",\"appVer\":\"1.7.8\",\"type\":\"2\",\"os\":\"IOS\",\"password\":\"$(echo -n $PASSWORD | md5sum)\",\"registrationId\":\"13165ffa4eb156ac484\",\"language\":\"EN\",\"username\":\"$LOGINUSER\",\"pwd\":\"$PASSWORD\"}" "https://mobile.proscenic.com.de/user/login"
Ovviamente le variabili $LOGINUSER e $PASSWORD andranno personalizzate rispettivamente col proprio nome utente e password.
La risposta sarà qualcosa del genere:
{
"code": 0,
"msg": "success",
"data": {
"token": "XXXXXXXXXXXXXXX",
"uid": "XXXXXXXXXXXXXXX",
"equipcount": 0,
"nickname": null,
"recieveMsg": false,
"countryCode": "49",
"homeId": null
}
}
Segnarsi da parte la stringa indicata presso il campo “token“.
Ora eseguire, sempre personalizzandolo, il seguente comando:
curl "https://mobile.proscenic.com.de/user/getEquips/$LOGINUSER" -d "username=$LOGINUSER"
si otterrà una risposta analoga alla seguente:
"content": [
{
"name": "M7 Pro",
"code": "M7_PRO",
"typeName": "CleanRobot",
"model": "811_LDS",
"sn": "XXXXXXXXXXXXXXX",
"deviceId": null,
"status": true,
"imgUrl": "http://mobile.proscenic.com.de/images/M7_PRO.png",
"homeId": null,
"shared": false,
"jump": "M7_PRO",
"ctrlversion": null,
"enabled": true,
"scMac": null,
"scSV": null,
"faqUrl": "https://www.proscenic.com/support/faq-f0460-l9999.html",
"cloud": 0,
"type": "CleanRoobot"
}
]
Segnarsi da parte la stringa indicata presso il campo “sn“, il quale rappresenta il seriale del robot.
Configurazione
Giunti a questo punto provvediamo a scaricare il package di AndKer e installarlo presso il nostro HUB come spiegato anche in questa scheda.
Una volta installato, provvediamo a modificare il file secrets.yaml in esso contenuto, andando a correggere i campi:
proscenic_username: XXXXXXXXXXXXXXX # add here your username
proscenic_token: XXXXXXXXXXXXXXX # add here your token
proscenic_serial: XXXXXXXXXXXXXXX # add here your serial
andando ad indicare al posto delle XXXXXXXXXXXXXXX i tre rispettivi valori raccolti in precedenza.
Infine, riavviare infine Home Assistant.
Entità
Completato il riavvio, l’HUB creerà una serie di entità.
Di base, il package crea tanti “Script” quante sono le funzioni sinora ottenute tramite questo tipo di integrazione (vi consigliamo di mettere il watch sul progetto GitHub per essere aggiornati su eventuali evoluzioni).
L’entità più importante, ovviamente, è di tipo “Vacuum“, il che consente di controllare il robot direttamente da Home Assistant in tutte le sue funzioni (per lo meno quelle sin qui ottenute).
Comandare il robot
Ora chiaramente è il momento di iniziare utilizzare il robot tramite Home Assistant. Presso l’interfaccia dell’HUB l’entità di tipo “Vacuum” è abbastanza parlante:
basterà quindi operare sui comandi per far partire l’aspirapolvere nelle varie modalità.
Inoltre, sono disponibili i sopracitati script:
Ciò che è però veramente interessante è la possibilità di comandare il robot tramite servizi, nello specifico usando il servizio vacuum.send_command, come da documentazione ufficiale.
Pulire automaticamente casa quando si esce tramite la domotica di Home Assistant
⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui. |
Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa. |