Tomato


The tomato device tracker integration allows one to tracker devices which are connected to a wireless router that is running Tomato as firmware.

Because of a limitation in Tomato’s API, this integration will only track wireless devices.

It could be that the integration is also working with AdvancedTomato but this was never tested.

Setup

The integration requires an extra configuration variable called http_id. The value can be obtained by logging in to the Tomato admin interface and search for http_id in the page’s source code.

Configuration

To use this device tracker in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
device_tracker:
  - platform: tomato
    host: YOUR_ROUTER_IP_ADDRESS
    username: YOUR_ADMIN_USERNAME
    password:  YOUR_ADMIN_PASSWORD
    http_id: YOUR_HTTP_ID

Configuration Variables

hoststringRequired

The IP address or hostname of your router, e.g., 192.168.1.1 or rt-ac68u.

portinteger(Optional)

The port number of your router, e.g., 443.

Default:

80/443 (automatically detected)

sslboolean(Optional, default: false)

Whether to connect via https.

verify_sslstring | boolean(Optional, default: true)

If SSL verification for HTTPS resources needs to be turned off (for self-signed certs, etc.) this can take on boolean values false or true or you can pass a location on the device where a certificate can be used for verification e.g., /mnt/NAS/router_cert.pem.

usernamestringRequired

The username of an user with administrative privileges, usually admin.

passwordstringRequired

The password for your given admin account.

http_idstringRequired

The value of http_id.

See the device tracker integration page for instructions how to configure the people to be tracked.

SSL Certificate

Gathering the SSL Certificate of your router can be accomplished with this (or a similar) command:

openssl s_client -showcerts -connect 172.10.10.1:443 </dev/null 2>/dev/null | openssl x509 -outform PEM > router_cert.pem