Next try with update to OH 4.0.4
Updated Azul Zulu JDO to 17.46.19 (17.0.9)
I’m using file based configuration.
Things:
Bridge modbus:serial:slave100 [ port="COM3" ,id=1 , baud=19200, stopBits="1", parity="none", dataBits=8, encoding="rtu" ] {
Bridge poller slaveHoldingStandardValues [ start=32277, length=21, refresh=10000, type="holding" ] {
Thing data Phase_A_voltage [ readStart="32277", readValueType="uint16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 21
Thing data Phase_B_voltage [ readStart="32278", readValueType="uint16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 22
Thing data Phase_C_voltage [ readStart="32279", readValueType="uint16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 23
Thing data Phase_A_current [ readStart="32280", readValueType="uint16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 24
Thing data Phase_B_current [ readStart="32281", readValueType="uint16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 25
Thing data Phase_C_current [ readStart="32282", readValueType="uint16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 26
Thing data Grid_frequency [ readStart="32283", readValueType="uint16",readTransform="JS(divide100.js)",updateUnchangedValuesEveryMillis="5000000" ] // 27
Thing data Power_factor [ readStart="32284", readValueType="int16",readTransform="JS(divide1000.js)",updateUnchangedValuesEveryMillis="5000000" ] // 28
Thing data Inverter_efficiency [ readStart="32285", readValueType="uint16",readTransform="JS(divide100.js)",updateUnchangedValuesEveryMillis="5000000" ] // 29
Thing data Internal_temperature [ readStart="32286", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 30
Thing data Device_status [ readStart="32287", readValueType="uint16",readTransform="default",updateUnchangedValuesEveryMillis="5000000" ] // 31
Thing data Peak_active_power_of_current_day [ readStart="32288", readValueType="int32",readTransform="JS(divide1000.js)",updateUnchangedValuesEveryMillis="5000000" ] // 32 //may move this to slower polling
Thing data Active_power [ readStart="32290", readValueType="int32",readTransform="JS(divide1000.js)",updateUnchangedValuesEveryMillis="5000000" ] // 33
Thing data Reactive_power [ readStart="32292", readValueType="int32",readTransform="JS(divide1000.js)",updateUnchangedValuesEveryMillis="5000000" ] // 34
Thing data Input_power [ readStart="32294", readValueType="uint32",readTransform="JS(divide1000.js)",updateUnchangedValuesEveryMillis="5000000" ] // 35
}
Bridge poller ActivePowerFast [start=32290, length=2, type="holding", refresh=500] {
Thing data Active_power_fast [ readStart="32290", readValueType="int32", readTransform="JS(divide1000.js)", updateUnchangedValuesEveryMillis="5000000" ] // only for fast calculation
}
Bridge poller slaveHoldingAccumulatedEnergy [ start=32298, length=10, refresh=60000, type="holding" ] {
Thing data Energy_yield_Hour [ readStart="32298", readValueType="uint32",readTransform="JS(divide100.js)",updateUnchangedValuesEveryMillis="5000000" ] // 37
Thing data Energy_yield_Day [ readStart="32300", readValueType="uint32",readTransform="JS(divide100.js)",updateUnchangedValuesEveryMillis="5000000" ] // 38
Thing data Energy_yield_Month [ readStart="32302", readValueType="uint32",readTransform="JS(divide100.js)",updateUnchangedValuesEveryMillis="5000000" ] // 39
Thing data Energy_yield_Year [ readStart="32304", readValueType="uint32",readTransform="JS(divide100.js)",updateUnchangedValuesEveryMillis="5000000" ] // 40
Thing data Energy_yield_Total [ readStart="32306", readValueType="uint32",readTransform="JS(divide100.js)",updateUnchangedValuesEveryMillis="5000000" ] // 41
}
Bridge poller slaveHoldingStringValues1 [ start=32262, length=12, refresh=10000, type="holding" ] {
Thing data Pv_1_Voltage [ readStart="32262", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 06
Thing data Pv_1_Current [ readStart="32263", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ]
//Thing data Pv_2_Voltage [ readStart="32264", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ]
//Thing data Pv_2_Current [ readStart="32265", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Pv_3_Voltage [ readStart="32266", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Pv_3_Current [ readStart="32267", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ]
//Thing data Pv_4_Voltage [ readStart="32268", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ]
//Thing data Pv_4_Current [ readStart="32269", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Pv_5_Voltage [ readStart="32270", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Pv_5_Current [ readStart="32271", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ]
//Thing data Pv_6_Voltage [ readStart="32272", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ]
//Thing data Pv_6_Current [ readStart="32273", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 17
}
Bridge poller slaveHoldingStringValues2 [ start=32314, length=4, refresh=10000, type="holding" ] {
Thing data Pv_7_Voltage [ readStart="32314", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 42
Thing data Pv_7_Current [ readStart="32315", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 43
//Thing data Pv_8_Voltage [ readStart="32316", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 44
//Thing data Pv_8_Current [ readStart="32317", readValueType="int16",readTransform="JS(divide10.js)",updateUnchangedValuesEveryMillis="5000000" ] // 45
}
Bridge poller slaveHoldingMPPTValues1 [ start=33022, length=6, refresh=10000, type="holding" ] {
Thing data MPPT_1_Total_input_power [ readStart="33022", readValueType="uint32",readTransform="JS(divide1000.js)",updateUnchangedValuesEveryMillis="5000000" ] // 67
Thing data MPPT_2_Total_input_power [ readStart="33024", readValueType="uint32",readTransform="JS(divide1000.js)",updateUnchangedValuesEveryMillis="5000000" ] // 68
Thing data MPPT_3_Total_input_power [ readStart="33026", readValueType="uint32",readTransform="JS(divide1000.js)",updateUnchangedValuesEveryMillis="5000000" ] // 69
}
Bridge poller slaveHoldingMPPTValues2 [ start=33070, length=2, refresh=10000, type="holding" ] {
Thing data MPPT_4_Total_input_power [ readStart="33070", readValueType="uint32",readTransform="JS(divide1000.js)",updateUnchangedValuesEveryMillis="5000000" ] // 70
}
Bridge poller slaveHolding_Operating_state_1 [ start=32319, length=1, refresh=10000, type="holding" ] {
Thing data Operating_state_standby [ readStart="32319.0", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ] // 46
Thing data Operating_state_gc [ readStart="32319.1", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Operating_state_gc_normally [ readStart="32319.2", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Operating_state_gc_derating [ readStart="32319.3", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Operating_state_gc_derating_error [ readStart="32319.4", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Operating_state_stop_normal [ readStart="32319.5", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Operating_state_stop_error [ readStart="32319.6", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Operating_state_stop_derating [ readStart="32319.7", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Operating_state_shutdown [ readStart="32319.8", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Operating_state_spot_check [ readStart="32319.9", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
}
Bridge poller slaveHolding_System_time [ start=32200, length=2, refresh=2000, type="holding"] {
Thing data System_time [ readStart="32200", readValueType="uint32",readTransform="default",updateUnchangedValuesEveryMillis="5000000" ] // 5
}
Bridge poller slaveHolding_time [ start=32325, length=4, refresh=60000, type="holding"] {
Thing data Startup_time [ readStart="32325", readValueType="uint32",readTransform="default",updateUnchangedValuesEveryMillis="5000000" ] // 51
Thing data Shutdown_time [ readStart="32327", readValueType="uint32",readTransform="default",updateUnchangedValuesEveryMillis="5000000" ] // 52
}
Bridge poller slaveWriting_time [ start=40000, length=2, refresh=10000, type="holding"] {
Thing data System_time [ writeStart="40000", writeValueType="uint32", writeType="holding" ]
}
/* Bridge poller slaveHolding_Alarm1 [ start=50000, length=1, refresh=10000, type="holding" ] {
Thing data Alarm_1bit0 [ readStart="50000.0", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit1 [ readStart="50000.1", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit2 [ readStart="50000.2", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit3 [ readStart="50000.3", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit4 [ readStart="50000.4", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit5 [ readStart="50000.5", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit6 [ readStart="50000.6", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit7 [ readStart="50000.7", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit8 [ readStart="50000.8", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit9 [ readStart="50000.9", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit10 [ readStart="50000.10", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit11 [ readStart="50000.11", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit12 [ readStart="50000.12", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit13 [ readStart="50000.13", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit14 [ readStart="50000.14", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
Thing data Alarm_1bit15 [ readStart="50000.15", readValueType="bit",updateUnchangedValuesEveryMillis="5000000" ]
} */
// to be continued up to alarm 17
}
Items:
Number System_time_number "System time" { channel="modbus:data:slave100:slaveHolding_System_time:System_time:number" }
DateTime System_time //calculated
Number Startup_time_number "Startup time" { channel="modbus:data:slave100:slaveHolding_time:Startup_time:number" }
DateTime Startup_time //calculated
Number Shutdown_time_number "Shutdown time" { channel="modbus:data:slave100:slaveHolding_time:Shutdown_time:number" }
DateTime Shutdown_time //calculated
Number System_time_write "System time write" { channel="modbus:data:slave100:slaveWriting_time:System_time:number" }
Number Phase_A_voltage "Phase A voltage" { channel="modbus:data:slave100:slaveHoldingStandardValues:Phase_A_voltage:number" }
Number Phase_B_voltage "Phase B voltage" { channel="modbus:data:slave100:slaveHoldingStandardValues:Phase_B_voltage:number" }
Number Phase_C_voltage "Phase C voltage" { channel="modbus:data:slave100:slaveHoldingStandardValues:Phase_C_voltage:number" }
Number Phase_A_current "Phase A current" { channel="modbus:data:slave100:slaveHoldingStandardValues:Phase_A_current:number" }
Number Phase_B_current "Phase B current" { channel="modbus:data:slave100:slaveHoldingStandardValues:Phase_B_current:number" }
Number Phase_C_current "Phase C current" { channel="modbus:data:slave100:slaveHoldingStandardValues:Phase_C_current:number" }
Number Grid_frequency "Grid frequency" { channel="modbus:data:slave100:slaveHoldingStandardValues:Grid_frequency:number" }
Number Power_factor "Power factor" { channel="modbus:data:slave100:slaveHoldingStandardValues:Power_factor:number" }
Number Inverter_efficiency "Inverter efficiency" { channel="modbus:data:slave100:slaveHoldingStandardValues:Inverter_efficiency:number" }
Number Internal_temperature "Internal Temp." { channel="modbus:data:slave100:slaveHoldingStandardValues:Internal_temperature:number" }
Number Device_status "Device status" { channel="modbus:data:slave100:slaveHoldingStandardValues:Device_status:number" }
Number Peak_active_power_of_current_day "Peak Active Power current day" { channel="modbus:data:slave100:slaveHoldingStandardValues:Peak_active_power_of_current_day:number" }
Number Active_power "Active power" { channel="modbus:data:slave100:slaveHoldingStandardValues:Active_power:number" }
Number Active_power_fast "Active power fast" { channel="modbus:data:slave100:ActivePowerFast:Active_power_fast:number" }
Number Reactive_power "Reactive power" { channel="modbus:data:slave100:slaveHoldingStandardValues:Reactive_power:number" }
Number Input_power "Input power" { channel="modbus:data:slave100:slaveHoldingStandardValues:Input_power:number" }
Number Energy_yield_Hour "Energy yield hour" { channel="modbus:data:slave100:slaveHoldingAccumulatedEnergy:Energy_yield_Hour:number" }
Number Energy_yield_Day "Energy yield day" { channel="modbus:data:slave100:slaveHoldingAccumulatedEnergy:Energy_yield_Day:number" }
Number Energy_yield_Month "Energy yield month" { channel="modbus:data:slave100:slaveHoldingAccumulatedEnergy:Energy_yield_Month:number" }
Number Energy_yield_Year "Energy yield year" { channel="modbus:data:slave100:slaveHoldingAccumulatedEnergy:Energy_yield_Year:number" }
Number Energy_yield_Total "Energy yield total" { channel="modbus:data:slave100:slaveHoldingAccumulatedEnergy:Energy_yield_Total:number" }
Number Profit_Total "Profit total" //calculated
Number Pv_1_Voltage "PV1 Voltage" { channel="modbus:data:slave100:slaveHoldingStringValues1:Pv_1_Voltage:number" }
Number Pv_1_Current "PV1 Current" { channel="modbus:data:slave100:slaveHoldingStringValues1:Pv_1_Current:number" }
//Number Pv_2_Voltage "PV2 Voltage" { channel="modbus:data:slave100:slaveHoldingStringValues1:Pv_2_Voltage:number" }
//Number Pv_2_Current "PV2 Current" { channel="modbus:data:slave100:slaveHoldingStringValues1:Pv_2_Current:number" }
Number Pv_3_Voltage "PV3 Voltage" { channel="modbus:data:slave100:slaveHoldingStringValues1:Pv_3_Voltage:number" }
Number Pv_3_Current "PV3 Current" { channel="modbus:data:slave100:slaveHoldingStringValues1:Pv_3_Current:number" }
//Number Pv_4_Voltage "PV4 Voltage" { channel="modbus:data:slave100:slaveHoldingStringValues1:Pv_4_Voltage:number" }
//Number Pv_4_Current "PV4 Current" { channel="modbus:data:slave100:slaveHoldingStringValues1:Pv_4_Current:number" }
Number Pv_5_Voltage "PV5 Voltage" { channel="modbus:data:slave100:slaveHoldingStringValues1:Pv_5_Voltage:number" }
Number Pv_5_Current "PV5 Current" { channel="modbus:data:slave100:slaveHoldingStringValues1:Pv_5_Current:number" }
//Number Pv_6_Voltage "PV6 Voltage" { channel="modbus:data:slave100:slaveHoldingStringValues1:Pv_6_Voltage:number" }
//Number Pv_6_Current "PV6 Current" { channel="modbus:data:slave100:slaveHoldingStringValues1:Pv_6_Current:number" }
Number Pv_7_Voltage "PV7 Voltage" { channel="modbus:data:slave100:slaveHoldingStringValues2:Pv_7_Voltage:number" }
Number Pv_7_Current "PV7 Current" { channel="modbus:data:slave100:slaveHoldingStringValues2:Pv_7_Current:number" }
//Number Pv_8_Voltage "PV8 Voltage" { channel="modbus:data:slave100:slaveHoldingStringValues2:Pv_8_Voltage:number" }
//Number Pv_8_Current "PV8 Current" { channel="modbus:data:slave100:slaveHoldingStringValues2:Pv_8_Current:number" }
Number MPPT1_Total_input_power "MPPT1 total input power" { channel="modbus:data:slave100:slaveHoldingMPPTValues1:MPPT_1_Total_input_power:number" }
Number MPPT2_Total_input_power "MPPT2 total input power" { channel="modbus:data:slave100:slaveHoldingMPPTValues1:MPPT_2_Total_input_power:number" }
Number MPPT3_Total_input_power "MPPT3 total input power" { channel="modbus:data:slave100:slaveHoldingMPPTValues1:MPPT_3_Total_input_power:number" }
Number MPPT4_Total_input_power "MPPT4 total input power" { channel="modbus:data:slave100:slaveHoldingMPPTValues2:MPPT_4_Total_input_power:number" }
Number State_Standby "Standby" { channel="modbus:data:slave100:slaveHolding_Operating_state_1:Operating_state_standby:number" }
Number State_Grid_connected "Grid connected" { channel="modbus:data:slave100:slaveHolding_Operating_state_1:Operating_state_gc:number" }
Number State_Grid_connected_normal "Grid connected normal" { channel="modbus:data:slave100:slaveHolding_Operating_state_1:Operating_state_gc_normally:number" }
Number State_Grid_connected_derating "Grid connected derating" { channel="modbus:data:slave100:slaveHolding_Operating_state_1:Operating_state_gc_derating:number" }
Number State_Grid_connected_derating_error "Grid connected derating error" { channel="modbus:data:slave100:slaveHolding_Operating_state_1:Operating_state_gc_derating_error:number" }
Number State_Stop_normal "Stop normal" { channel="modbus:data:slave100:slaveHolding_Operating_state_1:Operating_state_stop_normal:number" }
Number State_Stop_error "Stop error" { channel="modbus:data:slave100:slaveHolding_Operating_state_1:Operating_state_stop_error:number" }
Number State_Stop_derating "Stop derating" { channel="modbus:data:slave100:slaveHolding_Operating_state_1:Operating_state_stop_derating:number" }
Number State_Shutdown "Shutdown" { channel="modbus:data:slave100:slaveHolding_Operating_state_1:Operating_state_shutdown:number" }
Number State_Spot_check "Spot check" { channel="modbus:data:slave100:slaveHolding_Operating_state_1:Operating_state_spot_check:number" }
/* Number Alarm_1bit0 "Alarm 1 Bit 0" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit0:number" }
Number Alarm_1bit1 "Alarm 1 Bit 1" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit1:number" }
Number Alarm_1bit2 "Alarm 1 Bit 2" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit2:number" }
Number Alarm_1bit3 "Alarm 1 Bit 3" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit3:number" }
Number Alarm_1bit4 "Alarm 1 Bit 4" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit4:number" }
Number Alarm_1bit5 "Alarm 1 Bit 5" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit5:number" }
Number Alarm_1bit6 "Alarm 1 Bit 6" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit6:number" }
Number Alarm_1bit7 "Alarm 1 Bit 7" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit7:number" }
Number Alarm_1bit8 "Alarm 1 Bit 8" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit8:number" }
Number Alarm_1bit9 "Alarm 1 Bit 9" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit9:number" }
Number Alarm_1bit10 "Alarm 1 Bit 10" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit10:number" }
Number Alarm_1bit11 "Alarm 1 Bit 11" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit11:number" }
Number Alarm_1bit12 "Alarm 1 Bit 12" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit12:number" }
Number Alarm_1bit13 "Alarm 1 Bit 13" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit13:number" }
Number Alarm_1bit14 "Alarm 1 Bit 14" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit14:number" }
Number Alarm_1bit15 "Alarm 1 Bit 15" { channel="modbus:data:slave100:slaveHolding_Alarm1:Alarm_1bit15:number" } */
Anyone facing same issues with Modbus RTU after upgrade?