diff --git a/compose.yml b/compose.yml index d31127d..74def18 100644 --- a/compose.yml +++ b/compose.yml @@ -3,8 +3,8 @@ services: #socket_domain ipv4 https://github.com/eclipse/mosquitto/issues/1004 image: eclipse-mosquitto ports: - - "1883:1883" - - "1884:1884" + - 1883:1883 + - 1884:1884 volumes: - ${PWD}/containers/mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf:ro restart: unless-stopped @@ -17,10 +17,17 @@ services: - ${PWD}/containers/influxdb/data:/var/log/influx environment: - INFLUXDB_DB:=mqtt + home_status: + build: ./home_status + volumes: + - /var/log/home_status:/var/log/home_status + environment: + - BROKER=10.0.0.91 chronograf: image: chronograf ports: - "8888:8888" + grafana: image: grafana/grafana ports: diff --git a/py/home_status/.gitignore b/home_status/.gitignore similarity index 100% rename from py/home_status/.gitignore rename to home_status/.gitignore diff --git a/home_status/Dockerfile b/home_status/Dockerfile new file mode 100644 index 0000000..1eafe19 --- /dev/null +++ b/home_status/Dockerfile @@ -0,0 +1,10 @@ +FROM python:3.9-slim + +WORKDIR /app + +COPY requirements.txt . +RUN pip install -r requirements.txt +COPY *.py . +COPY config.json . + +ENTRYPOINT ["python", "home.py"] diff --git a/py/home_status/cfg.py b/home_status/cfg.py similarity index 100% rename from py/home_status/cfg.py rename to home_status/cfg.py diff --git a/py/home_status/config.json b/home_status/config.json similarity index 94% rename from py/home_status/config.json rename to home_status/config.json index bcfea0b..866cb90 100644 --- a/py/home_status/config.json +++ b/home_status/config.json @@ -1,6 +1,5 @@ { "mqtt":{ - "host":"mqtt_broquer", "port":1883, "keepalive":60, "client_id":"home_status_client", @@ -48,7 +47,7 @@ } }, "log":{ - "logfile":"/home/pi/share/home_status(date).log", + "logfile":"/var/log/home_status/(date).log", "level":"Info" } } diff --git a/py/home_status/home.py b/home_status/home.py similarity index 97% rename from py/home_status/home.py rename to home_status/home.py index 8d70270..24f11a9 100755 --- a/py/home_status/home.py +++ b/home_status/home.py @@ -1,12 +1,6 @@ -#https://github.com/studioimaginaire/phue - - -#https://pypi.python.org/pypi/paho-mqtt/1.1 -import paho.mqtt.client as mqtt import json from time import sleep import logging as log -import sys,os import cfg from mqtt import mqtt_start import requests diff --git a/py/home_status/mqtt.py b/home_status/mqtt.py similarity index 85% rename from py/home_status/mqtt.py rename to home_status/mqtt.py index 78457f3..1c02b96 100644 --- a/py/home_status/mqtt.py +++ b/home_status/mqtt.py @@ -1,9 +1,7 @@ import paho.mqtt.client as mqtt -import datetime import logging as log -import cfg -from time import sleep,time -import json +from time import sleep +import os import socket conf = {} @@ -36,9 +34,10 @@ def mqtt_connect_retries(client): connected = False while(not connected): try: - client.connect(config["mqtt"]["host"], config["mqtt"]["port"], config["mqtt"]["keepalive"]) + host = os.environ.get("BROKER","mqtt_broquer") + client.connect(host, config["mqtt"]["port"], config["mqtt"]["keepalive"]) connected = True - log.info( "mqtt> connected to "+config["mqtt"]["host"]+":"+str(config["mqtt"]["port"])+" with id: "+ cid ) + log.info( "mqtt> connected to "+host+":"+str(config["mqtt"]["port"])+" with id: "+ cid ) except socket.error: log.error("socket.error will try a reconnection in 10 s") sleep(10) diff --git a/py/home_status/requirements.txt b/home_status/requirements.txt similarity index 52% rename from py/home_status/requirements.txt rename to home_status/requirements.txt index 8579e8b..6f386cf 100644 --- a/py/home_status/requirements.txt +++ b/home_status/requirements.txt @@ -1 +1,2 @@ paho-mqtt +requests diff --git a/py/home_status/home_status.service b/py/home_status/home_status.service deleted file mode 100644 index e1301bc..0000000 --- a/py/home_status/home_status.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=notifies on entrance shelly heaing with red led and open windows with blue led -After=multi-user.target - -[Service] -Type=simple -ExecStart=/usr/bin/python3 /home/pi/raspi/py/home_status/home.py -Restart=on-abort - -[Install] -WantedBy=multi-user.target diff --git a/py/home_status/setup.sh b/py/home_status/setup.sh deleted file mode 100644 index 5bcf836..0000000 --- a/py/home_status/setup.sh +++ /dev/null @@ -1,7 +0,0 @@ -sudo pip3 install -r requirements.txt -sudo cp home_status.service /lib/systemd/system/ -sudo chmod 644 /lib/systemd/system/home_status.service -sudo chmod +x home.py -sudo systemctl daemon-reload -sudo systemctl enable home_status.service -sudo systemctl start home_status.service