Skip to content

Instantly share code, notes, and snippets.

@Udinic
Last active November 12, 2025 22:09
Show Gist options
  • Select an option

  • Save Udinic/5686171f45b45baca0a10299ac2c6852 to your computer and use it in GitHub Desktop.

Select an option

Save Udinic/5686171f45b45baca0a10299ac2c6852 to your computer and use it in GitHub Desktop.
alias: CardFlix Automation
description: ""
triggers:
- event_type: tag_scanned
trigger: event
conditions: []
actions:
- variables:
SCANNER_MAPPING:
abaa7633291b99e6ae1158896788f4d0: media_player.living_room_apple_tv
c992778cef8f32ec80676f9ee71f4aa4: media_player.bedroom_apple_tv
TARGET_TV: >-
{{ SCANNER_MAPPING.get(trigger.event.data.device_id,
'media_player.living_room_apple_tv') }}
CARD_MAPPING:
43-6C-BD-29:
name: Bluey
disney_id: 68605828-6af9-446d-bfc2-108bdfc461fe
04-51-A5-39-24-02-89:
name: Stitch
disney_id: e291d4ea-cd86-4eb2-9f39-20d2b75165ee
04-E1-1E-21-24-02-89:
name: Home Alone
disney_id: 45e4a68f-d9df-45f7-8e81-01b4ca5524e9
04-A1-2D-45-24-02-89:
name: Toy Story
disney_id: f6174ebf-cb92-453c-a52b-62bb3576e402
04-71-3A-19-24-02-89:
name: Elemental
disney_id: 8b489955-d30c-45b6-90ee-ae70f92bd431
04-BB-8A-12-CD-7A-80:
name: Octonauts
netflix_id: 80023363
- if:
- alias: NFC tag is in the mapping
condition: template
value_template: "{{ trigger.event.data.tag_id in CARD_MAPPING }}"
then:
- choose:
- conditions:
- condition: template
value_template: "{{ states[TARGET_TV].state == 'standby' }}"
sequence:
- target:
entity_id: "{{ TARGET_TV }}"
action: media_player.turn_on
data: {}
- delay:
seconds: 5
- choose:
- conditions:
- condition: template
value_template: "{{ 'disney_id' in CARD_MAPPING[trigger.event.data.tag_id] }}"
sequence:
- data:
entity_id: "{{ TARGET_TV }}"
media:
media_content_id: >-
https://www.disneyplus.com/en-gb/play/{{
CARD_MAPPING[trigger.event.data.tag_id].disney_id }}
media_content_type: url
metadata: {}
action: media_player.play_media
- conditions:
- condition: template
value_template: >-
{{ 'plex_playlist_id' in
CARD_MAPPING[trigger.event.data.tag_id] }}
sequence:
- data:
media:
media_content_id: >-
plex://play/?metadataKey=%2Fplaylists%2F{{
CARD_MAPPING[trigger.event.data.tag_id].plex_playlist_id
}}&server=b959f941708cb191d40901164c8527ee0ce43f8c
media_content_type: url
metadata: {}
action: media_player.play_media
target:
entity_id: "{{ TARGET_TV }}"
- conditions:
- condition: template
value_template: "{{ 'plex_id' in CARD_MAPPING[trigger.event.data.tag_id] }}"
sequence:
- data:
entity_id: "{{ TARGET_TV }}"
media:
media_content_id: >-
plex://play/?metadataKey=%2Flibrary%2Fmetadata%2F{{
CARD_MAPPING[trigger.event.data.tag_id].plex_id
}}&server=b959f941708cb191d40901164c8527ee0ce43f8c
media_content_type: url
metadata: {}
action: media_player.play_media
- conditions:
- condition: template
value_template: "{{ 'netflix_id' in CARD_MAPPING[trigger.event.data.tag_id] }}"
sequence:
- data:
entity_id: "{{ TARGET_TV }}"
media:
media_content_id: >-
https://www.netflix.com/watch/{{
CARD_MAPPING[trigger.event.data.tag_id].netflix_id }}
media_content_type: url
metadata: {}
action: media_player.play_media
- conditions:
- condition: template
value_template: "{{ 'hulu_id' in CARD_MAPPING[trigger.event.data.tag_id] }}"
sequence:
- data:
entity_id: "{{ TARGET_TV }}"
media:
media_content_id: >-
hulu://watch/{{
CARD_MAPPING[trigger.event.data.tag_id].hulu_id }}
media_content_type: url
metadata: {}
action: media_player.play_media
else:
- action: logbook.log
metadata: {}
data:
name: TV Tag Scanner
message: "Scanned an unknown card with UID: [{{ trigger.event.data.tag_id }}]"
entity_id: automation.nfc_tag_disney
mode: single
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment