Противопожарные датчики в Умном доме на базе MajorD..
Author : Игорь П
Управление отоплением в Умном доме на базе MajorD..
Бесперебойное питание Умного дома на MajorDoMo <!--..
Данный модуль предназначен для добавления, редактирования и настройки пользователей системы MajorDoMo. При заполнении нового пользователя или редактировании существующего заполняются следующие поля: Имя пользователя: (*) - Имя пользователя системы Пароль: - пароль пользователя (можно оставить пустым) Имя: (*) - Имя на русском языке Цвет: - Цвет которым будет выводится имя пользователя в чате E-mail: (*) - ..
Данный модуль предназначен для добавления, редактирования и настройки терминалов системы MajorDoMo. При заполнении нового терминала или редактировании существующего заполняются следующие поля: Системное имя: (*) - Наименование терминала Название: (*) - Название терминала Хост (адрес): (*) - Расположение терминала (локальный, либо удаленный) может проигрывать медиа-контент - Пункт выбирается для терминала с использованием медиа проигрывателя MajorDroid API - ..
Модуль Новостных каналов предназначен для добавления лент новостей, анонсов статей, изменений в блогах и т. п. Модуль состоит из двух разделов: 1.RSS-channels 2.RSS-news Первый раздел предназначен для добавления,настройки новостных лент, редактирование существующих или удаление имеющихся каналов. При выборе существующего , либо добавление нового канала открывается окно для его настройки Заполняем содержимое полей: Title: (*) - Заголовок канала ..
Основная идея веб-переменных -- это возможность брать из интернета информацию для обновления свойств объектов внутри системы. Варианты применения: Текущее состояние и прогноз погоды Курсы валют/котировки акций Обновление времени восхода/захода солнца ... многое другое Веб-переменные позволяют переносить свойства объектов "внешнего мира" на объекты системы и в последствии использовать их для вывода в различных меню и в ..
Данный модуль предназначен для модуль слежения за USB-устройствами подключенными к системе MajorDoMo. Как уже говорилось на странице Установка/настройка . В файле start.bat закомментировано несколько встроенных приложений, которые можно раскомментировать при необходимости: neutron.exe -- синхронизация времени по атомным часам bluetoothview -- слежение за bluetooth-устройствами в радиусе действия batteryrun.exe -- реакция на тип питания компьютера (от батареии или от ..
Несколько видео про Шаблоны поведения по ссылке. Данный модуль предназначен для настройки реакции системы на определённые события либо последовательность событий. В данном случае, под событием понимается оповещение системы о чём либо (с помощью команды say). Эта же часть используется для обработки команд от пользователя в чате. Т.е. вы пишите в чате команду и по этим ..
Данный модуль предназначен для мониторинга и управления устройствами по протоколу SNMP (v1). Основные возможности: Чтение значения SNMP-свойст (с заданным периодом опроса) Установка значения SNMP-свойств Связь SNMP-свойств со свойствами объектов системы (синхронное чтение и установка) Важно: Для работы данного модуля необходимо, чтобы в конфигурации PHP на сервере была включена поддержка протокола SNMP. В Windows-дистрибутиве для этого нужно открыть на ..
Принцип простой -- при наличии на сервере bluetooth-стэка можно запустить сканер, который периодически сканирует эфир на наличие bt-устройств, собирая их метки. Такой сканер встроен в сборку под Windows, но под Linux можно довольно просто собрать что-то аналогичное -- заменив скрипт сканирования эфира (они есть в инете). Метками являются mac-адреса, они по идее должны быть уникальными. ..
Модуль скриптов предназначен для создания программных процедур, используемых в различных частях системы. Скрипт состоит из названия и, собственно, исполняемого кода. Код пишется на языке программирования PHP, в который добавлены некоторые функции, специфичные именно для системы MajorDoMo (подробнее в разделе Программирование). Пример настройки скрипта: Скрипты можно выполнить тремя способами: 1. Из другого скрипта либо блока исполняемого кода ..
Ниже представлена информация о ссылках, которые можно использовать для интерфейса и для работы с системой посредством HTTP-запросов. / -- домашняя страница /admin.php -- панель управления /menu.html -- меню управления /menu/<ID>.html -- отдельная ветка (элемент) меню управления /pages.html -- домашние страницы /page/<ID>.html -- отдельная домашняя страница /popup/<NAME>.html -- страница отдельного модуля <NAME> /popup/scenes.html -- список сцен /popup/scenes/<ID>.html -- отдельная сцена /module/<NAME>.html -- страница отдельного модуля <NAME> ..
Команды синхронизации представляют собой инструкции по работе с файлами в различных каталогах. Например, они могут быть использованы для автоматического копирования фотографий при вставке флэш-карты в компьютер или для автоматического обновления каких-либо файлов. Установка переменных, которые можно использовать в коммандах SET PROJECTS_DIR=D:/jey/projects Игнорирование папок и файлов, которые включают указанное слово IGNORE project_files Синхронизация (добавление новых и ..
Один из основных модулей системы, отвечающий за функционал каких то действий тех или иных объектов в системе, обработка событий, выполнение сценариев, вывод напоминаний и т.д. Данный раздел представлен в виде иерархической структуры состоящей из классов (Системные/предустановленные классы) объектов а также их свойств методов Некоторые примеры применения, настройки и использования данного модуля можно найти на странице ..
Важным аспектом функционирования системы управления Умным Домом является контроль состояния компонентов, её составляющих. В этой статье я покажу, каким образом можно организовать наглядный и эффективный контроль работы системы. (Ремарка: ниже описывается процесс создания необходимых классов и методов, но, начиная с некоторой версии системы, эти данные уже созданы и готовы к использованию/модификации.) Для вышеописанной задачи нам потребуется ..
Основной цикл системы В этой заметке я опишу, как функционирует система с точки зрения задач, выполняемых периодически. Для начала, имеет смысл сказать, что система может обрабатывать поступающие сигналы от внешних устройств и без запуска основных циклов. Система представляет собой веб-сервис и обработка входящего события в виде HTTP-запроса будет запущена сразу по поступлению запроса. Однако, есть ..
Задачи предназначены для планирования определенных действий роботом. Основное предназначение -- выполнение команд через какой-то промежуток времени от текущего, либо в какое-то определенное время. Основные команды
1 |
AddScheduledJob("title","commands",$datetime, $expire=60); // $expire в секундах |
1 |
ClearScheduledJob("title"); // может использоваться маска типа "title%" |
1 |
SetTimeOut("title","commands", $timeout); // $timeout в секундах (аналог AddScheduledJob("title","commands",time()+$timeout)); |
1 |
ClearTimeOut("title"); // аналог ClearScheduledJob("title"); |
Примеры использования Например, при срабатывания события от датчика движения, выключаем свет через 1 минуту после последнего движения:
1 2 3 4 5 6 7 8 9 10 11 |
// motionDetected() method example // включаем свет (команда вымышленная) If ($lightIsOff) { turnonlight(); } // сбрасываем таймер выключения //ps. При установке одноименного таймера ClearTimeOut можно не делать ClearTimeOut("TurnOffTheLight"); // ставим новый таймер SetTimeOut("TurnOffTheLight","turnofflight();",60); |
Или ставим будильник на завтра: [crayon-67ba094a49fcf2..
В систему встроено несколько функций для работы непосредственно с базой данных. Эти функции доступны как из исходного кода системы, так и из любого метода или сценария. Соединение с базой данных устанавливается автоматически, так что отдельно его открывать/закрывать нет необходимости. SQLSelectOne array SQLSelectOne(string query) Посылает SELECT-запрос на сервер MySQL, возвращаемым результатом которого может быть только одна ..
Общие функции DebMes($errorMessage, $logLevel) -- записывает сообщение в главный лог файл. Параметр $logLevel не является обязательным, и по умолчанию установлен как "debug". say($ph,$level,$from_user_id) -- говорит фразу (использует глобальные переменные $voicemode'' [именно говорить] и $commandLine [преобразует ответ в echo utf2win(), иначе просто echo]). $level - указывает уровень важности фразы (в зависимости от текущих настроек минимального уровня произношения, фраза ..