Skip to content

Petkit Purobot Crystal ​

The Petkit Purobot Crystal is a self-cleaning litter box for crystal litter with a built-in camera, a deodorizing spray unit, and health monitoring features. Localkit exposes its full feature set as Home Assistant entities via MQTT.

No speaker

The device has no speaker — voice and volume settings exist in the firmware but are not exposed.

Installation ​

Localkit is installed through the Provisioning entry in the Web UI navigation. Once provisioning has succeeded, you are asked for a script — run the install script from the device shell over telnet (see How to connect):

shell
wget -qO- http://tool.localkit.io/scripts/t7/2.0.0/install | sh

To remove Localkit again:

shell
wget -qO- http://tool.localkit.io/scripts/t7/1.0.0/uninstall | sh

The script downloads all necessary files, places them in the correct directory, and patches the app-run script. Reboot the device afterwards to activate the changes.

Supported Features ​

  • ✅ Automatic and manual cleaning cycles
  • ✅ Deodorizing spray (auto, deep, manual)
  • ✅ Lightning (UV) cleaning
  • ✅ Litter leveling
  • ✅ N60 deodorant crystal and cardboard tray consumable tracking
  • ✅ Kitten protection mode
  • ✅ Delayed cleaning and cleaning interval configuration
  • ✅ Camera control (enable/disable)
  • ✅ Snapshots and pet visit detection
  • ✅ Health monitoring (urine pH detection, occult blood detection, loose stool recognition)
  • ✅ Toilet video recording
  • ✅ Bluetooth Proxy

Actions (Buttons) ​

These appear as Button entities in Home Assistant.

NameTechnical NameDescription
Start Cleaningaction_cleaning_startStarts a cleaning cycle (only available when the device is idle)
Deodorizeaction_deodorizeTriggers the deodorizing spray
Levelaction_levelLevels the litter
Start Lightningaction_start_lightningStarts the lightning (UV) unit
Stop Lightningaction_stop_lightningStops the lightning (UV) unit
Reset N60action_reset_n60Resets the N60 deodorant crystal counter after replacement
Reset Cardboardaction_reset_cardboardResets the cardboard tray counter after replacement

Sensors (Read-only) ​

These appear as Sensor entities in Home Assistant under the diagnostic category.

NameTechnical NameUnitDescription
Device Statusdevice_status—Current working state: IDLE, CLEANING
Errorerror—Active error (e.g. door_closed) or Ok
IP Addressip_address—The device's local IP address
Last Used Bylast_used_by—Pet detected at the litter box, if known
Hertzhertz—Camera frequency setting
Scheduled Cleaningfixed_time_clear—Scheduled cleaning state
Next N60 Change in Daysn60_durability_in_daysdDays remaining until the N60 crystal should be replaced
Next Cardboard Change in Dayscardboard_durability_in_daysdDays remaining until the cardboard tray should be replaced

Binary Sensors (Read-only) ​

These appear as Binary Sensor entities in Home Assistant under the diagnostic category.

NameTechnical NameDevice ClassDescription
Lightlightninglighttrue while the lightning (UV) unit is running
Share Openshare_open—Firmware share flag
Multi Configmulti_config—Firmware multi-config flag
Auto Upgradeauto_upgrade—Firmware auto-upgrade flag

Snapshot ​

The most recent snapshot appears as an Image entity in Home Assistant.

NameTechnical NameDescription
Snapshotlast_snapshotThe latest image captured from the camera

Switches ​

These appear as Switch entities in Home Assistant under the config category.

NameTechnical NameDefaultDescription
Auto Cleaningauto_workOnEnables automatic cleaning after each toilet visit
Avoid Repeated Cleaningavoid_repeatOnSkips cleaning if the litter was barely disturbed
Kitten ProtectionkittenOffPrevents cleaning while a kitten is inside
Tumblingtumbling—Tumbling action during cleaning
Camera SwitchcameraOnEnables or disables the camera module
MicrophonemicrophoneOnEnables or disables the built-in microphone
Night VisionnightOffSwitches the camera to infrared night vision mode
Timestamp Displaytime_displayOffOverlays the current time on the camera image
Camera Lightcamera_light—Camera indicator light
Microphone Indicator Lightmicrolight—Microphone indicator light
Indicator Lightwifi_light_assist—Status indicator light
Light Assist for Cleaninglight_assist—Illuminates the box during cleaning
Light Assist for Toiletingtoilet_light_assist—Illuminates the box during toilet visits
Child Lockmanual_lockOffLocks the physical buttons on the device
Auto Deodorizingauto_sprayOnSprays automatically after toilet visits
Deep Deodorizingdeep_spray—More thorough deodorizing cycle
Urine pH Detectionurine—Detects the urine pH of the litter
Occult Blood Detectionoccult—Detects occult blood in the litter
Loose Stool Recognitionsoft_mode—Recognizes loose stool consistency
Soft Mode Cleansoft_mode_clean—Adjusts the cleaning behavior for soft stool
Toilet Video Recordingtoilet_detection—Records video of toilet visits
Move Detectionmove_detectionOnEnables motion detection
Pet Appearance Detectionpet_detectionOnEnables pet detection at the litter box

Number Controls ​

These appear as Number entities in Home Assistant under the config category.

NameTechnical NameRangeStepDefaultDescription
Litter Replacement Cyclesand_tray_standard_day0–90145Days after which the crystal litter should be replaced
N60 Durabilityn60_durability0–901—Expected lifespan of the N60 crystal in days
Cardboard Durabilitycardboard_durability0–901—Expected lifespan of the cardboard tray in days
Move Sensitivitymove_sensitivity0–91—Sensitivity of the motion detection
Pet Appearance Sensitivitypet_sensitivity0–91—Sensitivity of the pet detection
Detection Intervaldetect_interval0–3001—Minimum seconds between detections

Select Controls ​

These appear as Select entities in Home Assistant under the config category.

NameTechnical NameOptions (seconds)DefaultDescription
Time Interval Of Each Cleaningauto_interval_min0, 30, 60, 300, 600, 900, 1800, 3600—How often a cleaning cycle runs
Delayed Cleaningstill_time0, 30, 60, 300, 600, 900, 1800, 36001200Wait time after a visit before cleaning starts

How to connect ​

To access the device:

  1. Connect to the device via telnet: telnet <device-ip>
  2. Log in with user root and password while(&P.