Подключение метеостанции Сокол-М

Добрый день, коллеги.
При попытке добавить на шину RS-485 метеостанцию с шаблоном Сокол-М получил неожиданные настройки устройства.
Что делать?

Добрый день.
Пришлите диагностический архив. Укажите ревизию контроллера и версию ПО.

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

100% рабочий шаблон
config-Sokol-M.json (1,6 КБ)

Данный шаблон с меньшим количеством параметров, чем в шаблоне нашего репозитория.

Непременно. Как только доберусь до контроллера.

По сути на данный момент (пока не починят шаблон из репозитория), есть два варианта:

  1. Использовать подправленный шаблон, но закинуть его обязательно в /usr/share/wb-mqtt-serial/templates, чтобы при обновлении он заменился на тот, что в репозитории.
    config-sokol-m.json (7,5 КБ)
  2. Перейти на тестинг, там подобное исправлено.

Сообщите о том, какой вариант вам больше на данный момент подойдет и о результате, что точно все работает (или не работает) как ожидаете.

Добрый день.
Разработчики исправили шаблон. Должен работать с стабильном релизе. Обновитесь:

apt update
apr upgrade

и проверьте шаблон.
Сообщите о результате.

1 лайк

Добрый день.
Спасибо.
Пока вручную добавил шаблон.
Там бы ещё и units в него добавить. А то не сразу понятно, что АД в кПа, а не в гПа отображается.

Добрый день, Михаил.
В новом шаблоне не работает уровень освещённости и солнечной радиации. В мобильном приложении разработчиков прибора данные параметры видны.

Добрый день.

Покажите карту регистров метеостанции. И результаты запроса данных регистров через modbus_client.

Хм. Карту регистров Вы высылали 27 дней назад. Вот её я и использую. Не вижу смысла пересылать её Вам.
Тут ещё один вопрос возник. Читалась температура нормально и внезапно получилось значение 655.35.
image

А потом всё вернулось в норму. Как можно проверить на чьей стороне проблема?

Добрый день.

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

Выполните, пожалуйста, данную рекомендацию.

Тут необходимо видеть, что действительно считывалось с устройства в данный момент. При возникновении проблемы вновь, можете воспользоваться вышеуказанным способом чтения регистров напрямую (modbus_client). По значению, пока предположу, что по какой-то причине в тот момент метеостанция отдавала значение 65535. Если это действительно так, то необходимо будет определить причину, по которой устройство так себя ведет.

Обратил внимание, что в шаблоне метеостанции Сокол-М регистр температуры имеет тип u16. Это значит, например, что сегодня в Норильске 631 градус.
Исправьте, пожалуйста, на s16.

Исправлено в тестинге, спасибо.

К сожалению, замена типа на s16 не решила проблему с отрицательной температурой


filename.csv (26.9 KB)

Вот мой шаблон и он работает

