Jump to content

PHORAM is Here


Recommended Posts

PHORAM DOWNLOAD HERE (In "files" Sector)


PHORAM Discussion here

First of all, I apologize for my English.

I'm almost certain that it should work with some other models of Hybrid inverters but unfortunately I have no way to test them.

The System Run Ok in Windows XP, Windows 7, Windows 8.0, 8.1 y 10.

Finally, what is promised is debt.
I share with all of you the First Version of PHORAM completely free of charge.
Due to lack of time and unforeseen inconveniences, the publication was delayed more than planned, unfortunately I have not yet reached the end of the initial implementation of the relays board functions, for fear of possible errors due to lack of field tests.
I have placed special emphasis on the visual aspect, on Monitoring and on quite complex and complete aspects that up to now at least I have not seen in any other tool that covers them all.

Both the beginner users of the friendly interface, but especially the more advanced ones will find very interesting things.
In short, this is the starting point of a project that will grow together with you. I do not live from this. I am a geologist, but with a large number of
hobbies and I intend to continue with this development, as long as I have life and strength since solar energy has become my favorite. I have big plans for this project.
Next some of the screens.

I hope you like it !








Main_1_Your Own_House.jpg


Main_With_Perfomance Ratio.jpg




Ampliation:  07.26.2018


I will try to expand the information on the Operation and current characteristics of the System.
From the Main Menu, Configuration, PARAMETERS, The First Tab corresponds to:

1. TAB General

[Pictures of your home]
In the Directory PHORAM \ Images you can save the photos of your home, business, etc. that will be changing dynamically in the Main Screen according to the Instant Load Consumption that the Power Inverter is registering.
The idea is that each one is different, for example with a small brightness in the place that you think working lightly on an original photo with an editor such as Photoshop or Gimp.
While you can upload images in .jpg or .bmp formats, the extension .png with a transparent layer is more aesthetic. This is left to your liking and imagination.

- Current Inverter and Bank of Batteries are Images defined by the User and must be placed in the Directory PHORAM \ Images

[Main Energy Source]
Here is defined if you have an Emergency Generator or NO or simply is not linked to the Home to any GRID.
You can define the Picture corresponding to your Back Up Generator
This is very important since from the Main Screen, in case of a power cut you can inform PHORAM that it changes the Main Energy from GRID to GENERATOR. This has an impact on several calculations and a way to show the Power and Accumulation from kWh to VA. We will discuss this topic in due time and according to the interest of some member.


If you have decided to use the Weather Widget as it will be explained, the astronomical information of the sunrise time and sunset time of your location is stored in these fields.
In the event that you later decide to use the Relay Board features and the options of this system to automatically manage Solar Panel Chains with East / West Orientation to obtain the Optimal Power automatically, this information is important...


Ampliation:  07.27.2018


3. TAB: Coefficients and Factors

[Factors for calculating the Efficiency of the Solar Instalation]
The data corresponding to this Sector have as objective:
1) Establish with relative accuracy for a given day, month or year what should be the optimal or Nominal Solar Production according to the data provided by the Manufacturer of its Solar Panels and be able to establish comparisons with the Real Solar Production of that same day.
2) After at least one year of data collection, determine the normal curve of decreasing performance due to the aging of the Solar Panels.
3) It must be taken into account that the calculations obtained in this case do not contemplate the Losses of Conversion from Continuous Current to Alternating Current that will be characteristic of the efficiency of the Power Inverter and whose values are considered separately and shown in the Main Screen.
Note: The values of the Horizontal Solar Irradiation for a certain Latitude and Longitude you must obtain them, being able to consult for it the Web Site of the NASA, whose Link is added in this same sector.

[Values in local currency of kWh when Applicable]

In case you decide that this system runs in a unified installation to the electricity Grid, you can place here the value charged by the electricity company of the domestic GRID for the kWh.
In this way, you can know exactly the progression of the accumulated Amount to pay up to the month of your Energy Bill.
As this system is designed to also have control of the energy exported (GRID TIED) and it is possible that the kWh values for the energy it exports are different from the ones it imports, the fields are different. As my system is currently in homologation by the Local Regulations, I still can not export energy, so when this happens I will adjust the calculations and modify the PHORAM GRIDMETER to contemplate the Injection to the GRID.

