Controller Commands


Controller Commands Header

Both controller types (primary and wireless sensor) have a set of standard controller commands that can perform operations such as rebooting the controller, applying firmware updates or even factory resetting the controller for a new onboarding process. With one exception, noted below, the commands are identical whether using a primary/LED or a wireless sensor controller.

💡 Identifying the Active Controller
As detailed in the Web Application Overview, look for these indicators to know which unit you are controlling:

  • Information Block at top of Page Indicate both the device type and your assigned device name
  • Browser Tab: Also includes your assigned device name for the particular controller.
  • Inline Descriptions: Some command descriptions themselves also include your device name.


Restart

Reboots the controller. When rebooting a primary controller, any other wireless sensor controllers remain operational but will not register a trigger until the primary completes the reboot and communication is reestablished. Rebooting a wireless sensor controller has no impact on a primary or any other wireless controllers.

Firmware Upgrade

This opens up a page for applying firmware updates from a compiled .bin files, normally from the repository’s Releases page. You cannot upgrade using the source (.ino) files, but only with a compiled .bin file.

⚠️ Warning
Installing the wrong firmware file on the wrong controller will break your system. See Installing Updates before proceeding.

Installing firwmare updates are covered in a separate upcoming topic or you can use the link in the box above to jump directly there now.

Arduino OTA

This can be used to place the system in a special programming mode, where a modified source code version of the firmware is compiled and installed wirelessly to the controller. Each controller broadcasts a special message that is used as a “port” in the Arduino IDE.

arduino_ports

The port will show the device name followed by _OTA and the IP address of the controller. Make sure when using this method that you are flashing the correct code to the correct controller type. If you flash wireless sensor firmware to the primary controller or vice versa, the system will break and will no longer function.

🌐 Port Not Found
The Arduino OTA process requires that your network support and allow mDNS broadcasts. This in an Arduino requirement and not a firmware issue. If your cannot or prefer not to allow mDNS broadcasts, then any Arduino updates cannot be done wirelessly and you will need to use a USB cable connection for uploads.

Once your new code is verified and ready for upload, click the ‘Arduino OTA’ button. When activated, the LEDs will display an alternating Red-Green pattern

ota_mode

  • As soon as the system is put into OTA mode, begin the upload from the Arduino IDE.
  • If no code is received within about 20 seconds, the controller exits OTA mode and returns to normal operation.
  • When in OTA mode, all other functions of the system are paused. This includes:
    • No sensor triggers will be recognized.
    • No outbound MQTT updates are published (if enabled)
    • No external commands are recognized or processed

If the Arduino upload is successful, the controller will automatically reboot and begin executing your modified firmware.

Note that the Arduino OTA update is generally used when making your own modifications to the firmware. If you are just looking to install an update or upgrade from the repository, it is recommended that you use the provided Firmware Upgrade feature described above. See the topic Modifiying the Firmware for more information on making your own changes to the firmware.

Config Dump

You can use the config dump feature to get a JSON output of the contents of your saved configuration file.

config_dump
Example wirless sensor config. Fields will differ for a primary controller

This can be handy for troubleshooting and you may also be asked for the contents of this file is you open an issue related to the firmware in the Github repository. You can simply copy/paste the prettified JSON output from the web page to the Github issue (or Discussions).

👁️ Home Assistant Discovery Config - Primary Only
If you have enabled Home Assistant Discovery, the the config dump from the primary controller will also include a second configuration file for the Discovery process. If Discovery is not enabled, this just includes a message to that effect.

System Info - Primary Controller Only

This is the only controller command that is unique to the primary controller and is not available on wireless sensor controllers.

The system info is more or less an expanded version of the config dump, presented a plain text.

system_info

This contains much of the same information as the Config Dump, but in addition to saved default values, it also shows the current system’s ACTIVE values. This can also be a handy troubleshooting tool if the system isn’t behaving as expected.

Reset All

This performs a “factory reset” on the controller, wiping out all saved configuration data.

❗ HIGH RISK
This command wipes ALL configuration data from the primary controller, including saved Wi-Fi credentials. Use this only if you intend to return the controller to its original installation state. You will have to repeat the Onboarding and System Setup processes.

External Control

Some of these commands can also be send via MQTT or via the HTTP API. See Using MQTT and the API for a list of applicable commands.

Next Steps

This completes the normal setup and operation of the system. The remaining sections of the guide cover optional features like MQTT or Home Assistant integration, upgrading or modifying the firmware, advanced techinical information and a troubleshooting section.

<- Previous: Options & Settings Next: MQTT & API ->

Copyright © 2026 Resinchem Tech. Firmware documentation for personal use. Commercial use, republishing or embedding prohibited.

This site uses Just the Docs, a documentation theme for Jekyll.