]> the.earth.li Git - mqtt-arp.git/blob - README.md
Updated README
[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 location can be overridden, see below. 
6 The following aspects can be configured at run time:
7
8  * MQTT host (-h / --host / mqtt_host)
9  * MQTT post (-p / --port / mqtt_port)
10  * MQTT username (-u / --username / mqtt_user)
11  * MQTT password (-P / --password / mqtt_pass)
12  * MQTT topic (-t / --topic / mqtt_topic)
13  * Location to report when device is present (-l / --location / location)
14  * Path to SSL certificate bundle (-c / --capath / capath)
15  * MAC addresses to watch for  (-m / --mac / mac)
16  * Read config file at specific location (-f / --configfile / file path)
17
18 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)