-
Notifications
You must be signed in to change notification settings - Fork 63
DiscoveryError
At start-up, the library auto-discovers which inverter it is connecting to. However, the connection details of the inverter may be wrong, addressing another network device, or the inverter is not supported yet.
During discovery, the library attempts to connect to the inverter with each 'Inverter' configuration it understands. It uses the first one which does not throw an exception.
Failures=
is a list of all of the discovery attempts made and why they failed. Each message is accompanied by the inverter class used.
Follow the instructions for the first InverterError
in the list below that you are able to find the whole Failures
list.
Able to connect, and valid JSON was received. However, the library does not know about this JSON schema. Follow the instructions for 'Another Server' first, and if that does not work, take a look at 'Inverter not Supported yet'.
Able to connect to a host, but the response does not seem to be valid JSON. Maybe the connection details are for another server on the network. Follow the instructions for 'Another Server' below.
Unable to connect to anything with these connection details. Maybe the IP address or hostname is wrong, the inverter is not connected to the network, or there is no route to the inverter. Follow the instructions for 'Network Issues' below.
- Try pinging the inverter. If this does not work, the inverter may not be on the same network.
- Check if your inverter has a pocket Wifi or pocket LAN adapter.
If your inverter has a 'pocket WiFi' or 'pocket LAN' adapter, there is some more advanced network setup required. See the following links for help:
- pocketLAN: https://github.com/squishykid/solax/issues/5
- pocketWiFi: https://github.com/squishykid/solax/issues/13
The connection details you have entered for the inverter may be incorrect. Try connecting with a browser to check if it might be another server on your network.
You will need to collect some data from your inverter to help us add your inverter to the library. Then, make a new Github Issue on this project and include this information.
We need to answer the following questions to add a new inverter:
- What is the endpoint for the real time api
- What is the data format for the real time api response
We currently know about two main endpoints for the real time api:
curl http://${INVERTER_IP}/api/realTimeData.htm
curl -X POST http://${INVERTER_IP}/?optType=ReadRealTimeData
You can try running the curl commands above. One of them might work and then you can include the output in the GitHub issue (remember to obfuscate your serial number).
Title your Issue Add Support for ${INVERTER MODEL}
.
Now the fun challenge: there is likely to be a Data
array in the curl output. Each number in this array is a sensor value.
You will need to determine which sensor values correspond to which element in the Data
array. One of the existing inverters might already have most of the right values. You can see an example of this mapping here.
Please include this information in the issue.
In the example, the 'PV1 Current' is the 0th element in the Data
array and so on.
If these curl commands don't work, then you will need to do some spelunking and find the endpoint.
Feel free to hit us up on discord for some help: https://discord.gg/y39XdEp