]> the.earth.li Git - mqtt-arp.git/blob - README.md
Add a basic install target to the Makefile
[mqtt-arp.git] / README.md
1 ```mqtt-arp``` is an imaginatively named program that uses the Linux kernel netlink interface to watch for details of hosts making ARP requests. It uses these requests to determine if a device is present and report that information via MQTT. I use it on my [OpenWRT](https://openwrt.org/) router to report to a [Home Assistant](https://www.home-assistant.io/) instance.
2
3 Rather than reporting all MAC addresses seen ```mqtt-arp``` takes a list of MACs to watch for. I have this configured for my phone, resulting in a reasonable proxy for whether I am home or not. ```mqtt-arp``` will report as soon as the device is seen, and send rate-limited (at most once every 2 minutes) updates when it is seen again. If the device is not seen for at least 10 minutes the location will be reported as "unknown".
4
5 There is basic configuration file support; by default ```mqtt-arp``` will read ```/etc/mqtt-arp.conf```. The following aspects can be configured at run time:
6
7  * MQTT host (-h / --host / mqtt_host)
8  * MQTT post (-p / --port / mqtt_port)
9  * MQTT username (-u / --username / mqtt_user)
10  * MQTT password (-P / --password / mqtt_pass)
11  * MQTT topic (-t / --topic / mqtt_topic)
12  * Location to report when device is present (-l / --location / location)
13  * Path to SSL certificate bundle (-c / --capath / capath)
14  * MAC addresses to watch for  (-m / --mac / mac)
15
16 This code is released as GPLv3+ and is available at [https://the.earth.li/gitweb/?p=mqtt-arp.git;a=summary](https://the.earth.li/gitweb/?p=mqtt-arp.git;a=summary) or on GitHub for easy whatever at [https://github.com/u1f35c/mqtt-arp](https://github.com/u1f35c/mqtt-arp)