Integration of Sorotec REVO VE II inverter #78
Replies: 32 comments 146 replies
-
Easiest is if the is a document detailing the protocol used. (See the docs/protocol folder for rxamples) |
Beta Was this translation helpful? Give feedback.
-
This is what apears on QPI comand. its says protocol PI30, but if i run that it doesnt show any info from the inverter. I have to use PI41
|
Beta Was this translation helpful? Give feedback.
-
can you run |
Beta Was this translation helpful? Give feedback.
-
Yes im using Home assistant.
|
Beta Was this translation helpful? Give feedback.
-
The response 'fits' the PI30/41 definition of the command (QPIGS), but if values are 'mixed up' then it sounds like your inverter is using a different definition of the same command What is the battery voltage? The inverter is replying |
Beta Was this translation helpful? Give feedback.
-
Here is the monitor software. I also noticed that the inverter temp here displays 33º and in the mpp-solar displays always 26º I dont know here it gets that number
|
Beta Was this translation helpful? Give feedback.
-
Revo%20Protocol%20V03--20201112.docx I got the protocol document from the manufacturer. This helps to write the code for this inverter? |
Beta Was this translation helpful? Give feedback.
-
how can i update the mpp-solar software in my raspi? i have to use the development version? |
Beta Was this translation helpful? Give feedback.
-
I got it. It seams to be working: QALL
QPIGS command
PQSE Command
QPIRI command
Im goint to try to send data to home assistant. |
Beta Was this translation helpful? Give feedback.
-
Can anyone please help with the PSET command from this document? |
Beta Was this translation helpful? Give feedback.
-
Hi wissamch, Can you help me here please, I get NAK on everything I try to set. Check the attachment. thanks in advance. |
Beta Was this translation helpful? Give feedback.
-
@miguel300477 Hi sir, may I know where did u get the Revo II RS232 Communication Protocol document? |
Beta Was this translation helpful? Give feedback.
-
Hello Sir,Referring to my last conversation with the Revo company, they told me that their firmware does not supportany changes to be made using rs232, changes can only be made using the display/buttons. I am in a good relation with them and will ask them if this is also the case for the Revo III. I will ask them for the communication protocol sheet.(I dont remember where I found the old protocol document) I have a question for you, I also bought (and waiting for the shipment) a Revo III inverter. Are you satisfied with this inverter? (beside the protocol thing)Do you have 2 solar strings attached to it? thanks, I will let you know when I have more info. 26.08.2022, 20:19, "tanqt0728" ***@***.******@***.*** Hi sir, may I know where did u get the Revo II RS232 Communication Protocol document?I am using Revo III (8000w) version, the configuration in the Revo II document seems not compatible. I think I would need the Revo III document to set properly—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
hello i would like to send the data to the mqttserver in iobroker but somehow it doesn't work. can someone help me?
|
Beta Was this translation helpful? Give feedback.
-
can you post an image of the adapter settings
…On Tue, 25 Oct 2022 at 11:01, ts1cos ***@***.***> wrote:
i use iobroker with mqtt adapter. and in the logs are nothing. other
devices can connect to the mqtt with the same configs
—
Reply to this email directly, view it on GitHub
<#78 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJVKNQNP2JONM4B7JU6M3TWE4BNFANCNFSM42OY6D2Q>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
lol, not as useful for us uncultured mono-linguists
perhaps try from mppsolar but with a command that has a simple output like
QPI
…On Tue, 25 Oct 2022 at 11:16, ts1cos ***@***.***> wrote:
[image: mqtt]
<https://user-images.githubusercontent.com/94864143/197640203-0c904fea-f303-42df-836d-db4c0f54348e.jpg>
[image: mqtt1]
<https://user-images.githubusercontent.com/94864143/197640214-41d23e2d-c830-4b98-bcf3-4846f15b63c8.jpg>
—
Reply to this email directly, view it on GitHub
<#78 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJVKNQIGCSCF6QPX6LYY7LWE4DEDANCNFSM42OY6D2Q>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Does command `QPI` work?
…On Tue, 20 Feb 2024 at 08:44, ols-hub ***@***.***> wrote:
I have EASUN SMR II 5.5KVA and I try to change mode with USB connection.
I tried PSET and POP commands but without success (NAK or 'Response to
short').
This is my debug:
sudo mpp-solar -P PI30 -p /dev/ttyUSB0 -c POP00 -D
2024-02-19 ***@***.***: Solar Device Command
Utility, version: 0.15.62
2024-02-19 ***@***.***
<https://github.com/29>: mqttbroker config: {'name': 'localhost', 'port':
1883, 'user': None, 'pass': None}
2024-02-19 ***@***.***: MqttBroker name:
localhost, port: 1883, user: None
2024-02-19 ***@***.***: udp port 5555
2024-02-19 ***@***.***: Using Postgres None
2024-02-19 ***@***.***: Using Mongo None with
mppsolar
2024-02-19 ***@***.***: Creating device "unnamed"
(type: "mppsolar") on port "/dev/ttyUSB0 (porttype=None)" using protocol
"PI30"
2024-02-19 ***@***.***: device_class <class
'mppsolar.devices.mppsolar.mppsolar'>
2024-02-19 ***@***.*** <https://github.com/33>:
*init* args ()
2024-02-19 ***@***.*** <https://github.com/34>:
*init* kwargs {'name': 'unnamed', 'port': '/dev/ttyUSB0', 'protocol':
'PI30', 'baud': 2400, 'porttype': None, 'mqtt_broker':
<mppsolar.libs.mqttbrokerc.MqttBroker object at 0xb604ed18>, 'udp_port':
'5555', 'mongo_url': None, 'mongo_db': 'mppsolar'}
2024-02-19 ***@***.***: port matches ttyusb
2024-02-19 ***@***.***: Using serialio for
communications
2024-02-19 ***@***.***: Protocol PI30
2024-02-19 ***@***.*** <https://github.com/38>:
*init* name unnamed, port <mppsolar.inout.serialio.SerialIO object at
0xb605c058>, protocol PI30 protocol handler
2024-02-19 ***@***.***: Commands
[(<mppsolar.devices.mppsolar.mppsolar object at 0xb604ed30>, 'POP00',
'POP00', 'screen', None, None)]
2024-02-19 ***@***.***: Looping 1 commands
2024-02-19 ***@***.***: Getting results from
device: mppsolar device - name: unnamed, port:
<mppsolar.inout.serialio.SerialIO object at 0xb605c058>, protocol: PI30
protocol handler for command: POP00, tag: POP00, outputs: screen
2024-02-19 ***@***.***: Running command POP00
2024-02-19 ***@***.***: Using
protocol b'PI30' with 42 commands
2024-02-19 ***@***.***: Calculating CRC
for b'POP00'
2024-02-19 ***@***.***: Generated CRC
0xc2 0x48 0xc248
2024-02-19 ***@***.***: full
command: b'POP00\xc2H\r'
2024-02-19 ***@***.***: full command
b'POP00\xc2H\r' for command POP00
2024-02-19 ***@***.***:
Processing command 'POP00'
2024-02-19 ***@***.***: Regex
commands _command: QPGS
2024-02-19 ***@***.***: Regex
commands _command: F
2024-02-19 ***@***.***: Regex
commands _command: MCHGC
2024-02-19 ***@***.***: Regex
commands _command: MNCHGC
2024-02-19 ***@***.***: Regex
commands _command: MUCHGC
2024-02-19 ***@***.***: Regex
commands _command: PBCV
2024-02-19 ***@***.***: Regex
commands _command: PBDV
2024-02-19 ***@***.***: Regex
commands _command: PBFT
2024-02-19 ***@***.***: Regex
commands _command: PBT
2024-02-19 ***@***.***: Regex
commands _command: PCP
2024-02-19 ***@***.***: Regex
commands _command: PCVV
2024-02-19 ***@***.***: Regex
commands _command: PE
2024-02-19 ***@***.***: Regex
commands _command: PD
2024-02-19 ***@***.***: Regex
commands _command: PGR
2024-02-19 ***@***.***: Regex
commands _command: POP
2024-02-19 ***@***.***:
Matched: POP00 to: POP value: 00
2024-02-19 ***@***.***: port
/dev/ttyUSB0, baudrate 2400
2024-02-19 ***@***.***: Executing
command via serialio...
2024-02-19 ***@***.***: serial
response was: b'(NAKss\r'
2024-02-19 ***@***.***: Send and Receive
Response b'(NAKss\r'
2024-02-19 ***@***.***: response passed
to decode: b'(NAKss\r'
2024-02-19 ***@***.***:
Processing command 'POP00'
2024-02-19 ***@***.***: Regex
commands _command: QPGS
2024-02-19 ***@***.***: Regex
commands _command: F
2024-02-19 ***@***.***: Regex
commands _command: MCHGC
2024-02-19 ***@***.***: Regex
commands _command: MNCHGC
2024-02-19 ***@***.***: Regex
commands _command: MUCHGC
2024-02-19 ***@***.***: Regex
commands _command: PBCV
2024-02-19 ***@***.***: Regex
commands _command: PBDV
2024-02-19 ***@***.***: Regex
commands _command: PBFT
2024-02-19 ***@***.***: Regex
commands _command: PBT
2024-02-19 ***@***.***: Regex
commands _command: PCP
2024-02-19 ***@***.***: Regex
commands _command: PCVV
2024-02-19 ***@***.***: Regex
commands _command: PE
2024-02-19 ***@***.***: Regex
commands _command: PD
2024-02-19 ***@***.***: Regex
commands _command: PGR
2024-02-19 ***@***.***: Regex
commands _command: POP
2024-02-19 ***@***.***:
Matched: POP00 to: POP value: 00
2024-02-19 ***@***.***: validity check
fail: {'validity check': ['Error: NAK', '']}
2024-02-19 ***@***.***: Decoded response
{'_command': 'POP00', '_command_description': 'Set Device Output Source
Priority', 'validity check': ['Error: NAK', '']}
2024-02-19 ***@***.***: results: {'_command':
'POP00', '_command_description': 'Set Device Output Source Priority',
'validity check': ['Error: NAK', '']}
2024-02-19 ***@***.***: attempting to create
output processor: screen
2024-02-19 ***@***.*** <https://github.com/15>:
processor.screen *init* kwargs {}
2024-02-19 ***@***.***: Using output filter: None
2024-02-19 ***@***.***: Using output processor:
screen
2024-02-19 ***@***.***: kwargs {'data':
{'_command': 'POP00', '_command_description': 'Set Device Output Source
Priority', 'validity check': ['Error: NAK', '']}, 'tag': 'POP00', 'name':
'unnamed', 'mqtt_broker': <mppsolar.libs.mqttbrokerc.MqttBroker object at
0xb604ed18>, 'udp_port': '5555', 'postgres_url': None, 'mongo_url': None,
'mongo_db': 'mppsolar', 'mqtt_topic': None, 'filter': None, 'excl_filter':
None, 'keep_case': False}
2024-02-19 ***@***.***: displayData:
{'validity_check': ['Error: NAK', '']}
Command: POP00 - Set Device Output Source Priority
Parameter Value Unit
validity_check Error: NAK
2024-02-19 ***@***.***: Not daemon, so not looping
—
Reply to this email directly, view it on GitHub
<#78 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJVKNXTACXWNFYHF5LAHULYUOTTFAVCNFSM42OY6D22U5DIOJSWCZC7NNSXTOKENFZWG5LTONUW63SDN5WW2ZLOOQ5TQNJSGE2TGMA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Here is response:
|
Beta Was this translation helpful? Give feedback.
-
i think the revo has a different protocol
try protocol `pi30revo`
…On Tue, 20 Feb 2024 at 10:54, ols-hub ***@***.***> wrote:
Here is response:
sudo mpp-solar -p /dev/ttyUSB0 -c QPI
Command: QPI - Protocol ID inquiry
Parameter Value Unit
protocol_id PI30
Some users wrote:
[Martin-Kolaci]
Hello, I can confirm that PSET without ending 0D is working for me too.
Maybe this is solution for my inverter ?
—
Reply to this email directly, view it on GitHub
<#78 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJVKNXVSPLPYYXBJ3H4IS3YUPCYNAVCNFSM42OY6D22U5DIOJSWCZC7NNSXTOKENFZWG5LTONUW63SDN5WW2ZLOOQ5TQNJSGI2DKOI>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
sudo mpp-solar -P PI30REVO -p /dev/ttyUSB0 -c 'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 20 07 22 00'
|
Beta Was this translation helpful? Give feedback.
-
Yes, sorry I need to implement that command
…On Tue, 20 Feb 2024, 7:23 pm ols-hub, ***@***.***> wrote:
sudo mpp-solar -P PI30REVO -p /dev/ttyUSB0 -c 'PSET011103 56.0 56.7 47.0
47.0 030 000 2024 02 20 07 22 00'
Command: PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 20 07 22 00 - No
description found
Parameter Value Unit
warning No definition for command PSET011103 56.0 56.7 47.0 47.0 030 000
2024 02 20 07 22 00 in protocol b'PI30REVO'
NAKÛ
—
Reply to this email directly, view it on GitHub
<#78 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJVKNTBK62UI44IIGWZQ4TYUQ6O7AVCNFSM42OY6D22U5DIOJSWCZC7NNSXTOKENFZWG5LTONUW63SDN5WW2ZLOOQ5TQNJSGU2TENQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I tried new version without success :-( You send to inverter : full command: Debug info if neededmpp-solar -P PI30REVO -p /dev/ttyUSB0 -c 'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0' -D
2024-02-23 11:15:47,867:INFO:__init__:main@205: Solar Device Command Utility, version: 0.16.24-dev, python version: 3.11.2
2024-02-23 11:15:47,868:DEBUG:mqttbrokerc:__init__@29: mqttbroker config: {'name': 'localhost', 'port': 1883, 'user': None, 'pass': None}
2024-02-23 11:15:47,870:DEBUG:__init__:main@240: MqttBroker name: localhost, port: 1883, user: None
2024-02-23 11:15:47,871:DEBUG:__init__:main@242: udp port 5555
2024-02-23 11:15:47,872:DEBUG:__init__:main@244: Using Postgres None
2024-02-23 11:15:47,873:DEBUG:__init__:main@247: Using Mongo None with mppsolar
2024-02-23 11:15:47,874:INFO:__init__:main@358: Creating device "unnamed" (type: "mppsolar") on port "/dev/ttyUSB0 (porttype=None)" using protocol "PI30REVO"
2024-02-23 11:15:47,889:DEBUG:__init__:main@362: device_class <class 'mppsolar.devices.mppsolar.mppsolar'>
2024-02-23 11:15:47,890:DEBUG:device:__init__@34: __init__ args ()
2024-02-23 11:15:47,891:DEBUG:device:__init__@35: __init__ kwargs {'name': 'unnamed', 'port': '/dev/ttyUSB0', 'protocol': 'PI30REVO', 'baud': 2400, 'porttype': None, 'mqtt_broker': <mppsolar.libs.mqttbrokerc.MqttBroker object at 0x76093570>, 'udp_port': 5555, 'mongo_url': None, 'mongo_db': 'mppsolar', 'push_url': 'http://localhost:9091/metrics/job/pushgateway'}
2024-02-23 11:15:47,892:DEBUG:__init__:get_port_type@69: port matches ttyusb
2024-02-23 11:15:47,893:INFO:__init__:get_port@111: Using serialio for communications
2024-02-23 11:15:47,928:DEBUG:__init__:get_protocol@13: Protocol PI30REVO
2024-02-23 11:15:49,479:DEBUG:device:__init__@39: __init__ name unnamed, port <mppsolar.inout.serialio.SerialIO object at 0x75f265f0>, protocol PI30 protocol handler for REVO and similar inverters
2024-02-23 11:15:49,480:DEBUG:__init__:main@408: Commands [(<mppsolar.devices.mppsolar.mppsolar object at 0x75f26490>, 'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0', 'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0', 'screen', None, None)]
2024-02-23 11:15:49,481:INFO:__init__:main@413: Looping 1 commands
2024-02-23 11:15:49,482:INFO:__init__:main@423: Getting results from device: mppsolar device - name: unnamed, port: <mppsolar.inout.serialio.SerialIO object at 0x75f265f0>, protocol: PI30 protocol handler for REVO and similar inverters for command: PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0, tag: PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0, outputs: screen
2024-02-23 11:15:49,483:INFO:device:run_command@51: Running command PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0
2024-02-23 11:15:49,484:INFO:pi30revo:get_full_command@463: Using protocol: b'PI30REVO' with 8 commands
2024-02-23 11:15:49,484:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0'
2024-02-23 11:15:49,485:DEBUG:abstractprotocol:get_command_defn@77: Regex commands _command: PSET
2024-02-23 11:15:49,491:DEBUG:abstractprotocol:get_command_defn@81: Matched: PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0 to: PSET value: 011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0
2024-02-23 11:15:49,491:DEBUG:pi30revo:get_full_command@474: Using CHK checksum approach for command PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0
2024-02-23 11:15:49,492:DEBUG:pi30revo:get_full_command@476: checksum 128
2024-02-23 11:15:49,493:DEBUG:pi30revo:get_full_command@485: full command: b'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0\x80\r'
2024-02-23 11:15:49,494:INFO:device:run_command@81: full command b'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0\x80\r' for command PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0
2024-02-23 11:15:49,494:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0'
2024-02-23 11:15:49,495:DEBUG:abstractprotocol:get_command_defn@77: Regex commands _command: PSET
2024-02-23 11:15:49,496:DEBUG:abstractprotocol:get_command_defn@81: Matched: PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0 to: PSET value: 011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0
2024-02-23 11:15:49,497:DEBUG:serialio:send_and_receive@19: port /dev/ttyUSB0, baudrate 2400
2024-02-23 11:15:49,502:DEBUG:serialio:send_and_receive@22: Executing command via serialio...
2024-02-23 11:15:50,605:DEBUG:serialio:send_and_receive@30: serial response was: b''
2024-02-23 11:15:51,694:DEBUG:device:run_command@98: Send and Receive Response b''
2024-02-23 11:15:51,695:INFO:abstractprotocol:decode@236: response passed to decode: b''
2024-02-23 11:15:51,696:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0'
2024-02-23 11:15:51,696:DEBUG:abstractprotocol:get_command_defn@77: Regex commands _command: PSET
2024-02-23 11:15:51,697:DEBUG:abstractprotocol:get_command_defn@81: Matched: PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0 to: PSET value: 011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0
2024-02-23 11:15:51,698:INFO:abstractprotocol:decode@251: validity check fail: {'validity check': ['Error: Response to short', '']}
2024-02-23 11:15:51,699:INFO:device:run_command@116: Decoded response {'_command': 'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0', '_command_description': 'Set current machine configuration information', 'validity check': ['Error: Response to short', '']}
2024-02-23 11:15:51,700:DEBUG:__init__:main@427: results: {'_command': 'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0', '_command_description': 'Set current machine configuration information', 'validity check': ['Error: Response to short', '']}
2024-02-23 11:15:51,700:INFO:__init__:get_output@40: attempting to create output processor: screen
2024-02-23 11:15:51,707:DEBUG:screen:__init__@17: processor.screen __init__ args: (), kwargs: {}
2024-02-23 11:15:51,708:DEBUG:__init__:main@433: Using output filter: None
2024-02-23 11:15:51,709:INFO:screen:output@23: Using output processor: screen
2024-02-23 11:15:51,710:DEBUG:screen:output@24: kwargs {'data': {'_command': 'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0', '_command_description': 'Set current machine configuration information', 'validity check': ['Error: Response to short', '']}, 'tag': 'PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0', 'name': 'unnamed', 'mqtt_broker': <mppsolar.libs.mqttbrokerc.MqttBroker object at 0x76093570>, 'udp_port': 5555, 'postgres_url': None, 'mongo_url': None, 'mongo_db': 'mppsolar', 'push_url': 'http://localhost:9091/metrics/job/pushgateway', 'mqtt_topic': None, 'filter': None, 'excl_filter': None, 'keep_case': False}
2024-02-23 11:15:51,711:DEBUG:screen:output@68: displayData: {'validity_check': ['Error: Response to short', '']}
Command: PSET011103 56.0 56.7 47.0 47.0 030 000 2024 02 23 11 13 00 001 56.0 - Set current machine configuration information
--------------------------------------------------------------------------------
Parameter Value Unit
validity_check Error: Response to short
--------------------------------------------------------------------------------
2024-02-23 11:15:51,712:DEBUG:__init__:main@459: Not daemon, so not looping |
Beta Was this translation helpful? Give feedback.
-
[duplicate]
|
Beta Was this translation helpful? Give feedback.
-
I used command PSET with your settings and my inverter shows AK 😊
2024-02-24 08:16:27,075:INFO:__init__:main@205: Solar Device Command Utility, version: 0.16.24-dev, python version: 3.11.2
2024-02-24 08:16:27,076:DEBUG:mqttbrokerc:__init__@29: mqttbroker config: {'name': 'localhost', 'port': 1883, 'user': None, 'pass': None}
2024-02-24 08:16:27,078:DEBUG:__init__:main@240: MqttBroker name: localhost, port: 1883, user: None
2024-02-24 08:16:27,078:DEBUG:__init__:main@242: udp port 5555
2024-02-24 08:16:27,079:DEBUG:__init__:main@244: Using Postgres None
2024-02-24 08:16:27,080:DEBUG:__init__:main@247: Using Mongo None with mppsolar
2024-02-24 08:16:27,081:INFO:__init__:main@358: Creating device "unnamed" (type: "mppsolar") on port "/dev/ttyUSB0 (porttype=None)" using protocol "PI30REVO"
2024-02-24 08:16:27,096:DEBUG:__init__:main@362: device_class
2024-02-24 08:16:27,097:DEBUG:device:__init__@34: __init__ args ()
2024-02-24 08:16:27,098:DEBUG:device:__init__@35: __init__ kwargs {'name': 'unnamed', 'port': '/dev/ttyUSB0', 'protocol': 'PI30REVO', 'baud': 2400, 'porttype': None, 'mqtt_broker': , 'udp_port': 5555, 'mongo_url': None, 'mongo_db': 'mppsolar', 'push_url': 'http://localhost:9091/metrics/job/pushgateway'}
2024-02-24 08:16:27,099:DEBUG:__init__:get_port_type@69: port matches ttyusb
2024-02-24 08:16:27,100:INFO:__init__:get_port@111: Using serialio for communications
2024-02-24 08:16:27,134:DEBUG:__init__:get_protocol@13: Protocol PI30REVO
2024-02-24 08:16:28,706:DEBUG:device:__init__@39: __init__ name unnamed, port , protocol PI30 protocol handler for REVO and similar inverters
2024-02-24 08:16:28,707:DEBUG:__init__:main@408: Commands [(, 'PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0', 'PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0', 'screen', None, None)]
2024-02-24 08:16:28,708:INFO:__init__:main@413: Looping 1 commands
2024-02-24 08:16:28,709:INFO:__init__:main@423: Getting results from device: mppsolar device - name: unnamed, port: , protocol: PI30 protocol handler for REVO and similar inverters for command: PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0, tag: PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0, outputs: screen
2024-02-24 08:16:28,710:INFO:device:run_command@51: Running command PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0
2024-02-24 08:16:28,710:INFO:pi30revo:get_full_command@463: Using protocol: b'PI30REVO' with 8 commands
2024-02-24 08:16:28,711:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0'
2024-02-24 08:16:28,711:DEBUG:abstractprotocol:get_command_defn@77: Regex commands _command: PSET
2024-02-24 08:16:28,717:DEBUG:abstractprotocol:get_command_defn@81: Matched: PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0 to: PSET value: 011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0
2024-02-24 08:16:28,717:DEBUG:pi30revo:get_full_command@474: Using CHK checksum approach for command PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0
2024-02-24 08:16:28,718:DEBUG:pi30revo:get_full_command@476: checksum 108
2024-02-24 08:16:28,719:DEBUG:pi30revo:get_full_command@485: full command: b'PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0l\r'
2024-02-24 08:16:28,719:INFO:device:run_command@81: full command b'PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0l\r' for command PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0
2024-02-24 08:16:28,720:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0'
2024-02-24 08:16:28,720:DEBUG:abstractprotocol:get_command_defn@77: Regex commands _command: PSET
2024-02-24 08:16:28,721:DEBUG:abstractprotocol:get_command_defn@81: Matched: PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0 to: PSET value: 011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0
2024-02-24 08:16:28,721:DEBUG:serialio:send_and_receive@19: port /dev/ttyUSB0, baudrate 2400
2024-02-24 08:16:29,218:DEBUG:serialio:send_and_receive@22: Executing command via serialio...
2024-02-24 08:16:30,219:DEBUG:serialio:send_and_receive@30: serial response was: b'NAK\xdb\r'
2024-02-24 08:16:31,294:DEBUG:device:run_command@98: Send and Receive Response b'NAK\xdb\r'
2024-02-24 08:16:31,295:INFO:abstractprotocol:decode@236: response passed to decode: b'NAK\xdb\r'
2024-02-24 08:16:31,295:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0'
2024-02-24 08:16:31,296:DEBUG:abstractprotocol:get_command_defn@77: Regex commands _command: PSET
2024-02-24 08:16:31,297:DEBUG:abstractprotocol:get_command_defn@81: Matched: PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0 to: PSET value: 011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0
2024-02-24 08:16:31,297:DEBUG:pi30revo:is_CHK_valid@425: Checksums match
2024-02-24 08:16:31,298:INFO:abstractprotocol:decode@280: Processing response of type DEFAULT
2024-02-24 08:16:31,298:DEBUG:pi30revo:is_CHK_valid@425: Checksums match
2024-02-24 08:16:31,299:DEBUG:abstractprotocol:decode@284: trimmed and split responses: [b'AK']
2024-02-24 08:16:31,300:INFO:abstractprotocol:decode@291: Processing DEFAULT type responses
2024-02-24 08:16:31,300:DEBUG:abstractprotocol:decode@308: result AK, key Command execution, resp_format ['ack', 'Command execution', {'NAK': 'Failed', 'ACK': 'Successful'}]
2024-02-24 08:16:31,301:INFO:device:run_command@116: Decoded response {'_command': 'PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0', '_command_description': 'Set current machine configuration information', 'raw_response': ['NAKÛ\r', ''], 'PSET': ['AK', '']}
2024-02-24 08:16:31,302:DEBUG:__init__:main@427: results: {'_command': 'PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0', '_command_description': 'Set current machine configuration information', 'raw_response': ['NAKÛ\r', ''], 'PSET': ['AK', '']}
2024-02-24 08:16:31,302:INFO:__init__:get_output@40: attempting to create output processor: screen
2024-02-24 08:16:31,309:DEBUG:screen:__init__@17: processor.screen __init__ args: (), kwargs: {}
2024-02-24 08:16:31,309:DEBUG:__init__:main@433: Using output filter: None
2024-02-24 08:16:31,310:INFO:screen:output@23: Using output processor: screen
2024-02-24 08:16:31,311:DEBUG:screen:output@24: kwargs {'data': {'_command': 'PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0', '_command_description': 'Set current machine configuration information', 'raw_response': ['NAKÛ\r', ''], 'PSET': ['AK', '']}, 'tag': 'PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0', 'name': 'unnamed', 'mqtt_broker': , 'udp_port': 5555, 'postgres_url': None, 'mongo_url': None, 'mongo_db': 'mppsolar', 'push_url': 'http://localhost:9091/metrics/job/pushgateway', 'mqtt_topic': None, 'filter': None, 'excl_filter': None, 'keep_case': False}
2024-02-24 08:16:31,312:DEBUG:screen:output@68: displayData: {'pset': ['AK', '']}
Command: PSET011103 56.0 56.7 47.5 47.0 030 000 2024 02 24 08 04 00001 56.0 - Set current machine configuration information
--------------------------------------------------------------------------------
Parameter Value Unit
pset AK
--------------------------------------------------------------------------------
2024-02-24 08:16:31,313:DEBUG:init:main@459: Not daemon, so not looping |
Beta Was this translation helpful? Give feedback.
-
Log for updating:pip install -e "git+https://github.com/jblance/mpp-solar.git#egg=mppsolar"Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Current settings:
I set PSET command to change work_mode to Batter first and ac_charging_current = 10A
2024-02-24 09:45:22,353:INFO:__init__:main@205: Solar Device Command Utility, version: 0.16.24-dev, python version: 3.11.2
2024-02-24 09:45:22,354:DEBUG:mqttbrokerc:__init__@29: mqttbroker config: {'name': 'localhost', 'port': 1883, 'user': None, 'pass': None}
2024-02-24 09:45:22,355:DEBUG:__init__:main@240: MqttBroker name: localhost, port: 1883, user: None
2024-02-24 09:45:22,356:DEBUG:__init__:main@242: udp port 5555
2024-02-24 09:45:22,357:DEBUG:__init__:main@244: Using Postgres None
2024-02-24 09:45:22,358:DEBUG:__init__:main@247: Using Mongo None with mppsolar
2024-02-24 09:45:22,358:INFO:__init__:main@358: Creating device "unnamed" (type: "mppsolar") on port "/dev/ttyUSB0 (porttype=None)" using protocol "PI30REVO"
2024-02-24 09:45:22,374:DEBUG:__init__:main@362: device_class
2024-02-24 09:45:22,375:DEBUG:device:__init__@34: __init__ args ()
2024-02-24 09:45:22,376:DEBUG:device:__init__@35: __init__ kwargs {'name': 'unnamed', 'port': '/dev/ttyUSB0', 'protocol': 'PI30REVO', 'baud': 2400, 'porttype': None, 'mqtt_broker': , 'udp_port': 5555, 'mongo_url': None, 'mongo_db': 'mppsolar', 'push_url': 'http://localhost:9091/metrics/job/pushgateway'}
2024-02-24 09:45:22,377:DEBUG:__init__:get_port_type@69: port matches ttyusb
2024-02-24 09:45:22,377:INFO:__init__:get_port@111: Using serialio for communications
2024-02-24 09:45:22,411:DEBUG:__init__:get_protocol@13: Protocol PI30REVO
2024-02-24 09:45:23,937:DEBUG:device:__init__@39: __init__ name unnamed, port , protocol PI30 protocol handler for REVO and similar inverters
2024-02-24 09:45:23,938:DEBUG:__init__:main@408: Commands [(, 'PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0', 'PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0', 'screen', None, None)]
2024-02-24 09:45:23,939:INFO:__init__:main@413: Looping 1 commands
2024-02-24 09:45:23,940:INFO:__init__:main@423: Getting results from device: mppsolar device - name: unnamed, port: , protocol: PI30 protocol handler for REVO and similar inverters for command: PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0, tag: PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0, outputs: screen
2024-02-24 09:45:23,940:INFO:device:run_command@51: Running command PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0
2024-02-24 09:45:23,941:INFO:pi30revo:get_full_command@495: Using protocol: b'PI30REVO' with 9 commands
2024-02-24 09:45:23,942:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0'
2024-02-24 09:45:23,942:DEBUG:abstractprotocol:get_command_defn@77: Regex commands _command: PSET
2024-02-24 09:45:23,947:DEBUG:abstractprotocol:get_command_defn@81: Matched: PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0 to: PSET value: 021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0
2024-02-24 09:45:23,948:DEBUG:pi30revo:get_full_command@513: Using CHK+1 checksum approach for command: PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0
2024-02-24 09:45:23,949:DEBUG:pi30revo:get_chk@485: checksum: 0x71
2024-02-24 09:45:23,950:DEBUG:pi30revo:get_full_command@523: full command: b'PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0q\r'
2024-02-24 09:45:23,951:INFO:device:run_command@81: full command b'PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0q\r' for command PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0
2024-02-24 09:45:23,951:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0'
2024-02-24 09:45:23,952:DEBUG:abstractprotocol:get_command_defn@77: Regex commands _command: PSET
2024-02-24 09:45:23,952:DEBUG:abstractprotocol:get_command_defn@81: Matched: PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0 to: PSET value: 021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0
2024-02-24 09:45:23,953:DEBUG:serialio:send_and_receive@19: port /dev/ttyUSB0, baudrate 2400
2024-02-24 09:45:23,958:DEBUG:serialio:send_and_receive@22: Executing command via serialio...
2024-02-24 09:45:24,914:DEBUG:serialio:send_and_receive@30: serial response was: b'NAK\xdb\r'
2024-02-24 09:45:26,014:DEBUG:device:run_command@98: Send and Receive Response b'NAK\xdb\r'
2024-02-24 09:45:26,015:INFO:abstractprotocol:decode@236: response passed to decode: b'NAK\xdb\r'
2024-02-24 09:45:26,015:DEBUG:abstractprotocol:get_command_defn@71: Processing command 'PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0'
2024-02-24 09:45:26,016:DEBUG:abstractprotocol:get_command_defn@77: Regex commands _command: PSET
2024-02-24 09:45:26,017:DEBUG:abstractprotocol:get_command_defn@81: Matched: PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0 to: PSET value: 021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0
2024-02-24 09:45:26,017:DEBUG:pi30revo:get_chk@488: checksum+1: 0xdb
2024-02-24 09:45:26,018:DEBUG:pi30revo:is_chk_valid@445: response chk: 0xdb
2024-02-24 09:45:26,018:DEBUG:pi30revo:is_chk_valid@447: Checksums match
2024-02-24 09:45:26,019:INFO:abstractprotocol:decode@280: Processing response of type DEFAULT
2024-02-24 09:45:26,020:DEBUG:pi30revo:get_chk@488: checksum+1: 0xdb
2024-02-24 09:45:26,020:DEBUG:pi30revo:is_chk_valid@445: response chk: 0xdb
2024-02-24 09:45:26,021:DEBUG:pi30revo:is_chk_valid@447: Checksums match
2024-02-24 09:45:26,021:DEBUG:abstractprotocol:decode@284: trimmed and split responses: [b'AK']
2024-02-24 09:45:26,022:INFO:abstractprotocol:decode@291: Processing DEFAULT type responses
2024-02-24 09:45:26,022:DEBUG:abstractprotocol:decode@308: result AK, key Command execution, resp_format ['ack', 'Command execution', {'NAK': 'Failed', 'ACK': 'Successful'}]
2024-02-24 09:45:26,023:INFO:device:run_command@116: Decoded response {'_command': 'PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0', '_command_description': 'Set current machine configuration information', 'raw_response': ['NAKÛ\r', ''], 'PSET': ['AK', '']}
2024-02-24 09:45:26,024:DEBUG:__init__:main@427: results: {'_command': 'PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0', '_command_description': 'Set current machine configuration information', 'raw_response': ['NAKÛ\r', ''], 'PSET': ['AK', '']}
2024-02-24 09:45:26,025:INFO:__init__:get_output@40: attempting to create output processor: screen
2024-02-24 09:45:26,031:DEBUG:screen:__init__@17: processor.screen __init__ args: (), kwargs: {}
2024-02-24 09:45:26,032:DEBUG:__init__:main@433: Using output filter: None
2024-02-24 09:45:26,032:INFO:screen:output@23: Using output processor: screen
2024-02-24 09:45:26,033:DEBUG:screen:output@24: kwargs {'data': {'_command': 'PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0', '_command_description': 'Set current machine configuration information', 'raw_response': ['NAKÛ\r', ''], 'PSET': ['AK', '']}, 'tag': 'PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0', 'name': 'unnamed', 'mqtt_broker': , 'udp_port': 5555, 'postgres_url': None, 'mongo_url': None, 'mongo_db': 'mppsolar', 'push_url': 'http://localhost:9091/metrics/job/pushgateway', 'mqtt_topic': None, 'filter': None, 'excl_filter': None, 'keep_case': False}
2024-02-24 09:45:26,034:DEBUG:screen:output@68: displayData: {'pset': ['AK', '']}
Command: PSET021103 56.0 56.7 47.5 47.0 030 010 2024 02 24 09 34 00001 56.0 - Set current machine configuration information
--------------------------------------------------------------------------------
Parameter Value Unit
pset AK
--------------------------------------------------------------------------------
I run command PQSE to check the settings and I see that all settings are the same:
|
Beta Was this translation helpful? Give feedback.
-
Log for _PSET command:
|
Beta Was this translation helpful? Give feedback.
-
You are the BEST !!! mpp-solar -P PI30REVO -p /dev/ttyUSB0 -c '_PSET021103 56.0 56.7 47.5 47.0 030 000 2024 02 24 10 28 00001 55.0' -D
|
Beta Was this translation helpful? Give feedback.
-
Could you look at this ?
|
Beta Was this translation helpful? Give feedback.
-
Hi, i have a REVO II / Igrid VE II inverter ( Sorotec/EASUN/POWLAND/AXPERT and i would be great that you could fine tune the protocol to work with this inverter.
So far i have used the PI41 to extract data, and generally it works but some information's is missing and other is swapped in names, like i have no information on PV input, but the PV current shows the power input instead the amps.
Dou you think it is possible? what would you need to fine tune this or create a other PI protocol to match this inverter perfectly? Maybe a connection to watchpower app remotely?
Beta Was this translation helpful? Give feedback.
All reactions