define(`TITLE', `M-Bus Master, Part 4 (Gas)') define(`DATE', `2013-09-11') define(`CONTENT', ` And finally, the gas meter talks: Foto First, assign address 0x40: so 68 06 06 68 53 fe 51 01 7a 40 5d 16 success SO RESP: E5 And it works: so 10 40 40 80 16 success SO RESP: E5 And here is the measurement: so 10 5b 40 9b 16 success SO RESP: 68 56 56 68 08 40 72 43 60 52 00 77 04 14 03 CA 10 00 00 0C 78 76 03 01 10 0D 7C 08 44 49 20 2E 74 73 75 63 0A 30 30 30 30 30 30 30 30 30 30 04 6D 38 15 AA 19 02 7C 09 65 6D 69 74 20 2E 74 61 62 22 0C 04 13 C1 0E 00 00 04 93 7F 4E 01 00 00 44 13 5D 08 00 00 0F 01 00 1F DE 16 [table]Octet(s), Field, Meaning 68 56 56 68, preamble and length, 08, C Field, 40, A Field, 72, CI Field, variable data response 43 60 52 00, Ident. No., 77 04, Manufacturer, ACW; Actaris (Itron) 14, Version, 03, Medium, Gas, CA, Access No, 10, Status, 00 00, Signature, 0C, DIF, 8 digit BCD 78, VIF, Fabrication No 76 03 01 10, Value, 0D, DIF, variable length 7C, VIF, true in following string; length in first byte 08, VIF, first byte; length = 8 44 49 20 2E 74 73 75 63, VIF, Value (LSB first) = "cust. ID"; 0A, Value, length = 10 30 30 30 30 30 30 30 30 30 30, Value, data 04, DIF, 32bit integer 6D, VIF, Time Point; time&date 38 15 AA 19, Value, 02, DIF, 16bit integer 7C, VIF, true in following string; length in first byte 09, VIF, first byte; length = 9 65 6D 69 74 20 2E 74 61 62, VIF, Value (LSB first) = "bat. time" 22 0C, Value; 04, DIF, 32bit integer 13, VIF, Volume; 10^(3-6)m^3 C1 0E 00 00, Value, 04, DIF, 32bit integer 93, VIF, ext; Volume; 10^(3-6)m^3 7F, VIFE, 4E 01 00 00, Value, 44, DIF, 32bit integer 13, VIF, Volume; 10^(3-6)m^3 5D 08 00 00, Value, 0F, DIF, Special Functions; Start of manufacturer specific data structures to end of user data 01 00 1F, , DE , Checksum, 16, Stopbyte [/table] ')