1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 1

Получение данные из EPsolar Tracer в ПАК Малина-2

Тема в разделе "Возобновляемые источники электроэнергии", создана пользователем bdna2009, 04.06.18.

  1. vagorzel
    Регистрация:
    19.05.15
    Сообщения:
    3.644
    Благодарности:
    2.917

    vagorzel

    Живу здесь

    vagorzel

    Живу здесь

    Регистрация:
    19.05.15
    Сообщения:
    3.644
    Благодарности:
    2.917
    Адрес:
    Клин, Зеленоград
    эти данные приведены, как пример с моих контроллеров EPSolar, ини подключены к малине через переходники от @bdna2009, чтобы малина2 приняла их за "свои" МППТ.
    В этих контроллерах можно изменять ID устройства, поэтому они и такие. В данном случае все просто:
    130 - это первый контроллер по счету и первый на 30 ампер (СП смотрят на Юго-Восток),
    160 - это второй контроллер по счету и первый на 60 ампер (СП смотрят на Юг) и
    230 это третий контроллер по счету и второй на 30 ампер (СП смотрят за Юго-Запад).
     
    Последнее редактирование: 15.01.19
  2. bdna2009
    Регистрация:
    20.09.16
    Сообщения:
    204
    Благодарности:
    90

    bdna2009

    Живу здесь

    bdna2009

    Живу здесь

    Регистрация:
    20.09.16
    Сообщения:
    204
    Благодарности:
    90
    Начну с последнего вопроса. В моем примере используется опрос МППТ фирмы "епсолар". 130 и т. п. это uid каждого из них, которые можно установить самому.

    Основной вопрос. две малины. опрашиваете первую и кладете все в ноды: М1_1, М1_2, М1_3
    типа малина 1 МППТ1 и т. п.
    Или просто 1_1, 1_2 1_3
    Для второй малины отправляете данные в ноды: М2_1...
    т. е. "какая нода указана, в такую и положит."

    uid которые "при GET опросе МППТ по адресу IP отдают UID c 1 по 3 для всех Малин. " - это uid для Вас, чтобы идентифицировать данные в скрипте. Далее можете отправлять их в емонпи с теми именами нод, с которыми сами захотите.

    ноды могут быть не только 1 2 3, но с буковками.
    Можно вообще все в одну ноду класть, но с разными именами переменных.

    "МППТ 1..3; некий обработчик - 4, 5; СЛЕДУЮЩИЕ МППТ 6..8; обработчик - 9, 10 .. ..." - можно и так, если удобно. Но мне, например, удобнее не циферками а "названиями". В общем как удобно так и можно.

    Итог: uid получаемый при GET опросе МППТ - никак не связан жестко с нодой в которую хотите положить данные. Получили данные - далее раскладывайте как нужно и куда нужно.
     
  3. Nick5453
    Регистрация:
    15.12.18
    Сообщения:
    49
    Благодарности:
    1

    Nick5453

    Участник

    Nick5453

    Участник

    Регистрация:
    15.12.18
    Сообщения:
    49
    Благодарности:
    1
    Пытаюсь опросить МАП.
    при запросе из браузера все замИчательно...
    а при попытке опросить из скрипта:

    getStr = http. client. HTTPConnection (MalinaIP)
    getStr. request("GET", "/read_json.php?device=map")
    response = getStr. getresponse()
    Str = response. read()
    poll = json. loads (Str)

    второй и третий МАП "ложатся" в переменную, а для ПЕРВОГО выдает нечто:

    Traceback (most recent call last):
    File "C:\Python37\Wrk\AltPoll.py", line 24, in <module>
    poll = json. loads (Str)
    File "C:\Python37\lib\json\_init_.py", line 348, in loads
    return _default_decoder.decode (s)
    File "C:\Python37\lib\json\decoder.py", line 340, in decode
    raise JSONDecodeError("Extra data", s, end)
    json. decoder. JSONDecodeError: Extra data: line 2 column 1 (char 1140)


    в 348ю строчку посмотрел, там возврат из "if ..." c непонятной мне сборкой в скобках.
    Где искать ?
     
    Последнее редактирование: 20.01.19
  4. bdna2009
    Регистрация:
    20.09.16
    Сообщения:
    204
    Благодарности:
    90

    bdna2009

    Живу здесь

    bdna2009

    Живу здесь

    Регистрация:
    20.09.16
    Сообщения:
    204
    Благодарности:
    90
    Не видя скрипта и не видя что возвращает запрос, сложно сказать куда копать. Если запрос один и тот-же просто крутится в цикле 3 раза для з-х мапов, то скорее всего не нравится что-то в ответах от МАПА. например первый мап возвращает слишком длинное значение.
    Если предположить что вот это (char 1140) это попытка засунуть число 1140 в перменную типа char то она туда не влезет.
    Из браузера есть возврат в строке нечто похожего на 1140?


    Я бы для начала вывел на экран то что получается в переменной до decode а дальше по обстоятельствам.
    а почему тут C:\Python37\lib\json\decoder.py. в смысле винда тут зачем?
    Запускайте на распбери скрипт.

    зы. скрипт пришлите посмотреть. могу в пятницу у себя его запустить посмотреть что будет.
     
  5. DobriyVasia
    Регистрация:
    08.11.14
    Сообщения:
    1
    Благодарности:
    0

    DobriyVasia

    Новичок

    DobriyVasia

    Новичок

    Регистрация:
    08.11.14
    Сообщения:
    1
    Благодарности:
    0
    Подскажите. Кто-то интегрировал с HomeAssistant