description: ""
trigger:
- platform: calendar
event: start
offset: "-0:15:0"
entity_id: calendar.f1_schedule
condition: []
action:
- service: notify.mobile_app
data:
title: F1 Notification
message: >-
{{ trigger.calendar_event.summary.split(' ')[3] }} of {{
trigger.calendar_event.summary.split(' ')[1] }} starts in 15 min
data:
ttl: 0
priority: high
notification_icon: mdi:car-sports
clickAction: app://com.formulaone.production
- service: mqtt.publish
data:
qos: 0
retain: false
topic: iotlink/workgroup/xxxx/commands/notify
payload_template:
title: F1 Notification
message: |-
{{ trigger.calendar_event.summary.split(' ')[3] }} of {{
trigger.calendar_event.summary.split(' ')[1] }} starts in 15 min
mode: single```
Is there any way to make the countdown card smaller? Get flag, name and time in the same line perhaps?
With cardmod probably, but not native with the card no.
Also, that will never fit on one lineâŚ
Discovered the same issue today.
Trying to access https://ergast.com/api/f1/current.json results in the following message:
âWebsites prove their identity via certificates, which are valid for a set time period. The certificate for ergast.com expired on 29/08/2023.â
Is there a way to get the countdown as a sensor in HA so it can be used to implement it with other things?
There are one or two solution provided in the topic
Ah right, didnât spit through all of the 244 other messages seems I need to though
Hi, can i also have the code please?
Easiest way to get notifications and track race progress.
Instal HACS Integration - ICS KoljaWindeler/ics
ICS calendar for fĂźr Formel 1
Download - GP and qualifying round
Add your ICS calendar under /config/www/calendar
Example of automation notifications
Mardown card or Optional same template code for sensor tts notifications
Formel 1 United States GP Qualifying, in Austin, Startet in: 8 Tagen, 11 Stunden, 38 Minuten
=
type: markdown
content: |-
{% set event_start = state_attr('sensor.ics_4', 'start') %}
{% set current_time = now() %}
{% set time_delta = event_start - current_time %}
{% set description = state_attr('sensor.ics_4', 'description') %}
{% set location = state_attr('sensor.ics_4', 'location') %}
{% if time_delta.total_seconds() <= 0 %}
Formel 1, {{ description }}, läuft bereits
{% else %}
{% set days = time_delta.days %}
{% set seconds = time_delta.seconds %}
{% set hours = seconds // 3600 %}
{% set minutes = (seconds % 3600) // 60 %}
{% set remaining_time = [] %}
{% if days > 0 %}
{% set remaining_time = remaining_time + [days ~ ' Tagen'] %}
{% endif %}
{% if hours > 0 %}
{% set remaining_time = remaining_time + [hours ~ ' Stunden'] %}
{% endif %}
{% if minutes > 0 %}
{% set remaining_time = remaining_time + [minutes ~ ' Minuten'] %}
{% endif %}
{{ 'Formel 1 ' ~ description ~ ' in ' ~ location ~ ' Startet in: ' ~ ', '.join(remaining_time) }}
{% endif %}
Optional
Node Red Alexa tts
[{"id":"d0697afac806deaa","type":"function","z":"1f4a4002563530a1","name":"Sensor zu Text","func":"// Hier den Sensorwert entsprechend vorbereiten\nvar sensorValue = msg.data.attributes.description;\nvar attribute1 = msg.data.attributes.start;\nvar attribute2 = msg.data.attributes.location;\nvar attribute3 = msg.data.attributes.remaining;\n\n\n// Fahren Sie fort, weitere Attribute nach Bedarf hinzuzufĂźgen\n\n// Hier den Text fĂźr Alexa erstellen\nvar alexaText = \"Formel eins, \" + sensorValue + \", in \" + attribute2 + \", Startet in \" + attribute3 + \" Tagen\" ;\n\n// Die Nachricht aktualisieren\nmsg.payload = alexaText;\n\n// Die Nachricht zurĂźckgeben\nreturn msg;\n","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":460,"y":600,"wires":[["2e01339c3e8db24c"]]},{"id":"545023a7da4231d4","type":"api-current-state","z":"1f4a4002563530a1","name":"Formel 1","server":"1612d3ca.3c79fc","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.ics_4","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":300,"y":600,"wires":[["d0697afac806deaa"]]},{"id":"2e01339c3e8db24c","type":"api-call-service","z":"1f4a4002563530a1","name":"Text an Alexa","server":"1612d3ca.3c79fc","version":5,"debugenabled":false,"domain":"notify","service":"alexa_media_alexa_echo_dot","areaId":[],"deviceId":[],"entityId":[],"data":"{\"message\":\"{{payload}}\",\"title\":\"Formula 1\",\"data\":{\"method\":\"all\",\"push\":{\"thread-id\":\"Tonnen\"}}}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","output_location":"","output_location_type":"none","x":660,"y":600,"wires":[["fe5dc19c205bcf5e"]]},{"id":"aacd23573b745971","type":"ha-time","z":"1f4a4002563530a1","name":"15Min. vor Formula 1 Start","server":"1612d3ca.3c79fc","version":3,"exposeAsEntityConfig":"","entityId":"sensor.ics_4","property":"attributes.start","offset":"-15","offsetType":"num","offsetUnits":"minutes","randomOffset":false,"repeatDaily":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"sunday":true,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"x":110,"y":600,"wires":[[]]},{"id":"1612d3ca.3c79fc","type":"server","name":"My Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false,"cacheJson":false,"heartbeat":false,"heartbeatInterval":"","statusSeparator":"","enableGlobalContextStore":false}]
or with extra template sensor
[{"id":"95fcd35f8982b7d8","type":"ha-time","z":"1f4a4002563530a1","name":"15Min. vor Formula 1 Start","server":"1612d3ca.3c79fc","version":3,"exposeAsEntityConfig":"","entityId":"sensor.ics_4","property":"attributes.start","offset":"-15","offsetType":"num","offsetUnits":"minutes","randomOffset":false,"repeatDaily":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"sunday":true,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"x":110,"y":500,"wires":[["d53663e392910d5f"]]},{"id":"d53663e392910d5f","type":"api-current-state","z":"1f4a4002563530a1","name":"Formel 1","server":"1612d3ca.3c79fc","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.custom_formula_1_startzeit","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":320,"y":500,"wires":[["99680d5520d2718b"]]},{"id":"99680d5520d2718b","type":"api-call-service","z":"1f4a4002563530a1","name":"Text an Alexa","server":"1612d3ca.3c79fc","version":5,"debugenabled":false,"domain":"notify","service":"alexa_media_alexa_echo_dot","areaId":[],"deviceId":[],"entityId":[],"data":"{\"message\":\"{{payload}}\",\"title\":\"Formula 1\",\"data\":{\"method\":\"all\",\"push\":{\"thread-id\":\"Tonnen\"}}}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","output_location":"","output_location_type":"none","x":580,"y":500,"wires":[["fca557b2303bced2"]]},{"id":"1612d3ca.3c79fc","type":"server","name":"My Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false,"cacheJson":false,"heartbeat":false,"heartbeatInterval":"","statusSeparator":"","enableGlobalContextStore":false}]
This was already posted twice in here, but thanks!
Is it just me or isnât the next_race card showing the date / time section anymore. Goes for the weather info too. Havent seen it for a while now, but didnât have time to report it yet. Should I create a github issue for it, or is it just me?
My code is pretty simple:
</s> <s>type: custom:formulaone-card</s> <s>card_type: next_race</s> <s>title: Volgende race</s> <s>date_locale: nl</s> <s>image_clickable: false</s> <s>f1_font: true</s> <s>show_weather: true</s> <s>weather_options:</s> <s> unit: metric</s> <s> api_key: longkey</s> <s>
n/m show_raceinfo was missing. My apologies
Good news, Iâve finished the visual editor, so no more typing yaml necessary with v1.8.7!
Perhaps itâs just that races that happen in Vegas stay in Vegas?
You got it! Haha no there is already a issue reported. But I have to find a replacement for the API and I donât have te time right now so Iâm gonna fix both things together.
So youâll have to deal with the image missing of hide the tracklayout for this race
Ive fixed the las vegas layout, could be necessary to empty cache
Date on Las Vegas seems wrong. It says 18th Nov in schedule, so it doesnât show as coming up.
Yeah the API f**** up again.
Thought so, couldnât figure it out, so be it
After installing the card, it shows the data of 2023 season. How can I change it to the 2024 season? Thanks!