Skill Details
Back to Skills

/dirigera-control

by falderebet

Control IKEA Dirigera smart home devices (lights, outlets, scenes, controllers). Use when the user asks to control smart home devices, check device status, turn lights on/off, adjust brightness/color,

View on GitHub

IKEA Dirigera Smart Home Control

Control lights, outlets, scenes, and other IKEA smart home devices through the Dirigera hub.

Prerequisites

pip install dirigera

Hub Connection

import dirigera

hub = dirigera.Hub(
    token="token",
    ip_address="ip_address"
)

CRITICAL: Attribute Access

Device state is in .attributes, not top-level.

# CORRECT
light.attributes.is_on
light.attributes.light_level

# WRONG - raises AttributeError
light.is_on
light.light_level

Top-level: device.id, device.is_reachable, device.room State: device.attributes.is_on, device.attributes.light_level

Quick Commands

Discovery

lights = hub.get_lights()
outlets = hub.get_outlets()
controllers = hub.get_controllers()
scenes = hub.get_scenes()

Light Control

light = hub.get_light_by_name(lamp_name="bedroom light")

# Check reachability first
if light.is_reachable:
    light.set_light(lamp_on=True)
    light.set_light_level(light_level=75)
    light.set_color_temperature(color_temp=2700)  # Warm white

# Reload after changes
light.reload()

Outlet Control

outlet = hub.get_outlet_by_name(outlet_name="living room")
outlet.set_on(outlet_on=True)
outlet.reload()

Scene Triggering

scene = hub.get_scene_by_name(scene_name="Sove tid")
scene.trigger()

Check Capabilities

# Verify device supports feature before using
if 'colorTemperature' in light.capabilities.can_receive:
    light.set_color_temperature(color_temp=3000)

Common Patterns

See references/patterns.md for room-based control, batch operations, status reports, and battery monitoring.

Helper Scripts

Use scripts/helpers.py for common operations: get lights by room, check battery levels, find unreachable devices.

Complete Reference

See references/api.md for:

  • Complete attribute reference
  • All control methods
  • Device capabilities
  • Color temperature/hue values
  • Troubleshooting

Best Practices

  1. Always check device.is_reachable before control
  2. Call device.reload() after control commands
  3. Use .attributes for all state access
  4. Add 0.5s delays between rapid commands
  5. Check capabilities before using features