Sunrise / Sunset
None
None
"devices": { "sunrisesetdev": { "protocol": [ "sunriseset" ], "id": [{ "longitude": 1.2345, "latitude": 50.607080 }], "sunrise": 8.16, "sunset": 16.30, "sun": "set" } }, "gui": { "sunrisesetdev": { "name": "Sunrise / Sunset", "group": [ "Outside" ], "media": [ "all"] } }
GUI Settings
Setting | Default | Format | Description |
---|---|---|---|
decimals | 2 | 1 or 0 | The sunrise decimals to show in the GUIs |
show-sunriseset | 1 | 1 or 0 | Don't display the sunrise / sunset value |
Comments
The sunriseset will send three messages:
When using sunriseset in eventing, keep in mind of the following; The output of sunriseset.sunset and sunriseset.sunrise is just a number, so the time 17:00 equals 17.00. When using it in eventing make sure you get usable numbers. For example the time for sunriseset.sunset is 16:30
"IF ((sunrisesetdev.sunset == (datetime.hour + (datetime.minute / 100))) AND datetime.second == 0) THEN .."
pilight will see this:
"IF ((16.30 == (16 + (30 / 100))) AND 0 == 0) THEN ..."
The math pilight will use: 16.30 == 16.30
When you look at the result you will see that the datetime.minute 30 will give 0.30 in the used rule. (in normal case divide minutes through 100)
Using the sunriseset.
Example
"IF sunrisesetdev.sun IS set THEN ...."
"IF sunrisesetdev.sun IS rise THEN ...."
Please note that with the three messages mentioned above, the first rule fires two times: At sunset, and at midnight (sunrisesetdev.sun is either set or rise, and will be set at midnight). So, it's better to use
"IF (DATE_FORMAT(CurrentDateTime, %H.%M) == sunrisesetdev.sunset AND CurrentDateTime.second == 0) THEN ..."
with CurrentDateTime as a “datetime” device.
ntpserver has been removed from the sunriseset id. Instead, ntp-servers are defined in the settings section of config.json in an array like this:
"ntp-servers": [ "0.nl.pool.ntp.org", "1.nl.pool.ntp.org", ... ], "ntp-sync": 1
Both the datetime and sunriseset protocol will use the ntp time to adjust their time when needed.