Простые устройства-функционал

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Простые устройства-функционал

Сообщение neromih » Пт ноя 17, 2017 4:29 pm

определения телефона для режима никого нет(охрана)
А если телефон ночью перешел в режим экономии и отключил блютуз вафлю и тд. МД - ага ставлю режим охраны.
Как следствие семья заик под утро, так как система начнет думать что произошло вторжение на частную собственность :)
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
Аватара пользователя
Vlado
Сообщения: 24
Зарегистрирован: Чт окт 19, 2017 2:24 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Простые устройства-функционал

Сообщение Vlado » Пт ноя 17, 2017 4:35 pm

Главное что костыли вполне рабочие, не на выставку делаем а для себя.
Мне пришлось систему установить, началось с воды -в скважине вода с большим количеством железа fe, fe2, fe3 и в местности хоть 100м бей скважину железа тож много.
Как вариант свои очистные, а из этого выходит либо что то китай-подобное за150000р (насчитали в среднем в фирмах) на неизвестно каких реагентах.
Либо свои очистные и тут все включать вручную или автоматизироваться.
В итоге бочка для отстаивания+компрессор+ионизатор+медицинская перекись дозировано и пара тройка фильтров ватных по 50р всем мд рулит.
Вода вполне норм
так все и началось
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Простые устройства-функционал

Сообщение neromih » Пт ноя 17, 2017 4:45 pm

Vlado писал(а):Главное что костыли вполне рабочие, не на выставку делаем а для себя.
Мне пришлось систему установить, началось с воды -в скважине вода с большим количеством железа fe, fe2, fe3 и в местности хоть 100м бей скважину железа тож много.
Как вариант свои очистные, а из этого выходит либо что то китай-подобное за150000р (насчитали в среднем в фирмах) на неизвестно каких реагентах.
Либо свои очистные и тут все включать вручную или автоматизироваться.
В итоге бочка для отстаивания+компрессор+ионизатор+медицинская перекись дозировано и пара тройка фильтров ватных по 50р всем мд рулит.
Вода вполне норм
так все и началось
Можно проще, НАААААМНОГО проще :)
А лучше бы рулило что то типа МегаД :) на автомате, именно процессом очистки.
Фильтр ватный? Не проще три фильтра формата по моему SL ниточные для магистральных линий? Стоят копейки, фильтруют до состояния непропускания воды :)
Готов вам помочь безвоздмездно - то есть даром :) просто мне интересно :)))

п.с. железо он же в воде одновалентное желез, как помню может окислить кислород, тобишь компрессор для рыбок еще дабавить, нафиг перекись водорода? ионизотор? - как обеззараживание? да проще УФ трубку пропускную поставить. Да и не одну бочку а две, переливашки., в одной отстаивается, в другую на через верхний уровень первой поступает отстоявшеяся вода. Да еще плюсом сделать сброс жижи с первой бочки :)
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
Аватара пользователя
Vlado
Сообщения: 24
Зарегистрирован: Чт окт 19, 2017 2:24 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Простые устройства-функционал

Сообщение Vlado » Пт ноя 17, 2017 5:57 pm

Можно проще, НАААААМНОГО проще :)
А лучше бы рулило что то типа МегаД :) на автомате, именно процессом очистки.
Фильтр ватный? Не проще три фильтра формата по моему SL ниточные для магистральных линий? Стоят копейки, фильтруют до состояния непропускания воды :)
Готов вам помочь безвоздмездно - то есть даром :) просто мне интересно :)))

п.с. железо он же в воде одновалентное желез, как помню может окислить кислород, тобишь компрессор для рыбок еще дабавить, нафиг перекись водорода? ионизотор? - как обеззараживание? да проще УФ трубку пропускную поставить. Да и не одну бочку а две, переливашки., в одной отстаивается, в другую на через верхний уровень первой поступает отстоявшеяся вода. Да еще плюсом сделать сброс жижи с первой бочки :)
МегаД подороже ардуинки и только на заказ, маяться с доставкой потому и исключил-по мне так mega2560 или due вполне достаточно
Когда строил дом в стены засунул метров 600 витой пары :) -так же определил место для сервера в логическом центре дома.
Потому сразу планировал централизованное управление и возможность включения всех систем вручную.
Железо 1-2 валентное в том числе и бактериальное (3 валентное) так что систему тупо по простой схеме включить можно , но лучше что -бы параметры можно было менять...Так как и состав воды зима-лето меняется..
1.Емкость для отстаивания -это первый шаг(маловато рыжая вода все равно через какое то время)
2.Компрессор сильно не улучшил положение
3.ионизатор улучшил но все равно вода при отстаивании рыжела(3 валентное железо осталось)
4.дозированно медицинская перекись до конца улучшила установку вода чистая
фильтра пару больших моющихся и пару ватных(тупо дешевые по 27.50р беру в мерилене) перекись копейки ..раз в квартал чищу от осадка он как раз и скапливается в фильтрах...все это дело в подвале а там местане много сильно не разгуляешься и (планировал промывку под тип обратного осмоса, но заленился
итог работает около года-нареканий нет :)
Кстати выход из режима охрана по паролю бы сделать в идеале на сцене
Есть идеи как :oops: :?:
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Простые устройства-функционал

Сообщение neromih » Сб ноя 18, 2017 6:51 am

Vlado писал(а):
Можно проще, НАААААМНОГО проще :)
А лучше бы рулило что то типа МегаД :) на автомате, именно процессом очистки.
Фильтр ватный? Не проще три фильтра формата по моему SL ниточные для магистральных линий? Стоят копейки, фильтруют до состояния непропускания воды :)
Готов вам помочь безвоздмездно - то есть даром :) просто мне интересно :)))

п.с. железо он же в воде одновалентное желез, как помню может окислить кислород, тобишь компрессор для рыбок еще дабавить, нафиг перекись водорода? ионизотор? - как обеззараживание? да проще УФ трубку пропускную поставить. Да и не одну бочку а две, переливашки., в одной отстаивается, в другую на через верхний уровень первой поступает отстоявшеяся вода. Да еще плюсом сделать сброс жижи с первой бочки :)
МегаД подороже ардуинки и только на заказ, маяться с доставкой потому и исключил-по мне так mega2560 или due вполне достаточно
Когда строил дом в стены засунул метров 600 витой пары :) -так же определил место для сервера в логическом центре дома.
Потому сразу планировал централизованное управление и возможность включения всех систем вручную.
Железо 1-2 валентное в том числе и бактериальное (3 валентное) так что систему тупо по простой схеме включить можно , но лучше что -бы параметры можно было менять...Так как и состав воды зима-лето меняется..
1.Емкость для отстаивания -это первый шаг(маловато рыжая вода все равно через какое то время)
2.Компрессор сильно не улучшил положение
3.ионизатор улучшил но все равно вода при отстаивании рыжела(3 валентное железо осталось)
4.дозированно медицинская перекись до конца улучшила установку вода чистая
фильтра пару больших моющихся и пару ватных(тупо дешевые по 27.50р беру в мерилене) перекись копейки ..раз в квартал чищу от осадка он как раз и скапливается в фильтрах...все это дело в подвале а там местане много сильно не разгуляешься и (планировал промывку под тип обратного осмоса, но заленился
итог работает около года-нареканий нет :)
Кстати выход из режима охрана по паролю бы сделать в идеале на сцене
Есть идеи как :oops: :?:
Варианты:
1. панель ввода с кнопками на стене.
2. авторизация что ли.

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

<form id="auth">
    <input type="password" id="pass" autofocus /><br/>
    <div id="err" style="display: none; color: red;">Кривой пароль</div>
    <button>Войти</button>
</form>
<script>
auth.addEventListener('submit', function (evt){
    evt.preventDefault(); // отменяем действие по умолчанию

    var xhr = new XMLHttpRequest;
    xhr.open('POST', '/ctrl.php', false); // отправляем синхронный запрос на сервер
    xhr.send('pass='+pass.value);

    if( xhr.responseText == 'invalid' ){ // проверяем ответ
        err.style.display = ''; // выводим ошибку
    } else {
        location.href = xhr.responseText; // переходим на страницу
    }
});
</script>
ctrl.php:

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

<?php
   $pass = isset($_POST['pass']) ? trim($_POST['pass']) : '';
   if($pass == $secret){
       echo "/secret-page.html";
   }  else {
       echo "invalid";
   }
?>
3. Отпечаток пальца в доме при входе повешать.
4. Модуль RFID - обычно продается брелок плюс карточка формата кредитки. 130-145 рублей стоит.
5. При просто входе на сайт МД установить пароль и для локальной сети и для внешней.
(с) По-умолчанию система разрешает доступ с любого адреса, однако можно ограничить его паролем при обращении из внешней сети, раскомментировав следующие строчки в файле ./config.php:

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

/*
 Define('HOME_NETWORK', '192.168.0.*');
 Define('EXT_ACCESS_USERNAME', 'user');
 Define('EXT_ACCESS_PASSWORD', 'password');
*/
После этого доступ к системе без пароля будет только для компьютеров и устройств из адресного пространства 192.168.0.*, для доступа из другой сети понадобится ввести указанное имя пользователя и пароль.
Или более подробней тут http://majordomo.smartliving.ru/Main/Ad ... upSecurity



П.С. А лучше на сцену не выводить режим охрана или наблюдение, я как понимаю у вас весит планшет на стене, подошел тыкнул включил свет и тд, залез тыкнул режим наблюдения и воруй :) Прописать кнопке которая будет ТОЛЬКО включать режим два состояния, 1 - когда включает режим охраны, 2 - когда пропадает со сцены. А на телефоне (я про сцену для него сделать 2 - состоянием режим отключения охраны :) Либо же все таки сделать как ставятся объекты на охрану, брелок таблетка, считыватель, повесить еще красный фонарь от сигнализаций и все :)
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
Аватара пользователя
Vlado
Сообщения: 24
Зарегистрирован: Чт окт 19, 2017 2:24 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Простые устройства-функционал

Сообщение Vlado » Сб ноя 18, 2017 3:08 pm

Вообщем интересное решение....
Что то затык вышел с кодом для бойлера, код мб большой или что грузит систему даж датчики движения чуток тормозят :?
if (getGlobal('Wodonagr1'.'.'.'alive') == '1') {
if (getGlobal('Wodonagr1'.'.'.'status') > '10' && getGlobal('Wodonagr1'.'.'.'status') < '100') {
if (getGlobal("Wodonagr1.status") < '65') {
callMethod("boil1.turnOn");
}
if (getGlobal("Wodonagr1.status") > '75') {
callMethod("boil1.turnOff");
}
if (getGlobal("Wodonagr1.status") < '55') {
callMethod("boil2.turnOn");
}
if (getGlobal("Wodonagr1.status") > '65') {
callMethod("boil2.turnOff");
}
if (getGlobal("Wodonagr1.status") < '50') {
callMethod("boil3.turnOn");
}
if (getGlobal("Wodonagr1.status") > '60') {
callMethod("boil3.turnOff");
}
}
}

if (getGlobal('Wodonagr2'.'.'.'alive') == '1') {
if (getGlobal('Wodonagr2'.'.'.'status') > '10' && getGlobal('Wodonagr2'.'.'.'status') < '100') {
if (getGlobal("Wodonagr2.status") < '65') {
callMethod("boil1.turnOn");
}
if (getGlobal("Wodonagr2.status") > '75') {
callMethod("boil1.turnOff");
}
if (getGlobal("Wodonagr2.status") < '55') {
callMethod("boil2.turnOn");
}
if (getGlobal("Wodonagr2.status") > '65') {
callMethod("boil2.turnOff");
}
if (getGlobal("Wodonagr2.status") < '50') {
callMethod("boil3.turnOn");
}
if (getGlobal("Wodonagr2.status") > '60') {
callMethod("boil3.turnOff");
}
}
Wodonagr1- темп датчик
Wodonagr2 -темп датчик
boil -тены их 3
реализовал через код в простых устройствах
}
куда его проще положить что бы и систему не грузил и регулярно отрабатывал бы :?:
планировщиком не сделать, там код не запихается
кроном тож по моему
через rules можно..но не совсем удобно
Засунул в метод что стартует по обновлению статуса так мд чуть не погас..
реализовал через код в простых устройствах
Вообще в мд куда можно еще код исполнительный запихать, в таймеры тож грузить будет систему
наверн
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Простые устройства-функционал

Сообщение neromih » Сб ноя 18, 2017 4:39 pm

У вас все время, gg gg gg )))) все время обращение к бд
Создайте переменные ))) типа того

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


$temperatura = gg("Sensor_temp03.value");
$tempmin = 10;
$tempmax = 75;

if ($temperatura < $tempmin)
callMethod("Relay01.turnOn");
if ($temperatura > $tempmax)
callMethod("Relay01.turnOff");
 
18 обращений )))
В скрипт же можно крутить в кроне, раз в 1 сек, 10 сек и тд

Два температурных два запроса, за цикл...

И значение лучше все таки в .value, статус .status должен иметь либо 1 - жив, либо 0 - не жив )) не жив а вкл или выкл ))

И в первой части кода абракадабра )))

П.с. и зачем по двум датчикам условия для одних и тех же значений? Коллизия будет:
Пример:
Т1 - температура датчика 1
Т2 - температура датчика 2

Т1 = 74
Т2 = 76
Первое условие по вашему коду не чего не сделает так как температура Т1 не дошла до 75, а условие Т2 выключит его. Цикл новый включит, выключит и т.д. вкл выкл вкл выкл....

Привяжите к одному, второй бесполезен датчик, скорее все у вас ds18b20 надёжная вполне вещь, одного достаточно.

Пишу с телефона маленько не удобно, могут быть ошибки :)
Про код

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

if (getGlobal('Wodonagr1'.'.'.'alive') == '1') если жив
{
if (getGlobal('Wodonagr1'.'.'.'status') > '10' && если температура больше   getGlobal('Wodonagr1'.'.'.'status') < '100') { и меньше
if (getGlobal("Wodonagr1.status") < '65') { условие в условие 
callMethod("boil1.turnOn");
}

 
Замудренно )))

И в промежуточных значениях используйте =< больше или равно, меньше или равно, иначе при значение к примеру 65 будет затуп ))

Про крон, сделайте сценарий, а в кроне запускайте сценарий )))
За это сообщение автора neromih поблагодарили (всего 2):
Vlado (Вс ноя 19, 2017 12:06 am) • Denis_k (Вс ноя 19, 2017 12:13 am)
Рейтинг: 2.33%
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Простые устройства-функционал

Сообщение neromih » Сб ноя 18, 2017 5:29 pm

Пример сценариев, все они в кроне и работают, частота запуска в кроне каждую минуту раз в час и в определенное время.
В кроне Некст ран даст ран ошибка ))) внимание не обращайте ))
Вложения
Screenshot_2017-11-18-21-35-17-789_com.sonelli.juicessh.png
Загрузка системы
Screenshot_2017-11-18-21-35-17-789_com.sonelli.juicessh.png (500.2 КБ) 5474 просмотра
Screenshot_2017-11-18-21-31-20-397_com.android.chrome.png
Крон
Screenshot_2017-11-18-21-31-20-397_com.android.chrome.png (262.85 КБ) 5474 просмотра
Screenshot_2017-11-18-21-26-31-832_com.android.chrome.png
Сценарии
Screenshot_2017-11-18-21-26-31-832_com.android.chrome.png (180.88 КБ) 5476 просмотров
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
Аватара пользователя
Vlado
Сообщения: 24
Зарегистрирован: Чт окт 19, 2017 2:24 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Простые устройства-функционал

Сообщение Vlado » Вс ноя 19, 2017 12:11 am

По обращению к базе данных эт да я совсем не подумал :oops: , в ближайшее время переделаю условия и код вообщем
Пока решил вопрос так засунул в сценарий и таймер на 2с ну и соответственно в onNewMinute- пока вроде все в норме.
(водой то пользоваться нужно)
по авторизации запустил...сделал гостя -без доступа к настройкам (для всех)
ну и себя в качестве админа..
Хотелось бы другого, допустим уходят все включаем - режим охрана
При этом терминалы и компьютеры блокируются и вместо сцены появляется поле для ввода пароля(в идеале тоже сцена но всегда активная когда включена охрана..
например на ней несколько иконок....и нужно для переключения нажать на несколько в определенной последовательности что бы экран перешел на главную.
СпойлерПоказать
20171119_072005.jpg
20171119_072005.jpg (146.16 КБ) 5438 просмотров
Последний раз редактировалось Vlado Вс ноя 19, 2017 1:44 am, всего редактировалось 3 раза.
Аватара пользователя
Vlado
Сообщения: 24
Зарегистрирован: Чт окт 19, 2017 2:24 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Простые устройства-функционал

Сообщение Vlado » Вс ноя 19, 2017 12:51 am

И значение лучше все таки в .value, статус .status должен иметь либо 1 - жив, либо 0 - не жив )) не жив а вкл или выкл ))
В mqtt приходят значения в свойства, как то сразу указал статус в качестве изменения(так было по умолчанию по моему)
а в качестве жив мертв выступает свойство ***.alive
А так и получается реле к примеру...0 и 1-значения вкл и выкл соответственно
Если значение буду в value выводить, то зачем статус если есть alive ?
Ну и интеграция дополнительная или я чего то не понял?
Если значения в .value и .status переключение режимов работы то нужно еще дополнительно связывать между собой .value и .status???
П.с. и зачем по двум датчикам условия для одних и тех же значений? Коллизия будет:
Пример:
Т1 - температура датчика 1
Т2 - температура датчика 2
Это если один датчик выйдет из строя ( Wodonagr2.alive=0 к примеру )
или -1900 значение прилетит и тут останется один датчик температуры
Но согласен нужны возможно еще доп условия :D
Хотя коллизий неет...датчики стоят рядом дублируя свои функции
по температуре условие равно по моему особо не нужно так как температура меняется быстро опрос раз в 4 секунды водонагреватель не большой и 3 тэна , тут по моему важно что бы если больше то выключало ,а если меньше то включить...и так как тэнов несколько в целом получается достаточно экономная и динамичная система
Ответить