[Coefficient of CO2 emission per kWh]
The electric power consumed by your company Local electricity, usually in any country, has different origins. For example, there may be an energy share generated by the burning of fossil fuels, nuclear energy, hydroelectric power, etc. This constitutes the energy matrix of a country or locality and its constitution generally varies from year to year. If you want to know how much you are contributing to make our planet atmosphere healthier, you should find out what is the pollution coefficient in Kg of Co2 per kWh.

[Empirical Coefficient Correction of Grid Energy]
This system has a GRID Energy Meter with daily, monthly, annual and PARTIAL RESET values indicated by the User.
The Energy Consumption of the Grid is measured based on sampling averages based on the information returned by the QPIGS command sent to the power inverter. Samples are stored every 10 seconds into the data base.
In order to calibrate what is measured by your particular power inverter with reference to what is measured by the Network Power Domiciliary Meter installed by your electric company, a value greater than one or less than one may be placed by trial and error. After a while, you can count on an error of less than 2% between what PHORAM informs you of your home consumption and what is actually measured and billed by your energy company.

When the Value is greater than or less than 1, the indication of the instantaneous WATTS corresponding to the LOADS or to the Consumed Energy of the GRID that appears on the Main Screen are indicated with [C]         GRID NOW= XXXX WATTS [C]    /   LOADS= XXXX WATTS[C]


Ampliation:  07.28.2018



Note: First, I must indicate that a fault in the hardware (DC board of my power inverter) burns a transistor,  which is under warranty, after many comings and goings with MPP Solar and I have the dish they sent me and still  not I have made time to change it. this was in February that's why I had to suspend the calculation of the precise  SOC Objet of this TAB in a similar way to the BMV 702

The image that appears here are your batteries according to the photo chosen in TAB 1.GENERAL
The objective of locating the values here is that the PHORAM can provide a much more accurate estimate of the SOC than the joke that appears as  a return of the capacity to the QPIGS command that is the same as that shown on the LCD of the Power Inverter. The equations on which the SOC can be established require these values with the highest precision,  all given by the manufacturer.
but "one of the key" is the measurement of voltage.  The most accurate is the value entered in the equations, the final SOC estimated according to the method used  by the Peukert exponent, the discharge rate that the manufacturer reports nominally the capacity (c20, c50 ...) and the Nominal Capacity,

Unfortunately, the precision of the measurement of the Voltage by the circuits included in these Chinese Power Inverters leaves a lot to be desired. They restinge the precision at XX.x Volts and the optimum would be precision at hundredth of volt, like the BMV702.

However, at least according to what I could investigate with my FLUKE Voltmeter is that the deviation in more (in my case) is constant although I recognize that it may not be constant due to a series of electrical interferences produced by both alternating current harmonics and values altered due to power differences received by instantaneous variable solar production (I detected this when trying to find the optimum correction coefficient to match the consumption indicated in my Home Energy Meter and my PHORAM Meter).

[Voltage Correccion Measured by Inverter (+/- X.xx) where 0.00 is for not correccion]

In short, if you make an average of three readings from your bank of batteries with a voltmeter or instrument of precision in 3 different load states, you can put here the deviation with its sign (+/-) 0.xx.
For the meticulous: I know that we are working with a significant number of more but also the adjustment of the Voltage will be valid to show more accurately what reported by the Power Inverter.
As in the case of Power measurements, when the Voltage Value of the batteries is shown in the Main Screen, it will appear with the symbol [C] in case this value is different from 0.

In a future version, as I intend to read the port of the BMV702, both estimates of the SOC will be found on the Main Screen.


Ampliation: 07/29/2018


