4.0.2 • Published 4 months ago

homebridge-weatherflow-tempest v4.0.2

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
4 months ago

Homebridge WeatherFlow Tempest Plugin

verified-by-homebridge npm-version npm-downloads donate

New in v4.0.0 Local API Support!

Homebridge Plugin providing basic WeatherFlow Tempest support. Exposing 7 Acessories.

  • Temperature Sensor
  • Humidity Sensor
  • Light Sensor
  • Motion Sensor (triggered by user configured value)
  • Occupancy Sensor (triggered by user configured value)
  • Fan (expressed as Rotation Speed - Wind Speed 0-100mph)
  • Battery Sensor (added to air_temperature Temperature sensor)

NOTE:

It is recommended when upgrading to v3.0 of the plugin from a prior version that you save your configuration information including token and station_id, uninstall the prior version of the plugin, restart Homebridge to clear the accessory cache, install v3.0 of the plugin, enter your Settings, and finally restart Homebridge to initialize the plugin.


Setup and Parameters

Local API is now supported which requires no authentication. If you choose to use the non-local HTTP API you will need to create an account at https://tempestwx.com/ and then generate a Personal Use Token https://tempestwx.com/settings/tokens.

  • name: (Required) Must always be set to WeatherFlow Tempest Platform.
  • local_api: (Required) Use the Local API versus HTTP API.
  • token: (Required for HTTP API) Oauth2 Personal Use Token, create via your tempestwx account.
  • station_id: (Required for HTTP API) The station ID you are pulling weather data from.
  • interval: (Required for HTTP API) How often to poll the Tempest REST API. Default 10 seconds. Minimum every second.
  • sensors: (Required) An array of sensors to create. This is dynamic incase you want to target different temperature or wind speed attributes.
  • sensors[].name: (Required) Display name of Sensor in Apple Home.
  • sensors[].sensor_type: (Required) The type of Home Sensor to create. There are 6 options "Temperature Sensor", "Light Sensor", "Humidity Sensor", "Fan", "Motion Sensor", "Occupancy Sensor".
  • sensors[].{1}_properties.value_key: (Required) Which REST API response body key to target for its value. You can find the available value_keys in the table below.
  • sensors[].motion_properties.trigger_value: (Required with Motion Sensor) At what point (value) to trigger motion detected on/off. Minimum 1.
  • sensors[].occupancy_properties.trigger_value: (Required with Occupancy Sensor) At what point (value) to trigger occupancy detected on/off. Minimum 0.

{1} Replace with Sensor: temperature, humidity, light, fan

sensor_type {2}value_keymetric unitsstd unitsadditional_propertiesTyp metric triggerTyp std triggerNotes
Temperature Sensorair_temperatureCFNANANAset by UI preferences
feels_likeCFNANANAset by UI preferences
wind_chillCFNANANAset by UI preferences
dew_pointCFNANANAset by UI preferences
Humidity Sensorrelative_humidity%%NANANA
Light SensorbrightnessluxluxNANANA
Fanwind_avgm/smi/hrNANANAwind_avg speed reported as Fan %
Motion Sensorwind_gustm/smi/hrmotion_trigger_value510
Occupancy Sensor {3}{4}barometric_pressurembinHgoccupancy_trigger_value100030
precipmm/minin/hroccupancy_trigger_value0.10.25
precip_accum_local_daymminoccupancy_trigger_value251Not available with Local API
solar_radiationW/m^2W/m^2occupancy_trigger_value10001000
uvIndexIndexoccupancy_trigger_value33
wind_directiondegreesdegreesoccupancy_trigger_value360360

{2} Reference: https://weatherflow.github.io/Tempest/api/swagger/#!/observations/getStationObservation

{3} Reference Wiki for details on how to view Occupancy Sensor values with iOS 16.x and MacOS Ventura 13.x.

{4} NOTE: There is a current limitation with v3.0.0 of the plug-in in that HomeKit accessory names are set when the accessory is initially added and cannot be dynamically updated. The accessories are correctly displayed and updated in the Homebridge "Accessories" tab of the webpage interface. Occupancy sensors trigger_value status is correctly displayed in both HomeKit and Homebridge.

Local API Config Example

{
  "name": "WeatherFlow Tempest Platform",
  "local_api": true,
  "units": "Standard",
  "sensors": [
      {
          "name": "Temperature",
          "sensor_type": "Temperature Sensor",
          "temperature_properties": {
              "value_key": "air_temperature"
          }
      },
      {
          "name": "Relative Humidity",
          "sensor_type": "Humidity Sensor",
          "humidity_properties": {
              "value_key": "relative_humidity"
          }
      },
      {
          "name": "Light Level",
          "sensor_type": "Light Sensor",
          "light_properties": {
              "value_key": "brightness"
          }
      },
      {
          "name": "Wind Speed",
          "sensor_type": "Fan",
          "fan_properties": {
              "value_key": "wind_avg"
          }
      },
      {
          "name": "Wind Gust",
          "sensor_type": "Motion Sensor",
          "motion_properties": {
              "value_key": "wind_gust",
              "trigger_value": 10
          }
      },
      {
          "name": "Barometer",
          "sensor_type": "Occupancy Sensor",
          "occupancy_properties": {
              "value_key": "barometric_pressure",
              "trigger_value": 30
          }
      },
      {
          "name": "Solar Radiation",
          "sensor_type": "Occupancy Sensor",
          "occupancy_properties": {
              "value_key": "solar_radiation",
              "trigger_value": 1000
          }
      },
      {
          "name": "UV",
          "sensor_type": "Occupancy Sensor",
          "occupancy_properties": {
              "value_key": "uv",
              "trigger_value": 3
          }
      },
      {
          "name": "Precipitation Rate",
          "sensor_type": "Occupancy Sensor",
          "occupancy_properties": {
              "value_key": "precip",
              "trigger_value": 0.25
          }
      },
      {
          "name": "Precipitation Today",
          "sensor_type": "Occupancy Sensor",
          "occupancy_properties": {
              "value_key": "precip_accum_local_day",
              "trigger_value": 1
          }
      },
      {
          "name": "Wind Direction",
          "sensor_type": "Occupancy Sensor",
          "occupancy_properties": {
              "value_key": "wind_direction",
              "trigger_value": 360
          }
      }
  ],
  "platform": "WeatherFlowTempest"
}

HTTP API Config Example

{
  "name": "WeatherFlow Tempest Platform",
  "local_api": false,
  "token": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
  "station_id": 10000,
  "interval": 10,
  "units": "Standard",
  "sensors": [
      {
          "name": "Temperature",
          "sensor_type": "Temperature Sensor",
          "temperature_properties": {
              "value_key": "air_temperature"
          }
      },
      {
          "name": "Feels Like",
          "sensor_type": "Temperature Sensor",
          "temperature_properties": {
              "value_key": "feels_like"
          }
      },
      {
          "name": "Dew Point",
          "sensor_type": "Temperature Sensor",
          "temperature_properties": {
              "value_key": "dew_point"
          }
      },
      {
          "name": "Relative Humidity",
          "sensor_type": "Humidity Sensor",
          "humidity_properties": {
              "value_key": "relative_humidity"
          }
      },
      {
          "name": "Light Level",
          "sensor_type": "Light Sensor",
          "light_properties": {
              "value_key": "brightness"
          }
      },
      {
          "name": "Wind Speed",
          "sensor_type": "Fan",
          "fan_properties": {
              "value_key": "wind_avg"
          }
      },
      {
          "name": "Wind Gust",
          "sensor_type": "Motion Sensor",
          "motion_properties": {
              "value_key": "wind_gust",
              "trigger_value": 10
          }
      },
      {
          "name": "Barometer",
          "sensor_type": "Occupancy Sensor",
          "occupancy_properties": {
              "value_key": "barometric_pressure",
              "trigger_value": 30
          }
      },
      {
          "name": "Solar Radiation",
          "sensor_type": "Occupancy Sensor",
          "occupancy_properties": {
              "value_key": "solar_radiation",
              "trigger_value": 1000
          }
      },
      {
          "name": "UV",
          "sensor_type": "Occupancy Sensor",
          "occupancy_properties": {
              "value_key": "uv",
              "trigger_value": 3
          }
      },
      {
          "name": "Precipitation Rate",
          "sensor_type": "Occupancy Sensor",
          "occupancy_properties": {
              "value_key": "precip",
              "trigger_value": 0.25
          }
      },
      {
          "name": "Precipitation Today",
          "sensor_type": "Occupancy Sensor",
          "occupancy_properties": {
              "value_key": "precip_accum_local_day",
              "trigger_value": 1
          }
      },
      {
          "name": "Wind Direction",
          "sensor_type": "Occupancy Sensor",
          "occupancy_properties": {
              "value_key": "wind_direction",
              "trigger_value": 360
          }
      }
  ],
  "platform": "WeatherFlowTempest"
}
4.0.2

4 months ago

4.0.1

4 months ago

3.0.3

6 months ago

4.0.0

6 months ago

3.0.1

12 months ago

3.0.0

12 months ago

2.0.1

1 year ago

2.0.0

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.2.0

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.0.0

2 years ago