Three-way merge from b595ccb, the commit Fatih copied, to upstream's current state; Fatih's vendor reads (tyres, mileage, charge status, SWI69) stay. LICENSE.md records the base for the next update. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QLJfZQZeAKAwSqViTmLzki
15 KiB
The EVTasker catalogue
Every condition a rule can test and every action it can run, straight out of ConditionType and ActionType. Firmware is what the entry is annotated for; "any" means it depends on no vehicle firmware at all, not that it needs nothing — a notification still needs the permission, a call still needs a paired phone. The car's own Diagnostic screen stays the only answer for the car in front of you.
Conditions
Context
| Condition | Entry | Tested against | Firmware |
|---|---|---|---|
| Bluetooth phone connected | BT_DEVICE_CONNECTED |
a paired phone | any |
| Any Bluetooth device connected | ANY_BT_CONNECTED |
on / off | any |
| Phone on board (Bluetooth) | BT_DEVICE_ONBOARD |
a paired phone | any |
| Bluetooth hands-free phone | BT_DEVICE_HANDSFREE |
a paired phone | any |
| Time of day | TIME_OF_DAY |
a start and an end time | any |
| Day of week | DAY_OF_WEEK |
weekdays | any |
| Exact date | DATE |
a calendar date | any |
| Firmware generation | FIRMWARE_GEN |
a list the app fills in | any |
| Near a place | LOCATION_WITHIN |
a point and a radius (m) | any |
| Physical buttons | PHYSICAL_BUTTON |
a button, short or long press | any |
| Wi-Fi network | WIFI_SSID |
free text | any |
| Call in progress | IN_CALL |
on / off | any |
| Drive duration | DRIVE_DURATION |
0…600 min (=, <, >) | any |
| Random chance | RANDOM_CHANCE |
1…100 % | any |
| Doors locked | DOORS_LOCKED |
on / off | SWI165 |
| Front door open | FRONT_DOOR_OPEN |
on / off | SWI133 |
| Data used today | DATA_USED_TODAY |
0…100000 MB (=, <, >) | any |
| Data used this month | DATA_USED_MONTH |
0…100000 MB (=, <, >) | any |
Environment
| Condition | Entry | Tested against | Firmware |
|---|---|---|---|
| Outside temperature | OUTSIDE_TEMP |
-30…50 °C (=, <, >) | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Weather | WEATHER_NOW |
Clear, Cloudy, Rain, Snow, Thunderstorm, Fog, Wind | any |
Driving
| Condition | Entry | Tested against | Firmware |
|---|---|---|---|
| Ignition state | IGNITION_STATE |
Locked, Off, Accessory, Running, Starting | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Gear in P | IN_PARK |
on / off | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Speed | SPEED |
0…200 km/h (=, <, >) | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Drive mode | DRIVE_MODE |
Eco, Normal, Sport, Snow, Custom | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Regeneration | REGEN_LEVEL |
Low, Medium, High, Adaptive, Off, One pedal | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Odometer | ODOMETER |
0…500000 km (=, <, >) | any |
| Energy saving | ENERGY_SAVING |
on / off | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
Energy
| Condition | Entry | Tested against | Firmware |
|---|---|---|---|
| Battery level | BATTERY_LEVEL |
0…100 % (=, <, >) | SWI68, SWI165 |
| Charging | CHARGING |
on / off | SWI68, SWI165 |
| Charge limit | CHARGE_LIMIT |
0…100 % (=, <, >) | SWI68, SWI165 |
| Charging state | CHARGING_STATUS |
Unplugged, Charging (AC), Charging (DC), Plugged in, not charging, Charge complete, Charging fault | SWI68, SWI165 |
| Scheduled charging on | CHARGE_SCHEDULE_ENABLED |
on / off | SWI68, SWI165 |
| Charging starts at | CHARGE_WINDOW_START |
a time of day (=, <, >) | SWI68, SWI165 |
| Charging stops at | CHARGE_WINDOW_STOP |
a time of day (=, <, >) | SWI68, SWI165 |
| Remaining range | RANGE_ESTIMATE |
0…600 km (=, <, >) | SWI68, SWI165 |
| Battery pre-heating on | BATTERY_PREHEAT |
on / off | SWI68, SWI165 |
Climate
| Condition | Entry | Tested against | Firmware |
|---|---|---|---|
| Climate on | CLIMATE_ON |
on / off | SWI68, SWI165 |
| Air conditioning on | AC_ON |
on / off | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Climate AUTO on | HVAC_AUTO |
on / off | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Air recirculation on | RECIRC |
on / off | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Fan speed | FAN_SPEED |
0…11 (=, <, >) | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Set temperature | TEMPERATURE_SET |
17…33 °C (=, <, >) | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Passenger temperature | PASSENGER_TEMP |
17…33 °C (=, <, >) | SWI165 |
| ECON mode on | ECON_MODE |
on / off | SWI68, SWI165 |
| Windscreen defroster on | FRONT_DEFROST |
on / off | SWI68, SWI165 |
| Rear window defroster on | REAR_DEFROST |
on / off | SWI68, SWI165 |
| A window is open | WINDOW_OPEN |
on / off | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Window opening | WINDOW_POSITION |
0…100 % (=, <, >) | SWI68, SWI165 |
| Driver window opening | WINDOW_DRIVER |
0…100 % (=, <, >) | SWI68, SWI165 |
| Passenger window opening | WINDOW_PASSENGER |
0…100 % (=, <, >) | SWI68, SWI165 |
| Rear left window opening | WINDOW_REAR_LEFT |
0…100 % (=, <, >) | SWI68, SWI165 |
| Rear right window opening | WINDOW_REAR_RIGHT |
0…100 % (=, <, >) | SWI68, SWI165 |
Comfort
| Condition | Entry | Tested against | Firmware |
|---|---|---|---|
| Left seat heating | SEAT_HEAT_LEFT |
0…3 (=, <, >) | SWI133, SWI68, SWI165 |
| Right seat heating | SEAT_HEAT_RIGHT |
0…3 (=, <, >) | SWI133, SWI68, SWI165 |
| Steering wheel heating | STEERING_HEAT |
on / off | SWI133, SWI68, SWI165 |
| Screen brightness | SCREEN_BRIGHTNESS |
5…100 % (=, <, >) | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
Audio
| Condition | Entry | Tested against | Firmware |
|---|---|---|---|
| Media playing | MEDIA_PLAYING |
on / off | any |
| Radio playing | RADIO_PLAYING |
on / off | SWI68, SWI165 |
| Media volume | MEDIA_VOLUME |
0…max (=, <, >) | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
Driver assistance
| Condition | Entry | Tested against | Firmware |
|---|---|---|---|
| Emergency braking (AEB) | AEB_ENABLED |
on / off | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| AEB mode | AEB_MODE |
Alert only, Alert + braking | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| AEB sensitivity | AEB_SENSITIVITY |
Low, Standard, High | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| ELK mode | ELK_MODE |
Off, Warning (LDW), Assist (LDP), Emergency keeping (ELK) | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| ELK sensitivity | ELK_SENSITIVITY |
Low, Standard, High | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| ACC / TJA mode | ACC_TJA_MODE |
Off, Adaptive cruise (ACC), Traffic jam assist (TJA) | SWI68, SWI165, SWI69, SWI131, SWI132 |
| Speed limiter | LIMITER_MODE |
Off, Manual, Intelligent | SWI68, SWI165, SWI69, SWI131, SWI132 |
| Traffic sign recognition (TSR) | TSR |
on / off | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Overspeed alarm | OVERSPEED_ALARM |
on / off | SWI133, SWI132 |
| Speed limit tone | SPEED_LIMIT_TONE |
on / off | SWI133, SWI132 |
| ADAS sound warning | SOUND_WARNING |
on / off | SWI68, SWI165, SWI69, SWI131, SWI132 |
Lights
| Condition | Entry | Tested against | Firmware |
|---|---|---|---|
| Low beams | HEADLIGHTS |
Off, On, Daytime running | none |
| High beam on | HIGH_BEAM_ON |
on / off | none |
| Fog lights on | FOG_LIGHTS_ON |
on / off | none |
A reading the car does not answer makes the rule not evaluable: it does not fire, and it does not count as false.
Actions
Profile
| Action | Entry | Asks for | When stopped only | Firmware |
|---|---|---|---|---|
| Apply a profile | APPLY_PROFILE |
an EVProfile profile | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Ask for a profile | SHOW_PROFILE_PICKER |
— | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
Driving
| Action | Entry | Asks for | When stopped only | Firmware |
|---|---|---|---|---|
| Drive mode | SET_DRIVE_MODE |
Eco, Normal, Sport, Snow, Custom | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Regeneration | SET_REGEN_LEVEL |
Low, Medium, High, Adaptive, Off, One pedal | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| One pedal driving | SET_ONE_PEDAL |
on / off | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Energy saving | SET_ENERGY_SAVING |
on / off | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
Comfort
| Action | Entry | Asks for | When stopped only | Firmware |
|---|---|---|---|---|
| Left seat heating | SET_SEAT_HEAT_LEFT |
0…3 | — | SWI133, SWI68, SWI165 |
| Right seat heating | SET_SEAT_HEAT_RIGHT |
0…3 | — | SWI133, SWI68, SWI165 |
| Steering wheel heating | SET_STEERING_HEAT |
on / off | — | SWI133, SWI68, SWI165 |
| Screen brightness | SET_SCREEN_BRIGHTNESS |
5…100 % | — | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
Climate
| Action | Entry | Asks for | When stopped only | Firmware |
|---|---|---|---|---|
| Climate on/off | SET_CLIMATE_POWER |
on / off | — | SWI68, SWI165, SWI69, SWI131, SWI132 |
| Cabin temperature | SET_CABIN_TEMP |
17…33 °C | — | SWI68, SWI165, SWI69, SWI131, SWI132 |
| Passenger temperature | SET_PASSENGER_TEMP |
17…33 °C | — | SWI165 |
| Air conditioning | SET_AC |
on / off | — | SWI68, SWI165, SWI69, SWI131, SWI132 |
| ECON mode | SET_ECON |
on / off | — | SWI68, SWI165 |
| Climate AUTO | SET_CLIMATE_AUTO |
on / off | — | SWI68, SWI165, SWI69, SWI131, SWI132 |
| Air recirculation | SET_RECIRCULATION |
on / off | — | SWI68, SWI165, SWI69, SWI131, SWI132 |
| Fan level | SET_FAN_LEVEL |
0…11 | — | SWI68, SWI165, SWI69, SWI131, SWI132 |
| Windscreen defroster | SET_FRONT_DEFROST |
on / off | — | SWI68, SWI165, SWI69, SWI131, SWI132 |
| Rear window defroster | SET_REAR_DEFROST |
on / off | — | SWI68, SWI165, SWI69, SWI131, SWI132 |
| All windows ⚠️ | SET_WINDOWS |
Closed, Open | yes | SWI68, SWI165 |
| Driver window ⚠️ | SET_WINDOW_DRIVER |
Closed, Open | yes | SWI68, SWI165 |
| Passenger window ⚠️ | SET_WINDOW_PASSENGER |
Closed, Open | yes | SWI68, SWI165 |
| Rear left window ⚠️ | SET_WINDOW_REAR_LEFT |
Closed, Open | yes | SWI68, SWI165 |
| Rear right window ⚠️ | SET_WINDOW_REAR_RIGHT |
Closed, Open | yes | SWI68, SWI165 |
| Door locks | SET_DOOR_LOCK |
on / off | — | SWI68, SWI165 |
Energy
| Action | Entry | Asks for | When stopped only | Firmware |
|---|---|---|---|---|
| Charge limit ⚠️ | SET_CHARGE_LIMIT |
40…100 % | — | SWI68, SWI165 |
| Allow charging | SET_CHARGING_ENABLED |
on / off | — | SWI68, SWI165 |
| Scheduled charging | SET_CHARGE_SCHEDULE |
on / off | — | SWI68, SWI165 |
| Charging window | SET_CHARGE_WINDOW |
a start and an end time | — | SWI68, SWI165 |
| Battery pre-heating | SET_BATTERY_PREHEAT |
on / off | — | SWI68, SWI165 |
Audio
| Action | Entry | Asks for | When stopped only | Firmware |
|---|---|---|---|---|
| Media volume | SET_MEDIA_VOLUME |
0…max | — | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Media volume, step | ADJUST_MEDIA_VOLUME |
-30…30 | — | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Left / right balance | SET_AUDIO_BALANCE |
-9…9 | — | SWI69, SWI131, SWI132 |
| Front / rear fader | SET_AUDIO_FADER |
-9…9 | — | SWI69, SWI131, SWI132 |
| Tone | SET_TONE_CONTROL |
-9…9 | — | SWI69, SWI131, SWI132 |
| Bose sound profile | SET_BOSE_SOUND_TYPE |
0…3 | — | SWI69, SWI131, SWI132 |
| 3D effect | SET_3D_EFFECT |
0…3 | — | SWI69, SWI131, SWI132 |
| Speed-adaptive volume | SET_SPEED_VOLUME |
0…3 | — | SWI69, SWI131, SWI132 |
| Play the radio | PLAY_RADIO |
— | — | SWI68, SWI165 |
| Radio band and station | TUNE_RADIO |
band (AM, FM, DAB), frequency, play | — | SWI68, SWI165 |
| Next radio station | RADIO_NEXT_STATION |
— | — | SWI68, SWI165 |
| Previous radio station | RADIO_PREV_STATION |
— | — | SWI68, SWI165 |
| Silence the radio | PAUSE_RADIO |
— | — | SWI68, SWI165 |
| Radio play/pause | RADIO_PLAY_PAUSE |
— | — | SWI68, SWI165 |
| Open the radio screen | OPEN_RADIO_SCREEN |
— | yes | SWI68, SWI165 |
Driver assistance
| Action | Entry | Asks for | When stopped only | Firmware |
|---|---|---|---|---|
| Emergency braking (AEB) | SET_AEB_ENABLED |
on / off | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| AEB mode | SET_AEB_MODE |
Alert only, Alert + braking | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| AEB sensitivity | SET_AEB_SENSITIVITY |
Low, Standard, High | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Stability control (ESC) | SET_ESC |
on / off | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Drowsiness warning | SET_DROWSINESS |
on / off | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Drowsiness warning sensitivity | SET_DROWSINESS_SENSITIVITY |
Low, Standard, High | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| ELK mode | SET_ELK_MODE |
Off, Warning (LDW), Assist (LDP), Emergency keeping (ELK) | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| ELK sensitivity | SET_ELK_SENSITIVITY |
Low, Standard, High | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| ACC / TJA mode | SET_ACC_TJA_MODE |
Off, Adaptive cruise (ACC), Traffic jam assist (TJA) | yes | SWI68, SWI165, SWI69, SWI131, SWI132 |
| Speed limiter | SET_LIMITER_MODE |
Off, Manual, Intelligent | yes | SWI68, SWI165, SWI69, SWI131, SWI132 |
| Traffic sign recognition (TSR) | SET_TSR |
on / off | yes | SWI133, SWI68, SWI165, SWI69, SWI131, SWI132 |
| Overspeed alarm | SET_OVERSPEED_ALARM |
on / off | yes | SWI133, SWI132 |
| Speed limit tone | SET_SPEED_LIMIT_TONE |
on / off | yes | SWI133, SWI132 |
| ADAS sound warning | SET_SOUND_WARNING |
on / off | yes | SWI68, SWI165, SWI69, SWI131, SWI132 |
| Lane departure sound warning | SET_LAS_WARNING_SOUND |
on / off | — | SWI132 |
| Lane departure steering vibration | SET_LAS_WARNING_VIBRATION |
on / off | — | SWI132 |
Lights
| Action | Entry | Asks for | When stopped only | Firmware |
|---|---|---|---|---|
| Low beams ⚠️ | SET_HEADLIGHTS |
On, Automatic | yes | none |
| High beam ⚠️ | SET_HIGH_BEAM |
Off, Automatic | yes | none |
| Fog lights ⚠️ | SET_FOG_LIGHTS |
on / off | yes | none |
System
| Action | Entry | Asks for | When stopped only | Firmware |
|---|---|---|---|---|
| Launch an app | LAUNCH_APP |
an installed app | — | any |
| Show a notification | SHOW_NOTIFICATION |
free text | — | any |
| Speak a message | SPEAK_TEXT |
free text | — | any |
| Navigate to | NAVIGATE_TO |
an address or coordinates | — | any |
| Ask for confirmation | ASK_CONFIRM |
a question, and how long to wait | — | any |
| Send a text message | SEND_SMS |
a number or a contact, and a message | — | any |
| Enable a rule | ENABLE_RULE |
one of your rules | — | any |
| Disable a rule | DISABLE_RULE |
one of your rules | — | any |
| Media control | MEDIA_CONTROL |
Play / pause, Next track, Previous track | — | any |
| Bluetooth | SET_BLUETOOTH |
on / off | — | any |
| Wi-Fi | SET_WIFI |
on / off | — | any |
| Call webhook | WEBHOOK |
a URL, and an optional body | — | any |
| Wait | DELAY |
1…60 s | — | any |
| Call | CALL_NUMBER |
a number or a contact | — | SWI68, SWI165 |
| Call a contact | CALL_CONTACT |
a number or a contact | — | SWI68, SWI165 |
⚠️ — the firmware carries the property, but nothing establishes that writing it does anything (ActionType.writeProven). Those actions are hidden from the editor and refused by the executor until one is observed to work.
The per-generation grid is in firmware-matrix.md, generated from the same annotations.