jpcornil-git / HA-sma

SMA Sunny Webbox integration for Home Assistant
10 stars 4 forks source link

Data only displayed for one string #4

Closed Dividing6043 closed 1 year ago

Dividing6043 commented 1 year ago

Firstly, many thanks for this integration.

I have noticed that the integration only seems to show data for the first string. My inverter (SB 4000TL) has two strings of PV attached. Would it be possible for this integration to be updated to show the data from both strings?

image

image

jpcornil-git commented 1 year ago

Could you add the following to your configuration.yaml, restart HA and report logs ?

logger:
  default: warning
  logs:
    custom_components.sma_webbox: debug
Dividing6043 commented 1 year ago

Debug added and HA restarted. Here is the relevant log output:

2023-04-28 08:50:32.998 INFO (MainThread) [custom_components.sma_webbox] SMA Webbox instance created(192.168.1.13:34268) 2023-04-28 08:50:33.013 INFO (MainThread) [custom_components.sma_webbox.sma_webbox] UDP protocol created 2023-04-28 08:50:33.063 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {"version":"1.0","proc":"GetDevices","format":"JSON","id":"1"} 2023-04-28 08:50:33.145 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {'result': {'devices': [{'key': '004e:7d339c2d', 'name': 'SB 4000TL-20'}], 'totalDevicesReturned': 1}, 'format': 'JSON', 'proc': 'GetDevices', 'version': '1.0', 'id': '1'} 2023-04-28 08:50:34.528 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {"version":"1.0","proc":"GetProcessDataChannels","format":"JSON","id":"2","params":{"device":"004e:7d339c2d"}} 2023-04-28 08:50:35.004 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {'result': {'004e:7d339c2d': ['Ipv', 'Upv-Ist', 'Fac', 'Pac', 'Riso', 'h-On', 'h-Total', 'E-Total', 'Netz-Ein']}, 'format': 'JSON', 'proc': 'GetProcessDataChannels', 'version': '1.0', 'id': '2'} 2023-04-28 08:50:35.529 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {"version":"1.0","proc":"GetPlantOverview","format":"JSON","id":"3"} 2023-04-28 08:50:35.912 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {'result': {'overview': [{'meta': 'GriPwr', 'name': 'Power', 'unit': 'W', 'value': '404'}, {'meta': 'GriEgyTdy', 'name': 'Day yield', 'unit': 'kWh', 'value': '0.534'}, {'meta': 'GriEgyTot', 'name': 'Total yield', 'unit': 'kWh', 'value': '37270.018'}, {'meta': 'OpStt', 'name': 'Condition', 'value': 'Ok, Ok'}, {'meta': 'Msg', 'name': 'Message', 'value': ''}]}, 'format': 'JSON', 'proc': 'GetPlantOverview', 'version': '1.0', 'id': '3'} 2023-04-28 08:50:36.529 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {"version":"1.0","proc":"GetProcessData","format":"JSON","id":"4","params":{"devices":[{"key":"004e:7d339c2d","channels":["Ipv","Upv-Ist","Fac","Pac","Riso","h-On","h-Total","E-Total","Netz-Ein"]}]}} 2023-04-28 08:50:36.767 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {'result': {'devices': [{'channels': [{'meta': 'Ipv', 'name': 'DC current input', 'unit': 'A', 'value': '0.733'}, {'meta': 'Upv-Ist', 'name': 'DC voltage input', 'unit': 'V', 'value': '171.31'}, {'meta': 'Fac', 'name': 'Grid frequency', 'unit': 'Hz', 'value': '49.84'}, {'meta': 'Pac', 'name': 'Power', 'unit': 'W', 'value': '404'}, {'meta': 'Riso', 'name': 'Insulation resistance', 'unit': 'Ohm', 'value': '3000000'}, {'meta': 'h-On', 'name': 'Feed-in time', 'unit': 'h', 'value': '47186.63'}, {'meta': 'h-Total', 'name': 'Operating time', 'unit': 'h', 'value': '48645.62'}, {'meta': 'E-Total', 'name': 'Total yield', 'unit': 'kWh', 'value': '37270.016'}, {'meta': 'Netz-Ein', 'name': 'Number of grid connections', 'value': '5081'}], 'key': '004e:7d339c2d'}]}, 'format': 'JSON', 'proc': 'GetProcessData', 'version': '1.0', 'id': '4'} 2023-04-28 08:50:36.767 DEBUG (MainThread) [custom_components.sma_webbox] Finished fetching sma_webbox_coordinator data in 1.763 seconds (success: True) 2023-04-28 08:50:36.770 INFO (MainThread) [custom_components.sma_webbox.sensor] Creating sensors for 192.168.1.13:34268 sma_webbox integration 2023-04-28 08:51:06.352 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {"version":"1.0","proc":"GetPlantOverview","format":"JSON","id":"5"} 2023-04-28 08:51:06.456 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {'result': {'overview': [{'meta': 'GriPwr', 'name': 'Power', 'unit': 'W', 'value': '404'}, {'meta': 'GriEgyTdy', 'name': 'Day yield', 'unit': 'kWh', 'value': '0.534'}, {'meta': 'GriEgyTot', 'name': 'Total yield', 'unit': 'kWh', 'value': '37270.018'}, {'meta': 'OpStt', 'name': 'Condition', 'value': 'Ok, Ok'}, {'meta': 'Msg', 'name': 'Message', 'value': ''}]}, 'format': 'JSON', 'proc': 'GetPlantOverview', 'version': '1.0', 'id': '5'} 2023-04-28 08:51:07.353 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {"version":"1.0","proc":"GetProcessData","format":"JSON","id":"6","params":{"devices":[{"key":"004e:7d339c2d","channels":["Ipv","Upv-Ist","Fac","Pac","Riso","h-On","h-Total","E-Total","Netz-Ein"]}]}} 2023-04-28 08:51:07.587 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {'result': {'devices': [{'channels': [{'meta': 'Ipv', 'name': 'DC current input', 'unit': 'A', 'value': '0.733'}, {'meta': 'Upv-Ist', 'name': 'DC voltage input', 'unit': 'V', 'value': '171.31'}, {'meta': 'Fac', 'name': 'Grid frequency', 'unit': 'Hz', 'value': '49.84'}, {'meta': 'Pac', 'name': 'Power', 'unit': 'W', 'value': '404'}, {'meta': 'Riso', 'name': 'Insulation resistance', 'unit': 'Ohm', 'value': '3000000'}, {'meta': 'h-On', 'name': 'Feed-in time', 'unit': 'h', 'value': '47186.63'}, {'meta': 'h-Total', 'name': 'Operating time', 'unit': 'h', 'value': '48645.62'}, {'meta': 'E-Total', 'name': 'Total yield', 'unit': 'kWh', 'value': '37270.016'}, {'meta': 'Netz-Ein', 'name': 'Number of grid connections', 'value': '5081'}], 'key': '004e:7d339c2d'}]}, 'format': 'JSON', 'proc': 'GetProcessData', 'version': '1.0', 'id': '6'} 2023-04-28 08:51:07.588 DEBUG (MainThread) [custom_components.sma_webbox] Finished fetching sma_webbox_coordinator data in 1.236 seconds (success: True) 2023-04-28 08:51:37.352 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {"version":"1.0","proc":"GetPlantOverview","format":"JSON","id":"7"} 2023-04-28 08:51:37.452 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {'result': {'overview': [{'meta': 'GriPwr', 'name': 'Power', 'unit': 'W', 'value': '404'}, {'meta': 'GriEgyTdy', 'name': 'Day yield', 'unit': 'kWh', 'value': '0.534'}, {'meta': 'GriEgyTot', 'name': 'Total yield', 'unit': 'kWh', 'value': '37270.018'}, {'meta': 'OpStt', 'name': 'Condition', 'value': 'Ok, Ok'}, {'meta': 'Msg', 'name': 'Message', 'value': ''}]}, 'format': 'JSON', 'proc': 'GetPlantOverview', 'version': '1.0', 'id': '7'} 2023-04-28 08:51:38.353 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {"version":"1.0","proc":"GetProcessData","format":"JSON","id":"8","params":{"devices":[{"key":"004e:7d339c2d","channels":["Ipv","Upv-Ist","Fac","Pac","Riso","h-On","h-Total","E-Total","Netz-Ein"]}]}} 2023-04-28 08:51:38.590 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {'result': {'devices': [{'channels': [{'meta': 'Ipv', 'name': 'DC current input', 'unit': 'A', 'value': '0.733'}, {'meta': 'Upv-Ist', 'name': 'DC voltage input', 'unit': 'V', 'value': '171.31'}, {'meta': 'Fac', 'name': 'Grid frequency', 'unit': 'Hz', 'value': '49.84'}, {'meta': 'Pac', 'name': 'Power', 'unit': 'W', 'value': '404'}, {'meta': 'Riso', 'name': 'Insulation resistance', 'unit': 'Ohm', 'value': '3000000'}, {'meta': 'h-On', 'name': 'Feed-in time', 'unit': 'h', 'value': '47186.63'}, {'meta': 'h-Total', 'name': 'Operating time', 'unit': 'h', 'value': '48645.62'}, {'meta': 'E-Total', 'name': 'Total yield', 'unit': 'kWh', 'value': '37270.016'}, {'meta': 'Netz-Ein', 'name': 'Number of grid connections', 'value': '5081'}], 'key': '004e:7d339c2d'}]}, 'format': 'JSON', 'proc': 'GetProcessData', 'version': '1.0', 'id': '8'} 2023-04-28 08:51:38.590 DEBUG (MainThread) [custom_components.sma_webbox] Finished fetching sma_webbox_coordinator data in 1.239 seconds (success: True) 2023-04-28 08:52:08.351 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {"version":"1.0","proc":"GetPlantOverview","format":"JSON","id":"9"} 2023-04-28 08:52:08.449 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {'result': {'overview': [{'meta': 'GriPwr', 'name': 'Power', 'unit': 'W', 'value': '511'}, {'meta': 'GriEgyTdy', 'name': 'Day yield', 'unit': 'kWh', 'value': '0.556'}, {'meta': 'GriEgyTot', 'name': 'Total yield', 'unit': 'kWh', 'value': '37270.04'}, {'meta': 'OpStt', 'name': 'Condition', 'value': 'Ok, Ok'}, {'meta': 'Msg', 'name': 'Message', 'value': ''}]}, 'format': 'JSON', 'proc': 'GetPlantOverview', 'version': '1.0', 'id': '9'} 2023-04-28 08:52:09.353 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {"version":"1.0","proc":"GetProcessData","format":"JSON","id":"10","params":{"devices":[{"key":"004e:7d339c2d","channels":["Ipv","Upv-Ist","Fac","Pac","Riso","h-On","h-Total","E-Total","Netz-Ein"]}]}} 2023-04-28 08:52:09.587 DEBUG (MainThread) [custom_components.sma_webbox.sma_webbox] {'result': {'devices': [{'channels': [{'meta': 'Ipv', 'name': 'DC current input', 'unit': 'A', 'value': '0.937'}, {'meta': 'Upv-Ist', 'name': 'DC voltage input', 'unit': 'V', 'value': '171.29'}, {'meta': 'Fac', 'name': 'Grid frequency', 'unit': 'Hz', 'value': '50.03'}, {'meta': 'Pac', 'name': 'Power', 'unit': 'W', 'value': '511'}, {'meta': 'Riso', 'name': 'Insulation resistance', 'unit': 'Ohm', 'value': '3000000'}, {'meta': 'h-On', 'name': 'Feed-in time', 'unit': 'h', 'value': '47186.67'}, {'meta': 'h-Total', 'name': 'Operating time', 'unit': 'h', 'value': '48645.66'}, {'meta': 'E-Total', 'name': 'Total yield', 'unit': 'kWh', 'value': '37270.04'}, {'meta': 'Netz-Ein', 'name': 'Number of grid connections', 'value': '5081'}], 'key': '004e:7d339c2d'}]}, 'format': 'JSON', 'proc': 'GetProcessData', 'version': '1.0', 'id': '10'} 2023-04-28 08:52:09.588 DEBUG (MainThread) [custom_components.sma_webbox] Finished fetching sma_webbox_coordinator data in 1.237 seconds (success: True)

