LK IHC i Home Assistant – når den faste installation skal være smart

Huset har LK IHC som fast el-installation: Alle tryk, spots og loftudtag er trukket til en central controller i stedet for at sidde direkte på hver sin kontakt. Det er gammeldags “smart home” i ordets bedste betydning – robust, uden batterier og uden sky. Men det bliver først rigtig sjovt, når det kan tale sammen med resten af huset. Her er, hvordan IHC er koblet på Home Assistant, og hvilke faldgruber jeg er gået i.

Integrationen

Home Assistant har en indbygget IHC-integration, men jeg bruger beta-udgaven fra dingusdk, som installeres via HACS. Det er den samme integration, bare med nyere ændringer og opsætning direkte i brugerfladen. Controlleren står på netværket, og integrationen logger på den.

Det smarte er auto-opsætningen: Integrationen læser IHC-projektet fra controlleren og opretter selv en entitet for hver udgang. Hos os giver det 42 entiteter – 41 lys og én kontakt. Hvert lys får attributter direkte fra projektet:

AttributEksempel
ihc_id1515355
ihc_nameLampeudtag
ihc_positionI loft
ihc_noteLampe udtag Ø80mm i loft
Navn i HALampeudtag (I loft) Alrum (StuePlan)_1515355

Ved siden af kører IHC Viewer (også fra dingusdk), som viser hele IHC-projektet i et panel i Home Assistant med live-status. Den er guld værd, når man skal finde ud af, hvilket ID der hører til hvilket tryk.

Faldgrube 1: Navnene lyver

Auto-opsætningen er kun så god som projektet i controlleren – og projektet blev lavet af elektrikeren, da huset blev bygget. Det passer ikke altid med virkeligheden:

  • Badeværelset på 1. sal: Spotsene i loftet sidder på en udgang, der i projektet hedder “Lampeudtag (I væg) – lampeudtag v. spejle”. Udgangen, der hedder “I loft”, er ikke forbundet til noget. Automationer og dashboards var bygget på den forkerte – så tabletten viste lyset som slukket, mens det var tændt.
  • Rumnavnene følger elektrikerens tegning, ikke den måde vi bruger huset på. En udgang i “Hall/Gang” forsyner f.eks. spotsene i køkkengangen.

Lærdommen: Tænd og sluk hver udgang og se, hvad der sker, før du bygger noget på den. Behold entitets-id’et (det indeholder IHC-id’et og er nyttigt), men giv entiteterne et visningsnavn, der passer til virkeligheden.

Faldgrube 2: IHC og Hue i samme lampe

Flere steder sidder der Philips Hue-spots i IHC-udgange. IHC-udgangen er strømmen, og Hue er farven og lysstyrken. Det giver det bedste fra begge verdener – vægtrykket virker altid – men også en fælde: Når IHC-udgangen er slukket, har Hue-pærerne ingen strøm. Nogle Hue-grupper bliver så unavailable, andre bliver ved med at påstå, at de er tændt, selvom der er mørkt.

Løsningen på dashboardet er et fast mønster for alle de lamper: Tryk tænder og slukker IHC-udgangen (strømmen), og hold åbner Hue-gruppen, hvor man kan skrue på farve og lysstyrke. Så er der aldrig tvivl om, hvad knappen gør, og man kan ikke “tænde” en Hue-pære uden strøm.

Vagthunden

Forbindelsen til controlleren kan falde ud, og så bliver alle IHC-entiteter unavailable. Integrationen genopretter ikke altid selv forbindelsen, men en genindlæsning af integrationen gør. Derfor har jeg en lille vagthund: Bliver et kendt IHC-lys utilgængeligt i mere end fem sekunder, genindlæses integrationen. Om dagen siger Home Assistant Voice det højt, om natten kommer det som en push-besked.

alias: IHC reboot
mode: single
triggers:
  - trigger: state
    entity_id: light.kontor_stueplan_20059   # et vilkårligt IHC-lys
    to: unavailable
    for:
      seconds: 5
actions:
  - if:
      - condition: sun
        after: sunrise
        before: sunset
    then:
      - action: tts.speak
        target:
          entity_id: tts.piper
        data:
          media_player_entity_id: media_player.home_assistant_voice
          message: IHC er nede - genstarter servicen
    else:
      - action: notify.mobile_app_din_telefon
        data:
          title: IHC er nede
          message: Genstarter IHC-integrationen
  - action: homeassistant.reload_config_entry
    data:
      entry_id: "{{ config_entry_id('light.kontor_stueplan_20059') }}"

config_entry_id() finder integrationens id ud fra lyset, så der ikke skal stå et hårdkodet id i automationen.

Hvad IHC bruges til

  • Morgenlys på badet, der selv slukker efter 30 minutter.
  • Aftenlys efter solnedgang og “sluk alt”, når ingen er hjemme.
  • Stemmestyring via Home Assistant Voice – “tænd i køkkenet” virker, selvom lyset sidder på IHC.
  • En plantegning på tabletten, hvor man trykker på rummet for at tænde lyset.

Det jeg har lært

  • Auto-opsætning er et udgangspunkt, ikke en sandhed. Navnene kommer fra et projekt, der er lavet for mange år siden af en anden.
  • Hold styr på hvem der har strømmen. Når en smart pære sidder i en styret udgang, skal brugerfladen afspejle det.
  • Byg en vagthund til det, der kan falde ud. Hellere en automatisk genindlæsning end et mørkt hus, der ikke reagerer.