Git Product home page Git Product logo

Comments (11)

dennissiemensma avatar dennissiemensma commented on July 1, 2024 1

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.

dennissiemensma avatar dennissiemensma commented on July 1, 2024 1

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.

bsmeding avatar bsmeding commented on July 1, 2024

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.

xirixiz avatar xirixiz commented on July 1, 2024

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.

bsmeding avatar bsmeding commented on July 1, 2024

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.

bsmeding avatar bsmeding commented on July 1, 2024

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.

dennissiemensma avatar dennissiemensma commented on July 1, 2024

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.

bsmeding avatar bsmeding commented on July 1, 2024

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.

xirixiz avatar xirixiz commented on July 1, 2024

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.

wimleers avatar wimleers commented on July 1, 2024

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.

dennissiemensma avatar dennissiemensma commented on July 1, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.