jpcornil-git commented 1 year ago

Thanks for the log, I only see one device returnd by the webbox, see parsed resuts below (GetDevices only return one device)

{
  "version":"1.0",
  "proc":"GetDevices",
  "format":"JSON",
  "id":"1"
}
{'result': {
    'devices': [
      {
        'key': '004e:7d339c2d',
        'name': 'SB 4000TL-20'
      }
    ],
    'totalDevicesReturned': 1
  },
 'format': 'JSON',
 'proc': 'GetDevices',
 'version': '1.0',
 'id': '1'
}

{
  "version":"1.0",
  "proc":"GetProcessDataChannels",
  "format":"JSON",
  "id":"2",
  "params":{"device":"004e:7d339c2d"}
}
{
  'result': {
    '004e:7d339c2d': [
      'Ipv', 'Upv-Ist', 'Fac', 'Pac', 'Riso', 'h-On', 'h-Total', 'E-Total', 'Netz-Ein'
    ]
  },
  'format': 'JSON',
  'proc': 'GetProcessDataChannels',
  'version': '1.0',
  'id': '2'
}

{
  "version":"1.0",
  "proc":"GetPlantOverview",
  "format":"JSON",
  "id":"3"
}
{
  'result': {
    'overview': [
      {'meta': 'GriPwr', 'name': 'Power', 'unit': 'W', 'value': '404'},
      {'meta': 'GriEgyTdy', 'name': 'Day yield', 'unit': 'kWh', 'value': '0.534'},
      {'meta': 'GriEgyTot', 'name': 'Total yield', 'unit': 'kWh', 'value': '37270.018'},
      {'meta': 'OpStt', 'name': 'Condition', 'value': 'Ok, Ok'},
      {'meta': 'Msg', 'name': 'Message', 'value': ''}
    ]
  },
  'format': 'JSON',
  'proc': 'GetPlantOverview',
  'version': '1.0',
  'id': '3'
}

{
  "version":"1.0",
  "proc":"GetProcessData",
  "format":"JSON",
  "id":"4",
  "params":{
    "devices":[
      {
        "key":"004e:7d339c2d",
        "channels":["Ipv","Upv-Ist","Fac","Pac","Riso","h-On","h-Total","E-Total","Netz-Ein"]
      }
    ]
  }
}
{
  'result':
    {
      'devices': [
        {
          'channels': [
            {'meta': 'Ipv', 'name': 'DC current input', 'unit': 'A', 'value': '0.733'},
            {'meta': 'Upv-Ist', 'name': 'DC voltage input', 'unit': 'V', 'value': '171.31'},
            {'meta': 'Fac', 'name': 'Grid frequency', 'unit': 'Hz', 'value': '49.84'},
            {'meta': 'Pac', 'name': 'Power', 'unit': 'W', 'value': '404'},
            {'meta': 'Riso', 'name': 'Insulation resistance', 'unit': 'Ohm', 'value': '3000000'},
            {'meta': 'h-On', 'name': 'Feed-in time', 'unit': 'h', 'value': '47186.63'},
            {'meta': 'h-Total', 'name': 'Operating time', 'unit': 'h', 'value': '48645.62'},
            {'meta': 'E-Total', 'name': 'Total yield', 'unit': 'kWh', 'value': '37270.016'},
            {'meta': 'Netz-Ein', 'name': 'Number of grid connections', 'value': '5081'}
          ],
          'key': '004e:7d339c2d'}]},
          'format': 'JSON',
          'proc': 'GetProcessData',
          'version': '1.0',
          'id': '4'
}
Dividing6043 commented 1 year ago

One device is correct. I only have one inverter. However, the PV is connected as two strings to this inverter. You can see these as [A] and [B] in the first image in my initial post. I was hoping that this data would be exposed and available for the integration to use.

jpcornil-git commented 1 year ago

As you can see, the "GetProcessDataChannels" RPC call for the inverter device returns one single set of current/voltage channels for the DC side (Ipv/Upv-Ist) while I would expect two if both strings were effectively reported.

I guess it is a limitation of the webbox implementation/current firmware ...