Troubleshooting

This section will grow over time. I will add things here representing items that more commonly trip people up.

Backup and Restore

I have created a filesystem UI to use should you desire to back up or restore your configuration. You may find this by navigating to http://{hostname}.local/edit (or via the IP address.)

Filesystem Editor

Note

The username is admin, and the password is p@ssword.

Here you can:

  • List Files on the controller filesystem, or;

  • Upload File to the filesystem

If you upload a file of the same name, the tool will overwrite the original without confirmation.

The two configuration files are:

  • appconfig.json - Contains configuration for the controller and the UI

  • flowconfig.json - Contains information about your taps and tapped kegs

If you upload a configuration file, you must immediately reset the controller via the reset button (or a power cycle.) If you wait or use the controller reset functionality in the UI, the system will overwrite your uploaded configuration with the original.

If the JSON is incomplete, the system will revert to default settings. If there are extra fields, the system will delete them. If the JSON is invalid, the application will write a new default configuration in its place. Be sure you check your JSON format before you upload.

Cannot open Keg Cop by Name

  • Windows requires Bonjour Print Services for Windows to be installed to find local devices by name. Technically, newer OS versions and patch levels have mDNS support; however, that is only for 64-bit applications. Most web browsers are 32-bit.

  • If you are on Windows 10 and still have issues, see the article: Disable Windows mDNS

  • On Windows, to check if mDNS is working properly (independent of connecting to the controller), you can use Bonjour Browser

Controller Settings
  • Android phones have had a questionable history of support for mDNS - likely because the technology was adopted early on by Apple and is heavily ingrained in the Apple ecosystem. Reportedly, under ChromeOS 80, the Chrome Browser does resolve mDNS names (.local). Under Android 10, it does not. There is an issue on the Issue Tracker, which is an interesting mix of phanbois giving reasons why it should not be supported, and real users who want it.

  • From an Android smartphone, you can use something like Service Browser to browse mDNS services on your local network.

MQTT Troubleshooting

Keg Cop has two publish-only MQTT configurations:

  • Raspberry Pints: A pulse publication only to the legacy Raspberry Pints system

  • Home Assistance: A more generic MQTT publication tested against Home Assistant

It may be helpful to do troubleshooting when problems arise with these systems. Setting up an MQTT broker is a valuable step. To set up a broker on a Raspberry Pi (or other Debian-based systems), use the following steps:

  1. Install Mosqitto MQTT broker and pub/sub client: sudo apt install mosquitto mosquitto-clients

  2. Check status: sudo systemctl status mosquitto (it should show “running”)

  3. Add local listener configurations

    1. Edit the configuration file: sudo nano /etc/mosquitto/mosquitto.conf

    2. Add two lines to the end of the file:

      1. listener 1883

      2. allow_anonymous true

    3. Restart MQTT: sudo systemctl restart mosquitto

    4. Validate your change to make sure it is running sudo systemctl status mosquitto

  4. Test the installation:

    1. Subscribe to all: mosquitto_sub -h localhost -t "#" &

    2. Send a test: mosquitto_pub -h localhost -t "mqtt/test" -m "Hello world"

  • Optionally, install mosquitto-clients on another system and send a test pub: mosquitto_pub -h {hostname.local} -t "mqtt/test" -m "Hello world"

You may now set up either publication service and receive and review reports on your testing MQTT broker.