NEWS
DMP8624 -> iobroker
-
ja ok das then wird ausgeführt bei 1 und wenn Switch 0 ist ?
-
@ralla66 ,
SW nimmt den Buttonstatus an undchg[SW] >0 heisst change[SW] wenn SW geändert wurde.
if ((chg[SW]>0) then vSW=rSW+s(SW) sml(1 3 vSW) endif
-
Script 2 schalten geht, Werte keine
19:10:26.697 MQT: tele/tasmota_3CECBB/SENSOR = {"Time":"2023-09-17T19:10:26","DC":{"sVolt":0.00,"sCur":0.00,"sSwitch":0,"dVolt":0.00,"vCur":0.00,"tCur":0.0}}
-
@ralla66 ,
da haben wir schon ein Problem. -
sollten ankommen
-
@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****.