From 88b17e496f8c9dd4c86b54ace5d6ab248abbd5ca Mon Sep 17 00:00:00 2001 From: Jarno Rankinen Date: Tue, 17 Jan 2023 22:08:09 +0200 Subject: [PATCH] Possibility to use curl to get values in plaintext from document root. Plan is to prepend register list to the output. --- ...vent-ctrl.conf => nginx-server-block.conf} | 32 +++++++------------ enervent-ctrl-python/src/PingvinKL.py | 9 +++--- enervent-ctrl-python/src/enervent-logger.py | 3 ++ 3 files changed, 20 insertions(+), 24 deletions(-) rename enervent-ctrl-python/{enervent-ctrl.conf => nginx-server-block.conf} (59%) diff --git a/enervent-ctrl-python/enervent-ctrl.conf b/enervent-ctrl-python/nginx-server-block.conf similarity index 59% rename from enervent-ctrl-python/enervent-ctrl.conf rename to enervent-ctrl-python/nginx-server-block.conf index d445b4c..7721af7 100644 --- a/enervent-ctrl-python/enervent-ctrl.conf +++ b/enervent-ctrl-python/nginx-server-block.conf @@ -23,37 +23,29 @@ server { # include snippets/snakeoil.conf; root /home/jarno/enervent-ctrl/enervent-ctrl-python/html; - - # Add index.php to the list if you are using PHP - index index.html index.htm index.nginx-debian.html; + index index.html; server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. + if ($http_user_agent ~* "^curl") { + proxy_pass http://enervent-ctrl; + } try_files $uri $uri/ =404; } - location /api { + #location ~ /static|/coils|/registers { + # root /home/jarno/enervent-ctrl/enervent-ctrl-python/html; + #} + + location ~ /api { proxy_pass http://enervent-ctrl; } - # pass PHP scripts to FastCGI server - # - #location ~ \.php$ { - # include snippets/fastcgi-php.conf; - # - # # With php-fpm (or other unix sockets): - # fastcgi_pass unix:/run/php/php7.4-fpm.sock; - # # With php-cgi (or other tcp sockets): - # fastcgi_pass 127.0.0.1:9000; - #} - # deny access to .htaccess files, if Apache's document root - # concurs with nginx's one - # - #location ~ /\.ht { - # deny all; - #} + + + } diff --git a/enervent-ctrl-python/src/PingvinKL.py b/enervent-ctrl-python/src/PingvinKL.py index d840f21..9dfff92 100644 --- a/enervent-ctrl-python/src/PingvinKL.py +++ b/enervent-ctrl-python/src/PingvinKL.py @@ -4,11 +4,11 @@ from flask import jsonify class PingvinCoil(): """Single coil data structure""" - def __init__(self, symbol="reserved", description="reserved"): + def __init__(self, symbol="-", description="-"): self.symbol = symbol self.value = False self.description = description - self.reserved = symbol == "reserved" and description == "reserved" + self.reserved = symbol == "-" and description == "-" def serialize(self): return { @@ -88,7 +88,7 @@ class PingvinCoils(): PingvinCoil(), PingvinCoil(), PingvinCoil("COIL_COOLING_EN", "Active cooling function enabled"), - PingvinCoil("COIL_LTO_EN"), + PingvinCoil("COIL_LTO_EN", "N/A"), PingvinCoil("COIL_HEATING_EN", "Active heating function enabled"), PingvinCoil("COIL_LTO_DEFROST_EN", "HRC defrosting function enabled during winter season"), PingvinCoil(), @@ -142,8 +142,9 @@ class PingvinCoils(): def print(self, debug=False): """Human-readable print of all coil values""" coilvals = "" + null = "" for i, coil in enumerate(self.coils): - coilvals = coilvals + f"Coil {i}\t{coil.value} [{coil.symbol}] ({coil.description})\n" + coilvals = coilvals + f"Coil {i : <{4}}{coil.value : <{2}} {coil.symbol : <{25}}{coil.description}\n" return coilvals def serialize(self, include_reserved=False): diff --git a/enervent-ctrl-python/src/enervent-logger.py b/enervent-ctrl-python/src/enervent-logger.py index 034994b..a81a631 100755 --- a/enervent-ctrl-python/src/enervent-logger.py +++ b/enervent-ctrl-python/src/enervent-logger.py @@ -29,6 +29,9 @@ def coil(address): elif request.method == 'PUT': return {"success": pingvin.coils.write(address)} +@app.route('/') +def dump(): + return pingvin.coils.print(debug=DEBUG) if __name__ == "__main__": log.info(f"Starting enervent-logger {VERSION}")