Репозиторий: IAMMETER-simulator
Пожалуйста, поделитесь своими мыслями здесь: Integrate a virtual 3-phase energy meter (open source) into HA, use it to optimize your solar pv system
Идея начать разработку этого симулятора возникла из этого поста: https://imeter.club/topic/320
Один из наших клиентов пытается оптимизировать использование избыточной солнечной энергии с помощью Home Assistant. Он использует энергомонитор IAMMETER для контроля избыточной солнечной энергии и управляет зарядкой Tesla через Home Assistant (используя избыточную солнечную энергию по максимуму).
Мы тоже хотим участвовать в этом проекте, чтобы вместе оптимизировать логику управления. Но сейчас у нас в офисе нет Tesla и инвертора. Поэтому у нас возникла идея — разработать симулятор для выполнения таких задач.
С помощью этого симулятора вы можете получить симулированный WEM3080T.
Фаза A — это результат измерения выходной мощности солнечного инвертора (этот результат может быть полностью симулирован симулятором или получен от реального энергомонитора).
Профиль нагрузки настраивается в симуляторе, есть разные модели нагрузки (фиксированная, по таймеру, настраиваемая).
Затем симулятор автоматически рассчитывает потребление из сети на основе результата измерения солнечной энергии (симулированного или реального) и профиля нагрузки (симулированного) и выводит результат на фазе B.

С помощью этого симулятора вы можете выполнять такие интересные задачи:
Симулированный трёхфазный энергомонитор также можно добавить в Home Assistant или IAMMETER, как реальное оборудование.

Симулятор разработан на «ASP.NET Core», он имеет открытый исходный код.
Репозиторий IAMMETER-simulator
После запуска этого кода предполагается, что у вас установлен трёхфазный энергомонитор (WEM3080T) следующим образом.

Симулятор также поддерживает API «monitorjson», как и реальный трёхфазный энергомонитор.
Данные фазы A в симуляторе могут поступать из полностью симулированных данных (вы можете задать максимальную мощность для симулированного инвертора), реального энергомонитора (WEM3080T) или возвращаемого значения API с какой-либо платформы (например, PVoutput).


Модель нагрузки используется для симуляции реального энергопотребления. В настоящее время поддерживаются три различные модели нагрузки:
Вы можете внедрить свою собственную логику управления в этот симулятор для управления такими моделями нагрузки. Например, запускать некоторые мощные нагрузки в период низкого тарифа, максимально использовать избыточную солнечную энергию.
Конечно, создать модель нагрузки, точно имитирующую реальную ситуацию, непросто. После публикации этого кода с открытым исходным кодом мы надеемся, что все заинтересованные в этом проекте смогут совместно улучшать модель нагрузки, делая её максимально приближённой к реальности.
В этом варианте все данные симулируются симулятором. Как выходная мощность солнечной панели, так и профиль нагрузки симулируются в соответствии с вашими настройками.
Симулятор будет симулировать выходную мощность солнечной панели и выводить данные на фазе A. Он будет выводить симулированный профиль нагрузки. Он рассчитает потребление из сети на основе симулированных данных солнечной панели на фазе A и симулированного профиля нагрузки, выводя результат на фазе B.


Вы можете получать данные из симулятора через тот же API («monitorjson»), который поддерживается реальным энергомонитором


Может показаться, что интеграция симулированного энергомонитора в Home Assistant не имеет смысла, но это поможет вам лучше понять работу симулятора, чтобы затем эффективнее использовать его в вариантах 2 и 3.
Сейчас поддерживаются только два интерфейса: чтение с реального WEM3080T или чтение через API IAMMETER

Фактически, любой интерфейс, содержащий данные о выходной мощности солнечной панели (будь то чтение с реальных счётчиков или получение через онлайн-API), может рассматриваться как источник данных и быть добавлен сюда.
Если вы знакомы с другими интерфейсами, добро пожаловать, отправляйте PR в наш репозиторий.
Попробуйте настроить профиль нагрузки в симуляторе, максимально приближенный к вашей реальной ситуации.
Затем симулятор рассчитает потребление из сети по следующей формуле: Мощность из сети = выходная мощность солнечной панели — мощность нагрузки Он также соответствующим образом рассчитает данные kWh из сети (как импортированную, так и экспортированную энергию).
Симулятор выведет результат расчёта данных из сети (вычисленный на основе реальных солнечных данных и симулированной нагрузки) на фазе B.
Вы можете прочитать этот симулированный результат из сети через локальный API «monitorjson» и интегрировать его в любую знакомую вам платформу.
Если модель нагрузки достаточно близка к вашей реальной ситуации, это может помочь найти наилучшую логику управления (алгоритм). Эта логика управления может помочь вам:
Питать нагрузку от избыточной солнечной энергии по максимуму.
Если нагрузка не может питаться от солнца (ночью), стараться питать её в период низкого тарифа по максимуму.
Пожалуйста, обратитесь к
How to create a load profile and integrate it into the home assistant
Run this simulator by the source code or Docker
How to create a load profile and integrate it into the home assistant
How to use IAMMETER`s Wi-Fi energy meter in the Home Assistant
Трехфазный Wi-Fi счетчик электроэнергии (WEM3080T)
Однофазный Wi-Fi счетчик электроэнергии (WEM3080)
Трехфазный Wi-Fi счетчик электроэнергии (WEM3046T)
Трехфазный Wi-Fi счетчик электроэнергии (WEM3050T)