Home Assistant Entegrasyonu
Home Assistant nedir?
CEYD-A, ev ağına bağlı cihazlara doğrudan erişim sağlayabildiği için entegrasyonları da daha rahat bir şekilde gerçekleştirmektedir. Bu yazımızda CEYD-A’nın açık kaynak akıllı ev platformu olan ev asistanı ile entegrasyonuna değineceğiz.
https://www.home-assistant.io/getting-started/ adresinden Raspberry PI cihazına kurabileceğiniz ev asistanı, ev ağınıza bağlı tüm cihazları otomatik olarak tespit edebiliyor. Tüm cihazlara standardize edilmiş servis çağrıları ile eriştiği için sizi markaların kendi servis yapılarından soyutluyor. Ayrıca yerel ağ üzerinde kontrol ve kişisel gizliliğe odaklanan açık kaynak kodlu bir ev otomasyonu sistemi olduğu için tercih edilen bir platform.
Entegrasyon için Kurulum Yapalım
- CEYD-A’ya Home Assistant kurulumu yap diyelim. Sizden Raspberry PI cihazının yerel ağ IP sini isteyecektir. CEYD-A’ nın da aynı ağ üzerindeki WIFI modeme bağlı olması gerektiğini unutmayalım.
IP bilgisini telefon klavyesi ile girdikten sonra Sayfayı Aç butonuna basalım.
- Açılan profil sayfasında en alt kısımda CREATE TOKEN butonuna basalım.
- Herhangi bir isim verdikten sonra,
- Oluşan token bilgisinin hepsini seçip kopyalayalım. CEYD-A bir sonraki aşamada bu kopyaladığımız token bilgisini ayarlarında kullanacaktır.
- Ekrandan çıkıp yine kaldığımız yerdeki CEYD-A ekranına ulaşalım. Kopyalanan Token bilgisini sakla butonuna basalım. Artık CEYD-A ile ev asistanı haberleşebilir durumda.
1 nolu Odadaki Işıkları Aç
Bu aşamadan sonra tekrar Home Assistant kurulumu yap demenize gerek kalmayacak ve IP si değişmediği sürece, 1 nolu odadaki ışıkları aç, 2 nolu odadaki ışıkları kapat gibi cümlelerinizi ev asistanı vasıtası ile CEYD-A gerçekleştirecektir.
Geliştiriciler için CEYD komut kodları aşağıdadır. https://kodla.ceyd-a.com sitesinden kendi komutlarınızı girebilirsiniz.
light.lamba isimli varlığı (entity) kontrol için aşağıdaki kodları kullabilirsiniz.
LAMBAYI AÇ
1 2 3 4 5 6 7 8 |
SORU: lambayı aç%,30| CEVAP: {!SET headers=Authorization=Bearer {!GET staHAToken!}!} {!SET json={"entity_id":"light.lamba"}!} {!SET ignored={!RET cmdloadurlpost json,http://{!GET staHAIP!}:8123/api/services/light/turn_on,$json,$headers!}!} Lambayı açtım. |
LAMBAYI KAPAT
1 2 3 4 5 6 7 |
SORU: lambayı kapat,30| CEVAP: {!SET headers=Authorization=Bearer {!GET staHAToken!}!} {!SET json={"entity_id":"light.lamba"}!} {!SET ignored={!RET cmdloadurlpost json,http://{!GET staHAIP!}:8123/api/services/light/turn_off,$json,$headers!}!} Lambayı kapadım. |
Örnekleri tekrar yazmanıza gerek yoktur. Geliştiricilere benzer kurgular oluşturabilmeleri için sağlanmıştır.
Kendi örneklerinizi https://kodla.ceyd-a.com sitesinden girebilir, deneyebilir ve yayınlayabilirsiniz.
(NUMARA) nolu ışıkları aç komutu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
SORU: ışıkları aç,26.0| SABLON: ({PAR1}) ışıkları aç{HER}$ CEVAP: {!IF $1 has 1??{!SET groupid=1!}::!} {!IF $1 has 2??{!SET groupid=2!}::!} {!IF $1 has 3??{!SET groupid=3!}::!} {!IF $1 has 4??{!SET groupid=4!}::!} {!IF $1 has 5??{!SET groupid=5!}::!} {!IF $1 has 6??{!SET groupid=6!}::!} {!SET headers=Authorization=Bearer {!GET staHAToken!}!} {!SET json={"entity_id":"light.group_{!GET groupid!}"}!} {!RET cmdloadurlpost json,http://{!GET staHAIP!}:8123/api/services/light/turn_on,$json,$headers!} Açtım |
(NUMARA) nolu ışıkları kapat komutu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
SORU: ışıkları kapat,26.0| SABLON: ({PAR1}) ışıkları kapat{HER}$ CEVAP: {!IF $1 has 1??{!SET groupid=1!}::!} {!IF $1 has 2??{!SET groupid=2!}::!} {!IF $1 has 3??{!SET groupid=3!}::!} {!IF $1 has 4??{!SET groupid=4!}::!} {!IF $1 has 5??{!SET groupid=5!}::!} {!IF $1 has 6??{!SET groupid=6!}::!} {!SET headers=Authorization=Bearer {!GET staHAToken!}!} {!SET json={"entity_id": "light.group_{!GET groupid!}"}!} {!RET cmdloadurlpost json,http://{!GET staHAIP!}:8123/api/services/light/turn_off,$json,$headers!} Kapadım |
Home Assistant Kurulumu Yap
1 2 3 4 5 6 7 8 |
SORU: home assistant,27|home asistan,27| SABLON: {HER}kurulumu{HER}$ CEVAP: {!SET staHAIP={!RET cmdinputbox Lütfen Home Assistant kurulu olan cihazın IP bilgisini giriniz: Örnek 192.168.1.30!}!} {!RET cmdmessageboxcallback 12,blue,Sayfayı Aç,Lütfen aşağıda tuşa basarak açılacak ekranın en sonunda bulunan CREATE TOKEN butonuna basın ve bilgiyi panoya kopyalayın.,RET cmdopenurl http://{!GET staHAIP!}:8123/profile!} {!RET cmdmessageboxcallback 13,blue,Kopyalanan Token Bilgisini Sakla,Sayfada kopyaladığınız TOKEN bilgisini ayarlarda saklamak için tıklayınız,RET cmdshowcopiedtoken!} |
cmdshowcopiedtoken
1 2 3 4 5 |
SORU: cmdshowcopiedtoken,100| CEVAP: {!IF $staClipboard haserrors??Panoya hiç bir metin kopyalamamışsınız::{!SET staHAToken={!GET staClipboard!}!}<mute>{!GET staHAToken!}</mute>!} |
Sorunların Tespiti
REST metotlarının doğruluğunu kontrol etmek için Postman uygulamasını kullanabilirsiniz. Aşağıdakine benzer bir örnek oluşturup deneyelim. IP adresi sizin ev asistanı IP nizi göstermeli ve entity_id olarak kontrol edilecek olan birimin kimliği belirtilmelidir. URL formatı ise http://HOME_ASSISTANT_IP:8123/api/services/DOMAIN/SERVICE şeklinde olmalıdır.