Skip to content

Macs (Mood-Aware Character SVG). An animated companion for Home Assistant

License

Notifications You must be signed in to change notification settings

glyndavidson/MACS

Repository files navigation

M.A.C.S. - Mood-Aware Character SVG

M.A.C.S. is a playful, expressive, animated companion for Home Assistant.

It visualises Assist interactions and broader system context using a living SVG character.

Rather than showing buttons and graphs, MACS shows state, mood, and intent, giving your smart home a friendly, readable presence.

Screenshot of Macs in Home Assistant Dashboard

What MACS Does

Originally, I developed Macs because I wasn't sure if my Wake Words were triggering and if Home Assistant was listening to, and understanding my requests. I wanted some feedback so that I could see what was happening. Since then, Macs has grown into more than just a friendly assistant - he now pulls data from multiple sensors and can visualise many aspects of your smart home.

Design Philosophy

MACS is not a control panel.

It is:

  • A companion
  • A status glance
  • A playful way to visualise the state of various home assistant entities.

Concept sketches for Macs

Perfect for:

  • Wall tablets
  • Old iPads
  • Kiosk dashboards

Installation

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

  1. Download the Macs Card via Hacs or by clicking on the link above.
  2. After downloading, install the Macs integration via Settings > Devices and Services > Add Integration.
  3. Restart Home Assistant as required.
  4. Create a new Dashboard with a "Panel (Single Card)" Layout.
  5. Hard refresh the page (Ctrl +F5).
  6. Add the Macs Card to the dashboard.
  7. Configure as required (See below for further details).

Manual & Automation Control

MACS works like any other device and exposes entities and services so automations can drive its mood and effects directly.

Use macs.set_mood to change expressions. Use number entities or the matching services to control brightness, temperature, windspeed, precipitation, and battery charge. Use switches for animations_enabled, charging, and the weather_conditions_* toggles. You can also push dialogue bubbles with send_user_message and send_assistant_message.

Typical uses:

  • Trigger moods from motion, presence, or security events
  • Reflect weather shifts in real time
  • Create time-based routines (sleeping at night, happy in the morning)

This makes MACS fully scriptable and system-driven, not just reactive to Assist.

Entities and Services

This table shows the MACS entities and services and which card features override the entities.

Entities

Entity Type Purpose Overridden by card feature
select.macs_mood select Set the base mood. Assist Satellite enabled can override mood.
select.macs_debug select Set debug output level. None.
number.macs_brightness number Set brightness (0-100). Kiosk Mode enabled.
number.macs_battery_charge number Set battery charge (0-100). Use Battery Charge Sensor enabled.
number.macs_temperature number Set temperature intensity (0-100). Use Temperature Sensor enabled.
number.macs_windspeed number Set wind speed intensity (0-100). Use Wind Sensor enabled.
number.macs_precipitation number Set precipitation intensity (0-100). Use Precipitation Sensor enabled.
switch.macs_animations_enabled switch Enable or pause animations. Kiosk Mode enabled.
switch.macs_charging switch Set charging state. Use Charging Sensor enabled.
switch.macs_weather_conditions_snowy switch Toggle snowy condition. Weather Conditions sensor enabled.
switch.macs_weather_conditions_cloudy switch Toggle cloudy condition. Weather Conditions sensor enabled.
switch.macs_weather_conditions_rainy switch Toggle rainy condition. Weather Conditions sensor enabled.
switch.macs_weather_conditions_windy switch Toggle windy condition. Weather Conditions sensor enabled.
switch.macs_weather_conditions_sunny switch Toggle sunny condition. Weather Conditions sensor enabled.
switch.macs_weather_conditions_stormy switch Toggle stormy condition. Weather Conditions sensor enabled.
switch.macs_weather_conditions_foggy switch Toggle foggy condition. Weather Conditions sensor enabled.
switch.macs_weather_conditions_hail switch Toggle hail condition. Weather Conditions sensor enabled.
switch.macs_weather_conditions_lightning switch Toggle lightning condition. Weather Conditions sensor enabled.
switch.macs_weather_conditions_partlycloudy switch Toggle partly cloudy condition. Weather Conditions sensor enabled.
switch.macs_weather_conditions_pouring switch Toggle pouring condition. Weather Conditions sensor enabled.
switch.macs_weather_conditions_clear_night switch Toggle clear night condition. Weather Conditions sensor enabled.
switch.macs_weather_conditions_exceptional switch Toggle exceptional condition. Weather Conditions sensor enabled.

Services

Service Purpose
macs.set_mood Set the mood (select.macs_mood).
macs.set_brightness Set brightness (number.macs_brightness).
macs.set_temperature Set temperature intensity (number.macs_temperature).
macs.set_windspeed Set wind speed intensity (number.macs_windspeed).
macs.set_precipitation Set precipitation intensity (number.macs_precipitation).
macs.set_battery_charge Set battery charge (number.macs_battery_charge).
macs.set_animations_enabled Toggle animations (switch.macs_animations_enabled).
macs.set_charging Toggle charging (switch.macs_charging).
macs.set_weather_conditions_snowy Toggle snowy condition.
macs.set_weather_conditions_cloudy Toggle cloudy condition.
macs.set_weather_conditions_rainy Toggle rainy condition.
macs.set_weather_conditions_windy Toggle windy condition.
macs.set_weather_conditions_sunny Toggle sunny condition.
macs.set_weather_conditions_stormy Toggle stormy condition.
macs.set_weather_conditions_foggy Toggle foggy condition.
macs.set_weather_conditions_hail Toggle hail condition.
macs.set_weather_conditions_lightning Toggle lightning condition.
macs.set_weather_conditions_partlycloudy Toggle partly cloudy condition.
macs.set_weather_conditions_pouring Toggle pouring condition.
macs.set_weather_conditions_clear_night Toggle clear night condition.
macs.set_weather_conditions_exceptional Toggle exceptional condition.
macs.send_user_message Add a user dialogue bubble.
macs.send_assistant_message Add an assistant dialogue bubble.


Roadmap

Macs is currently under active development.

Feedback is welcome and valuable: For any bugs or feature requests, please open an issue

License

Macs is licensed under "Creative Commons Attribution-NonCommercial-ShareAlike 4.0"

Support Macs

If you find Macs useful, please consider buying me a coffee to support my work.

Buy me a coffee