I’m excited to share my first HACS integration: Syslog Receiver!
The main reason why this project was created is that my QNAP NAS HA integration is not able to provide detailed warning messages, only that something is wrong, but it cannot communicate to HA what exactly it is. This project was created for this, when I saw that there was no such solution yet and that any device that can send syslog can be integrated into HA. I hope you will find it useful too.
With this custom integration, you can:
- Listen for syslog messages over UDP, TCP, or encrypted TCP (TLS)
- Filter incoming logs by source IP and severity level
- Fire Home Assistant events (
syslog_receiver_message) for automations - Optionally expose the last‐message sensor for each listener
- Configure everything via the UI—no YAML required
Quick Start via HACS
- In HACS, search for Syslog Receiver, or click on the “Add Repository” button and add repository URL
https://github.com/zollak/homeassistant-syslog-receiver. - Download, then Restart Home Assistant.
Configure Your Listener
Go to Settings → Devices & Services → Add Integration and select Syslog Receiver. You’ll be prompted to set:
- Instance Name (e.g. “Syslog Receiver UDP”)
- Host (e.g.
0.0.0.0or a specific IP from any HA interface where you would listen for the incoming syslog packets) - Port (e.g.
514for syslog packets or you can set custom port) - Protocol: UDP, TCP, or TCP+TLS
- TLS certfile/keyfile (if using encrypted syslog)
- Allowed IPs (comma-separated whitelist)
- Minimum Severity threshold
- Enable Sensor toggle (to create a
sensor.syslog_receiver_<id>)
Use Cases
- Trigger automations on specific log patterns or error levels
- Dashboard view: show the latest syslog entry via the sensor
- Multi-instance: run separate listeners for different protocols
1. Automation example: notify on critical syslog errors
trigger:
platform: event
event_type: syslog_receiver_message
condition:
condition: template
value_template: "{{ trigger.event.data.severity <= 2 }}"
action:
service: notify.mobile_app
data:
title: "[SYSLOG ERROR] {{ trigger.event.data.source_ip }}"
message: "{{ trigger.event.data.message }}"
2. Log all messages from a specific device to file
alias: "Log NAS syslog to file"
trigger:
platform: event
event_type: syslog_receiver_message
condition:
condition: template
value_template: "{{ trigger.event.data.source_ip == '10.10.10.50' }}"
action:
- service: system_log.write
data:
level: info
message: "NAS syslog: {{ trigger.event.data.message }}"
3. Send a persistent notification for login attempts
alias: "Notify on SSH login attempt"
trigger:
platform: event
event_type: syslog_receiver_message
condition:
- condition: template
value_template: >-
"sshd" in trigger.event.data.message and (
"Accepted password" in trigger.event.data.message or
"Accepted publickey" in trigger.event.data.message)
action:
- service: persistent_notification.create
data:
title: "SSH Login Detected"
message: >-
From {{ trigger.event.data.source_ip }}:
{{ trigger.event.data.message }}
4. Create a scene trigger for router firewall rule changes
alias: "Firewall Rule Changed"
trigger:
platform: event
event_type: syslog_receiver_message
condition:
condition: template
value_template: >
"filter rule changed" in trigger.event.data.message
action:
- service: script.turn_on
target:
entity_id: script.notify_admin_change
5. Turn on a light if a physical door sensor logs a state
alias: "Trigger light on syslog motion"
trigger:
platform: event
event_type: syslog_receiver_message
condition:
condition: template
value_template: >
"Motion detected" in trigger.event.data.message
and trigger.event.data.source_ip == "192.168.1.99"
action:
- service: light.turn_on
target:
entity_id: light.garden_spotlight
6. Exclude debug messages from database (via sensor)
If you’re using the optional sensor, you may want to exclude low-severity updates in recorder: config:
recorder:
exclude:
entity_globs:
- sensor.syslog_receiver_*
# or keep it but purge quickly:
purge_keep_days: 3
Learn More & Contribute
Documentation & source: https://github.com/zollak/homeassistant-syslog-receiver
Issues & feature requests: https://github.com/zollak/homeassistant-syslog-receiver/issues
I’d love your feedback, bug reports, or pull requests! Let me know how you’re using it in your setups. ![]()