Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Domotica (DSMR, IOT, MQTT, etc.)

This site may earn commission on affiliate links.
Ik ben begonnen met de installatie, de UTP kabel is geplaatst, dat viel nog wel mee. Als het goed is komt de elec maandag om de lader
te installeren.

Dan de software, dat is nog niet zo eenvoudig blijkbaar. Doorlopen stappen:
PI micro SD geformateerd
Nieuwe image geinstalleerd met PI Imager, via advanced option SSH ook meteen geinstalleerd.
Ingelogd via Putty en de stappen op deze pagina gevolgd. Nu loop ik vast bij stap sudo -u twcmanager python -m TWCManager

Als ik dat in de Putty terminal plak krijg ik volgende foutmeldingen: View attachment 965491
Ik ben niet tech savy genoeg om te weten wat hier nu precies gebeurt, en waar ik fout ga. @RichieB Help ^^


Na ondertussen een pak geleerd te hebben over Putty, SSH commandos en de file structuur van de de PI en TWCManager, blijf ik tegen hetzelfde probleem aan lopen. Als ik in de TWCManager folder het commando geef om de TWCManager te draaien krijg ik bovenstaande foutmeldingen.

Is dat omdat ik het script probeer te draaien zonder dat er een TWC op aangesloten is misschien? Dat had ik bij de vorige post ook even moeten vermelden.
 
Je maakt gebruik van een USB-RS485 adapter? Die heeft zeer waarschijnlijk niet de naam "/dev/ttyUSB0". Daarom krijg je deze foutmelding, aangezien dat device niet gevonden kan worden. Je zult dus moeten zoeken naar wat de juiste device naam is van jou USB-RS485 adapter.

De USB adapter moet natuurlijk wel aangesloten zijn op de Raspberry :) De TWC niet perse, maar verwacht dan een melding dat hij niet communiceren met de TWC.

Mogelijke commando's:
Bash:
ls -l /dev/serial/by-id/*
usb-devices
lsusb
 
Je maakt gebruik van een USB-RS485 adapter? Die heeft zeer waarschijnlijk niet de naam "/dev/ttyUSB0". Daarom krijg je deze foutmelding, aangezien dat device niet gevonden kan worden. Je zult dus moeten zoeken naar wat de juiste device naam is van jou USB-RS485 adapter.

De USB adapter moet natuurlijk wel aangesloten zijn op de Raspberry :) De TWC niet perse, maar verwacht dan een melding dat hij niet communiceren met de TWC.

Mogelijke commando's:
Bash:
ls -l /dev/serial/by-id/*
usb-devices
lsusb


Werkt (soort van):
Knipsel.JPG


Ik ben nu in ieder geval verder dan voorheen. Ik heb niets hoeven wijzigen nadat ik de USB erin deed. Toen draaide hij meteen. Nu eens zien wat ik aan de kant van HA moet gaan vogelen om een en ander met elkaar in verbinding te brengen.
 
De urllib3 of charde package versie is niet up to date.

Code:
sudo -u twcmanager python -m pip install urllib3 --upgrade
sudo -u twcmanager python -m pip install charde --upgrade

pip is de Python Package installer.
Knipsel.JPG

Problem...

1 probleem minder, ik heb even de foutmelding beter gelezen, en met
Code:
sudo -h twcmanager python -m pip install urllib3 --upgrade
werkte het wel. Echter de tweede foutmelding blijf ik ook met sudo -h houden
Ik ben er ook achter dat ik aardig wat achterstallig onderhoud met HA te verrichten heb... Dit gaat even duren voor dit projectje werkt ben ik bang :( 1 ding scheelt! Heb vandaag mijn afhaalafspraak gemaakt :)
 
Last edited:
  • Like
Reactions: SpeedyEddy
sudo -h is de help opvragen. sudo -H is home directory aanpassen.

sudo -u <gebruikersnaam> <commando> betekent dat ie het commando in de gebruikerscontext van <gebruikersnaam> uitvoert. Doe je ook -H erbij, past ie ook de home directory aan naar de user in -u, dus kan idd helpen want wat je wil doen is als gebruiker tmcmanager de nodige modules installeren.

Code:
sudo -u twcmanager -H python -m pip install urllib3 --upgrade
 
sudo -h is de help opvragen. sudo -H is home directory aanpassen.

sudo -u <gebruikersnaam> <commando> betekent dat ie het commando in de gebruikerscontext van <gebruikersnaam> uitvoert. Doe je ook -H erbij, past ie ook de home directory aan naar de user in -u, dus kan idd helpen want wat je wil doen is als gebruiker tmcmanager de nodige modules installeren.

Code:
sudo -u twcmanager -H python -m pip install urllib3 --upgrade

Knipsel.JPG


Dat geeft dan weer dezelfde foutmelding :(
 
View attachment 966179

Dat geeft dan weer dezelfde foutmelding :(

Hier ook nog weer even verder ingedoken en van alles geleerd over permissions en chmod, maar wat ik niet volg, zou ik nu voor alle files en directories in /home/twcmanager iedereen alle permissions moeten geven? Dat lijkt mij wat omslachtig... En niet erg veilig ook

Ik heb het toch even geprobeerd, dus die folder en contents alle permissions gegeven, maar zelfde probleem
 
Last edited:
Check of de gebruiker twcmanager rechten heeft om op /home/twcmanager/.cache/pip te schrijven want daar loopt ie op vast.

@MrHLN Ik weet niet waarom @wooter je aanraadt om de optie “-H python” te gebruiken. Daarmee gaat sudo de home directory aanpassen. Dat lijkt me niet nodig en de oorzaak van de foutmelding. Probeer het eens zonder die optie.
MrHLN kwam zelf af met de -h optie maar die doet niks natuurlijk. Een optie die wel relevant zou kunnen zijn is -H, maar probleem blijft dat pip niet de versies kan updaten omdat ie geen schrijfrechten heeft in de genoemde folder als ie gestart wordt vanuit de gebruiker twcmanager.
 
Okay, progress

Ik ben even weer helemaal vanaf nul begonnen, dus fresh install van de PI, nieuwe install van TWCManager en met een tip van @RichieB het probleem van pip opgelost:
chown -R twcmanager /home/twcmanager

echter....
Knipsel.JPG


Voor zover ik het begrijp is dus urllib3 gedaan, maar de charde lukt nog steeds niet...

Aangezien de foutmelding chardet vermeld ipv charde heb ik
sudo -u twcmanager python -m pip install chardet --upgrade
uitgevoerd, en dat deed in ieder geval een upgrade draaien, echter:
Knipsel.JPG
 
Last edited:
Het is echt letterlijk de foutmeldingen lezen.

Meest belangrijke is dat er al een HTTP server draait dezelfde poort.

Excuus als ik niet de meest intelligente vragen stel, zoals waarschijnlijk overduidelijk blijkt, heb ik hier met materie te maken waar ik weinig kaas van gegeten heb. Ik leer bij, het gaat alleen niet zo rap als ik zou willen. Die fout met de HTTP server komt iedere keer terug als ik de service start nadat ik hem net ctrl+z afgesloten heb. Als ik de pi reboot is dat probleem verholpen.

mbt foutmeldingen, ik neem aan dat je doelt op het stukje mbt path? Ik kon daar via Google niet een eenduidig antwoord op vinden
Update:
Geen foutmeldingen meer! Ik heb deze link gevolg en met sudo python3 -m pip install --upgrade requests uiteindelijk ook de chartdet draaiend gekregen.
Morgen wordt de lader daadwerkelijk geplaatst, dan maar eens kijken wat er nog meer voor moois gebeurt
 
Last edited:
Excuus als ik niet de meest intelligente vragen stel, zoals waarschijnlijk overduidelijk blijkt, heb ik hier met materie te maken waar ik weinig kaas van gegeten heb. Ik leer bij, het gaat alleen niet zo rap als ik zou willen. Die fout met de HTTP server komt iedere keer terug als ik de service start nadat ik hem net ctrl+z afgesloten heb. Als ik de pi reboot is dat probleem verholpen.

mbt foutmeldingen, ik neem aan dat je doelt op het stukje mbt path? Ik kon daar via Google niet een eenduidig antwoord op vinden
Update:
Geen foutmeldingen meer! Ik heb deze link gevolg en met sudo python3 -m pip install --upgrade requests uiteindelijk ook de chartdet draaiend gekregen.
Morgen wordt de lader daadwerkelijk geplaatst, dan maar eens kijken wat er nog meer voor moois gebeurt
Je moet ook geen ctrl+z gebruiken in Linux om iets te stoppen maar ctrl+c . bij de z gaat iets naar de achtergrond en gaat gewoon verder. met het commando fg. krijg het het weer naar de voorgrond.
 
Excuus als ik niet de meest intelligente vragen stel, zoals waarschijnlijk overduidelijk blijkt, heb ik hier met materie te maken waar ik weinig kaas van gegeten heb. Ik leer bij, het gaat alleen niet zo rap als ik zou willen.
Geen paniek, iedereen leert, maar de eerste keer dat ik twcmanager installeerde kreeg ik ook allerlei foutmeldingen en ik ben eruit geraakt door de foutmeldingen te lezen.

Meeste problemen die je met twcmanager tegen gaat komen zijn verouderde python modules en rechten problemen. En als je dan de service niet zorgvuldig sluit maar in de achtergrond laat draaien dan gaat het nooit goed komen. Je zit dus op de goeie weg.
 
Gezien de communicatie met DSMR reader heb ik uiteindelijk besloten om de setup om te gooien en het hele boeltje via docker te gaan draaien. De pi met HA, DSRM, MQTT, Node-Red, TWCManager en nog wat andere kleine containers heb ik draaiend. Echter krijg ik de webinterface niet draaiend. Hij geeft de volgende foutmelding op het moment dat ik het portal probeer te benaderen.

Exception occurred during processing of request from ('192.168.178.64', 55326)
Traceback (most recent call last):
File "/usr/lib/python3.9/socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python3.9/socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/src/TWCManager/lib/TWCManager/Control/HTTPControl.py", line 158, in __init__
BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
File "/usr/lib/python3.9/socketserver.py", line 720, in __init__
self.handle()
File "/usr/lib/python3.9/http/server.py", line 427, in handle
self.handle_one_request()
File "/usr/lib/python3.9/http/server.py", line 415, in handle_one_request

method()
File "/usr/src/TWCManager/lib/TWCManager/Control/HTTPControl.py", line 777, in do_GET
page = self.template.render(vars(self))
File "/usr/local/lib/python3.9/dist-packages/jinja2/environment.py", line 1301, in render
self.environment.handle_exception()
File "/usr/local/lib/python3.9/dist-packages/jinja2/environment.py", line 936, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/usr/src/TWCManager/lib/TWCManager/Control/themes/Modern/main.html.j2", line 1, in top-level template code
{% extends "master.html.j2" %}
File "/usr/src/TWCManager/lib/TWCManager/Control/themes/Modern/master.html.j2", line 11, in top-level template code
{% block content %}{% endblock %}
File "/usr/src/TWCManager/lib/TWCManager/Control/themes/Modern/main.html.j2", line 306, in block 'content'
<label for="chargeNowRate" class="form-label text-muted">Charge with <span class="text-dark font-weight-bold" id="{{ twcid }}_ampsVal">{{ ampsMin[0] }}</span> A</label>
File "/usr/local/lib/python3.9/dist-packages/jinja2/environment.py", line 466, in getitem
return obj[argument]
jinja2.exceptions.UndefinedError: list object has no element 1
----------------------------------------

Kan je de interne kwh meter van de TWC resetten?
Edit: ik had een probleem met de poorten en communicatie, dat heb ik ondertussen gefixed... Geduld is een schone zaak

Hopelijk kunnen jullie mij verder helpen 🙏
 

Attachments

  • Knipsel.JPG
    Knipsel.JPG
    37.9 KB · Views: 24
  • Knipsel.JPG
    Knipsel.JPG
    56.7 KB · Views: 20
Last edited:
Ik weet nog niet precies hoe, maar het werkt, het meeste dan! Nu écht, denk ik. Ik heb die waarde in config.json gechecked, en die is inderdaad ingevuld.
Waar ik nu nog tegenaan loop is het ontvangen van de data van DSMR. Die zend uit op dsmr/json, en dat topic kan ik ook gewoon uitlezen via MQTT en daar wordt netjes data op ontvangen. Echter ontvang ik niks in de TWCManager.

21:07:17 🎮 HTTP 20 Serving at port: 8080
21:07:17 DSMRreader 20 Subscribe operation completed with mid 1
21:07:17 ⛽ Manager 20 TWC Manager starting as fake Master with id 7777 and sign 77
21:07:18 ⛽ Manager 20 32.00 amp slave TWC 4248 is ready to link. Sign: 81
21:07:18 ⛽ Manager 20 Set slave TWC 4248 protocolVersion to 2, minAmpsTWCSupports to 6.
21:07:19 ⛽ Manager 20 32.00 amp slave TWC 4248 is ready to link. Sign: 81
21:07:19 ⛽ Policy 20 New policy selected; changing to Non Scheduled Charging
21:07:19 ⛽ Slave 20 SHB 4248: 00 00.00/00.00A 0000 0000 M: 09 00.00/00.00A 0000 0000
21:07:19 ⛽ Slave 20 Slave power for TWCID 4248, status: 0
21:07:19 ⛽ Manager 20 Limiting charging to 0.00A.
21:07:19 ⛽ Manager 20 Charge when above 6A (minAmpsPerTWC).
21:07:20 ⛽ Manager 20 Slave TWC 4248: Delivered 14552 kWh, voltage per phase: (232, 230, 228).

Ook op de webinterface van TWCManager krijg ik 0 watt op alle velden:
Knipsel.JPG


Code:
DSMRreader": {
          "enabled": true,
          "brokerIP": "192.168.178.66",
          "brokerPort": 1883,
          "username": "geheime user name",
          "password": "geheim wachtwoord",
          "topic": "dsmr/json",

Dan blijven er nog een paar vragen over:
1. Kan ik de interne KwH meter van de TWC resetten?
2. Als ik charge now activeer krijg ik de volgende melding:
21:18:55 ⛽ Slave 20 WARNING: Offering slave TWC 4248 6.0A instead of 16.0A to avoid overloading wiring shared by all TWCs.
Dat klinkt ietwat zorgwekkend.
3. Na het stoppen van charge now krijg ik ook wat foutmeldingen

21:19:20 ⛽ Policy 20 New policy selected; changing to Non Scheduled Charging
21:19:20 ⛽ Manager 20 BackgroundError: Traceback (most recent call last):
File "/usr/src/TWCManager/lib/TWCManager/TWCManager.py", line 322, in background_tasks_thread
master.saveSettings()
File "/usr/src/TWCManager/lib/TWCManager/TWCMaster.py", line 1118, in saveSettings
with open(fileName, "w") as outconfig:
FileNotFoundError: [Errno 2] No such file or directory: '/opt/twcmanager/settings.json'
, occurred when processing background task

Ik snap wat die laatste foutmelding betekent, maar ik kan nergens iets vinden in de documentatie over settings.json.

Bedankt voor alle hulp wederom!
 
Last edited: