NEWS
DMP8624 -> iobroker
-
@ralla66 ,
ja du hast Recht.
Das hier funktioniert also nicht, ist aber nur die Anzeige die macht aber programmtechnisch nichts.>M 1 +1,3,m,16,9600,DC,1,2,010300000001,010300010001,010300020001,010310010001,010310020001,010310030001 1,010302SSssxxxx@i0:100,Spannung (set),V,sVolt,2 1,010302SSssxxxx@i1:1000,Strom (set),A,sCur,2 1,010302SSssxxxx@i2:1,Ausgang (set),,sSwitch,0 1,010302SSssxxxx@i3:100,Spannung (disp),V,dVolt,2 1,010302SSssxxxx@i4:1000,Strom (disp),A,vCur,2 1,010302SSssxxxx@i5:1,Temp,°C,tCur,1 #
-
dann was für später eben.
Ein / Aus und Vorgaben Volt und Ampere sollte min lauffähig sein.
Bin noch ne Stunde Online wenn du noch was testen möchtest.Erst einmal Danke für die Mühe, Top
Ralla
-
@ralla66 ,
das Einzige wäre nur die Anzeige testen.>D >M 1 +1,3,m,16,9600,DC,1,2,010300000001,010300010001,010300020001,010310010001,010310020001,010310030001 1,010302SSssxxxx@i0:100,Spannung (set),V,sVolt,2 1,010302SSssxxxx@i1:1000,Strom (set),A,sCur,2 1,010302SSssxxxx@i2:1,Ausgang (set),,sSwitch,0 1,010302SSssxxxx@i3:100,Spannung (disp),V,dVolt,2 1,010302SSssxxxx@i4:1000,Strom (disp),A,vCur,2 1,010302SSssxxxx@i5:1,Temp,°C,tCur,1 #
-
keine Werte in der Web Gui.
den Status sw Switch vom DPM kann man weglassen, würde stumpf Ein / Aus senden
Nachtrag zum Feierabend :
habe and (sw!=SW) entfernt, Ein / Aus geht, Volt und Ampere geht. Yeep
( Dein Script von oben )
keine Werte in der Web Gui -
@ralla66 sagte in DMP8624 -> iobroker:
habe and (sw!=SW) entfernt, Ein / Aus geht, Volt und Ampere geht.
Super, dadurch konnte ich das Skript anpassen und die Verzögerung ist dadurch weg.
>D Vmax=60 Cmax=24 v=0 V=0 c=0 C=0 sw=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 smlj=0 ->sensor53 r >R smlj=0 >S if upsecs>30 then smlj=1 endif sw=DC#sSwitch v=DC#sVolt c=DC#sCur if (chg[sw]>0) then SW=sw +>publish stat/%topic%/RESULT {"tpow":%0sw%} endif if ((chg[v]>0) and (V!=v)) then V=v +>publish stat/%topic%/RESULT {"tvolt":%2v%} endif if ((chg[c]>0) and (C!=c)) then C=c +>publish stat/%topic%/RESULT {"tampere":%2c%} endif if chg[V]>0 then if V>Vmax then V=Vmax endif if V<0 then V=0 endif vV=rV+sb(hx((V*100)) 4 4) +>publish stat/%topic%/RESULT {"tvolt":%2V%} sml(1 3 vV) endif if chg[C]>0 then if C>Cmax then C=Cmax endif if C<0 then C=0 endif vC=rC+sb(hx((C*1000)) 4 4) +>publish stat/%topic%/RESULT {"tampere":%2C%} sml(1 3 vC) endif if (chg[SW]>0) then vSW=rSW+s(SW) +>publish stat/%topic%/RESULT {"tpow":%0SW%} sml(1 3 vSW) endif >W bu(SW "DPM Ein" "DPM 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) >M 1 +1,3,m,16,9600,DC,1,2,010300000001,010300010001,010300020001,010310010001,010310020001,010310030001 1,010302SSssxxxx@i0:100,Spannung (set),V,sVolt,2 1,010302SSssxxxx@i1:1000,Strom (set),A,sCur,2 1,010302SSssxxxx@i2:1,Ausgang (set),,sSwitch,0 1,010302SSssxxxx@i3:100,Spannung (disp),V,dVolt,2 1,010302SSssxxxx@i4:1000,Strom (disp),A,vCur,2 1,010302SSssxxxx@i5:1,Temp,°C,tCur,1 #
-
schaltet, V, A geht
sw brauchen wir noch damit Status DPM und Web Gui gleich ist.
Fast am Ziel ,
bin weg für heute 3,2,1 shutdown -----------------------------> -
@ralla66 ,
habe das Skript reduziert, kannst nochmal testen.>D Vmax=60 Cmax=24 V=0 C=0 SW=0 rV="01060000" vV="" rC="01060001" vC="" rSW="01060002000" vSW="" sSwitch=0 sVolt=0 sCur=0 >BS +>subscribe V, cmnd/%topic%/tvolt +>subscribe C, cmnd/%topic%/tampere +>subscribe SW, cmnd/%topic%/tpow >B ->sensor53 r tper=10 >S 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%} } >W bu(SW "DPM Ein" "DPM 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) >M 1 +1,3,m,16,9600,DC,1,2,010300000001,010300010001,010300020001,010310010001,010310020001,010310030001 1,010302SSssxxxx@i0:100,Spannung (set),V,sVolt,2 1,010302SSssxxxx@i1:1000,Strom (set),A,sCur,2 1,010302SSssxxxx@i2:1,Ausgang (set),,sSwitch,0 1,010302SSssxxxx@i3:100,Spannung (disp),V,dVolt,2 1,010302SSssxxxx@i4:1000,Strom (disp),A,vCur,2 1,010302SSssxxxx@i5:1,Temp,°C,tCur,1 #
-
schaltet, V, A geht
keine Wertekönnen wir das Word von SSss per print in der Console ausgeben ?
-
@ralla66 ,
müsste gehen, ich schau mal. -
@ralla66 sagte in DMP8624 -> iobroker:
schaltet, V, A geht
keine Wertekönnen wir das Word von SSss per print in der Console ausgeben ?
Habe jetzt nichts gefunden.
Man kann nur mitsensor53 d1
die Raw Daten anzeigen lassen.
Teste bitte das nochmal, ich habe mal was von einer Beschränkung auf 8 Zeichen gelesen.
>D 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 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%} } >W bu(SW "DPM Ein" "DPM Aus") nm(0.0 60.0 0.01 V "DPM V" 200 2) nm(0.0 24.0 0.01 C "DPM A" 200 2) >M 1 +1,3,m,16,9600,DC,1,2,010300000001,010300010001,010300020001,010310010001,010310020001,010310030001 1,010302SSssxxxx@i0:100,setV,V,sVolt,2 1,010302SSssxxxx@i1:1000,setA,A,sCur,2 1,010302SSssxxxx@i2:1,setP,,sSwitch,0 1,010302SSssxxxx@i3:100,disV,V,dVolt,2 1,010302SSssxxxx@i4:1000,disA,A,vCur,2 1,010302SSssxxxx@i5:1,Temp,°C,tCur,1 #
-
@wal
keine Änderung,ESP TX geht ja mit RS485 -> Hterm/DPM bei mir.
Geantwortet wird auch.
Schauen was an RX ankommt per print ?
Was bedeutet das DC hinter der Baud ? for web ui cmd Mqtt Json .
Was bewirkt das. -
@ralla66 ,
das ist der Name den man als Platzhalter vergibt, damit man die Empfangenen Daten im Skript nutzen kann.temp=DC#sVolt print %temp%
da wird bei dir aber auch 0 rauskommen wie in der Anzeige.
edit: schau doch mal in die Konsole mit sensor53 d1
-
@ralla66 ,
das kommt bei mir raus:17:52:29.708 : 01 03 02 00 1d 78 4d 17:52:29.861 > 01 03 00 00 00 01 00 02 62 c6 17:52:29.922 : 01 03 02 03 e8 b8 fa 17:52:30.032 > 01 03 00 01 00 01 00 02 5f 06 17:52:30.093 : 01 03 02 01 f4 b8 53 17:52:30.243 > 01 03 00 02 00 01 00 02 1b 06 17:52:30.304 : 01 03 02 00 01 79 84 17:52:30.454 > 01 03 10 01 00 01 00 02 5d 96 17:52:30.515 : 01 03 02 03 e8 b8 fa 17:52:30.666 > 01 03 10 02 00 01 00 02 19 96 17:52:30.727 : 01 03 02 00 00 b8 44 17:52:30.830 > 01 03 10 03 00 01 00 02 24 56 17:52:30.892 : 01 03 02 00 1d 78 4d 17:52:30.948 BRY: GC from 4683 to 4223 bytes, objects freed 2/46 (in 1 ms) - slots from 51/122 to 51/122 17:52:30.959 MQT: tele/Haus.DPM8624/STATE = {"Time":"2023-09-18T17:52:30","Uptime":"0T00:16:38","UptimeSec":998,"Heap":142,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":101,"MqttCount":1,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"1GBit","BSSId":"B0:F2:08:54:F3:97","Channel":11,"Mode":"11n","RSSI":90,"Signal":-55,"LinkCount":1,"Downtime":"0T00:00:03"}} 17:52:30.978 MQT: tele/Haus.DPM8624/SENSOR = {"Time":"2023-09-18T17:52:30","DC":{"sVolt":10.00,"sCur":0.50,"sSwitch":1,"dVolt":10.00,"vCur":0.00,"tCur":29.0}} 17:52:31.038 > 01 03 00 00 00 01 00 02 62 c6 17:52:31.098 : 01 03 02 03 e8 b8 fa 17:52:31.249 > 01 03 00 01 00 01 00 02 5f 06 17:52:31.310 : 01 03 02 01 f4 b8 53 17:52:31.511 > 01 03 00 02 00 01 00 02 1b 06 17:52:31.572 : 01 03 02 00 01 79 84 17:52:31.675 > 01 03 10 01 00 01 00 02 5d 96 17:52:31.736 : 01 03 02 03 e8 b8 fa 17:52:31.839 > 01 03 10 02 00 01 00 02 19 96 17:52:31.900 : 01 03 02 00 00 b8 44 17:52:32.055 > 01 03 10 03 00 01 00 02 24 56 17:52:32.116 : 01 03 02 00 1d 78 4d 17:52:32.267 > 01 03 00 00 00 01 00 02 62 c6 17:52:32.328 : 01 03 02 03 e8 b8 fa 17:52:32.431 > 01 03 00 01 00 01 00 02 5f 06 17:52:32.492 : 01 03 02 01 f4 b8 53 17:52:32.642 > 01 03 00 02 00 01 00 02 1b 06 17:52:32.703 : 01 03 02 00 01 79 84 17:52:32.857 > 01 03 10 01 00 01 00 02 5d 96 17:52:32.918 : 01 03 02 03 e8 b8 fa 17:52:33.076 > 01 03 10 02 00 01 00 02 19 96 17:52:33.137 : 01 03 02 00 00 b8 44 17:52:33.240 > 01 03 10 03 00 01 00 02 24 56
-
@wal sagte in DMP8624 -> iobroker:
sensor53 d1
16:53:11.175 > 01 03 10 02 00 01 00 02 19 96 16:53:11.236 : 7f 7e bf ff 8f d7 16:53:11.380 > 01 03 10 03 00 01 00 02 24 56 16:53:11.441 : 7f 7e bf c5 0f 65 ff 16:53:11.586 > 01 03 00 00 00 01 00 02 62 c6 16:53:11.647 : 7f 7e bf 17 24 f5 16:53:11.790 > 01 03 00 01 00 01 00 02 5f 06 16:53:11.852 : 7f 7e bf 2f 64 e0 16:53:12.002 > 01 03 00 02 00 01 00 02 1b 06
dann ist RX falsch
-
@ralla66 ,
da haben wir doch das Problem.
Du kannst die Daten senden aber empfängst nur sch****. -
ok, invertiert ? weil der RS485 / TTL Wandler fehlt ?
Nachtrag, die kommen aber sauber in Hterm am PC an.
Das ist ja ein FTDI Chip drinne, meine der Invertiert. -
@ralla66 ,
RS485 arbeitet glaube ich mit positiver und negativer Spannung.
-5V GND +5V
TTL nur mit positiver
GND +5V -
@ralla66 sagte in DMP8624 -> iobroker:
ok, invertiert ? weil der RS485 / TTL Wandler fehlt ?
Nachtrag, die kommen aber sauber in Hterm am PC an.
Das ist ja ein FTDI Chip drinne, meine der Invertiert.Kannst bei mir einen Wandler abholen, habe welche da.
-
ok hilft ja nicht, Kramkiste oder Amazon Bestellbutton click.
Da war was, teste aber noch Serial Delimiter 128 vom ESP -
ich lese hier die ganze Zeit hochinteressiert mit.
Kannte das "Netzteil" bisher nicht, hab es mir bei ELV angesehen und die Anleitung dort, sowie bei joy-it durchgelesen.
Nach meinem Verständnis müsste die Verbindung mit dem USB-Kabel an A/B und Umstellung des Protokolls im Menü auf Modbus doch mit dem Modbus Adapter möglich se7n....wenn man die Register kennte.
ich hab keine gefunden.oder sind die 30001...., die ich in dem Output bei euch sehe, die Register?