TapHome Icon Mapping Documentation#
Overview#
This document provides a comprehensive mapping between SVG icon files found in /app-icons folder and TapHome enum values (DeviceType, ValueLogType, TriggerType, and VectorIconType).
Total Icons Analyzed: 805 SVG files
Table of Contents#
- Icon File Statistics
- DeviceType Icon Mappings
- ValueLogType Icon Mappings
- TriggerType Icon Mappings
- Icon Naming Patterns
- Unmatched Enums
- Icon Categories
Icon File Statistics#
| Category | Count |
|---|---|
| Total SVG Icons | 805 |
| Device Icons (mapped) | 137 |
| Value Type Icons (mapped) | 99 |
| Trigger Type Icons (mapped) | 66 |
| Symbol Icons (UI) | ~468 |
| Button Icons (UI) | ~50 |
| Smart Rule Icons | ~40 |
| Circle Icons (UI) | ~20 |
| Unmapped Icons | ~500+ |
DeviceType Icon Mappings#
Total Matches: 137 icon files → 45 DeviceType enum values
High Confidence Matches (101 icons)#
Direct name matches or clear device type indicators.
| DeviceType | Value | Icon Files | Match Reason |
|---|---|---|---|
| Alarm | 99 | alarm.svgalarm-state.svg | Exact name match |
| Boiler | 70 | boiler.svg | Exact name match |
| Camera | 60 | large_camera.svg | Camera device icon |
| ChargingStation | 96 | charger-wallbox.svgcharger-plug.svgcharger-plug-ev-state.svgcharger-plug-locked-state.svgcharger-plug-wallbox-state.svg | EV charging devices |
| CirculationPump | 2 | pump-state.svgpump-level.svgpump-heating-level.svgpump-cooling-level.svgpump-heating-cooling-level.svg | Pump variants |
| CoffeeMachine | 109 | coffee-state.svg | Coffee device state |
| ElectricityMeter | 23 | electricity.svgelectricMeter-group.svgelectricMeter-impulse.svgelectricMeter-switch.svgSymbolElectricMeter.svg | Electricity metering |
| Fan | 59 | fan-state.svgfan3-step.svgfan4-step.svg | Fan control icons |
| FloodSensor | 12 | flood-state.svg | Flood detection |
| FloorHeating | 80 | heatingFloor.svg | Floor heating |
| GarageDoorOpener | 20 | garageDoor-state.svgopenCloseGarageDoor.svg | Garage door control |
| GasMeter | 24 | GasMeterGroup.svgGasMeterImpulse.svgGasMeterSwitch.svgSymbolGasMeter.svg | Gas metering |
| Irrigation | 98 | irrigation-state.svg | Irrigation system |
| Light | 21 | large_light1.svglarge_light2.svglightBulb-fluorescent-level.svglightBulb-fluorescent-state.svglightBulb-halogen-level.svglightBulb-halogen-state.svglightBulb-incandescent-level.svglightBulb-incandescent-state.svg | Light bulb types |
| LightSwitch | 3 | large_switch.svg | Light switch |
| Lock | 5 | locked-state.svglarge_key.svg | Lock and key icons |
| MotionSensor | 7 | motion-state.svg | Motion detection |
| Pool | 71 | openPool.svgpoolLight-level.svgpoolLight-state.svgswimJet-state.svgbubbles-state.svgbubbleJet-state.svg | Pool and features |
| PresenceSensor | 38 | presence-state.svgpresence-alarm-state.svg | Presence detection |
| RainSensor | 40 | rain-state.svgRainGaugeImpulse.svgSymbolRainGaugeMeter.svg | Rain detection |
| RGBLight | 17 | lightBulb-led-level.svglightBulb-led-state.svg | LED/RGB lights |
| SecuritySiren | 26 | bell-state.svg | Siren/bell |
| SmokeSensor | 13 | fire-state.svg | Smoke/fire detection |
| ACUnit | 66 | splitUnit-state.svg | Split AC unit |
| Speaker | 97 | large_loudspeaker.svg | Loudspeaker |
| Thermostat | 11 | detail-thermostat-level-angle.svg | Thermostat control |
| TiltSensor | 42 | tilt-state.svg | Tilt detection |
| TV | 76 | tv-state.svg | TV state |
| VacuumCleaner | 110 | symbol-vacuum.svg | Vacuum cleaner |
| VentilationUnit | 47 | automatic-ventilation-state.svgair-flow.svgair-flow-level.svg | Ventilation |
| WaterMeter | 22 | WaterMeterGroup.svgWaterMeterImpulse.svgWaterMeterSwitch.svgSymbolWaterMeter.svg | Water metering |
| Weather | 85 | weather.svgwind-state.svgwindspeed.svg | Weather station |
| WindowContact | 4 | window.svgdoor-open.svg | Window/door contact |
Medium Confidence Matches (33 icons)#
Reasonable associations with some ambiguity.
| DeviceType | Value | Icon Files | Match Reason |
|---|---|---|---|
| LightDimmer | 16 | floorLamp-level.svgfloorLamp-state.svgpendantLight-level.svgpendantLight-state.svgwallLight-level.svgwallLight-state.svgtableLamp-level.svgorientationLight-level.svgorientationLight-state.svg | Various dimmable lamps |
| ThermoelectricValve | 1 | valve-state.svgvalve-level.svgvalve-cold-state.svgvalve-cold-level.svgvalve-hot-state.svgvalve-hot-level.svgvalve-dynamic-state.svgvalve-dynamic-level.svgmix-valve-cold-level.svgmix-valve-hot-level.svgmix-valve-dynamic-level.svgmix-valve-level.svg | Valve variants |
| Radiator | 79 | radiatorDryer.svg | Radiator dryer |
| TowelRail | 68 | radiatorDryer.svg | Towel rail type |
| Battery | 81 | battery-charging.svgbattery-ready.svgbattery-error.svgbattery-notReady.svgbattery-notAuthorized.svgbattery-starting.svg | Battery states |
| COSensor | 14 | co-state.svg | CO sensor |
| CO2Sensor | 15 | co2.svg | CO2 sensor |
| AirPurifier | 49 | airPurification-state.svg | Air purification |
| ElectricHeater | 67 | convector.svgheatingPanel-state-anim.svg | Electric heating |
| Blinds | 18 | detail-blind90-level-angle.svgdetail-blind180-level-angle.svgdetail-blind180-LTR-level-angle.svgdetail-blind180-RTL-level-angle.svgdetail-blind180-MIRROR-level-angle.svg | Blind control variants |
| Awning | 55 | detail-awning-level.svg | Awning control |
| PowerMeter | 53 | counter.svgSymbolMeter.svgSymbolAmpereMeter.svgSymbolVoltmeter.svg | Power metering |
| Doorphone | 82 | large_door.svglarge_fence.svg | Doorphone icons |
| DoorBell | 10 | bell-state.svg | Doorbell |
| GenericDevice | 57 | deviceUnknown.svgdashboardUnknown.svg | Unknown devices |
| RemoteController | 32 | controller.svg | Controller |
| Gateway | 83 | module.svg | Gateway module |
| AnalogInput | 35 | detail-analogOutput-level.svg | Analog I/O |
ValueLogType Icon Mappings#
Total Matches: 99 icon files → 51 ValueLogType enum values
High Confidence Matches (67 icons)#
Direct name matches or clear semantic relationships.
| ValueLogType | Value | Icon Files | Match Reason |
|---|---|---|---|
| Temperature | 4 | symbol-temperature.svgtemperature-temperature.svgsymbol-temperature-dew.svgsymbol-temperature-mixed.svgsymbol-temperature-return.svgsymbol-temperature-source.svg | Temperature sensors |
| Humidity | 3 | symbol-humidity.svg | Humidity sensor |
| CO2 | 13 | co2.svgsymbol-co2.svgsymbol-carbondioxide.svg | CO2 measurement |
| VOC | 14 | voc.svgsymbol-voc.svg | VOC measurement |
| Pressure | 15 | atmosphericPressure.svgsymbol-atmosphericPressure.svgSymbolWaterPressure.svg | Pressure sensors |
| SensorBrightness | 2 | brightness.svgbrightness-state.svgsymbol-brightness.svgsymbol-brightness-low.svgsymbol-brightness-lux.svg | Brightness/light sensors |
| WindSpeed | 19 | windspeed.svgsymbol-windspeed.svgsymbol-windspeed-accent.svg | Wind speed |
| Battery | 35 | symbol-battery.svgsymbol-battery-health.svgbattery-charging.svgbattery-ready.svgbattery-error.svgbattery-notReady.svgbattery-notAuthorized.svgbattery-starting.svg | Battery level/state |
| Sound | 33 | noise.svgnoise-state.svgsymbol-noise.svg | Sound/noise level |
| CO | 34 | symbol-co.svgco-state.svg | CO measurement |
| Consumption | 5 | SymbolElectricConsumption.svgSymbolGasConsumption.svgSymbolWaterConsumption.svg | Energy consumption |
| Power | 6 | symbol-powerPlug.svgsymbol-powerCord.svgpowerCord.svg | Power measurement |
| WaterFlow | 11 | air-flow.svgair-flow-level.svgsymbol-air-flow.svg | Flow measurement |
| WaterConsumption | 12 | SymbolWaterConsumption.svgSymbolWaterDemand.svg | Water usage |
| TotalConsumption | 27 | SymbolEnergy.svg | Total energy |
| GasConsumption | 28 | SymbolGasConsumption.svgSymbolGasDemand.svg | Gas usage |
| Level | 45 | heating-level.svgcooling-level.svgSymbolWaterLevel.svgsymbol-saturation-level.svg | Level indicators |
| Weight | 43 | weight.svg | Weight measurement |
| Angle | 62 | symbol-angle.svgsymbol-blindsAngle.svgsymbol-blindsAngle-horizontal.svg | Angle measurement |
| MotionDetected | 63 | motion-state.svg | Motion detection |
| DoorWindowState | 64 | window.svgdoor-open.svg | Door/window state |
| LockState | 65 | locked-state.svgsymbol-locked.svg | Lock state |
| SmokeDetected | 66 | fire-state.svgsymbol-fire.svgsymbol-fire-accent.svg | Smoke detection |
| FloodDetected | 67 | flood-state.svgsymbol-flood.svg | Flood detection |
| RainRate | 21 | rain-state.svgsymbol-rain.svgSymbolRainfallLong.svgSymbolRainfallShort.svg | Rain measurement |
| pH | 50 | symbol-pH.svg | pH measurement |
| VibrationDetected | 69 | tilt-state.svg | Vibration/tilt |
| PresenceDetected | 71 | presence-state.svgpresence-alarm-state.svg | Presence detection |
| Percentage | 46 | symbol-percent.svg | Percentage value |
| State | 1 | switch_bgr-state.svgpowerButton-state.svgscene-state.svg | Generic state |
Medium Confidence Matches (24 icons)#
Likely matches with reasonable associations.
| ValueLogType | Value | Icon Files | Match Reason |
|---|---|---|---|
| SetPointTemperature | 16 | symbol-temperature.svgdetail-setPoint-level.svg | Temperature setpoint |
| FanSpeed | 38 | fan-state.svgfan3-step.svgfan4-step.svgsymbol-vent4-level.svgsymbol-vent4.svg | Fan speed control |
| Position | 39 | detail-blind90-level-angle.svgdetail-blind180-level-angle.svgsymbol-blindsLevel.svg | Position control |
| OpenClose | 40 | window.svgdoor-open.svggarageDoor-state.svgopenCloseGarageDoor.svg | Open/close state |
| Voltage | 7 | SymbolVoltmeter.svgelectricity.svg | Voltage measurement |
| Current | 8 | SymbolAmpereMeter.svgelectricity.svg | Current measurement |
| Frequency | 9 | symbol-rpm.svg | Frequency/RPM |
| RPM | 58 | symbol-rpm.svg | RPM measurement |
| ValvePosition | 47 | valve-level.svgvalve-state.svgmix-valve-level.svg | Valve position |
TriggerType Icon Mappings#
Total Matches: 66 icon files → 37 TriggerType enum values
High Confidence Matches (48 icons)#
Icons with sr_ prefix (Smart Rule) provide the most reliable matches.
| TriggerType | Value | Icon Files | Match Reason |
|---|---|---|---|
| AlarmTriggered | 8 | sr_alarm.svgsr_alarm_trigger.svgalarm.svgalarm-state.svg | Alarm triggers |
| MotionDetected | 9 | sr_motion.svgmotion-state.svg | Motion detection |
| WindowOpened | 10 | sr_window.svgwindow.svg | Window open |
| DoorOpened | 12 | door-open.svglarge_door.svg | Door open |
| DoorBellPressed | 31 | sr_doorbellRing.svgbell-state.svg | Doorbell pressed |
| TimeSchedule | 3 | sr_schedule_daily.svgsr_schedule_weekly.svgsr_countdown_timer.svg | Time-based triggers |
| SunriseSunset | 4 | sr_sunset_sunrise.svg | Sunrise/sunset |
| BlindsOpened | 25 | sr_open_blinds.svgsr_blinds_1button.svg | Blinds opening |
| BlindsPositionChanged | 27 | sr_blinds_2buttons.svgsr_blinds_adjust_angle.svg | Blinds position |
| WeatherConditionChanged | 35 | weather.svgsymbol-weather-clear.svgsymbol-weather-cloud.svgsymbol-weather-clouds.svgsymbol-weather-drizzle.svgsymbol-weather-fog.svgsymbol-weather-rain.svgsymbol-weather-snow.svgsymbol-weather-thunderstorm.svg | Weather changes |
| RainDetected | 36 | rain-state.svgRainGaugeImpulse.svg | Rain detection |
| WindSpeedHigh | 37 | sr_protect_blinds_wind.svgsr_safety_protect_blinds_wind.svgwind-state.svgwindspeed.svg | High wind |
| SmokeDetected | 16 | fire-state.svgsymbol-fire.svg | Smoke detection |
| FloodDetected | 17 | flood-state.svgsymbol-flood.svg | Flood detection |
| LockLocked | 14 | locked-state.svgsymbol-locked.svg | Lock locked |
| DeviceValueChange | 1 | sr_multiValue_trigger.svg | Value change |
| DeviceStateChange | 2 | sr_switch_trigger.svg | State change |
| DeviceValueInRange | 5 | sr_limitTemperature.svgsr_limitFloorTemperature.svg | Value in range |
| ButtonPressed | 32 | sr_push_trigger.svg | Button press |
| LogicCondition | 42 | sr_equation.svgsr_formula.svg | Logic/equation |
| ScriptEvaluation | 43 | sr_script.svg | Script trigger |
| VariableChanged | 46 | variable.svgvariablex.svg | Variable change |
| GeofenceEnter | 38 | large_fence.svg | Geofence entry |
| PresenceDetected | 71 | presence-state.svgpresence-alarm-state.svgsr_presence_simulation.svg | Presence detection |
| CO2High | 18 | co2.svgco-state.svg | High CO2 |
| TemperatureHigh | 19 | sr_protect_overheat.svgtemperature-temperature.svg | High temperature |
| ThermostatModeChanged | 30 | sr_thermostat.svgsr_regulation_hysteresis.svgsr_regulation_pid.svgsr_regulation_equithermic.svg | Thermostat mode |
| CounterReached | 45 | counter.svg | Counter reached |
| Unknown | 0 | smartruleUnknown.svg | Unknown trigger |
Medium Confidence Matches (18 icons)#
State-based icons and functional icons.
| TriggerType | Value | Icon Files | Match Reason |
|---|---|---|---|
| AlarmArmed | 6 | sr_alarm_simple.svg | Alarm armed |
| TimerExpired | 44 | sr_lighting_timer.svg | Timer expiry |
| LightTurnedOn | 23 | sr_lightScene.svglarge_light1.svglarge_light2.svg | Light on |
| HeatingTurnedOn | 28 | heating2-state.svgheating-demand.svgheating-level.svg | Heating on |
| HeatingTurnedOff | 29 | no-heating-cooling-demand.svg | Heating off |
| UserArrived | 40 | home-state.svg | User arrived home |
| UserLeft | 41 | away-state.svg | User left home |
Icon Naming Patterns#
Pattern Categories#
1. Smart Rule Icons (sr_ prefix)#
Pattern: sr_[function].svg
Examples:
sr_alarm.svg→ AlarmTriggeredsr_motion.svg→ MotionDetectedsr_window.svg→ WindowOpenedsr_thermostat.svg→ ThermostatModeChangedsr_script.svg→ ScriptEvaluation
Count: ~40 icons Purpose: Smart Rule automation triggers
2. State Indicators (-state suffix)#
Pattern: [device/value]-state.svg
Examples:
alarm-state.svg→ Alarm device statemotion-state.svg→ Motion sensor stateflood-state.svg→ Flood sensor statelocked-state.svg→ Lock statefire-state.svg→ Smoke sensor state
Count: ~66 icons Purpose: Device and sensor state indicators
3. Level Indicators (-level suffix)#
Pattern: [device/control]-level.svg
Examples:
pump-level.svg→ Pump level controlvalve-level.svg→ Valve position levelfloorLamp-level.svg→ Lamp dimming levelheating-level.svg→ Heating levelpoolLight-level.svg→ Pool light level
Count: ~40 icons Purpose: Device level/intensity controls
4. Symbol Icons (symbol- prefix)#
Pattern: symbol-[name].svg
Examples:
symbol-temperature.svg→ Temperature measurementsymbol-humidity.svg→ Humidity measurementsymbol-battery.svg→ Battery levelsymbol-brightness.svg→ Brightness measurementsymbol-co2.svg→ CO2 measurement
Count: ~468 icons Purpose: UI symbols and value type indicators
5. Device Type Icons#
Pattern: [devicename].svg or [devicename]-state.svg
Examples:
alarm.svg→ Alarm deviceboiler.svg→ Boiler devicethermostat.svg→ Thermostat deviceweather.svg→ Weather stationirrigation-state.svg→ Irrigation system
Count: ~137 icons Purpose: Device type identification
6. Detail Icons (detail- prefix)#
Pattern: detail-[component]-[property].svg
Examples:
detail-thermostat-level-angle.svg→ Thermostat detaildetail-blind90-level-angle.svg→ Blind control detaildetail-awning-level.svg→ Awning control detaildetail-analogOutput-level.svg→ Analog output detail
Count: ~15 icons Purpose: Detailed UI components for specific controls
7. Button Icons (button_ prefix)#
Pattern: button_[action].svg
Examples:
button_plus.svg→ Add buttonbutton_minus.svg→ Remove buttonbutton_edit.svg→ Edit buttonbutton_delete.svg→ Delete buttonbutton_search.svg→ Search button
Count: ~50 icons Purpose: UI action buttons
8. Circle Icons (circle- prefix)#
Pattern: circle-[name].svg
Examples:
circle-devices.svg→ Devices menucircle-setting.svg→ Settings menucircle-chart.svg→ Chart viewcircle-user.svg→ User profilecircle-location.svg→ Location
Count: ~20 icons Purpose: Circular navigation icons
9. Large Icons (large_ prefix)#
Pattern: large_[name].svg
Examples:
large_light1.svg→ Large light iconlarge_camera.svg→ Large camera iconlarge_door.svg→ Large door iconlarge_loudspeaker.svg→ Large speaker iconlarge_switch.svg→ Large switch icon
Count: ~10 icons Purpose: Oversized UI variants
10. Meter/Symbol Icons (Symbol/Meter suffix)#
Pattern: Symbol[Type]Meter.svg or [Type]Meter[Variant].svg
Examples:
SymbolElectricMeter.svg→ Electric meter symbolSymbolGasMeter.svg→ Gas meter symbolSymbolWaterMeter.svg→ Water meter symbolWaterMeterGroup.svg→ Water meter groupelectricMeter-impulse.svg→ Electric meter impulse
Count: ~20 icons Purpose: Metering device icons
11. Type Variants#
Pattern: [device]-[type]-[property].svg
Examples:
lightBulb-led-state.svg→ LED bulb statelightBulb-halogen-level.svg→ Halogen bulb levelvalve-hot-level.svg→ Hot valve levelvalve-cold-state.svg→ Cold valve statepump-heating-level.svg→ Heating pump level
Count: ~30 icons Purpose: Device type-specific variants
12. Step Control Icons (-step suffix)#
Pattern: [control][number]-step.svg
Examples:
fan3-step.svg→ 3-speed fan controlfan4-step.svg→ 4-speed fan controlintensity3-step.svg→ 3-level intensitysignal2-step.svg→ 2-step signal
Count: ~15 icons Purpose: Multi-step control indicators
Unmatched Enums#
DeviceType (81 unmatched)#
These DeviceType enum values don’t have corresponding icon files:
- Sensors: TemperatureSensor, HumiditySensor, PressureSensor, LightSensor, DistanceSensor, UVSensor, SoundSensor, AirQualitySensor
- Contacts: DoorContact, ContactSensor, ReedSwitch, VibrationSensor
- Switches/Relays: Relay, WallSwitch, VirtualSwitch
- Climate: Humidifier, Dehumidifier, AirConditioner, InfraredHeater, EvaporativeCooler
- Covers: ElectricCurtains, Curtains, WindowOpener, Gate
- Appliances: Oven, Fridge, Freezer, WashingMachine, Dishwasher, Dryer, Cooktop, Hood, Microwave, Kettle
- Other: Projector, Stove, Barbecue, PetFeeder, RobotMower, LawnMower, Diffuser, WaterHeater, WiFi, WiFiRouter
- Controllers: RoomController, KeyPad, WallController, MultiFunctionController
- Buttons: Button, VirtualButton, Input
- Energy: SolarPanel, Inverter, HeatMeter, FlowMeter
- Heating: HeatPump, Fireplace, OutdoorHeater
- Ventilation: HRVUnit
- Security: GlassBreakSensor, Siren
- Multi-function: MultiFunctionSensor, GenericSensor, SmartRuleTrigger
- Remaining indicators: CO2Remaining, VOCRemaining, PM25Remaining, PM10Remaining, FilterRemaining
Likely Reasons:
- These devices use generic icons from VectorIconType enum
- UI renders them with symbol icons instead of device-specific SVGs
- Icons may be generated programmatically
- Some devices are rarely used or deprecated
ValueLogType (54 unmatched)#
These ValueLogType enum values don’t have corresponding icon files:
- Electrical Multi-phase: PowerL1, PowerL2, PowerL3, VoltageL1, VoltageL2, VoltageL3, CurrentL1, CurrentL2, CurrentL3, PowerFactorL1, PowerFactorL2, PowerFactorL3
- Reactive Power: ReactivePower, ReactiveEnergy, ApparentPower, ApparentEnergy
- Advanced Air Quality: Radon, O2, O3, NO2, SO2, CH4, H2, NH3, Benzene, Toluene, FormaldehideCH2O, ParticulateMatter, AirQualityIndex
- Pool Chemistry: ORP, ChlorineLevel, TotalHardness, CalciumHardness, Alkalinity, Conductivity
- Weather Extended: UVIndex, WindDirection, DewPoint, HeatIndex, WindChill, FeltTemperature
- Temperatures: InletTemperature, OutletTemperature, ReturnTemperature
- Physical: Force, Torque, Energy, Depth, Height, Distance, Rotation, Speed, Flow
- Consumption Totals: TotalConsumption, TotalGasConsumption, TotalHeatConsumption, TotalWaterConsumption, HeatConsumption
- Other: PowerFactor, Frequency, RSSI, Volume
Likely Reasons:
- Complex multi-phase electrical values use generic electrical icons
- Specialized air quality measurements use generic sensor icons
- Pool chemistry values use pH or water-related generic icons
- Some values are calculated/derived and don’t need dedicated icons
TriggerType (10 unmatched)#
These TriggerType enum values don’t have corresponding icon files:
- Opposite States: AlarmDisarmed, WindowClosed, DoorClosed, LockUnlocked, LightTurnedOff, BlindsClosed
- Humidity: HumidityHigh, HumidityLow
- Location: GeofenceExit
- Button: ButtonHeld
Likely Reasons:
- Opposite state triggers use the same icon as their counterpart (e.g., WindowOpened icon used for WindowClosed)
- ButtonHeld uses the same icon as ButtonPressed
- GeofenceExit uses the same icon as GeofenceEnter
- Humidity triggers use generic humidity icon
Icon Categories#
1. Device-Specific Icons (~137 icons)#
Icons representing physical devices and their states.
Subcategories:
- Lighting: light, lamp, bulb variants
- HVAC: heating, cooling, ventilation, thermostats
- Security: alarms, sensors, locks, cameras
- Metering: electricity, water, gas meters
- Appliances: coffee, pool equipment
- Covers: blinds, awnings, garage doors
- Valves & Pumps: various valve and pump types
2. UI Symbol Icons (~468 icons)#
Icons for user interface elements and measurements.
Subcategories:
- Measurements: temperature, humidity, pressure, etc.
- Navigation: arrows, directions, locations
- Actions: settings, edit, delete, add
- States: locked, unlocked, on, off
- Weather: rain, wind, clouds, sun
- Zones: rooms, areas (attic, balcony, cellar, etc.)
3. Smart Rule Icons (~40 icons)#
Icons specifically for automation rules.
Prefix: sr_
Types:
- Triggers: alarm, motion, window, push
- Schedules: daily, weekly, sunrise/sunset
- Controls: blinds, dimmer, thermostat
- Protection: overheat, wind protection
- Logic: equation, formula, script
- Notifications: error, general
4. Button Icons (~50 icons)#
UI action buttons.
Prefix: button_
Types:
- Navigation: back, next, previous, up, down
- Actions: add, delete, edit, save, close
- Selection: select, checkbox, starred
- Media: play, pause, microphone, photo
- View: refresh, search, menu, more
5. Circle Icons (~20 icons)#
Circular navigation and menu icons.
Prefix: circle-
Types:
- Navigation: devices, chart, list, shortcuts
- Settings: setting, terminal, wizard
- User: user, location
- Widgets: widget, widget_small
6. State Indicator Icons (~66 icons)#
Icons showing device or value states.
Suffix: -state
Examples:
- Device states: alarm-state, motion-state, flood-state
- Value states: brightness-state, temperature-state
- Control states: locked-state, powerButton-state
7. Level Control Icons (~40 icons)#
Icons for level/intensity controls.
Suffix: -level
Examples:
- Lighting levels: floorLamp-level, wallLight-level
- HVAC levels: heating-level, cooling-level
- Position levels: valve-level, blind-level
8. Detail Component Icons (~15 icons)#
Detailed UI components for specific controls.
Prefix: detail-
Examples:
- Thermostat: detail-thermostat-level-angle
- Blinds: detail-blind90-level-angle, detail-blind180-level-angle
- Valves: detail-mix-valve-cold-level
- Awning: detail-awning-level
9. Large/Oversized Icons (~10 icons)#
Oversized variants for prominent display.
Prefix: large_
Examples:
- large_light1, large_light2
- large_camera
- large_door
- large_loudspeaker
- large_switch
10. Overlay Icons (~6 icons)#
Overlay indicators for additional information.
Prefix: overlay-
Examples:
- overlay-locked, overlay-unlocked
- overlay-group
- overlay-impulse
- overlay-money
- overlay-switch
11. Number/Step Icons (~35 icons)#
Numbered state indicators and step controls.
Patterns: number[0-20]-state.svg, [control][3-8]-step.svg
Examples:
- States: number0-state through number20-state
- Fan steps: fan3-step, fan4-step
- Intensity steps: intensity3-step through intensity8-step
- Signal steps: signal1-step, signal2-step, signal3-step
12. Meter Icons (~20 icons)#
Metering and measurement device icons.
Patterns: Symbol[Type]Meter.svg, [Type]Meter[Variant].svg
Examples:
- Electric: SymbolElectricMeter, electricMeter-group, electricMeter-impulse
- Gas: SymbolGasMeter, GasMeterGroup, GasMeterImpulse
- Water: SymbolWaterMeter, WaterMeterGroup, WaterMeterImpulse
- General: SymbolMeter, SymbolAmpereMeter, SymbolVoltmeter
13. Access Control Icons (~10 icons)#
Icons for access control and security.
Prefix: access-
Examples:
- access-card
- access-PIN
- access-PINcard
- access-checkin
- access-checkout
- access-expired
- access-lost
- access-repeated
14. Scene Icons (~8 icons)#
Scene and mode indicators.
Patterns: scene[0-9]of9.svg, [mode]-state.svg
Examples:
- Scenes: scene0of9, scene1of9, scene5of9, scene9of9
- Modes: day-state, night-state, home-state, away-state
- Events: party-state, holiday-state, vacation-state
Usage Recommendations#
For DeviceType Mapping#
Primary Icon Selection:
- Use device-specific icons when available (e.g.,
alarm.svgfor Alarm) - Fall back to state icons for device states (e.g.,
alarm-state.svg) - Use symbol icons from VectorIconType enum for unmatched devices
- Use device-specific icons when available (e.g.,
Icon Variants:
- Use
-statesuffix for on/off or discrete states - Use
-levelsuffix for continuous controls (dimming, position) - Use type-specific icons when device has subtypes (e.g., LED, halogen, fluorescent bulbs)
- Use
Multiple Icons:
- Some devices have multiple icon variants (e.g., pumps have heating, cooling, heating-cooling)
- Select appropriate variant based on device configuration or mode
For ValueLogType Mapping#
Measurement Icons:
- Prefer
symbol-[name].svgfor measurement displays - Use specialized temperature icons for different temperature types (dew, mixed, return, source)
- Use meter icons (SymbolXXXMeter) for cumulative measurements
- Prefer
State vs Value:
- Use
-statesuffix icons for binary/boolean values (detected/not detected) - Use measurement symbols for numeric values
- Use
Unit Display:
- Icons don’t include units - display units separately in UI
- Use auto-prefix system for large values (k, M, G)
For TriggerType Mapping#
Smart Rule Icons:
- Always prefer
sr_prefix icons for Smart Rule triggers - These are specifically designed for automation contexts
- Always prefer
Generic Triggers:
- DeviceValueChange →
sr_multiValue_trigger.svg - DeviceStateChange →
sr_switch_trigger.svg - LogicCondition →
sr_equation.svgorsr_formula.svg
- DeviceValueChange →
Opposite States:
- For unmatched opposite states (e.g., WindowClosed), use the same icon as the matched state
- Indicate state difference through color or overlay
Icon Size Guidelines#
- Large icons (
large_*): Use for main device representation in detail views - Standard icons: Use for lists, cards, and general UI
- Circle icons (
circle-*): Use for navigation menus and tabs - Button icons (
button_*): Use for action buttons and controls - Symbol icons (
symbol-*): Use for labels, measurements, and indicators
Color and Theming#
Icons are provided as SVG files which support:
- Dynamic color theming
- Accent color application
- State-based coloring (on/off, active/inactive)
- Overlay composition
Recommended color usage:
- Active state: Accent color (Pink, Blue, Green)
- Inactive state: Gray or muted color
- Error state: Red
- Warning state: Orange/Yellow
- Success state: Green
File References#
Source Documentation#
- Enum Reference:
/Users/martinkalis/Claude/taphome_git_lfs/TAPHOME_ENUMS_AND_ICONS_REFERENCE.md - Script Language Docs:
/Users/martinkalis/Claude/taphome_git_lfs/TAPHOME_SCRIPT_LANGUAGE_DOCUMENTATION.md
Icon Folder#
- Location:
/Users/martinkalis/Claude/taphome_git_lfs/app-icons/ - Total Files: 805 SVG icons
- Format: SVG (Scalable Vector Graphics)
Code Files#
- DeviceType:
TapHome.Core.Lib.Model/DeviceBase.cs:149-325 - ValueLogType:
TapHome.Core.Lib.Model/ValueLog.cs:12-134 - TriggerType:
TapHome.Core.Lib.Model/IFTTT/TriggerType.cs - VectorIconType:
TapHome.Core.Lib.Model/VectorIconType.cs
Statistics Summary#
DeviceType Icon Mapping#
- Total DeviceType enums: 126
- Matched with icons: 45 (36%)
- High confidence matches: 101 icon files
- Medium confidence matches: 33 icon files
- Low confidence matches: 3 icon files
- Total icon-to-device mappings: 137
ValueLogType Icon Mapping#
- Total ValueLogType enums: 105
- Matched with icons: 51 (49%)
- High confidence matches: 67 icon files
- Medium confidence matches: 24 icon files
- Low confidence matches: 8 icon files
- Total icon-to-value mappings: 99
TriggerType Icon Mapping#
- Total TriggerType enums: 47
- Matched with icons: 37 (79%)
- High confidence matches: 48 icon files
- Medium confidence matches: 18 icon files
- Total icon-to-trigger mappings: 66
Overall Icon Usage#
- Total SVG icons: 805
- Mapped to enums: ~302 (38%)
- UI elements (unmapped): ~503 (62%)
- Icon categories: 14 distinct categories
Version Information#
- Document Version: 1.0
- Analysis Date: 2025-11-15
- Icon Folder:
/app-icons - Total Icons Analyzed: 805 SVG files
This documentation was generated by analyzing icon file names and matching them to TapHome enum values based on naming patterns and semantic relationships.