Comments 7
Не подскажете что почитать про протоколы умных счётчиков потребления газа, электроэнергии, тепла, и организации связи с ними?
Поискать в документации производителя?
С электричеством проще всего, у большинства счётчиков есть выход-контакт, замыкается скажем 1 раз на каждый 1 Вт*ч - ставим счётчик импульсов, считаем, передаем по mqtt.
Есть водяные счётчики по такой же схеме, наверно газовые тоже, этого не знаю
В газовых геркончики вешают, а в нутре магнитик крутится, принцип тоже - считаем замыкания
Беглый поиск выдает IEC 62056, ANSI C12.18, OSGP, DLMS, COSEM, IDIS. Складывается впечатление что вендоры в погоне за вендор-локами смешивают сетевые и прикладные протоколы с интерфейсами. Хотелось бы систематизировать многообразие smart meters.
Можно группировать по типу, как делаете вы, а можно по источнику, как делают многие.
Т.е. ветки имеют вид типа /место/устройство/данные или команды.
И совершенно не факт, что ваш подход лучше. Вы группируете значения по типу, но обычно надо знать какие значения есть для конкретного датчика.
Ну я-то под себя делаю )
Как раз для того чтобы логика управления не смешивалась с конкретной реализацией.
Управление даёт команду "включи" - а кто конкретно и как будет это выполнять решает "драйвер", который как раз и формирует специальную команду под конкретный девайс.
Например, вебинтерфейс может вообще не знать как сегодня реализовано выполнение команды, или откуда берутся данные "температура на улице", ему это без разницы. За технические подробности отвечает скрипт-драйвер, который принимает девайс-специфические параметры и выдает уже какой-то результат.
Что-то типа HAL - абстрагируемся от железа. В случае замены - просто меняется что-то в драйвере, не затрагивая остального.
Ещё пример: включение ночного света: драйвер знает, что на вот такие и такие реле надо отправить такую команду, на такой диммер - другую, на ещё один - третью. А вот саму команду включить или выключить - можно отправить хоть кнопкой, хоть автоматически по реле или по таймеру, разницы нет.
Есть вот такая конвенция на этот счёт. Там не только про mqtt
https://homieiot.github.io/
Упорядочиваем MQTT