Files
lostakj 9db7aa2560
Build Docker image on push / docker (push) Successful in 22s
Initila commit
2026-08-18 00:46:59 +02:00

12 KiB

Metrics reference

Shelly Exporter exposes OpenMetrics-compatible Prometheus data on /metrics. A collection starts when Prometheus requests that endpoint; the exporter does not poll devices in the background.

Conventions

  • Every series has a stable device label taken from configuration.
  • Request health metrics also have a normalized product label.
  • Channel-based values use a zero-based index label matching the position in the Shelly JSON array.
  • Information metrics have a constant value of 1 and place textual state in labels.
  • Boolean gauges use 1 for true or active and 0 for false or inactive.
  • A metric is omitted when its source field is absent. Missing metrics do not imply a zero value.
  • Device credentials and URLs are not exported as labels.

Exporter and device health

These metrics exist for every configured device, including failed scrapes.

Metric Type Labels Description
shelly_up gauge device, product 1 when the latest /status request and JSON decoding succeeded; otherwise 0.
shelly_scrape_duration_seconds gauge device, product Wall-clock duration of the latest device request.
shelly_scrape_errors_total counter device, product Failed requests since this exporter process started.

On a failed request only these three metric families are emitted for the affected device. A failure from one device does not prevent concurrent devices from being collected.

Common Gen1 status

Metric Type Additional labels Description
shelly_device_info gauge product, mac, firmware Configured product and device identity. Value is always 1.
shelly_wifi_info gauge ssid, ip Connected Wi-Fi network identity. Value is always 1.
shelly_wifi_connected gauge none Wi-Fi station connection state.
shelly_wifi_rssi_dbm gauge none Received Wi-Fi signal strength in dBm.
shelly_cloud_enabled gauge none Shelly Cloud enabled state.
shelly_cloud_connected gauge none Shelly Cloud connection state.
shelly_mqtt_connected gauge none MQTT connection state.
shelly_update_available gauge none Firmware update availability.
shelly_update_info gauge status, current_version, new_version Firmware update state. Value is always 1.
shelly_status_serial gauge none Device status sequence number.
shelly_ram_size_bytes gauge none Total device RAM.
shelly_ram_free_bytes gauge none Available device RAM.
shelly_filesystem_size_bytes gauge none Total filesystem size.
shelly_filesystem_free_bytes gauge none Free filesystem space.
shelly_filesystem_mounted gauge none Data filesystem mount state, reported by products such as 3EM.
shelly_uptime_seconds gauge none Device uptime.

Relays and inputs

Metric Type Additional labels Description
shelly_relay_on gauge index Relay output state.
shelly_relay_has_timer gauge index Whether a relay timer is active.
shelly_relay_timer_duration_seconds gauge index Configured duration of the relay timer.
shelly_relay_timer_remaining_seconds gauge index Remaining relay timer duration.
shelly_relay_overpower gauge index Relay overpower protection state.
shelly_relay_valid gauge index Relay status validity when provided by the device.
shelly_input_on gauge index Logical input state.
shelly_input_event_info gauge index, event, last_sequence Latest button/input event. Value is always 1.
shelly_input_event_count_total counter index Input events since device restart. A reboot is interpreted by Prometheus as a counter reset.

Standard power meters

The meters block is used by Plug, Plug S, PM relays, dimmers, and several light products.

Metric Type Additional labels Description
shelly_meter_power_watts gauge index Current active power.
shelly_meter_valid gauge index Meter reading validity.
shelly_meter_timestamp_seconds gauge index Unix timestamp of the latest counter reading.
shelly_meter_overpower gauge index Boolean overpower state on products that return a boolean.
shelly_meter_overpower_threshold_watts gauge index Overpower threshold on products that return a numeric value.
shelly_meter_recent_energy_watt_minutes gauge index, minute Device-provided recent per-minute energy slots. minute is the zero-based array position.
shelly_meter_energy_watt_hours_total counter index Cumulative consumed energy converted from watt-minutes to watt-hours.

Shelly reports meters[].total in watt-minutes. The exporter divides the value by 60:

shelly_meter_energy_watt_hours_total = meters[index].total / 60

For example, a device total of 4188430 watt-minutes is exported as approximately 69807.1667 Wh.

EM and 3EM power meters

The emeters block uses watt-hours directly and can include returned energy.

Metric Type Additional labels Description
shelly_emeter_power_watts gauge index Current active power.
shelly_emeter_reactive_power_var gauge index Current reactive power.
shelly_emeter_power_factor gauge index Power factor, primarily on 3EM.
shelly_emeter_current_amperes gauge index Measured current, primarily on 3EM.
shelly_emeter_voltage_volts gauge index RMS voltage.
shelly_emeter_valid gauge index Energy meter validity.
shelly_emeter_energy_watt_hours_total counter index Cumulative consumed energy in Wh. No conversion is applied.
shelly_emeter_returned_energy_watt_hours_total counter index Cumulative energy returned to the grid in Wh.
shelly_total_power_watts gauge none Sum of power over all channels when supplied by the device.

