mirror of
https://github.com/randybb/esphome-configs.git
synced 2026-10-14 08:35:12 +02:00
Both boards use UART1 RX P1.01 / TX P1.02 so Home Assistant data can reach the ANT+ node's transmitters; on the default pins the ANT+ node no longer needs the RX pin workaround.
186 lines
5.4 KiB
YAML
186 lines
5.4 KiB
YAML
---
|
|
# Hardware: Nordic nRF52840 DK
|
|
# Pinout:
|
|
# P0.06 UART0 TX -> logger (J-Link VCOM)
|
|
# P0.13 LED 1 (active low) -> ANT+ Connected (a configured device is received)
|
|
# P0.14 LED 2 (active low) -> ANT+ Unknown Device (an unconfigured one is in range)
|
|
# P1.01 UART1 RX <- mcu-nrf-dk UART1 TX (P1.02), packet_transport
|
|
# P1.02 UART1 TX -> mcu-nrf-dk UART1 RX (P1.01), packet_transport; plus GND
|
|
# Radio: ANT+ receiver (RadiANT), no network of its own; values go to mcu-nrf-dk
|
|
# ANT+ devices:
|
|
# 655730 Garmin HRM-Pro heart rate
|
|
# 498521 Concept2 PM5 (rower) fitness equipment (FE-C)
|
|
# 1044953 Garmin Tempe environment (temperature)
|
|
# 604693 Garmin Varia RTL515 bike radar, battery only
|
|
# 136052 Garmin HRM-Dual heart rate (pain cave)
|
|
# 334424 Garmin HRM-Tri heart rate (bike)
|
|
# 886796 Garmin Rally RS200 power + cadence
|
|
# 343922 Garmin Speed Sensor 2 speed
|
|
# 42898 SRAM Force AXS shifting (Cube Litening C:68X), battery only
|
|
esphome:
|
|
name: mcu-nrf-ant
|
|
friendly_name: nRF ANT+
|
|
|
|
# needs the esphomeplatformzephyr fork (esphome-zephyr); RadiANT needs NCS
|
|
zephyr:
|
|
variant: NRF52
|
|
board: nrf52840dk/nrf52840
|
|
framework:
|
|
type: ncs
|
|
|
|
logger:
|
|
hardware_uart: UART0
|
|
|
|
external_components:
|
|
- source: github://randybb/esphome-components
|
|
components: [ant_plus]
|
|
|
|
output:
|
|
- platform: gpio
|
|
id: led_known
|
|
pin: {number: P0.13, inverted: true}
|
|
- platform: gpio
|
|
id: led_unknown
|
|
pin: {number: P0.14, inverted: true}
|
|
|
|
ant_plus:
|
|
network_key: !secret ant_plus_network_key
|
|
connected:
|
|
id: ant_connected
|
|
name: ANT+ Connected
|
|
on_press: {output.turn_on: led_known}
|
|
on_release: {output.turn_off: led_known}
|
|
unknown_device:
|
|
id: ant_unknown_device
|
|
name: ANT+ Unknown Device
|
|
on_press: {output.turn_on: led_unknown}
|
|
on_release: {output.turn_off: led_unknown}
|
|
devices:
|
|
- type: heart_rate # Garmin HRM-Pro
|
|
device_number: 655730
|
|
heart_rate:
|
|
id: hrm_pro_heart_rate
|
|
name: Garmin HRM-Pro Heart Rate
|
|
battery_level:
|
|
id: hrm_pro_battery
|
|
name: Garmin HRM-Pro Battery
|
|
- type: fitness_equipment # Concept2 PM5 (rower)
|
|
device_number: 498521
|
|
power:
|
|
id: pm5_power
|
|
name: Concept2 PM5 Power
|
|
cadence:
|
|
id: pm5_stroke_rate
|
|
name: Concept2 PM5 Stroke Rate
|
|
in_use:
|
|
id: pm5_in_use
|
|
name: Concept2 PM5 In Use
|
|
- type: temperature # Garmin Tempe
|
|
device_number: 1044953
|
|
temperature:
|
|
id: tempe_temperature
|
|
name: Garmin Tempe Temperature
|
|
temperature_min:
|
|
id: tempe_temperature_min
|
|
name: Garmin Tempe Temperature 24h Min
|
|
temperature_max:
|
|
id: tempe_temperature_max
|
|
name: Garmin Tempe Temperature 24h Max
|
|
battery_voltage:
|
|
id: tempe_battery
|
|
name: Garmin Tempe Battery
|
|
battery_low:
|
|
id: tempe_battery_low
|
|
name: Garmin Tempe Battery Low
|
|
- type: bike_radar # Garmin Varia RTL515
|
|
device_number: 604693
|
|
battery_voltage:
|
|
id: varia_battery
|
|
name: Garmin Varia RTL515 Battery
|
|
battery_low:
|
|
id: varia_battery_low
|
|
name: Garmin Varia RTL515 Battery Low
|
|
- type: heart_rate # Garmin HRM-Dual
|
|
device_number: 136052
|
|
heart_rate:
|
|
id: hrm_dual_heart_rate
|
|
name: Garmin HRM-Dual Heart Rate
|
|
battery_level:
|
|
id: hrm_dual_battery
|
|
name: Garmin HRM-Dual Battery
|
|
- type: heart_rate # Garmin HRM-Tri
|
|
device_number: 334424
|
|
heart_rate:
|
|
id: hrm_tri_heart_rate
|
|
name: Garmin HRM-Tri Heart Rate
|
|
battery_level:
|
|
id: hrm_tri_battery
|
|
name: Garmin HRM-Tri Battery
|
|
- type: power # Garmin Rally RS200 (a battery in each pedal)
|
|
device_number: 886796
|
|
power:
|
|
id: rally_power
|
|
name: Garmin Rally RS200 Power
|
|
cadence:
|
|
id: rally_cadence
|
|
name: Garmin Rally RS200 Cadence
|
|
battery_low:
|
|
id: rally_battery_low
|
|
name: Garmin Rally RS200 Battery Low
|
|
- type: speed # Garmin Speed Sensor 2
|
|
device_number: 343922
|
|
speed:
|
|
id: speed2_speed
|
|
name: Garmin Speed Sensor 2 Speed
|
|
battery_voltage:
|
|
id: speed2_battery
|
|
name: Garmin Speed Sensor 2 Battery
|
|
battery_low:
|
|
id: speed2_battery_low
|
|
name: Garmin Speed Sensor 2 Battery Low
|
|
- type: shifting # SRAM Force AXS (Cube Litening C:68X)
|
|
device_number: 42898
|
|
battery_low:
|
|
id: sram_battery_low
|
|
name: SRAM Force AXS Battery Low
|
|
|
|
uart:
|
|
id: link
|
|
port: UART1
|
|
# the DK's default UART1 pins, same on both boards, wires crossed
|
|
tx_pin: P1.02
|
|
rx_pin: P1.01
|
|
baud_rate: 115200
|
|
|
|
packet_transport:
|
|
- platform: uart
|
|
uart_id: link
|
|
update_interval: 1s
|
|
sensors:
|
|
- hrm_pro_heart_rate
|
|
- hrm_pro_battery
|
|
- pm5_power
|
|
- pm5_stroke_rate
|
|
- tempe_temperature
|
|
- tempe_temperature_min
|
|
- tempe_temperature_max
|
|
- tempe_battery
|
|
- varia_battery
|
|
- hrm_dual_heart_rate
|
|
- hrm_dual_battery
|
|
- hrm_tri_heart_rate
|
|
- hrm_tri_battery
|
|
- rally_power
|
|
- rally_cadence
|
|
- speed2_speed
|
|
- speed2_battery
|
|
binary_sensors:
|
|
- ant_connected
|
|
- ant_unknown_device
|
|
- pm5_in_use
|
|
- tempe_battery_low
|
|
- varia_battery_low
|
|
- rally_battery_low
|
|
- speed2_battery_low
|
|
- sram_battery_low
|