Ga naar inhoud

Ik krijg mijn meter (P1) half uitgelezen.


Con
 Delen
Volgers 1

Aanbevolen berichten

  • 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..
Sateliet: sinds 1 augustus 2020 niet meer.
Internet/PC: 4G met TP-Link Archer MR600 modem router, TP-Link accesspoint, switch (8), switch (4), Windows 10, 1 Raspberry Wheezy voor energiemeting.

Gigabyte melkfles 1/4 liter met Ubuntu voorzien van Domoticz gecombineerd met10 Shelly's en een paar ESP-tjes.

Link naar bericht
Delen op andere 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 naar bericht
Delen op andere 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..
Sateliet: sinds 1 augustus 2020 niet meer.
Internet/PC: 4G met TP-Link Archer MR600 modem router, TP-Link accesspoint, switch (8), switch (4), Windows 10, 1 Raspberry Wheezy voor energiemeting.

Gigabyte melkfles 1/4 liter met Ubuntu voorzien van Domoticz gecombineerd met10 Shelly's en een paar ESP-tjes.

Link naar bericht
Delen op andere 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..
Sateliet: sinds 1 augustus 2020 niet meer.
Internet/PC: 4G met TP-Link Archer MR600 modem router, TP-Link accesspoint, switch (8), switch (4), Windows 10, 1 Raspberry Wheezy voor energiemeting.

Gigabyte melkfles 1/4 liter met Ubuntu voorzien van Domoticz gecombineerd met10 Shelly's en een paar ESP-tjes.

Link naar bericht
Delen op andere 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 naar bericht
Delen op andere 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..
Sateliet: sinds 1 augustus 2020 niet meer.
Internet/PC: 4G met TP-Link Archer MR600 modem router, TP-Link accesspoint, switch (8), switch (4), Windows 10, 1 Raspberry Wheezy voor energiemeting.

Gigabyte melkfles 1/4 liter met Ubuntu voorzien van Domoticz gecombineerd met10 Shelly's en een paar ESP-tjes.

Link naar bericht
Delen op andere sites

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 account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
 Delen
  • Wie is er online   0 leden

    Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

Lees alvorens je verder gaat onze Gebruiksvoorwaarden en Privacybeleid. We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.