OpenShrooly uses ESPHome firmware, making it seamlessly compatible with Home Assistant. This integration allows you to monitor and control your mushroom cultivation directly from your smart home dashboard.

Automatic Discovery

If you have the ESPHome add-on installed in Home Assistant, your OpenShrooly device should be automatically discovered:

  1. Ensure your OpenShrooly device is connected to the same network as Home Assistant
  2. Open Home Assistant
  3. Navigate to SettingsDevices & Services
  4. Look for a notification about a new device discovery
  5. Click Configure to add the device

The device will appear as “OpenShrooly” or similar, with all sensors and controls automatically configured.

Manual Integration

If automatic discovery doesn’t work:

  1. Go to SettingsDevices & Services
  2. Click Add Integration
  3. Search for ESPHome
  4. Enter your device’s IP address
  5. The device will be added with all available entities

Available Entities

Once integrated, OpenShrooly exposes several entities to Home Assistant:

Sensors

  • Temperature: Current chamber temperature
  • Humidity: Current humidity level
  • CO₂ Level: Carbon dioxide concentration (if available)
  • Water Level: Reservoir status
  • WiFi Signal: Connection strength
  • Uptime: Device runtime

Controls

  • Air Exchange Fan: Control and schedule fan cycles
  • Humidifier: Manage humidity settings
  • LED Lights: Control lighting schedule and intensity
  • Target Humidity: Adjust humidity setpoint
  • Target Temperature: If heating/cooling available

Switches

  • Manual Mode: Override automatic controls
  • Debug Mode: Enable detailed logging
  • OTA Updates: Enable/disable over-the-air updates

Creating Automations

Home Assistant’s automation engine allows sophisticated control:

Example: Temperature-Based Humidity Adjustment

automation:
  - alias: "Adjust humidity based on temperature"
    trigger:
      - platform: numeric_state
        entity_id: sensor.openshrooly_temperature
        above: 24
    action:
      - service: number.set_value
        target:
          entity_id: number.openshrooly_target_humidity
        data:
          value: 90

Example: Daily Cultivation Report

automation:
  - alias: "Daily cultivation report"
    trigger:
      - platform: time
        at: "09:00:00"
    action:
      - service: notify.mobile_app
        data:
          title: "Mushroom Status"
          message: >
            Temperature: {{ states('sensor.openshrooly_temperature') }}°C
            Humidity: {{ states('sensor.openshrooly_humidity') }}%
            Water Level: {{ states('sensor.openshrooly_water_level') }}            

Example: Low Water Alert

automation:
  - alias: "Low water notification"
    trigger:
      - platform: state
        entity_id: sensor.openshrooly_water_level
        to: "low"
    action:
      - service: notify.mobile_app
        data:
          title: "OpenShrooly Alert"
          message: "Water reservoir is low. Please refill."

Dashboard Cards

Create a custom dashboard for monitoring:

Basic Status Card

type: entities
title: Mushroom Chamber
entities:
  - entity: sensor.openshrooly_temperature
    name: Temperature
  - entity: sensor.openshrooly_humidity
    name: Humidity
  - entity: sensor.openshrooly_co2
    name: CO₂ Level
  - entity: sensor.openshrooly_water_level
    name: Water Level

Climate Control Card

type: thermostat
entity: climate.openshrooly
name: Chamber Climate

Historical Graph

type: history-graph
title: Environmental Conditions
entities:
  - sensor.openshrooly_temperature
  - sensor.openshrooly_humidity
hours_to_show: 48
refresh_interval: 60

Advanced Integration

REST API Access

OpenShrooly also exposes a REST API for direct integration:

# Get current status
curl http://openshrooly.local/api/status

# Set humidity target
curl -X POST http://openshrooly.local/api/humidity -d "target=85"

MQTT Support

If configured, OpenShrooly can publish to MQTT:

mqtt:
  broker: your-mqtt-broker
  port: 1883
  username: mqtt-user
  password: mqtt-password

Topics:

  • openshrooly/sensor/temperature
  • openshrooly/sensor/humidity
  • openshrooly/control/fan
  • openshrooly/control/light

Troubleshooting

Device Not Discovered

  • Verify both devices are on the same network
  • Check if mDNS is working on your network
  • Try manual IP integration
  • Restart Home Assistant

Sensors Unavailable

  • Check device connectivity
  • Verify WiFi signal strength
  • Review ESPHome logs
  • Ensure device firmware is up to date

Automation Not Working

  • Check automation conditions and triggers
  • Verify entity IDs are correct
  • Review Home Assistant logs
  • Test automation manually

Energy Monitoring

Track power consumption:

sensor:
  - platform: integration
    source: sensor.openshrooly_power
    name: "Mushroom Chamber Energy"
    unit_prefix: k
    round: 2

Remote Access

Access your mushroom chamber remotely:

  1. Set up Home Assistant Cloud (Nabu Casa)
  2. Or configure your own reverse proxy
  3. Use the Home Assistant mobile app
  4. Monitor and control from anywhere

Best Practices

  1. Regular Monitoring: Set up daily summary notifications
  2. Backup Automations: Create failsafe automations for critical parameters
  3. Data Logging: Use InfluxDB for long-term data storage
  4. Alert Thresholds: Configure alerts for out-of-range conditions
  5. Scheduled Maintenance: Automate reminder notifications

Community Examples

The OpenShrooly community has created various integration examples:

  • Multi-chamber coordination
  • Growth phase automation
  • Harvest reminders
  • Environmental optimization algorithms

Visit the GitHub repository for more examples and contributions.