Skip to content
Using OpenCV to read Litter Robot III LEDs and bridging that data to MQTT
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


I really wish that the Litter Robot III Open Air Connect had local control; I might be willing to buy it if it did. I hear an API is coming in early 2019, but even then I'm not sure that I can control the litter robot (so what's the point?).



docker run -d --name="litterrobotvision" -v /etc/localtime:/etc/localtime:ro mannkind/litterrobotvision


Configuration happens via environmental variables

IMAGE_URL               - The source URL for images of the Litter Robot, defaults to "http://localhost/?action=stream&dummy=.mjpg"
IMAGE_FPS               - The FPS of the video, defaults to "15"
IMAGE_SEC               - The seconds of the video to use, defaults to "5"
IMAGE_THRESHOLD         - The threshold value to use to segment the image, defaults to "150"
IMAGE_ROI               - The rectangle of interest (where the leds are located), no default
IMAGE_BLUELED           - The location of the blue led in the ROI, no default
IMAGE_YELLOWLED         - The location of the yellow led in the ROI, no default
IMAGE_REDLED            - The location of the red led in the ROI, no default
MQTT_TOPICPREFIX        - [OPTIONAL] The MQTT topic on which to publish the collection lookup results, defaults to "home/litterrobot"
MQTT_DISCOVERY          - [OPTIONAL] The MQTT discovery flag for Home Assistant, defaults to false
MQTT_DISCOVERYPREFIX    - [OPTIONAL] The MQTT discovery prefix for Home Assistant, defaults to "homeassistant"
MQTT_DISCOVERYNAME      - [OPTIONAL] The MQTT discovery name for Home Assistant, defaults to "litterrobot"
MQTT_BROKER             - [OPTIONAL] The MQTT broker, defaults to "tcp://"
MQTT_USERNAME           - [OPTIONAL] The MQTT username, default to ""
MQTT_PASSWORD           - [OPTIONAL] The MQTT password, default to ""

To determine the rectangle of interest and location of the blue, yellow, & red LEDs run the following script:

IMAGE_URL="http://localhost/?action=stream&dummy=.mjpg" python src/

You can’t perform that action at this time.