Dashboard & Settings
Every setting, feature, and tool available on the SH-Room controller dashboard.
This guide covers all dashboard settings and features in detail. If you have not set up your controller yet, start with the Getting Started guide first. This guide assumes you have already connected to WiFi, run the Setup Wizard, and have a basic understanding of the dashboard layout.
sh-room.local is reachable only from devices on your home network — there is no cloud account or remote login. All sensor data, profiles, and history live on the controller itself. See Your Data Stays Local in the Getting Started guide for the full breakdown of what does and doesn't leave the device.Settings Panel
Open the Settings panel by tapping the gear icon on the dashboard. All settings are grouped into collapsible sections. Each section has its own Save button — changes are not applied until you save.
Display Settings
Choose how temperatures are shown across the entire dashboard.
- Temperature unit toggle — Switch between Celsius and Fahrenheit. This affects every temperature reading on the dashboard, in charts, and in push notifications.
Click Save to apply. The dashboard will immediately update all displayed temperatures to your chosen unit.
Light Sensitivity
This setting controls how the controller decides whether the environment is "dark".
- Dark threshold (LUX) — Any lux reading below this value is considered dark. The controller uses this to detect whether your lights are off, whether light is leaking into the tub during dark phases, and to trigger light-related fault alerts.
- Default: 10 LUX
Click Save to apply.
Humidifier Timing
These settings control how the humidifier operates during each humidity cycle. The controller uses a burst-settle-check cycle to maintain humidity without overshooting.
- Burst duration — How long the humidifier runs per cycle, in seconds. Default: 8 seconds. A shorter burst gives finer control; a longer burst adds more moisture per cycle.
- Settle time — How long the controller waits after a burst before checking humidity again, in seconds. Default: 30 seconds. This allows the mist to disperse and the sensor to settle to an accurate reading. During the settle period, the fresh air fan resumes normal operation.
The complete cycle works like this:
- Burst — The humidifier turns on for the burst duration.
- Settle — The humidifier turns off. The fan resumes. The controller waits for the settle time.
- Check — The controller reads the humidity sensor. If humidity is still below the target, the cycle repeats from step 1. If humidity is at or above the target, the humidifier stays off until humidity drops again.
Click Save to apply.
Timezone
Select your region from the dropdown to set the correct time on the dashboard clock and in push notification timestamps. The controller does not have a battery-backed clock, so it syncs time over the internet using NTP. The timezone setting tells it how to convert UTC to your local time.
Click Save to apply. The dashboard clock updates immediately.
Smart Sockets
Smart sockets allow the controller to switch external devices on and off over WiFi. You can assign up to three smart sockets for different roles.
Scanning for Devices
Click Scan Network for Smart Plugs to discover compatible smart sockets on your local network. Found devices appear in a dropdown list with their IP addresses.
Assigning Roles
Each smart socket can be assigned to one of three roles:
- Substrate Heater — A heat mat placed under your monotub to maintain substrate temperature.
- Humidifier — A humidifier connected via smart socket to maintain humidity inside the monotub.
- Room Cooler — A portable air conditioner, evaporative cooler, or fan used to lower the ambient room temperature for cold shock or warm environments.
IP Addresses
Each assigned socket shows its IP address. You can also manually enter an IP address if the scan does not find your device.
Enable / Disable Toggles
Each smart socket has an enable/disable toggle. When a socket is disabled:
- The controller will not attempt to communicate with it.
- No fault alerts will be generated if the device is unreachable.
- The associated function (heating, humidifying, or cooling) will not operate via that socket.
Click Save to apply all smart socket changes.
Room Cooler Modes
The Room Cooler supports two control modes depending on your hardware:
Smart Socket Mode (Simple On/Off)
For coolers that start running as soon as they receive power (portable evaporative coolers, simple fans). The controller switches the smart socket on when cooling is needed and off when the target temperature is reached. No additional configuration required.
IR Interface Puck Mode (For AC Units)
Air conditioning units typically need infrared remote control signals rather than simple power switching. The IR Interface Puck sits near your AC unit and sends the same infrared signals as your remote control.
Learning Button Sequences
The controller needs to learn the IR signals from your AC remote for each growth phase. Each phase can have its own AC setting (for example, 18 degrees C for Cold Shock, 24 degrees C for Fruiting).
- Cold Shock — Essential. The IR sequence to set your AC to the cold shock target temperature.
- AC Off — Essential. The IR sequence to turn the AC unit off.
- Other phases — Optional. Hidden behind a "Show advanced" toggle. You can configure separate AC settings for Colonisation, Pinning, Fruiting, and Rest if your AC needs different temperature commands for each.
To learn a sequence, click the Learn button for the phase, then press the buttons on your physical AC remote in the order needed (for example: Power On, Mode Cool, Temperature Down five times). The puck records each IR signal in sequence.
Step Delay
The delay in milliseconds between each IR signal when the puck replays a learned sequence. Increase this if your AC unit misses signals because they are sent too quickly. Default is usually sufficient for most AC units.
Testing
- Send Test — Sends a single learned sequence to verify the AC responds correctly.
- Full Test — Runs through the complete cycle: sends the Cold Shock sequence, waits, then sends AC Off. Verifies the full on/off cycle works.
Force AC Off
The controller cannot know the physical state of your AC unit — it only tracks what commands it has sent. If the AC gets out of sync with the controller, use the Force AC Off button to send the AC Off sequence immediately and resynchronise.
Common situations where the AC can become desynced:
- After a controller reboot — firmware updates, power cuts, or crashes reset the controller's tracking. The AC may still be running from a previous session.
- After a power cut — some AC units return to their last state when power is restored, others default to off. The controller doesn't know which.
- Manual remote use — if someone presses the physical AC remote, the controller doesn't know about it.
- WiFi/IR puck connection failure — if a command failed to reach the IR puck, the controller thinks it sent it but the AC never received it.
Click Save to apply IR configuration changes.
Push Notifications
Configure push notifications using the ntfy service. If you have not set this up yet, see the detailed walkthrough in the Getting Started guide.
- Server URL — The ntfy server to send notifications to. Pre-configured to
https://ntfy.simply-horticulture.com(Simply Horticulture's own server — no rate limits, full privacy). You can change this to any ntfy-compatible server, such as the publichttps://ntfy.shor your own self-hosted instance. Includehttps://but no trailing slash. - Topic name — Enter your unique ntfy topic name. This must match exactly what you subscribed to in the ntfy app on your phone. Use a long, random topic name for privacy (e.g.
my-mushroom-grow-abc123) — anyone who knows the topic name can read your notifications. - Save — Saves the server URL and topic name to the controller.
- Send Test — Sends a test notification to verify everything is working. You should receive it on your phone within seconds.
Temperature Control (PID)
The controller supports two modes for temperature control of the Chamber Heater and Chamber Cooler:
PID Mode
PID (Proportional-Integral-Derivative) control continuously adjusts the heater or cooler output power to smoothly reach and maintain the target temperature. It reduces overshoot and oscillation compared to simple on/off switching.
- P (Proportional) — How aggressively the controller reacts to the current temperature error. Higher values mean stronger corrections but can cause oscillation.
- I (Integral) — How the controller accounts for accumulated past error. This eliminates steady-state offset where the temperature settles slightly above or below the target.
- D (Derivative) — How the controller reacts to the rate of temperature change. This dampens overshoot by slowing down corrections as the temperature approaches the target.
Default values: P = 50, I = 5, D = 10. These defaults work well for most monotub setups. Auto-Tune can calculate optimal values for your specific hardware.
On/Off Mode
Simple threshold-based switching: the heater turns on when the temperature drops below the target and off when it exceeds the target (with a small hysteresis band to prevent rapid cycling).
Auto-Tune Button
Click Auto-Tune to start the automatic PID calibration process. The controller will cycle your heater and cooler through a series of tests and calculate optimal P, I, and D values for your specific setup. See the Auto-Tune section below for full details.
Click Save to apply PID value changes.
Auto-Tune
Auto-Tune calibrates the controller to your specific monotub, hardware, and environment. It runs three phases:
Phase 1 — Temperature (10 to 15 minutes)
The controller cycles the chamber heater and chamber cooler on and off to measure how your tub responds to heating and cooling. It records how quickly the temperature rises and falls, how much overshoot occurs, and how the substrate thermal mass affects response time. If a Room Cooler is configured, it will also engage during this phase to test cooling capacity.
Phase 2 — Humidity (5 to 10 minutes)
The controller runs test bursts from the humidifier to measure how quickly humidity rises and how long it takes to settle. It calibrates the burst duration and settle time for optimal humidity control.
Phase 3 — Lighting (2 to 5 minutes)
The controller ramps the LED output from zero to maximum to calibrate the lux sensor and determine the maximum brightness your LEDs can achieve. If the optional Light Spectrum sensor is connected, this phase also performs blue light calibration — measuring the blue wavelength ratio at various LED intensities to enable automatic blue light adjustment during pinning and fruiting.
When Auto-Tune completes, the controller sends a push notification (if configured) with a summary of results. The tuned PID values, humidity timing, and light calibration are applied automatically.
Last Calibration Results
This section shows the results from the most recent Auto-Tune run:
- Max LUX — The maximum brightness measured from your LEDs at full output.
- Blue ratio — The percentage of blue light in the LED spectrum (only available if the Light Spectrum sensor was connected during calibration).
- Light Spectrum sensor — Whether the optional Light Spectrum sensor was detected and used during calibration. If it was not connected, blue ratio data will not be available.
Growing Guides QR Code
At the bottom of the Settings panel, you will find a scannable QR code that links directly to simply-horticulture.com/guides. Scan it with your phone to quickly access all growing guides from this website. Useful if you are viewing the dashboard on a desktop and want the guides on your phone.
Custom Profiles
In addition to the 24 built-in strain profiles, you can create up to 10 custom profiles with your own parameters.
Creating a Custom Profile
- Open the strain selector on the dashboard and choose an empty custom slot (Custom 1 through Custom 10).
- Enter a custom name for your profile (for example, "My GT Aggressive" or "Lion's Mane Warm").
- Configure all phase parameters:
- Temperature — Target temperature for each growth phase (Colonisation, Cold Shock, Pinning, Fruiting, Harvest, Rest).
- Humidity — Target humidity percentage for each phase.
- CO2 — Target CO2 level (ppm) for each phase.
- LUX — Target light level for each phase.
- Click Save & Apply to save the profile and immediately activate it.
Custom profiles appear in the strain selector dropdown alongside the built-in profiles. You can delete a custom profile at any time to free up the slot.
Manual Override
Manual Override gives you direct control over every output on the controller, bypassing the automation.
Enabling Override
Toggle Manual Override on from the dashboard. All automation pauses and all timers are frozen. You now have direct control over each output.
Individual Controls
- Substrate Heater — On/off toggle for the substrate heat mat (via smart socket).
- Chamber Heater — On/off toggle for the built-in chamber heater.
- Chamber Cooler — On/off toggle for the built-in chamber cooler.
- Humidifier — On/off toggle for the humidifier.
- Room Cooler — On/off toggle for the external room cooler (smart socket or IR puck).
- Force AC Off — Sends the AC Off IR sequence immediately (only available when IR Interface Puck is configured).
- Fresh Air Fan — Slider from 0 to 100% controlling the fan speed.
- LED Red — Slider from 0 to 100% for the red LED channel.
- LED Green — Slider from 0 to 100% for the green LED channel.
- LED Blue — Slider from 0 to 100% for the blue LED channel.
- LED White — Slider from 0 to 100% for the white LED channel.
Each control shows the current automation state (what the controller would be doing if override were off) so you can see what you are overriding.
24-Hour Charts
Tap any sensor card on the dashboard to open its full 24-hour chart. Charts auto-scale to your actual data range so trends and variations are always clearly visible, matching the look of the mini graph on the card.
How often do graphs update?
- Sensor values on cards — update in real time (every few seconds) as new readings come in.
- Mini graphs on cards — show roughly the last 4 hours of data and update every 5 minutes when a new data point is recorded.
- Full 24-hour charts — show 24 hours of data at 5-minute intervals (288 data points total). A new point is added every 5 minutes.
Chart features
- Data range — 24 hours of data at 5-minute intervals (288 data points).
- Auto-scaling — the chart zooms to your actual data range, so even small variations are clearly visible. This matches the mini graph behaviour on the card preview.
- Green target band — a shaded band shows the active strain profile's target range when the current phase has a defined target. Dashed green lines mark the minimum and maximum with labels.
- Time labels — displayed along the bottom axis ("24h ago" and "Now").
- Crosshair — tap or hover on any point to see a crosshair showing the exact value and time.
Charts available
| Card | What the chart shows | Target reference |
|---|---|---|
| Temperature | Chamber air temperature (°C or °F) | Phase temperature min/max with green band |
| Humidity | Relative humidity (%RH) | Phase humidity min/max with green band |
| CO2 | CO2 concentration (ppm) | 400 ppm (ambient) to phase CO2 max |
| Light | Light level (lux) | See "Light chart special behaviour" below |
| Substrate | Substrate probe temperature (°C or °F) | Phase temperature min/max (with +2°C buffer during colonisation to account for metabolic heat) |
| Fan | Fresh air fan duty cycle (%) | No target band (adjusts dynamically) |
| Blue Ratio | Blue light percentage (%) | 25–35% optimal range (requires Light Spectrum sensor) |
Light chart special behaviour
The light chart shows different reference markers depending on the current growth phase:
- Pinning & Fruiting phases — green target band shows your strain profile's configured lux target ±20%. The controller aims to keep lux within this band.
- Dark phases (Colonisation, Cold Shock, Harvest, Rest) — the chart shows an amber dashed line marking your configured dark threshold (default 10 lux). Anything above this line indicates light is reaching the sensor, which may mean a light leak.
- Light leak warning — if lux readings exceed the dark threshold during a dark phase, a red "⚠ light leak" label appears on the chart to alert you.
Card colour coding for at-a-glance status is described in the Status Legend section below.
Mini Graphs on Cards
Each sensor card on the main dashboard shows a small trend graph — a miniature line chart giving you an immediate sense of whether a value is rising, falling, or stable without opening the full 24-hour chart. A new point is added every 5 minutes, so the graph reflects the recent hours of data.
Status Legend
Sensor cards use colour coding to indicate their current status:
| Colour | Status | Meaning |
|---|---|---|
| No colour (default) | Normal | The sensor reading is within the target range for the active phase. Everything is operating as expected. |
| Yellow | Attention | The reading is below the target range, or a non-critical warning condition exists. The controller is actively working to correct it. |
| Blue | Cooling | The reading is above the target range and the cooler is actively engaged to bring it down. |
| Red | Fault | A hardware failure has been detected — a sensor is disconnected, a smart socket is unreachable, or a critical threshold has been exceeded. |
New Grow
The New Grow link is located in the dashboard footer. Clicking it shows a confirmation dialog, and once confirmed, performs the following actions:
- Resets the growth phase to Colonisation.
- Resets the flush count to zero.
- Resets the phase timer so the new grow starts from time zero.
- Turns all outputs off — substrate heater, chamber heater, chamber cooler, room cooler, humidifier, fan returns to minimum, and LEDs off.
- Disables manual override if it was enabled.
- Re-opens the Setup Wizard so you can choose a strain and starting phase for the new grow.
The following settings are preserved across a New Grow reset:
- WiFi credentials
- Smart socket configuration (heat mat, humidifier, room cooler IPs and modes)
- IR codes for the room cooler (if using IR puck mode)
- PID tuning values (heat and cool)
- Push notification settings (ntfy server URL and topic)
- Custom strain profiles you have saved
- Timezone setting
- Light calibration data (lux per PWM, max lux, blue ratio)
- Mister burst and settle timings
Reset WiFi
The Reset WiFi button in the dashboard footer reboots the controller into captive portal mode, where you can connect to a new WiFi network.
- The controller creates the
MushRoom-XXXXhotspot just like first-time setup. - Your old WiFi credentials are kept as a fallback — if you do not configure a new network within the timeout period, the controller will attempt to reconnect to the previous network.
OTA Firmware Updates
The controller supports over-the-air (OTA) firmware updates, so you never need to connect a USB cable after the initial flash.
- Tap the OTA Update link in the dashboard footer. This opens the upload page at
/update. - Download the latest
.binfirmware file from Simply Horticulture. - On the upload page, select the
.binfile and click Upload. - The controller will flash the new firmware and reboot automatically. This typically takes 30 to 60 seconds.
Next Steps
Now that you know every setting and feature on the dashboard, explore the other guides:
- Getting Started — Initial setup, WiFi, Setup Wizard, and first-time configuration.
- Strain Guide — All 24 built-in strain profiles with detailed parameters.
- Troubleshooting — Solutions for common problems and fault diagnosis.