* make timestamp handling stateless * adapt tests for stateless timestamp handling * initial version * add more type annotations * add more type annotations * fix Generator annotation for ha_proxy_confs * fix names of issue branches * add more type annotations * don't use depricated varn anymore * don't mark all test as async * fix imports * fix solarman unit tests - fake Mqtt class * print image build time during proxy start * update changelog * fix pytest collect warning * cleanup msg_get_time handler * addapt unit test * label debug images with debug * dump droped packages * fix warnings * add systemtest with invalid start byte * update changelog * update changelog * add exposed ports and healthcheck * add wget for healthcheck * add aiohttp * use config validation for healthcheck * add http server for healthcheck * calculate msg prossesing time * add healthy check methods * fix typo * log ConfigErr with DEBUG level * Update async_stream.py - check if processing time is < 5 sec * add a close handler to release internal resources * call modbus close hanlder on a close call * add exception handling for forward handler * update changelog * isolate Modbus fix * cleanup * update changelog * add heaithy handler * log unrelease references * add healtcheck * complete exposed port list * add wget for healtcheck * add aiohttp * use Enum class for State * calc processing time for healthcheck * add HTTP server for healthcheck * cleanup * Update CHANGELOG.md * updat changelog * add docstrings to state enum * set new state State.received * add healthy method * log healthcheck infos with DEBUG level * update changelog * S allius/issue100 (#101) * detect dead connections - disconnect connection on Msg receive timeout - improve connection trace (add connection id) * update changelog * fix merge conflict * fix unittests * S allius/issue108 (#109) * add more data types * adapt unittests * improve test coverage * fix linter warning * update changelog * S allius/issue102 (#110) * hotfix: don't send two MODBUS commands together * fix unit tests * remove read loop * optional sleep between msg read and sending rsp * wait after read 0.5s before sending a response * add pending state * fix state definitions * determine the connection timeout by the conn state * avoid sending MODBUS cmds in the inverter's reporting phase * update changelog * S allius/issue111 (#112) Synchronize regular MODBUS commands with the status of the inverter to prevent the inverter from crashing due to unexpected packets. * inital checkin * remove crontab entry for regular MODBUS cmds * add timer for regular MODBUS polling * fix Stop method call for already stopped timer * optimize MB_START_TIMEOUT value * cleanup * update changelog * fix buildx warnings * fix timer cleanup * fix Config.class_init() - return error string or None - release Schema structure after building thr config * add quit flag to docker push * fix timout calculation * rename python to debugpy * add asyncio log * cleanup shutdown - stop webserver on shutdown - enable asyncio debug mode for debug versions * update changelog * update changelog * fix exception in MODBUS timeout callback * update changelog
98 lines
2.2 KiB
YAML
98 lines
2.2 KiB
YAML
services:
|
|
####### H O M E - A S S I S T A N T #####
|
|
home-assistant:
|
|
container_name: home-assistant
|
|
#image: homeassistant/home-assistant:latest
|
|
image: ghcr.io/home-assistant/home-assistant:stable
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- mqtt
|
|
environment:
|
|
- TZ=Europe/Brussels
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- UMASK=007
|
|
- PACKAGES=iputils
|
|
cap_drop:
|
|
- ALL
|
|
cap_add:
|
|
- CHOWN
|
|
- DAC_OVERRIDE
|
|
- FSETID
|
|
- FOWNER
|
|
- SETGID
|
|
- SETUID
|
|
- SYS_CHROOT
|
|
- KILL
|
|
- NET_RAW
|
|
- NET_ADMIN
|
|
security_opt:
|
|
- no-new-privileges
|
|
ports:
|
|
- 8123:8123
|
|
volumes:
|
|
- ${PROJECT_DIR:-./}homeassistant/config:/config
|
|
- /etc/localtime:/etc/localtime:ro
|
|
healthcheck:
|
|
test: curl --fail http://0.0.0.0:8123/auth/providers || exit 1
|
|
interval: 90s
|
|
retries: 5
|
|
start_period: 5s
|
|
timeout: 15s
|
|
# privileged: false
|
|
networks:
|
|
- outside
|
|
|
|
|
|
|
|
####### M Q T T - B R O K E R #####
|
|
mqtt:
|
|
container_name: mqtt-broker
|
|
image: eclipse-mosquitto:2
|
|
restart: unless-stopped
|
|
expose:
|
|
- 1883
|
|
volumes:
|
|
- ${PROJECT_DIR:-./}mosquitto/config:/mosquitto/config
|
|
- ${PROJECT_DIR:-./}mosquitto/data:/mosquitto/data
|
|
networks:
|
|
- outside
|
|
|
|
|
|
|
|
####### T S U N - P R O X Y ######
|
|
tsun-proxy:
|
|
container_name: tsun-proxy
|
|
image: ghcr.io/s-allius/tsun-gen3-proxy:latest
|
|
# image: ghcr.io/s-allius/tsun-gen3-proxy:rc
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- mqtt
|
|
environment:
|
|
- TZ=Europe/Brussels
|
|
- UID=${UID:-1000}
|
|
- GID=${GID:-1000}
|
|
dns:
|
|
- ${DNS1:-8.8.8.8}
|
|
- ${DNS2:-4.4.4.4}
|
|
ports:
|
|
- 5005:5005
|
|
- 8127:8127
|
|
- 10000:10000
|
|
volumes:
|
|
- ${PROJECT_DIR:-./}tsun-proxy/log:/home/tsun-proxy/log
|
|
- ${PROJECT_DIR:-./}tsun-proxy/config:/home/tsun-proxy/config
|
|
healthcheck:
|
|
test: wget --no-verbose --tries=1 --spider http://localhost:8127/-/healthy || exit 1
|
|
interval: 10s
|
|
timeout: 3s
|
|
networks:
|
|
- outside
|
|
|
|
|
|
####### N E T W O R K S ######
|
|
|
|
networks:
|
|
outside:
|
|
name: home-assistant
|
|
|