forked from awaescher/homebridge-sun-azimuth
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.schema.json
118 lines (118 loc) · 6.79 KB
/
config.schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
{
"pluginAlias": "Sun Azimuth",
"pluginType": "platform",
"singular": true,
"headerDisplay": "This plugin provides contact sensors to automate sun protection. Sensors are opened (breached) when the sun is in a given section of the sky (azimuth) and optionally if an [OpenWeather API key](https://openweathermap.org/api) is provided when the sun is above the horizon and the sky is not overcast.",
"footerDisplay": "For help or in case of issues please visit the [GitHub repository](https://github.com/awaescher/homebridge-sun-azimuth/issues). Based on [homebridge-sunsensors](https://github.com/mfkrause/homebridge-sunsensors) and [homebridge-sunlight](https://github.com/Krillle/homebridge-sunlight).",
"schema": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"title": "Latitude",
"required": true
},
"long": {
"type": "number",
"title": "Longitude",
"required": true
},
"apikey": {
"type": "string",
"title": "OpenWeather API Key",
"description": "If API key is provided, sunhsine is reported only during daylight times when sky is not overcast",
"required": false
},
"enableWeatherIntegration": {
"type": "boolean",
"title": "Enable weather integration",
"description": "Enables the weather integration if an OpenWeather API key is set. Turn this off to keep the weather debug output but disable the overcast checks.",
"required": true,
"default": true
},
"highestAcceptableOvercast": {
"type": "number",
"title": "Acceptable overcast (in percent) which is considered as sunny",
"description": "Overcast threshold in percent which is considered as sunny and below which the sensor should be activated. Lower values are sunny, higher values are cloudy. When automating window covers, setting lower values here will open window covers for just few clouds while higher values will keep them shut even if the sky is cloudy. Only available if an OpenWeather API key is defined and weather integration is enabled.",
"required": true,
"default": 25,
"minimum": 0,
"maximum": 100
},
"weatherUpdateIntervalSeconds": {
"type": "number",
"title": "Weather update interval in seconds",
"description": "The smaller the interval, the quicker the response to sun position and overcast updates but the more traffic it'll create. The free tier of the OpenWeather API is limited to 1,000,000 requests per month which is roughly one call every 3 seconds for a whole month.",
"required": true,
"default": 60,
"minimum": 3,
"maximum": 7200
},
"sensors": {
"type": "array",
"title": "Sensors",
"required": true,
"description": "Define contact sensors for one or more sections of the sky, e.g. for windows looking to different directions. Direction is specified in degrees of compass: 0° North, 90° East, 180° South, 270° West. To define overlaps you can use values between -360° and 0° as well as 360° and 720°.",
"default": [],
"items": {
"type": "object",
"title": "Sun Position",
"required": true,
"properties": {
"name": {
"type": "string",
"title": "Sensor Name",
"description": "Homekit display name of the sensor",
"required": true
},
"lowerThreshold": {
"type": "number",
"title": "Lower Threshold",
"description": "Left side of sky section within which the sensor should activate",
"required": true
},
"upperThreshold": {
"type": "number",
"title": "Upper Threshold",
"description": "Right side of sky section within which the sensor should activate",
"required": true
},
"minimumTemperatureCelsuisConsideredSunny": {
"type": "number",
"title": "Minimum temperature in °C which is considered sunny",
"description": "Sets a minimum temperature that is required so that the sensor can be activated. If the temperature stays below this value, the sensor will not activate which allows automated windows blinds to stay open on cold days. Only available if an OpenWeather API key is defined and weather integration is enabled.",
"required": true,
"default": 20,
"minimum": 0,
"maximum": 100
},
"lowerAltitudeThreshold": {
"type": "number",
"title": "Lower Altitude Threshold",
"description": "Lower altitude threshold for the sun's position above the horizon, above which the sensor should activate. The threshold is measured in degrees, with 0° being on the horizon and 90° being at the zenith.",
"required": true,
"default": 0,
"minimum": 0,
"maximum": 360
},
"upperAltitudeThreshold": {
"type": "number",
"title": "Upper Altitude Threshold",
"description": "Upper altitude threshold for the sun's position above the horizon, below which the sensor should activate. The threshold is measured in degrees, with 0° being on the horizon and 90° being at the zenith.",
"required": true,
"default": 90,
"minimum": 0,
"maximum": 360
}
}
}
},
"debugLog": {
"type": "boolean",
"title": "Debug logging enabled",
"required": false,
"default": false
}
}
}
}