MeterMaster

Принимает показания счётчиков из Android-приложения MeterMaster и управляет ESP32 display nodes

Текущий релиз
0.9.10
Разработчик
MPunktBPunkt
Лицензия
MIT

Автоматически переносите показания счетчиков с телефона в ioBroker.

MeterMaster — это мост между приложением MeterMaster для Android и вашим умным домом. Записывайте показания счетчиков электроэнергии, газа, воды или тепла на своем смартфоне; адаптер сохраняет их в виде состояний ioBroker с правильными метками времени и полной историей — готовыми для использования в скриптах, визуализациях и рабочих процессах выставления счетов.

Облачный аккаунт не требуется. Результаты гаданий остаются в вашей сети.

Скачайте в Google Play


Зачем нужен этот адаптер?

Без MeterMasterС MeterMaster
Ввод данных вручную в ioBroker или электронные таблицы.Одно касание в приложении → состояние обновлено
Предполагаемые временные меткиСостояниеts = дата реального чтения
Нет истории по каждому метруПолныйreadings.history множество
Отдельные инструменты для диаграмм/CSV-файлов.Встроенный веб-интерфейс с диаграммами и возможностью экспорта.

Типичные пользователи: домовладельцы, арендодатели и управляющие недвижимостью, которые уже считывают показания счетчиков на месте и хотят получать эти значения в ioBroker без повторного ввода.


Быстрый старт

  1. Установите MeterMaster из официального списка адаптеров ioBroker и создайте экземпляр.
  2. Обратите внимание на HTTP-порт (по умолчанию).8089 ) и установите пароль для базовой аутентификации.
  3. Установите приложение для AndroidНастройки → ioBroker → Адаптер MeterMaster .
  4. Введите хост, порт, имя пользователя и пароль вашего ioBroker → Проверить соединение .
  5. Запишите чтение в приложении — запись появится в разделеmetermaster.0.… а также в веб-интерфейсе.
Android app  ──HTTP──►  MeterMaster adapter  ──►  ioBroker states + history + Web UI

Откройте веб-интерфейс в любое время по адресу:http://{ioBroker-IP}:8089/ (Для просмотра пароль не требуется).


Функции

  • HTTP-приемник — принимает показания из приложения MeterMaster для Android (по одному или в пакетном режиме).
  • Автоматические состояния — объекты «дом/квартира/счетчик» создаются при первой синхронизации.
  • Правильные временные меткиreadings.latest использует фактическую дату чтения в качестве государственного документа.ts
  • Полная история — каждый счетчик сохраняет данные.readings.history JSON-массив
  • Базовая аутентификация — необязательная защита по имени пользователя/паролю для точек записи.
  • Встроенный веб-интерфейс — вкладки «Данные», «Импорт», «Журналы» и «Система» на немецком/английском языках.
  • Удаление через веб-интерфейс — удаление квартир/счетчиков из ioBroker (подтверждение пароля)
  • Складные секции — складывайте блоки домов/квартир на вкладке «Данные».
  • Графики и CSV-файлы — исторические графики, ежемесячное потребление и экспорт данных по счетчику в формате CSV.
  • Импорт резервных копий — восстановление резервных копий приложения MeterMaster (схема 2.0) с помощью перетаскивания.

Дополнительно: модули ESP32 OLED-дисплея могут отображать выбранные значения измерительных приборов на небольшом экране.


Приложение MeterMaster для Android

Адаптер представляет собой часть ioBroker приложения MeterMaster — локального приложения для Android, предназначенного для управления счетчиками коммунальных услуг.

  • Управление недвижимостью, квартирами и счетчиками (электроэнергия, газ, вода, отопление, коммунальные услуги)
  • Записывайте показания с указанием даты/времени и, при желании, фотографией.
  • Диаграммы потребления и годовые счета / Экспорт в CSV / HTML
  • Только локальное хранение — без облачного хранилища, без учетной записи, без отслеживания.
  • Дополнительные интеграции: ioBroker (этот адаптер), MQTT, Google Sheets, InfluxDB.
Google PlayMeterMaster
Исходный код и документацияMPunktBPunkt/MeterMaster

Скриншоты

Данные — карты учета, KPI, история, графики и CSV-файлы.Диаграмма — линейная временная ось и ежемесячное потребление
Вкладка «Данные»Модальное окно диаграммы
Импорт — резервное копирование приложения с помощью перетаскивания.Журналы — фильтрация в реальном времени и экспорт
Вкладка «Импорт»вкладка «Журналы»
Система — статистика и проверка версииУзлы — необязательный статус ESP32
Вкладка «Система»Вкладка «Узлы»

Установка

Установите адаптер из официального списка адаптеров ioBroker:

  1. Откройте административную панель ioBrokerАдаптеры
  2. Поиск MeterMaster
  3. Нажмите «Установить» и создайте экземпляр.

Из командной строки на хосте ioBroker:

iobroker add metermaster
iobroker start metermaster

Если приложение не может связаться с адаптером, откройте брандмауэр для настроенного порта, например.sudo ufw allow 8089/tcp .

Дополнительные примечания: INSTALLATION.md


Конфигурация экземпляра

Администрирование ioBroker → Адаптеры → MeterMaster → Настройки экземпляра

ПараметрПо умолчаниюОписание
HTTP-порт8089Порт, на котором адаптер прослушивает
Имя пользователяmetermasterИмя пользователя для базовой аутентификации
ПарольПароль для базовой аутентификации (установите надежный пароль)
Подробная запись в журналевключеноОтображение отладочных записей в журнале событий.
Буфер лога500Максимальное количество сохраненных записей в журнале
Сохраняйте историю00 = неограниченное количество показаний на метр

Настройте приложение для Android.

Настройки → ioBroker → Адаптер MeterMaster

ПолеЦенить
Включить ioBrokerна
IP-адрес / имя хостаIP-адрес сервера ioBroker
Порт адаптера8089 (или ваш настроенный порт)
Имя пользователякак в случае с адаптером
Паролькак в случае с адаптером

Используйте функцию проверки соединения . В случае успеха результат будет выглядеть так:MeterMaster adapter reachable ✓


Веб-интерфейс

http://{ioBroker-IP}:8089/
ВкладкаСодержание
ДанныеДанные счетчиков сгруппированы по домам/квартирам — история, графики, CSV-файл.
ИмпортРезервное копирование приложения MeterMaster (JSON-схема 2.0) с помощью перетаскивания.
ЖурналыЖурнал событий в реальном времени с фильтрацией, автоматической прокруткой и экспортом.
СистемаСтатистика и проверка обновлений
УзлыДополнительные дисплеи ESP32 (см. ниже)

Переключение языка: DE / EN в веб-интерфейсе.


Созданы точки данных

metermaster.0.
├── info.connection        bool    Adapter connected
├── info.lastSync          number  Timestamp of last sync (ms)
├── info.readingsReceived  number  Total readings received
│
├── {House}/{Apartment}/{Meter}/
│   ├── readings.latest      number  Latest value (ts = reading date)
│   ├── readings.latestDate  string  ISO-8601 date
│   ├── readings.history     string  JSON array of all readings
│   ├── name                 string
│   ├── unit                 string
│   └── typeName             string
│
└── nodes/{MAC}/             (only if ESP32 nodes are used)
    ├── ip, name, version, lastSeen
    ├── config, configAck, cmd

HTTP API

Без аутентификации

МетодПутьОписание
ПОЛУЧАТЬ/Веб-интерфейс
ПОЛУЧАТЬ/api/versionПроверка версии и GitHub
ПОЛУЧАТЬ/api/statsСтатистика
ПОЛУЧАТЬ/api/dataВсе кэшированные показания
ПОЛУЧАТЬ/api/logsБуфер лога (?level=&category=&text= )
ПОЛУЧАТЬ/api/nodesЗарегистрированные узлы ESP32
ПОЛУЧАТЬ/api/discoverИзвестные идентификаторы состояния счетчика
ПОЧТА/api/registerСердцебиение ESP32

С базовой аутентификацией

МетодПутьОписание
ПОЛУЧАТЬ/api/pingпроверка соединения
ПОЧТА/api/readingСохраните одно показание.
ПОЧТА/api/readingsСохранение результатов пакетных измерений
ПОЧТА/api/importИмпорт резервной копии приложения
УДАЛИТЬ/api/apartment/{house}/{apartment}Удалить дерево каналов квартиры
УДАЛИТЬ/api/meter/{house}/{apartment}/{meter}Удалить отдельный счетчик
GET/POST/api/nodes/{MAC}/configПолучить/настроить конфигурацию ESP32
ПОЧТА/api/nodes/{MAC}/configAckПодтверждение конфигурации
ПОЧТА/api/nodes/{MAC}/cmdНемедленная команда (например, для светодиода)

Пример: однократное чтение

POST http://host:8089/api/reading
Authorization: Basic base64(user:password)
Content-Type: application/json

{
  "house": "MyHouse",
  "apartment": "West",
  "meter": "HotWater",
  "value": 128.75,
  "unit": "m³",
  "typeName": "HotWater",
  "readingDate": "2024-02-12T09:30:00.000Z"
}

Дополнительно: модули отображения ESP32

В качестве дополнительной опции адаптер может управлять узлами MeterMaster ESP32 , которые отображают выбранные значения показаний счетчика на небольшом OLED-дисплее.

  • Узлы регистрируются посредством пульсации (пульса)POST /api/register ) и опрашивать конфигурацию каждые 15 секунд
  • Государства вmetermaster.0.nodes.{MAC}.*
  • Вкладка «Узлы» веб-интерфейса: статус подключения, IP-адрес, выбор счетчика, управление светодиодами, прошивка.

Для использования адаптера или приложения для Android вам не потребуется ESP32.


Обновлять

Веб-интерфейс:http://IP:8089/Система → Проверить наличие обновлений (установить через командную строку).

Командная строка:

iobroker upgrade metermaster
iobroker restart metermaster.0

Changelog

WORK IN PROGRESS

  • (ioBroker-Bot) Adapter requires admin >= 7.8.23 now.

0.9.10

  • Repo checker (E2004/E6029): remove unpublished 0.9.5 from common.news
  • Trim common.news to 7 entries
  • Document releases 0.9.6–0.9.10 in README changelog

0.9.9

  • Web UI: delete apartment/meter with password confirmation (DELETE API)
  • Collapsible house/apartment sections in the Data tab (localStorage)

0.9.8

  • Log MeterMaster app connection tests from User-Agent on /api/ping at info level

0.9.7

  • Print fix (Blob URL revoke)
  • ESP32 discover proxy (getStates / node-discover)
  • Node heartbeat/ack logs moved to debug

0.9.6

  • Assign display nodes via chips on meter cards in the Data tab
  • Correct history on re-sync; edit values in Web UI; print chart and apartment/house latest readings

0.9.4

  • All adapter log messages and API JSON error responses in English
  • State common names and roles corrected (readings channel, date/text/json roles, info.firmware for nodes)
  • Web UI i18n: full DE/EN coverage, English default HTML
  • Config validation: clamped port (1024–65535), logBufferSize (50–5000), keepHistory (0–100000)
  • Removed /api/update endpoint and one-click Web UI update (CLI commands card retained)
  • migrateStateRoles() uses getAdapterObjectsAsync (own adapter states only)
  • Removed dead houseName config; import default house is MyHouse
  • Fixed redundant state check in stateChange handler
  • @types/node pinned to ^22.0.0

0.9.3

  • Fix state roles for ioBroker object structure check (repochecker E1008/E1009/E1011)
  • Migration of existing objects on adapter start

0.9.2

  • Adapter checker compliance: npm news cleanup, devDependencies, trusted publishing
  • npm publish via GitHub Actions with provenance

0.9.1

  • Lowered admin dependency to >=7.6.20 (fixes startup when admin 7.7.x is installed)

0.9.0

  • Finalized for ioBroker repository: CI/CD testing, adapter checker compliance
  • English README, updated dependencies (Node.js >= 22, adapter-core 3.4.x)
  • Admin config i18n, encrypted password storage
  • Requires js-controller >= 6.0.11 and admin >= 7.6.20

0.8.3

  • Chart: linear time axis, yearly consumption projection toggle, README screenshots

0.8.2

  • Bugfix: chart modal close button and range filters

0.8.1

  • Bugfix: literal newline in CSV export JS broke Web UI

0.8.0

  • Charts per meter, consumption KPI, CSV export, DE/EN language switch

See io-package.json common.news for full history. Older entries: CHANGELOG_OLD.md.


License

MIT License

Copyright (c) 2026 MPunktBPunkt

See LICENSE for the full license text.