Rixen ControlBoard Web Portal API
1. System Architecture
Welcome developer! This document describes how to create your own controller for the Rixen's MCS7 PowerBox. Heat your space using our fully local, unauthenticated REST API which allows smart home hubs (like Home Assistant, Hubitat, or Node-RED) to read system states and send commands without relying on the cloud.
- Base URL:
http://<YOUR_DEVICE_IP>/ - Communication Method: All commands send using HTML GET method appending data to the URL.
Flow/Map of System:
- Read only: MCS7 logic performs action → updates status.xml → UI requests status → UI updates its elements.
- Commands: User triggers an action → UI sends API request → MCS7 decides if safe → MCS7 performs action.
System state is controller-owned. You send commands, the system accepts them then adjusts values. It won't return values directly, rather the system returns its state like a heartbeat broadcasting status.xml.
2. Reading System Status (status.xml)
Returns full system status in XML format. This acts as a single status snapshot: no partial reads. It contains variables some of which we set, some are calculated/state-driven like "heaterstate".
2.1 Endpoint & Polling Limits
GET /status.xml
- Recommended Polling Rate: 1 request every 10 to 30 seconds.
- Absolute Maximum: 1 request per second.
2.2 Example XML Output
You can test this by typing http://<YOUR_DEVICE_IP>/status.xml in your browser bar while connected to the device.
<response>
<version>HW2-1.205 2025_11_21 RIXENS</version>
<heatversion>1.00 2023-05-30</heatversion>
<lfs>0</lfs>
<mode>1</mode>
<uptime>393</uptime>
<currenttemp>211</currenttemp>
<currenthumidity>366</currenthumidity>
<heater1>
<heaton>0</heaton>
<battv>125</battv>
<flametemp>2675</flametemp>
<inlettemp>2450</inlettemp>
<outlettemp>2500</outlettemp>
</heater1>
<heater1-faults>
<fault>
<name>AF</name>
<value>0</value>
</fault>
</heater1-faults>
<settings>
<floorenable>1</floorenable>
<engineenable>1</engineenable>
<electricenable>1</electricenable>
<setpoint>189</setpoint>
<fanspeed>10</fanspeed>
</settings>
</response>
3. Sending Commands (interface.cgi)
All live controls are issued via command-based CGI endpoints. The interface.cgi controls the interface, fans, heaters, and accessories. Commands are broken down into actions based on target.
GET /interface.cgi?act=<ACTION_ID>&val=<VALUE>
3.1 Command Reference Table
| Action | act= |
val= Description |
|---|---|---|
| Target Temp | 1 |
See Math Below |
| Fan Speed | 2 |
0 to 100 (percentage). 999 = Auto |
| Engine Add Heat | 3 |
1 = On, 0 = Off |
| Electric Heat | 4 |
1 = On, 0 = Off |
| Furnace | 5 |
1 = On, 0 = Off |
| Hot Water | 6 |
1 = On, 0 = Off |
| Engine Pre-heat | 7 |
1 = On, 0 = Off |
| Fan State | 8 |
1 = On, 0 = Off |
| Heated Floors | 10 |
1 = On, 0 = Off |
| Aux | 11 |
1 = On, 0 = Off |
| Refresh Wi-Fi | 15 |
Refresh list of local Wi-Fi |
3.2 🌡️ Temperature Math (act=1)
The Rixen system calculates temperature internally as scaled units. When building your UI slider, you must convert your desired temperature using the following formulas before sending the val:
- Fahrenheit:
val = (F - 32) * 5 - Celsius:
val = C * 10
/interface.cgi?act=1&val=239 sets target temp to 75F.
3.3 💨 Fan Controls (act=2 & act=8)
When sending a fan speed command, you must restrict your UI input to a strict 0 to 100 range. Do not send values between 101 and 998. To trigger Auto Mode, send exactly val=999.
Our controller sets Fan State to 0 to turn fans off. This cuts the 12V power to fans completely where as Fan Speed only changes the PWM speed.
We recommend starting your fans at at least 10%. While it depends on hardware, too slow a speed may not have the momentum to begin spinning a stopped fan.
4. Secondary Commands
4.1 buttons.cgi
Here are some miscellaneous functions:
- Reset Fault Codes:
act=7&id=1 - Fuel Pump Prime:
act=13&id=1 - 30-Min Hot Water Timer:
act=20&val=1(1 = Enable, 0 = Disable) - Hardware Setup:
act=15(Controls which buttons get displayed on the local UI).0= off,1= on...el= electric,au= aux, etc.
4.2 preset.cgi
Preset functionality is still in development, and intended to be a one-button press for your favorite settings. Use the following URL to set temp, fan speed, constant (hot water), electric element, furnace, engine add heat.
http://10.10.10.10/preset.cgi?act=1&temp=228&spd=20&cnst=1&ele=1&fur=1&eng=0
4.3 infra.cgi (Wi-Fi Configuration)
Used to connect the system to an existing home or vehicle network (Infrastructure Mode). Ensure your ssid and passwd are URL-encoded if they contain special characters.
http://10.10.10.10/infra.cgi?sectype=4194308&passwd=PASSWORD&ssid=SSID&ipOp=1&stIP=192.169.7.200&Mask=255.255.255.0&Gate=192.168.7.1&DNS=192.168.7.1
(Note: changing Wi-Fi access point settings uses buttons.cgi with sectype instead of act ).
5. Testing Examples
Pop these in your URL bar while connected to your PowerBox:
- Turn fan up to 20%:
http://10.10.10.10/interface.cgi?act=2&val=20 - Turn fan down to 40%:
http://10.10.10.10/interface.cgi?act=2&val=40
(Note: we do not pass an up or down direction just the value itself) - Turn on furnace:
http://10.10.10.10/interface.cgi?act=5&val=1 - Turn off furnace:
http://10.10.10.10/interface.cgi?act=5&val=0 - Engine add heat toggle on:
http://10.10.10.10/interface.cgi?act=3&val=1 - Electric on:
http://10.10.10.10/interface.cgi?act=4&val=1 - Temp down to 85F:
http://10.10.10.10/interface.cgi?act=1&val=294
(Note: we do not pass an up or down direction just the value itself) - Temp up to 80F:
http://10.10.10.10/interface.cgi?act=1&val=267 - Heated floors on:
http://10.10.10.10/interface.cgi?act=10&val=1 - Engine pre heat on:
http://10.10.10.10/interface.cgi?act=7&val=1 - Aux on:
http://10.10.10.10/interface.cgi?act=11&val=1 - Hot water on:
http://10.10.10.10/interface.cgi?act=6&val=1
fn+F12 opens this in most browsers. If you're getting errors trying to pass these commands using Google Chrome, throw --disable-web-security --disable-gpu into your shortcut target. (Note: Only do this for temporary local testing, as it disables browser safety features.)
For further assistance, please reach out to our team:
- 📞 Give us a call at (503) 668-6090
- ✉️ Email us at contact@rixens.com