РЕКЛАМА НА ФОРУМХАУС эти данные приведены, как пример с моих контроллеров EPSolar, ини подключены к малине через переходники от @bdna2009, чтобы малина2 приняла их за "свои" МППТ. В этих контроллерах можно изменять ID устройства, поэтому они и такие. В данном случае все просто: 130 - это первый контроллер по счету и первый на 30 ампер (СП смотрят на Юго-Восток), 160 - это второй контроллер по счету и первый на 60 ампер (СП смотрят на Юг) и 230 это третий контроллер по счету и второй на 30 ампер (СП смотрят за Юго-Запад).
Начну с последнего вопроса. В моем примере используется опрос МППТ фирмы "епсолар". 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 опросе МППТ - никак не связан жестко с нодой в которую хотите положить данные. Получили данные - далее раскладывайте как нужно и куда нужно.
Пытаюсь опросить МАП. при запросе из браузера все замИчательно... а при попытке опросить из скрипта: 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 непонятной мне сборкой в скобках. Где искать ?
Не видя скрипта и не видя что возвращает запрос, сложно сказать куда копать. Если запрос один и тот-же просто крутится в цикле 3 раза для з-х мапов, то скорее всего не нравится что-то в ответах от МАПА. например первый мап возвращает слишком длинное значение. Если предположить что вот это (char 1140) это попытка засунуть число 1140 в перменную типа char то она туда не влезет. Из браузера есть возврат в строке нечто похожего на 1140? Я бы для начала вывел на экран то что получается в переменной до decode а дальше по обстоятельствам. а почему тут C:\Python37\lib\json\decoder.py. в смысле винда тут зачем? Запускайте на распбери скрипт. зы. скрипт пришлите посмотреть. могу в пятницу у себя его запустить посмотреть что будет.