FireServiceRota
FireServiceRota is a powerful and flexible availability, scheduling and dispatching system for firefighters.
It’s the international brand of the Dutch BrandweerRooster
The FireServiceRota integration provides you real-time information about incidents (emergency calls) from your local fire station and the ability to send a response depending on your duty schedule.
You will need a FireServiceRota or BrandweerRooster account.
A word of caution: Do not solely rely on this integration for your emergency calls!
This integration provides the following platforms:
- Sensor: Incoming emergency calls. Metadata contains among other data the location of the incident and a text-to-speech URL. The integration uses a WebSocket client connection with the service to ensure a minimum delay.
- Binary sensor: Your current duty status (as scheduled via the FireServiceRota mobile app and/or website).
- Switch: Enabled for 30 minutes after an emergency call. ‘on’ represents a confirmed response. Use this to automate your emergency call response and save valuable seconds.
On how to write automations using these platform read the ‘Advanced Configuration’ section below.
配置
要将 FireServiceRota integration 添加到您的 Home Assistant 实例中,请使用此 My 按钮:
手动配置步骤
如果上述 My 按钮不起作用,您也可以手动执行以下步骤:
-
浏览到您的 Home Assistant 实例。
-
转到
设置 > 设备与服务。 -
在右下角,选择
Add Integration 按钮。 -
从列表中选择 FireServiceRota。
-
按照屏幕上的说明完成设置。
Entities
The following entity types are created:
Incidents sensor
This is the main entity of the integration containing the incident message as its value
, it has several attributes which are described below.
Attribute | Description |
---|---|
trigger |
Type of trigger, new or update . |
state |
The state of the incident. |
created_at |
Date and time when incident was created. |
message_to_speech_url |
The URL of the mp3 file containing the spoken text of the incident. |
prio |
Priority of the incident, a1 , a2 , b1 or b2 . |
type |
Type of incident, e.g. incident_alert . |
responder_mode |
Modes of response, e.g. available_in_schedule_is_acknowledgment . |
can_respond_until |
Date and time until response is accepted. |
latitude |
The Latitude of the incident. |
longitude |
The Longitude of the incident. |
address_type |
Type of address, e.g. home . |
formatted_address |
Address in string format. |
task_ids |
ID(s) of appliance(s) or task(s). |
Duty binary sensor
This entity reflects the duty you have scheduled, the value can be on
= on duty, off
= no duty. When you have no duty the response switch is disabled which means you cannot respond to a call.
Attribute | Description |
---|---|
start_time |
Start date and time of duty schedule. |
end_time |
End date and time of duty schedule. |
available |
true or false . |
active |
true or false . |
assigned_function_ids |
Function id’s, e.g. 540 . |
skill_ids |
Skill id’s, e.g. 6, 8 . |
type |
Type, e.g. standby_duty . |
assigned function |
Assigned function, e.g. Chauffeur . |
Incident response switch
With this switch you can respond to an incident, either by manually controlling the switch via the GUI, or by using an automation action.
It gets reset to unknown
value with every incident received. Switching it to on
means you send a response acknowledgment, switching it back off
sends a response rejected.
The following attributes are available:
Attribute | Description |
---|---|
user_name |
Your username. |
assigned_skill_ids |
Assigned skill ID’s. |
responded_at |
Time you responded. |
start_time |
Incident response start time. |
status |
Status of response, e.g., pending . |
reported_status |
Reported status, e.g., shown_up . |
arrived_at_station |
true or false . |
available_at_incident_creation |
true or false . |
active_duty_function_ids |
Active function ID’s, e.g., 540 . |
Advanced configuration
With Automation you can configure one or more of the following useful actions:
- Sound an alarm and/or switch on lights when an emergency incident is received.
- Use text-to-speech to play incident details via a media player while getting dressed.
- Respond with a response acknowledgment using a door-sensor when leaving the house or by pressing a button to let your teammates know you are underway.
- Cast a FireServiceRota dashboard to a Chromecast device. (this requires a Nabu Casa subscription)
These are documented below.
Example automation
automation:
- alias: "Switch on a light when incident is received"
triggers:
- trigger: state
entity_id: sensor.incidents
actions:
- action: light.turn_on
target:
entity_id: light.bedroom
- alias: "Play TTS incident details when incident is received"
triggers:
- trigger: state
entity_id: sensor.incidents
attribute: message_to_speech_url
conditions:
- condition: not
conditions:
- condition: state
entity_id: sensor.incidents
attribute: message_to_speech_url
state: None
actions:
- action: media_player.play_media
data:
entity_id: media_player.nest_hub_bedroom
media_content_id: >
{{ state_attr('sensor.incidents','message_to_speech_url') }}
media_content_type: "audio/mp4"
- alias: "Send response acknowledgement when a button is pressed"
triggers:
- trigger: state
entity_id: switch.response_button
actions:
- action: homeassistant.turn_on
target:
entity_id: switch.incident_response
- alias: "Cast FireServiceRota dashboard to Nest Hub"
triggers:
- trigger: homeassistant
event: start
actions:
- action: cast.show_lovelace_view
data:
entity_id: media_player.nest_hub_bedroom
view_path: fsr
Example dashboard
panel: true
views:
- badges: []
cards:
- entity: sensor.incidents
type: entity
- cards:
- cards:
- default_zoom: 15
entities:
- entity: sensor.incidents
hours_to_show: 0
type: map
type: vertical-stack
- cards:
- entities:
- entity: sensor.incidents
hours_to_show: 1
refresh_interval: 0
type: history-graph
type: vertical-stack
type: horizontal-stack
- content: |
{{ states('sensor.incidents') }}
title: Incident
type: markdown
- entities:
- entity: binary_sensor.duty
- entity: switch.incident_response
type: entities
path: fsr
title: FireServiceRota
type: horizontal-stack
Screenshot

This screenshot shows what a FireServiceRota dashboard can look like.
Debugging
The FireServiceRota integration will log additional information about WebSocket incidents received, response and duty status gathered, and other messages when the log level is set to debug
. Add the relevant lines below to the configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more]:
logger:
default: info
logs:
homeassistant.components.fireservicerota: debug
pyfireservicerota: debug