I've made the changes to hopefully comply with the standard now.
When testing out the script, I noticed one message from hdrv_p1.
Namely:
Code: Select all
[hcom]Received HBXT_ACTION_INVOKE from eneco-001-270500:qt-gui to eneco-001-270500:hdrv_p1/specific1: n=IsHolidayOrWeekend time=1534024800
[hdrv_p1:../../src/tariff.c@bxt_action_isLowTariffDay():18]ERROR: Time is Sun Aug 12 00:00:00 2018
This is the message that I'm sending
Code: Select all
/ISk5\MT174-001
1-0:0.0.0(64194884)
1-3:0.2.8(50)
0-0:1.0.0(180812120621S)
0-0:96.1.1(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
1-0:1.8.1(002514.718*kWh)
1-0:1.8.2(001925.348*kWh)
1-0:2.8.1(000162.835*kWh)
1-0:2.8.2(000513.956*kWh)
0-0:96.14.0(0002)
1-0:1.7.0(00.233*kW)
1-0:2.7.0(00.000*kW)
1-0:99.97.0(0)(0-0:96.7.19)
0-0:96.13.0()
1-0:32.7.0(227.5*V)
1-0:52.7.0(231.8*V)
1-0:72.7.0(229.6*V)
1-0:31.7.0(001*A)
1-0:51.7.0(002*A)
1-0:71.7.0(002*A)
1-0:21.7.0(00.000*kW)
1-0:22.7.0(00.000*kW)
1-0:41.7.0(00.000*kW)
1-0:42.7.0(00.000*kW)
1-0:61.7.0(00.000*kW)
1-0:62.7.0(00.000*kW)
!E006
The CRC doesn't match the provided message, because of the removed serial number.
I do think that the 'MeterAdapter' is providing some information
Code: Select all
[hcom]Sending HBXT_ACTION_INVOKE from eneco-001-270500:hdrv_p1 to eneco-001-270500:hdrv_zwave_6797CCD4E8C/MeterTableMonitor: n=StatusDepthGet requestId=2804-291 timeout=10
[hcom]Sending HBXT_ACTION_INVOKE from eneco-001-270500:hdrv_p1 to eneco-001-270500:hdrv_zwave_67948734E8C/MeterTableMonitor: n=StatusDepthGet requestId=2804-292 timeout=10
[hcom]Sending HBXT_ACTION_INVOKE from eneco-001-270500:hdrv_p1 to eneco-001-270500:hdrv_zwave_67958EC4E8C/MeterTableMonitor: n=StatusDepthGet requestId=2804-293 timeout=10
[hcom]Received HBXT_ACTION_RESPONSE from eneco-001-270500:hdrv_zwave_6797CCD4E8C to eneco-001-270500:hdrv_p1/MeterTableMonitor: n=StatusDepthGetResponse requestId=2804-291 repToFollow=0x00 opStatus1=0x00 opStatus2=0x00 opStatus3=0x10
[hcom]Received HBXT_ACTION_RESPONSE from eneco-001-270500:hdrv_zwave_67948734E8C to eneco-001-270500:hdrv_p1/MeterTableMonitor: n=StatusDepthGetResponse requestId=2804-292 repToFollow=0x00 opStatus1=0x00 opStatus2=0x00 opStatus3=0x10
[hcom]Received HBXT_ACTION_RESPONSE from eneco-001-270500:hdrv_zwave_67958EC4E8C to eneco-001-270500:hdrv_p1/MeterTableMonitor: n=StatusDepthGetResponse requestId=2804-293 repToFollow=0x00 opStatus1=0x01 opStatus2=0x00 opStatus3=0x00
I'm not sure what these messages mean, but I do think that it has something to do with the data request.
The second thing that I am not sure of, is if the system 'auto-syncs'. So, if the data request line stays high until data has been received, instead of going from 'Low ( 0 > data_request < 4)' to High to Low to High every second.
According to the DSMR v5.0.2 document, it looks like the line stays high until the OSM needs to stop sending (I am doubting if my little UART to USB converter can detect 4V voltage as low). I'll try to see if I can build an comparator that simulates the High impedance state of the data request line.
I've left the script on for about half an hour and some 'Handling unsolicitated meter status report' messages flew by.
Also these messages just appeared on my screen
Code: Select all
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_67823C64E8C/Metering: n=QueryStateVariable varName=SensorStatus requestId=3097-249 timeout=5
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_67823C64E8C to eneco-001-270500:happ_kpi/Metering: n=QueryStateVariableResponse requestId=3097-249 SensorStatus=COMMISSIONING
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_67823C64E8C/ElectricityFlowMeter: n=QueryStateVariable varName=CurrentElectricityFlow requestId=3097-250 timeout=5
[libhcb_drv:../../src/statevars.c@_hdrv_bxtQueryStateVariable():63]Queried for nonexisting statevar 'CurrentElectricityFlow'
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_67823C64E8C to eneco-001-270500:happ_kpi/ElectricityFlowMeter: n=QueryStateVariableResponse requestId=3097-250 queryError=Unknown variable CurrentElectricityFlow
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_67823C64E8C/ElectricityQuantityMeter: n=QueryStateVariable varName=CurrentElectricityQuantity requestId=3097-251 timeout=5
[libhcb_drv:../../src/statevars.c@_hdrv_bxtQueryStateVariable():63]Queried for nonexisting statevar 'CurrentElectricityQuantity'
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_67823C64E8C to eneco-001-270500:happ_kpi/ElectricityQuantityMeter: n=QueryStateVariableResponse requestId=3097-251 queryError=Unknown variable CurrentElectricityQuantity
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_67848734E8C/Metering: n=QueryStateVariable varName=SensorStatus requestId=3097-252 timeout=5
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_67848734E8C to eneco-001-270500:happ_kpi/Metering: n=QueryStateVariableResponse requestId=3097-252 SensorStatus=COMMISSIONING
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_67848734E8C/ElectricityQuantityMeter: n=QueryStateVariable varName=CurrentElectricityQuantity requestId=3097-253 timeout=5
[libhcb_drv:../../src/statevars.c@_hdrv_bxtQueryStateVariable():63]Queried for nonexisting statevar 'CurrentElectricityQuantity'
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_67848734E8C to eneco-001-270500:happ_kpi/ElectricityQuantityMeter: n=QueryStateVariableResponse requestId=3097-253 queryError=Unknown variable CurrentElectricityQuantity
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_6785CFF4E8C/Metering: n=QueryStateVariable varName=SensorStatus requestId=3097-254 timeout=5
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_6785CFF4E8C to eneco-001-270500:happ_kpi/Metering: n=QueryStateVariableResponse requestId=3097-254 SensorStatus=COMMISSIONING
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_67858EC4E8C/Metering: n=QueryStateVariable varName=SensorStatus requestId=3097-255 timeout=5
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_67858EC4E8C to eneco-001-270500:happ_kpi/Metering: n=QueryStateVariableResponse requestId=3097-255 SensorStatus=UNKNOWN
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_6787CCD4E8C/Metering: n=QueryStateVariable varName=SensorStatus requestId=3097-256 timeout=5
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_6787CCD4E8C to eneco-001-270500:happ_kpi/Metering: n=QueryStateVariableResponse requestId=3097-256 SensorStatus=UNKNOWN
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_6781EFB4E8C/Metering: n=QueryStateVariable varName=SensorStatus requestId=3097-257 timeout=5
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_6781EFB4E8C to eneco-001-270500:happ_kpi/Metering: n=QueryStateVariableResponse requestId=3097-257 SensorStatus=COMMISSIONING
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_6781EFB4E8C/ElectricityFlowMeter: n=QueryStateVariable varName=CurrentElectricityFlow requestId=3097-258 timeout=5
[libhcb_drv:../../src/statevars.c@_hdrv_bxtQueryStateVariable():63]Queried for nonexisting statevar 'CurrentElectricityFlow'
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_6781EFB4E8C to eneco-001-270500:happ_kpi/ElectricityFlowMeter: n=QueryStateVariableResponse requestId=3097-258 queryError=Unknown variable CurrentElectricityFlow
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_67862C24E8C/Metering: n=QueryStateVariable varName=SensorStatus requestId=3097-259 timeout=5
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_67862C24E8C to eneco-001-270500:happ_kpi/Metering: n=QueryStateVariableResponse requestId=3097-259 SensorStatus=COMMISSIONING
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_67862C24E8C/ElectricityQuantityMeter: n=QueryStateVariable varName=CurrentElectricityQuantity requestId=3097-260 timeout=5
[libhcb_drv:../../src/statevars.c@_hdrv_bxtQueryStateVariable():63]Queried for nonexisting statevar 'CurrentElectricityQuantity'
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_67862C24E8C to eneco-001-270500:happ_kpi/ElectricityQuantityMeter: n=QueryStateVariableResponse requestId=3097-260 queryError=Unknown variable CurrentElectricityQuantity
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to eneco-001-270500:hdrv_p1_67827F84E8C/Metering: n=QueryStateVariable varName=SensorStatus requestId=3097-261 timeout=5
[hcom]Sending HBXT_QUERY_RESPONSE from eneco-001-270500:hdrv_p1_67827F84E8C to eneco-001-270500:happ_kpi/Metering: n=QueryStateVariableResponse requestId=3097-261 SensorStatus=UNKNOWN
[hcom]Received HBXT_QUERY_INVOKE from eneco-001-270500:happ_kpi to 6dd23845-1b47-4f57-9bd8-a08ec17f2e8b/GasQuantityMeter: n=QueryStateVariable varName=CurrentGasQuantity requestId=3097-262 timeout=5
[hcom]Sending HBXT_QUERY_RESPONSE from 6dd23845-1b47-4f57-9bd8-a08ec17f2e8b to eneco-001-270500:happ_kpi/GasQuantityMeter: n=QueryStateVariableResponse requestId=3097-262 CurrentGasQuantity=676251
Can somebody post their log of hdrv_p1 -vvvv when valid P1 data is being received?