Comments (11)
Als ik de aanname mag doen dat je de hele DSMR-reader applicatie draait en daarbij DSMRREADER_REMOTE_DATALOGGER_INPUT_METHOD
gebruikt, dan gaat die combinatie niet werken.
De envvars voor de remote datalogger zijn alleen voor wanneer het datalogger script zonder DSMR-reader draait. Dit omdat er dan dus ook geen database-instelling is die gebruikt kan worden.
Eerdere versies van het remote datalogger script vereisten nog dat iemand in de eigen kopie instellingen moest aanpassen, zoals in v3:
Later is dat veranderd naar envvars, maar dus puur voor bovenstaande use-case.
Als je DSMR-reader gebruikt zul je het via de database of GUI moeten instellen. Alleen staat dat wellicht niet expliciet in de docs:
Het is wellicht wat verwarrend omdat het script zowel los werkend uit de repo te downloaden is:
Als ook door DSMR-reader zelf gebruikt wordt, bij een volledige installatie:
Echter wordt alles qua envvars in dat script niet gebruikt door DSMR-reader, alleen als het direct via de command-line als individueel script gedraaid wordt met letterlijk: python3 dsmr_datalogger_api_client.py
:
from dsmr-reader-docker.
Overigens kun je uiteraard ook zonder GUI de instellingen wijzigen, direct in de database, alleen zul je moeten opletten dat je geen ongeldige waardes invoert, omdat er dan geen validatie van de GUI op zit.
De datalogger instellingen staan in dsmr_datalogger_dataloggersettings
:
select * from dsmr_datalogger_dataloggersettings;
id | serial_port | dsmr_version | process_sleep | input_method | network_socket_address | network_socket_port | restart_required | override_telegram_timestamp | dsmr_extra_device_channel
----+--------------+--------------+---------------+--------------+------------------------+---------------------+------------------+-----------------------------+---------------------------
1 | /dev/ttyUSB0 | 4 | 0.5 | serial | localhost | 4000 | f | f |
(1 row)
from dsmr-reader-docker.
I searched trough the code and see that the settings must be saved in .env, when checking that file that is correct
root@dsmr_reader_docker:/app# cat .env
DSMRREADER_REMOTE_DATALOGGER_INPUT_METHOD=ipv4
DSMRREADER_REMOTE_DATALOGGER_NETWORK_HOST=192.168.10.10
DSMRREADER_REMOTE_DATALOGGER_NETWORK_PORT=23
DSMRREADER_LOGLEVEL=WARNING
root@dsmr_reader_docker:/app#
from dsmr-reader-docker.
Hi @bsmeding, we kunnen het ook in het Nederlands over hebben volgens mij. Omdat het opgelost werd met handmatig instellen heb ik er geen tijd meer aan besteed. Ik heb wel de code destijds aangepast voor de verschillende modi waarin DSMR Reader gestart kan worden.
Wellicht heeft @dennissiemensma een aanvulling waarom de settings uit de .env file niet gezet worden in de app settings zelf.
from dsmr-reader-docker.
Ja dat kan inderdaad ben zo gewend het in Engels te doen ging automatisch 🙂
Vreemd is dat ze inderdaad wel juist worden geladen als env, maar niks mee wordt gedaan verder in de app
Wacht verdere reactie van @dennissiemensma af
from dsmr-reader-docker.
Hi @dennissiemensma ik gebruik inderdaad de hele applicatie zoals in deze repo in Docker. Gezien ik alle applicaties die ik draai via automatisch (Ansible) uitrol op mijn servers wil ik ook de configuratie hiervan automatisch instellen zodat ik een Test en Productie omgeving heb en hiermee beter versie upgrades kan doen.
Vandaar dat ik probeer om een kant en klaar pakket (Ansible Role) te maken waarin zonder manuele handelingen in de GUI alles weer werkt. En het liefst ook niet direct in een Database werken.
De ENV vars lijken te doen wat ik nodig had, maar ik lees dat dit alleen is als de logger en reader apart worden gebruikt? Als ik er twee aparte containers van maak zou het wel moeten werken? Een voor Logger en een voor de Reader?
from dsmr-reader-docker.
Bedankt voor je aanvulling! Technisch gezien kun je het proberen, alleen is het dus niet op die manier ervoor gemaakt, dus je kunt alsnog tegen dingen aanlopen die je niet op die manier kan configueren. Plus dat een remote datalogger complexiteit toevoegt als je hem niet nodig hebt.
Verder zullen er misschien meer instellingen zijn in DSMR-reader die je wellicht wilt provisionen naar je eigen defaults bij een re-install/upgrade, maar dus ook in de database staan.
Mijn advies is om (als je eigen probeersel niet werkt), UPDATE-queries te gebruiken door dergelijke instellingen, zodat je het vooral simpel en onderhoudbaar voor jezelf houdt.
Omdat het update-queries zijn voor instellingen, zijn ze tevens idempotent en kun je ze zonder gevolgen vaker uitvoeren, wat meestal wel wenselijk is bij playbooks.
from dsmr-reader-docker.
Ok dank je duidelijk, jammer dat het niet met de ENV werkt of een config file.
Ik zal zelf nog beide scenario's testen kijken of het op een gedegen manier lukt om dit te automatiseren.
Rechtstreeks in de DB ben ik niet zo een voorstander van, maar wellicht de oplossing.
beide bedankt voor de feedback!
from dsmr-reader-docker.
Heldere en waardevolle info heren, bedankt! Zou het mogelijk zijn om dit soort zaken middels een API te configureren? Het is maar iets dat mij te binnen schiet. Ik heb geen idee of het veel werk is iets dergelijks toe te voegen.
from dsmr-reader-docker.
Ik ben hier zonet ook tegen aan gelopen. En eerder ook #303 (comment).
Waarom is dit gesloten? 🤔 Zou het mogelijk zijn om dit alsnog configureerbaar te maken via een environment variable? If not, zouden de docs dan kunnen verduidelijkt worden, zodat gebruikers van "seriële poort via ethernet" ook de juiste richting uitgeduwd worden?
Voor context: in België is het níet zo dat de meter in je appartement staat! Die staat in de "gemeenschappelijke delen". Een P1-kabel van daar tot in je appartement is quasi nooit mogelijk. Blijft over: WiFi of Ethernet!
from dsmr-reader-docker.
@wimleers helpt dit je niet verder? #303 (comment)
Afhankelijk van wat je exact dichtbij je slimme meter hebt staan, kun je het daar laten forwarden naar de DSMR-installatie binnen je netwerk binnen. Of je kunt iets draaien wat de meter serieel uitleest en het via je netwerk beschikbaar maakt via ser2net
, waardoor DSMR-reader er ook bij kan (mits op hetzelfde netwerk uiteraard).
from dsmr-reader-docker.
Related Issues (20)
- Jadahl.com website for Synology drivers no longer exist HOT 1
- Empty environment variable DOCKER_TARGET_RELEASE HOT 11
- Some observations on the docker implementation HOT 2
- OperationalError: could not translate host name "dsmrdb" to address: Name does not resolve
- NGINX port incorrect after restart when using NGINX_LISTEN_PORT HOT 2
- Container does not start: 20-set-app-defaults: line 213: syntax error near unexpected token `}' HOT 2
- ENABLE_NGINX_SSL does not work anymore HOT 4
- Database is not restoring HOT 1
- Can't connect to a postgres DB using encryption HOT 1
- Documentation request HOT 1
- Mqtt stopt met werken HOT 21
- Wrong media type for manifest HOT 1
- Upgrade the PostgreSQL client portion to version 15 in the docker-image HOT 3
- pg_dump: error :aborting because of server version mismatch HOT 11
- Missing docs / install & configure HOT 4
- Postgres update from 10 to 15 failed (with fix for: User "dsmrreader" does not have a valid SCRAM secret) HOT 6
- Docker container in warning status, logs with errors HOT 7
- SyntaxWarning: invalid escape sequence '\d' HOT 6
- Webinterface not starting on 2024.02.03 HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dsmr-reader-docker.