>D ;Allmess rl 28.04.2024 :with device time ;start, define variables cnt=0 DT=0 DT2=0 sDate_Read="yyyy-mm-ddThh:mm" sDT="dd.mm.yyyy hh:mm" sDT2=" hh:mm" v1=0 v2=0 ts="dd.mm.yyyy hh:mm" >B ;setup sensor ->sensor53 r ;->sensor53 d0 ;->sensor53 l5 >T ;DT=WMZ_0#DT >S if upsecs%10==0 { print read meter =#readmeter v1=sml[10] v2=sml[11] } ts=cts(tstamp 1) print upsecs = %upsecs% print tstamp = %ts% ;print v1 : %v1% # #readmeter print wakeup start ;set serial protocol sml(-1 1 "2400:8N1") ;send 0x55 for 3,0 seconds with 8N1 (72x), 2400 baud (wakeup sequence) ;72 for cnt 1 72 1 sml(1 1 "5555555555555555") next print wakeup end print wait for the meter ;wait for the meter to wake up delay(350) ;switch serial protocol sml(-1 1 "2400:8E1") print request data ;reset application code ;sml(1 1 "6804046853FE5000A116") ;;sml(1 1 "68030368730050C316") ;set string to send (REQ_UD2) sml(1 1 "105BFE5916") sDate_Read=s(4.0(2000+((v1>>25&0x78)|(v1>>21&0x07))))+"-"+s(2.0(v1>>24&0x0f))+"-"+s(2.0(v1>>16&0x1f))+"T"+s(2.0(v1>>8&0x1f))+":"+s(2.0(v1&0x3f)) print read on %sDate_Read% sDT=s(2.0(v1>>16&0x1f))+"."+s(2.0(v1>>24&0x0f))+"."+s(4.0(2000+((v1>>25&0x78)|(v1>>21&0x07))))+" " print gelesen am %sDT% sDT2=s(2.0(v2>>8&0x1f))+":"+s(2.0(v2&0x3f)) print gelesen am %sDT2% >W ======================= Device time : {m} %sDT%%sDT2% >M 1 +1,3,rE1,0,2400,WMZ_0,1 1,0C78bcd8@1,SerNo, ,w_total,# 1,0406uuUU@1,Total Energy,kWh,w_total,0 1,0C14bcd8@100,Total volume,m³,v_total,2 1,3B2Dbcd6@0.01,Current power,W,p_act,0 1,3B3bbcd6@1000,Current flow,m³/h,F_akt,3 1,3A5abcd4@10,Flow temp,°C,t_flow,1 1,3a5ebcd4@10,Return temp,°C,t_return,1 1,3b61bcd6@0.1,Temp diff,K,t_diff,1 1,=h
1,92261704bcd8@1,cnt, ,readcnt,0 ; * not visible 1,046DuuUUuuUUs@1,*,Coded,DT,0 1,046DuuUU@1,*,Coded,DT2,0 ;1,046duu@1,DT1,,dt1,0 ;1,046dxxuu@1,DT2,,dt2,0 ;1,046dxxxxuu@1,DT3,,dt3,0 ;1,046dxxxxxxuu@1,DT4,,dt4,0 1,=h
#