Con Geplaatst: 24 februari 2021 Geplaatst: 24 februari 2021 Ik kan mijn meter uitlezen met het volgende commando; cu -l /dev/ttyUSB0 -s 9600 --parity=none en dan krijg ik de volgende uitdraai iedere 10 seconden; Connected. ! /ISk5\2MT382-1004 0-0:96.1.1(5A424556303035313439383933303133) 1-0:1.8.1(12412.837*kWh) 1-0:1.8.2(08665.553*kWh) 1-0:2.8.1(03932.990*kWh) 1-0:2.8.2(08867.610*kWh) 0-0:96.14.0(0001) 1-0:1.7.0(0000.29*kW) 1-0:2.7.0(0000.00*kW) 0-0:17.0.0(0999.00*kW) 0-0:96.3.10(1) 0-0:96.13.1() 0-0:96.13.0() Ik las mijn meter altijd (reeds 7 jaar) uit op mijn Raspberry en dat ging feilloos. Nu heb ik de nodige Pythonfiles naar mijn Ubuntu server over gezet en het programma genereert geen uitdraai. Ik krijg geen foutmeldingen maar hij blijft in een loop zonder gegevens op te halen. Mogelijk komt dat door de nieuwere? Pythonversie of de nodige modules. Wie heeft een idee? Veel regels zijn uncomment omdat mijn Growatt-inverter ook wordt uitgelezen maar eerst wil ik de meter kunnen uitlezen alvorens ik mij op Growatt stort. Hier het script; #!usr/bin/python #-*-coding: utf-8-*- # MBSolget P1 Telegram Catch # version = "v1.00" import sys import os import os.path import stat import serial import time import datetime import subprocess import locale import calendar from sys import exit from time import strftime from datetime import datetime from pyowm import OWM from pymodbus.client.sync import ModbusSerialClient as ModbusClient ad=0 ap=0 gd=0 gp=0 am=0 gm=0 ############################################################################################################### # Main program ############################################################################################################### #Initialize p1_telegram = False p1_timestamp = "" p1_log = True tijd = time.strftime("%d.%m.%Y %H:%M") #print date #### gro = ModbusClient(method='rtu', port='/dev/Growatt', baudrate=9600, stopbits=1, parity='N', #### bytesize=8, timeout=2) #### gro.connect() #Set COM port config ser = serial.Serial() ser.baudrate = 9600 ser.bytesize = serial.SEVENBITS ser.xonxoff = 1 # op 23-12-2014 0057 op 0 gezet, stond op 1 ser.rtscts = 0 ser.timeout = 8 # 27-6-2015 was 5 #ser.port = "/dev/P1meter" ser.port = "/dev/ttyUSB0" teller=0 # #Open COM port try: ser.open() except: sys.exit ("Fout bij het openen van poort %s. " % ser.name) ser.flushInput() ad=0 ap=0 gd=0 gp=0 am=0 gm=0 #ser.close() stond na regel 81 #P1 uitlezen while p1_log: p1_line = '' try: p1_raw = ser.readline() except: sys.exit ("Fout bij het lezen van poort %s. " % ser.name ) # ser.close() p1_line = p1_raw.strip() p1_str = str(p1_raw).encode("utf-8") p1_line = p1_str.strip() if p1_line[0:1] == "/": p1_telegram = True elif p1_line[0:1] == "!": if p1_telegram: p1_telegram = False p1_log = False # ser.close() if p1_telegram: if "1.8.1" in p1_line: ad= int(1000 * float(p1_line[10:19])) # ad= afgenomen dal if "1.8.2" in p1_line: ap= int(1000 * float(p1_line[10:19])) # ap= afgenomen piek if "2.8.1" in p1_line: gd= int(1000 * float(p1_line[10:19])) # gd= geleverd dal if "2.8.2" in p1_line: gp= int(1000 * float(p1_line[10:19])) # gd= geleverd piek if "1.7.0" in p1_line: am= int(1000 * float(p1_line[10:17])) # am= afgenomen nu # try: # ra = gro.read_input_registers(17,13) # data = str(ra.registers) # #gro.close() # except AttributeError: # data = "0,0,0,0,0,0,0,0,0,0,0,0,0" # #gro.close() if "2.7.0" in p1_line: gm= int(1000 * float(p1_line[10:17])) # gm= geleverd nu #Growatt data-afhandeling #### data = data.strip("[]") #### data = data.replace(" ", "") #### data = data.replace("0,0,0,0,0,0,0,0,0,", "") #### k1= data.find(',', 0) #### k2= data.find(',', k1+1) #### k3= data.find(',', k2+1) #### zo = int(float(data[0:k1])/10+.5) #### da = int(float(data[k1+1:k2])*100) #### To = int(float(data[k3+1:])) #ge=zo+am-gm #### data=str(tijd)+","+str(am)+","+str(gm)+","+str(ad)+","+str(ap)+","+str(gd)+","+str(gp)+","+str(zo)+","+str(da)+","+str(To)+","+str(ge)+ "\n" data=str(tijd)+","+str(am)+","+str(gm)+","+str(ad)+","+str(ap)+","+str(gd)+","+str(gp)+ "\n" f=open("log.txt", "a+",0) f.write(data) f.flush() f.close() Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen.. Sinds november 2023 glasvezel via Solcon (voor het laatst). Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4) PC: Intel Nuc i7 met W11. Laptop Thinkpad met W11. Asus Gigabyte Home Assistant, 20 Shelly's en 2 ESP-tjes en Zigbee.
Donkeyman Geplaatst: 27 februari 2021 Geplaatst: 27 februari 2021 Welk programma gebruik je eigenlijk voor de uitlezing? Ik gebruik hier het gratis P1 monitor en dat werkt heel goed en probleemloos. Ik kan zelfs de buitentemperaturen van een naburig weerstation integreren. VU+ Ultimo 4K PLI 9.x dual DVB-S2 FBC tuner met 750Gb WD Blue, VU+ Zero 4K PLI 9.x Visiosat G4 Quadro met 3 Alps quad en 1 Inverto Ultra Black quad, LG G1 Oled Evo 77 inch, Sony Bravia KDL 65-XD7505, , Nvidia Shield TV Pro mediaplayer, Denon AVR-X3500 audioreceiver. Zone 1: 2X Kef IQ90, 2x Kef IQ10, Kef IQ60c, BK XXLS 400 subwoofer. Zone 2: 2X Tangent EVO4. Fritzbox 7590. Synology DS418, Raspberry Pi 3B
Con Geplaatst: 27 februari 2021 Auteur Geplaatst: 27 februari 2021 10 uren geleden, Donkeyman zei: Welk programma gebruik je eigenlijk voor de uitlezing? Ik gebruik hier het gratis P1 monitor en dat werkt heel goed en probleemloos. Ik kan zelfs de buitentemperaturen van een naburig weerstation integreren. Het programma zoals ik in code hier heb neergezet. Python dus. Met dit script lees ik niet alleen mijn P1 uit maar ook mijn inverter. En dn kom je op de volgende waarden; - afgenomen - geleverd - zonaandeel Aan de hand hiervan genereer ik met Gnuplot prachtige grafieken en houd ik mijn leverancier in de gaten... Zie ook de gegenereerde grafieken; https://ccvd.eu/Energie.php Uiteraard zie je dat de grafieken niet helemaal bij zijn omdat ik een chrash heb gehad die ik nu aan het oplossen ben. Kortom, ik maak geen gebruik van diverse andere mogelijkheden. Ik hou alles "privé". Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen.. Sinds november 2023 glasvezel via Solcon (voor het laatst). Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4) PC: Intel Nuc i7 met W11. Laptop Thinkpad met W11. Asus Gigabyte Home Assistant, 20 Shelly's en 2 ESP-tjes en Zigbee.
Con Geplaatst: 28 februari 2021 Auteur Geplaatst: 28 februari 2021 Goed, de meter krijg ik weer uitgelezen. Nu de Growatt nog. Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen.. Sinds november 2023 glasvezel via Solcon (voor het laatst). Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4) PC: Intel Nuc i7 met W11. Laptop Thinkpad met W11. Asus Gigabyte Home Assistant, 20 Shelly's en 2 ESP-tjes en Zigbee.
Donkeyman Geplaatst: 1 maart 2021 Geplaatst: 1 maart 2021 Con, dat ziet er inderdaad allemaal mooi uit. Succes! VU+ Ultimo 4K PLI 9.x dual DVB-S2 FBC tuner met 750Gb WD Blue, VU+ Zero 4K PLI 9.x Visiosat G4 Quadro met 3 Alps quad en 1 Inverto Ultra Black quad, LG G1 Oled Evo 77 inch, Sony Bravia KDL 65-XD7505, , Nvidia Shield TV Pro mediaplayer, Denon AVR-X3500 audioreceiver. Zone 1: 2X Kef IQ90, 2x Kef IQ10, Kef IQ60c, BK XXLS 400 subwoofer. Zone 2: 2X Tangent EVO4. Fritzbox 7590. Synology DS418, Raspberry Pi 3B
Con Geplaatst: 3 maart 2021 Auteur Geplaatst: 3 maart 2021 Ook de Growatt inmiddels uit de kast gekregen. Kortom, alles draait weer, ben wél één maand kwijt. Dus op basis van zonuren zal ik een inschatting gaan maken om februari weer een realistisch beeld te geven. Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen.. Sinds november 2023 glasvezel via Solcon (voor het laatst). Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4) PC: Intel Nuc i7 met W11. Laptop Thinkpad met W11. Asus Gigabyte Home Assistant, 20 Shelly's en 2 ESP-tjes en Zigbee.
Aanbevolen berichten
Maak een account aan of log in om te reageren
Je moet een lid zijn om een reactie te kunnen achterlaten
Account aanmaken
Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!
Registreer een nieuwe accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen