diff --git a/custom_components/solarman/inverter_definitions/afore_BNTxxxKTL-2mppt.yaml b/custom_components/solarman/inverter_definitions/afore_BNTxxxKTL-2mppt.yaml index f9237884..bbf19e01 100644 --- a/custom_components/solarman/inverter_definitions/afore_BNTxxxKTL-2mppt.yaml +++ b/custom_components/solarman/inverter_definitions/afore_BNTxxxKTL-2mppt.yaml @@ -64,6 +64,8 @@ parameters: rule: 3 registers: [0x0015, 0x0014] icon: "mdi:solar-power" + validation: + min: 0.1 - name: "Today Production time" class: "" diff --git a/custom_components/solarman/inverter_definitions/afore_hybrid.yaml b/custom_components/solarman/inverter_definitions/afore_hybrid.yaml index d68a7680..f9548bf6 100644 --- a/custom_components/solarman/inverter_definitions/afore_hybrid.yaml +++ b/custom_components/solarman/inverter_definitions/afore_hybrid.yaml @@ -82,6 +82,8 @@ parameters: rule: 1 registers: [0x07DC] icon: "mdi:battery-plus" + validation: + min: 0.1 - name: "Total Battery Discharge" class: "energy" @@ -91,6 +93,8 @@ parameters: rule: 1 registers: [0x07DE] icon: "mdi:battery-minus" + validation: + min: 0.1 - name: "Today Battery Charge" friendly_name: "Today's Battery Charge" @@ -316,6 +320,8 @@ parameters: rule: 1 registers: [0x03F7] icon: mdi:solar-power + validation: + min: 0.1 - name: "Total Energy Export" class: "energy" @@ -325,6 +331,8 @@ parameters: rule: 1 registers: [0x03FB] icon: mdi:transmission-tower + validation: + min: 0.1 - name: "Total Energy Import" class: "energy" @@ -334,6 +342,8 @@ parameters: rule: 1 registers: [0x03FD] icon: mdi:transmission-tower + validation: + min: 0.1 - name: "Total Load Consumption" class: "power" @@ -342,3 +352,5 @@ parameters: scale: 0.1 rule: 1 registers: [0x03FF] + validation: + min: 0.1 diff --git a/custom_components/solarman/inverter_definitions/deye_2mppt.yaml b/custom_components/solarman/inverter_definitions/deye_2mppt.yaml index 8f198110..e645f857 100644 --- a/custom_components/solarman/inverter_definitions/deye_2mppt.yaml +++ b/custom_components/solarman/inverter_definitions/deye_2mppt.yaml @@ -185,7 +185,7 @@ parameters: registers: [0x004C] icon: "mdi:home-lightning-bolt" - - name: "AC Output Frequency" + - name: "Output Frequency" class: "frequency" state_class: "measurement" uom: "Hz" @@ -274,7 +274,7 @@ parameters: - key: 0x0004 value: "Fault" - - name: "Total AC Output Power (Active)" + - name: "Output Power" class: "power" state_class: "measurement" uom: "W" diff --git a/custom_components/solarman/inverter_definitions/deye_4mppt.yaml b/custom_components/solarman/inverter_definitions/deye_4mppt.yaml index 1076b30a..a2e8be26 100644 --- a/custom_components/solarman/inverter_definitions/deye_4mppt.yaml +++ b/custom_components/solarman/inverter_definitions/deye_4mppt.yaml @@ -283,7 +283,7 @@ parameters: registers: [0x004C] icon: "mdi:home-lightning-bolt" - - name: "AC Output Frequency" + - name: "Output Frequency" class: "frequency" state_class: "measurement" uom: "Hz" @@ -373,7 +373,7 @@ parameters: - key: 0x0004 value: "Fault" - - name: "Total AC Output Power (Active)" + - name: "Output Power" class: "power" state_class: "measurement" uom: "W" diff --git a/custom_components/solarman/inverter_definitions/deye_hybrid.yaml b/custom_components/solarman/inverter_definitions/deye_hybrid.yaml index ce400153..ae2495b1 100644 --- a/custom_components/solarman/inverter_definitions/deye_hybrid.yaml +++ b/custom_components/solarman/inverter_definitions/deye_hybrid.yaml @@ -76,6 +76,8 @@ parameters: rule: 3 registers: [0x0060, 0x0061] icon: "mdi:solar-power" + validation: + min: 0.1 - name: "Micro-inverter Power" class: "power" @@ -96,6 +98,8 @@ parameters: rule: 3 registers: [0x0048, 0x0049] icon: "mdi:battery-plus" + validation: + min: 0.1 - name: "Total Battery Discharge" class: "energy" @@ -105,6 +109,8 @@ parameters: rule: 3 registers: [0x004A, 0x004B] icon: "mdi:battery-minus" + validation: + min: 0.1 - name: "Today Battery Charge" friendly_name: Today's Battery Charge @@ -286,6 +292,8 @@ parameters: rule: 1 registers: [0x004E, 0x0050] icon: "mdi:transmission-tower-export" + validation: + min: 0.1 - name: Today Energy Export alt: Today Energy Sold @@ -307,6 +315,8 @@ parameters: rule: 3 registers: [0x0051, 0x0052] icon: "mdi:transmission-tower-import" + validation: + min: 0.1 - name: "Total Grid Production" class: "energy" @@ -316,6 +326,8 @@ parameters: rule: 4 registers: [0x003F, 0x0040] icon: "mdi:transmission-tower" + validation: + min: 0.1 - group: Upload items: @@ -367,6 +379,8 @@ parameters: scale: 0.1 rule: 3 registers: [0x0055, 0x0056] + validation: + min: 0.1 - name: "SmartLoad" update_interval: 30 diff --git a/custom_components/solarman/inverter_definitions/deye_string.yaml b/custom_components/solarman/inverter_definitions/deye_string.yaml index 0e5030c2..c3acb6e2 100644 --- a/custom_components/solarman/inverter_definitions/deye_string.yaml +++ b/custom_components/solarman/inverter_definitions/deye_string.yaml @@ -146,7 +146,7 @@ parameters: - key: 0x0004 value: "Fault" - - name: "Total Output AC Power" + - name: "Output AC Power" class: "power" state_class: "measurement" uom: "W" diff --git a/custom_components/solarman/inverter_definitions/kstar_hybrid.yaml b/custom_components/solarman/inverter_definitions/kstar_hybrid.yaml index 4e9f2871..11b83b9c 100644 --- a/custom_components/solarman/inverter_definitions/kstar_hybrid.yaml +++ b/custom_components/solarman/inverter_definitions/kstar_hybrid.yaml @@ -136,6 +136,8 @@ parameters: rule: 3 registers: [3042, 3041] icon: "mdi:solar-power" + validation: + min: 0.1 - group: Power Grid items: @@ -195,6 +197,8 @@ parameters: rule: 3 registers: [3115, 3114] icon: "mdi:transmission-tower-export" + validation: + min: 0.1 - name: Today Energy Export alt: Daily Energy Feed-In @@ -240,6 +244,8 @@ parameters: rule: 3 registers: [3122, 3121] icon: "mdi:transmission-tower-import" + validation: + min: 0.1 - group: Electricity Consumption items: @@ -296,6 +302,8 @@ parameters: rule: 3 registers: [3153, 3152] icon: "mdi:home-lightning-bolt" + validation: + min: 0.1 - group: Battery items: @@ -407,6 +415,8 @@ parameters: rule: 3 registers: [3293, 3292] icon: "mdi:battery-minus-variant" + validation: + min: 0.1 - name: "Today Battery Discharge" alt: Battery Daily Discharge @@ -430,6 +440,8 @@ parameters: rule: 3 registers: [3300, 3299] icon: "mdi:battery-minus-variant" + validation: + min: 0.1 - name: "Today Battery Charge" alt: Battery Daily Charge diff --git a/custom_components/solarman/inverter_definitions/megarevo_r-3h.yaml b/custom_components/solarman/inverter_definitions/megarevo_r-3h.yaml index 88c0b9dc..6c255450 100644 --- a/custom_components/solarman/inverter_definitions/megarevo_r-3h.yaml +++ b/custom_components/solarman/inverter_definitions/megarevo_r-3h.yaml @@ -163,8 +163,8 @@ parameters: registers: [0x311B] icon: "mdi:thermometer" - - name: "Today PV Production" - friendly_name: Today's PV Production + - name: "Today Production" + friendly_name: Today's Production class: "energy" state_class: "total_increasing" uom: "kWh" @@ -213,7 +213,7 @@ parameters: registers: [0x316F] icon: "mdi:battery-minus" - - name: "Total PV Production" + - name: "Total Production" class: "energy" state_class: "total_increasing" uom: "kWh" @@ -221,6 +221,8 @@ parameters: rule: 3 registers: [0x3165] icon: "mdi:solar-power" + validation: + min: 0.1 - name: "Total Energy Import" class: "energy" @@ -230,6 +232,8 @@ parameters: rule: 3 registers: [0x317D] icon: "mdi:transmission-tower-export" + validation: + min: 0.1 - name: "Total Energy Export" class: "energy" @@ -239,6 +243,8 @@ parameters: rule: 3 registers: [0x3167] icon: "mdi:transmission-tower-import" + validation: + min: 0.1 - name: "Total Load Consumption" class: "energy" @@ -247,6 +253,8 @@ parameters: scale: 0.001 rule: 3 registers: [0x3169] + validation: + min: 0.1 - name: "Total Battery Charge" class: "energy" @@ -256,6 +264,8 @@ parameters: rule: 3 registers: [0x317F] icon: "mdi:battery-plus" + validation: + min: 0.1 - name: "Total Battery Discharge" class: "energy" @@ -265,6 +275,8 @@ parameters: rule: 3 registers: [0x3181] icon: "mdi:battery-minus" + validation: + min: 0.1 - name: "DC Temperature" class: "temperature" diff --git a/custom_components/solarman/inverter_definitions/pylontech_Force-H.yaml b/custom_components/solarman/inverter_definitions/pylontech_Force-H.yaml index 6f2b83fb..cc5618bb 100644 --- a/custom_components/solarman/inverter_definitions/pylontech_Force-H.yaml +++ b/custom_components/solarman/inverter_definitions/pylontech_Force-H.yaml @@ -74,6 +74,8 @@ parameters: rule: 1 registers: [5164] icon: "mdi:battery-plus" + validation: + min: 0.1 - name: "Total Battery Discharge" class: "energy" @@ -83,6 +85,8 @@ parameters: rule: 1 registers: [5166] icon: "mdi:battery-minus" + validation: + min: 0.1 - name: "Battery Voltage" class: "voltage" diff --git a/custom_components/solarman/inverter_definitions/sofar_g3hyd.yaml b/custom_components/solarman/inverter_definitions/sofar_g3hyd.yaml index dbb218b0..9bc16d70 100644 --- a/custom_components/solarman/inverter_definitions/sofar_g3hyd.yaml +++ b/custom_components/solarman/inverter_definitions/sofar_g3hyd.yaml @@ -815,6 +815,8 @@ parameters: rule: 3 registers: [0x0687, 0x0686] icon: "mdi:solar-power" + validation: + min: 0.1 - name: "Today Load Consumption" friendly_name: Today's Load Consumption class: "energy" @@ -832,6 +834,8 @@ parameters: rule: 3 registers: [0x068B, 0x068A] icon: "mdi:solar-power" + validation: + min: 0.1 - name: Today Energy Import alt: Daily Energy Bought friendly_name: Today's Energy Import @@ -851,6 +855,8 @@ parameters: rule: 3 registers: [0x068F, 0x068E] icon: "mdi:transmission-tower-export" + validation: + min: 0.1 - name: "Today Energy Export" alt: Daily Energy Sold friendly_name: Today's Energy Export @@ -870,6 +876,8 @@ parameters: rule: 3 registers: [0x0693, 0x0692] icon: "mdi:transmission-tower-import" + validation: + min: 0.1 - name: "Today Battery Charge" friendly_name: Today's Battery Charge class: "energy" @@ -887,6 +895,8 @@ parameters: rule: 3 registers: [0x0697, 0x0696] icon: "mdi:battery-plus" + validation: + min: 0.1 - name: "Today Battery Discharge" friendly_name: Today's Battery Discharge class: "energy" @@ -904,6 +914,8 @@ parameters: rule: 3 registers: [0x069b, 0x069A] icon: "mdi:battery-minus" + validation: + min: 0.1 - group: Alert items: diff --git a/custom_components/solarman/inverter_definitions/sofar_hyd-es.yaml b/custom_components/solarman/inverter_definitions/sofar_hyd-es.yaml index d050c07e..412285e2 100644 --- a/custom_components/solarman/inverter_definitions/sofar_hyd-es.yaml +++ b/custom_components/solarman/inverter_definitions/sofar_hyd-es.yaml @@ -96,6 +96,8 @@ parameters: rule: 3 registers: [0x021D, 0x021C] icon: "mdi:solar-power" + validation: + min: 0.1 - name: "Total Production time" class: "" @@ -157,6 +159,8 @@ parameters: rule: 3 registers: [0x021F, 0x021E] icon: "mdi:transmission-tower-import" + validation: + min: 0.1 - name: "Total Energy Import" alt: "Total Grid Consumption" @@ -167,6 +171,8 @@ parameters: rule: 3 registers: [0x0221, 0x0220] icon: "mdi:transmission-tower-export" + validation: + min: 0.1 - name: "Total Load Consumption" alt: "Total Power Consumption" @@ -177,6 +183,8 @@ parameters: rule: 3 registers: [0x0223, 0x0222] icon: "mdi:lightning-bolt" + validation: + min: 0.1 - group: Load items: @@ -340,6 +348,8 @@ parameters: rule: 3 registers: [0x0227, 0x0226] icon: "mdi:battery" + validation: + min: 0.1 - name: "Total Battery Discharge" alt: "Battery Total Discharge" @@ -350,6 +360,8 @@ parameters: rule: 3 registers: [0x0229, 0x0228] icon: "mdi:battery" + validation: + min: 0.1 - name: "Max Charge Voltage" class: "" diff --git a/custom_components/solarman/inverter_definitions/sofar_lsw3.yaml b/custom_components/solarman/inverter_definitions/sofar_lsw3.yaml index 72b11569..ac67c24d 100644 --- a/custom_components/solarman/inverter_definitions/sofar_lsw3.yaml +++ b/custom_components/solarman/inverter_definitions/sofar_lsw3.yaml @@ -77,6 +77,8 @@ parameters: rule: 3 registers: [0x0016, 0x0015] icon: "mdi:solar-power" + validation: + min: 0.1 - name: "Total Production time" class: "" diff --git a/custom_components/solarman/inverter_definitions/sofar_tlx-g3.yaml b/custom_components/solarman/inverter_definitions/sofar_tlx-g3.yaml index c147981b..84ce37e4 100644 --- a/custom_components/solarman/inverter_definitions/sofar_tlx-g3.yaml +++ b/custom_components/solarman/inverter_definitions/sofar_tlx-g3.yaml @@ -235,6 +235,8 @@ parameters: rule: 3 registers: [0x0687, 0x0686] icon: "mdi:solar-power" + validation: + min: 0.1 - name: "Today Load Consumption" friendly_name: Today's Load Consumption @@ -254,6 +256,8 @@ parameters: rule: 3 registers: [0x068B, 0x068A] icon: "mdi:solar-power" + validation: + min: 0.1 - group: Alert items: diff --git a/custom_components/solarman/inverter_definitions/sofar_wifikit.yaml b/custom_components/solarman/inverter_definitions/sofar_wifikit.yaml index 1dc7a57b..b07432d0 100644 --- a/custom_components/solarman/inverter_definitions/sofar_wifikit.yaml +++ b/custom_components/solarman/inverter_definitions/sofar_wifikit.yaml @@ -56,6 +56,8 @@ parameters: rule: 3 registers: [0x021D, 0x021C] icon: "mdi:solar-power" + validation: + min: 0.1 - name: "Today Production Time" class: "duration" @@ -106,6 +108,8 @@ parameters: rule: 3 registers: [0x0223, 0x0222] icon: "mdi:home-lightning-bolt-outline" + validation: + min: 0.1 - group: Grid items: @@ -272,6 +276,8 @@ parameters: rule: 3 registers: [0x0227, 0x0226] icon: "mdi:battery-plus" + validation: + min: 0.1 - name: "Total Battery Discharge" update_interval: 30 @@ -282,6 +288,8 @@ parameters: rule: 3 registers: [0x0229, 0x0228] icon: "mdi:battery-minus" + validation: + min: 0.1 - name: "Battery SOH" update_interval: 300 diff --git a/custom_components/solarman/inverter_definitions/solis_1p-5g.yaml b/custom_components/solarman/inverter_definitions/solis_1p-5g.yaml index f911e3fa..8b7c8401 100644 --- a/custom_components/solarman/inverter_definitions/solis_1p-5g.yaml +++ b/custom_components/solarman/inverter_definitions/solis_1p-5g.yaml @@ -9,383 +9,385 @@ default: code: 0x04 digits: 6 - parameters: - - group: InverterStatus - items: - - name: "Working Mode" - update_interval: 300 - class: "" - state_class: "" - uom: "" - scale: 1 - rule: 1 - registers: [3040] - icon: "mdi:list-status" - lookup: - - key: 0x0 - value: "No response mode" - - key: 0x1 - value: "Volt–watt default" - - key: 0x2 - value: "Volt–var" - - key: 0x3 - value: "Fixed power factor" - - key: 0x4 - value: "Fix reactive power" - - key: 0x5 - value: "Power-PF" - - key: 0x6 - value: "Rule21Volt–watt" - - - name: "Inverter Status" - update_interval: 60 - class: "" - state_class: "" - uom: "" - scale: 1 - rule: 1 - registers: [3043] - icon: "mdi:list-status" - isstr: true - lookup: - - key: 0x0 - value: "Waiting" - - key: 0x1 - value: "OpenRun" - - key: 0x2 - value: "SoftRun" - - key: 0x3 - value: "Generating" - - key: 0x1004 - value: "Grid off" - - key: 0x1010 - value: "Grid Over Voltage" - - key: 0x1011 - value: "Grid Under Voltage" - - key: 0x1015 - value: "No Grid" - - key: 0x1032 - value: "Temperature Protection" - - key: 0x2011 - value: "Fail Safe" - - - name: "Working Status" - class: "" - state_class: "" - uom: "" - scale: 1 - rule: 1 - registers: [3071] - icon: "mdi:list-status" - - # Working Status Bit decode - - name: "WStatus Normal" - class: "" - state_class: "" - uom: "" - mask: 0x01 - divide: 1 - rule: 1 - registers: [3071] - icon: "mdi:list-status" - - - name: "WStatus Initialising" - class: "" - state_class: "" - uom: "" - mask: 0x02 - divide: 2 - rule: 1 - registers: [3071] - icon: "mdi:list-status" - - - name: "WStatus Grid off" - class: "" - state_class: "" - uom: "" - mask: 0x04 - divide: 4 - rule: 1 - registers: [3071] - icon: "mdi:list-status" - - - name: "WStatus Standby" - class: "" - state_class: "" - uom: "" - mask: 0x10 - divide: 16 - rule: 1 - registers: [3071] - icon: "mdi:list-status" - - - name: "WStatus Derating" - class: "" - state_class: "" - uom: "" - mask: 0x20 - divide: 32 - rule: 1 - registers: [3071] - icon: "mdi:list-status" - - - name: "WStatus Limiting" - class: "" - state_class: "" - uom: "" - mask: 0x40 - divide: 64 - rule: 1 - registers: [3071] - icon: "mdi:list-status" - - - name: "Inverter Temperature" - class: "temperature" - state_class: "measurement" - uom: "°C" - scale: 0.1 - rule: 2 - registers: [3041] - icon: "mdi:thermometer" - - - name: "Inverter Efficiency" - class: "" - state_class: measurement - uom: "%" - rule: 1 - digits: 1 - uint: enforce - registers: [3005, 3004, 3007, 3006] - sensors: - - signed: - registers: [3005, 3004] - scale: 100 - - operator: divide - signed: - registers: [3007, 3006] - validation: - min: 0 - max: 99 - - - name: "Inverter ID" - disabled: - class: "" - state_class: "" - uom: "" - scale: 1 - rule: 5 - registers: - [ - 33004, - 33005, - 33006, - 33007, - 33008, - 33009, - 33010, - 33011, - 33012, - 33013, - 33014, - 33015, - 33016, - 33017, - 33018, - 33019, - ] - isstr: true - - - name: "Product Model" - disabled: - class: "" - state_class: "" - uom: "" - scale: 1 - rule: 6 - registers: [2999] - isstr: true - - - name: "DSP Software Version" - disabled: - class: "" - state_class: "" - uom: "" - scale: 1 - rule: 6 - registers: [3000] - isstr: true - - - name: "LCD Software Version" - disabled: - class: "" - state_class: "" - uom: "" - scale: 1 - rule: 6 - registers: [3001] - isstr: true - - - group: PV - items: - - name: "PV Power" - class: "power" - state_class: "measurement" - uom: "kW" - scale: 0.001 - rule: 3 - registers: [3007, 3006] - icon: "mdi:solar-power" - - - name: "PV1 Voltage" - class: "voltage" - state_class: "measurement" - uom: "V" - scale: 0.1 - rule: 1 - registers: [3021] - icon: "mdi:solar-power" - - - name: "PV1 Current" - class: "current" - state_class: "measurement" - uom: "A" - scale: 0.1 - rule: 1 - registers: [3022] - icon: "mdi:current-dc" - - - name: "PV1 Power" - class: "power" - state_class: "measurement" - uom: "kW" - rule: 1 - digits: 3 - registers: [3021, 3022] - sensors: - - registers: [3021] - scale: 0.1 - - operator: multiply - scale: 0.0001 - registers: [3022] - - - name: "PV2 Voltage" - class: "voltage" - state_class: "measurement" - uom: "V" - scale: 0.1 - rule: 1 - registers: [3023] - icon: "mdi:solar-power" - - - name: "PV2 Current" - class: "current" - state_class: "measurement" - uom: "A" - scale: 0.1 - rule: 1 - registers: [3024] - icon: "mdi:current-dc" - - - name: "PV2 Power" - class: "power" - state_class: "measurement" - uom: "kW" - rule: 1 - digits: 3 - registers: [3023, 3024] - sensors: - - registers: [3023] - scale: 0.1 - - operator: multiply - scale: 0.0001 - registers: [3024] - - - group: Load - items: - - name: "Load Power" - class: "power" - state_class: "measurement" - uom: "kW" - scale: 0.001 - rule: 3 - registers: [3005, 3004] - icon: "mdi:solar-power" - - - name: "Load Voltage" - class: "voltage" - state_class: "measurement" - uom: "V" - scale: 0.1 - rule: 1 - registers: [3035] - icon: "mdi:transmission-tower" - - - name: "Load Current" - class: "current" - state_class: "measurement" - uom: "A" - scale: 0.1 - rule: 1 - registers: [3038] - icon: "mdi:current-ac" - - - name: "Load Frequency" - class: "frequency" - state_class: "measurement" - uom: "Hz" - scale: 0.01 - rule: 1 - registers: [3042] - icon: "mdi:sine-wave" - - - name: "Inverter AC Export Power" - class: "power" - state_class: "measurement" - uom: "kW" - scale: 0.01 - rule: 1 - registers: [3113] - icon: "mdi:transmission-tower" - validation: - min: 0 - max: 8 - - - group: Production - items: - - name: "Total Production" - class: "energy" - state_class: "total_increasing" - uom: "kWh" - scale: 1 - rule: 3 - registers: [3009, 3008] - icon: "mdi:solar-power" - - - name: "Today Production" - friendly_name: Today's Production - update_interval: 300 - class: "energy" - state_class: "measurement" - uom: "kWh" - scale: 0.1 - rule: 1 - registers: [3014] - icon: "mdi:solar-power" - - - name: "Monthly Production" - class: "energy" - state_class: "total_increasing" - uom: "kWh" - scale: 1 - rule: 3 - registers: [3011, 3010] - icon: "mdi:solar-power" - - - name: "Yearly Production" - class: "energy" - state_class: "total_increasing" - uom: "kWh" - scale: 1 - rule: 3 - registers: [3017, 3016] - icon: "mdi:solar-power" +parameters: + - group: InverterStatus + items: + - name: "Working Mode" + update_interval: 300 + class: "" + state_class: "" + uom: "" + scale: 1 + rule: 1 + registers: [3040] + icon: "mdi:list-status" + lookup: + - key: 0x0 + value: "No response mode" + - key: 0x1 + value: "Volt–watt default" + - key: 0x2 + value: "Volt–var" + - key: 0x3 + value: "Fixed power factor" + - key: 0x4 + value: "Fix reactive power" + - key: 0x5 + value: "Power-PF" + - key: 0x6 + value: "Rule21Volt–watt" + + - name: "Inverter Status" + update_interval: 60 + class: "" + state_class: "" + uom: "" + scale: 1 + rule: 1 + registers: [3043] + icon: "mdi:list-status" + isstr: true + lookup: + - key: 0x0 + value: "Waiting" + - key: 0x1 + value: "OpenRun" + - key: 0x2 + value: "SoftRun" + - key: 0x3 + value: "Generating" + - key: 0x1004 + value: "Grid off" + - key: 0x1010 + value: "Grid Over Voltage" + - key: 0x1011 + value: "Grid Under Voltage" + - key: 0x1015 + value: "No Grid" + - key: 0x1032 + value: "Temperature Protection" + - key: 0x2011 + value: "Fail Safe" + + - name: "Working Status" + class: "" + state_class: "" + uom: "" + scale: 1 + rule: 1 + registers: [3071] + icon: "mdi:list-status" + + # Working Status Bit decode + - name: "WStatus Normal" + class: "" + state_class: "" + uom: "" + mask: 0x01 + divide: 1 + rule: 1 + registers: [3071] + icon: "mdi:list-status" + + - name: "WStatus Initialising" + class: "" + state_class: "" + uom: "" + mask: 0x02 + divide: 2 + rule: 1 + registers: [3071] + icon: "mdi:list-status" + + - name: "WStatus Grid off" + class: "" + state_class: "" + uom: "" + mask: 0x04 + divide: 4 + rule: 1 + registers: [3071] + icon: "mdi:list-status" + + - name: "WStatus Standby" + class: "" + state_class: "" + uom: "" + mask: 0x10 + divide: 16 + rule: 1 + registers: [3071] + icon: "mdi:list-status" + + - name: "WStatus Derating" + class: "" + state_class: "" + uom: "" + mask: 0x20 + divide: 32 + rule: 1 + registers: [3071] + icon: "mdi:list-status" + + - name: "WStatus Limiting" + class: "" + state_class: "" + uom: "" + mask: 0x40 + divide: 64 + rule: 1 + registers: [3071] + icon: "mdi:list-status" + + - name: "Inverter Temperature" + class: "temperature" + state_class: "measurement" + uom: "°C" + scale: 0.1 + rule: 2 + registers: [3041] + icon: "mdi:thermometer" + + - name: "Inverter Efficiency" + class: "" + state_class: measurement + uom: "%" + rule: 1 + digits: 1 + uint: enforce + registers: [3005, 3004, 3007, 3006] + sensors: + - signed: + registers: [3005, 3004] + scale: 100 + - operator: divide + signed: + registers: [3007, 3006] + validation: + min: 0 + max: 99 + + - name: "Inverter ID" + disabled: + class: "" + state_class: "" + uom: "" + scale: 1 + rule: 5 + registers: + [ + 33004, + 33005, + 33006, + 33007, + 33008, + 33009, + 33010, + 33011, + 33012, + 33013, + 33014, + 33015, + 33016, + 33017, + 33018, + 33019, + ] + isstr: true + + - name: "Product Model" + disabled: + class: "" + state_class: "" + uom: "" + scale: 1 + rule: 6 + registers: [2999] + isstr: true + + - name: "DSP Software Version" + disabled: + class: "" + state_class: "" + uom: "" + scale: 1 + rule: 6 + registers: [3000] + isstr: true + + - name: "LCD Software Version" + disabled: + class: "" + state_class: "" + uom: "" + scale: 1 + rule: 6 + registers: [3001] + isstr: true + + - group: PV + items: + - name: "PV Power" + class: "power" + state_class: "measurement" + uom: "kW" + scale: 0.001 + rule: 3 + registers: [3007, 3006] + icon: "mdi:solar-power" + + - name: "PV1 Voltage" + class: "voltage" + state_class: "measurement" + uom: "V" + scale: 0.1 + rule: 1 + registers: [3021] + icon: "mdi:solar-power" + + - name: "PV1 Current" + class: "current" + state_class: "measurement" + uom: "A" + scale: 0.1 + rule: 1 + registers: [3022] + icon: "mdi:current-dc" + + - name: "PV1 Power" + class: "power" + state_class: "measurement" + uom: "kW" + rule: 1 + digits: 3 + registers: [3021, 3022] + sensors: + - registers: [3021] + scale: 0.1 + - operator: multiply + scale: 0.0001 + registers: [3022] + + - name: "PV2 Voltage" + class: "voltage" + state_class: "measurement" + uom: "V" + scale: 0.1 + rule: 1 + registers: [3023] + icon: "mdi:solar-power" + + - name: "PV2 Current" + class: "current" + state_class: "measurement" + uom: "A" + scale: 0.1 + rule: 1 + registers: [3024] + icon: "mdi:current-dc" + + - name: "PV2 Power" + class: "power" + state_class: "measurement" + uom: "kW" + rule: 1 + digits: 3 + registers: [3023, 3024] + sensors: + - registers: [3023] + scale: 0.1 + - operator: multiply + scale: 0.0001 + registers: [3024] + + - group: Load + items: + - name: "Load Power" + class: "power" + state_class: "measurement" + uom: "kW" + scale: 0.001 + rule: 3 + registers: [3005, 3004] + icon: "mdi:solar-power" + + - name: "Load Voltage" + class: "voltage" + state_class: "measurement" + uom: "V" + scale: 0.1 + rule: 1 + registers: [3035] + icon: "mdi:transmission-tower" + + - name: "Load Current" + class: "current" + state_class: "measurement" + uom: "A" + scale: 0.1 + rule: 1 + registers: [3038] + icon: "mdi:current-ac" + + - name: "Load Frequency" + class: "frequency" + state_class: "measurement" + uom: "Hz" + scale: 0.01 + rule: 1 + registers: [3042] + icon: "mdi:sine-wave" + + - name: "Inverter AC Export Power" + class: "power" + state_class: "measurement" + uom: "kW" + scale: 0.01 + rule: 1 + registers: [3113] + icon: "mdi:transmission-tower" + validation: + min: 0 + max: 8 + + - group: Production + items: + - name: "Total Production" + class: "energy" + state_class: "total_increasing" + uom: "kWh" + scale: 1 + rule: 3 + registers: [3009, 3008] + icon: "mdi:solar-power" + validation: + min: 0.1 + + - name: "Today Production" + friendly_name: Today's Production + update_interval: 300 + class: "energy" + state_class: "measurement" + uom: "kWh" + scale: 0.1 + rule: 1 + registers: [3014] + icon: "mdi:solar-power" + + - name: "Monthly Production" + class: "energy" + state_class: "total_increasing" + uom: "kWh" + scale: 1 + rule: 3 + registers: [3011, 3010] + icon: "mdi:solar-power" + + - name: "Yearly Production" + class: "energy" + state_class: "total_increasing" + uom: "kWh" + scale: 1 + rule: 3 + registers: [3017, 3016] + icon: "mdi:solar-power" diff --git a/custom_components/solarman/inverter_definitions/solis_3p-4g+.yaml b/custom_components/solarman/inverter_definitions/solis_3p-4g+.yaml index 0ccaba29..1022f93a 100644 --- a/custom_components/solarman/inverter_definitions/solis_3p-4g+.yaml +++ b/custom_components/solarman/inverter_definitions/solis_3p-4g+.yaml @@ -314,3 +314,5 @@ parameters: rule: 3 registers: [3009, 3008] icon: "mdi:solar-power" + validation: + min: 0.1 diff --git a/custom_components/solarman/inverter_definitions/solis_3p-4g.yaml b/custom_components/solarman/inverter_definitions/solis_3p-4g.yaml index 7a283159..94bc8e57 100644 --- a/custom_components/solarman/inverter_definitions/solis_3p-4g.yaml +++ b/custom_components/solarman/inverter_definitions/solis_3p-4g.yaml @@ -282,3 +282,5 @@ parameters: rule: 3 registers: [3009, 3008] icon: "mdi:solar-power" + validation: + min: 0.1 diff --git a/custom_components/solarman/inverter_definitions/solis_3p-5g.yaml b/custom_components/solarman/inverter_definitions/solis_3p-5g.yaml index 5f739d7c..904ee96c 100644 --- a/custom_components/solarman/inverter_definitions/solis_3p-5g.yaml +++ b/custom_components/solarman/inverter_definitions/solis_3p-5g.yaml @@ -544,6 +544,8 @@ parameters: rule: 3 registers: [33030, 33029] icon: "mdi:solar-power" + validation: + min: 0.1 - group: Grid items: @@ -655,6 +657,8 @@ parameters: rule: 3 registers: [33170, 33169] icon: "mdi:home-import-outline" + validation: + min: 0.1 - name: "Today Energy Export" friendly_name: "Today's Energy Export" @@ -674,6 +678,8 @@ parameters: rule: 3 registers: [33174, 33173] icon: "mdi:home-export-outline" + validation: + min: 0.1 - group: Load items: @@ -703,7 +709,6 @@ parameters: scale: 0.1 rule: 1 registers: [33179] - icon: "mdi:lightning-bolt-outline" - name: "Total Load Consumption" class: "energy" @@ -712,7 +717,8 @@ parameters: scale: 1 rule: 3 registers: [33178, 33177] - icon: "mdi:lightning-bolt-outline" + validation: + min: 0.1 - group: Battery items: @@ -806,6 +812,8 @@ parameters: rule: 3 registers: [33162, 33161] icon: "mdi:battery-plus" + validation: + min: 0.1 - name: "Total Battery Discharge" class: "energy" @@ -815,6 +823,8 @@ parameters: rule: 3 registers: [33166, 33165] icon: "mdi:battery-minus" + validation: + min: 0.1 - name: "Battery Charge Current Limit" class: "current" diff --git a/custom_components/solarman/inverter_definitions/solis_hybrid.yaml b/custom_components/solarman/inverter_definitions/solis_hybrid.yaml index 82af9f09..af3bb33c 100644 --- a/custom_components/solarman/inverter_definitions/solis_hybrid.yaml +++ b/custom_components/solarman/inverter_definitions/solis_hybrid.yaml @@ -549,6 +549,8 @@ parameters: rule: 3 registers: [33030, 33029] icon: "mdi:solar-power" + validation: + min: 0.1 - group: Grid items: @@ -633,6 +635,8 @@ parameters: rule: 3 registers: [33170, 33169] icon: "mdi:home-import-outline" + validation: + min: 0.1 - name: "Today Energy Export" friendly_name: "Today's Energy Export" @@ -652,6 +656,8 @@ parameters: rule: 3 registers: [33174, 33173] icon: "mdi:home-export-outline" + validation: + min: 0.1 - group: Load items: @@ -681,7 +687,6 @@ parameters: scale: 0.1 rule: 1 registers: [33179] - icon: "mdi:lightning-bolt-outline" - name: "Total Load Consumption" class: "energy" @@ -690,7 +695,8 @@ parameters: scale: 1 rule: 3 registers: [33178, 33177] - icon: "mdi:lightning-bolt-outline" + validation: + min: 0.1 - group: Battery items: @@ -782,6 +788,8 @@ parameters: rule: 3 registers: [33162, 33161] icon: "mdi:battery-plus" + validation: + min: 0.1 - name: "Total Battery Discharge" class: "energy" @@ -791,6 +799,8 @@ parameters: rule: 3 registers: [33166, 33165] icon: "mdi:battery-minus" + validation: + min: 0.1 - name: "Battery Charge Current Limit" class: "current" diff --git a/custom_components/solarman/inverter_definitions/solis_s6-gr1p.yaml b/custom_components/solarman/inverter_definitions/solis_s6-gr1p.yaml index 6b63dabc..b07cf229 100644 --- a/custom_components/solarman/inverter_definitions/solis_s6-gr1p.yaml +++ b/custom_components/solarman/inverter_definitions/solis_s6-gr1p.yaml @@ -341,3 +341,5 @@ parameters: rule: 3 registers: [3009, 3008] icon: "mdi:solar-power" + validation: + min: 0.1 diff --git a/custom_components/solarman/inverter_definitions/tsun_tsol-ms.yaml b/custom_components/solarman/inverter_definitions/tsun_tsol-ms.yaml index 465b1b15..79ad054d 100644 --- a/custom_components/solarman/inverter_definitions/tsun_tsol-ms.yaml +++ b/custom_components/solarman/inverter_definitions/tsun_tsol-ms.yaml @@ -105,6 +105,8 @@ parameters: rule: 1 registers: [0x301e] icon: "mdi:solar-power" + validation: + min: 0.1 - group: Grid items: diff --git a/custom_components/solarman/inverter_definitions/zcs_azzurro-1ph-tl-v3.yaml b/custom_components/solarman/inverter_definitions/zcs_azzurro-1ph-tl-v3.yaml index 37093c0f..ee4dff41 100644 --- a/custom_components/solarman/inverter_definitions/zcs_azzurro-1ph-tl-v3.yaml +++ b/custom_components/solarman/inverter_definitions/zcs_azzurro-1ph-tl-v3.yaml @@ -55,6 +55,8 @@ parameters: rule: 3 registers: [0x0016, 0x0015] icon: "mdi:solar-power" + validation: + min: 0.1 - name: "Total Production time" class: "" diff --git a/custom_components/solarman/inverter_definitions/zcs_azzurro-hyd-zss-hp.yaml b/custom_components/solarman/inverter_definitions/zcs_azzurro-hyd-zss-hp.yaml index 3acc8b43..ce9fddb3 100644 --- a/custom_components/solarman/inverter_definitions/zcs_azzurro-hyd-zss-hp.yaml +++ b/custom_components/solarman/inverter_definitions/zcs_azzurro-hyd-zss-hp.yaml @@ -32,6 +32,8 @@ parameters: rule: 3 registers: [0x0687, 0x0686] icon: "mdi:solar-power" + validation: + min: 0.1 - name: "PV1 Power" realtime: @@ -155,6 +157,8 @@ parameters: rule: 1 registers: [0x0697, 0x0696] icon: "mdi:battery-high" + validation: + min: 0.1 - name: "Total Battery Discharge" alt: "Battery Discharge Total" @@ -166,6 +170,8 @@ parameters: rule: 1 registers: [0x069B, 0x069A] icon: "mdi:battery-medium" + validation: + min: 0.1 - name: "Battery Cycles" class: "" @@ -294,6 +300,8 @@ parameters: rule: 3 registers: [0x068F, 0x068E] icon: "mdi:home-import-outline" + validation: + min: 0.1 - name: "Today Energy Export" alt: Energy Selling Today @@ -317,6 +325,8 @@ parameters: rule: 3 registers: [0x0693, 0x0692] icon: "mdi:home-export-outline" + validation: + min: 0.1 - group: Device items: diff --git a/custom_components/solarman/inverter_definitions/zcs_azzurro-ktl-v3.yaml b/custom_components/solarman/inverter_definitions/zcs_azzurro-ktl-v3.yaml index 5a72203c..296c39ce 100644 --- a/custom_components/solarman/inverter_definitions/zcs_azzurro-ktl-v3.yaml +++ b/custom_components/solarman/inverter_definitions/zcs_azzurro-ktl-v3.yaml @@ -43,6 +43,8 @@ parameters: rule: 3 registers: [0x0687, 0x0686] icon: "mdi:solar-power" + validation: + min: 0.1 - name: "PV1 Power" class: "power"