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

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

  1. ИгорьК

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

    Что добавлю, если у вас Json нетиповой (я никак не пойму) то придется ставить NodeRed и чтото шаманить.
     
  2. ИгорьК

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

    Пива попьем :) просто так.
     
  3. Serega_MO

    Serega_MO Нерд

    А что значит не типовой?
     
  4. Serega_MO

    Serega_MO Нерд

    сейчас попытаюсь проще решить вопрос , со стороны датчика поменять данные,
    пусть шлет только абсолютные цифры.
    Не хочется на стороне ОН городить огород....
     
    ИгорьК нравится это.
  5. Serega_MO

    Serega_MO Нерд

    ДА С ОГРОМНЫМ УДОВОЛЬСТВИЕМ!!!!!
    Я в Химках ! ))
     
  6. ИгорьК

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

    Есть правила написания json объектов и применения в них тех или иных символов. Навскидку не помню. Если эти правила не соблюдены вашим источником то OH скорее всего его не распарсит. Надо экспериментировать.
     
  7. Serega_MO

    Serega_MO Нерд

    Я плохо знаком с json, но учитывая, что это типовая прошивка tasmota, очень сильно надеюсь, что требования по спецификации протокола соблюдены.
    Но это ИМХО
     
  8. ИгорьК

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

    Я все прошивки ESP-8266 пишу сам и понял, что применение Json не очень хорошее решение для OH. При любом сбое он не расшифровывает сообщение и теряется вся информация. Проще послать десяток топиков, потерять один но принять 9.
     
  9. Serega_MO

    Serega_MO Нерд

    Ну похоже я на этом же пути,
    просто думал tasmota - это типовое решение,
    нефига, нужен напильник..
     
  10. ИгорьК

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

    Там рядом другой способ отправки многих данных.
     
  11. ИгорьК

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

    Для датчика температуры пробуй такое правило:

    Код (Java):
    // {"Time":"2018-05-14T21:33:54","DS18B20":{"Temperature":24.9},"TempUnit":"C"}

    import org.openhab.core.library.types.*
    import org.openhab.core.persistence.*
    import org.openhab.model.script.actions.*

    rule "Get DS18b20"
      when
        Item Tmp_Box changed
      then
        // Преобразуем входящие данные в тип String
        var String json = (Tmp_Box.state as StringType).toString
        // Извлекаем стандартным парсингом в переменную 'raw' подстроку JSON '{"Temperature":24.9}'
        var String raw = transform("JSONPATH", "$.DS18B20", json)
        // Из этой подстроки извлекаем '24.9'
        var Number data = transform("JSONPATH", "$.Temperature", raw)
        // Отправляем данные на другой итем ('temperature01' - его надо создать)
        sendCommand(temperature01,  data)
      end
    Итем Number Tmp_Box сделай текстом String.
    Код (Java):
    String Tmp_Box "Мясо [%s]" <temperature> (Temperature, GF_Box) {mqtt="<[mqtt:/muhome/ou/SENSOR:state:default]"}
    Наблюдай что в него все приходит.
    Заведи еще один итем -Number "temperature01". В него и будут сливаться распарcенные данные.
    Работоспособность всего этого не гарантирую - OH2 у меня нет, проверить не могу.
     
    Последнее редактирование: 16 май 2018
  12. Serega_MO

    Serega_MO Нерд

    Игорь, спасибо тебе огромное, но решил проблему немного иначе.
    1. Подправил прошивку устройства, проблема была {"фигурные скобки" в {"фигурных скобках"}}
    родной json не понимал такой формат.

    В таком формате получал раньше:
    "Time":"2018-05-14T21:30:54","DS18B20":{"Temperature":24.9},"TempUnit":"C"}

    После корректировки прошивки:
    "Time":"2018-05-14T21:30:54","DS18B20-Temperature":24.9,"TempUnit":"C"}

    прописал items:
    Number Temperature_coop "Temperature [%.1f °C]" (GF_Box) {mqtt="<[mqtt:/muhome/ou/SENSOR:state:JSONPATH($.TDS18B20-Temperature)]"}

    3-й час,- полет нормальный ! ))))
    p.s.
    Предложение про пиво остается в стиле в любом случае! )))
     
    Последнее редактирование: 17 май 2018
    ИгорьК нравится это.
  13. ИгорьК

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

    Ну да - это и было проблемой.
     
  14. IvanUA

    IvanUA Гик

    В стиле - это сильно)))))
     
  15. Serega_MO

    Serega_MO Нерд

    В СИЛЕ!!!!!! )))))
    Не надо ногами за опечатку ! ))))
     
  16. BlackWolfSpb

    BlackWolfSpb Нуб

    Добрый день. Я совсем недавно открыл для себя Esp8266 как и Ардуино. Ваши советы очень помогли в изучении.
    Сейчас столкнулся с следующей проблемой. Приобрёл Esp8266 - 12E, ссылка.
    Пока разбирался что и как, стёр родную прошивку. Методом научного тыка с правильным подключением разобрался. Но при прошивке ESP8266 NONOS SDK V2.1.0 20170505 в порту (7480) "Fatal exception..." и светодиод либо постоянно горит либо часто мигает.
    Прошиваю FLASH_DOWNLOAD_TOOLS. По адресам:
    esp_init_data_default.bin - 0x1FC000
    blank.bin - 0x1FE000
    boot_v1.7.bin - 0x00000
    user1.2048.new.5.bin - 0x01000
    user2.2048.new.5.bin - 0x81000
    Если последние два файла не заливать контроллер запускается, но АТ команды не работают.
    Бубен, с которым я плясал над ним сломался, идей нет... Помогите чем можете. Скрин прилагается.


     

    Вложения:

    • 1.jpg
      1.jpg
      Размер файла:
      251,7 КБ
      Просмотров:
      105
    Последнее редактирование: 23 май 2018
  17. ИгорьК

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

    Только завтра смогу въезжать в тему
     
  18. BlackWolfSpb

    BlackWolfSpb Нуб

    Жду, какие у меня варианты) полистаю форум пока что, авось прозрение будет
     
  19. ИгорьК

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

  20. BlackWolfSpb

    BlackWolfSpb Нуб

    Питоном всё читается, стирается , записывается (всё как в описании) но результат тот же.
    Пробовал через FLASH_DOWNLOAD_TOOLS, по адресам как в md файле что идёт для прошивки (скрин11), контроллер запускается. Ат команды не работают. В ответе знаки вопроса(скрин44)
     

    Вложения:

    • 11.png
      11.png
      Размер файла:
      3,9 КБ
      Просмотров:
      99
    • 22.png
      22.png
      Размер файла:
      135,6 КБ
      Просмотров:
      100
    • 33.png
      33.png
      Размер файла:
      22,6 КБ
      Просмотров:
      104
    • 44.png
      44.png
      Размер файла:
      10,5 КБ
      Просмотров:
      99