[Модуль] Мои блоки (myblocks)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
Divan
Сообщения: 140
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 27 раз
Поблагодарили: 10 раз

[Модуль] Мои блоки (myblocks)

Сообщение Divan » Пт авг 30, 2019 3:26 pm

Модуль "Мои блоки" это визуальный код для начинающих, этот модуль очень сильно помогает собрать нужный нам код. Во вложении есть инструкция, можете разобраться как это все работает.

При использовании данного модуля я обнаружил одну не удобность, это отсутствие самой темы про данный модуль "Мои блоки" и отсутствие в самом модуле отображение категории в виде дерева, сейчас категории отображаются в виде списка, было бы здорово, если это бы исправили.
Вложения
Что такое мои блоки_myblocks и как ими пользоваться.pdf
(444.87 КБ) 10 скачиваний
Безымянный.jpg
Безымянный.jpg (68.25 КБ) 332 просмотра
Безымянный2.jpg
Безымянный2.jpg (174.67 КБ) 332 просмотра
Xpenology + DSM 6.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
directman66
Сообщения: 2424
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 344 раза
Поблагодарили: 504 раза
Контактная информация:

Re: [Модуль] Мои блоки

Сообщение directman66 » Пт авг 30, 2019 3:48 pm

Можете тут расписать содержимое pdf файла?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram | +79122962262 WhatsApp
Аватара пользователя
Divan
Сообщения: 140
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 27 раз
Поблагодарили: 10 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение Divan » Пт авг 30, 2019 6:57 pm

Что такое мои блоки/myblocks и как ими пользоваться?

myblocks - это визуальный код в виде блоков. Зачем он нужен? Он нужен, чтобы облегчить людям в написании кода, которые не знают как писать код, также это позволяет не засорять сценарии сценариями, лучше создавать множество блоков, чем создавать множество сценарии.

Мои блоки находятся в разделе “Настройки”

1) Создаем метод для устройства
2) В “Мои блоки” создаем категорию, эта категория будет отражаться в списке Blockly
3) Создаем блок, указываем имя блока, указываем в какой категории будет находиться блок, выбираем тип блока: сценарии, метод, метод + параметры, свойство. Я выбрал метод, он работает. Свойство не работает.
4) При создании сценария, выбираем код "Blockly"
5) В списке "Blockly" появится созданная вами категория и блок
6) На этом все, дальше вы можете собирать блоки по своему усмотрению
Вложения
1 - Общий вид Мои блоки.jpg
1 - Общий вид Мои блоки.jpg (100.72 КБ) 303 просмотра
2 - Описание Blockly.jpg
2 - Описание Blockly.jpg (143.19 КБ) 303 просмотра
3 - Создаем метод.jpg
3 - Создаем метод.jpg (133.4 КБ) 303 просмотра
4 - Создаем метод.jpg
4 - Создаем метод.jpg (85.25 КБ) 303 просмотра
5 - Категории.jpg
5 - Категории.jpg (67.61 КБ) 303 просмотра
6 - Добавляем блок.jpg
6 - Добавляем блок.jpg (84.58 КБ) 303 просмотра
7 - Создаем блок.JPG
7 - Создаем блок.JPG (63.58 КБ) 303 просмотра
8 - Варианты сценарии.jpg
8 - Варианты сценарии.jpg (96.74 КБ) 303 просмотра
9 - Варианты сценарии визуально.jpg
9 - Варианты сценарии визуально.jpg (80.53 КБ) 303 просмотра
10 - myblockly в сценариях.jpg
10 - myblockly в сценариях.jpg (93.83 КБ) 303 просмотра
Xpenology + DSM 6.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 140
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 27 раз
Поблагодарили: 10 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение Divan » Сб авг 31, 2019 3:27 pm

Как правиильно в объектах создать свойства дней недели, понедельник, вторник, среда, четверг, пятница, суббота, воскресенье? В blockly я это добавил, но как заставить эти свойства работать? На скриншоте я показал пример, как хотелось бы.
Вложения
Безымянный2.jpg
Безымянный2.jpg (100.86 КБ) 259 просмотров
Xpenology + DSM 6.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Chainik
Сообщения: 880
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 105 раз
Поблагодарили: 254 раза

Re: [Модуль] Мои блоки (myblocks)

Сообщение Chainik » Сб авг 31, 2019 5:23 pm

del
Последний раз редактировалось Chainik Сб авг 31, 2019 6:05 pm, всего редактировалось 1 раз.
Аватара пользователя
Divan
Сообщения: 140
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 27 раз
Поблагодарили: 10 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение Divan » Сб авг 31, 2019 5:28 pm

Chainik писал(а):
Сб авг 31, 2019 5:23 pm
Да просто взять и написать кодом (не мучаясь с блокли):

Код: Выделить всё

$day_num=(int)date('w');
if ($day_num != "4" && timeBetween('22:00', '00:00')) {
//ВЫПОЛНЯЕМ ДЕЙСТВИЕ
}
Что означают эти коды?
1) date('w')
2) "4"
Xpenology + DSM 6.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 140
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 27 раз
Поблагодарили: 10 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение Divan » Сб авг 31, 2019 9:30 pm

Разобрался, у меня получилось то, что я хотел. Выкладываю пошаговую инструкцию. Таким образом через блоки можно будет закрепить любой сценарий за конкретный день недели. Настройки в "CRON" и "Мои блоки" создаются 1 раз, потом больше это делать не нужно, дальше можно просто собирать сценарии с помощью готовых блоков "Дни недели".

1) Создаем под объект Day в главном объекте Timer
2) Создаем в объекте Day свойства: Понедельник, Вторник, Среда, Четверг, Пятница, Суббота, Воскресенье
3) Если нет модуля CRON, то устанавливаем его и создаем там записи с днями неделями: Понедельник, Вторник, Среда, Четверг, Пятница, Суббота, Воскресенье. В записях дней недели мы прописываем код, который при запуске CRON в заданное время, меняется значение в свойствах Day. Если стоит значение 0, значит сценарии не сработает, а если стоит 1, то сценарии сработает.
Пояснение по Crontab
0 0 * * 1 - это означает, что цикл запустится в Понедельник в 00:00 (цикл запустится в 00:00, поменяется значение в свойстве Воскресенье с 1 на 0 и установит значение в Понедельник с 0 на 1)
0 0 * * 2 - это означает, что цикл запустится во Вторник в 00:00
0 0 * * 3 - это означает, что цикл запустится в Среду в 00:00
0 0 * * 4 - это означает, что цикл запустится в Четверг в 00:00
0 0 * * 5 - это означает, что цикл запустится в Пятницу в 00:00
0 0 * * 6 - это означает, что цикл запустится в Субботу в 00:00
0 0 * * 0 - это означает, что цикл запустится в Воскресенье в 00:00

4) В "Мои блоки" создаем блоки с днями недели и категорию "Календарь"
5) В настройках блока выбираем "Свойство", выбираем связанный объект "Day" и свойство день недели

Готово, теперь можно в моих блоках собирать код в блоках, который позволит собрать, нужный вам сценарии.
Вложения
01 - Создание объекта Day.jpg
Создание объекта Day
01 - Создание объекта Day.jpg (69.89 КБ) 223 просмотра
02 - Объекты свойства.jpg
Создание свойств в объекте Day
02 - Объекты свойства.jpg (123.17 КБ) 223 просмотра
03 - CRON синтаксис.jpg
CRON инструкция
03 - CRON синтаксис.jpg (99.39 КБ) 223 просмотра
04 - Общий вид CRON.JPG
Общий вид настройки в CRON
04 - Общий вид CRON.JPG (68.39 КБ) 223 просмотра
05 - CRON Понедельник.jpg
CRON Понедельник
05 - CRON Понедельник.jpg (60.02 КБ) 223 просмотра
06 - CRON Вторник.jpg
CRON Вторник
06 - CRON Вторник.jpg (56.94 КБ) 223 просмотра
07 - CRON Среда.jpg
CRON Среда
07 - CRON Среда.jpg (57.96 КБ) 223 просмотра
08 - CRON Воскресенье.jpg
CRON Воскресенье
08 - CRON Воскресенье.jpg (60.96 КБ) 223 просмотра
09 - Мои блоки - дни недели.jpg
Мои блоки - дни недели
09 - Мои блоки - дни недели.jpg (81.21 КБ) 223 просмотра
10 - Мой блок - понедельник.JPG
Мой блок - понедельник
10 - Мой блок - понедельник.JPG (33.32 КБ) 223 просмотра
11 - Мой блок - вторник.JPG
Мой блок - вторник
11 - Мой блок - вторник.JPG (33.62 КБ) 223 просмотра
12 - Пример графического кода.jpg
Пример графического кода
12 - Пример графического кода.jpg (223.97 КБ) 223 просмотра
Xpenology + DSM 6.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
xor
Сообщения: 1241
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 97 раз
Поблагодарили: 318 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение xor » Вс сен 01, 2019 10:21 pm

Divan писал(а):
Сб авг 31, 2019 5:28 pm
Chainik писал(а):
Сб авг 31, 2019 5:23 pm
Да просто взять и написать кодом (не мучаясь с блокли):

Код: Выделить всё

$day_num=(int)date('w');
if ($day_num != "4" && timeBetween('22:00', '00:00')) {
//ВЫПОЛНЯЕМ ДЕЙСТВИЕ
}
Что означают эти коды?
1) date('w')
2) "4"
если вы не узнаете, что такое date('w'), боюсь, вам придется для дней месяцев, месяцев, сезонов и тд то же самое делать(
Аватара пользователя
Divan
Сообщения: 140
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 27 раз
Поблагодарили: 10 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение Divan » Вс сен 01, 2019 11:26 pm

Если вы хорошо разбираетесь в коде и не поленитесь выложить несколько вариантов рабочих кодов (по дням, неделям, месяцам) в ветке [Модуль] Simple Calendar (app_calendar) и здесь, в виде блоков, например создать блоки в виде дней, месяцев, сезонов, то вам будут благодарны. Участник "Chainik" реально помог (за это ему огромное спасибо), он выложил рабочий код. Модуль "Мои блоки" пусть ограничен в коде, но он очень удобный и он реально помогает новичкам, и для тех, кто не знает код php, программистам и людям хорошо знающим код PHP, это конечно не интересно.
Xpenology + DSM 6.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
xor
Сообщения: 1241
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 97 раз
Поблагодарили: 318 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение xor » Пн сен 02, 2019 12:41 am

Divan писал(а):
Вс сен 01, 2019 11:26 pm
Если вы хорошо разбираетесь в коде и не поленитесь выложить несколько вариантов рабочих кодов (по дням, неделям, месяцам) в ветке [Модуль] Simple Calendar (app_calendar) и здесь, в виде блоков, например создать блоки в виде дней, месяцев, сезонов, то вам будут благодарны. Участник "Chainik" реально помог (за это ему огромное спасибо), он выложил рабочий код. Модуль "Мои блоки" пусть ограничен в коде, но он очень удобный и он реально помогает новичкам, и для тех, кто не знает код php, программистам и людям хорошо знающим код PHP, это конечно не интересно.
модуль календарь сам позволяет без блокли и без кода создавать повторяющиеся события, какие примеры? Для тех периодов, которых нет в модуле я пользуюсь кроном.
Ответить