7. TAB: Communications and Climate
With the aim put in the two fundamental aspects of design of this project, this is: to create a nice, attractive and simple interface but at the same time transform it into a tool of analysis of every possible professional aspect with the sufficient quantity of data collected, if You want to use the Weather Phoram Widget on the Main Screen.
I use the Service of www.openweathermap.org (at least for now since at least in my Region it does not have as much accuracy as others that I have been analyzing).
To be able to use it, you should obtain your username and password. When you register on the Site, you can obtain your Own API Key so that your facility can access the Climate information.
The fields of City and Country Code must obviously coincide with your locality, although here for the purpose of testing you could place those of any city / country in the world.
VERY VERY important is the displacement of the time according to your location. This you you must enter it manually. As a help from Phoram you can access the map of the Usual Uses of Wikipedia. According to the same you will daily astronomically know the Sunrise and Sunset Time, which as previously indicated, has an impact not only on the aesthetic aspect that determines the exact moment in which the Main Screen Changes from Day to Night / Night Day but especially in the next version for the operation of the RELAY BOARD and the corresponding Power RELAY for the automatic handling of Chains with East and West Orientation.
If you decide to use the Weather Widget, in addition, the Dynamic Wallpapers of the Main Screen will be activated with all sky images with different Cloudiness in a dynamic way and the Hourly Data of the Cloud and Temperature Percentages will be collected. real and specific of its location. Information that in the future, with more than one year accumulated in the Databases, I intend to use to improve the performance statistics of the solar installation and how the temperature, for example, specifically influences the panels and the production of Energy of your installation.
[Mail Settings and Mails Send]
In case you want the System to automatically communicate, through Mails, with you if you still do not have it, I suggest that you register a web mail account identified exclusively for your power inverter. The system will use it to send Mails to all the destination addresses that you report in the Mail Addresses field.
The System currently has a basic Event Handling, such as when the Main Energy is cut off and the installation works with Batteries in Back Up Mode, when the batteries change State, Stand By, Load, Discharge, etc., etc., etc.
Notwithstanding that, I am working on this to extend it to all types of Events that may also be Defined by the User. When it is well tested in my home, as many other modifications and extensions.
In the next revision of the Version the system will notify you of a Main Energy Grid Cut or any other event defined as High Importance, as soon as it occurs and both you and your family outside your home will know what happened if you configure your Mail in the cell phone.
[Daily summary of energy balance]
In the current version if you check the check box, between 23:59:58 and 23:59:59 (depending on Internet conditions) the system will automatically send you the Mail with the daily information collected by the system. Shortly I intend to expand this info by adding very simple information, but useful for example the GRID Energy Values to Pay to the Local Company, Percentages per day of loads that have been supported by Real Effective Solar Production, Kg of Co2 by GRID energy use,  etc., etc ...
Then a couple of copies of my cell phone screen (two pages) to observe the information that the System communicates to me daily.



Okay. There are more things, but I get tired. This is all for now.
Sirs. I await your comments. Greetings to all.



Edited by Cef
Link to comment
Share on other sites

  • 4 months later...
2 hours ago, Javi Martínez said:

Hi @Cef

You posted RS232 protocol of MPI 5.5 K, but I can´t get QEY, QEM, and QED comands.

I´m sending with checksums, but there´s no response.

¿Could you tell me what do you send?

Hi @Javi Martínez

The commands that you indicate, along with the QEH, are indeed the only ones, at least documented, that require CRC. As I made my own totalizers for PHORAM from sampling every 2 seconds of the values delivered directly by the QPIGS command I did not test with CRC.
When I finished the code, I compared the results by looking directly at the LCD of the Power Inverter, I saw that they were correct and I did not investigate those historical ones. For example:
QEY <YYYYnnn> <cr>: Inquiry total energy in the year
the 3 digits "nnn" arise from the application of an algorithm for, I believe: CRC 16 that uses YYYY as data.
If you ask me about the algorithm, I repeat that I did not implement it because I made my own calculations. I've seen it at an Australian Solar Energy Forum.
I'm sure that  @Coulomb  could help you with the algorithm code.

Link to comment
Share on other sites

2 hours ago, Cef said:

I'm sure that  @Coulomb  could help you with the algorithm code.

Actually, I don't know the Infinis (hybrid models) at all well. It seems that there are several versions of the protocol, and as Javi indicates above, the CRC (as used in the off-grid models) may well be replaced by a simple sum (for some Infini models).

Link to comment
Share on other sites

1 hour ago, Coulomb said:

... may well be replaced by a simple sum (for some Infini models).

I do not think it's that simple. A simple check sum would not be very good idea to detect communication errors, since it is formed by bytes and you can make a large number of combinations by mixing the individual bytes and if you do. the sum will get the same result.
Instead CRC algorithms treat the entire string as a large binary number and process it, which greatly reduces the probability of errors as a simple checksum. But to complicate things further there are many types of CRC (CRC SICK, CRC ModBus, etc.). I understand, from what I have read, that Off grid Power Inverters use the CRC CCITT (X-Modem), which implies that the CRC of for example the command QPIGS delivers in hexadecimal B7 A9 as a result or what is the same passing to decimal and then to ASCII: 0xb7: '·' and 0xa9: '©', so the command sent by the COM port to the inverter would be: QPIGS · ©
On the other hand, in these newer hybrid models (3Kw, 5Kw, 5.5Kw ...) I have not found information on the type of CRC they use. I did the same tests as Javi in the beginning and I could not get other answers than NAKs ... I recognize though that I did not dig too deep and ended up doing my own functions of Energy Integration.


Link to comment
Share on other sites


8 hours ago, Cef said:

A simple check sum would not be very good idea to detect communication errors

Sure, but you have to go with what the firmware is expecting, regardless of whether you believe it's good or not! :-)  I assumed that Javi was talking from personal experience.

I've just checked firmware for the Infini Super 4K models. It looks to me that none of the commands that are in the RS232 protocol manual require CRCs at all, and none of the responses use them either. How good is that at detecting communication errors? :mellow:

But it seems that these inverters have two sets of commands; one uses CRCs (commands and responses, including ACK and NAK), and the other doesn't. There is the same code for calculating CRCs as in the off-grid inverters, so it's the same CRC-CCITT algorithm. But it's only used for the "SEC" commands (commands whose handler function has the string "SEC" near the front). So I guess SEC stands for SECure. These are the commands and responses with the up-arrow ("^") character at the front. I don't seem to have collected a manual with these SEC commands.

Here is a command to get you started: "^P003VFW" (there is also VFW2). I'm not sure about the first character, I'm guessing that the three digits are the length of the command excluding the up-arrow, the "P", the CRC characters, and the carriage return. It should return the main firmware number, like QVFW in an off-grid model. The second character (here 'P') can also be an 'S' for setting commands. Contrary to the off-grid models, 'P' seems to stand for query; these are the "getter" commands.

But maybe your model doesn't have these "SEC" commands.

Link to comment
Share on other sites

Hi @Cef

Is it possible to connect an Arduino, to simulate response on QPIGS<cr>  command from Phoram?  I have tried to connect to an Arduino, but Phoram does not seem to recognize the Arduino.  The Arduino drivers are working when I use the IDE.  How does one assign the drivers to your software?



Link to comment
Share on other sites

Hi @Cef

Ok ... I have done some further testing.


I have now connected the TX, and RX pins from the Arduino to an RS232  max chip directly to COM1 of my PC.  I use RealTerm to communicate to the Arduino Nano @ 2400 baud.  I then sent QPIGS<cr> to the Nano from RT, and the Nano respond with the following:


Serial.print("(220.0 002200 50.0 010 220.0 005940 50.0 027.0 100 345.8 344.9 012.2 013.3 082 024.2 00900 00940 00950 111.0 112.5 100.4 045.0 0100000000\r");

I do get the above response string back to RealTerm.  So, it seems that the communication portion does work.

However, when I ran, phoramtray.exe, does the program not recognize the Nano on COM1.

Any help will be appreciated.  I would really like to test your software, by simulating an inverter with an Arduino Nano.



Link to comment
Share on other sites

1 hour ago, Stefan said:

Hi @Cef

Ok ... I have done some further testing.


I have now connected the TX, and RX pins from the Arduino to an RS232  max chip directly to COM1 of my PC.  I use RealTerm to communicate to the Arduino Nano @ 2400 baud.  I then sent QPIGS<cr> to the Nano from RT, and the Nano respond with the following:


Serial.print("(220.0 002200 50.0 010 220.0 005940 50.0 027.0 100 345.8 344.9 012.2 013.3 082 024.2 00900 00940 00950 111.0 112.5 100.4 045.0 0100000000\r");

I do get the above response string back to RealTerm.  So, it seems that the communication portion does work.

However, when I ran, phoramtray.exe, does the program not recognize the Nano on COM1.

Any help will be appreciated.  I would really like to test your software, by simulating an inverter with an Arduino Nano.



There is something I don´t understand. If you are using TX/RX of Nano, it is the same port  microUSB. If you have a TTL-RS232, you can use Software Serial to create other TX/RX, wich can comunicate with RS232 Axpert. Then you conect microUSB from nano to PC.

Link to comment
Share on other sites

@Javi Martinez

As far as I know, the TX/RX pins on Nano is connected directly to the Atmega328 chip, and it goes back to the CP340 USB chip for communication through USB.  My goal was to specifically connect the Nano to an RS232 port, com port 1,  and not a USB port.  


Link to comment
Share on other sites

On 2018/12/28 at 10:36 AM, Javi Martínez said:

Hi @Cef

You posted RS232 protocol of MPI 5.5 K, but I can´t get QEY, QEM, and QED comands.

I´m sending with checksums, but there´s no response.

¿Could you tell me what do you send?

