update esppilight lib
content of the library is not filtered on 433mhz only
This commit is contained in:
1 parent
a275e48ee1
commit
67dd7ac078
1030 files changed
+203335
-116
No files matched your search
@@ -0,0 +1,147 @@
|
||||
.. |yes| image:: ../../images/yes.png
|
||||
.. |no| image:: ../../images/no.png
|
||||
|
||||
.. role:: underline
|
||||
:class: underline
|
||||
|
||||
Sunrise / Sunset Event
|
||||
======================
|
||||
|
||||
.. rubric:: Description
|
||||
|
||||
This rule executes when the sun sets or rises.
|
||||
|
||||
.. rubric:: Devices
|
||||
|
||||
.. code-block:: json
|
||||
:linenos:
|
||||
|
||||
{
|
||||
"devices": {
|
||||
"currentdatetime": {
|
||||
"protocol": [ "datetime" ],
|
||||
"id": [{
|
||||
"longitude": 1.2345,
|
||||
"latitude": 12.3456
|
||||
}],
|
||||
"year": 2015,
|
||||
"month": 1,
|
||||
"day": 27,
|
||||
"hour": 14,
|
||||
"minute": 37,
|
||||
"second": 8,
|
||||
"weekday": 3,
|
||||
"dst": 1
|
||||
},
|
||||
"sunrisesetdevice": {
|
||||
"protocol": [ "sunriseset" ],
|
||||
"id": [{
|
||||
"longitude": 1.234567,
|
||||
"latitude": 12.123456
|
||||
}],
|
||||
"sunrise": 6.40,
|
||||
"sunset": 18.50,
|
||||
"sun": "rise"
|
||||
},
|
||||
"light": {
|
||||
"protocol": [ "kaku_switch" ],
|
||||
"id": [{
|
||||
"id": 123456,
|
||||
"unit": 0
|
||||
}],
|
||||
"state": "off"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.. rubric:: Rule
|
||||
|
||||
By using math
|
||||
|
||||
.. code-block:: json
|
||||
:linenos:
|
||||
|
||||
{
|
||||
"sunset": {
|
||||
"rule": "IF ((sunrisesetdevice.sunset == (currentdatetime.hour + (currentdatetime.minute / 100)) AND light.state IS off) AND currentdatetime.second == 0) THEN switch DEVICE light TO on",
|
||||
"active": 1
|
||||
},
|
||||
"sunrise": {
|
||||
"rule": "IF ((sunrisesetdevice.sunrise == (currentdatetime.hour + (currentdatetime.minute / 100)) AND light.state IS off) AND currentdatetime.second == 0) THEN switch DEVICE light TO on",
|
||||
"active": 1
|
||||
}
|
||||
}
|
||||
|
||||
By using the DATE_FORMAT function
|
||||
|
||||
.. code-block:: json
|
||||
:linenos:
|
||||
|
||||
{
|
||||
"sunset": {
|
||||
"rule": "IF (sunrisesetdevice.sunset == DATE_FORMAT(currentdatetime, %H.%M)) AND light.state IS off AND currentdatetime.second == 0 THEN switch DEVICE light TO on",
|
||||
"active": 1
|
||||
},
|
||||
"sunrise": {
|
||||
"rule": "IF (sunrisesetdevice.sunrise == DATE_FORMAT(currentdatetime, %H.%M)) AND light.state IS off AND currentdatetime.second == 0 THEN switch DEVICE light TO on",
|
||||
"active": 1
|
||||
}
|
||||
}
|
||||
|
||||
Or an hour before the sun sets:
|
||||
|
||||
.. code-block:: json
|
||||
:linenos:
|
||||
|
||||
{
|
||||
"sunset": {
|
||||
"rule": "IF (sunrisesetdevice.sunset == DATE_FORMAT(DATE_ADD(currentdatetime, +1 HOUR), \"%Y-%m-%d %H:%M:%S\", %H.%M)) AND light.state IS off AND currentdatetime.second == 0 THEN switch DEVICE light TO on",
|
||||
"active": 1
|
||||
}
|
||||
}
|
||||
|
||||
.. versionchanged:: 8.1.0
|
||||
|
||||
By using math
|
||||
|
||||
.. code-block:: json
|
||||
:linenos:
|
||||
|
||||
{
|
||||
"sunset": {
|
||||
"rule": "IF ((sunrisesetdevice.sunset == (currentdatetime.hour + (currentdatetime.minute / 100)) AND light.state == off) AND currentdatetime.second == 0) THEN switch DEVICE light TO on",
|
||||
"active": 1
|
||||
},
|
||||
"sunrise": {
|
||||
"rule": "IF ((sunrisesetdevice.sunrise == (currentdatetime.hour + (currentdatetime.minute / 100)) AND light.state == off) AND currentdatetime.second == 0) THEN switch DEVICE light TO on",
|
||||
"active": 1
|
||||
}
|
||||
}
|
||||
|
||||
By using the DATE_FORMAT function
|
||||
|
||||
.. code-block:: json
|
||||
:linenos:
|
||||
|
||||
{
|
||||
"sunset": {
|
||||
"rule": "IF (sunrisesetdevice.sunset == DATE_FORMAT(currentdatetime, %H.%M)) AND light.state == off AND currentdatetime.second == 0 THEN switch DEVICE light TO on",
|
||||
"active": 1
|
||||
},
|
||||
"sunrise": {
|
||||
"rule": "IF (sunrisesetdevice.sunrise == DATE_FORMAT(currentdatetime, %H.%M)) AND light.state == off AND currentdatetime.second == 0 THEN switch DEVICE light TO on",
|
||||
"active": 1
|
||||
}
|
||||
}
|
||||
|
||||
Or an hour before the sun sets:
|
||||
|
||||
.. code-block:: json
|
||||
:linenos:
|
||||
|
||||
{
|
||||
"sunset": {
|
||||
"rule": "IF (sunrisesetdevice.sunset == DATE_FORMAT(DATE_ADD(currentdatetime, '+1 HOUR'), '%Y-%m-%d %H:%M:%S', %H.%M)) AND light.state == off AND currentdatetime.second == 0 THEN switch DEVICE light TO on",
|
||||
"active": 1
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user