Pro's
- No internet required, can run entirely on a Rasberry Pi
- Integrates with most everything thanks to the huge component library (https://home-assistant.io/components/)
- Easy to write your own Python component to integrate with new stuff
- Can use existing SmartThings/etc hubs or Z-wave usb stick to talk to most anything
- Fairly easy to write automations
- Well written Python 3 code-base that's fairly easy to read and see what's going on yourself
Con's
- Definitely more for the DIY tinkerer
- Need to write YAML for the automations, though a new GUI makes this easier for many cases
Setting up an SMS to me when a motion sensor tripped was pretty easy, my automation was:
- alias: Alerting on bedroom motion
initial_state: False
trigger:
platform: numeric_state
entity_id: sensor.bedroom_burglar
above: 0
action:
- service: notify.aws_sns
data:
message: "Bedroom alarm sensor has been tripped!"
target: HassAlert
I've had it running for over a year now, and it's been quite nice.