{
  "EVT_AD_LOGIN": "{{admin}} log in",
  "EVT_AD_LOGIN_FAILED": "{{admin}} login failed",
  "EVT_AP_DISCOVERED_PENDING": "AP[{{ap}}] was discovered and waiting for adoption",
  "EVT_SW_DISCOVERED_PENDING": "Switch[{{sw}}] was discovered and waiting for adoption",
  "EVT_GW_DISCOVERED_PENDING": "Gateway[{{gw}}] was discovered and waiting for adoption",
  "EVT_PH_DISCOVERED_PENDING": "Phone[{{ph}}] was discovered and waiting for adoption",
  "EVT_AP_REDISCOVERED_PENDING": "AP[{{ap}}] was rediscovered and waiting for adoption",
  "EVT_AP_ADOPTED": "AP[{{ap}}] was adopted by {{admin}}",
  "EVT_SW_ADOPTED": "Switch[{{sw}}] was adopted by {{admin}}",
  "EVT_GW_ADOPTED": "Gateway[{{gw}}] was adopted by {{admin}}",
  "EVT_PH_ADOPTED": "Phone[{{ph}}] was adopted by {{admin}}",
  "EVT_AP_DELETED": "AP[{{ap}}] was deleted by {{admin}}",
  "EVT_SW_DELETED": "Switch[{{sw}}] was deleted by {{admin}}",
  "EVT_GW_DELETED": "Gateway[{{gw}}] was deleted by {{admin}}",
  "EVT_PH_DELETED": "Phone[{{ph}}] was deleted by {{admin}}",
  "EVT_AP_RESTARTED": "AP[{{ap}}] was restarted by {{admin}}",
  "EVT_SW_RESTARTED": "Switch[{{sw}}] was restarted by {{admin}}",
  "EVT_GW_RESTARTED": "Gateway[{{gw}}] was restarted by {{admin}}",
  "EVT_PH_RESTARTED": "Phone[{{ph}}] was restarted by {{admin}}",
  "EVT_AP_RESTARTED_UNKNOWN": "AP[{{ap}}] was restarted ({{duration}} connected, {{num_sta}} clients)",
  "EVT_SW_RESTARTED_UNKNOWN": "Switch[{{sw}}] was restarted",
  "EVT_GW_RESTARTED_UNKNOWN": "Gateway[{{gw}}] was restarted",
  "EVT_PH_RESTARTED_UNKNOWN": "Phone[{{ph}}] was restarted",
  "EVT_AP_AUTO_READOPTED": "AP[{{ap}}] was automatically readopted",
  "EVT_SW_AUTO_READOPTED": "Switch[{{sw}}] was automatically readopted",
  "EVT_GW_AUTO_READOPTED": "Gateway[{{gw}}] was automatically readopted",
  "EVT_PH_AUTO_READOPTED": "Phone[{{ph}}] was automatically readopted",
  "EVT_AP_CONFIGURED": "AP[{{ap}}] was configured",
  "EVT_AP_CONNECTED": "AP[{{ap}}] was connected",
  "EVT_SW_CONNECTED": "Switch[{{sw}}] was connected",
  "EVT_GW_CONNECTED": "Gateway[{{gw}}] was connected",
  "EVT_PH_CONNECTED": "Phone[{{ph}}] was connected",
  "EVT_AP_CHANNEL_CHANGED": "\"AP[{{ap}}] changed the channel from \"{{channel_from}}\" to \"{{channel_to}}\"",
  "EVT_AP_POSSIBLE_INTERFERENCE": "AP[{{ap}}] was encountering some interference on channel {{channel}}",
  "EVT_AP_ROLL_UPGRADE": "Rolling Upgrade has been triggered by {{admin}}",
  "EVT_AP_UPGRADED": "AP[{{ap}}] was upgraded from \"{{version_from}}\" to \"{{version_to}}\"",
  "EVT_SW_UPGRADED": "Switch[{{sw}}] was upgraded from \"{{version_from}}\" to \"{{version_to}}\"",
  "EVT_GW_UPGRADED": "Gateway[{{gw}}] was upgraded from \"{{version_from}}\" to \"{{version_to}}\"",
  "EVT_PH_UPGRADED": "Phone[{{ph}}] was upgraded from \"{{version_from}}\" to \"{{version_to}}\"",
  "EVT_AP_UPGRADE_SCHEDULED": "AP[{{ap}}] was scheduled for upgrade by {{admin}}",
  "EVT_SW_UPGRADE_SCHEDULED": "Switch[{{sw}}] was scheduled for upgrade by {{admin}}",
  "EVT_GW_UPGRADE_SCHEDULED": "Gateway[{{gw}}] was scheduled for upgrade by {{admin}}",
  "EVT_PH_UPGRADE_SCHEDULED": "Phone[{{ph}}] was scheduled for upgrade by {{admin}}",
  "EVT_AP_LOST_CONTACT": "AP[{{ap}}] was disconnected",
  "EVT_SW_LOST_CONTACT": "Switch[{{sw}}] was disconnected",
  "EVT_GW_LOST_CONTACT": "Gateway[{{gw}}] was disconnected",
  "EVT_PH_LOST_CONTACT": "Phone[{{ph}}] was disconnected",
  "EVT_AP_ISOLATED": "AP[{{ap}}] became isolated",
  "EVT_WU_CONNECTED": "User[{{user}}] has connected to AP[{{ap}}] with ssid \"{{ssid}}\" on channel {{channel}}",
  "EVT_WU_DISCONNECTED": "User[{{user}}] disconnected from \"{{ssid}}\" ({{duration}} connected, {{bytes}} bytes, last AP[{{ap}}])",
  "EVT_LU_CONNECTED": "User[{{user}}] has connected to {{network}}",
  "EVT_LU_DISCONNECTED": "User[{{user}}] disconnected from \"{{network}}\" ({{duration}} connected, {{bytes}} bytes)",
  "EVT_WU_ROAM": "User[{{user}}] roams from AP[{{ap_from}}] to AP[{{ap_to}}] from channel {{channel_from}} to channel {{channel_to}} on ssid \"{{ssid}}\"",
  "EVT_WU_ROAM_RADIO": "User[{{user}}] roams from channel {{channel_from}} to channel {{channel_to}} at AP[{{ap}}]",
  "EVT_WC_BLOCKED": "Client[{{client}}] is blocked by {{admin}}",
  "EVT_WC_UNBLOCKED": "Client[{{client}}] is unblocked by {{admin}}",
  "EVT_LC_BLOCKED": "Client[{{client}}] is blocked by {{admin}}",
  "EVT_LC_UNBLOCKED": "Client[{{client}}] is unblocked by {{admin}}",
  "EVT_WG_CONNECTED": "Guest[{{guest}}] has connected to AP[{{ap}}] with ssid \"{{ssid}}\" on channel {{channel}}",
  "EVT_WG_DISCONNECTED": "Guest[{{guest}}] disconnected from \"{{ssid}}\" ({{duration}} connected, {{bytes}} bytes, last AP[{{ap}}])",
  "EVT_LG_CONNECTED": "Guest[{{guest}}] has connected to {{network}}",
  "EVT_LG_DISCONNECTED": "Guest[{{guest}}] disconnected from \"{{network}}\" ({{duration}} connected, {{bytes}} bytes)",
  "EVT_WG_ROAM": "Guest[{{guest}}] roams from AP[{{ap_from}}] to AP[{{ap_to}}] from {{channel_from}} to {{channel_to}} on \"{{ssid}}\"",
  "EVT_WG_ROAM_RADIO": "Guest[{{guest}}] roams from {{channel_from}} to {{channel_to}} at AP[{{ap}}]",
  "EVT_WG_AUTHORIZATION_ENDED": "Guest[{{guest}}] has become unauthorized",
  "EVT_WG_AUTHORIZATION_ENDED_BY_QUOTA": "Guest[{{guest}}] has become unauthorized (quota reached)",
  "EVT_AD_UPDATE_AVAILABLE": "A new version ({{version}}) of UniFi Controller is available",
  "EVT_AD_PHONE_UPDATE_AVAILABLE": "A new version ({{version}}) of UniFi Phone platform images are available",
  "EVT_AD_PHONE_APP_UPDATE_AVAILABLE": "A new version ({{version}}) of UniFi Phone application images are available",
  "EVT_AD_GUEST_UNAUTHORIZED": "Guest[{{guest}}] is unauthorized by {{admin}}",
  "EVT_AD_GUEST_EXTENDED": "Guest[{{guest}}]'s authorization is extended by {{admin}}",
  "EVT_AD_PAYMENT_REFUNDED": "Payment from {{name}}, ${{amount}}, is refunded by {{admin}}",
  "EVT_AD_VOUCHER_CREATED": "{{admin}} created {{num}} {{use}} voucher(s)",
  "EVT_AD_VOUCHER_DELETED": "Voucher[{{code}}] was deleted",
  "EVT_AD_GUEST_AUTHORIZED_FOR": "Guest[{{guest}}] is authorized by {{admin}} for {{minutes}} minutes",
  "EVT_HS_AUTHED_BY_NO_AUTH": "Guest[{{guest}}] is authorized by no authentication",
  "EVT_HS_AUTHED_BY_PASSWORD": "Guest[{{guest}}] is authorized by password",
  "EVT_HS_PAYMENT_PROCESSED": "Payment from Guest[{{guest}}] ({{name}}), ${{amount}} is processed through {{method}}",
  "EVT_HS_VOUCHER_USED": "Voucher[{{code}}] was used by Guest[{{guest}}]",
  "EVT_CF_VWIRE_SET": "Wireless Uplink is configured between AP[{{ap_from}}] and AP[{{ap_to}}]",
  "EVT_CF_VWIRE_UNSET": "Wireless Uplink between AP[{{ap_from}}] and AP[{{ap_to}}] is disconnected",
  "EVT_SW_DETECT_ROGUE_DHCP": "Switch[{{sw}}] detected rogue dhcp server {{ip}} [{{mac}}] on port {{port}} vlan {{vlan}}",
  "EVT_SW_LOOP_DETECTED": "Switch[{{sw}}] loop detected on port {{port}}",
  "EVT_SW_OVERHEAT": "Switch[{{sw}}] is overheating",
  "EVT_PA_SCHEDULED_STREAM_FAILED": "Schedule task {{name}} failed",
  "EVT_PA_INCORRECT_STREAM_CONFIGURATION": "Incorrect scheduled stream configuration {{name}}"
}
