SolarMD and Home Assistant

DuncThePunk

Active Member
Joined
Dec 11, 2014
Messages
48
Reaction score
42
Some good news for anyone with a SolarMD installation: My logger seemed to get a firmware update over the weekend and how supports MQTT. Spend an hour or two setting it all up and have gotten my energy dashboard working perfectly.

Access is available to just about every value the system can provide. The only thing I still need them to do is allow me to enable the Load Shedding Prep switch via Home Assistant for those annoying 4am load shedding sessions when the batteries are dead already.

1637088236642.png

Tomorrow will have a full day's data and will be more accurate. I have been using Energy clamps to monitor Eskom input and inverter output up until now and made some template sensors to closely approximate usage, but now it's coming direct from source and is working beautifully!

Just a FYI for anyone else who has been waiting for this for ever.
 
What inverters are compatible with SolarMD?
 
Some good news for anyone with a SolarMD installation: My logger seemed to get a firmware update over the weekend and how supports MQTT. Spend an hour or two setting it all up and have gotten my energy dashboard working perfectly.

Access is available to just about every value the system can provide. The only thing I still need them to do is allow me to enable the Load Shedding Prep switch via Home Assistant for those annoying 4am load shedding sessions when the batteries are dead already.

View attachment 1194290

Tomorrow will have a full day's data and will be more accurate. I have been using Energy clamps to monitor Eskom input and inverter output up until now and made some template sensors to closely approximate usage, but now it's coming direct from source and is working beautifully!

Just a FYI for anyone else who has been waiting for this for ever.
Hi, i'm not very clued up with these things, but recently there has been a solarman integration added in HACS that I downloaded and managed to setup. I have the new Sunsynk logger (previously used Solarman logger). For the Solarman intergration to work, I had to use my old (Solarman) logger again. I do have a SolarMD logger connected as well. In a perfect world I would prefer to have the new Sunsynk logger connected to my inverter as it allows for remote control of my system and then would like to get data fed to HA via the SolarMD logger. So, what I would appreciate some help with is a walkthrough on how you did the MQTT setup from SolarMD to HA :)
 
Hi, i'm not very clued up with these things, but recently there has been a solarman integration added in HACS that I downloaded and managed to setup. I have the new Sunsynk logger (previously used Solarman logger). For the Solarman intergration to work, I had to use my old (Solarman) logger again. I do have a SolarMD logger connected as well. In a perfect world I would prefer to have the new Sunsynk logger connected to my inverter as it allows for remote control of my system and then would like to get data fed to HA via the SolarMD logger. So, what I would appreciate some help with is a walkthrough on how you did the MQTT setup from SolarMD to HA :)
Hi,

I just enabled the MQTT function on the logger and told it to send data to my MQTT broker on HA.

I then used MQTT explorer to go into the broker and see what data I was getting from the logger. With that, I created these sensors in HA:

#SolarMD Inverter
- platform: mqtt
name: "SolarMD Battery Bank Capacity"
state_topic: "solarmd/energy/outputEnergy/bank1"
unit_of_measurement: "%"
value_template: "{{ value_json.capacityP | round(0) }}"
- platform: mqtt
name: "SolarMD Inverter Grid Power"
state_topic: "solarmd/power/outputPower/grid"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "SolarMD Inverter Load Power"
state_topic: "solarmd/power/outputPower/load"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "SolarMD Inverter Solar Power"
state_topic: "solarmd/power/outputPower/pv"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "Battery Raw Power Out"
state_topic: "solarmd/power/outputPower/bank1-dischargingPower"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "Battery Raw Power In"
state_topic: "solarmd/energy/outputEnergy/bank1"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "Grid Available"
state_topic: "solarmd/power/outputPower/grid"
value_template: "{{ value_json.available }}"
- platform: mqtt
name: "Solar Available"
state_topic: "solarmd/power/outputPower/pv"
value_template: "{{ value_json.available }}"
- platform: template
sensors:
solarmd_inverter_battery_power_out:
friendly_name: SolarMD Inverter Battery Power Out
unit_of_measurement: "W"
value_template: >-
{% set solarmd_inverter_battery_power_out = ((states('sensor.battery_raw_power_out'))) | int %}
{{ ([0, solarmd_inverter_battery_power_out,]|sort)[1] }}

I also created these template sensors to clean up the data a bit so I could make better gauges and use it better in the HA energy dashboard:

- platform: template
sensors:
solarmd_inverter_battery_power_in:
friendly_name: SolarMD Inverter Battery Power In
unit_of_measurement: "W"
value_template: >-
{% set solarmd_inverter_battery_power_in = ((states('sensor.battery_raw_power_in'))) | int %}
{{ ([0, solarmd_inverter_battery_power_in,]|sort)[1] }}

My energy dashboard is looking like this now. I have notices that the grid power used reported by the logger is about 10-12% lower than my meter is reporting, but it's ok and helps me keep an eye on energy usage. I also have several automations that only trigger then I'm making enough solar to cover it (like pool pump, geyser in summer) etc. Super cool!

1644180594479.png

Let me know if you need more help.
 
Hi,

I just enabled the MQTT function on the logger and told it to send data to my MQTT broker on HA.

I then used MQTT explorer to go into the broker and see what data I was getting from the logger. With that, I created these sensors in HA:

#SolarMD Inverter
- platform: mqtt
name: "SolarMD Battery Bank Capacity"
state_topic: "solarmd/energy/outputEnergy/bank1"
unit_of_measurement: "%"
value_template: "{{ value_json.capacityP | round(0) }}"
- platform: mqtt
name: "SolarMD Inverter Grid Power"
state_topic: "solarmd/power/outputPower/grid"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "SolarMD Inverter Load Power"
state_topic: "solarmd/power/outputPower/load"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "SolarMD Inverter Solar Power"
state_topic: "solarmd/power/outputPower/pv"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "Battery Raw Power Out"
state_topic: "solarmd/power/outputPower/bank1-dischargingPower"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "Battery Raw Power In"
state_topic: "solarmd/energy/outputEnergy/bank1"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "Grid Available"
state_topic: "solarmd/power/outputPower/grid"
value_template: "{{ value_json.available }}"
- platform: mqtt
name: "Solar Available"
state_topic: "solarmd/power/outputPower/pv"
value_template: "{{ value_json.available }}"
- platform: template
sensors:
solarmd_inverter_battery_power_out:
friendly_name: SolarMD Inverter Battery Power Out
unit_of_measurement: "W"
value_template: >-
{% set solarmd_inverter_battery_power_out = ((states('sensor.battery_raw_power_out'))) | int %}
{{ ([0, solarmd_inverter_battery_power_out,]|sort)[1] }}

I also created these template sensors to clean up the data a bit so I could make better gauges and use it better in the HA energy dashboard:

- platform: template
sensors:
solarmd_inverter_battery_power_in:
friendly_name: SolarMD Inverter Battery Power In
unit_of_measurement: "W"
value_template: >-
{% set solarmd_inverter_battery_power_in = ((states('sensor.battery_raw_power_in'))) | int %}
{{ ([0, solarmd_inverter_battery_power_in,]|sort)[1] }}

My energy dashboard is looking like this now. I have notices that the grid power used reported by the logger is about 10-12% lower than my meter is reporting, but it's ok and helps me keep an eye on energy usage. I also have several automations that only trigger then I'm making enough solar to cover it (like pool pump, geyser in summer) etc. Super cool!

View attachment 1239586

Let me know if you need more help.
WOW !! Thanks for this detailed response - definitely going to play around with it over the weekend. I have also been doing some automations taking PV production vs House Load into account and only run certain things like pool pump when I have spare capacity to do so. Keeping in mind that PV production drops based on load once batteries are full, I used something like this to determine if my PV production is too close to my current load. Once the number stays below 1.25 for a set amount of time, the automation switches on the pool pump to make use of possible extra solar harvest. Once the number exceeds 1.5 for a set amount of time, the automations switches off pool pump
{{(states('sensor.sunsynk_total_load_power')|float) / (states('sensor.solar_power_total')|float)}}"
Probably not the most elegant solution... But it works :)
 
Hi,

I just enabled the MQTT function on the logger and told it to send data to my MQTT broker on HA.

I then used MQTT explorer to go into the broker and see what data I was getting from the logger. With that, I created these sensors in HA:

#SolarMD Inverter
- platform: mqtt
name: "SolarMD Battery Bank Capacity"
state_topic: "solarmd/energy/outputEnergy/bank1"
unit_of_measurement: "%"
value_template: "{{ value_json.capacityP | round(0) }}"
- platform: mqtt
name: "SolarMD Inverter Grid Power"
state_topic: "solarmd/power/outputPower/grid"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "SolarMD Inverter Load Power"
state_topic: "solarmd/power/outputPower/load"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "SolarMD Inverter Solar Power"
state_topic: "solarmd/power/outputPower/pv"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "Battery Raw Power Out"
state_topic: "solarmd/power/outputPower/bank1-dischargingPower"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "Battery Raw Power In"
state_topic: "solarmd/energy/outputEnergy/bank1"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "Grid Available"
state_topic: "solarmd/power/outputPower/grid"
value_template: "{{ value_json.available }}"
- platform: mqtt
name: "Solar Available"
state_topic: "solarmd/power/outputPower/pv"
value_template: "{{ value_json.available }}"
- platform: template
sensors:
solarmd_inverter_battery_power_out:
friendly_name: SolarMD Inverter Battery Power Out
unit_of_measurement: "W"
value_template: >-
{% set solarmd_inverter_battery_power_out = ((states('sensor.battery_raw_power_out'))) | int %}
{{ ([0, solarmd_inverter_battery_power_out,]|sort)[1] }}

I also created these template sensors to clean up the data a bit so I could make better gauges and use it better in the HA energy dashboard:

- platform: template
sensors:
solarmd_inverter_battery_power_in:
friendly_name: SolarMD Inverter Battery Power In
unit_of_measurement: "W"
value_template: >-
{% set solarmd_inverter_battery_power_in = ((states('sensor.battery_raw_power_in'))) | int %}
{{ ([0, solarmd_inverter_battery_power_in,]|sort)[1] }}

My energy dashboard is looking like this now. I have notices that the grid power used reported by the logger is about 10-12% lower than my meter is reporting, but it's ok and helps me keep an eye on energy usage. I also have several automations that only trigger then I'm making enough solar to cover it (like pool pump, geyser in summer) etc. Super cool!

View attachment 1239586

Let me know if you need more help.
Very cool. Can I ask how you got the radials into the Energy dashbaord? If it's a custom dashboard, how do you get the default HA energy into it? Thx in advance,
 
Hi,

There is the YAML for my card pane:

YAML:
type: horizontal-stack
cards:
  - type: gauge
    min: 0
    max: 100
    entity: sensor.solarmd_battery_bank_capacity
    name: Battery Level
    needle: true
    severity:
      green: 66
      yellow: 33
      red: 0
  - type: gauge
    view_layout:
      position: sidebar
    max: 5000
    entity: sensor.battery_raw_power_in
    needle: true
    min: -5000
    severity:
      green: 1
      yellow: -5000
      red: 0
    name: Battery Activity
  - type: gauge
    min: 0
    entity: sensor.solarmd_inverter_grid_power
    name: Eskom Power
    max: 8000
    needle: true
    severity:
      green: 0
      yellow: 2666
      red: 5333
  - type: gauge
    min: 0
    max: 8000
    entity: sensor.solarmd_inverter_load_power
    name: House Power
    needle: true
    severity:
      green: 0
      yellow: 2666
      red: 5333
  - type: gauge
    view_layout:
      position: sidebar
    min: 0
    name: Solar Production
    needle: true
    entity: sensor.solarmd_inverter_solar_power
    max: 5000
    severity:
      green: 1
      yellow: 0
      red: 0
  - type: gauge
    entity: sensor.coct_loadshedding_stage
    min: 0
    name: Load Shedding
    needle: true
    severity:
      green: 0
      yellow: 1
      red: 3
    max: 4

1660820739900.png
 
Hi,

There is the YAML for my card pane:

YAML:
type: horizontal-stack
cards:
- type: gauge
min: 0
max: 100
entity: sensor.solarmd_battery_bank_capacity
name: Battery Level
needle: true
severity:
green: 66
yellow: 33
red: 0
- type: gauge
view_layout:
position: sidebar
max: 5000
entity: sensor.battery_raw_power_in
needle: true
min: -5000
severity:
green: 1
yellow: -5000
red: 0
name: Battery Activity
- type: gauge
min: 0
entity: sensor.solarmd_inverter_grid_power
name: Eskom Power
max: 8000
needle: true
severity:
green: 0
yellow: 2666
red: 5333
- type: gauge
min: 0
max: 8000
entity: sensor.solarmd_inverter_load_power
name: House Power
needle: true
severity:
green: 0
yellow: 2666
red: 5333
- type: gauge
view_layout:
position: sidebar
min: 0
name: Solar Production
needle: true
entity: sensor.solarmd_inverter_solar_power
max: 5000
severity:
green: 1
yellow: 0
red: 0
- type: gauge
entity: sensor.coct_loadshedding_stage
min: 0
name: Load Shedding
needle: true
severity:
green: 0
yellow: 1
red: 3
max: 4

View attachment 1367309
And a public thanks to you again for it. Got it setup , just a few more to change.

Picked up one big issue in that those new radials all get squashed when viewing on mobile , but it's not a biggie.

I have these mushroom chips on my home dashboard that gives the deets IMG_20220820_124020.jpg
 
Hi,

An Update:

After waiting for years for SolarMD to enable "Load Shedding Prep" via MQTT so I can automate it, and not have wait up until after power comes back on at midnight to manually start the batteries charging again for the next 4am load shedding sesh, I took matters into my own hands.

I set up Solar Assistant on an old Pi 3, disconnected the inverters from the SolarMD logger (serial) and connected them to Solar Assistant via USB. I then integrated Solar Assistant into HA and everything is perfection.

It took a bit of tweaking to get it all right. The SolarMD batteries use a CAN bus to communicate which wouldn't work with Solar Assistant. So I left the SolarMD batteries connected to the SolarMD logger which sends data into HA via MQTT and just connected the inverters to Solar Assistant. It's critical to get your float and absorption charge voltages right so it doesn't over charge the batteries (the values in the SolarMD manuasl are not correct!), but it's been working for a week now (through a pretty heinous load shedding patch) flawlessly.

I have an automaton that switches to utility charging 45 mins before load shedding starts (as provided by the awesome COCT Load Shedding Integration) and then switches to SBU 1 minute before load shedding starts to prevent the quick drop in voltage when a dirty switchover happens if the grid suddenly disappears. This sometimes makes my HT Receiver drop which kills whatever I'm watching which is irritating (first world problem for sure!) but I thought if I could automated that problem away, then why not!

I can also control when the inverters switch to SBU now much more efficiently that using the SolarMD "AI" thing which seems pretty random sometime and is terribly inefficient. I can now switch to SBU based on many different sensors via HA (and back to grid when needed). SolarMD used to switch off Utility to SBU around 70-75% SOC which meant that my batteries were full around 11am and I wasted all the lovely sun that I wasn't actually using for the rest of the day. I used to manually turn off Eskom at the meter during summer because I'm a maximiser and inefficiency like that drives me up the wall. All fixed now!

Very stoked with Solar Assistant. It is a R900 additional purchase (plus a Pi if you don't have one) but to me, this is what Home Automation is all about. Making the stupid annoying stuff just go away. Well worth it!

I am waiting on a fix from Solar Assistant to allow me to change the Grid Charge Current via HA. It gives an error at the moment, but I see the next beta already has some fixes for MQTT control so I hope this is sorted soon. Not being able to do this means I have to set it at max for a quick charge when needed for Load Shedding, but the inverters are powered only by battery so they consume around 120W all night and can run the batteries too low if I don't do quick small top up charge cycles. Being able to Adjust the Grid Charge would mean I can set it to 2A and use Utility and Solar at night so it would charge very slowly at night and compensate for this 120W inverter usage, but the taps could be opened up by HA when load shedding is coming so it can charge enough to get the through.
 
Hi,

An Update:

After waiting for years for SolarMD to enable "Load Shedding Prep" via MQTT so I can automate it, and not have wait up until after power comes back on at midnight to manually start the batteries charging again for the next 4am load shedding sesh, I took matters into my own hands.

I set up Solar Assistant on an old Pi 3, disconnected the inverters from the SolarMD logger (serial) and connected them to Solar Assistant via USB. I then integrated Solar Assistant into HA and everything is perfection.

It took a bit of tweaking to get it all right. The SolarMD batteries use a CAN bus to communicate which wouldn't work with Solar Assistant. So I left the SolarMD batteries connected to the SolarMD logger which sends data into HA via MQTT and just connected the inverters to Solar Assistant. It's critical to get your float and absorption charge voltages right so it doesn't over charge the batteries (the values in the SolarMD manuasl are not correct!), but it's been working for a week now (through a pretty heinous load shedding patch) flawlessly.

I have an automaton that switches to utility charging 45 mins before load shedding starts (as provided by the awesome COCT Load Shedding Integration) and then switches to SBU 1 minute before load shedding starts to prevent the quick drop in voltage when a dirty switchover happens if the grid suddenly disappears. This sometimes makes my HT Receiver drop which kills whatever I'm watching which is irritating (first world problem for sure!) but I thought if I could automated that problem away, then why not!

I can also control when the inverters switch to SBU now much more efficiently that using the SolarMD "AI" thing which seems pretty random sometime and is terribly inefficient. I can now switch to SBU based on many different sensors via HA (and back to grid when needed). SolarMD used to switch off Utility to SBU around 70-75% SOC which meant that my batteries were full around 11am and I wasted all the lovely sun that I wasn't actually using for the rest of the day. I used to manually turn off Eskom at the meter during summer because I'm a maximiser and inefficiency like that drives me up the wall. All fixed now!

Very stoked with Solar Assistant. It is a R900 additional purchase (plus a Pi if you don't have one) but to me, this is what Home Automation is all about. Making the stupid annoying stuff just go away. Well worth it!

I am waiting on a fix from Solar Assistant to allow me to change the Grid Charge Current via HA. It gives an error at the moment, but I see the next beta already has some fixes for MQTT control so I hope this is sorted soon. Not being able to do this means I have to set it at max for a quick charge when needed for Load Shedding, but the inverters are powered only by battery so they consume around 120W all night and can run the batteries too low if I don't do quick small top up charge cycles. Being able to Adjust the Grid Charge would mean I can set it to 2A and use Utility and Solar at night so it would charge very slowly at night and compensate for this 120W inverter usage, but the taps could be opened up by HA when load shedding is coming so it can charge enough to get the through.
I love this - as you say - the perfect example of home automation making things easier. I also love how responsive to suggestions and feedback the SA team is
 
Hi,

I just enabled the MQTT function on the logger and told it to send data to my MQTT broker on HA.

I then used MQTT explorer to go into the broker and see what data I was getting from the logger. With that, I created these sensors in HA:

#SolarMD Inverter
- platform: mqtt
name: "SolarMD Battery Bank Capacity"
state_topic: "solarmd/energy/outputEnergy/bank1"
unit_of_measurement: "%"
value_template: "{{ value_json.capacityP | round(0) }}"
- platform: mqtt
name: "SolarMD Inverter Grid Power"
state_topic: "solarmd/power/outputPower/grid"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "SolarMD Inverter Load Power"
state_topic: "solarmd/power/outputPower/load"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "SolarMD Inverter Solar Power"
state_topic: "solarmd/power/outputPower/pv"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "Battery Raw Power Out"
state_topic: "solarmd/power/outputPower/bank1-dischargingPower"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "Battery Raw Power In"
state_topic: "solarmd/energy/outputEnergy/bank1"
unit_of_measurement: "W"
value_template: "{{ value_json.powerW | round(0) }}"
- platform: mqtt
name: "Grid Available"
state_topic: "solarmd/power/outputPower/grid"
value_template: "{{ value_json.available }}"
- platform: mqtt
name: "Solar Available"
state_topic: "solarmd/power/outputPower/pv"
value_template: "{{ value_json.available }}"
- platform: template
sensors:
solarmd_inverter_battery_power_out:
friendly_name: SolarMD Inverter Battery Power Out
unit_of_measurement: "W"
value_template: >-
{% set solarmd_inverter_battery_power_out = ((states('sensor.battery_raw_power_out'))) | int %}
{{ ([0, solarmd_inverter_battery_power_out,]|sort)[1] }}

I also created these template sensors to clean up the data a bit so I could make better gauges and use it better in the HA energy dashboard:

- platform: template
sensors:
solarmd_inverter_battery_power_in:
friendly_name: SolarMD Inverter Battery Power In
unit_of_measurement: "W"
value_template: >-
{% set solarmd_inverter_battery_power_in = ((states('sensor.battery_raw_power_in'))) | int %}
{{ ([0, solarmd_inverter_battery_power_in,]|sort)[1] }}

My energy dashboard is looking like this now. I have notices that the grid power used reported by the logger is about 10-12% lower than my meter is reporting, but it's ok and helps me keep an eye on energy usage. I also have several automations that only trigger then I'm making enough solar to cover it (like pool pump, geyser in summer) etc. Super cool!

View attachment 1239586

Let me know if you need more help.
I am wondering if you can help me, I have recently started playing with Home Assistant. I have set up the MQTT broker and I see the information from the SolarMD logger but what I am struggling with is where and how do you create the MQTT sensors? I read the documentation on home assistants website and I cant figure out is, do you physical put the code as is into the config.yaml file or how do you create the sensors. I am a complete noob with HA.
 
I am wondering if you can help me, I have recently started playing with Home Assistant. I have set up the MQTT broker and I see the information from the SolarMD logger but what I am struggling with is where and how do you create the MQTT sensors? I read the documentation on home assistants website and I cant figure out is, do you physical put the code as is into the config.yaml file or how do you create the sensors. I am a complete noob with HA.

Open File Editor
Edit your config.yaml file to include the following

mqtt: !include mqtt.yaml

Then again in File Editor, create a new file and call it mqtt.yaml. Cut and paste the following :
YAML:
sensor:

#SolarMD Sensors

- name: "SolarMD Battery Bank Capacity"
  unique_id: '0a7476cc-d6c1-40ba-8ae1-606518c3498f'
  state_topic: "solarmd/energy/outputEnergy/bank1"
  unit_of_measurement: "%"
  value_template: "{{ value_json.capacityP | round(0) }}"

That will give you the battery percentage which is all I use it for ( may ditch it one day as I also get this info from the inverter via an ESP32 ).

You can add other metrics as well. I can send you the full file. Note that some bits will work, some require a serial number, other bits won't work, as all of this is setup dependent i.e. if your inverter is using it's own logger/dongle instead of the SolarMD logger, not all the metrics will pull through. So be selective if needs be instead of adding all of them
 
Last edited:
Open File Editor
Edit your config.yaml file to include the following

mqtt: !include mqtt.yaml

Then again in File Editor, create a new file and call it mqtt.yaml. Cut and paste the following :
YAML:
sensor:

#SolarMD Sensors

- name: "SolarMD Battery Bank Capacity"
  unique_id: '0a7476cc-d6c1-40ba-8ae1-606518c3498f'
  state_topic: "solarmd/energy/outputEnergy/bank1"
  unit_of_measurement: "%"
  value_template: "{{ value_json.capacityP | round(0) }}"

That will give you the battery percentage which is all I use it for ( may ditch it one day as I also get this info from the inverter via an ESP32 ).

You can add other metrics as well. I can send you the full file. Note that some bits will work, some require a serial number, other bits won't work, as all of this is setup dependent i.e. if your inverter is using it's own logger/dongle instead of the SolarMD logger, not all the metrics will pull through. So be selective if needs be instead of adding all of them
Awesome, thank you for the help, I will give it a bash and see if i can get it to come right.
 
Awesome, thank you for the help, I will give it a bash and see if i can get it to come right.
So after running HA on an orange Pi for almost 6 months without any issue, I have transitioned to a windows machine with a VM (VirtualBox) running my HA installation. It seems I have run into some connectivity issue between my Mosquito broker and the SolarMD logger. It just doesn't connect to the client. The virtual box setup is bridged to my windows host machine and I have turned off the firewall completely.

Does anyone have any experience with running a HA install on a VM?

All the devices are on the same network and I can connect to my HA installation from another PC.

Thank you
 
So after running HA on an orange Pi for almost 6 months without any issue, I have transitioned to a windows machine with a VM (VirtualBox) running my HA installation. It seems I have run into some connectivity issue between my Mosquito broker and the SolarMD logger. It just doesn't connect to the client. The virtual box setup is bridged to my windows host machine and I have turned off the firewall completely.

Does anyone have any experience with running a HA install on a VM?

All the devices are on the same network and I can connect to my HA installation from another PC.

Thank you
How did you do the HA on VM install? Is it HA-OS or what type of install? Also, even if window firewall is turned off, what type of VM software you using? That could have a firewall too.
 
So after running HA on an orange Pi for almost 6 months without any issue, I have transitioned to a windows machine with a VM (VirtualBox) running my HA installation. It seems I have run into some connectivity issue between my Mosquito broker and the SolarMD logger. It just doesn't connect to the client. The virtual box setup is bridged to my windows host machine and I have turned off the firewall completely.

Does anyone have any experience with running a HA install on a VM?

All the devices are on the same network and I can connect to my HA installation from another PC.

Thank you

As a first guess :

Assuming you're hosting the MQTT Broker in your HA instance, has the IP address / URI of your HA instance ( and therefore your MQTT Broker ) changed as result of the new install ? If so, you'd need to update that on the Logger side so that it's sending info to the right place.
 
As a first guess :

Assuming you're hosting the MQTT Broker in your HA instance, has the IP address / URI of your HA instance ( and therefore your MQTT Broker ) changed as result of the new install ? If so, you'd need to update that on the Logger side so that it's sending info to the right place.
So it turns out rebooting the logger seemed to sort out all the issues. I powered it off and restarted it and it seemed to accept the settings such as username and ip address etc. What I didnt know was for some reason before the reboot it just did not accept the setting even though it said accepted. I also created a new user for mqtt in HA and changed the version protocol on the logger to match that of the mosquito broker. Not sure that was the solution but the reboot definitely sorted the issue out.

Yes the IP did change due to the new install and it wasn't accepting my new settings.

Thank you for the help.
 
Top
Sign up to the MyBroadband newsletter
X