The device can reset persisted totals through its API. Prometheus correctly treats a decrease as a counter reset when functions such as rate() or increase() are used.

Rollers

Metric Type Additional labels Description
shelly_roller_info gauge index, state, stop_reason, last_direction Roller textual state. Value is always 1.
shelly_roller_power_watts gauge index Current motor power.
shelly_roller_valid gauge index Power meter validity.
shelly_roller_safety_switch gauge index Safety input state.
shelly_roller_overtemperature gauge index Roller overtemperature state.
shelly_roller_position_percent gauge index Current position in percent. A device may use a negative value for an invalid or uncalibrated position.
shelly_roller_calibrating gauge index Calibration in progress.
shelly_roller_positioning gauge index Position control availability.

Lights and dimmers

Metric Type Additional labels Description
shelly_light_info gauge index, mode Light operating mode. Value is always 1.
shelly_light_on gauge index Light output state.
shelly_light_has_timer gauge index Light timer state.
shelly_light_timer_remaining_seconds gauge index Remaining light timer duration.
shelly_light_brightness_percent gauge index Brightness in percent.
shelly_light_red gauge index Red channel, normally 0..255.
shelly_light_green gauge index Green channel, normally 0..255.
shelly_light_blue gauge index Blue channel, normally 0..255.
shelly_light_white gauge index White channel, normally 0..255.
shelly_light_gain_percent gauge index Color gain in percent.
shelly_light_color_temperature_kelvin gauge index White color temperature.
shelly_light_effect gauge index Selected numeric effect.

Environmental and safety sensors

Metric Type Additional labels Description
shelly_temperature_celsius gauge none Internal or primary sensor temperature in °C.
shelly_temperature_valid gauge none Temperature reading validity.
shelly_temperature_status_info gauge status Textual temperature state such as Normal. Value is always 1.
shelly_overtemperature gauge none Device overtemperature protection state.
shelly_humidity_percent gauge none Relative humidity.
shelly_humidity_valid gauge none Humidity reading validity.
shelly_battery_percent gauge none Estimated battery capacity.
shelly_battery_voltage_volts gauge none Measured battery voltage.
shelly_charger_connected gauge none External charger state.
shelly_illuminance_lux gauge none Measured illuminance.
shelly_illuminance_valid gauge none Illuminance reading validity.
shelly_illuminance_info gauge illumination Classified illumination such as dark, twilight, or bright.
shelly_sensor_valid gauge none Primary product sensor validity.
shelly_sensor_error gauge none Product-specific sensor error code.
shelly_connect_retries gauge none Wi-Fi retries during the current wake cycle.
shelly_motion gauge none Motion detection state.
shelly_motion_active gauge none Motion detection enabled/active state.
shelly_motion_timestamp_seconds gauge none Motion reading Unix timestamp.
shelly_vibration gauge none Motion sensor vibration/tamper state.
shelly_smoke gauge none Smoke detection state.
shelly_flood gauge none Flood detection state.
shelly_rain_sensor_mode gauge none Flood sensor rain mode.
shelly_door_window_info gauge state Door/window state, normally open or close. Value is always 1.
shelly_tilt_degrees gauge none Door/window tilt.
shelly_vibration_value gauge none Raw door/window vibration state; -1 can mean disabled.
shelly_vibration_time_seconds gauge none Door/window vibration validity duration.
shelly_adc_voltage_volts gauge index Shelly Uni ADC voltage.
shelly_external_temperature_celsius gauge index, hardware_id External addon temperature.
shelly_external_humidity_percent gauge index, hardware_id External addon humidity.

Shelly TRV

Metric Type Additional labels Description
shelly_thermostat_valve_position_percent gauge index Valve position. A negative value can mean uncalibrated.
shelly_thermostat_target_enabled gauge index Automatic target control state.
shelly_thermostat_target_temperature_celsius gauge index Target temperature when reported in °C.
shelly_thermostat_temperature_celsius gauge index Measured thermostat temperature.
shelly_thermostat_temperature_valid gauge index Thermostat temperature validity.
shelly_thermostat_schedule_enabled gauge index Schedule state.
shelly_thermostat_schedule_profile gauge index Selected schedule profile.
shelly_thermostat_boost_minutes gauge index Boost duration in minutes.
shelly_thermostat_window_open gauge index Open-window state.
shelly_thermostat_calibrated gauge none Valve calibration state.

Shelly Gas

Metric Type Additional labels Description
shelly_gas_concentration_ppm gauge none Combustible gas concentration in ppm.
shelly_gas_concentration_valid gauge none Concentration reading validity.
shelly_gas_sensor_info gauge sensor_state, self_test_state, alarm_state Sensor operating and alarm state. Value is always 1.
shelly_gas_valve_info gauge index, state Valve addon state. Value is always 1.