Apple Homekit voor Jablotron 100

apple homebridge raspberry pi jablotron

Homekit en Siri voor het Jablotron 100 alarmsysteem

"Begin 2017 kocht en installeerde ik een Jablotron JA-100 alarmsysteem bij mij thuis, het was eenvoudig te installeren, werkt geweldig en biedt veel mogelijkheden voor automatisering. Ik heb 90% van de dingen thuis geautomatiseerd, maar het miste nog 1 functie: Homekit. Laten we dat oplossen! "

Als u niet bekend bent met Homekit, is het de thuisautomatiseringsintegratie van Apple. In feite bundelt het al uw slimme apparaten in de Home-app en kunt u het vanuit 1 app beheren en toegang voor familie en vrienden delen. Maar vooral, een veilige gateway voor externe toegang en locatie gebaseerde automatisering. Zie: https://www.apple.com/ios/home/

Het doel van de Jablotron Homekit-integratie is:

1. Het in- en uitschakelen van het alarm, afhankelijk van de locatie
2. Laat andere apparaten acties uitvoeren op basis van de status van het alarm
3. Neem het alarm op in scènes
4. Bedienen van Jablotron vanuit de Home-app
5. Bedienen van Jablotron met Siri

Aangezien Homekit niet is ingesteld op Jablotron, hebben we een brug nodig om Jablotron met Homekit te verbinden: we zullen Homebridge hiervoor gebruiken.


What is Homebridge?

Homebridge is een lichtgewicht NodeJS-server die u op uw thuisnetwerk kunt gebruiken en die de iOS HomeKit API emuleert. Het ondersteunt Plug-ins, modules die door de community worden bijgedragen en die een basisbrug bieden van HomeKit naar verschillende externe API's die worden aangeboden door fabrikanten van 'smart home'-apparaten. Zie: https://github.com/nfarina/homebridge

Componenten

Componenten gebruikt in deze instructie:
- Raspberry PI Zero W
- Raspberry Pi Zero-hoes
- USB-oplader + micro-USB-kabel
- SD-kaart (32 gb) met Jessie Lite geïnstalleerd
- Jablotron JA-101KR LAN met GSM en radio
- Router met WiFi

De bovenstaande componenten kunnen naar wens worden aangepast, zorg er gewoon voor dat u de compatibiliteit met Homebridge controleert.

Kosten voor de componenten:
- Pi Zero W ~ € 11,-
- Zero W behuizing ~ € 5,-
- SD kaart ~ € 5,- euro (elke kaart is in principe voldoende)
- Originele Pi stroomvoorziening ~€ 11,- euro (elke USB oplader met micro usb kabel is voldoende)
Bovenstaande is mijn inziens de meest elegante oplossing aangezien de Zero W zeer klein is en de behuizing ook zeer compact, zonder dongles voor WiFi. Het zou wellicht goedkoper kunnen met een Zero en WiFi usb adapter en of duurder als je een Pi3 neemt. Opslagcapaciteit van de SD kaart beïnvloed het ook. 

Homekit dependencies

In order to use Apple Homekit you need to make sure you meet Apple’s requirements, most notably the requirements on automation and remote access. See: https://support.apple.com/enus/HT207057


Installatie opties

Het volgen van deze tutorial zou redelijk goed moeten zijn, maar je hebt een paar opties om dit in de praktijk te brengen:

1. Volg deze tutorial
2. Download het voorbereide besturingssysteem op:
3. Gebruik een bestaande Homebridge-installatie
4. Download de Homebridge voor de Raspberry Pi-app die al het installatiewerk voor u zal doen https://itunes.apple.com/nl/app/homebridge-for-raspberrypi/id1123183713?mt=8

Het OS besturingssysteem voorbereiden

Voor ons besturingssysteem zullen we Jessie Lite gebruiken, de nieuwste versie ophalen van: http://downloads.raspberrypi.org/raspbian_lite/images/

Volg de instructies voor het installeren op uw SD-kaart: https://www.raspberrypi.org/documentation/installation/installing-images/

Lees de bijgevoegde README.txt

Na het installeren van het besturingssysteem op de SD-kaart, voert u de volgende stappen uit:
1. Open de SD-kaart in Finder of Explorer en ga naar de root / home-map
2. Maak een leeg bestand met de naam "ssh.txt", dit zal ons in staat stellen om SSH naar de Pi toe te voegen
3. Maak een tweede bestand met de naam "wpa_supplicant.conf" met de volgende inhoud:

ctrl_interface=/var/run/wpa_supplicant
network={
ssid=“your_wifi_name”
psk=“your_wifi_password”
}

Dit zorgt ervoor dat de Pi verbinding maakt met je wifi.

Als alternatief kunt u de opdrachtregel gebruiken om deze opdrachten uit te voeren.

Prepping the Pi

Plaats de SD met OS in de Pi, sluit de behuizing en haak de voeding op. Controleer of het werkt, door
controleren of het lampje van de Pi knippert.

Lets get started

Nu we al onze componenten en software hebben is het tijd om de Pi voor het eerst op te starten, de plug-ins te installeren en deze aan te sluiten op je Homekit. Als je het voorbereide besturingssysteem hebt gedownload, ga je door tot de volgende stappen en ga je direct naar "Verbinden met Homekit", als je een bestaande Homebridge-installatie hebt, ga dan naar "Jablotron-plug-in installeren"

Verbinden met de Pi

Nadat de Pi is opgestart, opent u de terminal op MacO's of gebruikt u een SSH-client zoals 'putty' op Windows. Op MacOS verbinden via de terminal met de volgende opdracht:

- ssh pi@raspberrypi.local

Het standaard wachtwoord moet "raspberry" zijn. Na het inloggen, is het eerste wat we doen het wijzigen van het wachtwoord door het uitvoeren van:

- passwd


Homebridge en vereiste packages installeren

Het installeren van Homebirdge kan soms een beetje moeilijk zijn, meestal als gevolg van verschillende versies van Pi's, OS's, enz. Dus de volgende stappen zouden je moeten helpen om het in gebruik te nemen, maar het is het beste om de nieuwste installatiehandleiding te raadplegen en bij voorkeur die gids te volgen: https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi

Zorg ervoor dat u verbonden bent met de Pi en voer de volgende opdrachten één voor één uit:
- sudo apt-get update
- sudo apt-get upgrade

Install Git:
- sudo apt-get install git make

Install Node:
- curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
- sudo apt-get install -y nodejs
- sudo apt-get install -y build-essential

Set up NPM:
- mkdir ~/.npm-global
- npm config set prefix ‘~/.npm-global’
- export PATH=~/.npm-global/bin:$PATH
- source ~/.profile

Install Avahi:
- sudo apt-get install libavahi-compat-libdnssd-dev

Install Homebridge:
- sudo npm install -g --unsafe-perm homebridge

Start Homebridge at boot of the Pi:
- sudo apt-get install screen

Bewerk het bestand door het uitvoeren:
- sudo nano /etc/rc.local

Voeg deze regel toe vóór de regel exit 0:
- su -c "screen -dmS homebridge homebridge" -s /bin/sh pi

Druk op CTRL + X om op te slaan en af te sluiten.


Installeren van de Jablotron plugin

Op dit moment is het pakket niet op npmjs, dus we zullen het vanuit Github installeren door het volgende commando uit te voeren:

- npm install -g homebridge-jablotron

De homebridge config maken

Op de opdrachtregel, en maak het configuratiebestand aan:

- nano ~/.homebridge/config.json

Als de configuratie leeg is, voegt u het volgende toe aan het bestand, anders gaat u verder met het wijzigen van de referenties:

vraag Credex Alarm Systems...

De Jablotron config maken

Op basis van de output van de configuratietool kunt u beslissen welke services u toevoegt aan de configuratie. Meestal is er een enkele service geconfigureerd (bijv. voor Afwezig) maar sommige mensen hebben mogelijk meer services gedefinieerd (bijv. Afwezig & Nacht)

Elke service moet worden geconfigureerd volgens de kenmerken:

  • id: mandatory, ID of service obtained by configuration tool
  • name: mandatory, defines a name of a service
  • username: mandatory, your Jablotron username, it is advised to create a new account for the sole purpose of controlling the alarm via Siri and limiting the authorization on that account.
  • password: mandatory, corresponding Jablotron password
  • pincode: mandatory, corresponding PIN code for Jablotron unit
  • autoRefresh: optional [default value true], enables autorefresh mode that automatically polls the Jablotron status in interval defined using pollInterval attribute
  • pollInterval: optional [default value 60], defines an interval (in seconds) in which plugin periodically checks for service's and its accessories' states
  • refreshOnStateChange: optional [default value true], enables automatic refresh upon arm/disarm. This is typically used if you have other Jablotron accessories (eg outlets) set up and configured to automatically switch on/off based on alarm state
  • debug: optional [default value false], provides more verbose and detailed logging. Set it to true in case of some issues only!

Configureren van Jablotron secties & accessories

Voor elke service moet er ten minste één accessoire zijn gedefinieerd. De beschikbare accessoires kunnen worden verkregen met behulp van de configuratietool.

De accessoires zijn van 3 soorten:

  • section: dit is een segment welke op de Jablotron bedieningspaneel is gemonteerd (JA-192E)
  • switch: dit is een schakelbare (PGM device) output verbonden met de Jablotron centrale (bijv. voor garage deur / flitser)
  • outlet: dit is een outlet (PGM device) verbonden met de Jablotron centrale

Bovenstaande configuratie definieert:

  • 3 secties / segmenten
  • 1 switch voor garage deur / flitser
  • 1 outlet voor het aan- en uitzetten van een camera

Elk accessoire moet worden geconfigureerd met behulp van de volgende kenmerken:

  • name: mandatory, name of the accessory (this will be shown in Homekit and typically corresponds to the name defined in Jablotron setup)
  • segment_id: mandatory, ID of a segment assigned in Jablotron setup
  • segment_key: mandatory, key of a segment assigned in Jablotron setup
  • keyboard_key: optional, is used to define a segment keyboard in order to support partially armed state (see below). Please specify the value only if you have Jablotron segment/section configured for partially armed state!

Ondersteuning voor gedeeltelijk bewapend systeem

Als uw Jablotron alarm is geconfigureerd om de gedeeltelijk bewapende (Partially Armed) status te ondersteunen, dat wil zeggen: wanneer een enkele klik op de segmenttoets gedeeltelijk bewapend en (eventueel) een dubbele klik het alarmsysteem volledig bewapend (Armed / Afwezig), kunt u hetzelfde ook configureren in Homebridge. Alles wat u moet weten is het segment op de toetsenbord. Voor het verkrijgen van deze informatie gaat u verder met stappen voor het 'Identificeren van Jablotron services en apparaten' (zie verderop).


Verbinden met de Homekit

Voer uit op de opdrachtregel:

- screen -S homebridge
- homebridge

Open "Home" op uw iOS-apparaat, klik op het plusteken in de rechterbovenhoek, klik op "add accessory" en scan de QR-code die wordt weergegeven op de opdrachtregel.

Sluit homebridge af op de opdrachtregel door op CTRL +Z te drukken, gevolgd door het uitvoeren van de opdracht:

- sudo reboot

De Pi zal nu opnieuw opstarten en na een paar minuten zal het opnieuw online zijn en zal Homebridge in gebruik zijn.


Homekit integratie

Het alarm integreert zich in Homekit als een standaard beveiligingsalarmapparaat. De Homekit ondersteunt 4 staten:

  • Home - Thuis
  • Away - Afwezig
  • Night - Nacht
  • Off - Uit

'Home / Away / Night' staan allemaal in de "Aan" -status en geven een scherp alarm aan. 'Off' geeft aan dat het alarm is "Uit" -geschakeld.

Jablotron-alarm ondersteunt alleen 3 toestanden:

  • Disarmed
  • Partially armed
  • Armed
Disarmed wordt toegewezen aan Uit in Homekit. Partially armed wordt toegewezen aan Home in Homekit. Armed wordt toegewezen aan Afwezig in Homekit.


Gebruik

Nu we de Pi met Jablotron en onze Homekit verbonden hebben, kunnen we het Jablotron 100 alarmsysteem via Homekit niet alleen bedienen, maar ook automatiseren.

De huidige opstelling van Jablotron als een alarmsysteem in Homekit vereist gebruikersauthenticatie bij het uitvoeren van automatiseringen. Wanneer de eerste persoon bijvoorbeeld thuiskomt, schakelt u het alarm uit. Dit zal een melding op uw iOS-apparaat oproepen en vragen of u deze opdracht wilt uitvoeren.

Dit werkt elke keer weer en heeft als bijkomend voordeel dat het veiliger is, of dat het mogelijk is om het Jablotron-alarm als een schakelaar te laten verschijnen en dan zal de automatisering zonder bevestiging werken.

Als u Siri wilt gebruiken om het alarm te regelen, moet u een scène maken, die het alarm in- of uitschakelt en vervolgens Siri vraagt om die scène in te stellen.


Identificeren van Jablotron Services en Apparaten

Zorg ervoor dat alle segmenten op de Jablotron bedienpaneel zijn uitgeschakeld voordat dit hulpprogramma wordt uitgevoerd - dit zorgt ervoor dat toetsenborddetectie voor gedeeltelijk ingeschakelde status naar verwachting werkt: voer de config-helper.js uit om Jablotron services en apparaten (segmenten en PGM's) te identificeren. Zo verkrijg je alle services en gerelateerde segmenten die aan uw account zijn toegewezen.

- cd /usr/local/lib/node_modules/homebridge-jablotron
- node config-helper.js username password

Delen: