Расписание

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

[
    {
        "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”

{"id":1,"in":{"DATA":{"msg":"Test weekly"},"METADATA":{"chain":"test","from":"Generator","id":9,"time":1724155045231}},"name":"test","type":"debug"}

Пример использования

Соберём цепочку по подобию:

image1

В узле “Расписание” выберем json-файл с таким содержимым:

[
    {
        "Name": "TestDaily",
        "Repeats": true,
        "Json":{
            "msg": "Test dayli"
        },
        "RepeatsEvery": "Daily",
        "DailyTime": "09:25:00"
    }
]

Ждём…

Готово! Наша цепочка будет срабатывать ежедневно.

image2