Come configurare Mosquitto con homebridge-eDomoticz

Se ancora state utilizzando Domoticz e volete configurare mosquito per poter usare HomeKit vi basterà configurarlo così:

{
"platform": "eDomoticz",
"name": "eDomoticz",
"server": "127.0.0.1",
"port": "8080",
"ssl": 0,
"roomid": 2,
"mqtt": {
"host": "127.0.0.1",
"port": 1883,
"topic": "domoticz/out",
"username": "username",
"password": "password"
}
}

Ovviamente dovrete cambiare username e password.

Installando nodejs

Per installare homebridge-eDomoticz invece:

sudo npm install -g homebridge-edomoticz

Se invece dovete ancora installare nodejs, seguite questa guida.

Come accendere il condizionatore con l’iPhone

Qualunque sia il vostro condizionatore, qualsiasi sia la marca, anche se vecchissimo o modernissimo: potrete gestirlo comodamente dal vostro iPhone o iPad.

E non solo accenderlo, anche spegnerlo, impostare la temperatura, tempistiche… il tutto senza il telecomando tradizionale. Volendo anche da remoto (così da avere casa già bella fresca prima di arrivare a casa)!

Dovrete acquistare, come per la tv, un Broadlink che vi permette di mandare segnali a infrarossi (la tecnologia utilizzata dal vostro telecomando per comunicare con il condizionatore, qualsiasi sia la marca). Potete acquistarlo da Amazon da qui oppure su Gearbest.

Schermata d’esempio per gestire la temperatura del condizionatore

Per configurarlo invece avete due scelte, o utilizzare Domoticz oppure direttamente da Homebridge. In ogni caso avrete bisogno di un Raspberry Pi se non volete utilizzare l’app ufficiale di Broadlink che lascia molto a desiderare in quanto ad usabilità.

Con Domoticz dovrete creare dei sensori virtuali ed eseguire questo script. Altrimenti con Homebridge potete semplicemente installarlo eseguendo:

 npm i homebridge-broadlink-rm

E potete configurare tutti i tasti seguendo la documentazione.

Come gestire HomeKit da remoto

Abbiamo visto cos’è HomeKit, ma non ho specificato come poter gestire tutti i sensori, luci e accessori da remoto. E per remoto intendo fuori dalla vostra rete locale di casa (o ufficio nel caso vogliate usarlo al lavoro).

Rullo di tamburi… dovete avere… o l’Apple TV o un iPad o l’HomePod!

Immagine presa dal sito di Apple

Già, sapete come funziona con Apple, sistema chiuso: regole ferree.

Detto questo: non c’è neanche bisogno che vi spieghi come vada configurato, sarà tutto già in automatico selezionato non appena viene rilevato il vostro iPad (dovete avere lo stesso Apple ID dell’iPhone con il quale avete configurato l’app Casa) o l’Apple TV.

Nel caso non venga fatto in automatico, aprite l’app Casa e cliccate sull’icona in alto a sinistra per configurarlo come Home Hubs.

Come accendere la TV con l’iPhone

Le reazioni che potete avere, dopo aver letto questo titolo, sono:

  • che me ne faccio di accendere la televisione con il telefono?
  • che figata, dimmi subito come fare!

Se siete nel secondo punto… beh ecco a voi com’è possibile accendere (e gestire) la vostra TV con HomeKit.

Prima di tutto, dato che la vostra televisione al 99% dei casi userà gli infrarossi per comunicare tra telecomando e schermo, vi è necessario acquistare “un qualcosa” che vi permetta di farli comunicare. E questo qualcosa è questo.

Sì, è davvero così piccolo

Potete acquistarlo semplicemente su Amazon (tramite questo link) a un prezzo che oscilla tra i 15 e i 20 euro. Nel caso invece quello non sia disponibile, cercate altri modelli simili tramite questo link.
Se invece volete prenderlo su Gearbest, ecco il link.

Ora, avete due scelte: o vi accontentate dell’app ufficiale, che ha diversi problemi di leggibilità in quanto è molto lenta e non è il massimo in quanto a grafica. Oppure potete installare Homebridge e poi installare il plugin semplicemente con:

npm i homebridge-broadlink-rm

Nel file di configurazione dovrete aggiungere qualcosa di simile a questo file d’esempio.

Tutta la documentazione potete vederla da qui.

Cos’è HomeKit

HomeKit è un protocollo di rete sviluppato da Apple e utilizzato su tutti i nuovi accessori compatibili con iPhone e iPad.

Oramai sia su internet che nei negozi fisici è possibile trovare centinaia di dispositivi compatibili con HomeKit: dai sensori per le porte, fino alle telecamere per interni o esterni.

La lista è davvero infinita, potete scorrere le infinite pagine su Amazon di tutti i prodotti che vende. Assicuratevi sempre che ci sia il simbolo ufficiale di Apple e che i prodotti siano realmente compatibili con l’app Casa che avete sul vostro iPhone.

Badge di HomeKit

Ma potete stare tranquilli, nel caso abbiate delle luci o sensori che non sono compatibili, non vi preoccupate, c’è Homebridge a salvarvi la vita. Vi permette di emulare un gateway compatibile, attraverso un semplice Raspberry (potete anche usare un vecchio computer, ma è più economico sia di hardware che di corrente).

Su npm potrete trovare più di 1000 plugin per Homebridge, quindi state tranquilli.

Nel caso abbiate bisogno, non esitate a contattarmi.

Cos’è un protocollo

Detto brevemente, senza andare troppo nello specifico, un protocollo (di rete) è un insieme di regole che si utilizzano per comunicare.

E per comunicare si intende, ovviamente, trasferire informazioni tra due dispositivi (potrebbero anche essere definiti client e server) che possono essere di qualunque tipo.

Un esempio di protocollo può essere SMB (come installare Samba) utilizzato per trasferire file da un Raspberry a un altro dispositivo connesso alla stessa rete locale. Oppure AFP, il protocollo di Apple. O addirittura la tecnologia Zigbee è un protocollo che sta avendo molto successo nell’ultimo periodo.

Documentazione di AFP sul sito di Apple

Con i prossimi articoli andremo ad introdurre altri esempi di protocolli di rete.

Come aggiornare Homebridge

Se avete installato Homebridge tramite questa procedura e volete aggiornarlo (di solito correggono bug o migliorano la stabilità) vi basterà aprire il terminale ed eseguire:

sudo npm update --global homebridge

Salvo gravi problemi, dovrebbe aggiornarsi in pochi secondi.

E dovrebbe anche tornare tutto attivo, nel caso riavviate il servizio di Avahi con:

sudo service avahi-daemon restart

Quanto consumano le lampadine Hue

Se vi state domandando quanto consumano le lampadine della Phillips con la tecnologia Zigbee (sono lampadine LED da 9W).

Le ho testate personalmente e posso dirvi che al 100% consumano realmente sui 9W e in idle meno di 1W, quindi non preoccupatevi se non staccate ogni volta la corrente, con 1000 ore (quindi circa 1 mese e mezzo) consumerete meno di 20 centesimi.

100% 8.9W
50% 3.3W
6% 1W
0% 0.3W-0.4W

Io ho preso d’esempio la lampadina Phillips Hue White ma anche quella colorata di pari wattaggio consuma uguale.

Come installare Homebridge

Installare Homebridge è semplicissimo, vi basterà prima di tutto installare qualche dipendenza. Iniziamo con Node:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install nodejs -y

Poi nel caso non li abbiate installati, installate anche:

sudo apt install libavahi-compat-libdnssd-dev

E ora finalmente installiamo Homebridge con:

sudo npm install -g --unsafe-perm homebridge

Progetto di Homebridge su GitHub

Ora create un file .config con:

sudo nano ~/.homebridge/config.json

E incollate qualcosa tipo:

{
	"bridge": {
		"name": "Homebridge",
                "username": "AB:12:AB:12:AB:12",
		"port": 1234,
		"pin": "123-45-678"
	},

	"description": "This is an example configuration file with one fake accessory and one fake platform.",

	"platforms": [{
		"platform": "eDomoticz",
		"name": "eDomoticz",
		server": "127.0.0.1",
		"port": "80",
		"ssl": 0,
		"roomid": 1,
		"mqtt": {
			"host": "127.0.0.1",
			"port": 1883,
			"topic": "domoticz/out"
		}
	}]
}

Che è la configurazione nel caso abbiate il plugin per Domoticz. Lo installate semplicemente eseguendo:

sudo npm install -g homebridge-edomoticz

Ora esrguite Homebridge eseguendo (nel caso usate sudo davanti):

homebridge

Se volete eseguire Homebridge come fosse un servizio seguite questa guida.
Mentre nel caso non vi appaia nell’app Casa (Home se avete l’iPhone o l’iPad in inglese) seguite questa.

Come riprogrammare il Sonoff

Se volete riprogrammare, quindi scrivere un nuovo firmware nel vostro Sonoff (se non ce l’avete ancora, lo trovate su Amazon), dovrete prima di tutto acquistare un modulo FTDI (serve per dargli corrente giusta e far passare i dati per riprogrammarlo) e 4 cavetti, se possibile di colore diverso.

Il tutto vi servirà per avere un’interfaccia personalizzata e poter utilizzare il Sonoff come ho utilizzato in questo video con HomeKit. Ovviamente vi servirà il supporto di un browser o di un Raspberry Pi (anche questo, se dovete acquistarlo su Amazon usate questo link) per fare automazioni e poterci accedere anche all’esterno della vostra abitazione.

Sappiate che una volta caricato il nuovo firmware non potrete più reinstallare quello base e ne accedere dall’app eWeLink. Dovrete anche fare attenzione a dargli corrente giusta (vedremo dopo come fare dall’Arduino IDE) altrimenti farete danni irreparabili.
Anche i collegamenti dovrete farli bene altrimenti rischiate di mandare corrente dove in realtà l’ESP866 (sì, il Sonoff ha al suo interno un ESP8266) si aspettava dei dati o viceversa.

Ecco lo schema di collegamento:

Come collegare Sonoff all’FTDI

So che può sembrar confusionario ma prendete il riferimento della terra (GND) e dovrebbe essere semplice. Non state a saldare nulla perché vi servirà giusto 30 secondi, il tempo di caricare tutto.

Ora aspettate a collegarlo al computer (l’FTDI avrà un cavetto USB mini), installate prima Arduino IDE da qua https://www.arduino.cc/en/main/software.
Aggiungete una nuova Board Manager andando su File > Preferences (o ovunque esse siano in base al vostro sistema operativo) e aggiungete:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Come nell’immagine qua sotto:

Confermate e andate su Tools > Board > Board Manager e aggiungete ESP8266:

Cliccate installa e poi selezionate Tools > Board > Generic ESP8266 Module. Collegate l’FTDI con il Sonoff attaccato correttamente e selezionate Tools > Port > COM14 impostando i parametri come nell’immagine qua sotto:

Ora incollate nello script (modificate il nome del Wi-Fi e la password, sappiate che non sarà possibile cambiarlo se non riscrivendo di nuovo il firmware):

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

MDNSResponder mdns;

// Replace with your network credentials
const char* ssid = "yourwifi";
const char* password = "yourpassword";

ESP8266WebServer server(80);

String webPage = "";

int gpio13Led = 13;
int gpio12Relay = 12;

void setup(void){
 webPage += "<h1>SONOFF Web Server</h1><p><a href=\"on\"><button>ON</button></a>&nbsp;<a href=\"off\"><button>OFF</button></a></p>"; 
 // preparing GPIOs
 pinMode(gpio13Led, OUTPUT);
 digitalWrite(gpio13Led, HIGH);
 
 pinMode(gpio12Relay, OUTPUT);
 digitalWrite(gpio12Relay, HIGH);
 
 Serial.begin(115200); 
 delay(5000);
 WiFi.begin(ssid, password);
 Serial.println("");

// Wait for connection
 while (WiFi.status() != WL_CONNECTED) {
 delay(500);
 Serial.print(".");
 }
 Serial.println("");
 Serial.print("Connected to ");
 Serial.println(ssid);
 Serial.print("IP address: ");
 Serial.println(WiFi.localIP());
 
 if (mdns.begin("esp8266", WiFi.localIP())) {
 Serial.println("MDNS responder started");
 }
 
 server.on("/", [](){
 server.send(200, "text/html", webPage);
 });
 server.on("/on", [](){
 server.send(200, "text/html", webPage);
 digitalWrite(gpio13Led, LOW);
 digitalWrite(gpio12Relay, HIGH);
 delay(1000);
 });
 server.on("/off", [](){
 server.send(200, "text/html", webPage);
 digitalWrite(gpio13Led, HIGH);
 digitalWrite(gpio12Relay, LOW);
 delay(1000); 
 });
 server.begin();
 Serial.println("HTTP server started");
}
 
void loop(void){
 server.handleClient();
}

Se tutto ok, cliccate upload e aspettate che il codice venga mandato dal vostro computer al Sonoff tramite l’FTDI (l’ho scritto per intero per farvi capire cosa fisicamente sta succedendo) e il gioco è fatto!

La schermata di conferma dovrebbe essere qualcosa del genere:

Conferma avvenuto caricamento del firmware su Sonoff

Ora se tutto ok, staccate tutto e ricollegate il Sonoff alla corrente. Cercate l’indirizzo IP e andate dal vostro browser, dovreste vedere una schermata come questa:

Schermata d’esempio da browser con switch per Sonoff

Potrete anche andare direttamente all’indirizzo http://ipsonoff/off oppure /on per attivare o disattivare velocemente il collegamento della corrente. Utile per fare delle automazioni con Domoticz o con HomeKit.