NEWS
DMP8624 -> iobroker
-
@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?
-
-
@homoran ,
habe ja schon Verbindung mit dem Modbusadapter hinbekommen.
40001 ist die Spannung habe ich schon rausgefunden.
Leider meldet sich der TE nicht mehr, deshalb habe ich nicht weiter getestet.
Das Teil muss ja dann auch direkt mit dem ioBroker verbunden werden oder man Braucht ein Seriell/TCP Adapter.
Da ist mir aber erst mal ein ESP lieber weil vorhanden.Mit dem Netzteil kann man das machen falls du das noch nicht kennst.
-
@wal sagte in DMP8624 -> iobroker:
Das Teil muss ja dann auch direkt mit dem ioBroker verbunden werden
ja! das ist klar.
Hab für modbus und smartmeter einen Slave im Keller.Jetzt brauch ich nur noch einen Grund das Teil zu kaufen
-
@homoran ,
du bist sehr schnell siehe oben.