The actual mock-home Home Assistant config from the GenieClaw Jetson deployment, packaged to run anywhere. Point GenieClaw at it to reproduce and prove real home-control fixes — the standard the contribution gate holds tool-dispatch / Home-Assistant PRs to.
The config/configuration.yaml here is committed verbatim from the Jetson: the
Demo integration (a fully simulated house — lights, fans, covers, locks,
climate, media players) plus mock input_boolean / input_number helpers and
template sensors (front-door contact, hallway motion, outdoor temp, CO₂). It
loads from YAML, so the simulated devices appear with no UI integration step.
docker compose -f deploy/homeassistant/docker-compose.yml up -d
# HA serves on http://<host>:8123 with the simulated house already loadedThis mirrors the Jetson's HA service in /opt/geniepod/docker/docker-compose.yml,
but bind-mounts the committed ./config so the mock home is reproduced exactly.
Open http://<host>:8123, complete first-run onboarding (create a user), then:
Profile (bottom-left) → Security → Long-Lived Access Tokens → Create
Token → name it GenieClaw → copy it (shown once). Headless alternative: see
the auth-flow steps in the main README / GETTING_STARTED.
The mock entities are already present (loaded from configuration.yaml), e.g.:
light.kitchen_lights,light.bed_light,light.ceiling_lightsfan.living_room_fan,fan.ceiling_fancover.kitchen_window,cover.garage_doorlock.front_door,climate.hvac,switch.decorative_lights- mock sensors:
binary_sensor.front_door,binary_sensor.hallway_motion,sensor.outdoor_temperature,sensor.indoor_co2_level
# /etc/geniepod/geniepod.toml
[services.homeassistant]
url = "http://127.0.0.1:8123/"
systemd_unit = "homeassistant.service"Token via env (preferred) or config:
# genie-core.service: Environment=HA_TOKEN=<token> (config reads HA_TOKEN when [core] ha_token is empty)
sudo systemctl daemon-reload && sudo systemctl restart genie-coregenie-ctl chat "what is the state of the kitchen lights?" # read path
genie-ctl chat "turn on the kitchen lights" # actuation path
# confirm against HA itself
curl -s -H "Authorization: Bearer $HA_TOKEN" \
http://127.0.0.1:8123/api/states/light.kitchen_lights | jq .stateA tool-dispatch / HA PR's Real Behavior Proof should show the entity state
changing (e.g. off → on) confirmed via the HA API — exactly how
#400 (action-synonym
canonicalization) was validated against this mock home.