Jump to content

Ik krijg mijn meter (P1) half uitgelezen.


Con
 Share
Followers 1

Recommended Posts

  • V.I.P.

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 maart 2021 glasvezel via KPN.

Internet/PC: router KPN Box 12 en TP link archer AC 1200, TP-Link accesspoint, switch (8), switch (4)

Intel Nuc met energiemeting en Domoticz, Intel Nuc als PC met Windows 10, 16 Shelly's en een 2 ESP-tjes.

Link to post
Share on other sites

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.

Firefox_Screenshot_2021-02-27T08-13-53.399Z.png

Firefox_Screenshot_2021-02-27T08-13-23.639Z.png

Firefox_Screenshot_2021-02-27T08-12-59.080Z.png

VU+ Ultimo 4K PLI 8.x dual DVB-S2 FBC tuner met 750Gb WD Blue, VU+ Zero 4K PLI 8.x  Visiosat G4 Quadro met 3 Alps quad en 1 Inverto Ultra Black quad, Sony Bravia KDL 65-XD7505, Panasonic TX-L42FT60, 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

Link to post
Share on other sites
  • V.I.P.
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 maart 2021 glasvezel via KPN.

Internet/PC: router KPN Box 12 en TP link archer AC 1200, TP-Link accesspoint, switch (8), switch (4)

Intel Nuc met energiemeting en Domoticz, Intel Nuc als PC met Windows 10, 16 Shelly's en een 2 ESP-tjes.

Link to post
Share on other sites
  • V.I.P.

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 maart 2021 glasvezel via KPN.

Internet/PC: router KPN Box 12 en TP link archer AC 1200, TP-Link accesspoint, switch (8), switch (4)

Intel Nuc met energiemeting en Domoticz, Intel Nuc als PC met Windows 10, 16 Shelly's en een 2 ESP-tjes.

Link to post
Share on other sites

Con, dat ziet er inderdaad allemaal mooi uit. Succes!

VU+ Ultimo 4K PLI 8.x dual DVB-S2 FBC tuner met 750Gb WD Blue, VU+ Zero 4K PLI 8.x  Visiosat G4 Quadro met 3 Alps quad en 1 Inverto Ultra Black quad, Sony Bravia KDL 65-XD7505, Panasonic TX-L42FT60, 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

Link to post
Share on other sites
  • V.I.P.

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 maart 2021 glasvezel via KPN.

Internet/PC: router KPN Box 12 en TP link archer AC 1200, TP-Link accesspoint, switch (8), switch (4)

Intel Nuc met energiemeting en Domoticz, Intel Nuc als PC met Windows 10, 16 Shelly's en een 2 ESP-tjes.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Lees alvorens je verder gaat onze Terms of Use en Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.