NEWS
DMP8624 -> iobroker
-
@wal
ja cool, werde ich am Wochenende testen.
Werde mal schauen was am Compiler bei mir nicht stimmt.
Weisst du ob er Timer mit der Tagesvorwahl in Tasmota Standart mit drin ist.
Hatte noch keine Zeit das prüfen.
Bin am vorbereiten, da morgen der Dachdecker noch 4 Module anbringt. -
@ralla66 ,
bei mir nicht, müsste ich erst hinzufügen. -
Habe immer Warning Fehler auf Git. Das nervt als Beginner.
Erst recht wenn man keine Ahnung hat. -
@ralla66 ,
habe wieder was.
Globale Variable
Man braucht kein websend es funktioniert einfach so. -
Morgen, läuft nun, wir sollen mal eine Versionnummer vergeben.
Jetzt die Verkasperung, wenn Bezug Watt ist x steuere V und A mit
Natürlich gepart mit Triggerudatezeit.
Schöner Wohnen machen wir am Scluss, sollte erst laufen.Nachtrag
für eine Nachteinspeisung sollten wir einen Button anlegen Timer aktiv.
Wichtige Parameter wie Bezug Zähler und berechnete Ausgangsleistung BAL gehören auch dazu.
So wird auch sofort erkannt ob der Zähler ESP läuft und ob das Script läuft.
DC Ausgang und Temp sind ja eher Schöner Wohnen.Für die Berechnung Bezug -> Ausgang könnte man die Daten eines HM 600
nehmen, linear dürfte reichen. Betrieb des HM etc unter 50 Watt ist eher Sinn befreit.
Die Daten V und A eines HM könnte ich Live mitloggen wenn Sonne da ist. -
@ralla66 ,
da habe ich im Moment die Hardware dazu zum testen. Du musst aber den Skriptspeicher im Auge behalten oder auf einen ESP32 wechseln. Berryscript sollte ich mir auch mal anschauen. -
bestelle schon mal Esp32 falls das zu wenig ist.
1366 Zeichen sind übrig.
Im Script fehlt ja nur noch Wert Bezug extrahieren und die Berechnung.
Denke wird bsp. -> 150 Watt Bezug : Volt Festwert 29 Volt = A <-Der Pylontech hat immer zwischen 47 und 52 Volt .
Schaue heute abend mal die Livedaten ab 19:00 Uhr.erster Eindruck, Hoymiles DC eine Seite,
Nachtrag, man könnte auch den Mppt des WR setzen zwischen 25 und 32 Volt, 0 -12 A .
Dazu müsste der Mppt Point bekannt sein oder eine Var anlegen das jeder Fest Volt
selbst bestimmt.
Der Lumentree hat meist bsp. -> 150 Watt Bezug : Volt Festwert 49 Volt Pylon = A <-
Na ja, Pylontech Spannungswert einlesen ist ja jetzt easy. -
@ralla66 ,
ja das wollte ich so umsetzen, feste Spannung am WR und Ampere regeln.
Nach dem Einschalten des DPM die Spannung langsam hochfahren auf z.B. 30V und danach je nach Leistungsabnahme den Strom regeln.Edit: ich nutze ein APSystems DS3-S den kann man noch nicht regeln.
-
dann lass uns doch eine Var einfügen Spannungswert Ausgang. Diese kann dann
fest sein oder Variable durch Pylon Spannungswerte oder andere Wechselrichterwerte
beschrieben werden. Festwert würde mir auch reichen, so genau muss das nicht geregelt
werden.Ich mag die alten Analoginstrumente
-
@ralla66,
habe mir jetzt eine einfache Regelung erstellt die schon sehr gut funktioniert.
Muss mir noch mit Grafana ein Graph erstellen für den Langzeittest.
Ist mit der Rechnungp=pwr-(U*I)
erstellt, da ich noch keine Batterie habe und den aktuellen Verbrauch hole ich mir über eine Globale Variable da das einfach ist.
>D g:pwr=0 p=0 timer=0 Umax=40 Imax=10 Ppos=20 Pneg=-50 U=40 I=0.5 p:SW=0 rU="01060000" vU="" rI="01060001" vI="" rSW="01060002000" vSW="" >BS +>subscribe U, cmnd/%topic%/tvolt +>subscribe I, cmnd/%topic%/tampere +>subscribe SW, cmnd/%topic%/tpow >B ->sensor53 r tper=10 >S dt [l1c1p10]pwr=%pwr% p=pwr-(U*I) timer+=1 if timer>3 { if p>Ppos { I+=0.5 } if p<Pneg { if p<-150 { I=0.5 } I-=0.5 } timer=0 } if chg[SW]>0 { vSW=rSW+s(SW) sml(1 3 vSW) +>publish stat/%topic%/RESULT {"tpow":%0SW%} } if chg[U]>0 { if U>Umax { U=Umax } if U<0 { U=0 } vU=rU+sb(hx((U*100)) 4 4) sml(1 3 vU) +>publish stat/%topic%/RESULT {"tvolt":%2U%} } if chg[I]>0 { if I>Imax { I=Imax } if I<0.5 { I=0.5 } vI=rI+sb(hx((I*1000)) 4 4) sml(1 3 vI) +>publish stat/%topic%/RESULT {"tampere":%2I%} } >W bu(SW "DPM Ein" "DPM Aus") nm(0.0 60.0 0.01 U "DPM Ausgang (V)" 200 2) nm(0.0 24.0 0.01 I "DPM Ausgang (A)" 200 2) Aktuelle Leistung{m} %0pwr% W Errechnete Leistung{m} %0p% W >M 1 +1,3,m,16,9600,DC,1,2,010300000001,010300010001,010300020001,010310030001 1,010302SSssxxxx@i0:100,Spannung,V,sVolt,2 1,010302SSssxxxx@i1:1000,Strom,A,sCur,2 1,010302SSssxxxx@i2:1,Ausgang,,sSwitch,0 1,010302SSssxxxx@i3:1,Temp,°C,tCur,1 #
-
Prima da es so funktioniert. Bin mal gespannt wie es läuft wenn die Batterie da ist.
Anregungen habe ich hier viele bekommen und werde wenn dann mal Zeit ist
das für mich umstellen. Bei mir soll ja Tagsüber nur in den Speicher geladen werden
und erst Abends eine fast Nulleinspeisung erfolgen. Das bedingt ja einen Timer.
Die globale Variable werde ich wohl auch nicht nutzen. Lese hier weiter mit und
werde das Projekt weiter unterstützen wenn Bedarf besteht.Mal danke an Dich für dieses spannende Projekt.
Ralla
-
bissl Zeit gehabt
Wie wird denn V und C dem DPM übergeben ?
Reicht es die Var V und C zu aktuallisieren ? -
@ralla66 ,
Die Spannung habe ich fest auf 40V eingestellt da mein WR 28V-45V Eingang hat und Strom errechnet er vom aktuellen Verbrauch und nähert sich langsam an bis die errechnete Leitung gegen 0 geht.
Ich übergebe kein Spannung/Strom. -
Danke,
habe es jetzt, Nulleinspeisung per DPM rennt nun.
Geilomatwers brauch
>D Timer=0 p=0 bakt=0 Zeit=0 IAus=0 VAus=29 WAus=0 pwr=0 Vmax=60 Cmax=24 V=0 C=0 SW=0 rV="01060000" vV="" rC="01060001" vC="" rSW="01060002000" vSW="" >BS +>subscribe V, cmnd/%topic%/tvolt +>subscribe C, cmnd/%topic%/tampere +>subscribe SW, cmnd/%topic%/tpow >B ->sensor53 r tper=10 >S Timer+=1 if Timer>30 { =>websend [192.168xxx.xxx] /cm?cmnd=status 10 Timer=0 } if chg[SW]>0 { vSW=rSW+s(SW) sml(1 3 vSW) +>publish stat/%topic%/RESULT {"tpow":%0SW%} } if chg[V]>0 { if V>Vmax { V=Vmax } if V<0 { V=0 } vV=rV+sb(hx((V*100)) 4 4) sml(1 3 vV) +>publish stat/%topic%/RESULT {"tvolt":%2V%} } if chg[C]>0 { if C>Cmax { C=Cmax } if C<0 { C=0 } vC=rC+sb(hx((C*1000)) 4 4) sml(1 3 vC) +>publish stat/%topic%/RESULT {"tampere":%2C%} } >E bakt=WebQuery#StatusSNS#MT175#Bezug_Aktuell IAus=bakt/VAus WAus=IAus*VAus ; V und A setzen V=VAus C=IAus >W bu(SW "DPM Ein" "DPM Aus") bu(Zeit "Timer Ein" "Timer Aus") nm(0.0 60.0 0.01 V "DPM Ausgang (V)" 200 2) nm(0.0 24.0 0.01 C "DPM Ausgang (A)" 200 2) Bezug Zähler{m} %0bakt% W Errechnete Leistung{m} %0WAus% W Aktuelle Leistung{m} %0pwr% W >M 1 +1,3,m,16,9600,DC,1,2,010300000001,010300010001,010300020001,010310030001 1,010302SSssxxxx@i0:100,Spannung,V,sVolt,2 1,010302SSssxxxx@i1:1000,Strom,A,sCur,2 1,010302SSssxxxx@i2:1,Ausgang,,sSwitch,0 1,010302SSssxxxx@i3:1,Temp,°C,tCur,1 #
-
@ralla66 ,
das wäre mir zu heikel, wenn du gerade wenig verbrauchst und den Herd einschaltest, reißt du den Stromregler von 0 auf 24. -
könnte man ja begrenzen, wobei der HM ja 2 x 12 kann.
Ziel der Übung war ja auf Bezug den Ausgang des DPM zu regeln.
Was letztendlich am Ausgang des DPM hängt obligt ja dem User.
Das im Script bei Balkon WR noch eine Anfahrrampe dazu gehört dürfte
bekannt sein. Die C Problematik ist ja bekannt und ausführlich im Forum
bei Andreas Schmitz nachlesbar.
Na ja, in der Bedienungsanleitung des HM steht ja das der WR nicht
mit Batteriebetrieb betrieben werden soll. -
h@wal ICh habe mein esp8266 laut Bild angeschlossen. Firmware ist geflashed. wie bekomme ich denn den code auf den chip? Und ich kann den chip nirgends finden. sollte mit der firmware nicht zugriff auf den chip irgendwo im netz sein?
-
@fimoknete ,
als erstes hier ein Link für das DPM8624 kontrolliert mit dem Modbus-Adapter.Für einen ESP8266 brauchst du eine firmware.bin.gz Tasmota Firmware mit aktiviertem Skript.
Falls du ein DPM8624 mit RS485 hast brauchst du noch ein RS485/TTL Wandler, hast du einen mit TTL kannst du den ESP8266 direkt an GPIO1 und GPIO3 anschließen.
Unter "Konsolen -> Skript" konfigurieren findest du dann den Skript Editor. -
@wal Also ich habe das 8622 geflashed. Der DMP ist angeschlossen, die blaue Com Leuchte blinkt und transmitted irgendwas.
Merkwürdig ist, dass mein Modbus Adapter im IObroker kurz auf grün springt, aber nach kurzer Zeit wieder auf Gelb springt. !Angelegt hat er die Register aus den Modbus Adapter.
Die Werte bleiben die ganze Zeit gelb.
Was ist zu tun?
Die Adressen sehen in der Anleitung DMP auch anders aus (0000H usw.) aber es gibt kein H bei der Adresseingabe im Modbus Modul IoBroker.
-
@wal said in DMP8624 -> iobroker:
@fimoknete ,
als erstes hier ein Link für das DPM8624 kontrolliert mit dem Modbus-Adapter.Für einen ESP8266 brauchst du eine firmware.bin.gz Tasmota Firmware mit aktiviertem Skript.
Falls du ein DPM8624 mit RS485 hast brauchst du noch ein RS485/TTL Wandler, hast du einen mit TTL kannst du den ESP8266 direkt an GPIO1 und GPIO3 anschließen.
Unter "Konsolen -> Skript" konfigurieren findest du dann den Skript Editor.Wie komme ich denn auf den Adapter zur Konsole??? Und was ist GPIO?