2020-09-21 01:58:32 +02:00
# Sager Weathercaster Binding
2022-12-14 16:52:43 +01:00
The Sager Weathercaster is a scientific instrument for accurate prediction of the weather.
2020-09-21 01:58:32 +02:00
## Limitations
2022-12-14 16:52:43 +01:00
- To operate, this binding will need to use channel values provided by other means (e.g. Weather Binding, Netatmo, a 1-Wire personal weather station...)
2020-09-21 01:58:32 +02:00
2022-12-14 16:52:43 +01:00
- This binding buffers readings for some hours before producing weather forecasts (wind direction and sea level pressure). SagerWeatherCaster needs an observation period of minimum 6 hours.
2020-09-21 01:58:32 +02:00
For these reasons, this binding is not a binding in the usual sense.
## Discovery
A default `sagercaster` thing will be automatically discovered, based on system location.
## Binding Configuration
The binding itself does not require any configuration.
## Thing Configuration
### SagerCaster
2022-12-14 16:52:43 +01:00
| Name | Type | Description |
| ------------------ | -------- | -------------------------------------------------------------------- |
| location (*) | Location | Latitude and longitude of the desired weather forecast. |
| observation-period | int | Minimum delay (in hours) before producing forecasts. Defaulted to 6. |
2020-09-21 01:58:32 +02:00
2021-12-04 16:55:48 +01:00
(*) Only latitude is used by the algorithm.
2020-09-21 01:58:32 +02:00
## Channels
The binding will use some input channels, that can be configured directly with profiles (sample below).
2022-12-14 16:52:43 +01:00
| Name | Group | Type | Description |
| ------------------- | ------ | -------------------- | --------------------------------------------------------------- |
| is-raining (*) | input | Switch | On if it is raining, else Off. |
| rain-qtty (*) | input | Number | Any value that give indication of a current rain volume |
| or | input | Number:Speed | Any value that give indication of a current rain volume eg mm/h |
| or | input | Number:Length | Any value that give indication of a current rain volume eg mm |
| cloudiness | input | Number:Dimensionless | Cloud cover percentage |
| wind-speed-beaufort | input | Number | Wind speed expressed using the Beaufort scale |
| pressure | input | Number:Pressure | Sea level pressure |
| wind-angle | input | Number:Angle | Wind direction |
| temperature | input | Number:Temperature | Outside temperature |
| timestamp | output | DateTime | Timestamp of the last forecast update |
| forecast | output | String | Description of the weather forecast |
| velocity | output | String | Description of the expected wind evolution |
| velocity-beaufort | output | Number | Expected wind evolution using the Beaufort scale |
| wind-from | output | String | Expected wind orientation |
| wind-to | output | String | Evolution of the expected wind orientation |
| wind-evolution | output | String | Wind orientation evolution over observation period |
| pressure-trend | output | String | Pressure evolution over observation period |
| temperature-trend | output | String | Temperature evolution over observation period |
2020-09-21 01:58:32 +02:00
(*) You may use either is-raining, either rain-qtty depending upon the data available in your system.
## Full Example
### Things
2022-12-14 16:52:43 +01:00
```java
2020-09-21 01:58:32 +02:00
sagercaster:sagercaster:triel "Sager Triel" @ "Outside" [location="48,2"]
```
### Items
Input channel can be updated via profiles in versions of OH > 2.4.
2022-12-14 16:52:43 +01:00
```java
2020-09-21 01:58:32 +02:00
Number:Pressure NWS_Abs_Pressure "Pression absolue" < pressure > {channel="netatmo:NAMain:home:insidews:AbsolutePressure", channel="sagercaster:sagercaster:triel:input#pressure" [profile="follow"]}
2022-12-14 16:52:43 +01:00
Number:Angle NWS_wind_angle "Orientation [%d°]" {channel="netatmo:NAModule2:home:anemometre:WindAngle", channel="sagercaster:sagercaster:triel:input#wind-angle" [profile="follow"]}
2020-09-21 01:58:32 +02:00
Number:Dimensionless OWM_Cloudiness "Cloudiness [%d %unit%]" < clouds > {channel="openweathermap:weather-and-forecast:api:local:current#cloudiness", channel="sagercaster:sagercaster:triel:input#cloudiness" [profile="follow"] }
Number Synop_beaufort "Beaufort [%d]" < beaufort > {channel="synopanalyzer:synopanalyzer:orly:wind-speed-beaufort", channel="sagercaster:sagercaster:triel:input#wind-speed-beaufort" [profile="follow"] }
Number:Length NWS_rain_1h "Précipitation 1h [%.2f %unit%]" < rain > {channel="netatmo:NAModule3:home:pluviometre:SumRain1", channel="sagercaster:sagercaster:triel:input#rain-qtty" [profile="follow"]}
```
Here is the definition of output channels
2022-12-14 16:52:43 +01:00
```java
2020-09-21 01:58:32 +02:00
// Items directly derived from inputs
String SWC_windevolution "Wind Evolution" (gSager) {channel="sagercaster:sagercaster:triel:output#wind-evolution"}
String SWC_presstrend "Pressure Trend" (gSager) {channel="sagercaster:sagercaster:triel:output#pressure-trend"}
// SagerWeatherCaster Forecast Items
String SWC_forecast "Weather Forecast" (gSager) {channel="sagercaster:sagercaster:triel:output#forecast"}
String SWC_velocity "Wind Velocity" (gSager) {channel="sagercaster:sagercaster:triel:output#velocity"}
String SWC_windfrom "Wind from" (gSager) {channel="sagercaster:sagercaster:triel:output#wind-from"}
2024-09-28 17:46:53 +02:00
2020-09-21 01:58:32 +02:00
DateTime SWC_ObservationTime "Timestamp [%1$tH:%1$tM]" < time > (gSager, gTrackAge) {channel="sagercaster:sagercaster:triel:output#timestamp" }
```