-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A few questions #2
Comments
Same issue here with the USB adapter. I've tried 2 different ones. They work on Windows using the monitoring app, but not on the Raspberry pi. I had an EPever and adapters worked on those, but this esmart3 is a challenge. |
Hi guys. One important point is that the eSmart3 doesn't send any data by itself. Data gets polled from the host/computer, and the eSmart3 responds. If you try this without the stock software you must send a message like REQUEST_MSG0 in esmart.py. jschutlz: Regarding your second question, the simplest way would be to use the load output on the eSmart3 to control a relay, and set a high disconnect voltage. A more robust way would be to use a coulomb counter to keep track of battery SoC and only run the heat pump when SoC is above e.g. 90 % with some hysteresis. If your load draws more power than you charge you can't keep your batteries fully charged. You need to duty cycle the load and reserve some of the battery capacity. |
Try with the FTDI adapter: |
Been there, done that. I ordered one specifically for this project/script. The lights flash and is recognized by Windows and the Pi, but there’s no output when the test script is run. Perhaps if a video showing how the script looks like when ran would be helpful.
…Sent from my iPhone
On Jun 30, 2019, at 2:30 AM, xixou2 ***@***.***> wrote:
Try with the FTDI adapter:
https://www.youtube.com/watch?v=K7rz3_kU4IE
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
i believe the problem with that rs485 adapter in the ebay link is that the pinout on the rj45 side is NOT correct for the esmart3. In order for that particular rs485 adapter to work you would need to re-terminate the rj45 connector. eSmart3 RJ45 pinout: 1: A Epever RJ45 pinout: |
Brilliant, that's exactly the kind of thing I thought might be the problem. I guess I can replace the RJ45 connector. Can I ask how you got those pinouts from the link? I can see you might work out the Epoever pinout from the page's description of how to repurpose a network cable, but I can't see any reference to the esmart pinouts. |
The esmart3 Pinout is provided on page 14 of the user manual (end of section 3, before section 4) as well as the readme.md of this project. |
For the life of me, I can't get this to work. I've tried everything I can think of, but still nothing. The EPEver is a lot easier to communicate with, but this is a real challenge (for me.) I can see the data light blinking on the USB adapter, but a blank terminal screen. SKAGMO, can you be a little more specific and provide instructions on how to get the data displayed on the terminal screen? I know many people here will appreciate it. |
@Domingorp To determine if this has to do with the RS-485 wiring, try installing a serial terminal such as Cutecom ("sudo apt install cutecom" in Linux).
First step now is to figure out if this works. This is as low level it gets without looking at the wiring. |
Ok, it worked at 9600. |
Ok, it was supposed to be 9600, but it was at least a good sanity check to see that it didn't work at 38400 ;) You mention a "data" LED blinking. If you have the same FTDI dongle as suggested, it should rather have "TX" LED and a "RX" LED. Is only TX blinking, or both TX and RX? How do you run it?
Text should start appearing. If it does not, or you get error messages, we need to troubleshoot further. |
Sent from Mail for Windows 10
From: skagmo
Sent: Tuesday, January 7, 2020 1:58 AM
To: skagmo/esmart_mppt
Cc: Domingorp; Mention
Subject: Re: [skagmo/esmart_mppt] A few questions (#2)
Ok, it was supposed to be 9600, but it was at least a good sanity check to see that it didn't work at 38400 ;)
You mention a "data" LED blinking. If you have the same FTDI dongle as suggested, it should rather have "TX" LED and a "RX" LED. Is only TX blinking, or both TX and RX?
How do you run it?
• Place "esmart.py" and "esmart_test.py" in the same folder
• Edit "/dev/ttyUSB0" in "esmart_test.py" to match the port of your FTDI interface
• "chmod +x esmart_test.py"
• "./esmart_test.py"
Text should start appearing. If it does not, or you get error messages, we need to troubleshoot further.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Yes, both LEDs are blinking and, I followed your suggestions. The program is running, LEDs are blinking, but I get a blank screen. I even ran dmesg to make sure the ttyUSB0 was the correct port. I hope this helps and thanks for taking your tie to assist with this. If this works, there could be a little something on the beer-replenishment fund. LOL.
|
My aim is to do something simple and cheap. So what I have now is one Raspberry Pi using code based on your work (https://github.com/jschultz/esmart-tools) communicating by IP with a second (distant) Raspberry PI that in turn communicates with the controller from the hot water system to obtain information the current temperature of the water. I then use a simple finite state machine to turn the hot water on and off based on these data. It being summer right now (in the southern hemisphere) I have plenty of sunlight and the temperature doesn't drop too much at night. The test will come with winter. But, to go back to my first question, I had thought that the way the esmart would dump excess power would be by moving the PV voltage away from the maximum power point. If that were the case then the PV voltage data from the esmart could be used to make a rough calculation of how much power was being dumped and thus whether there was sufficient reserve to start the hot water system. But that doesn't appear to be the case - even when the controller is in CF (float) mode and full sun on the panels, the PV voltage is no different from when the controller is charging as hard is it can. So instead I just made the logic start the HWS when the batteries are at full voltage and the charging current is lower than some threshold. |
@Domingorp Alright, that's strange. At least the requests gets sent, and you seem to get data back. Start by placing a few print-lines around the code. I don't know how familiar you are with Python, but make sure that you match the indention level where you insert the code. E.g., on line 87, insert 7 tab characters before you write "print...". You can not use spaces instead of tabs to get the same apparent indention level.
Paste what you get in the terminal. |
Got a screenshot. I believe it has something to do with the data format….
Sent from Mail for Windows 10
From: skagmo
Sent: Wednesday, January 8, 2020 3:34 PM
To: skagmo/esmart_mppt
Cc: Domingorp; Mention
Subject: Re: [skagmo/esmart_mppt] A few questions (#2)
Alright, that's strange. At least the requests gets sent, and you seem to get data back. Start by placing a few print-lines around the code.
I don't know how familiar you are with Python, but make sure that you match the indention level where you insert the code. E.g., on line 87, insert 7 tab characters before you write "print...". You can not use spaces instead of tabs to get the same apparent indention level.
• esmart_test.py line 25: "print('Started')"
• esmart.py, new line after line 52: "print('SOF')", and uncomment "else:" and "print c"
• esmart.py line 87: "print('Received packet')"
Paste what you get in the terminal.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Ok, can you share the screenshot? |
Ok. Send me your email and I'll give you the password for VNCSent from my T-Mobile 4G LTE Device
-------- Original message --------From: skagmo <notifications@github.com> Date: 1/9/20 12:21 PM (GMT-04:00) To: skagmo/esmart_mppt <esmart_mppt@noreply.github.com> Cc: Domingorp <domingo.rosario.paredes@gmail.com>, Mention <mention@noreply.github.com> Subject: Re: [skagmo/esmart_mppt] A few questions (#2) Ok, can you share the screenshot?
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.
[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "#2?email_source=notifications\u0026email_token=AJ3PXUT4BTMY6MATPSCXVVLQ45FIDA5CNFSM4H4BN3Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIQ3XTI#issuecomment-572636109",
"url": "#2?email_source=notifications\u0026email_token=AJ3PXUT4BTMY6MATPSCXVVLQ45FIDA5CNFSM4H4BN3Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIQ3XTI#issuecomment-572636109",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]
|
Ah, I just meant that you could share the screenshot (image), not a remote VNC session. Or you could just copy-paste the text content of the terminal window. |
If I share VNC info, it will be better and faster.
…On Thu, Jan 9, 2020, 3:35 PM skagmo ***@***.***> wrote:
Ah, I just meant that you could share the screenshot (image), not a remote
VNC session. Or you could just copy-paste the text content of the terminal
window.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2?email_source=notifications&email_token=AJ3PXUXFYA7LHFNZCOTM3KDQ4536RA5CNFSM4H4BN3Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIRQDPI#issuecomment-572719549>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJ3PXUSKFTS5N4BYUO26EQ3Q4536RANCNFSM4H4BN3QQ>
.
|
Sure, that's probably faster. You can send the details to web(at)skagmo(dot)com. |
Logged in to your RPi now. Cloned the repository and ran it, and it works :) I can see you had an esmart3.py file on you desk with content similar to an older version of esmart_test.py, but not the actual library esmart.py. Maybe that was the issue? For the future, run "git clone https://github.com/skagmo/esmart_mppt.git" to get the whole folder structure to your computer. Or click "Clone or download" and then "Download ZIP". |
Thanks for the hand. I also noticed that it can’t be run from within Geany.
Sent from Mail for Windows 10
From: skagmo
Sent: Thursday, January 9, 2020 4:40 PM
To: skagmo/esmart_mppt
Cc: Domingorp; Mention
Subject: Re: [skagmo/esmart_mppt] A few questions (#2)
Logged in to your RPi now. Cloned the repository and ran it, and it works :) I can see you had an esmart3.py file on you desk with the content of esmart_test.py, but not the actual library esmart.py. Maybe that was the issue? For the future, to get the whole repository, run "git clone https://github.com/skagmo/esmart_mppt.git" to get the whole folder structure to your computer.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Hi, |
@TeacherBiz I believe you are correct. At least that is the same change I made in my own project (based on @skagmo 's at https://github.com/jschultz/esmart-tools |
Hi @TeacherBiz . Thank you for the heads up. I assume that position/state was blank because my charger settings/voltage thresholds were set in a way so the charger would never enter CV state, but go directly from CC to float. But it definitely makes sense that there is a CV state in-between there! |
To continue the discussion regarding USB-RS485 adapters, I have had some strange things happen: For some time I have been using a cheap USB-RS485 adapter sold as being suitable for eSmart that I bought on ebay (I'd post a link but it doesn't seem to be available any more). This unit has worked fine with 40A and 60A esmart chargers charging 12V and 24V batteries, using a Raspberry Pi. However, when I upgraded my system to 48V, the adapter started outputting spurious incorrect characters. But where it gets even stranger is that if I use a laptop computer instead of the Raspberry Pi it once again works fine. So I thought the problem must be the cheap adapter and by using a different one I'd get it all working again. I tried to re-wire a different adapter I bought by mistake that seemed to be for an Epever unit (as discussed above in this thread) but never managed to receive a single byte from the eSmart. So I went and bought a simple adapter like the one recommended by @skagmo in the README file for this project. And once again I get the strange behaviour that it works fine when connected to my laptop but returns spurious characters through the Raspberry Pi. So I'm no electronics expert but it seems to me that there must be some voltage level exceeding tolerances that makes the RS485 adapters misbehave in the particular circumstance of an eSmart running a 48V system and a Raspberry Pi. Maybe the earth potential between the two devices has drifted too far apart? I'm out of my depth here but I'd really like to get my system working again. Any ideas? |
Hello everybody, I'm currently trying to read my iPanda MPPT Explorer via RS485. As far as I understand this devices works the same as the eSmart3 and thus I'm trying to use that script. However it doesn't work. I understand how the communication works and changed some bytes but didn't change anything. I simply never get a response at all, while sending data seems to work. I'm using the exact same USB adapter as @jschultz mentioned initially, but I removed the RJ45 plug and replaced it with a RJ45 keystone so I can patch the wires correctly. This runs via the USB 2 Port of a Raspberry Pi. It is absolute possible, that I've wired the adapter wrong. I'm not sure how to debug that. I've connect a RJ45 keystone to the other side of the patch cable and beeped the pins with my multimeter. Seems correct. However it really confused me that the yellow wire was GND, while the black wire was B and the red wire was A. Maybe I'll try to swap them. Do you guys have any idea, or any relevant information that could help me get this running? I'd be very thankful and glad to donate a coffee to the one who helps me to get any information out of this thing :D |
For me with the eSmart3 this repository worked straight out of the box.
The mppt charger came with an rj45 dongle that I plugged into a Raspberry
Pi.
…On Tue, 19 Apr 2022 at 15:10, Benjamin Klein ***@***.***> wrote:
Hello everybody,
I'm currently trying to read my iPanda MPPT Explorer via RS485.
As far as I understand this devices works the same as the eSmart3 and thus
I'm trying to use that script. However it doesn't work. I understand how
the communication works and changed some bytes but didn't change anything.
I simply never get a response at all.
I'm using the exact same USB adapter as @jschultz
<https://github.com/jschultz> mentioned initially, but I removed the RJ45
plug and replaced it with a RJ45 keystone so I can patch the wires
correctly.
Do you guys have any idea, or any relevant information that could help me
get this running? I'd be very thankful and glad to donate a coffee to the
one who helps me to get any information out of this thing :D
—
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AKVYRVHAAYG6ICZBGD6F2VTVF25F5ANCNFSM4H4BN3QQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Online ESL Teacher
Email
Tel
***@***.***
+44 20 3286 3334
+44 742 602 7024
|
Great work, I look forward to making use of it.
Can you help me with a couple of things?
I bought the following RS485 adapter but found it didn't work at all - that is I could see no data on the interface. I tried using Linux and Windows, including the eSmart software, but nothing. This made me pretty much give up until I saw your work. Can you suggest what the problem might be, or should I just start again with a different adapter?
The application I want to make of this is to control the operation of a heat pump hot water system that draws about 1000W. Having access to the battery voltage and charging current should give me some idea of whether the panels are producing excess power. But can you suggest some way to estimate how much power is being dumped? Or any other clever algorithm that would allow me to run the HWS for a maximum of time while keeping the batteries charged?
Many thanks!
The text was updated successfully, but these errors were encountered: