Arduino, ESP8266, Raspberry Pi 2 && OpenHab. Умный дом: азы управления.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 12 май 2015.

  1. ИгорьК

    ИгорьК Давно здесь

    То есть вам надо восстановить АТ прошивку на модуле? Я так до компа и не добрался, но точно помню, что у Амперки в вики есть инструкция как это делается. Поищите.

    По ссылке раздел "Перепрошивка":
    http://wiki.amperka.ru/продукты:troyka-wi-fi
     
  2. BlackWolfSpb

    BlackWolfSpb Нуб

    Благодарю, вопрос снят
     
  3. Egony

    Egony Нерд

    Три дня как зарелизился OH 2.3. Подробности тут: https://github.com/openhab/openhab-distro/releases/tag/2.3.0

    Несмотря на пробелы в документации, OH2.2 в сравнении с 1.8 имеет существенный прогресс (задницей попугая не пользуюсь, только текст, только хардкор). Надеюсь, 2.3 будет с новыми багами лучше :)
     
    ИгорьК нравится это.
  4. SergeiL

    SergeiL Гуру

    По поводу управления освещением по солнцу, перешел с варианта анализа времени заката/рассвета (типа: через 10 минут после заката) на вариант анализа угла на солнце.

    Мне показалось, что включение выключение освещения, стало происходить примерно при одинаковой уличной освещенности вне зависимости от времени года.

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

    Items:
    Код (Text):
    Number    Elevation          "Высота солнца [%.2f °]"       (Astro)        {astro="type=ELEVATION"}
    Switch    SUN_Light_Switch   "Ночное освещение"             (Astro)  
    Rules:
    Код (Text):
    rule "Elevation Changed"
    when
        Item Elevation changed  
    then
        if (Elevation.state < -1 && Elevation_Light != 1 )
        {
            sendCommand(SUN_Light_Switch, ON)
            Elevation_Light = 1
        }
        else if (Elevation.state > -2 && Elevation_Light != 0 )
        {
            sendCommand(SUN_Light_Switch, OFF)
            Elevation_Light = 0
        }
    end    
    Elevation.state < -1 - это закат, солнце уходит за горизонт и угол на солнце стал меньше чем -1.0 градус.
    Elevation.state > -2 - это скоро восход, солнце поднимается и угол на солнце стал больше чем -2.0 градуса.


    SUN_Light_Switch - виртуальный переключатель.
    Ну а дальше в зависимости от присутствия людей, открытия дверей, и состояния SUN_Light_Switch, включаем, выключаем, или не включаем освещение.;)
     
    ИгорьК нравится это.
  5. ИгорьК

    ИгорьК Давно здесь

    Предполагаю, что солнце крутится вокруг земли равномерно со скоростью 360/24*60 угла в минуту. :cool:

    Поэтому, если хватать углы после перехода солнца через горизонт то это тоже время :)
     
  6. SergeiL

    SergeiL Гуру

    Главное, чтобы дух Коперника не услышал:).

    Это более справедливо к широтам, близким экватору. :)

    Там продолжительность сумерек практически одинаковая, круглый год, 20-24 минуты.
    Гражданские сумерки это от 0 до -6 градусов.

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

    Для Москвы длительность гражданских сумерек уже 35-60 минут.
    Для Питера еще больше. В дни летнего солнцестояния гражданские сумерки длятся от заката до рассвета.
    А в Мурманске, солнце совсем не заходит за горизонт летом.;)
     
    Последнее редактирование: 3 июл 2018
    Egony нравится это.
  7. Dgoneee

    Dgoneee Нуб

    Здравствуйте, я новичёк в сложном деле освоения OpenHab, работал с жпио малинки по этой инструкции, https://www.mksmarthouse.com/gpio-binding , получилось всё как и должно было... upload_2018-8-1_17-51-16.png

    при нажатии кнопки Button интерфейс показывает "закрыто",
    1) Вопрос как сделать чтобы при нажатии кнопки включался или выключался (изменял положение ) канал один, подозреваю что делается это в правилах, но как писать правила не представляю, если не сложно покажите как их можно писать?
    2) значки отображаются как кружёчки с палочкой как можно поменять менять, например на лампочку...
    зарание большое спасибо....
     
  8. Arkad_snz

    Arkad_snz Гик

    Не понятно - чего вы добиваетесь? - Индикации восхода/заката, или комфорта в помещении?
    Если комфорта, то и регистрируте его уровень, и корректируйте лампами.
    Давайте еще включать свет по "соседка Маня пошла корову доить"

    У чукчи спрашивают:
    - Какая будет зима - теплая/холодная?
    - Однако - все люди с метеостанции в лес ушли - дрова на зиму заготавливают - холодная будет зима!
    ----- Продолжение:
    Чукча отправляется в лес за дровами на зиму.
    На следующий день метеорологи - "Видать, зима будет холодная - вон - чукча дрова запасает!"

    А, все потому, что все ориентируются не на первичные признаки (показания приборов, приметы...), а на побочные (никак не связанные с зимой)., а это уже шаманизм!
    При таком способе детектирования "темно, пора свет включать" впору не включатель дергать, а в бубен стучать!
     
    Последнее редактирование: 2 авг 2018
  9. SergeiL

    SergeiL Гуру

    То, чего я добивался - в этом вопросе достигнуто.;)

    Мне нужно было сделать включение дежурного, ночного освещения в коридорах.
    Дежурное освещение в коридорах должно было включаться когда кто-то есть дома (не зачем включать когда дома нет никого).
    Когда кто-то выходит из комнаты с включенным верхним светом в коридор, должно включаться нормальное освещение коридора. А если во всех примыкающих комнатах свет выключен (ночь) верхнее освещение включать не нужно, дабы не делать перехода из темноты в ярко освещенное помещение.

    Критерий того, что все работает как надо - домочадцы не задумываются, что что-то не так.
    На мой вопрос, как со светом в коридорах я слышу ответ: "А что, там что то не так ? не замечали?"
    То есть человек не должен задумываться, что что-то нужно делать дополнительно, или что-то не так работает.

    А как Ваша Bluetooth-гарнитура для мобилы поживает? Закончили, уже прочти год прошел?;)
     
  10. Arkad_snz

    Arkad_snz Гик

    Ну, вот - вы все конкретно расписали без заката/рассвета.
    Вот и ставьте датчики освещенности и присутствия в комнатах и коридоре. Логику - см. выше ваше же описание.

    Супергарнитура (если вы про телефон-перчатку) - медленно ворочается в голове - эти полгода провел в больнице - только и имел возможность подумать, да порисовать немного. Массу идей накопил.
     
  11. SergeiL

    SergeiL Гуру

    Сочувствую:(.
    У меня как раз, все прекрасно работает по расчету угла на солнце, если Вы не поняли. ;)
    Поэтому, датчики освещенности не нужны :)
     
  12. Arkad_snz

    Arkad_snz Гик

    Рад за вас.
    А, как вы пользуетесь освещением без Ардуино!?
    Если вас просят - "Включи свет - темно - не вижу ничего", то вы берете сектант, измеряете высоту солнца, долго на бумажке вычисляете - попадает ли измеренное значение "в вилку", и отвечаете - "Солнце еще высоко - неграм пора на плантации!", "Отставить свет!".
    Теперь я сочувствую...
    Для полноты образа солцепоклонника рекомендую сделать карманные солнечные часы - стильно будет выглядеть попытка ответить на вопрос коллеги - "Не подскажете - который сейчас час - не пора ли на обед?".
     
    Последнее редактирование: 3 авг 2018
  13. ИгорьК

    ИгорьК Давно здесь

    Знаете, у меня уличное освещение работает приблизительно так же, по солнцу. Может, вы просто сделаете еще что-то полезное и поделитесь со всеми, а критиковать не будете?
     
  14. Arkad_snz

    Arkad_snz Гик

    "приблизительно так же" - уличное освещение регулируется освещенностью, а не углом на солнце.
    Угол на источник, и освещенность - это "так же"!?
    Не, корреляция, конечно, есть но она не равна единице!.
    Или "похоже" - "то же", что и "равно"!?
     
  15. ИгорьК

    ИгорьК Давно здесь

    У меня свет на улице включается через 30 минут после захода солнца и никакая освещенность при этом не измеряется.
     
  16. Arkad_snz

    Arkad_snz Гик

    Чудо!
    Свет на столбе зажигается сам собой, ниотчего, нипочему, и, видимо, низачем!
     
  17. ИгорьК

    ИгорьК Давно здесь

    Да. А что?
     
  18. SergeiL

    SergeiL Гуру

    Ну да, это как для древнего Египтянина часы.
    По стрелкам понятно когда утро, день, ночь, и не нужно из дворца выходить и на освещенность смотреть.;)
     
  19. edgi

    edgi Нерд

    Здравствуйте! Вы как то давным давно писали эту заметку с тех пор много воды утекло и яндекс сильно изменился внедрив api и плату за использования яндекс погоды. Искал новые методы получения данных, но толком ничего не нашел. Удалось только следующее:
    https://export.yandex.ru/bar/reginfo.xml?region=ХХХХХ
    Регион можно посмотреть тут https://pogoda.yandex.ru/moscow/informer

    img src="//info.weather.yandex.net/213/1_white.ru.png?domain=ru" border="0" alt="Яндекс.Погода"/
    213 это регион

    Может кому то пригодиться кто будет искать (спасибо kongen):
    Код (Text):
    Group MyWeather
        Number    YandexTemp    "Температура [%.1f °C]"    <temperature>    { http="<[http://export.yandex.ru/bar/reginfo.xml?region=14.xml:30000:REGEX(.*?</pressure>.*<temperature.*>(.*?)</temperature>.*<time_zone>.*?)]" }
        Number    YandexHumi    "Влажность [%s %%]"    <humidity>    { http="<[http://export.yandex.ru/bar/reginfo.xml?region=213.xml:120000:REGEX(.*?<dampness>(.*?)</dampness>.*)]" }
        Number    YandexWind    "Ветер [%.1f м/с]"    <wind>                { http="<[http://export.yandex.ru/bar/reginfo.xml?region=213.xml:120000:REGEX(.*?<wind_speed>(.*?)</wind_speed>.*)]" }
        Number    YandexPress   "Давление [%d mm.Hg]"    { http="<[http://export.yandex.ru/bar/reginfo.xml?region=213.xml:120000:REGEX(.*?<pressure>(.*?)</pressure>.*)]" }
        String    YandexType    "За окном [%s]"    { http="<[http://export.yandex.ru/bar/reginfo.xml?region=213.xml:30000:REGEX(.*?<weather_type>(.*?)</weather_type>.*)]" }
     
    Последнее редактирование: 17 авг 2018
    ИгорьК нравится это.
  20. Еще раз привет комрады!

    Понял свою ошибку в постановлении вопроса!=)

    Вопрос вот в чем заключается:

    Есть Item типа String который хранит в себе состояние выбранного режима,
    при изменении режима я хочу чтобы новое состояние записалось в переменную, для того что бы после перезагрузки сервера взять из этой переменной значение и отправить его по mqtt.

    Если я в правилах указываю
    Код (Java):
    var newRegim = "automatic"
    то после перезагрузки я могу и присвоить это значение itemу через postUpdate()
    и отправить по mqtt.Выглядит примерно так:
    Код (Java):
    var newRegim = "automatic"

    rule "Restore data after reboot"
    when
        System started
    then
        createTimer(now.plusSeconds(5)) [|
        KlimatControlRegim.postUpdate(newRegim)
        publish("mosquitto", "/openHAB/out/KlimatControlRegim/command",newRegim)
        ]
    end
    Раньше я сохранял в переменную вот так
    Код (Java):
    var newRegim

    rule "SaveState"
    when
      Item KlimatControlRegim changed
    then
      newRegim = KlimatControlRegim.state.toString()
      logInfo("rules", '"' + newRegim + '"')
    end
    и все работало, но теперь что то после обновления я не могу понять как мне сохранить значение itemа
    причем если в выше указанном коде "SaveState" я скажу при изменении отправить по mqtt, то он отправляет как надо, а если вызвать эту переменную после перезагрузки то она равна NULL

    Нуждаюсь в вашей помощи, все понятные мне варианты не сработали...