NEWS
DMP8624 -> iobroker
-
@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 # -
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. -
@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.
Geilomat :-)
wers 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 # -
Danke,
habe es jetzt, Nulleinspeisung per DPM rennt nun.
Geilomat :-)
wers 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. -
@ralla66 ,
ich nutze ein esp32 es funzt aber auch ein ESP8266.
Wichtig ist nur das das Teil ein 5V Anschluss hat um ihn direkt an den DPM8624 anzuschließen.

-
@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.
-
@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 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?
-
@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.
@fimoknete ,
der Modbusadapter ist für das mitgelieferte USB-Kabel.Der ESP mit Tasmota erzeugt ein Access Point mit dem Namen Tasmota......
mit dem verbindest du dich z.B. mit dem Handy. Dann öffnest du den Browser und rufst die Adresse 192.168.4.1 auf.
Da kannst du den ESP mit deinem WLan verbinden, ist der dann verbunden kannst du ihn mit dem Browser erreichen. -
@fimoknete ,
der Modbusadapter ist für das mitgelieferte USB-Kabel.Der ESP mit Tasmota erzeugt ein Access Point mit dem Namen Tasmota......
mit dem verbindest du dich z.B. mit dem Handy. Dann öffnest du den Browser und rufst die Adresse 192.168.4.1 auf.
Da kannst du den ESP mit deinem WLan verbinden, ist der dann verbunden kannst du ihn mit dem Browser erreichen.@wal Danke. Wirklich cool das du so geduldig mit mir bist.
ich habe jetzt das hier, obwohl der DMP läuft.
Wie bekomme ich denn den ESP dazu, mit dem DMP zu sprechen. Die blaue LED blinkt.
Wie bekomme ich später den ESP dazu, mit dem iobroker zu sprechen? -
@wal Danke. Wirklich cool das du so geduldig mit mir bist.
ich habe jetzt das hier, obwohl der DMP läuft.
Wie bekomme ich denn den ESP dazu, mit dem DMP zu sprechen. Die blaue LED blinkt.
Wie bekomme ich später den ESP dazu, mit dem iobroker zu sprechen? -
@fimoknete ,
in den DPM Setting musst du auf Modbus stellen.
Set lange drücken und danach mit Set durchblättern bis 5-CS und das auf 1 stellen. -
@wal Das ist schon aktiviert. KAnn man irgendwo den Datenstrom zwischendurch visualisieren?
-
@fimoknete ,
wenn du ein esp mit usb hast, kannst du den in den PC stecken und ein Terminalprogramm starten.
Die Baudrate vom DPM steht auf 9600 ? -
@fimoknete ,
suche nach hterm.@wal Also Daten kommen vom DMP via Port 13 in den Rechner. Wieso sieht der ESp das nicht? Am Script habe ich noch nichts geändert.

Muss ich dem Tasmota auf dem ESP noch irgendwas mitteilen?
Das mitgelieferte Programm vom DMP sieht übrigens auch nichts.
-
@wal Also Daten kommen vom DMP via Port 13 in den Rechner. Wieso sieht der ESp das nicht? Am Script habe ich noch nichts geändert.

Muss ich dem Tasmota auf dem ESP noch irgendwas mitteilen?
Das mitgelieferte Programm vom DMP sieht übrigens auch nichts.
-
@wal Also Daten kommen vom DMP via Port 13 in den Rechner. Wieso sieht der ESp das nicht? Am Script habe ich noch nichts geändert.

Muss ich dem Tasmota auf dem ESP noch irgendwas mitteilen?
Das mitgelieferte Programm vom DMP sieht übrigens auch nichts.
@fimoknete ,
nimm als Skript erst mal die minimal Version.>D >B ->sensor53 r >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 # -
@fimoknete ,
nimm als Skript erst mal die minimal Version.>D >B ->sensor53 r >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 #



