Pull to refresh

Comments 35

Mqtt брокер есть? HTTPS сервер есть? генератор-составитель http запроса из статичной части и параметров есть? Возможность запускать сценарии внешними http/https get post запросами есть? Возможность читать писать переменные теми же http/s get/post запросами есть? Есть ли статистика наработки? (кол-во включений-выключений устройств, сумарное время в день месяц год во включенном и выключенном состоянии). И самое главное — интеграция с гугл асистентом планируется?
Работает через HTTPS. Помимо этого, все запросы на сервер отправляются в зашифрованном виде в теле сообщения. Через эти запросы можно запускать сценарии, т.е. задавать входящие значения сценариям (в программе нет разделения на переменные и сценарии). Подробнее про это можно прочитать здесь (в разделе про удаленные сценарии), здесь. Возможно, будет смысл сделать отдельную либку, чтобы можно было из другой программы дергать сценарии. Про mqtt — пока его заменяет периодическое дерганье сервака с клиентов, нужно будет сделать.
Этот факт прекрасен :)
Теперь про внутреннюю часть — в квартире устройствам тоже обязательно https запросы уметь отрабатывать? esp8266 например неумеет в https но умеет http get post и умеет mqtt. она самый распространенный исполнительный механизм и она же самый распространенный узел считывания датчиков. wifi-iot посмотрите — в средах domotics и majordomo эта прошивка — 90% всех устройств.
Wifi-iot, безусловно, прекрасная вещь, ее вполне можно реализовать в Lazurite на уровне плагинов, так же, как реализован плагин ZWave и Modbus. Работа с плагинами сводится к абстракции некоей единицы, которая имеет определенное число параметров и имеет несколько методов (типа Get и Set, но немного усложненных, так как там еще передается контекст управления, в котором есть нужные для выполнения сценария вещи). У меня есть ощущение, что плагин для wifi-iot будет писать намного легче, чем тот же плагин для ZWave. Нужно бы мне побольше покопать про это, благо дома лежит esp-шка, которой как раз найду применение. Про то, как работают плагины, можно посмотреть здесь.
Управлять надо торлько тупым домом, умный должен сам все понимать.
К этому надо стремится, однозначно.
«Умный дом» умный настолько, насколько обучен житель дома.

Автор, классную штуку ты сделал, будешь продавать, или выложишь на гит?
Я скоро дом буду строить, хотелось бы использовать именно твою прогу, ну и свои новшевства привносить в процессе.

Спасибо! В любом случае, система будет развиваться и у меня еще есть много идей как многое сделать. Одному, к сожалению, это трудно осуществить, поэтому считаю Lazurite не законченной программой, а стартапом, из которого можно развить нечто большее. На данный момент приоритетными считаю несколько дополнительных функциональностей, они описаны в конце статьи. Есть определенный взгляд на то, какой должна быть эта система в будущем.
Сейчас да, но добрая часть кода кроссплатформенна и, конечно, хочется сделать порт на другие ОС. Основное, что не является переносимым на другие платформы, это часть, которая отвечает за работу WCF сервиса (благо, там не много кода, и перенести будет не слишком сложно), а вот серверный UI, который отвечает за конструирование сценариев, переносить будет сложнее.
а вот серверный UI, который отвечает за конструирование сценариев, переносить будет сложнее.

AvaloniaUI вам в помощь!
Пипец, титанический труд, все это причесать, еще и сайт с документацией.
Но боюсь… в корзину.
Не вижу преимущества над Openhab, domotics и majordomo, не говоря уж от Home-Assistant с его тысячей готовых плагинов.
У нас не хорошая тенденция — одна система умного дома на один язык программирования.
Почему бы не разобраться в том же HomeAss? И если архитектура устраивает, поизучать Питон как новый язык для себя, клевый же повод. Меня вот в HA кардинально программирование сценариев не устраивает, поэтому прикрутил NodeRed с нужными либами и они прекрасно живут вместе.
По поводу программирования сценариев. Мне нравится концепция создания сценария голосом, типа «через 5 минут выключи ТВ», или «Когда я прихожу домой, то начни набирать ванну», а не программирование его текстом (или конструктором, как в Lazurite). Хорошая декомпозиция на уровне сценариев и плагинов позволит это воплотить в жизнь. Только для этого нужно очень сильно модернизировать архитектуру всей программы. На данный момент я как раз поставил себе такую цель и у меня есть мысли по этому поводу.
это другое, это скорее голосовые помощники.
Уже сейчас подобное можно замутить прикрутив google ass или axela к любому умному дому.
Задержка 5 минут будет реализована на их стороне, а сама операция — апи умного дома.
Я знаю что такое голосовые помощники. Я не про «включи свет», которое сейчас можно прикрутить чуть-ли не к реле напрямую, а про создание сценариев. Полноценных сценариев. Вы сказали, что Вас не устраивает программирование сценариев, а я отвечаю, что вместо классического программирования сценариев круто бы было создавать сценарии голосом, без писания «пока i<=10 мигать светильником», а сказав «поморгай светильником несколько раз», или «набери воду в ванну когда я сегодня приду домой», и, однозначно, это одна из функциональностей умного дома в будущем.
И это не вам не мне, ни какому то другому опенсорсу не осилить. Это уровень Яндекса и Гугла. Мы сможем дать им Апи на элементарные действия (кубики). А жонглировать их на основе сложных голосовых команд (сценариев) будут они, опенсорс с ними тягаться не может.
Абсолютно согласен. Вывод один: в таких задачах нужен большой штат профессионалов.
Можно поподробней о прикручивании NodeRed к HA?
flows.nodered.org/node/node-red-contrib-home-assistant есть такая либа.
Там операнды под ловлю событий HA и для вызова сервисов HA. Посередине между ними можно творить все чего NodeRed может, а умеет он практически все.
Еще раньше все это крутилось раздельно, но месяц назад купил стик на Z3735 и вкрячил туда с бубном HASS.IO, там есть конкейнер докера с NOdeRed полностью готовый к интеграции
Но боюсь… в корзину.
Не вижу преимущества над Openhab, domotics и majordomo, не говоря уж от Home-Assistant с его тысячей готовых плагинов.

Возможно вы и правы.
Но… Может не стоит с ними конкурировать, а найти автору свою нишу потребителя. На мой взгляд преимуществ у них довольно много и тягаться с ними практически тяжело. но столкнувшись на практике, в чём проблема таких многофункциональных систем — они рассчитаны на энтузиастов или же профессионалов, нужно обладать (или же научиться) не малыми знаниями, чтоб развернуть и запустить систему.
У многих русскоязычной документации как таковой нет, есть разбросанные по разным форумам и ресурсам сведения. Допустим у меня, что установить Z-wave на малину ушло довольно много времени — даже разработчики протокола на оф. сайте не обновляют информацию по установке, описана была установка на Debian 7, хотя везде используется 9-ый.
На другой стороне УД от производителей по технологии Zigbee (тот же ксаоми и прочие) — просто и быстро в установке, но привязанность к производителю, его сервисам и ограниченность в использовании.
Вот с ними можно попытаться потягаться.
Запустил потестировать… очень сложно догадаться как же создавать сценарии.
В wiki написано, что есть тип сценария геокоординаты, не вижу такого при создании сценария!
Может быть нужно сделать уже готовые примеры сценариев?
Создать сценарий -> Одиночное действие -> в конструкторе на первой строке «Изменить тип действия», там появится список всех доступных действий image там будет вся работа с геолокацией в столбце «Геолокация» (на картинке он задизаблен, так как там в комплексном сценарии в левой стороне действия выбирается). Конкретно, чтобы открывать на клиенте позицию текущего пользователя, нужно выбрать «Открыть геокоординаты пользователя». Вообще, можно его создавать и в сложном сценарии с циклами и условиями, но удобнее один раз создать одиночное действие и потом его использовать уже в сложных алгоритмах, так читаемость и понятность возрастает.
всё это я видел… но!
создаю одиночное действие, тип = открыть геокоординаты..., выбираю юзера и устройство, запреты убираю, сохраняю
нажимаю на кнопку, открывается ссылка «yandex.ru/maps/?mode=whatshere&whatshere%5Bpoint%5D=не%C2%A0число%2Cне%C2%A0число&whatshere%5Bzoom%5D=13»
явно, что то не то!
упс… разрешил на мобильнике для программы местоположение, появились координаты
sorry
Для удобства, при открытии геокоординат не используется встроенная карта, а используется сформированная ссылка в браузер (на компьютере) и Intent на открытие геокоординат на Android (открываются Google Карты). Если открывается пустая карта, то значит пользователь еще не передал никаких геокоординат системе. Наверное, это тоже стоит обрабатывать и не давать пользователю открывать пустые геокоординаты.
Меня все время интересовала концепция умный дом, но сколько не сталкивался так и не находил в чем от него польза? Включение света, настройка климата, включение музыки и прочее это максимум экономия пару нажатий клавиш/выключателей в день, т.е. меньше минуты в день. Может кто-то раскрыть зачем он нужен? Или кинуть ссылкой на статью где это можно прочитать?
Как круиз-контроль в авто — удобство при некоторых стандартных сценариев. К примеру: приходя домой не нужно идти включать свет и закрывать окна (если вечер), запускать медиацентр, включать отопление/кондиционер, ждать закипания чайника. Можно пробежаться и все сделать, уложившись в минуту, но насколько ж приятнее, если жилище к твоему приходу уже готово!
Думаю у каждого своё мнение на счёт удобства, комфорта, востребованности тех или иных функций УД. Ещё кажется совсем недавно (лет 25-30) был выбор платить в три дорога за тот же ТВ с пультом ДУ, или вручную переключать каналы. А сейчас без пульта телевизора не найдешь. То же автоматическое отключение устройств, тех же бытовых, кухонных приборов. Хорошо, когда оно есть в устройстве, а если нет? Или покупать новый — подороже обычного, или же использовать функции Умного дома. К примеру: увлажнитель воздуха, вытяжка/вентилятор и т.д. Да и автоматизация — те же сценарии, влажность понизилась, включился увлажнитель, довольно удобно. Ну и ещё можно добавить про безопасность: разного рода датчики, актуаторы и видеонаблюдение. К тому же есть довольно большое удобство — пользования всего с одного пульта управления (смартфон/браузер). Как то так я понимаю эту концепцию.
Вообще-то на увлажнителе и осушителе есть крутелочка с какого до какого уровня стартовать. Но єто, конечно же, без ардуиньі и блютуза mqtt запроса и геолокации пользователя и возможности включать с айфона смартфона.
Самый простой пример — включение кондиционера за пол часа до прихода.
Сейчас самое распространенное исполнительное устройство — это ESP8266. Чтоб ваш проект взлетел нужна поддержка http get, post и mqtt. Тогда domotics будет нервно курить в сторонке.
В ближайшее время планирую разобраться с этим и, возможно, выпущу плагин для работы с wifi-iot.
Еще желательно барахло от Xiaomi прикрутить. И интерфейс не очень понятен
Не радует, что снова выходит вариант «умного дома» если бы все были программистами. А можно всех заинтересованных в реализации «умного дома» рассмотреть вопрос о его реальном наполнении, а не очередной вариации на тему мегапульта?
Результат работы очень крут. Взять и начать делать системно с задумкой о том, как это масштабировать, развивать и поддерживать не часто встречается.
Sign up to leave a comment.

Articles

Change theme settings