Расписание ========== |image0| Узел, который принимает json-файл, содержащий условия срабатывания по времени и выводимое сообщение в DATA, и генерирует указанный json-объект. Концигурация узла ----------------- Данная система работает по Unix-time ``int64_t``, что означает - будет зависеть от времени указанном на устройстве. - **Repeats** - ``bool`` - **Json** - сообщение на выходе узла ``json`` - **RepeatsEvery** - свойство повторения, определяет период оповещений ``str`` - **Daily** - *DailyTime* - устанавливается в формате **“Hour:Minute:Second”** (“18:13:07”) ``str`` - **Weekly** - *RepeatON* - массив с булевыми значениями, отсчёт начинается с Воскресенья, всего 7 значений, больше значений можно, меньше - вылетит ошибка. ``[bool]`` - **Monthly** - *MonthlyDate* - массив с целочисленными значениями ``[int]`` - **Yearly** - *YearlyDate* - массив со строками дат в формате **“dd/mm”**. ``[str]`` - **Name** - наименование события ``str`` Следующие величины должны быть указаны в следующей формате: **“day.month.year hour:minute:second”**. Например: *“06.09.2023 16:00:00”*. \* **When** - время и дата начала работы ``str`` \* **EndDate** - время окончания учёта события ``str`` >Все ключи таковы и только таковы, больше никаковы! (Стетхэм) При окончании выполнения всех запланированных событий на вывод поступит сообщение: “Расписание цепочки завершено”. Входные данные ~~~~~~~~~~~~~~ **Json** .. code:: json [ { "Name": "TestDaily", "Repeats": true, "Json":{ "msg": "Test dayli" }, "RepeatsEvery": "Daily", "DailyTime": "15:15:00" }, { "Name": "TestWeekly", "When": "06.09.2023 16:00:00", "Repeats": true, "Json":{ "msg": "Test weekly" }, "RepeatsEvery": "Weekly", "RepeatON": [true, true, true, false, false, true, true] }, { "Name": "TestMonthly", "Repeats": true, "EndDate": "06.09.2023 16:08:00", "Json":{ "msg": "Test monthly" }, "RepeatsEvery": "Monthly", "MonthlyDate": [1,5,6,7] }, { "Name": "TestYearly", "Repeats": true, "Json":{ "msg": "Test yearly" }, "RepeatsEvery": "Yearly", "YearlyDate": ["05/09", "06/09"] } ] Выходные данные ~~~~~~~~~~~~~~~ При срабатывании условия отправляется сообщение, указанное в объекте **“Json”** .. code:: json {"id":1,"in":{"DATA":{"msg":"Test weekly"},"METADATA":{"chain":"test","from":"Generator","id":9,"time":1724155045231}},"name":"test","type":"debug"} Пример использования -------------------- Соберём цепочку по подобию: |image1| В узле “Расписание” выберем json-файл с таким содержимым: .. code:: json [ { "Name": "TestDaily", "Repeats": true, "Json":{ "msg": "Test dayli" }, "RepeatsEvery": "Daily", "DailyTime": "09:25:00" } ] Ждём… Готово! Наша цепочка будет срабатывать ежедневно. |image2| .. |image0| image:: ../../_img/schedule_icon.png .. |image1| image:: ../../_img/schedule_chain.png .. |image2| image:: ../../_img/schedule_socket.png