24,000 Contact Us Cloud

Free Public MQTT Data Feed: Real-Time Solar Fleet Simulation Now Available

Arun Arulraj

December 11, 2025 /

We’re excited to announce the launch of a free, public MQTT data feed that simulates a realistic California solar fleet. This continuously running data stream is now available to anyone interested in working with real-world IoT time-series data—no authentication required.

Starting today, developers, researchers, and IoT practitioners can subscribe to a live MQTT feed that publishes realistic solar fleet telemetry data 24/7. This data source simulates a 5-site California solar installation with a total capacity of 97 MWac, complete with all the complexity you’d expect from a real-world renewable energy operation.

MQTT Broker Details

Connection Information:

  • Broker: mqtt.tdengine.com
  • Port: 1883
  • Authentication: None required
  • QoS: 0

Available Topics:

  • sites – Site/plant level data
  • inverters – Inverter level data
  • strings – String level data (16 per inverter)
  • weather – Weather station data
  • grid – Grid meter/substation data

What’s in the Data?

The simulator publishes hierarchical telemetry data that mirrors the structure of an actual solar installation:

1. Site-Level Metrics (Topic: sites)

Each site publishes comprehensive plant-level data including:

  • AC/DC power output (MW)
  • Expected vs. actual power production
  • Performance ratio (0.96-1.00 range)
  • Availability percentage (95.6%-99.2%)
  • Curtailment levels and percentages
  • Daily energy production (MWh)
  • POA irradiance measurements
  • Soiling index
  • Active alarms with detailed AI-generated alarm messages

Sample Payload:

{
  "ts": "2025-12-04T18:30:45.123456+00:00",
  "Site_ID": "SITE_001",
  "Fleet": "california",
  "Location": "34.4208,-118.4696",
  "MWdc": 26.25,
  "MWac": 21.0,
  "POA_Irradiance_Wm2": 847.32,
  "AC_Power_MW": 16.84,
  "Expected_Power_MW": 17.23,
  "Performance_Ratio": 0.977,
  "Availability_%": 98.15,
  "Curtailment_%": 0.0,
  "Energy_Today_MWh": 94.27,
  "Soiling_Index": 0.945,
  "Active_Alarms": 0,
  "Alarm_Messages": []
}

2. Inverter-Level Metrics (Topic: inverters)

Each site contains 4-10 inverters (42 total across the fleet), publishing:

  • Rated and actual AC power output (kW)
  • DC input voltage and AC output parameters
  • Module temperature
  • Inverter efficiency (96-99%)
  • Operational status (Running/Standby/Fault)
  • Detailed status messages
  • Local performance ratio
  • Daily energy production per inverter

Sample Payload:

{
  "ts": "2025-12-04T18:30:45.234567+00:00",
  "Inverter_ID": "INV_001_001",
  "Site_ID": "SITE_001",
  "Fleet": "california",
  "Location": "34.4208,-118.4696",
  "Model": "SMA-SC2500",
  "Rated_AC_kW": 5250.0,
  "Input_DC_Voltage": 842.56,
  "Output_AC_Power_kW": 4234.18,
  "AC_Voltage": 532.14,
  "AC_Current": 7.95,
  "Temperature_Module": 52.34,
  "Efficiency_%": 97.2,
  "Status": "Running",
  "Status_Message": "INVERTER OPERATIONAL: INV_001_001 operating normally...",
  "Availability_%": 95.0,
  "PR_Local": 0.823,
  "Energy_Today_kWh": 18542.76
}

3. String-Level Metrics (Topic: strings)

With 16 strings per inverter (672 total), you’ll see granular DC performance data:

  • DC current and voltage per string
  • Expected vs. actual power output
  • Deviation percentages
  • String status (Normal/Warning/Fault)
  • Cell temperature
  • Soiling factors

Sample Payload:

{
  "ts": "2025-12-04T18:30:45.345678+00:00",
  "String_ID": "INV_001_001_STR001",
  "Inverter_ID": "INV_001_001",
  "Site_ID": "SITE_001",
  "Fleet": "california",
  "Location": "34.4208,-118.4696",
  "DC_Current_A": 11.23,
  "DC_Voltage_V": 782.45,
  "Expected_Power_W": 92.15,
  "Actual_Power_W": 87.84,
  "Deviation_%": -4.68,
  "Status": "Normal",
  "Temperature_Cell": 48.92,
  "Soiling_Factor": 0.923,
  "Last_Cleaned": "2024-01-15"
}

4. Weather Station Data (Topic: weather)

One weather station per site provides environmental context:

  • POA (Plane of Array) irradiance
  • GHI (Global Horizontal Irradiance)
  • DNI (Direct Normal Irradiance)
  • Ambient and module temperatures
  • Wind speed and direction
  • Humidity

Sample Payload:

{
  "ts": "2025-12-04T18:30:45.456789+00:00",
  "Station_ID": "WS_001",
  "Site_ID": "SITE_001",
  "Fleet": "california",
  "Location": "34.4208,-118.4696",
  "POA_Irradiance_Wm2": 847.32,
  "GHI_Wm2": 823.45,
  "DNI_Wm2": 678.92,
  "Ambient_Temperature_C": 28.54,
  "Module_Temperature_C": 51.23,
  "Wind_Speed_mps": 7.82,
  "Wind_Direction_deg": 245.67,
  "Humidity_%": 42.18
}

5. Grid Meter Data (Topic: grid)

Grid interconnection metrics from each site’s point of common coupling:

  • Active and reactive power (MW/MVar)
  • Voltage and frequency
  • Power setpoints
  • Curtailment levels and status
  • Detailed operational status messages
  • Daily energy export

Sample Payload:

{
  "ts": "2025-12-04T18:30:45.567890+00:00",
  "Meter_ID": "GRID_001",
  "Site_ID": "SITE_001",
  "Fleet": "california",
  "Location": "34.4208,-118.4696",
  "Active_Power_MW": 16.84,
  "Reactive_Power_MVar": 0.45,
  "Voltage_kV": 34.2,
  "Frequency_Hz": 60.012,
  "Setpoint_MW": 16.80,
  "Curtailment_MW": 0.0,
  "Curtailment_%": 0.0,
  "Status": "GRID OPERATIONS NORMAL: GRID_001 operating at full capacity...",
  "Energy_Today_MWh": 94.56
}

Data Characteristics

The simulator generates realistic data with:

  • Time-based variations: Irradiance and power output follow realistic daily solar curves
  • Correlations: Weather conditions properly correlate with power production
  • Operational states: Inverters cycle through Running/Standby/Fault states based on realistic availability ranges
  • Performance metrics: PR (Performance Ratio) values range from 96-100%, matching real-world solar installations
  • Alarms and events: The fleet generates detailed alarm messages for faults, underperformance, grid events, and maintenance needs
  • Curtailment dynamics: Time-based curtailment that peaks during afternoon hours
  • Hierarchical consistency: String data rolls up to inverter data, which rolls up to site data

Use Cases

This free data feed is ideal for:

  • Testing MQTT clients and IoT platforms: Use realistic, multi-level hierarchical data without setting up your own simulator
  • Learning time-series databases: Practice ingesting, querying, and analyzing real-world telemetry patterns
  • Building monitoring dashboards: Create solar fleet visualization and analytics applications
  • Training machine learning models: Use for anomaly detection, forecasting, or predictive maintenance algorithms
  • Benchmarking data platforms: Test ingestion rates, query performance, and compression ratios
  • Educational purposes: Teach IoT architecture, renewable energy monitoring, or industrial data systems
  • Proof-of-concept development: Rapid prototyping without hardware dependencies

Getting Started

You can subscribe to our MQTT broker with any client you like. For example, you could use mosquitto_sub to subscribe as follows:

# Subscribe to all site data
mosquitto_sub -h mqtt.tdengine.com -p 1883 -t 'sites' -v

# Subscribe to all inverter data
mosquitto_sub -h mqtt.tdengine.com -p 1883 -t 'inverters' -v

# Subscribe to all topics
mosquitto_sub -h mqtt.tdengine.com -p 1883 -t '#' -v

If you would like to ingest data from the broker into TDengine TSDB, add a data source and configure the host and port of the broker.

In the Collect section, specify the topic to which you want to subscribe — weather is used in this example.

Finally, parse the data and map it to a supertable. You now have a MQTT data source to use in your testing.

Disclaimers

  • Simulated Data: This feed publishes simulated solar fleet data for development, testing, and educational purposes. While the data patterns, ranges, and correlations are designed to be realistic, this is not actual production data from a real solar installation.
  • No Service Guarantees: This is a free community resource provided as-is, without any SLA or uptime guarantees. While we intend to maintain 24/7 availability, occasional interruptions may occur for maintenance or updates.
  • Fair Use: This service is provided for reasonable, good-faith use. Please be respectful of the shared resource and avoid excessive connection rates or abusive patterns that could impact availability for others.
  • Data Privacy: All published data is synthetic and contains no real personal, financial, or proprietary information.
  • Arun Arulraj

    Pursuing a Master’s Degree in Computer Science from the Georgia Institute of Technology and holding dual Bachelor’s degrees in Computer Science and Chemistry, Arun brings expertise in artificial intelligence, machine learning, and industrial data solutions to drive TDengine’s solution engineering efforts. Prior to joining TDengine, he worked as a Software Engineer at C3 AI and Meta, and served as Head of AI at Soundromeda, where he led the development of advanced AI-driven applications. He is currently based in California, USA.