Pull to refresh
2
0

User

Send message
Список поддерживаемых устройств в Google Home велик, но добавить какое-то свое устройство или свое API не получилось. Возможно я
плохо искал, если кто знает, напишите в комментариях.


Вообще, API по устройствам умного дома у Google есть: github.com/actions-on-google/smart-home-nodejs
Но там сам черт ногу сломит, я пытался разобраться — не получилось. Хорошо, что один разработчик из Германии изобрел вот это:
about.gbridge.io Исходный код лежит здесь: github.com/kservices/gBridge
Если коротко, это прокладывает мост MQTT -> Google Assitant. Этой штукой можно пользоваться через его сервер (Hosted) либо поднять у себя в докере или руками. Самое главное, что всю авторизацию, добавление устройства и т.д. она берет на себя. Вам лишь остается сказать или ткнуть на экране в «Turn kitchen lights» и в топик mqtt падает home/kitchen/light сообщение «1». И наоборот.

Но по-моему это совершенно гигантский и бесмысленный оверхед — почему в настройках Google Home нельзя указать сразу локальный сервер для своих команд, непонятно.

Локальный сервер нельзя, Google после распознавания команды отправляет запрос на HTTPS сервер, доступный извне.
Конечно, это все равно… такое. Команды Apple Siri работают мгновенно, потому что Homebridge — как раз таки локальный сервер. Он не требует внешнего IP, SSL сертификата и HTTPS доступа и прочего и прочего.

Возможно, есть обходной путь если в своем устройстве эмулировать одно из уже поддерживаемых в Google Home устройств.


Попробуйте gBridge. Если ваш умный дом уже работает по MQTT, добавить свои устройства в Google Assistant не составит труда. Большой плюс по сравнению с Apple, что вы сможете управлять домом с любого телефона с Google Assistant. В случае с Apple нужно дома оставлять подключенный к питанию и Wi-Fi планшет iPad или Apple TV, служащий хабом для умного дома. Ну или колонка Apple Homepod, но она дорогущая.
С бекэндами nginx там все понятно, вы лучше напишите про распределенную базу данных.
Нужно обеспечить 99,99% доступность системы. При выходе из строя одного сервера Nginx переключит на другой бекэнд, а база?
Хотелось бы, что бы каждый из бекэндов был полностью независимый, чтобы при возвращении онлайн он собирал с других серверов изменения в свою базу и продолжал работать, распределяя нагрузку в системе. Как это хоть примерно реализовать?

Magisk скроет root от банковских приложений.

Так вот, злоумышленник выполняет все эти шаги и выбирает вариант «Оплата картой», после чего достаёт свою карту и уходит.

Я так понимаю, что никакую карту он не достает, а просто не вставляет. Ведь если вытащить карту, то все готовящиеся операции отменятся.
в терминалах других банков стандартные настройки предполагают сначала выбор способа оплаты (карта или наличные), а уже потом ввод реквизитов платежа. С такими настройками подобное мошенничество исключено.

Вот и решение. Впрочем, нанотехнологии Грефа работают как всегда:
в Сбербанке не считают проблемой текущие настройки терминалов

Есть AstraLinux, у ее версии Special Edition есть сертификат ФСТЭК.

Отдают. Но раз в две недели требуют вернуться в страну регистрации аккаунта (в моем случае, Италию) с помощью VPN.
Прошел почти год с того момента, как появилась возможность создавать свои навыки для Алисы — голосового помощника от Яндекса.

Прошел год, а воз и ныне там:
Использовать навык Алисы можно, только если этот навык опубликован в каталоге

Ну вот у меня Алиса в телефоне, залогинена в мой Яндекс аккаунт. Дайте мне свободно общаться со своим ботом в рамках своего аккаунта безо всякой модерации!
Начинка очень вкусная, но что там с охлаждением? У меня Orange Pi Zero c наклеенными радиаторами стабильно 73 градуса. Та же малинка Pi 3 Model B+ около 50 градусов безо всяких радиаторов. И это все практически без нагрузки, работает лишь роутинг трафика для пары компьютеров + брокер Mosquitto. Ну и Wi-Fi на Rapberry работает куда стабильнее, чем на Orange.
В Chrome navigator.onLine показывает не фактическое нахождение в интернете, а лишь наличие соединения с LAN / роутером. Так что толку от navigator.onLine мало, попробуйте на этой странице нажать F12 и на вкладке Network поставить галку Offline, ничего не изменится:
bug336359.bmoattachments.org/attachment.cgi?id=220609
esp8266. К пинам подведены старые, отвязанные от 220В выключатели. И прошивка (Arduino IDE) поддерживает двусторонний постоянный мост между Acync TCP подключением к порту 55443 лампы и MQTT брокером.
Если лампу включить извне через внешний сервер фирменным приложением, она напишит JSON сообщение об этом через открытое TCP соединение в esp8266, он отправит сообщение в топик MQTT. И наоборот.
Одно дело, если у вас пара значений с датчика температуры по UDP потеряется, и совсем другое, если потеряется сообщение об открытии входной двери / срабатывания датчика движения, если в эту же систему завязать охранную сигнализацию. В MQTT все-таки можно прописать QoS = 2 с гарантированной доставкой.
MQTT как он есть (а заимплеменчен везде 3.1.1) настаивает на том, чтобы посылать PUBLISH пакет (то есть наше сообщение в сторону брокера) всем получателям, в том числе и отправителю. Эффект от этого маразма фееричен — тот же OpenHAB не может отправлять и получать данные в MQTT под одним и тем же именем. Это означает, что организовать на базе MQTT шину (несколько модулей, которые обновляют значение одного и того же объекта и пользуются им же) нельзя.


Есть такое. Для управления светом не критично, допустим при нажатии аппаратной кнопки включается свет через Wi-Fi Async TCP командой (лампы Xiaomi Yeelight) и тут же пишется сообщение «1» в MQTT топик home/lights/room. Контроллер ловит еденицу в топике и еще раз отправляет команду на включение света через Wi-Fi, которая ни на что не влияет, свет уже включился.
Если сильно критично, то к топику можно дописать set/get, например home/lights/room/set
Но это изврат. Так делает, например, homebridge-mqtt, мост с яблочным Homekit.

Я у себя текущие значения всех топиков храню в ОЗУ своей управляющей программы-демона. И вся логика прописана в ней, она разруливает все ситуации. Но теряется автономная связь модулей между собой, все идет через центр.

Кстати, а если сделать UNSUBSCRIBE от топика, послать сообщение, а потом заново подписаться? Если сообщение не с Retain флагом, то, по идее, мы его у себя уже не увидим?
Правда, там все асинхронное, и сообщение неизвестно когда дойдет, так что идея так себе.
Для быстрого старта советую опубликовать приватный навык, они сейчас проверяются с минимальными требованиями:

Навык проверяется на имя и активационную фразу, так как база общая для всех разработчиков.


Почему база фраз общая для всех разработчиков, если навык при-ват-ный? Меня этим Алиса отторгнула от себя. У меня есть аккаунт Яндекса и колонка, дайте мне в рамках моего акка делать, все, что я хочу, безо всяких модераций! Хоть погоду в Крыму, да что угодно, это мой умный дом, как хочу, так и командую, хоть матом. И не собираюсь публиковать эти «навыки».

Чушь какая-то.
Баннеры бесят именно тем, что они баннеры. Ну нужно повесить уведомление о кукисах, ну влепи ты его текстом на саму страницу, сбоку где-нибудь или в футере. Зачем поверх контента вешать?
В демке кусок сжатой каши из JavaScript весом 230 кбайт не делает ровным счетом ничего. Значение счетчика не сохраняется, между открытыми вкладками не синхронизируется. Пример можно было бы и попрактичнее и понагляднее сделать.

Плюс, даже в этом ничего не делающем приложении и то иногда проскакивает:
«Please, click here or reload the page. New content is ready.» при нажатии на кнопку About.
А если сайт будет чуть сложнее?

Мне становится грустно от таких вот «чудесных» приложений. А уж на CSS без слез смотреть вообще нельзя.
А зачем для включения света релешкой полноценный компьютер на Linux?
Чем не устроил банальный ESP8266?
>порядок инициализации глобальных объектов не определен

Это почему это? Можно заставить компилятор инициализировать глобальные переменные в определенном порядке.
Для GCC это init_priority
Для VC++ #pragma init_seg
Steam прекрасно все раскачивает, часто вижу скорость загрузки игр 65—75 Мбайт/сек на гигабитном канале.
Потестил немного, отклик в обычных программах действительно стал отзывчивее. Но с играми чуда не случилось, большинство просто не видят видеокарту при запуске из RDP. Например, тот же самый CS: GO. Только самые-самые новые игры на свежих движках представляют собой исключение из правил: Dota2(игра старая, но движок вполне новый), PUBG. Все старые как не работали по RDP, так и не работают, никакой «мощи» там нет. Та же Star Wars Galactic Battlegrounds (клон Age of Empires 2) при запуске ругается на отсутствие Direct Draw (!!) ускорения 2D графики!
Теперь для комфортной работы с 3d моделями, программами рисования и прочими графически сложными системами не требуется ничего, кроме Windows 10 и RDP.


Не-не! Явно нужна какая-то еще магия. Поскольку есть две машины с Windows 10 1709, RDP 10.4 supported и… как обычно, никакое 3D в RDP сессии не работает, как и не работало никогда. Как у вас работает 3D? Все программы и игры пишут, что не видеокарты.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity