November 14, 20232 yr Hey! I'm new to Home Assistant. I have messed with it before in a VM but never took it serious because I didn't really bother to check it out properly. Now I'm shocked with what can be done with it! I wanted to connect my HA installation HP600 Mini PC (8GB Ram , 512 SSD and some i3 CPU) After searching a little I and being a bit new to this I couldn't've really find a quick and easy way to connect to my Sunsynk inverter in the cloud. I dont really care having updates by the second the refresh rate offered by sunsynk.net is good enough for me. I'm not sure if the following will be helpful to anyone. But it works well for me. I created a simple HA add-on that will allow you to connect your Sunsynk.net account with your HA instance quick and easy without having to install any additional components. Just add the repository to your HA Add-on store and install. All it its is a simple bash script making use of curl to fetch values from sunsynk.net and then those values are posted to some entities in HA. It doesn't come with any thing other than that. You can then add those entities to cards on your dashboard or even map them to the all so awesome card created by SlipX06 And it only supports 1 single inverter, and sunsynk.net region2 Full installation instructions here --> https://github.com/martinville/solarsynk/blob/main/DOCS.md But if you are like me and you first want to try it and then read the manual 🙂 Here's the link to the repository https://github.com/martinville/solarsynk just add it to your HA store and install. See working example in action. For the sake of ease i named the entities exactly as shown in SlipX06's documentation to configure the card. Just substitute "Sunsynk" with "SolarSynk" or just copy the below setup config. Lastly if you feel i missed some important data points let me know and I will add them. type: custom:sunsynk-power-flow-card cardstyle: lite show_solar: true battery: energy: 0 shutdown_soc: 20 show_daily: true solar: show_daily: true mppts: 2 load: show_daily: true grid: show_daily_buy: true show_daily_sell: false show_nonessential: true entities: use_timer_248: switch.sunsynk_toggle_system_timer priority_load_243: switch.sunsynk_toggle_priority_load inverter_voltage_154: sensor.solarsynk_inverter_voltage load_frequency_192: sensor.solarsynk_load_frequency inverter_current_164: sensor.solarsynk_inverter_current inverter_power_175: sensor.solarsynk_inverter_power grid_connected_status_194: binary_sensor.solarsynk_grid_connected_status inverter_status_59: sensor.solarsynk_overall_state day_battery_charge_70: sensor.solarsynk_day_battery_charge day_battery_discharge_71: sensor.solarsynk_day_battery_discharge battery_voltage_183: sensor.solarsynk_battery_voltage battery_soc_184: sensor.solarsynk_battery_soc battery_power_190: sensor.solarsynk_battery_power battery_current_191: sensor.solarsynk_battery_current grid_power_169: sensor.solarsynk_grid_power day_grid_import_76: sensor.solarsynk_day_grid_import day_grid_export_77: sensor.solarsynk_day_grid_export grid_ct_power_172: sensor.solarsynk_grid_power day_load_energy_84: sensor.solarsynk_day_load_energy essential_power: none nonessential_power: none aux_power_166: sensor.sunsynk_aux_power day_pv_energy_108: sensor.solarsynk_day_pv_energy pv1_power_186: sensor.solarsynk_pv1_power pv2_power_187: sensor.solarsynk_pv2_power pv1_voltage_109: sensor.solarsynk_pv1_voltage pv1_current_110: sensor.solarsynk_pv1_current pv2_voltage_111: sensor.solarsynk_pv2_voltage pv2_current_112: sensor.solarsynk_pv2_current Below is a full list of entities which will be populated. Note that these entities are created via the HA API and will be "Read-Only" you also cannot delete them. But dont be alarmed. If you ever wish to remove them, you can just uninstall this addon and then gibe HA a reboot and they should go away on their own. battery_capacity battery_chargevolt battery_current battery_dischargevolt battery_power battery_soc battery_temperature battery_type battery_voltage day_battery_charge day_battery_discharge day_grid_export day_grid_import day_load_energy day_pv_energy grid_connected_status grid_frequency grid_power inverter_current inverter_frequency inverter_power inverter_voltage load_current load_frequency load_power load_totalpower load_voltage pv1_current pv1_power pv1_voltage pv2_current pv2_power pv2_voltage overall_state Edited November 14, 20232 yr by MartinViljoen
November 15, 20232 yr Giving it a go quickly. Worked well and recommend for someone not wanting to go through the whole node red process. Edited November 15, 20232 yr by Ronnie1102
November 18, 20232 yr Am I correct that the add on only refreshes every 5 minutes @MartinViljoen? If so is there any chance of having it refresh as per the setting we have set through Sunsynk like I have mine every 60 seconds? Thinking of using your add on as my main add on instead of node red or have node red as a back up but would appreciate if the refresh could be a bit shorter.
November 18, 20232 yr Author Sure. Its a quick change. I updated it for you. The update rate is in seconds. Just be aware if you set the refresh rate faster than what your dongle is updating SunSynk is a pointless exercise and you will most probably just fetch the same values over and over unstill SunSynk was updated. May be a wase of disk space. I'm not sure at what rate its being updated. Some say 3 minutes and some say 5. [EDIT] I see you mentioned that you are able to set the update rate on Sunsynk ? , Didnt know you can do that. Is it set in the portal or when you setup the dongle ? I unfortunately cannot change settings my installer locked me out, still fighting to get full rights. But the setting is there now 😉 Edited November 18, 20232 yr by MartinViljoen
November 18, 20232 yr 1 minute ago, MartinViljoen said: Sure. Its a quick change. I updated it for you. The update rate is in seconds. Just be aware if you set the refresh rate faster than what your dongle is updating SunSynk is a pointless exercise and you will most probably just fetch the same values over and over unstill SunSynk was updated. You will most probably just wase disk space. I'm not sure at what rate its being updated. Some say 3 minutes and some say 5. But the setting is there now 😉 Ahh thanks man appreciate it!
November 21, 20232 yr Author I made a major change to this add-on which resulted to a change in the entity names. Therefore I copied it over to a new repository and versioned it v2. The new version supports multiple inverters. If you install this one you have to re-map the entities which are now prefixed with the inverter's serial number. New Repository -> https://github.com/martinville/solarsynkv2 The previous one is still available here -> https://github.com/martinville/solarsynk but will not longer be updated. Be aware the previous version has a bug that causes breaks in HA graphs due to null values. I.E When the grid disappears. Example: Below is the change log. 2023/11/12 Version: "1.1.1" - No Changes - New Implementation 2023/11/14 Version: "1.1.3" - Updated all energy related entity sensors with correct attributes (Affects all enteties with UOM kWh) 2023/11/16 Version: "1.1.4" - Added 2 more entities, sensor.solarsynk_grid_voltage and sensor.solarsynk_grid_current. Updated all entity devices classes except for Battery Capacity, Battery Type, Grid Connection Status and Inverter Overall State (No device class available) 2023/11/17 Version: "1.1.5" - Added more entities (Will return 0 or null if not available in your setup. battery1_voltage, battery1_current, battery1_power, battery1_soc, battery1_temperature, battery1_status, battery2_voltage, battery2_current, battery2_power, battery2_soc, battery2_temperature, battery2_status 2023/11/18 Version: "1.1.6" - Added setting to change the refresh rate (in seconds) to the configuration screen. 2023/11/19 Version: "2.1.2" - Added support for multiple inverters. Take note of a change in entity names. Entities are now prefixed with inverter serial numbers. 2023/11/21 Version: "2.1.3" - Bug Fix: Breaks in graphs are caused by null values. All nulls are converted to zero. @slipx Thanks for the suggestions. Cheers! Edited November 21, 20232 yr by MartinViljoen
December 12, 20232 yr Looks good, Any options to be able to trigger changes to the Sunsynk settings from HA ?
December 13, 20232 yr 20 hours ago, GRiLLA1234 said: Looks good, Any options to be able to trigger changes to the Sunsynk settings from HA ? Dont think it is possible yet, I did see @MartinViljoen said he will look into the settings on his github repo. However not sure if it would be to set the settings or just to be able to read them. Currently using Gary's node red flows to acheive this if you would like to look into it https://github.com/gdwaterworth/Home-Assistant---E-Linter-Logger---Sunsynk/tree/Stable-Release/V2.0, v2 is new so there is no documentation on it yet. EDIT: Documentation is in the wiki. Edited December 13, 20232 yr by Ronnie1102
December 13, 20232 yr On 2023/12/12 at 6:06 PM, GRiLLA1234 said: Looks good, Any options to be able to trigger changes to the Sunsynk settings from HA ? 8 hours ago, Ronnie1102 said: Dont think it is possible yet, I did see @MartinViljoen said he will look into the settings on his github repo. However not sure if it would be to set the settings or just to be able to read them. Currently using Gary's node red flows to acheive this if you would like to look into it https://github.com/gdwaterworth/Home-Assistant---E-Linter-Logger---Sunsynk/tree/Stable-Release/V2.0, v2 is new so there is no documentation on it yet. EDIT: Documentation is in the wiki. I'm using an ESP32 with RS485 to TTL board and code from Slipx to enable read/write to the inverter from within HA. A Raspberry Pi with any of KellerZA's plugin options works nice too
December 16, 20232 yr On 2023/11/21 at 8:00 PM, MartinViljoen said: I made a major change to this add-on which resulted to a change in the entity names. Therefore I copied it over to a new repository and versioned it v2. The new version supports multiple inverters. If you install this one you have to re-map the entities which are now prefixed with the inverter's serial number. New Repository -> https://github.com/martinville/solarsynkv2 The previous one is still available here -> https://github.com/martinville/solarsynk but will not longer be updated. Be aware the previous version has a bug that causes breaks in HA graphs due to null values. I.E When the grid disappears. Example: Below is the change log. 2023/11/12 Version: "1.1.1" - No Changes - New Implementation 2023/11/14 Version: "1.1.3" - Updated all energy related entity sensors with correct attributes (Affects all enteties with UOM kWh) 2023/11/16 Version: "1.1.4" - Added 2 more entities, sensor.solarsynk_grid_voltage and sensor.solarsynk_grid_current. Updated all entity devices classes except for Battery Capacity, Battery Type, Grid Connection Status and Inverter Overall State (No device class available) 2023/11/17 Version: "1.1.5" - Added more entities (Will return 0 or null if not available in your setup. battery1_voltage, battery1_current, battery1_power, battery1_soc, battery1_temperature, battery1_status, battery2_voltage, battery2_current, battery2_power, battery2_soc, battery2_temperature, battery2_status 2023/11/18 Version: "1.1.6" - Added setting to change the refresh rate (in seconds) to the configuration screen. 2023/11/19 Version: "2.1.2" - Added support for multiple inverters. Take note of a change in entity names. Entities are now prefixed with inverter serial numbers. 2023/11/21 Version: "2.1.3" - Bug Fix: Breaks in graphs are caused by null values. All nulls are converted to zero. @slipx Thanks for the suggestions. Cheers! Hi there, Thanks for this add-on. Looks like this one will work well for my the setup my brother has. He has two 8kW inverters with two arrays to each inverter. Stupid question from my side, how to do I add the second inverter? Must I use a comma after entering the first one? **edit** Managed to find the answer here https://github.com/martinville/solarsynkv2/blob/main/DOCS.md Just to point out, the repo is linking to the old document and not to ver2 doc.:) With that said I did separate the inverter nos with a ; but it still only reads the one inverter. Edited December 17, 20232 yr by Hunted update
December 17, 20232 yr On 2023/11/18 at 5:24 AM, Ronnie1102 said: Am I correct that the add on only refreshes every 5 minutes @MartinViljoen? If so is there any chance of having it refresh as per the setting we have set through Sunsynk like I have mine every 60 seconds? Thinking of using your add on as my main add on instead of node red or have node red as a back up but would appreciate if the refresh could be a bit shorter. Thank you for the info! How do you get Sunsynk to update more frequently than every 5min? Is it possible to get more frequent updates?
December 17, 20232 yr 1 hour ago, Bushbaby said: Thank you for the info! How do you get Sunsynk to update more frequently than every 5min? Is it possible to get more frequent updates? https://sunsynk.net/device/gateway It used to be for installers only with their credentials.
January 2, 20242 yr Author I made some further changes. Added support for people who has a signed SSL certificate attached to their HA installation. Previously it was hard coded to post values to entities using straight HTTP. Added the ability to change the port number in the setup. Added an option to reduce the log output but with the option to still dump using verbose mode. Changed the password and HA long-lived token field to be masked The following is coming soon. I also added the ability to change inverter settings. Right now on my test environment its working great. It works by setting the value of an entity to the setting you want to update. I.E If you set the value of entity sensor.solarsynk_INVERTERSERIAL_inverter_settings with value {"batteryCap": "100"} or {"batteryCap": "99","facHighProtect": "51.5"} Example The Solarsynk addon will grab it and post to the Sunsynk cloud which wil eventually be sent back to your inverter. After successfully posting it it will clear it out the entity so that it wont send it over and over. Only problem is i'm not so familiar with HA and cannot find a way to change the state of an entity via automation. Therefore the version that allows you to change settings is not yet available. Once I find a solution I will offcoarse make it available on the repository. Cheers **EDIT** Forgot to add the below, its a full list of settings that can be changed. I have an idea if you try changing the serial it will most probably not save it. and I'm sure there are other values that cannot be changed. Battery Settings { "absorptionVolt": "57.6", "battMode": "-1", "batteryCap": "100", "batteryEfficiency": "99", "batteryEmptyV": "45", "batteryImpedance": "8", "batteryLowCap": "35", "batteryLowVolt": "47.5", "batteryMaxCurrentCharge": "40", "batteryMaxCurrentDischarge": "70", "batteryOn": "1", "batteryRestartCap": "50", "batteryRestartVolt": "52", "batteryShutdownCap": "20", "batteryShutdownVolt": "46", "bmsErrStop": "0", "disableFloatCharge": "0", "equChargeCycle": "90", "equChargeTime": "0", "equVoltCharge": "57.6", "floatVolt": "55.2", "genChargeOn": "0", "genSignal": "1", "generatorBatteryCurrent": "40", "generatorForcedStart": "0", "generatorStartCap": "30", "generatorStartVolt": "49", "gridSignal": "1", "lithiumMode": "0", "lowNoiseMode": "8000", "lowPowerMode": "0", "safetyType": "0", "sdBatteryCurrent": "40", "sdChargeOn": "1", "sdStartCap": "30", "sdStartVol": "undefined", "sdStartVolt": "49", "signalIslandModeEnable": "0", "sn": "123456", "tempco": "0" } SYSTEM MODE { "battMode": "-1", "cap1": "80", "cap2": "80", "cap3": "80", "cap4": "80", "cap5": "80", "cap6": "80", "energyMode": "0", "fridayOn": true, "genTime1on": false, "genTime2on": false, "genTime3on": false, "genTime4on": false, "genTime5on": false, "genTime6on": false, "mondayOn": true, "peakAndVallery": "0", "pvMaxLimit": "5000", "safetyType": "0", "saturdayOn": true, "sellTime1": "01:00", "sellTime1Pac": "5000", "sellTime1Volt": "49", "sellTime2": "05:00", "sellTime2Pac": "5000", "sellTime2Volt": "49", "sellTime3": "09:00", "sellTime3Pac": "5000", "sellTime3Volt": "49", "sellTime4": "13:00", "sellTime4Pac": "5000", "sellTime4Volt": "49", "sellTime5": "17:00", "sellTime5Pac": "5000", "sellTime5Volt": "49", "sellTime6": "21:00", "sellTime6Pac": "5000", "sellTime6Volt": "49", "sn": "123456", "solarMaxSellPower": "6500", "solarSell": "0", "sundayOn": true, "sysWorkMode": "1", "thursdayOn": true, "time1on": true, "time2on": true, "time3on": true, "time4on": true, "time5on": true, "time6on": true, "tuesdayOn": true, "wednesdayOn": true, "zeroExportPower": "20" } GRID Settings { "acType": "0", "cQEnable": "undefined", "caFStart": "50.2", "caFStop": "-0.01", "caFwEnable": "0", "caHf1": "undefined", "caHf2": "undefined", "caHv1": "undefined", "caHv2": "undefined", "caLf1": "undefined", "caLf2": "undefined", "caLv1": "undefined", "caLv2": "undefined", "caLv3": "1850", "caVStart": "250.7", "caVStop": "253", "caVoltPressureEnable": "0", "caVwEnable": "0", "californiaFreqPressureEnable": "-1", "californiaVoltPressureEnable": "1", "euOrUl": "undefined", "fac": "0", "facHighProtect": "51.5", "facLowProtect": "48", "genConnectGrid": "0", "gridMode": "0", "gridPeakPower": "8000", "gridPeakShaving": "0", "highThrough": "115", "inverterOutputVoltage": "0", "lockInVoltVar": "20.0", "lockInWattPF": "286.8", "lockOutVoltVar": "5.0", "lockOutWattPF": "-169.0", "lowThrough": "50", "normalUpwardSlope": "60", "notGrounded": "undefined", "overFreq1": "51.5", "overFreq1Delay": "0.1", "overFreq2": "51.5", "overFreq2Delay": "0.1", "overFreqEnable": "undefined", "overLongVolt": "260", "overVolt1": "265", "overVolt1Delay": "0.1", "overVolt2": "265", "overVolt2Delay": "0.1", "pf": "1", "phase": "0", "reconnMaxFreq": "51.3", "reconnMaxVolt": "263", "reconnMinFreq": "48.2", "reconnMinVolt": "187", "recoveryTime": "60", "rsd": "1", "sn": "123456", "softStart": "60", "solar1WindInputEnable": "12", "solar2WindInputEnable": "60", "underFreq1": "48", "underFreq1Delay": "0.1", "underFreq2": "48", "underFreq2Delay": "0.1", "underVolt1": "185", "underVolt1Delay": "0.1", "underVolt2": "185", "underVolt2Delay": "0.1", "underVolt3Delay": "undefined", "vacHighProtect": "265", "vacLowProtect": "185", "varQac1": "44", "varQac2": "0", "varQac3": "0", "varQac4": "-60", "varVolt1": "90.0", "varVolt2": "95.7", "varVolt3": "104.3", "varVolt4": "112.2", "varVoltEnable": "0", "wattActivePf1": "286", "wattActivePf2": "-321", "wattActivePf3": "65", "wattActivePf4": "-170", "wattFreqEnable": "0", "wattOverExitFreq": "50.2", "wattOverExitFreqStopDelay": "0", "wattOverFreq1": "50.2", "wattOverFreq1StartDelay": "0", "wattOverWgralFreq": "40", "wattPf1": "28.677", "wattPf2": "-22.637", "wattPf3": "-32.052", "wattPf4": "-17.516", "wattPfEnable": "-6046", "wattUnderExitFreq": "49.8", "wattUnderExitFreqStopDelay": "0", "wattUnderFreq1": "49.8", "wattUnderFreq1StartDelay": "0", "wattUnderWgalFreq": "40", "wattV1": "109.0", "wattV2": "110.0", "wattV3": "111.0", "wattV4": "111.0", "wattVarActive1": "-7", "wattVarActive2": "-292", "wattVarActive3": "-48", "wattVarActive4": "-141", "wattVarEnable": "-27114", "wattVarReactive1": "-36", "wattVarReactive2": "-247", "wattVarReactive3": "94", "wattVarReactive4": "88", "wattVoltEnable": "0", "wattW1": "100", "wattW2": "20", "wattW3": "20", "wattW4": "20", "zeroExportPower": "20" } Auxiliry Load { "acCoupleFreqUpper": "52", "acCoupleOnGridSideEnable": "0", "acCoupleOnLoadSideEnable": "0", "battMode": "-1", "genConnectGrid": "0", "genMinSolar": "0", "genOffCap": "95", "genOffVolt": "51", "genOnCap": "100", "genOnVolt": "54", "genPeakPower": "8000", "genPeakShaving": "0", "gridAlwaysOn": "0", "loadMode": "0", "safetyType": "0", "sn": "123456" } Basic Settings { "ampm": "0", "autoDim": "1", "beep": "1", "sn": "123456", "timeSync": "0" } Advanced Settings { "atsEnable": "0", "atsSwitch": "0", "backupDelay": "0", "bmsErrStop": "0", "current1": "490", "current10": "0", "current11": "0", "current12": "0", "current2": "490", "current3": "490", "current4": "490", "current5": "8", "current6": "0", "current7": "0", "current8": "0", "current9": "0", "drmEnable": "0", "equipMode": "0", "exMeterCtSwitch": "0", "externalCtRatio": "2000", "genPeakPower": "8000", "genPeakShaving": "0", "gridAlwaysOn": "0", "gridPeakPower": "8000", "gridPeakShaving": "0", "gridSideINVMeter2": "0", "meterA": "0", "meterB": "0", "meterC": "0", "meterSelect": "0", "micExportGridOff": "0", "modbusSn": "1", "parallel": "0", "phase": "0", "remoteLock": "0", "sensorsCheck": "-1", "sn": "123456", "solar1WindInputEnable": "12", "solar2WindInputEnable": "60", "solarMaxSellPower": "6500", "volt1": "10.8", "volt10": "500", "volt11": "490", "volt12": "490", "volt2": "15.6", "volt3": "20.4", "volt4": "25.2", "volt5": "500", "volt6": "500", "volt7": "500", "volt8": "500", "volt9": "500" } Edited January 2, 20242 yr by MartinViljoen
January 3, 20242 yr Author Update 2.1.8 now available. https://github.com/martinville/solarsynkv2 This update lets you send inverter settings back to your inverter via HA -> SunsynkCloud -> Your inverter If you start the new updated add-on for the first time you will get the below message in the log, notifying you that it cannot find an helper entity. Manually create it as shown below. (You have to do this for all inverters if you are using multiple) After you created the Helper entity which ever value you set it to will be used to send to the Sunsynk.net cloud. There's no error checking in the value so if you just add junk the synsynk API will simply reject it with an error. As mentioned in the previous post a valid entry would be something like this. And also see the long list of possible settings that you can change. {"batteryCap": "99","facHighProtect": "51.5"} If you want to change settings using automation that are based an certain variables I.E loadshedding statuses ect ect you can add an action to your automation as shown below. Note!: The string you enter into the helper entity will only be read once the script loop based on the refresh rate that you entered. (Default is 300 secs) If you find issues with this let me know. Some settings does not like to be written by its own. I.E basic settings as a setting called {"beep":"1"} but if you send Beep only it will not write the change although its reporting success. You have to write all of the settings like so. { "ampm": "0", "autoDim": "1", "beep": "1", "sn": "2302246241", "timeSync": "1" }
January 9, 20242 yr Thank you very much for this @MartinViljoen! Very easy and quick to setup with no hardware needed. Updated Sunsynk user level to Advanced and getting 60 second updates now which for my use is more than sufficient. Getting values for 2 inverters connected in parallel, working great! For values eg. _day_pv_energy am I on the right track creating custom sensors and adding up the values from both Inverters, eg.: name: "solarsynk_(Inv 1 serial)_(Inv 2 serial)_pv_power_total" unit_of_measurement: "W" state: > {{ (((states.sensor.solarsynk_(Inv 1 serial)_pv1_power.state | float)) + ((states.sensor.solarsynk_(Inv 2 serial)_pv1_power.state | float))) | round(2) }} icon: mdi:solar-power-variant-outline Then mapping this custom sensor to eg the slipx flow chart? Thank you for this integration! Making live easy!
January 10, 20242 yr Author @Bushbaby good to know it works for you. Your way of adding them together should work fine. Off coarse if you are using multiple MPPTs then you would also have to factor in PV1 as well as PV2 for each serial number in your calculation.
January 13, 20242 yr I'm new on this Forum but thought I pop in to this thread to say thanks to you Martin for this excellent project. I'm using it for three SunSynk inverts and it works great. The only problems I have are mainly internet related. Thanks for sharing this .... Edited January 13, 20242 yr by Perfo
February 28, 20242 yr Hi, I'm new to this forum and have a SunSynk hybrid inverter and make use of this great project. Thanks Martin. I was looking for the Auxiliarly entities. I have a generator attached to this port and also would like to display them in my Home Assistant. Are they also fetched and send to Home Assistant? I can't seem to find them.
March 28, 20242 yr I've been using this for a few weeks now, seems very good. Couple of things I've noticed: After a reboot/update Entities seem to disappear from HA, but come back after a few minutes. I have a flow set up to tell me when the battery is full if battery SOC >=100 for 5 minutes then notify Over the last few days I've found it got triggered a lot. I assumed maybe something was using enough battery to pull it down to 99% then it goes back up to 100 and triggers another notification. However, looking in HA I see there are gaps in the data. This seems to have started a few days ago. Any ideas what is going on with that?
April 1, 20242 yr Author Hi, yes Sunsynk made allot of changes over the last month or so which resulted in some downtime. Also their new certificate which was renewed on the 13th of march has strange behavior. Curl would randomly not be able to verify the validity of their SSL certificate. When the addon cannot retrieve a valid API token due to the above errors it continues to try an populate values which then causes error on error. I made a few changes. 1. When there are connection errors or certificate errors It will exit to the end of the loop but not exit the loop. This will prevent the gaps you see in the above graph and keep on trying until it get's valid data. This also means any cards you have will keep showing the last value it retrieved until the problem resolves it self. 2. I unfortunately had to add the -k option to curl so that it will not validate the certificate. I don't know what's up with their certificate but something isn't right. Perhaps they have some load balancing across multiple IPs and their config is not quite setup correctly for SSL validation. 3. If there is an error, it will dump a very detailed reason for the error using the curl verbose option. The update is anow available. Most if not all the issues should now be resolved. 2024/04/01 Version "2.1.13" - Prevent add-on from continuing on connection errors. Also added the -k option to curl commands which will ignore checking if a certificate is valid. On connection error more detailed information generated by curl will be dumped. Hope this helps.
April 2, 20242 yr Great stuff, that seems to have solved it. I don't see anything unusual in the logs What's the API endpoint for the curl call?
April 2, 20242 yr @MartinViljoen this is fantastic. Thank you for your efforts. I have been trying to get NodeRed running for ages and just haven't been able to get it to work. You have mostly fixed this problem for me. I had one question: Any chance of adding support for the 3 phase units?
April 3, 20242 yr Author On 2024/04/02 at 10:29 AM, jJasG said: What's the API endpoint for the curl call? The endpoint for their api is api.sunsynk.net and their certificate was generated with a wildcard *.sunsynk.net so they use the same certificate for both the portal and api. @Daranger What would the difference be in terms of the API when it comes to normal Phase vs 3 Phase ? I gathered and created the documentation using MITM proxy in Kali Linux. So its quite possible that my setup is not showing any of the 3phase values when monitoring with a MITM proxy. Edited April 3, 20242 yr by MartinViljoen
April 10, 20242 yr Author Anyone care to vote ? With the help of a forum member I'm now able to gather data for 3Phase systems. If I combine the new changes with the existing addon it will generate extra HA entities for the extra phases. Seeing these setup are usually more industrial there will also be more MPPTs which translates to even more HA entities. also more loads per phase , again more entities. Not sure if its just me but I have OCD towards the cluttering of information that I dont need, So if it was me I would not want to see the extra entities. I can either combine or create a replica repo for 3 Phase inverters What's you opinion ?
April 10, 20242 yr 2 hours ago, MartinViljoen said: Anyone care to vote ? With the help of a forum member I'm now able to gather data for 3Phase systems. If I combine the new changes with the existing addon it will generate extra HA entities for the extra phases. Seeing these setup are usually more industrial there will also be more MPPTs which translates to even more HA entities. also more loads per phase , again more entities. Not sure if its just me but I have OCD towards the cluttering of information that I dont need, So if it was me I would not want to see the extra entities. I can either combine or create a replica repo for 3 Phase inverters What's you opinion ? Hello Martin, It would be great to potentially build your integration to have some form of settings profiles as to the system setup and how your solution processes the creation of entities. There will also be differences between the regular 3 phase systems and the 3 phase high voltage systems. It may make sense to development work of the integration in a branch for 3phase and possible 3phase hv. PS. Does your integration self clean stale entities after corrections like with the battery data? Where does your solution store the entity data and is there a reasion that you have not included unique id data for entites? If your solution uses templating then it would also be advisable to look at using the availability feature in templating to help with filtering bad data or errors.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.