Settings dependencies¶
Some settings only work when something else is on: MQTT alerts need MQTT, rain alerts need the rain sensor, night-only alerts need your location. SQMeter keeps such a setting exactly as you saved it, but while what it needs is missing the setting is inactive: the device doesn't act on it, Settings shows why with a one-click fix, and GET /api/settings/effective reports it.
- Dependency: kept and reported inactive until what it needs is there.
- Constraint: a combination that can never work; the save is refused with the device's message.
- Runtime: depends on WiFi, the broker, the clock, a GPS fix or a restart rather than on a setting - it never stops you switching the setting on.
- fail-safe safety rules report unsafe while their sensor is off or missing; inactive ones are listed under
rulesNotInEffectin the safety document.
| ID | Setting | Needs | Kind | Shown as |
|---|---|---|---|---|
| D-01 | alerts.mqtt.enabled |
MQTT on | Dependency | MQTT is off (mqtt-off) |
| D-02 | alerts.mqtt.enabled |
MQTT broker connected | Dependency, runtime | Broker not connected (mqtt-disconnected) |
| D-03 | alerts.pushover.enabled, alerts.ntfy.enabled, alerts.webhook.enabled |
WiFi connected to a network (not the setup hotspot) | Dependency, runtime | Not connected to WiFi (wifi-disconnected) |
| D-04 | alerts.pushover.enabled, alerts.ntfy.enabled, alerts.webhook.enabled, alerts.mqtt.enabled, alerts.events.unsafe.level, alerts.events.safe.level, alerts.events.rain_started.level, alerts.events.rain_stopped.level, alerts.events.sensor_fault.level, alerts.events.sensor_recovered.level, alerts.events.dew_risk.level, alerts.events.clear_sky.level, alerts.events.clouded_over.level, alerts.events.client_lost.level, alerts.events.client_back.level, alerts.events.client_disconnected.level, alerts.skyNightOnly, alerts.safetyNightOnly, alerts.nightSunAltitudeDeg, alerts.sendMode |
Alerts on (Send alerts). Events at Wake me, arming and the night-only options also count while paired phones can ring; channels are push only | Dependency | Alerts are off (alerts-off) |
| D-05 | alerts.events.rain_started.level, alerts.events.rain_stopped.level |
Rain sensor on | Dependency | Rain sensor is off (rain-off) |
| D-06 | alerts.events.dew_risk.level |
BME280 detected | Dependency, runtime | BME280 not detected (environment-missing) |
| D-07 | alerts.events.clear_sky.level, alerts.events.clouded_over.level |
MLX90614 detected | Dependency, runtime | MLX90614 not detected (infrared-missing) |
| D-08 | alerts.wakePhones |
Bluetooth build, Bluetooth on, passkey set, at least one paired phone (Wake me still escalates Pushover and ntfy) | Dependency | Needs the Bluetooth firmware build (ble-build); Bluetooth is off (ble-off); No pairing passkey set (no-passkey); No phone paired (no-phones) |
| D-09 | alerts.skyNightOnly |
Location set or GPS fix | Dependency | Needs your location (location-unknown) |
| D-10 | alerts.safetyNightOnly |
Location set or GPS fix | Dependency | Needs your location (location-unknown) |
| D-11 | alerts.nightSunAltitudeDeg |
Either night-only option on (off otherwise) | Dependency | - |
| D-12 | alerts.sendMode |
Alpaca on - "Only while an imaging app is connected" (spec 021); while Alpaca is off, alerts go out any time | Dependency | Alpaca is off (alpaca-off) |
| D-13 | mqtt.homeAssistant.enabled, mqtt.homeAssistant.alertsSwitch |
MQTT on; the Alerts switch also needs alerts on (or paired phones that can ring) | Dependency | MQTT is off (mqtt-off); Alerts are off (alerts-off) |
| D-14 | mqtt.publish.gps, mqtt.publish.rain, mqtt.publish.wind |
MQTT on and GPS / rain sensor / anemometer on | Dependency | MQTT is off (mqtt-off); GPS is off (gps-off); Rain sensor is off (rain-off); Anemometer is off (wind-off) |
| D-15 | alpaca.rainUnsafeEnabled, alpaca.rainSensorRequired |
Rain sensor on | Dependency, inactive when unmet | Rain sensor is off (rain-off) |
| D-16 | alpaca.windSpeedUnsafeEnabled, alpaca.windGustUnsafeEnabled |
Anemometer on | Dependency, fail-safe when unmet | Anemometer is off (wind-off) |
| D-17 | alpaca.cloudCoverEnabled |
MLX90614 detected | Dependency, fail-safe when unmet, runtime | MLX90614 not detected (infrared-missing) |
| D-18 | alpaca.sqmMinEnabled |
TSL2591 detected | Dependency, fail-safe when unmet, runtime | TSL2591 not detected (light-missing) |
| D-19 | alpaca.humidityMaxEnabled, alpaca.dewpointMarginEnabled |
BME280 detected | Dependency, fail-safe when unmet, runtime | BME280 not detected (environment-missing) |
| D-20 | alpaca.enabled |
Alpaca on - IsSafe and ObservingConditions served; the Alpaca page explains when it is off | Dependency | - |
| D-21 | rain.enabled |
Rain sensor on - Alpaca RainRate is NotImplemented otherwise | Dependency | - |
| D-22 | wind.enabled, wind.directionEnabled |
Anemometer on (direction: wind vane on) - Alpaca wind properties are NotImplemented otherwise | Dependency | - |
| D-23 | wind.directionEnabled |
Anemometer on | Dependency | Anemometer is off (wind-off) |
| D-24 | rain.dailyResetEnabled |
Rain sensor on; device clock set (NTP or GPS time) | Dependency | Rain sensor is off (rain-off); The device doesn't know the time yet (clock-unset) |
| D-25 | location.showSunMoon |
Location set or GPS fix | Dependency | Needs your location (location-unknown) |
| D-26 | gps.enabled |
GPS running and a GPS fix (location source) | Dependency, runtime | No GPS fix - using the location in Settings (gps-no-fix) |
| D-27 | primaryTimeSource, secondaryTimeSource, ntp.enabled, gps.enabled |
At least one time source on; primary and secondary sources on and different | Constraint | - |
| D-28 | ntp.enabled |
WiFi connected to a network | Dependency, runtime | Not connected to WiFi (wifi-disconnected) |
| D-29 | skyCalibration.enabled |
TSL2591 detected | Dependency, runtime | TSL2591 not detected (light-missing) |
| D-30 | ble.enabled, ble.phoneAlarm |
Bluetooth firmware build | Dependency | Needs the Bluetooth firmware build (ble-build) |
| D-31 | ble.phoneAlarm |
Bluetooth on and a passkey set (the alarm is on while a passkey is set) | Dependency | Bluetooth is off (ble-off) |
| D-32 | ota.enabled |
An OTA upload password set | Dependency | Set an upload password (ota-no-password) |
| D-33 | mqtt.broker, mqtt.topic |
MQTT on needs a broker and a topic | Constraint | - |
| D-34 | auth.password |
HTTP auth on needs a password | Constraint | - |
| D-35 | gps.enabled, ble.enabled, ble.phoneAlarm, alerts.wakePhones, mqtt.publish.gps |
A restart since GPS or Bluetooth was switched on (both start at boot) | Dependency | GPS starts after a restart (gps-restart); Bluetooth starts after a restart (ble-restart) |
| D-37 | alerts.events.client_lost.level, alerts.events.client_back.level, alerts.events.client_disconnected.level |
Alpaca on - imaging apps connect over Alpaca (spec 021) | Dependency | Alpaca is off (alpaca-off) |
| D-36 | wifi.mdns, wifi.ipv6 |
WiFi connected to a network (not the setup hotspot) | Dependency, runtime | Not connected to WiFi (wifi-disconnected) |