Een PN532 NFC lezer is gekoppeld aan een Wemos D1 Mini welke met ESPHome is geflashed. Bij het aanbieden van een specifieke NFC tag, wordt er een script in Home Assistant afgetrapt die via het custom component Spotcast een bij de betreffende NFC tag horende Spotify playlist op een specifieke Google Home afspeelt. Het custom component is nodig omdat de aanwezige Spotify functionaliteit in Home Assistant niet in staat is een Google Home in IDLE te gebruiken als afspeeldoel.

ESPHome YAML

esphome:
  name: nfc
  platform: ESP8266
  board: d1_mini

wifi:
  ssid: 'xxx'
  password: 'xxx'
  power_save_mode: none  
  manual_ip:
    # Set this to the IP of the ESP
    static_ip: 192.168.178.213
    # Set this to the IP address of the router. Often ends with .1
    gateway: 192.168.178.1
    # The subnet of the network. 255.255.255.0 works for most home networks.
    subnet: 255.255.255.0      
    
# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

spi:
  clk_pin: D0
  miso_pin: D1
  mosi_pin: D2

pn532:
  cs_pin: D3
  update_interval: 1s

binary_sensor:
### NFC Tags ###
  - platform: pn532
    uid: C9-64-92-5A
    name: "Sleutelhanger tag"
  - platform: pn532
    uid: 1A-79-63-02
    name: "Juf Roos"
  - platform: pn532
    uid: F6-F4-E2-F4
    name: "Bumba"    
  - platform: pn532
    uid: B0-0D-C9-A9
    name: "Nijntje"     
  - platform: pn532
    uid: 96-E3-E0-F4
    name: "Joki"    
  - platform: pn532
    uid: 76-74-6A-F5
    name: "Mini disco"     
  - platform: pn532
    uid: C6-3A-B3-F5
    name: "Stop"
    
sensor:    
### Wifi signaal ###
  - platform: wifi_signal
    name: "WiFi signaal NFC ESP"
    update_interval: 60s    
  - platform: uptime
    name: Uptime Sensor ESP NFC 
    filters:
      - lambda: return x / 3600.0;
    unit_of_measurement: "hours"
    accuracy_decimals: 2    
    
text_sensor:
  - platform: wifi_info
    ip_address:
      name: ESP NFC IP adres
    ssid:
      name: ESP NFC IP SSID
      
switch:
  - platform: restart
    name: "ESP NFC herstarten"