BSD 3-Clause "New" or "Revised" License

项目介绍

pieterh/energy-management-system 是一个托管在 GitHub 上的开源项目,主要使用 C# 编写,采用 BSD 3-Clause "New" or "Revised" License 许可证,目前获得 25 个 Star、8 次 Fork。

仓库全名
pieterh/energy-management-system
开源许可证
BSD 3-Clause "New" or "Revised" License
Star 数
25
Fork 数
8
未关闭 Issue
15

README 摘要

HEMS HEMS is a Home Energy Management System that lets you monitor, configure and automate energy management for various devices like: Smart meter, Charge point/EVSE, Solar Panels. Supported hardware Currently supported hardware: Type | Model | Charge Point | Alfen NG9xx (Eve Single S-line/Eve Single Pro-line/Eve Double Pro-line) | Smart meter | P1 v5 | Solar Panels | Enphase Envoy Gateway | Docker Docker containers…

完整内容见 GitHub 原始 README 或本页 。

常见问题

energy-management-system 用什么语言开发?

主要使用 C# 编写,采用 BSD 3-Clause "New" or "Revised" License 许可证,目前有 25 个 Star。

energy-management-system 可以免费商用吗?

仓库采用 BSD 3-Clause "New" or "Revised" License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 energy-management-system 的源码?

可以直接克隆仓库:git clone https://github.com/pieterh/energy-management-system.git;安装与运行步骤见仓库 README。

energy-management-system 最近还在维护吗?

仓库最近一次更新为 2024年4月24日,当前有 15 个未关闭 Issue;Star 数为 25,可作为社区活跃度的参考。

关于

HEMS - Home Energy Management System

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

README

License FOSSA Status Contributors Forks Stargazers Issues

Build status

Lines of Code Bugs Vulnerabilities Code Smells Duplicated Lines (%) Technical Debt Coverage

HEMS

HEMS is a Home Energy Management System that lets you monitor, configure and automate energy management for various devices like: Smart meter, Charge point/EVSE, Solar Panels.

Supported hardware

Currently supported hardware:

Type Model
Charge Point Alfen NG9xx (Eve Single S-line/Eve Single Pro-line/Eve Double Pro-line)
Smart meter P1 v5
Solar Panels Enphase Envoy Gateway

Docker

Docker containers with HEMS (beta/feature) builds.

Currently available for the following platforms:

Operating system Architecture
Linux amd64
Linux arm
Linux arm64

Docker repository: https://hub.docker.com/repository/docker/pieterhil/energy-management-system

How to use

The recommended method is to use Docker compose (See below). For instructions how to install docker desktop see https://docs.docker.com/desktop/ and docker engine (server) see https://docs.docker.com/engine/install/.

Docker compose

mkdir hems
cd hems
mkdir config

create config.json and a NLog.config in the ‘config’ subfolder. You can find examples of these in this repository folder docker/tests/config/

docker-compose.yml

version: '3.8'

services:
  hems:
    image: pieterhil/energy-management-system:latest
    container_name: hems
    user: 1001:123
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./config:/app/ems/userdata
    environment:
      - TZ=Europe/Amsterdam
      - EMS_PATHS_CONFIG=/app/ems/userdata/config.json
      - EMS_PATHS_NLOG=/app/ems/userdata/NLog.config

You can use the following two options to start the container:

docker-compose up -d

or

docker compose up -d
Updating the docker image
docker-compose pull pieterhil/energy-management-system:latest
docker-compose down
docker-compose up -d --remove-orphans
docker image prune

Docker

Get the latest image from the repository:

docker pull pieterhil/energy-management-system:latest

Remove any old containers from the system that where left over from a previous run.

docker container rm hems
docker run \
    -p 8080:8080 \
    --mount type=bind,source="$(pwd)"/config,destination=/app/ems/userdata \
    --user 1001:123
    -e TZ=Europe/Amsterdam \
    -e EMS_PATHS_CONFIG=/app/ems/userdata/config.json \
    -e EMS_PATHS_NLOG=/app/ems/userdata/NLog.config \
    --name=hems \
    pieterhil/energy-management-system:latest

Write access to local storage

The application does as user ‘app’ inside the docker container. For some systems it is mandatory that this user has write access to the volume so that logfiles and the databse can be saved. Some operating systems this is nod needed. For instance macOS is able to write in the mounted volume. It is recommended always to supply a user and group id that has write access to the local storage. You can do this in the docker-compose.yml file, or Some background information and other strategies for handling this issue can be found at the following blog post: Docker and the Host Filesystem Owner Matching Problem and can also be found at The Internet Archive WayBackMachine

Frontend

The frontend is accessible using the browser http://127.0.0.1:8080 if you are running the docker on you own local system.

Developing and Contributing

We’d love to get contributions from you! Take a look at the Contribution Documents to see how to setup a development environment and to get your changes merged in.

License

Distributed under the BSD 3-Clause license. See LICENSE for more information.

评论

暂无评论