Баг исправлен. Написал Вам на почту. Для связи со мной, помимо электронной почты (ее можно найти на сайте проекта), можно использовать стандартный трекер github'а.
Нет, это ReadOnly сценарий, он зависит от триггера, привязанного к геолокации определенного пользователя. Но система развивается, посмотрим, какие фичи станут доступны нам в будущем!
Я знаю что такое голосовые помощники. Я не про «включи свет», которое сейчас можно прикрутить чуть-ли не к реле напрямую, а про создание сценариев. Полноценных сценариев. Вы сказали, что Вас не устраивает программирование сценариев, а я отвечаю, что вместо классического программирования сценариев круто бы было создавать сценарии голосом, без писания «пока i<=10 мигать светильником», а сказав «поморгай светильником несколько раз», или «набери воду в ванну когда я сегодня приду домой», и, однозначно, это одна из функциональностей умного дома в будущем.
Для удобства, при открытии геокоординат не используется встроенная карта, а используется сформированная ссылка в браузер (на компьютере) и Intent на открытие геокоординат на Android (открываются Google Карты). Если открывается пустая карта, то значит пользователь еще не передал никаких геокоординат системе. Наверное, это тоже стоит обрабатывать и не давать пользователю открывать пустые геокоординаты.
По поводу программирования сценариев. Мне нравится концепция создания сценария голосом, типа «через 5 минут выключи ТВ», или «Когда я прихожу домой, то начни набирать ванну», а не программирование его текстом (или конструктором, как в Lazurite). Хорошая декомпозиция на уровне сценариев и плагинов позволит это воплотить в жизнь. Только для этого нужно очень сильно модернизировать архитектуру всей программы. На данный момент я как раз поставил себе такую цель и у меня есть мысли по этому поводу.
Создать сценарий -> Одиночное действие -> в конструкторе на первой строке «Изменить тип действия», там появится список всех доступных действий там будет вся работа с геолокацией в столбце «Геолокация» (на картинке он задизаблен, так как там в комплексном сценарии в левой стороне действия выбирается). Конкретно, чтобы открывать на клиенте позицию текущего пользователя, нужно выбрать «Открыть геокоординаты пользователя». Вообще, можно его создавать и в сложном сценарии с циклами и условиями, но удобнее один раз создать одиночное действие и потом его использовать уже в сложных алгоритмах, так читаемость и понятность возрастает.
Wifi-iot, безусловно, прекрасная вещь, ее вполне можно реализовать в Lazurite на уровне плагинов, так же, как реализован плагин ZWave и Modbus. Работа с плагинами сводится к абстракции некоей единицы, которая имеет определенное число параметров и имеет несколько методов (типа Get и Set, но немного усложненных, так как там еще передается контекст управления, в котором есть нужные для выполнения сценария вещи). У меня есть ощущение, что плагин для wifi-iot будет писать намного легче, чем тот же плагин для ZWave. Нужно бы мне побольше покопать про это, благо дома лежит esp-шка, которой как раз найду применение. Про то, как работают плагины, можно посмотреть здесь.
Сейчас да, но добрая часть кода кроссплатформенна и, конечно, хочется сделать порт на другие ОС. Основное, что не является переносимым на другие платформы, это часть, которая отвечает за работу WCF сервиса (благо, там не много кода, и перенести будет не слишком сложно), а вот серверный UI, который отвечает за конструирование сценариев, переносить будет сложнее.
Спасибо! В любом случае, система будет развиваться и у меня еще есть много идей как многое сделать. Одному, к сожалению, это трудно осуществить, поэтому считаю Lazurite не законченной программой, а стартапом, из которого можно развить нечто большее. На данный момент приоритетными считаю несколько дополнительных функциональностей, они описаны в конце статьи. Есть определенный взгляд на то, какой должна быть эта система в будущем.
Работает через HTTPS. Помимо этого, все запросы на сервер отправляются в зашифрованном виде в теле сообщения. Через эти запросы можно запускать сценарии, т.е. задавать входящие значения сценариям (в программе нет разделения на переменные и сценарии). Подробнее про это можно прочитать здесь (в разделе про удаленные сценарии), здесь. Возможно, будет смысл сделать отдельную либку, чтобы можно было из другой программы дергать сценарии. Про mqtt — пока его заменяет периодическое дерганье сервака с клиентов, нужно будет сделать.
Баг исправлен. Написал Вам на почту. Для связи со мной, помимо электронной почты (ее можно найти на сайте проекта), можно использовать стандартный трекер github'а.
К сожалению, я пока не реализовал MQTT. Сейчас есть ZWave, Modbus и еще много чего, не связанного именно с протоколами умного дома, помимо этого есть возможность написать плагин на C#, но это уже совсем для энтузиастов. Возможность реализовать MQTT в Lazurite сейчас обсуждается здесь и здесь.
Они отображаются по-разному