Hi @Cef.

They don't work on my Replus either.

I assume they were not implemented on some of the Voltronic variants / spinoffs / pirated versions.


Link to comment
Share on other sites

HI @stefan

No, it is not possible. My development does not include connection with Arduino. To the objectives of the software it seemed much simpler to access a Relay Generic board that is easier for the use of a possible User of knowledge of the Middle Level.
The softaware is connected to this through a Serial Port via USB and although it offers the possibility of an external power supply, my tests tell me that you do not need it. Only with the 5 Volts of the Micro USB handles all the Relays well as long as they do not change their status all together simultaneously.
Here's the Link: http://www.icstation.com/icstation-channel-icse014a-micro-switch-relay-module-upper-computer-control-board-icse014a-p-5185.htm . It's cheap (US $ 12).
The drivers work perfectly with Windosw Xp and Windows 7, but not with the one that automatically recognizes Windows 10. To work with Windows 10 you have to go to a Driver of a previous version of the board Chipset.
If eventually someone needs this Driver I can upload it to the site. I had a hard time finding it but it works perfectly.
The version 1.9 of PHORAM that I hope to upload later than the second week of February will allow using this board to operate any external device based on "User Events" created with the parameters read by the Power Inverter, logical conditions ( <,>, =) and values on assignment to individual Relays, with return to previous condition based on% hysteresis or fixed time depending on the User's need
I apologize for the numerous Bugs related to the totalizers of Phoram in its initial version in the use of systems with batteries, I explained the reason why this can be deduced in the first Post of this thread, I simply did not have a battery connection to make testing for a hardware failure of the Power Inverter. These have already been corrected in the new version.

Link to comment
Share on other sites

Hi @Elbow


Once I complete the implementation in the only one Power Inverter that I have to do the tests and that responds to the RS232 Protocol of the newer Inverters of the Hybrid series, I need to develop other ideas, and in the future I hope to start adapting it to the protocol of the Power Inverters of the Axpert / Infini Off Grid Series, which has such a wide User base.
The protocol you find on the site.
Regards !

Link to comment
Share on other sites

Hi @Cef

I need to understand the following?  What "command" or "string" is  PHORAMTRAY.exe send to the inverter to recognize the COM port connection,  and what is the format of the communication.  Is it in HEX or is it in ASCII.  If I understand correctly, it is sending every so often, QPIGS<cr>



Link to comment
Share on other sites

  • 7 months later...

Since I have received inquiries about the Phoram Project, I tell you that it has not been abandoned.
Unfortunately I had to change Power Inverter.
In 2 (two) years they burned spontaneously Four DC Board !!! : Yes 4 (four).
I endured with more than normal just because the development of PHORAM took me a long time and I didn't want to stop using it.
The people of MPP Solar have with this Power Inverter Model: 5.5 Kw MPI Hybrid, a very serious problem that they cannot solve and I got tired.
I finally bought a Goodwe ES5048 and the difference in quality is remarkable.


Since the Goodwe SEMS PORTAL Application does not convince me, not only because of the limited interface but especially because the data update takes many minutes and also because I was not willing to leave PHORAM, since I designed it not only for the possibility of serious monitoring in real and historical time but for the possibility of linking an external relay board so that the system will make decisions and interact with the real world based on a logic of events determined by the user, so I decided to investigate to transform Phoram into a Universal Software independent of the Brand and Model of the Power Inverter used.
I had the solution in front of me and I am currently transforming the original project into a new product called: Phoram (U) niversal.
The Hardware necessary to use it in a mandatory manner is:
- 2 (two) Eastron SDM120, SDM220 or SDM230 Meters (One for the power parameters of the Grid side and one for the Charges or Back Up side). They are very cheap and of acceptable quality.

-1 (One) RS485 to RS232 Converter
-1 (One) BMV 600 or 700 Series with VE Direct to USB interface cable.
-1 (one) 8 Relays FTDI 245R based Relay board or IcStation 8 Relay Module board

By simple algebra I get the EFFECTIVE SOLAR POWER produced at a given time.

Regarding the Original project in which he decoded the parameters sent by the Power Inverter, unfortunately I lose the data of:
-Inner temperature of the power inverter
-Voltage and Amperage of PV1 and PV2

But in exchange for this I have real-time parameters with refresh every second and Phoram is now Universal!

As soon as I have a new stable version, I publish it here.


Edited by Cef
Link to comment
Share on other sites

  • 9 months later...
  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...