Seite 8 von 12

Re: 43kW Wallbox in 45701

Verfasst: Mi 9. Mär 2016, 21:34
von Syon
Geht vermutlich.
Hab ich aber nicht für bezahlt.
Als Bausatz sollte das wesentlich billiger sein.

Re: 43kW Wallbox in 45701

Verfasst: Mi 9. Mär 2016, 22:52
von EVduck
Falls du das defekte Teil nicht zurück senden sollst, würde ich dir die Entsorgung abnehmen können... Bei Interesse->PN

Re: 43kW Wallbox in 45701

Verfasst: Mi 9. Mär 2016, 22:57
von Taxi-Stromer
Also, angelötet ist das Bauteil in wenigen Minuten - inklusive Anheizzeit für den Lötkolben!

Einpacken und versenden ist mit Sicherheit weit mehr Aufwand, ganz abgesehen von der Wartezeit bis das Austausch-Teil geliefert wird.... :roll:

Re: 43kW Wallbox in 45701

Verfasst: Mi 9. Mär 2016, 23:01
von Syon
Ich werde darauf warten.
Das Bauteil hat auch keine Beine mehr.
Die sind bündig weg.

Re: 43kW Wallbox in 45701

Verfasst: Mi 9. Mär 2016, 23:24
von umberto
Syon hat geschrieben:
Das Bauteil hat auch keine Beine mehr.
Die sind bündig weg.
SMD = Surface Mounted Device. Da gibt's keine Beine mehr.
Ist aber etwas frickelig zu löten bzw. erfordert Übung (und bessere Augen als meine).

Gruss
Umbi

Re: 43kW Wallbox in 45701

Verfasst: Do 24. Mär 2016, 14:08
von Syon
So, ein weiteres Update.

Die simpleEVSE ist nochmal angekommen und wurde, entgegen der ersten Ansage, vollständig getauscht.
Da war wohl mehr defekt als nur die beiden abgeworfenen SMD's.
Telefonisch konnte ich die Herren Hersteller auch davon überzeugen nicht nochmals ~15€ für den Versand zurück zu mir zu bezahlen. :evil:

Während ich noch auf die Konfiguration des Raspi warte um eine telefonische Freischaltung zu realisieren habe ich das Projekt von marxx gefunden.

Ich hatte Kapazität und ein Monitor ist chic. Also ran.

Nach ein bisschen Frickelei lief dann auch das Programm und der Monitor zeigte ein nettes Bild.
Allerdings war die Prozessorlast durchgehend bei ca. 90-100%
Es stellte sich heraus, dass das original Programm die GPIOs ständig aktiv überwachte.
Nach viel recherche im Netz und einigen mails mit marxx war dann ein neues Programm erstellt.
Diesmal wurden die GPIOs via Interrupt "überwacht".
Marxx hat die beiden Programme dann vereint und nun ist die Prozessorlast nur noch bei ca. 1-10%

zum Nachbauen:

Ich verwende Debian jessie.
Die S0 Schnittstelle des Zählers (bei mir der B+G E-Tech SDM630Modbus) wird auf GPIO2 (+) und GND gelegt.
Hier die /usr/local/bin/emob/impsim.py

Code: Alles auswählen

#!/usr/bin/env python

import subprocess
import smtplib
import socket

from email.mime.text import MIMEText

import time
import MySQLdb as mdb
import sys

import RPi.GPIO as GPIO, time, os

from sys import stdout 

from datetime import datetime

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(2, GPIO.IN)

gread = 0
hcount = 0
load = 0 
lch = 0
imp = 0
lcheck = 0

now = datetime.now()
last = now
lastlast = last
delta = now - last

pstart = 1

Empf = 'mail'
Abs = 'mail'
Passw = 'Password'
smtpserv = smtplib.SMTP_SSL('Server',465)
smtpserv.ehlo()

# In Account einloggen
smtpserv.login(Abs, Passw)

Wtxt = 'Ladestation neu gestartet'
cmsg = MIMEText(Wtxt)
cmsg['Subject'] = 'Ladestation neu gestartet'

cmsg['From'] = 'Ladestation'
cmsg['To'] = Empf

smtpserv.sendmail(Abs, [Empf], cmsg.as_string())
smtpserv.quit()

def RCtime (channel):
#	print "imp"  #Zum Debuggen
	global last
	global lcheck
	global gread
	global hcount
	global imp
	imp = 1
	now = datetime.now()
	delta = now - last
	lastlast = last
	last = now
	delta = last - lastlast
	if delta.seconds < 30:
	    if lcheck == 1:
		hcount += 1
		if hcount > 100:
		    hcount = 1	    
		gread += 0.00250	# entspricht 400 Impulsen pro kW. 0.00125=800 Imps/kW
    		writedb(gread,hcount)
	    else:
		setload()
		lcheck = 1
		writedb(gread,hcount)
		writerem(1)
		postit(1, 0)

def setload ():
    con = None
    try:
        con = mdb.connect('localhost', 'DB_User', 'Password', 'emob');
        cur = con.cursor()
	cur.execute("UPDATE emob.settings SET loading='1'")
    	con.commit()
    except mdb.Error, e:
        print "Error %d: %s" % (e.args[0],e.args[1])
        sys.exit(1)
    finally:        
        if con:    
            con.close()

def unsetload ():
    con = None
    try:
        con = mdb.connect('localhost', 'DB_User', 'Password', 'emob');
        cur = con.cursor()
	cur.execute("UPDATE emob.settings SET loading='0'")
    	con.commit()
    except mdb.Error, e:
        print "Error %d: %s" % (e.args[0],e.args[1])
        sys.exit(1)
    finally:        
        if con:    
            con.close()

def writedb (akw,fcount):
    loading = 0
    con = None
    try:
        con = mdb.connect('localhost', 'DB_User', 'Password', 'emob');
        cur = con.cursor()
	cur.execute("SELECT loading FROM emob.settings")
	ldata = cur.fetchone()
	loading = ldata[0]
	if loading == 1:
	    cur.execute("SELECT total FROM emob.countings")
	    data = cur.fetchone()
	    tkw = data[0]
	    if fcount == 100:    
		tkw += 1
	    sql = "UPDATE emob.countings SET actual=%s, total=%s"
	    cur.execute(sql, (akw,tkw))
    	con.commit()
    except mdb.Error, e:
        print "Error %d: %s" % (e.args[0],e.args[1])
        sys.exit(1)
    finally:        
        if con:    
            con.close()
    return loading

def writerem (rload):
    con = None
    try:
        con = mdb.connect('Server', 'DB_User', 'Password', 'DB_Name');
        cur = con.cursor()
	sql = "UPDATE DB_Name.station SET loading=%s" 	# ebenfalls anpassen!
	cur.execute(sql, (rload))
    	con.commit()
    except mdb.Error, e:
        print "Error %d: %s" % (e.args[0],e.args[1])
        sys.exit(1)
    finally:        
        if con:    
            con.close()

def postit(pload, pkw):
    Empfaenger = 'mail'
    Absender = 'mail'
    Passwort = 'Password'
    smtpserver = smtplib.SMTP_SSL('Server',465)
    smtpserver.ehlo()

    # In Account einloggen
    smtpserver.login(Absender, Passwort)

    # Text
    if pload == 1:
	Wert = 'Ladevorgang gestartet'
    if pload == 0:
	Wert = 'Ladevorgang beendet: %s kW' % pkw
    msg = MIMEText(Wert)

    # Betreff + Datum
    msg['Subject'] = 'Nachricht von der Ladestation'

    # Absender
    msg['From'] = 'Ladestation'

    #Empfaenger
    msg['To'] = Empfaenger

    # E-Mail abschicken
    smtpserver.sendmail(Absender, [Empfaenger], msg.as_string())
    smtpserver.quit()

unsetload()
writedb(0,0)

GPIO.add_event_detect(2, GPIO.RISING, callback = RCtime, bouncetime = 100)

try:
    while True:
	imp = 0
	time.sleep(30)
	if imp == 0 and lcheck == 1:
		unsetload()
		lcheck = 0
		writerem(0)
		postit(0, gread)
		hcount = 0
		gread = 0

except KeyboardInterrupt:
    GPIO.remove_event_detect(2)
 
Falls der HDMI-Monitor, wie bei mir, nur eingeschaltet werden soll wenn geladen wird hier die /usr/local/bin/emob/screen.py

Code: Alles auswählen

#!/usr/bin/env python

import time
import subprocess
import MySQLdb as mdb

from datetime import datetime

try:
        while True:
                con = mdb.connect('localhost', 'DB_User', 'Password', 'emob');
                cur = con.cursor()
                cur.execute("SELECT loading FROM emob.settings")
                ldata = cur.fetchone ()
                if ldata == (1L,):
                        subprocess.call( "vcgencmd display_power 1", shell=True )
                        time.sleep(600)         # 10 Minuten Nachlaufzeit.
                else:
                        time.sleep(5)
                        subprocess.call( "vcgencmd display_power 0", shell=True )

        else:
                time.sleep(5)

except mdb.Error, e:
        print "Error %d: %s" % (e.args[0],e.args[1])
        sys.exit(1)
finally:
        if con:
                con.close()
Auf dem Pi muss zusätzlich zu Apache2, PHP5 und MySQL noch unclutter, matchbox-window-manager und der midori Webbrowser installiert werden.

Die Datei /home/pi/startMidori.sh anlegen:

Code: Alles auswählen

#!/bin/sh
xset -dpms # disable DPMS (Energy Star) features.
xset s off # disable screen saver
xset s noblank # don't blank the video device
unclutter &
matchbox-window-manager &
midori -e Fullscreen -a http://localhost/index.php
Alles noch mit der rc.local beim Systemstart mitstarten:
/etc/rc.local

Code: Alles auswählen

xinit /home/pi/startMidori.sh &
(/bin/sleep 10 && /usr/local/bin/emob/impsim.py) &
(/bin/sleep 15 && /usr/local/bin/emob/screen.py) &

exit 0
Das war's :D

Da ich hier einiges anders gemacht habe als marxx und auch nicht so ausführlich erkläre, hier noch der Link zu seiner Projektseite mit ausführlicherer Erklärung.

Hier noch ein Bild des derzeitigen Status:
Bild

Die Statusseite der Ladebox findet ihr hier.

Re: 43kW Wallbox in 45701

Verfasst: Do 24. Mär 2016, 14:22
von Berndte
Sieht gut aus... gerade auch das Display da oben hinter der Klappe.
Hast du deinen Ladepunkt schon im Verzeichnis drin?

Re: 43kW Wallbox in 45701

Verfasst: Do 24. Mär 2016, 14:24
von Syon
Nee, die hängt ja nichtmal draußen...
Aber der Postbote hat mir gerade den Typ2 Dummy gebracht.
Also werde ich nächste Woche beim Metallbauer noch einen Winkel dafür bauen lassen und dann kommt das Gelumpe hoffentlich endlich an die Wand.

Re: 43kW Wallbox in 45701

Verfasst: Do 24. Mär 2016, 14:59
von Pelle_HB
Ganz großes Kino !
Finde es echt bemerkenswert was auf dieser Seite für knoff-hoff vorhanden ist.
Erinnert ihr euch noch? https://www.youtube.com/watch?v=_vm9FaiPCn4 :mrgreen:

Re: 43kW Wallbox in 45701

Verfasst: Do 24. Mär 2016, 15:38
von wp-qwertz
ja, von dem technischen schick schnack verstehe ich nix, aber ich freue mich über deine initiative und deinen einsatz!