---
title: "Home Assistant Entegrasyonu - Akıllı Ev Uyarıları"
sidebarTitle: Home Assistant
description: "Home Assistant'ı anında akıllı ev uyarıları için Echobell'e bağlayın: güvenlik, hareket, sıcaklık ve otomasyon olayları push veya telefon araması olarak."
---

import { Step, Steps } from "fumadocs-ui/components/steps";

# Home Assistant Entegrasyonu

[Home Assistant](https://www.home-assistant.io/), yerel denetimi ve gizliliği ön planda tutan güçlü ve açık kaynaklı bir ev otomasyonu platformudur. Echobell'i Home Assistant ile entegre ederek akıllı evinizde önemli olaylar gerçekleştiğinde anında bildirim, hatta telefon araması alabilirsiniz; ister bir güvenlik uyarısı, ister bir sıcaklık eşiğinin aşılması, ister bir otomasyon tetiklemesi olsun.

Bu kılavuz, webhook'ları veya RESTful Notify servisini kullanarak Home Assistant otomasyonlarınızdan bildirim almak için Echobell'i nasıl kuracağınızı adım adım anlatır.

## Ön Koşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

- Mobil cihazınızda kurulu [Echobell uygulaması](https://apps.apple.com/app/apple-store/id6743597198?pt=128151925&ct=docs-developer-home-assistant-tr&mt=8) / [Google Play](https://play.google.com/store/apps/details?id=one.echobell.echobellandroid)
- Etkin bir Echobell kanalı (henüz yoksa uygulamada bir tane oluşturun)
- Çalışır durumda bir Home Assistant örneği (2023.1 veya sonrası önerilir)
- Home Assistant yapılandırmanıza erişim

## Yöntem 1: Webhook Tetikleyicilerini Kullanma (Önerilen)

Webhook yöntemi en esnek yaklaşımdır; özel veri göndermenize ve bildirimlerinizde [şablon değişkenleri](/docs/template) kullanmanıza olanak tanır.

<Steps>
<Step>
### Echobell Webhook URL'nizi Alın

1. Echobell uygulamasını açın ve kanalınıza gidin
2. Ayrıntıları görmek için kanala dokunun
3. Tetikleyiciler bölümünde **Webhook URL**'sini bulun
4. URL'yi kopyalayın; şuna benzer görünecektir: `https://hook.echobell.one/t/<channel-token>`
</Step>
<Step>

### Bir Home Assistant Otomasyonu Oluşturun

Home Assistant'ta Echobell bildirimlerini `rest_command` servisiyle tetikleyebilirsiniz. Önce REST komutunu `configuration.yaml` dosyanıza ekleyin:

```yaml
rest_command:
  echobell_notify:
    url: "https://hook.echobell.one/t/<channel-token>"
    method: POST
    content_type: "application/json"
    payload: '{"title": "{{ title }}", "message": "{{ message }}"}'
```

`YOUR_TOKEN` yerine gerçek Echobell webhook token'ınızı yazın.

Bunu ekledikten sonra yeni yapılandırmanın yüklenmesi için Home Assistant'ı yeniden başlatın.

</Step>
<Step>
### Otomasyonlarda Kullanın

Artık bu servisi herhangi bir otomasyondan çağırabilirsiniz. Bir kapı açıldığında sizi uyaran örnek:

```yaml
automation:
  - alias: "Door Open Alert"
    trigger:
      - platform: state
        entity_id: binary_sensor.front_door
        to: "on"
    action:
      - service: rest_command.echobell_notify
        data:
          title: "Security Alert"
          message: "Front door opened at {{ now().strftime('%H:%M') }}"
```

</Step>
<Step>
### Bildirim Şablonlarını Yapılandırın

Echobell kanal ayarlarınızda, webhook verisini gösterecek şekilde bildirim şablonlarını yapılandırın:

- **Başlık şablonu**: `{{title}}`
- **Gövde şablonu**: `{{message}}`

Artık otomasyon tetiklendiğinde, özel başlık ve mesajı içeren bir bildirim alırsınız.

</Step>
</Steps>

## Yöntem 2: RESTful Notify Platformunu Kullanma

Daha bütünleşik bir yaklaşım için Echobell'i Home Assistant'ta bir notify servisi olarak kurabilirsiniz.

### Yapılandırma

`configuration.yaml` dosyanıza şunları ekleyin:

```yaml
notify:
  - name: echobell
    platform: rest
    resource: https://hook.echobell.one/t/<channel-token>
    method: POST_JSON
    data:
      title: "{{ title }}"
      message: "{{ message }}"
```

`YOUR_TOKEN` yerine Echobell webhook token'ınızı yazın, ardından Home Assistant'ı yeniden başlatın.

### Notify Servisini Kullanma

Artık Echobell'i diğer notify servisleri gibi kullanabilirsiniz:

```yaml
automation:
  - alias: "Low Battery Alert"
    trigger:
      - platform: numeric_state
        entity_id: sensor.phone_battery
        below: 20
    action:
      - service: notify.echobell
        data:
          title: "Low Battery Warning"
          message: "Phone battery is at {{ states('sensor.phone_battery') }}%"
```

## Gelişmiş Kullanım Senaryoları

### Kritik Uyarılarla Sıcaklık İzleme

Kritik sıcaklık uyarılarını arama olarak göndermek için [bildirim türlerini](/docs/notification) kullanın:

```yaml
rest_command:
  echobell_critical:
    url: "https://hook.echobell.one/t/<channel-token>"
    method: POST
    content_type: "application/json"
    payload: '{"temperature": "{{ temperature }}", "location": "{{ location }}", "severity": "critical"}'
```

Echobell kanalınızda [bildirim türünü](/docs/notification) "Arama" olarak ayarlayın ve şu şablonu kullanın:

- **Başlık**: `Critical Temperature Alert`
- **Gövde**: `{{location}} temperature is {{temperature}}°C - Immediate attention required!`

### Güvenlik Sistemi Entegrasyonu

Kapsamlı bir güvenlik izlemesi kurun:

```yaml
automation:
  - alias: "Security Breach Detection"
    trigger:
      - platform: state
        entity_id:
          - binary_sensor.motion_detector_1
          - binary_sensor.motion_detector_2
          - binary_sensor.window_sensor
        to: "on"
    condition:
      - condition: state
        entity_id: alarm_control_panel.home_alarm
        state: "armed_away"
    action:
      - service: rest_command.echobell_notify
        data:
          title: "🚨 Security Alert"
          message: "{{ trigger.to_state.attributes.friendly_name }} detected activity while system armed"
          sensor: "{{ trigger.entity_id }}"
          timestamp: "{{ now().isoformat() }}"
```

### Akıllı Cihaz Bildirimleri

Ev aletlerinin çalışma döngülerini izleyin ve tamamlandıklarında bildirim alın:

```yaml
automation:
  - alias: "Washing Machine Complete"
    trigger:
      - platform: state
        entity_id: sensor.washing_machine_power
        to: "0"
        for:
          minutes: 3
    action:
      - service: notify.echobell
        data:
          title: "Washing Machine Done"
          message: "Your laundry is ready to be moved to the dryer"
```

### Ortam İzleme

Hava kalitesini, nemi veya diğer ortam etkenlerini takip edin:

```yaml
automation:
  - alias: "High CO2 Alert"
    trigger:
      - platform: numeric_state
        entity_id: sensor.living_room_co2
        above: 1000
    action:
      - service: rest_command.echobell_notify
        data:
          title: "Air Quality Warning"
          message: "CO2 level in living room is {{ states('sensor.living_room_co2') }} ppm. Consider ventilating."
```

## Akıllı Filtreleme için Koşulları Kullanma

Bildirimleri belirli ölçütlere göre filtrelemek için [Echobell koşullarını](/docs/conditions) kullanabilirsiniz. Örneğin yalnızca belirli saatlerde ya da değerler eşikleri aştığında bildirim gönderebilirsiniz:

Echobell kanalınızda bir koşul tanımlayın:

```
severity == "critical" || (hour >= 22 || hour <= 7)
```

Bu, yalnızca önem derecesi kritikse VEYA gece saatleriyse (22.00 - 07.00) bildirim gönderir.

Home Assistant otomasyonunuzda ilgili veriyi ekleyin:

```yaml
action:
  - service: rest_command.echobell_notify
    data:
      title: "Temperature Alert"
      message: "Freezer temperature: {{ states('sensor.freezer_temp') }}°C"
      severity: "{% if states('sensor.freezer_temp') | float > -10 %}critical{% else %}normal{% endif %}"
      hour: "{{ now().hour }}"
```

## Sensör Verisi Gönderme

Echobell bildirimlerinize herhangi bir Home Assistant sensör verisini aktarabilirsiniz:

```yaml
rest_command:
  echobell_sensor_update:
    url: "https://hook.echobell.one/t/<channel-token>"
    method: POST
    content_type: "application/json"
    payload: >
      {
        "sensor_name": "{{ sensor_name }}",
        "current_value": "{{ current_value }}",
        "unit": "{{ unit }}",
        "state": "{{ state }}",
        "timestamp": "{{ timestamp }}"
      }
```

## HTTP Başlıklarını İşleme

Echobell, webhook isteklerindeki HTTP başlıklarına erişebilir. Bu, kimlik doğrulama veya izleme için kullanışlıdır:

```yaml
rest_command:
  echobell_with_headers:
    url: "https://hook.echobell.one/t/<channel-token>"
    method: POST
    headers:
      X-Home-Assistant-Instance: "{{ instance_name }}"
      X-Automation-ID: "{{ automation_id }}"
    content_type: "application/json"
    payload: '{"message": "{{ message }}"}'
```

Echobell şablonunuzda başlıklara şöyle erişirsiniz:

```
{{header["x-home-assistant-instance"]}}
```

## Hata Ayıklama ve Test

### Webhook'unuzu Test Edin

Yapılandırmanızı test etmek için Home Assistant'ın Developer Tools → Services bölümünü kullanın:

1. `rest_command.echobell_notify` öğesini seçin
2. Test verisini girin:

```yaml
title: "Test Notification"
message: "This is a test from Home Assistant"
```

3. "Call Service"e tıklayın
4. Bildirim için Echobell uygulamanızı kontrol edin

### Home Assistant Günlüklerini Kontrol Edin

Bildirimler gelmiyorsa Home Assistant günlüklerini kontrol edin:

```bash
# In Home Assistant, go to:
Settings → System → Logs

# Or check the log file:
config/home-assistant.log
```

`rest_command` ile veya `hook.echobell.one` adresine yapılan HTTP istekleriyle ilgili hataları arayın.

### Webhook URL'sini Doğrulayın

Webhook URL'nizin doğru olduğundan emin olun:

- `https://hook.echobell.one/t/` ile başlamalıdır
- Token dahil edilmiş olmalıdır
- Fazladan boşluk veya karakter bulunmamalıdır

## Performans Değerlendirmeleri

### Hız Sınırlaması

Echobell webhook'ları, kötüye kullanımı önlemek için hız sınırlamasına tabidir. Yüksek frekanslı sensörler için:

- Her sensör güncellemesinde tetikleme yapmaktan kaçının
- Sıçramaları bastırmak için tetikleyicilerde `for` kullanın:

```yaml
trigger:
  - platform: numeric_state
    entity_id: sensor.temperature
    above: 30
    for:
      minutes: 5 # Only trigger after 5 minutes above threshold
```

### Güncellemeleri Toplu Gönderme

Birbiriyle ilişkili birden çok olay için bunları tek bir bildirimde toplamayı değerlendirin:

```yaml
automation:
  - alias: "Daily Home Summary"
    trigger:
      - platform: time
        at: "09:00:00"
    action:
      - service: rest_command.echobell_notify
        data:
          title: "Morning Home Summary"
          message: >
            Temperature: {{ states('sensor.temperature') }}°C
            Humidity: {{ states('sensor.humidity') }}%
            Energy today: {{ states('sensor.daily_energy') }} kWh
            Windows open: {{ expand(states.binary_sensor) | selectattr('state', 'eq', 'on') | selectattr('attributes.device_class', 'eq', 'window') | list | count }}
```

## Güvenlik İçin En İyi Uygulamalar

### Webhook URL'nizi Koruyun

- Webhook URL'lerini asla herkese açık depolara göndermeyin
- Hassas veriler için Home Assistant secrets kullanın
- Webhook token'larını düzenli aralıklarla yenileyin

`configuration.yaml` içinde secrets kullanımı:

```yaml
# secrets.yaml
echobell_webhook: "https://hook.echobell.one/t/<channel-token>"

# configuration.yaml
rest_command:
  echobell_notify:
    url: !secret echobell_webhook
    method: POST
    content_type: "application/json"
    payload: '{"title": "{{ title }}", "message": "{{ message }}"}'
```

### Hassas Bilgileri Sınırlayın

Bildirimlere hangi verileri eklediğinize dikkat edin:

```yaml
# Good - General information
message: "Motion detected in living room"

# Avoid - Sensitive details
message: "Security code: 1234, camera feed: http://..."
```

## Sık Karşılaşılan Sorunları Giderme

### Bildirimler Gelmiyor

1. **Ağ bağlantısını kontrol edin**: Home Assistant örneğinizin internete erişebildiğinden emin olun
2. **Webhook URL'sini doğrulayın**: Token dahil olmak üzere dikkatlice kopyalayıp yapıştırın
3. **Echobell uygulamasını kontrol edin**: Kanala abone olduğunuzdan emin olun
4. **Home Assistant günlüklerini inceleyin**: HTTP hatalarını veya zaman aşımlarını arayın

### Şablon Hataları

Şablonlar doğru şekilde işlenmiyorsa:

1. Şablonları Developer Tools → Template bölümünde test edin
2. Değişken adlarının Home Assistant ile Echobell arasında eşleştiğinden emin olun
3. Şablon sözdiziminde yazım hatası olup olmadığını kontrol edin: `{{ variable}}` değil `{{variable}}`

### Otomasyon Tetiklenmiyor

1. Home Assistant'taki tetikleyici koşullarını doğrulayın
2. Otomasyonu Developer Tools üzerinden elle test edin
3. Varlık durumlarının tetikleyici yapılandırmanızla eşleştiğini kontrol edin
4. Hata ayıklama için otomasyon izlerini (traces) inceleyin

## Örnek: Eksiksiz Güvenlik Sistemi Kurulumu

Birden çok güvenlik sensörünü entegre eden kapsamlı bir örnek:

```yaml
# configuration.yaml
rest_command:
  echobell_security:
    url: !secret echobell_security_webhook
    method: POST
    content_type: "application/json"
    payload: >
      {
        "event_type": "{{ event_type }}",
        "location": "{{ location }}",
        "sensor": "{{ sensor }}",
        "timestamp": "{{ timestamp }}",
        "alarm_state": "{{ alarm_state }}"
      }

# automations.yaml
- alias: "Security Event Handler"
  trigger:
    - platform: state
      entity_id:
        - binary_sensor.front_door
        - binary_sensor.back_door
        - binary_sensor.garage_door
        - binary_sensor.motion_hallway
        - binary_sensor.motion_living_room
      to: "on"
  action:
    - service: rest_command.echobell_security
      data:
        event_type: "{{ 'door' if 'door' in trigger.entity_id else 'motion' }}"
        location: "{{ trigger.to_state.attributes.friendly_name }}"
        sensor: "{{ trigger.entity_id }}"
        timestamp: "{{ now().strftime('%Y-%m-%d %H:%M:%S') }}"
        alarm_state: "{{ states('alarm_control_panel.home_alarm') }}"
```

Echobell'de şablonlarınızı ayarlayın:

- **Başlık**: `Security Alert: {{event_type | upper}}`
- **Gövde**: `{{location}} activated at {{timestamp}} (Alarm: {{alarm_state}})`

## Sonraki Adımlar

Artık Echobell'i Home Assistant ile entegre ettiğinize göre:

- Farklı uyarı öncelikleri için [bildirim türlerini](/docs/notification) inceleyin
- Bildirimleri akıllıca filtrelemek için [koşulları](/docs/conditions) öğrenin
- Gelişmiş mesaj biçimlendirmesi için [şablon değişkenlerine](/docs/template) göz atın
- En iyi entegrasyon için [webhook en iyi uygulamalarını](/docs/webhook) okuyun

## İlgili Kaynaklar

- [Home Assistant REST Command Dokümantasyonu](https://www.home-assistant.io/integrations/rest_command/)
- [Home Assistant RESTful Notify Platformu](https://www.home-assistant.io/integrations/notify.rest/)
- [Echobell Webhook Dokümantasyonu](/docs/webhook)
- [Echobell Şablon Sistemi](/docs/template)
