[523] SUPPORT FOR SOLARMAX PV-INVERTER

Use this forum to discuss possible implementation of a new feature before opening a ticket.
A developer shall edit the topic title with "[xxx]" where xxx is the id of the accompanying tracker id.
Duplicate posts about the same id. +1 posts are not allowed.

Moderators: leecollings, remb0

Post Reply
Itschi
Posts: 18
Joined: Saturday 16 May 2015 14:58
Target OS: Windows
Domoticz version:
Contact:

[523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by Itschi »

Hi, not sure whether I understood the posting rules while posting a tracker first. Appologies if I'm doing wrong!

I was stunned reading about the SolarEdge Support in this forum. Beside a SolarEdge Inverter I'm also running a SolarMax Inverter that comes with a simple LAN UDP-Interface. I've done an implementation in Delphi. All you need to do is sending a UDP request string to the inverters IP on a specific port (12345 in my case). The inverters respons string sends the values of the requested data fields in ascii. This is a example:

Send: '{FB;01;1E|64:KDY;KT0;PAC|0672}'

Receive: 'KDY=A3;KT0=1689;PAC=570'

The values are in hex.

KDY=energy today in Wh
KT0=energy total (energy produced since installation or reset ;-))
PAC=AC current power

There are a lot more parameters that can be requested, however these are the ones that really matter to me. At http://blog.dest-unreach.be/2009/04/15/ ... ent-page-2 a more detailed discussion on the protocoll can be found. I'd be hayppy to do any testing on experimental code or could even expose my SolarMax to the internet for testing purposes. Unfortunatly it's only responding during power production. So no chance to test at night :-(.
User avatar
gizmocuz
Posts: 2350
Joined: Thursday 11 July 2013 18:59
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: Top of the world
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by gizmocuz »

Could it be that in the forum they talk about TCP ? (Not UDP)

you might be able to write a small bash file that reads the values,
and then send it to domoticz via the json interface

It might also be possible that SBFSpot supports this inverter? We do have an SBFSpot implementation in domoticz
Quality outlives Quantity!
Itschi
Posts: 18
Joined: Saturday 16 May 2015 14:58
Target OS: Windows
Domoticz version:
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by Itschi »

gizmocuz wrote:Could it be that in the forum they talk about TCP ? (Not UDP)

you might be able to write a small bash file that reads the values,
and then send it to domoticz via the json interface

It might also be possible that SBFSpot supports this inverter? We do have an SBFSpot implementation in domoticz
You're right, it's TCP. I already wrote a small program that updates domoticz via the json interface. However I'd find it great to have a native support for that. SBFSpot seems to support SMA inverters only.
User avatar
gizmocuz
Posts: 2350
Joined: Thursday 11 July 2013 18:59
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: Top of the world
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by gizmocuz »

Could you upload your script file ?
Quality outlives Quantity!
Itschi
Posts: 18
Joined: Saturday 16 May 2015 14:58
Target OS: Windows
Domoticz version:
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by Itschi »

gizmocuz wrote:Could you upload your script file ?
Shure. It's not a script but part of a Delphi program I wrote my own small home automation with:

Code: Select all

procedure TMain.SolarSocketWrite(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Socket.SendText('{FB;01;1E|64:KDY;KT0;PAC|0672}');
end;

procedure TMain.SolarSocketRead(Sender: TObject; Socket: TCustomWinSocket);

var Data : string;

  FUNCTION  TMain.GetStrComponent(Comp : BYTE; Separator : CHAR; Line : STRING) : STRING;  
  VAR CharCount : BYTE;
      Count     : BYTE;
  BEGIN
    CharCount := 1;
    WHILE (CharCount <= Length(Line)) AND (Comp > 1) DO
    BEGIN
      IF Line[CharCount] = Separator THEN
        BEGIN
          Dec(Comp);
        END;
      Inc(CharCount);
    END;
    Count := System.Pos(Separator, Copy(Line, CharCount, Length(Line)));
    IF Count = 0 THEN
      Count := Length(Line)
    ELSE
      Dec(Count);
    GetStrComponent := Copy(Line, CharCount, Count);
  END;

  FUNCTION HexStrToInt(InStr : STRING) : Integer;
  VAR Count  : Integer;
      Res    : Integer;
  BEGIN
    Res := 0;
    FOR Count := 0 TO Length(InStr)-1 DO
    BEGIN
      IF UpCase(InStr[Length(InStr)-Count]) IN ['A'..'F'] THEN
        Res := Res + Round(Power(16, Count)) * (Ord(UpCase(InStr[Length(InStr)-Count]))-ORD('A')+10);
      IF InStr[Length(InStr)-Count] IN ['0'..'9'] THEN
        Res := Res + Round(Power(16, Count)) * (Ord(InStr[Length(InStr)-Count])-Ord('0'));
    END;
    HexStrToInt := Res;
  END;

  function GetValue(Ident, Data : string) : Integer;
  begin
    Data := Copy(Data, System.Pos(Ident, Data)+Length(Ident), Length(Data));
    if System.Pos(';', Data) > 0 then
      Data := Copy(Data, 1, System.Pos(';', Data)-1);
    Result := HexStrToInt(Data);
  end;

begin
  Data := Socket.ReceiveText;
  Data := GetStrComponent(2, '|', Data);
  Data := GetStrComponent(2, ':', Data);
  Data := GetStrComponent(1, '|', Data);
  edPVPAC.Text := FloatToStrF(GetValue('PAC=', Data)/2, ffGeneral, 7, 1);
  PVPACLast := edPVPAC.Text;
  edPVDay.Text := FloatToStrF(GetValue('KDY=', Data)/10, ffGeneral, 7, 1);
  PVYearLast := IntToStr(GetValue('KT0=', Data));
  try
    UpdateDomoticz(DOMOTICZ_URL+'type=command&param=udevice&idx=10&nvalue=0&svalue='+edPVPAC.Text+';'+FloatToStrF(GetValue('KDY=', Data)*100, ffGeneral, 7, 1));
  except
  end;
  if (edPVPACmax.text = '') or (edPVPACmax.text = '-') then
    edPVPACmax.text := PVPACLast
  else
    if (edPVPACmax.text <> '') and (edPVPACmax.text <> '-') and (PVPACLast <> '') and (PVPACLast <> '-') then
      if StrToFloat(edPVPACmax.text) < StrToFloat(PVPACLast) then
        edPVPACmax.text := edPVPAC.Text;
  edPVYear.Text := PVYearLast;
  SolarSocket.Close;
end;
TMain.SolarSocketWrite is call periodically by a timer, TMain.SolarSocketRead is triggerd by the TClientSocket component if data arrives on that socket.
User avatar
gizmocuz
Posts: 2350
Joined: Thursday 11 July 2013 18:59
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: Top of the world
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by gizmocuz »

Send you a PM
Quality outlives Quantity!
User avatar
gizmocuz
Posts: 2350
Joined: Thursday 11 July 2013 18:59
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: Top of the world
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by gizmocuz »

Send you an email, think i'm almost done
Quality outlives Quantity!
User avatar
gizmocuz
Posts: 2350
Joined: Thursday 11 July 2013 18:59
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: Top of the world
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by gizmocuz »

Implemented
Quality outlives Quantity!
User avatar
sincze
Posts: 1299
Joined: Monday 02 June 2014 22:46
Target OS: Raspberry Pi / ODroid
Domoticz version: 2024.4
Location: Netherlands / Breda Area
Contact:

Re: [523] SUPPORT FOR OMNIK PV-INVERTER

Post by sincze »

HI gizmocuz

Would it be hard to have Omnik inverters available in the same way?

Currently it can be done using a script as described here: http://www.domoticz.com/wiki/Omnik_Solar_Inverter
Send a magic packet and the machine will spit out the data

tnx.
Any assisstance needed, please let me know.

Sándor
Pass2php
LAN: RFLink, P1, OTGW, MySensors
USB: RFXCom, ZWave, Sonoff 3
MQTT: ZIgbee2MQTT,
ZWAVE: Zwave-JS-UI
WIFI: Mi-light, Tasmota, Xiaomi Shelly
Solar: Omnik, PVOutput
Video: Kodi, Harmony HUB, Chromecast
Sensors: You name it I got 1.
roblom
Posts: 402
Joined: Wednesday 26 February 2014 15:28
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: the Netherlands
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by roblom »

Same for my SamilPower inverter, I currently use this perl script described here.
I use a RS232 to USB cable.
I'm not a programmer but maybe I can make it more easy to implement, but don't now what suits best for you?
User avatar
FlyinGNL
Posts: 6
Joined: Monday 26 October 2015 12:41
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: 's-Heerenberg Netherlands
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by FlyinGNL »

Is it possible to get a more exact reading from a solarmax inverter?
Now the day readings are in 1 kWh. Would be nice when it's in 0,1kWh output if not too much trouble
Knipsel.JPG
Knipsel.JPG (25.31 KiB) Viewed 4722 times
Derik
Posts: 1601
Joined: Friday 18 October 2013 23:33
Target OS: Raspberry Pi / ODroid
Domoticz version: BETA
Location: Arnhem/Nijmegen Nederland
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by Derik »

WOW

How many solarpanels do you have...
Pinctures???
Xu4: Beta Extreme antenna RFXcomE,WU Fi Ping ip P1 Gen5 PVOutput Harmony HUE SolarmanPv OTG Winddelen Alive ESP Buienradar MySensors WOL Winddelen counting RPi: Beta SMAspot RFlinkTest Domoticz ...Different backups
User avatar
FlyinGNL
Posts: 6
Joined: Monday 26 October 2015 12:41
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: 's-Heerenberg Netherlands
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by FlyinGNL »

numbers doesn't count :lol:
guyroh
Posts: 3
Joined: Saturday 05 January 2019 19:18
Target OS: NAS (Synology & others)
Domoticz version:
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by guyroh »

I got a Solarmax 3000S
I activate in the front panel the ethernet interface and add it to Domoticz
and nothing...
Image
do I have to do something else?
do I have to implement something?
my Domoticz is on a raspberry Pie and update
don't I supposed to get all the drivers with?
there's 2 ethernet plug in my Solarmax 3000S and description seems to give them both as working

could U help me with this hardware please
Attachments
Image 12-01-2019 à 16.13.jpg
Image 12-01-2019 à 16.13.jpg (48.4 KiB) Viewed 3292 times
Jochemvandijk
Posts: 1
Joined: Sunday 29 March 2020 14:49
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by Jochemvandijk »

hi, before i saw the current watt and the total day kwh and total all time kwh , but after a complete new installation i dont see total of all time anymore on the dashboard or utility. the total value is visible in devices.
How can i fix this?
2020-03-29 14_54_10-Domoticz.png
2020-03-29 14_54_10-Domoticz.png (40.28 KiB) Viewed 2815 times
2020-03-29 14_56_53-Domoticz.png
2020-03-29 14_56_53-Domoticz.png (14.05 KiB) Viewed 2815 times
willybee
Posts: 1
Joined: Sunday 28 June 2020 15:39
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by willybee »

Hello, i have connected my solarmax TP-series to domoticz, but only recieve errors.
----------
2020-06-28 16:33:30.362 Error: solarmax hardware (3) thread seems to have ended unexpectedly
2020-06-28 16:33:44.365 Error: solarmax hardware (3) thread seems to have ended unexpectedly
2020-06-28 16:33:48.541 Error: SolarMax: TCP/IP connection closed! retrying in 30 seconds...
2020-06-28 16:33:58.368 Error: solarmax hardware (3) thread seems to have ended unexpectedly
2020-06-28 16:34:18.544 Status: SolarMax: TCP connected to: 192.168.178.42:12345
--------
anyone recognizes this and has an solution?
thnx in advance
regards,
wilfred
gregoinc
Posts: 18
Joined: Sunday 08 November 2020 8:29
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by gregoinc »

One of the reasons I chose Domoticz was the inbuilt support for SolarMax inverters. I connected my inverter and it works really well.

Only problem... when the sun goes down Domoticz continues to try and poll the inverter. See here...

Code: Select all

2020-11-14 22:10:26.220  Error: SolarMax: TCP could not connect to: <IPADDRESS>:12345
2020-11-14 22:10:26.221  Status: SolarMax: retrying in 30 seconds...
Is there a method of telling Domoticz to stop polling the inverter at certain times of the day, such as during the times where there is no sunshine?
monette999
Posts: 10
Joined: Tuesday 21 February 2023 18:42
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by monette999 »

Is this Plugin Solarmax with Lan working for SMT Series as well?

Greetings
AvdKwaak
Posts: 1
Joined: Thursday 01 February 2024 14:46
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: [523] SUPPORT FOR SOLARMAX PV-INVERTER

Post by AvdKwaak »

willybee wrote: Sunday 28 June 2020 15:47 Hello, i have connected my solarmax TP-series to domoticz, but only recieve errors.
----------
<<cut>>
--------
anyone recognizes this and has an solution?
thnx in advance
regards,
wilfred
I had the same issue. I changed the address in the settings of my inverter to 001
Then did "sudo service domoticz. sh restart" and then it worked.
Even though the answer is rather late, i hope it is helpful.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest