Closed eterpstra closed 2 years ago
Hallo eterpstra,
De melding zegt dat het veld 'serial' (onder het kopje 'inverter') in het bestand config.ini niet goed gelezen kan worden.
Heb je de config-template.ini file gecopieerd naar config.ini en het serial id aangepast aan jouw systeem? Zo ja kun je dan jouw config.ini bestand hier uploaden want er is dan iets raars mee. Let hierbij wel op dat je de laatste twee velden (Pvoutput apikey en sysid) eerst maskeert want dit zijn geheime sleutels die je niet hier wilt publiceren!
Hi,
Ja klopt die zal ik weglaten. Hierbij mijn config:
[general]
# General:enabled_plugins
# Choose which outputs to use
# Possible options: MysqlOutput,PVoutputOutput,ConsoleOutput,CSVOutput,InfoOutput,RawMessageOutput
enabled_plugins = ConsoleOutput, InfoOutput
[inverter]
# Serial number of your Omnik inverter
serial = 60242xxx
#log temperature of inverter for pvoutput
use_temperature = true
# Note: domain name is required for localIP because otherwise the listener may bind
# to the localhost interface instead of the public interface
[UDPListener]
localIP = 192.168.1.125
localPort = 20001
[mysql]
# These settings are only required if you use the MysqlOutput plugin
host = 127.0.0.1
user =
pass =
database =
[csv]
disable_header = false
[pvout]
# These account settings can be found at http://pvoutput.org/account.jsp
apikey = 8xxxxxx
sysid = 32xxx
Het serial id van je inverter zou een string moeten zijn die begint met 'NLD'. Kun je dit nog eens kontroleren in de configuratie van je omvormer of je wel het juiste serial id hebt?
Hmmm ik dacht dat het gewoon het serienummer was wat ik uit het display heb uitgelezen. Hij heeft nu geen DC spanning meer dan zal ik dat morgen moeten bekijken.
Volgens mij heb je nu het serial id van de wifi module van de omvormer in config.ini staan. Laat maar weten als het morgen nog niet werkt.
Nee het gaat hier om het serienummer van de omvormer zelf. Ik heb ook het python script van wouter getest, en daar krijg ik hem wel mee uitgelezen (in zijn geval is het config.cfg). Echter krijg ik pvoutput daar niet voor elkaar.
Als je zeker weet dat dit het goede serial id van je omvormer is dan kun je ook nog proberen om enkele of dubbele quotes om de string heen te zetten.
Maar is het nodig dat NLD ervoor komt te staan?
Als ik het script van Wouter doe, dan krijg ik met Livestats.py de volgende resultaten:
/Omnik-Data-Logger# python LiveStats.py
2022-10-03 10:45:17,692 DEBUG Importing output plugin ConsoleOutput
2022-10-03 10:45:17,694 INFO connecting to 192.168.1.125 port 8899
2022-10-03 10:45:18,140 INFO ID: NLDN4020133S1052
2022-10-03 10:45:18,140 DEBUG Run pluginConsoleOutput
ID: NLDN4020133S1052
E Today: 3.01 Total: 34474.0
H Total: 39218 Temp: 34.5
PV1 V: 183.8 I: 4.2
PV2 V: 290.4 I: 4.8
PV3 V: -1 I: -1
L1 P: 1928 V: 241.1 I: 7.9 F: 50.08
L2 P: -1 V: -1 I: -1 F: -1
L3 P: -1 V: -1 I: -1 F: -1
NLDN4020133S1052 dus ook gebruikt en in config.ini gezet, maar dit werkt ook niet (zelfde melding)
Heb je geprobeert om quotes er omheen te zetten?
Zo ja en als dit niet heeft geholpen, kun je dan eens kijken of je config.ini wel een echt 'plat' tekstbestand is.
Hoe kan ik dat controleren? (heb niet zo heel veel kennis van scripts namelijk)
Kan hem ook even helemaal verwijderen en opnieuw proberen
Je kunt op de command-line in de directory van omniklogger het volgende commando geven: file config.ini
Als het goed is krijg je dan als resultaat: "config.ini: ASCII text"
Welk programma gebruik je om config.ini te bewerken?
Ja dat klopt. Ik krijg hetzelfde terug. Ik gebruik nano.
Hmm ik zie nu inderdaad dat het serienummer wat begint met 602 het serienummer is van wifi stick. Ik zie het echter ook op display staan.
Kan ik het serienummer dan aan de zijkant vinden samen met NLD? Is dit een langere string?
Het serienummer van je omvormer kun je in de online configuratie van je omvormer vinden. Maar in het stukje logging van Wouter's script dat je hier hebt gepost zie ik dat jouw serienummer is: NLDN4020133S1052
Helaas maar dat lukt ook niet. Ook niet met aanhalingstekens of andere quotes
Wat is het resultaat als je het volgende commando uitvoert: file --mime-encoding ./config.ini
En welke versie van python gebruik je? Dit kun je eenvoudig zien door het volgende commando uit te voeren: python --version
/omniklogger$ file --mime-encoding ./config.ini
./config.ini: us-ascii
python --version
Python 2.7.16
Ah dat verklaard het probleem. Je python versie is te oud. Je moet minimaal versie 3.6 installeren om omniklogger te gebruiken.
Zie de installatie instructies op de hoofdpagina van omniklogger.
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd
De statusinformatie wordt gelezen... Klaar
python3 is reeds de nieuwste versie (3.7.3-1).
python3 staat ingesteld op handmatig geïnstalleerd.
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd
Kan ik om 1 of andere manier 2.6 naar 3.7 omschakelen?
Zie hiervoor de Debian/Python documentatie. Ik gebruik zelf geen Debian dus daar kan ik je niet echt bij helpen. Maar wat je zou kunnen proberen is omniklogger te starten met: python3 omniklogger.py
Ja dat lijkt nu gelukt! Ik zie geen foutmeldingen meer:
root@edijkstra:/home/edijkstra/omniklogger# python3 omniklogger.py
root@edijkstra:/home/edijkstra/omniklogger#
Log:
2022-10-05 09:01:09,698 INFO Importing output plugin: ConsoleOutput
2022-10-05 09:01:09,700 INFO Importing output plugin: PVoutputOutput
2022-10-05 09:01:09,842 INFO Waiting 10 seconds before startup...
2022-10-05 09:01:19,853 ERROR Create/bind Socket Error: [Errno 99] Cannot assign requested address
Aan de logging te zien heb je nu nog een probleem met je domain name/ip adres en/of port nummer wat is geconfigureerd in config.ini. Misschien is deze poort al in gebruik. Probeer eens een ander poortnummer.
Hallo Mark,
Zoals aangegeven op het forum, bij deze mijn probleem:
Heb het script geinstalleert op een odroid C4 debian.
Bij het starten van het script krijg ik de volgende error:
Ben zelf niet een programmeur dus weet niet echt waar ik het moet zoeken.