I just finished Installing OpenSprinkler to control my sprinklers. Love the fact that it does not require any Internet access and integrates well with HA. Hardware install is a simple move of wires from old to new and there is a nice integration on HACS that handle the HA details. The entities are a little confusing at first, so thought I would share my dashboard card. With it, I can enable/disable the two watering programs I have created and turn on individual or a series of sprinkler heads for a specified time period from HA. If I enable/disable a watering program in the app, HA will show the updated status. The app is pretty good, so other then duplicating some functionality, I have not come up with cross integration automations that leverage HA yet. If you add a new schedule using the app, you need to reinterview the device to pick up the new entities in HA. Here is a screenshot of the card:
Here is the YAML for the dashboard card. It uses the associated OSprinkler “custom:opensprinkler-card” and “input_number.slider” addons:
type: grid
cards:
- type: grid
cards:
- type: markdown
content: '# OpenSprinkler'
theme: JBtest
- show_name: true
show_icon: true
type: button
tap_action:
action: navigate
navigation_path: house
name: Ret
icon: mdi:home-export-outline
icon_height: 35px
theme: amoled
columns: 2
square: false
- square: false
type: grid
cards:
- square: false
type: grid
cards:
- show_name: true
show_icon: true
icon: mdi:sprinkler-variant
name: Enable Standard Program
type: button
tap_action:
action: toggle
show_state: true
icon_height: 45px
entity: switch.standard_program_enabled
- show_name: true
show_icon: true
icon: mdi:sprinkler-variant
type: button
tap_action:
action: toggle
show_state: true
icon_height: 45px
entity: switch.plant_beds_program_enabled
name: Enable Plant Bed Program
columns: 2
columns: 1
- type: custom:opensprinkler-card
device: 981f1131ac96a8a0884d9bf1e32b1d24
name: Stations
hide_dots: true
popup_line_height: normal
timer_line_height: normal
card_line_height: normal
extra_entities:
- sensor.s01_station_status
- sensor.s02_station_status
- sensor.s03_station_status
- sensor.s04_station_status
- sensor.s05_station_status
- sensor.s06_station_status
- sensor.s07_station_status
- sensor.s08_station_status
- sensor.s09_station_status
input_number:
entity: input_number.slider
columns: 1
square: false