ESP8266 MegaD api

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 01 янв 2017, 16:44

arbuzmaster писал(а):Получается, что в P9 - ADC нельзя ставить Ноль Period: 0 *0.1s ?
Думаю не в этом деле. Скорее всего Вы попробовали сохранить значение CMD на закладке Config. Пока не обращайте внимание на эти поля.

Андрей Николаевич
Сообщения: 4
Зарегистрирован: 01 янв 2017, 16:25

Re: ESP8266 MegaD api

Сообщение Андрей Николаевич » 01 янв 2017, 19:08

MegaESP_1.01b1-4m.zip 28.11.16

MegaESP_0.34b2-4m.zip 18.12.16
подскажите? что это как понимать в чём подвох?

У меня просьба можно всё это прикрутить к Apach PHP на windows 10 я не силён в этом желательно пример плиз!

arbuzmaster
Сообщения: 254
Зарегистрирован: 15 июл 2013, 23:43
Откуда: Астрахань

Re: ESP8266 MegaD api

Сообщение arbuzmaster » 01 янв 2017, 19:40

Можно например так:

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

<?PHP
	//Инициализирует сеанс
	$connection = curl_init();
	//Устанавливаем адрес для подключения, по умолчанию методом GET
	curl_setopt($connection, CURLOPT_URL, "http://espIP/sec/?cmd=2:1");
	//Выполняем запрос
	curl_exec($connection);
	//Завершает сеанс
	curl_close($connection);
?>
Почитайте про curl в php, можно и другими способами, это только один из некоторых.

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 02 янв 2017, 10:52

Андрей Николаевич писал(а):MegaESP_1.01b1-4m.zip 28.11.16
MegaESP_0.34b2-4m.zip 18.12.16
подскажите? что это как понимать в чём подвох?
Не обращайте внимание. Вопрос в концепте, будет немного позже.

Очередная версия:
- добавлен гистерезис для каждого порта, а также для ADC, для DSen "значение" * 0.1 градус, для ADC максимальный суммарный гистерезис в 510 пунктов т.е. +-255,
- для модулей ESP-01 выделен порт для DSenBUS (функция аппаратного сброса отключена), прочие варианты не убирал, у кого есть модуль могут проверить IN, OUT и остальные.
- исправлен выбор режимов работы порта io2 для модуля ESP-01.
MegaESP_0.34b4-4m.zip
(232.57 КБ) 163 скачивания
MegaESP_0.34b4-1m.zip
(230.69 КБ) 139 скачиваний
MegaESP_0.34b4-512k.zip
(230.69 КБ) 129 скачиваний
MegaESP_0.34b4-ESP01.zip
(229.96 КБ) 136 скачиваний

AvaloncheG
Сообщения: 54
Зарегистрирован: 27 фев 2015, 01:06

Re: ESP8266 MegaD api

Сообщение AvaloncheG » 02 янв 2017, 13:02

llams писал(а): Очередная версия:
- добавлен гистерезис для каждого порта, а также для ADC, для DSen "значение" * 0.1 градус, для ADC максимальный суммарный гистерезис в 510 пунктов т.е. +-255
Может я что то упустил, но не могли бы вы рассказать как шину настраивать, или она только с сервером работает?
Спасибо.
ezgif.com-video-to-gif (1).gif
ezgif.com-video-to-gif (1).gif (316.66 КБ) 3557 просмотров

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: ESP8266 MegaD api

Сообщение THK » 02 янв 2017, 16:37

Всех с наступившим Новым Годом!
Обновился до последней версии прошивки, возникли вопросы по спискам Act.

1. Добавьте пожалуйста описание как работать со списками в первый пост темы. Нашел упоминание о них только здесь: viewtopic.php?p=25626#p25626 и то непонятно, относится это только к датчикам или ко всем IO.

2. В меню EXT - IO осталось поле Act. Это баг? При заполнении этого поля для Р10, введенные данные появляются в списке Act под номером А00 ИМХО, это баг.

3. Поменять значение записи в списке не получается. (Датчики к ESP не подключены)

4. Список NetAct пустой, как в сообщении AvaloncheG.

lsar
Сообщения: 12
Зарегистрирован: 11 янв 2016, 23:03

Re: ESP8266 MegaD api

Сообщение lsar » 02 янв 2017, 20:08

Подскажите кто нибудь, как подружить прошивку "ESP8266 MegaD api" с MajorDoMo малой кровью, может уже готовые решения у кого есть?

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 03 янв 2017, 04:37

THK писал(а):Всех с наступившим Новым Годом!
Обновился до последней версии прошивки, возникли вопросы по спискам Act.

1. Добавьте пожалуйста описание как работать со списками в первый пост темы. Нашел упоминание о них только здесь: viewtopic.php?p=25626#p25626 и то непонятно, относится это только к датчикам или ко всем IO.

2. В меню EXT - IO осталось поле Act. Это баг? При заполнении этого поля для Р10, введенные данные появляются в списке Act под номером А00 ИМХО, это баг.

3. Поменять значение записи в списке не получается. (Датчики к ESP не подключены)

4. Список NetAct пустой, как в сообщении AvaloncheG.
Я писал, что пока не нужно на это обращать внимание.
Это пока только идея с малой долей воплощения. Никаких в этом багов нет. Как доделаю напишу.
Есть некоторые проблемы с реализацией.
Суть в следующем, имеем некий пул пронумерованных ячеек с командами Act и NetAct, и их можно будет привязывать к событию на датчике, термостате или порту MCP (пул для Act берётся от MCP). Это серьёзно сэкономит ресурсы чипа, а побочный эффект в возможности по разным событиям выполнять одну команду и на один датчик навесить несколько термостатов с разными событиями и командами.
Пока не определился с порядком формирования значений в списке. Есть идеи?

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: ESP8266 MegaD api

Сообщение THK » 03 янв 2017, 12:14

llams писал(а):Пока не определился с порядком формирования значений в списке. Есть идеи?
Не совсем понял в чем именно заключаются затруднения... Напишу как делал бы я.

Есть массив - список команд (ИМХО 16 - мало, 24 минимум), есть процедура, выполняющая эти команды. Остается добавить очередь команд, в которую записывается "1", если команду необходимо выполнить. Конвейер команд проверяется каждый цикл выполнения программы и пересекается с основной программой только через очередь. Все. Это отдельная часть программы, которая у Вас уже практически есть. Все действия выполняются исключительно через конвейер. Этот алгоритм успешно работает у меня на контроллере Wago: viewtopic.php?p=18448#p18448 отличия минимальны.
По событиям на входах/датчиках взводятся единички в очереди и все.

PS Что то мне подсказывает, что затруднения не в этом... :) Просто у каждого свой подход к написанию кода (Ваш код я не видел) и если не разбивать (разграничивать) большую программу на "мелкие" задачи, могут возникнуть серьезные проблемы с реализацией и стабильностью работы.

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 03 янв 2017, 12:44

THK писал(а):Что то мне подсказывает, что затруднения не в этом... :) Просто у каждого свой подход к написанию кода (Ваш код я не видел) и если не разбивать (разграничивать) большую программу на "мелкие" задачи, могут возникнуть серьезные проблемы с реализацией и стабильностью работы.
Действительно трудность не в этом. За подсказку с конвейером спасибо, но думаю он тут пока не нужен.

Проблема в том как проще сделать процедуру настройки. :-)
На примере шины 1-wire:
10 термостатов, нумерация которых определяется порядком расположения адресов датчиков т.е. в частном случае это может быть всего один датчик с 10-ю пороговыми значениями под каждое из которых есть параметр гистерезиса, тут все понятно и просто, уже почти доделал,
Имеем 16 Act и 16 NetAct без привязки к номеру порта.
На каждый термостат имеем флаг определяющий номер Act или NetAct, соответственно несколько или все термостаты могут по этому флагу ссылаться на один Act или Net.

Вопрос в следующем, как правильнее сточки зрения пользователя производить настройку данных параметров? Как сделал сейчас, отдельные поля и формы на закладке -- Config -- или непосредственно в меню самого термостата или порта, или отдельная форма которая будет доступна для вызова как из списка так и из закладки порта-термостата. Не будет ли путаницы с этим?

AvaloncheG
Сообщения: 54
Зарегистрирован: 27 фев 2015, 01:06

Re: ESP8266 MegaD api

Сообщение AvaloncheG » 03 янв 2017, 13:10

llams писал(а):Вопрос в следующем, как правильнее сточки зрения пользователя производить настройку данных параметров? Как сделал сейчас, отдельные поля и формы на закладке -- Config -- или непосредственно в меню самого термостата или порта, или отдельная форма которая будет доступна для вызова как из списка так и из закладки порта-термостата. Не будет ли путаницы с этим?
Если я правильно Вас понял, то лично мое мнение, в меню термостата/порта поставить чекбоксы, а поля заполнять на закладке -- Config --.
Только возникает вопрос в порядке следования.
Если мне в одном случае надо выполнить команды А01 - А05 - А03, а во втором А07 - А05 - А03.
По этому как вариант в термостате/порте одно поле и через ";" перечень полей из -- Config --.

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 03 янв 2017, 13:42

AvaloncheG писал(а):Только возникает вопрос в порядке следования.
Если мне в одном случае надо выполнить команды А01 - А05 - А03, а во втором А07 - А05 - А03.
По этому как вариант в термостате/порте одно поле и через ";" перечень полей из -- Config --.
Спасибо за мнение.
Что вы подразумеваете под порядком следования?
Команда в любом случае выполняется по событию, нет порядков. Событие на порту или термостате -> выполнение команды по номеру флага.

AvaloncheG
Сообщения: 54
Зарегистрирован: 27 фев 2015, 01:06

Re: ESP8266 MegaD api

Сообщение AvaloncheG » 03 янв 2017, 13:58

llams писал(а):Что вы подразумеваете под порядком следования?
Команда в любом случае выполняется по событию, нет порядков. Событие на порту или термостате -> выполнение команды по номеру флага.
llams писал(а):побочный эффект в возможности по разным событиям выполнять одну команду и на один датчик навесить несколько термостатов с разными событиями и командами.
Вторая часть Вашего предложения, если необходимо не просто выполнить разные события, но важен порядок выполнения.
Мне конечно сложно представить применение такого, возможно не стоит и заморачиваться с реализацией

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 03 янв 2017, 16:49

AvaloncheG писал(а): Вторая часть Вашего предложения, если необходимо не просто выполнить разные события, но важен порядок выполнения.
Нет, порядок не имеет значения. Дело в возможности использования одного датчика в разных термостатах с разными событиями и разными командами.

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: ESP8266 MegaD api

Сообщение THK » 03 янв 2017, 19:05

А нужна ли возможность назначать на событие несколько сценариев?
ИМХО лучше на странице конфигурации порта (датчика, термостата) выбирать сценарий из выпадающего списка, а в самих сценариях описывать необходимые действия в нужной последовательности и при необходимости с задержками.

PS Может быть стоит вытащить страницу сценариев из Config>CMD и расположить ее рядом с меню Config? Примерно вот так:

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

MegaESP api by ab-log.ru (fw: 0.34b4)
Config
Action
Net Action
-- Ports --
......
Иначе слишком много лишних действий надо делать конечному пользователю для того, чтобы просто посмотреть какие сценарии есть и какой номер у нужного сценария...

anapogo
Сообщения: 80
Зарегистрирован: 18 окт 2011, 18:05
Откуда: Житомир

Re: ESP8266 MegaD api

Сообщение anapogo » 04 янв 2017, 12:37

llams, с Новым Годом Вас. Решил подключить MegaD к MajorDoMo, но устройство не обнаружилось, я так думаю, отвечает немного не так, как должна оригинальная MegaD. Даже когда прописал IP ESP8266 MegaD - портов сервер не обнаружил... хотя устройство работает...

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 04 янв 2017, 12:56

anapogo писал(а):...Решил подключить к MajorDoMo...
Вас тоже с наступившим!
К сожалению я Вам не смогу помочь с MajorDoMo. Может есть возможность прописать настройки отдельно для каждого порта.

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 04 янв 2017, 18:07

Очередная версия:
- добавлен термостат для шины 1-wire (работает пока только Act),
- организован пул команд Act и NetAct для термостатов на шине 1-wire, MCP, в планах для прочих i2c_DSen,
Обновление серьёзное, после перехода пропадут настройки портов MCP.
GIF.gif
GIF.gif (331.78 КБ) 3370 просмотров
MegaESP_0.34b5-4m.zip
(234.46 КБ) 192 скачивания

foolhome
Сообщения: 164
Зарегистрирован: 18 окт 2014, 21:39
Откуда: Minsk

Re: ESP8266 MegaD api

Сообщение foolhome » 04 янв 2017, 21:27

llams, в -- DS List -- неплохо бы добавить отображение уже присвоенного номера для датчика.

Нашел еще интересную особенность если это баг, то супер !!!!, подключено 3 датчика, одному адресу прописал TS0, TS1 и TS2, теперь что получается, я могу на разную температуру одного датчика, присвоить несколько ACT из пула??? если так будет работать, то было бы великолепно, только надо сделать чтоб количество TS он не отображал автоматом, а в зависимости от поля "Count (1-10)"

P.S. Прописал, запустил на макете, все работает, несколько сценариев на один датчик !!!, llams, надо действительно сделать чтоб количество TS он не отображал автоматом, а в зависимости от поля "Count (1-10)"

P.S./P.S.
Дописано позже
Все, разобрался, в поле "Count (1-10)" ставим значение 10 и пиши хоть 10 полей ACT, может тогда все 16 пусть будут, а не 10

AvaloncheG
Сообщения: 54
Зарегистрирован: 27 фев 2015, 01:06

Re: ESP8266 MegaD api

Сообщение AvaloncheG » 05 янв 2017, 00:29

foolhome писал(а):Нашел еще интересную особенность если это баг, то супер !!!!
Это не баг, изначально так и планировалось.
llams, а почему для всех портов типа IN и АЦП не организовать пул команд Act и NetAct? Или это тоже в планах?

Ответить