{
    "device_type": "SOKOL-M",
    "group": "g-climate-sensor",
    "device": {
        "name": "sokol-m",
        "id": "sokol-m",

        "channels": [
            {
                "name": "Temperature",
                "units": "deg C",
                "scale": 0.01,
                "reg_type": "holding",
                "format": "s16",
                "address": 3,
                "type": "temperature",
                "readonly": true
            },
            {
                "name": "Pressure",
                "units": "bar",
                "reg_type": "holding",
                "scale": 0.01,
                "format": "u16",
                "address": 4,
                "type": "value",
                "readonly": true
            },
            {
                "name": "Relative humidity",
                "units": "%, RH",
                "reg_type": "holding",
                "format": "u16",
                "address": 5,
                "type": "value",
                "readonly": true
            },
            {
                "name": "Wind speed",
                "units": "m/s",
                "reg_type": "holding",
                "scale": 0.01,
                "format": "u16",
                "address": 6,
                "type": "value",
                "readonly": true
            },
            {
                "name": "Wind direction",
                "units": "deg",
                "reg_type": "holding",
                "format": "u16",
                "address": 7,
                "type": "value",
                "readonly": true
            },
            {
                "name": "Precipitation rate",
                "units": "mm",
                "reg_type": "holding",
                "scale": 0.1,
                "format": "u16",
                "address": 8,
                "type": "value",
                "readonly": true
            },
            {
                "name": "Illumination level",
                "reg_type": "holding",
                "format": "u16",
                "address": 9,
                "type": "value",
                "readonly": true
            },
            {
                "name": "Wind speed ultrasonic",
                "units": "m/s",
                "reg_type": "holding",
                "scale": 0.01,
                "format": "u16",
                "address": 10,
                "type": "value",
                "readonly": true
            },
            {
                "name": "Wind direction ultrasonic",
                "units": "deg",
                "reg_type": "holding",
                "format": "u16",
                "address": 11,
                "type": "value",
                "readonly": true
            },
            {
                "name": "Snow cover",
                "reg_type": "holding",
                "format": "u16",
                "address": 12,
                "type": "value",
                "readonly": true
            },
            {
                "name": "Sun radiation",
                "reg_type": "holding",
                "format": "u16",
                "address": 13,
                "type": "value",
                "readonly": true
            },
            {
                "name": "Pm25",
                "reg_type": "holding",
                "format": "u16",
                "address": 70,
                "type": "value",
                "readonly": true
            },
            {
                "name": "Pm10",
                "reg_type": "holding",
                "format": "u16",
                "address": 71,
                "type": "value",
                "readonly": true
            },
            {
                "name": "CO2",
                "reg_type": "holding",
                "format": "u16",
                "address": 72,
                "type": "value",
                "readonly": true
            },
            {
                "name": "CO",
                "reg_type": "holding",
                "format": "u16",
                "address": 73,
                "type": "value",
                "readonly": true
            },
            {
                "name": "NO",
                "reg_type": "holding",
                "format": "u16",
                "address": 74,
                "type": "value",
                "readonly": true
            },
            {
                "name": "NO2",
                "reg_type": "holding",
                "format": "u16",
                "address": 75,
                "type": "value",
                "readonly": true
            },
            {
                "name": "SO2",
                "reg_type": "holding",
                "format": "u16",
                "address": 76,
                "type": "value",
                "readonly": true
            },
            {
                "name": "H2S",
                "reg_type": "holding",
                "format": "u16",
                "address": 77,
                "type": "value",
                "readonly": true
            },
            {
                "name": "HCN",
                "reg_type": "holding",
                "format": "u16",
                "address": 78,
                "type": "value",
                "readonly": true
            },
            {
                "name": "NH3",
                "reg_type": "holding",
                "format": "u16",
                "address": 79,
                "type": "value",
                "readonly": true
            },
            {
                "name": "CH2O",
                "reg_type": "holding",
                "format": "u16",
                "address": 80,
                "type": "value",
                "readonly": true
            }
        ],

        "translations": {
            "en":  {
                "Pm25":"Dust 2.5 microns",  
                "Pm10": "Dust 10 microns",
                "CO2": "CO₂ level",
                "CO": "CO level",
                "NO": "NO level",
                "NO2": "NO₂ level",
                "SO2": "SO₂ level",
                "H2S": "H₂S level",
                "HCN": "HCN level",
                "NH3": "NH₃ level",
                "CH2O": "CH₂O level"
            },
            "ru": {
                "SOKOL-M": "Сокол-М",
                "Temperature": "Температура воздуха",
                "Pressure": "Атмосферное давление",
                "Relative humidity":"Относительная влажность воздуха",
                "Wind speed": "Скорость ветра",
                "Wind direction": "Направление ветра",
                "Precipitation rate": "Уровень осадков",
                "Illumination level": "Уровень освещенности",
                "Wind speed ultrasonic": "Скорость ветра УЗ анемометра",
                "Wind direction ultrasonic": "Направление ветра УЗ анемометра",
                "Snow cover": "Снежный покров",
                "Sun radiation": "Солнечная радиация",
                "Pm25": "Пыль 2,5 мкм",
                "Pm10": "Пыль 10 мкм",
                "CO2": "Уровень CO₂",
                "CO": "Уровень CO",
                "NO": "Уровень NO",
                "NO2": "Уровень NO₂",
                "SO2": "Уровень SO₂",
                "H2S": "Уровень H₂S",
                "HCN": "Уровень HCN",
                "NH3": "Уровень NH₃",
                "CH2O": "Уровень CH₂O"
            }    
        }
    }
}

У меня шаблон точно такой же, визуально.
Попробую скопировать Ваш.
ЗЫ. Бары на милибары замените или множитель поменяйте. А то слишком давит. :laughing: