{"1":{"$type": "710-PERIPHERIAL-PRODUCT","object-identifier":"5","object-name":"Energy Cam.","product-id":"-1","description":"OCR Camera for reading values from leagsy meters (mechanical meters).","bustype-identifier":"201","vendor-identifier":"4","version":"","vendor-name":"Fast Forward AG","vendor-id":"6340","properties":{"2":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"74","object-name":"ActionOCR","product-property-id":"196641","datatype-identifier":"2","product-identifier":"5","description":"0: Command Ignored, 1: Photo is taken and OCR is started, end of operations when EnergyCamStatus=ActionCompleted.","rw":"2","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"3":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"73","object-name":"ActionOCRInstallation","product-property-id":"196640","datatype-identifier":"2","product-identifier":"5","description":"0: Command Ignored, 1: Installation is started, end of operations when EnergyCamStatus = ActionCompleted","rw":"2","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"4":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"72","object-name":"ActionOCRInstallationTO","product-property-id":"196639","datatype-identifier":"2","product-identifier":"5","description":"Timeout in [s] after installation is treated as failed unless success.","rw":"2","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"5":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"75","object-name":"ActionPowerDown ","product-property-id":"196644","datatype-identifier":"2","product-identifier":"5","description":"0: Command Ignored, 1: Unless no action is ongoing PowerDown is immediately entered, end of operations cannot be checked since this would wake EnergyCam again. It should checked before StatusEnergyCam != ActionOngoing otherwise ActionPowerDown is rejected by Modbus.","rw":"2","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"6":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"50","object-name":"AppBuildnumber ","product-property-id":"262155","datatype-identifier":"2","product-identifier":"5","description":"Application build number","rw":"1","buffer-size":"4","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"7":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"54","object-name":"AppFirmwareType","product-property-id":"262160","datatype-identifier":"2","product-identifier":"5","description":"Application FirmwareType (like wM-Bus Stack Version T2, S2)","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"8":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"47","object-name":"AppRevision","product-property-id":"262150","datatype-identifier":"2","product-identifier":"5","description":"e.g. 2.0, Revision of Application \"2\" in MSB and 0 in LSB","rw":"1","buffer-size":"4","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"9":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"48","object-name":"AppType","product-property-id":"262152","datatype-identifier":"2","product-identifier":"5","description":"Type of app, 0x0100 for Sensor","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"10":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"56","object-name":"BLBuildNumber","product-property-id":"262163","datatype-identifier":"2","product-identifier":"5","description":"Bootloader build number","rw":"1","buffer-size":"4","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"11":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"57","object-name":"BLFirmwareType","product-property-id":"262165","datatype-identifier":"2","product-identifier":"5","description":"Bootloader FirmwareType","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"12":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"46","object-name":"DeviceID","product-property-id":"262146","datatype-identifier":"6","product-identifier":"5","description":"64 bit device ID","rw":"1","buffer-size":"8","bit-offset":"0","bit-count":"-1","msb-first":"1","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"13":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"51","object-name":"EPLDRevision","product-property-id":"262157","datatype-identifier":"2","product-identifier":"5","description":"EPLDRevision, e.g. 3","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"14":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"69","object-name":"ExpIfc","product-property-id":"196611","datatype-identifier":"2","product-identifier":"5","description":"Expansion Interface serial configuration (refer to EC documentation).","rw":"3","buffer-size":"4","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"15":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"45","object-name":"ManufacturerIdentification","product-property-id":"262145","datatype-identifier":"2","product-identifier":"5","description":"Three letter code for “FAST FORWARD AG” in MBUS FORMAT: “FFD” = 0x18C4","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"16":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"55","object-name":"MBusIdentNumbe","product-property-id":"262161","datatype-identifier":"2","product-identifier":"5","description":"Identnumber in M-Bus format: 8 BCD digits, derived from DeviceID, example 0x12345678","rw":"1","buffer-size":"4","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"17":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"76","object-name":"OCRConfig","product-property-id":"196660","datatype-identifier":"2","product-identifier":"5","description":"OCR configuration (perform a read-modify-write to preserve reserved values):[0] OCR option: read decimal,[5:1] reserved: do not change, keep current values, [10:6] OCR reading timer: value in minutes, [1..15] and [15:11] reserved: do not change, keep current values.","rw":"3","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"18":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"53","object-name":"OMSConfig","product-property-id":"262159","datatype-identifier":"2","product-identifier":"5","description":"Meter and wireless M-Bus configuration [7:0] device type (2: electricity; 3: gas; 7: water)[8:12] reserved [13] wM-Bus enabled [14] wM-Bus encrypted [15] wM-Bus installation mode (0: auto; 1: manual)","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"19":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"52","object-name":"PCBRevision","product-property-id":"262158","datatype-identifier":"2","product-identifier":"5","description":"PCBRevision","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"20":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"44","object-name":"ProtocolVersoin","product-property-id":"262144","datatype-identifier":"2","product-identifier":"5","description":"EnergyCam's Modbus protocol version: e.g. 4","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"0","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"21":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"60","object-name":"ResultInstallation","product-property-id":"262176","datatype-identifier":"2","product-identifier":"5","description":"Installation result: 0x0000=Invalid, 0xIIFF=OKDIGITSFOUND (I = Integer part, F = fraction part), 0xFFFD=ONGOING, 0xFFFE: NOTDONE, 0xFFFF: ERROR","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"22":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"65","object-name":"ResultOCRFrac","product-property-id":"262213","datatype-identifier":"2","product-identifier":"5","description":"May only be read when ResultOCRValid=OK. Contains OCR result fraction part as integer. ResultOCRFrac","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"23":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"63","object-name":"ResultOCRFracChar","product-property-id":"262186","datatype-identifier":"7","product-identifier":"5","description":"ResultOCRFracChar[3..0] contains OCR fraction result as ASCII string, left aligned. Right padded with blanks when fewer than 4 digits found on meter. Examples: 12345678.1234 or ___12345.1___ char","rw":"1","buffer-size":"8","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"24":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"64","object-name":"ResultOCRInt","product-property-id":"262211","datatype-identifier":"2","product-identifier":"5","description":"May only be read when ResultOCRValid=OK. Contains OCR result integer part as integer. ResultOCRIn","rw":"1","buffer-size":"4","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"25":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"62","object-name":"ResultOCRIntChar","product-property-id":"262178","datatype-identifier":"7","product-identifier":"5","description":"May only be read when ResultOCRValid=OK. ResultOCRIntChar[7..0] contains OCR integer result as ASCII string, right aligned, left padded with blanks when fewer than 8 digits found on meter. Just whole integers, i.e. most right digit on meter is in OCRResult0 char","rw":"1","buffer-size":"14","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"26":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"61","object-name":"ResultOCRValid","product-property-id":"262177","datatype-identifier":"2","product-identifier":"5","description":"Result of last OCR: 0x0000=Invalid, 0x0001=OK (all digits could be interpreted), 0x0003=OK (repeating last value due to Error detection), 0xFFFD=ONGOING, 0xFFFE=NOTDONE, 0xFFFF=ERROR (not all digits could be interpreted)","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"27":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"68","object-name":"SetOMSCfg","product-property-id":"196610","datatype-identifier":"2","product-identifier":"5","description":"Meter and wireless M-Bus configuration: [7:0] Device type (2: electricity; 3: gas; 7: water), [8:12] Reserved, write 0, [13] wM-Bus enabled, [14] wM-Bus encrypted, [15] wM-Bus installation mode (0: auto; 1: manual). Only device types 2, 3 and 7 are supported.","rw":"2","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"28":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"67","object-name":"SetTime","product-property-id":"196608","datatype-identifier":"11","product-identifier":"5","description":"SetTime[31..16], Time since epoch in seconds (UTC), 0 means to 1.1.1970 00:00:00, 1360751350 means 13. Feb 2013 10:29:10","rw":"2","buffer-size":"4","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"29":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"59","object-name":"StatusEnergyCam","product-property-id":"262175","datatype-identifier":"2","product-identifier":"5","description":"Current status of EnergyCam: 0=Invalid, 1=PowerDown (was actually in power-down before), 2=ActionOngoing, 3=ActionCompletedSuccessfully, 4=ActionCompletedWithError","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"30":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"58","object-name":"Test","product-property-id":"262166","datatype-identifier":"4","product-identifier":"5","description":"Test Register for Modbus master tests (refer to EC documentation)","rw":"1","buffer-size":"4","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"31":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"70","object-name":"TestReadOnly","product-property-id":"196615","datatype-identifier":"2","product-identifier":"5","description":"Test register for Modbus master tests, readonly (refer to EC documentation).","rw":"1","buffer-size":"4","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"32":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"71","object-name":"TestReadWrite","product-property-id":"196617","datatype-identifier":"2","product-identifier":"5","description":"Test register for Modbus master tests, read/write (refer to EC documentation).","rw":"3","buffer-size":"4","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"33":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"49","object-name":"Time","product-property-id":"262153","datatype-identifier":"11","product-identifier":"5","description":"Time since epoch in seconds (UTC), 0 means to 1.1.1970 00:00","rw":"1","buffer-size":"4","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"34":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"77","object-name":"UpdateChunk","product-property-id":"229375","datatype-identifier":"6","product-identifier":"5","description":"Update chunk. Chunk has to be written in a single frame consisting of up to 122 words (refer to EC documentation)","rw":"2","buffer-size":"244","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"},"35":{"$type": "710-PERIPHERIAL-PRODUCT-PROPERTY","object-identifier":"66","object-name":"UpdateCRCOK","product-property-id":"294911","datatype-identifier":"2","product-identifier":"5","description":"Calculates CRC of currently stored update image and return 0 (CRC wrong) or 1 (CRC OK). When OK firmware update process is started (leads to a reboot of EnergyCam)","rw":"1","buffer-size":"2","bit-offset":"0","bit-count":"-1","msb-first":"0","swap-bytes-in-word":"0","scale-scale":"1","scale-offset":"0","timeout-reads":"-1","timeout-writes":"-1","max-poll-rates":"-1"}}}}