>D ;start, define variables wkup=1 period=1 ;read meter every n minutes after midnight (60 --> 01:00, 02:00...) blk=0 >B ;setup sensor ->sensor53 r >S if time%period==0 and blk==0 ;minutes since midnight divided by period have a remainder of "0" then =#readmeter blk=1 ;set a flag to execute the readout only once every period endif if time%period-1==0 and blk==1 ;one minute after we entered the first loop then blk=0 ; reset the flag endif #readmeter print wakeup start ;set serial protocol ret=sml(-1 1 "2400:8E1") ;send 0x55 for 3 seconds with 8E1 (72x), 2400 baud (wakeup sequence) for wkup 1 72 1 sml(1 1 "55555555555555555555") next print wakeup end wkup=1 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 ;set string to send to "105BFE5916" (request data) sml(1 1 "105BFE5916") >M 1 +1,5,rE1,0,2400,WAERME,1 1,0406uuUUUUUU@1,Total energy,kWh,w_total,0 1,0413bcd8@100,Total volume,m³,v_total,2 1,042BuuUUUU@1,Current power,W,p_act,0 1,043BuuUU@1,Current flow,l/h,F_akt,3 1,025BuuUU@1,Flow temp,°C,t_flow,0 1,025FuuUU@1,Return temp,°C,t_return,0 1,0261uuUU@0.01,Temp diff,°K,t_diff,2 1,142BuuUUUU@1,Maximum power,W,p_max,0 1,143Bbcd6@1000,Maximum flow,l/h,F_max,3 1,01FD17uu@1,Fehlerbyte,,Error_State,0 1,0223uuUU@1,Meter days,d,OpDays,0 1,03FD0Cuu@1,Firmware Version,,FW_Version,0 #