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 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.

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

Come usare il Sonoff con HomeKit

Il Sonoff, dopo averlo acquistato (link qui per acquistarlo su Amazon), bisogna per forza riprogrammarlo se non volete utilizzare l’applicazione ufficiale (è qualcosa di particolarmente antiquato e non da neanche l’apparenza di essere granché sicura).

Per riprogrammarlo (quindi si intende scriverci un nuovo firmware) dovrete seguire questa guida. So che può sembrar complicato, ma è un’operazione da effettuare una volta sola e poi siete a posto, perché avrete la possibilità di accedervi tramite interfaccia web ovunque voi siate.

Ora però, vediamo come utilizzarlo con HomeKit di Apple. Ci sono diversi plugin su GitHub ma molti di questi o non funzionano o sono molto pesanti per il Sonoff e poi andrebbero configurati uno ad uno sull’app Casa (considerate che è anche lungo e pesante ogni volta dover caricarli tutti).
Secondo me è molto meglio avere Domoticz come base di tutto e accedervi tramite il plugin Homebridge.

Quindi, presupponendo che abbiate Domoticz installato (ad esempio su un Raspberry Pi o un altro server) e il Sonoff con il firmware personalizzato sulla stessa rete locale, vi basterà creare uno script per accendere e spegnerlo.

Create prima di tutto uno switch virtuale su Domoticz seguendo questa guida. E come azione di ON e OFF lo configurate come in questa immagine:

Sonoff su Domoticz

I due script (che chiamerete come volete) dovranno semplicemente avere qualcosa del genere:

#!/bin/bash

curl 192.168.1.123/off

E /on per quello di accensione. Ovviamente l’indirizzo IP sarà quello del vostro Sonoff.
Non dimenticatevi ovviamente di dare i permessi di esecuzione agli script.

Semplice no? Se avete dei dubbi, lasciate pure un commento.

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 gestire Homebridge con systemd

Se volete gestire Homebridge come servizio e far si che a ogni riavvio venga gestito direttamente dal sistema operativo, senza il supporto di screen come vi avevo fatto vedere qua, seguite questa semplice guida!

Prima di tutto trovate il percorso di Homebridge con:

which homebridge

Poi modificate sudo nano /etc/default/homebridge e incollate:

# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS=-U /var/homebridge

# If you uncomment the following line, homebridge will log more 
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*

Poi sudo nano /etc/systemd/system/homebridge.service e incollate (cambiando ad ExecStart il percorso che avete trovato precedentemente con il which:

[Unit]
Description=Node.js HomeKit Server 
After=syslog.target network-online.target

[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target

Ora create le cartelle con i permessi giusti e abilitate il servizio:

sudo mkdir /var/homebridge
sudo cp ~/.homebridge/config.json /var/homebridge/
sudo cp -r ~/.homebridge/persist /var/homebridge

sudo chmod -R 0777 /var/homebridge
sudo useradd --system homebridge
sudo chown -R homebridge:homebridge /var/homebridge

sudo systemctl daemon-reload
sudo systemctl enable homebridge
sudo service homebridge start

E controllate se funziona con: sudo service homebridge status.

Fonte: https://timleland.com/setup-homebridge-to-start-on-bootup/

Come configurare il gateway della Xiaomi con Homebridge

Non so se lo conoscete, ma il gateway della Xiaomi è un dispositivo in grado di gestire i sensori di movimento, di apertura e chiusura porte, di temperatura e pressione.

Sfortunatamente esso non è compatibile con HomeKit di Apple, quindi per poterlo gestire con un iPhone è necessario utilizzare un dispositivo che faccia da ponte tra quello e l’infrastruttura Apple. Cosa non meglio di un bel Raspberry Pi?

Prima di tutto dovete installare Homebridge come vi ho spiegato qua. Successivamente dovete attivare l’opzione sviluppatore sull’app Mi Home della Xiaomi (che se non avete un dispositivo Android, dovrete emularlo con qualche programma tipo Bluestack) e recuperare l’username e password.

Dovreste vedere una schermata simile a questa (nonostante abbia ancora dei problemi di traduzione dal cinese all’inglese):

Ora spostatevi nella home:

cd /home/pi
sudo git clone https://github.com/marcotini/homebridge-xiaomi
cd homebridge-xiaomi
sudo npm install

Ora andate nella cartella di Homebridge:

sudo nano /home/pi/.homebridge/config.json

E configuratelo così (ovviamente con i codici che avete trovato nell’app):

{
"platforms": [
{
"platform": "AqaraPlatform",
"sid": ["0123456789abc"],
"password": ["0123456789abc"]
}]
}

Poi eseguite:

homebridge

E se tutto funziona correttamente, potrete vedere i vostri sensori direttamente sull’app Casa del vostro iPhone.

Come far partire Homebridge all’avvio del Raspberry Pi

Molto brevemente, installate Screen con questo comando:

sudo apt-get install screen
sudo nano /etc/rc.local

Ed incollate nella riga prima di exit 0

su -c "screen -dmS homebridge homebridge" -s /bin/sh pi

Salvate e riavviate il vostro Raspberry Pi con:

sudo reboot now

Ed ecco fatto! Il vostro Raspberry Pi a ogni accensione, avvierà una schermata bash in cui eseguirà il vostro Homebridge!