NeoPool commands results error #18991
-
Hi there. In sum i have two problems this this project. If the pump runs and i send NPFiltration 0, pump stops and went to manual. To start the only workaround is to set NPFiltrationMode to Auto (1). Problem 2 Any advice? |
Beta Was this translation helpful? Give feedback.
Replies: 16 comments 7 replies
-
Problem 1:Which exact Tasmota version are you using ? If you are using a build from before Jun 19th, this means that you get no response from the NeoPool => check connection and hardware If you are using a more recent version, then probably @curzon01 has a problem with his latest change #Problem 2 |
Beta Was this translation helpful? Give feedback.
-
Hi,
OK sorry for less information. My english is as bad as coding berry script ;).So i keep my explenations as short as possible.
This is my build.
Program Version 12.5.0.2(tasmota32)
Build Date & Time 2023-05-09T20:26:39
Core/SDK Version 2_0_9/4.4.4.20230310
Core data from NeoPool are sent and received via modbus. The communication is working. All data is present. Eg redox potential or running modes and so on.
As discriped is the documentation, NPFiltration and all other commands in the console response with an error. But sending command NPfiltrationmode 2 for example response with error but is working. The mode switches to automode.
Problem 2
I followed the description to add some buttons to the gui via berry script. This dont work at all.
Added the three *.be files via filemanager, loaded them in berry console without error.
This is what i get after opening the berry console
Bry: Exception> 'key_error' - Speed
Regards
Chris
…________________________________
Von: Barbudor ***@***.***>
Gesendet: Mittwoch, 28. Juni 2023 17:38
An: arendst/Tasmota
Cc: ChristianBlenk; Mention
Betreff: Re: [arendst/Tasmota] NeoPool commands results error (Discussion #18991)
@ChristianBlenk
Problem 1:
Which exact Tasmota version are you using ?
If you are using a build from before Jun 19th, this means that you get no response from the NeoPool => check connection and hardware
If you are using a more recent version, then probably @curzon01 has a problem with his latest change
#Problem 2
Instead of saying that it doesn't work as expected, please elaborate and details exactly what you have done and what is the result
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Problem 1
So you are using a build before the last change
Then it is may be that your device is slow (can't answer properly right after receiving a command) There was a recent attempt to fix that on June 19th so I suggest that you upgrade either to release 13.0 or to latest 13.0.x development version and report if it changes anything. Problem 2The
So if the command I suggest that you modify those 2 lines:
with
which will avoid a crash in the script and set the variable to 'invalid' if not found But definitively, problem 2 occurs because of problem 1 |
Beta Was this translation helpful? Give feedback.
-
Hi,
thanks in advance.
Ill try a new build and report the result
-Chris
________________________________
Von: Barbudor ***@***.***>
Gesendet: Mittwoch, 28. Juni 2023 19:10
An: arendst/Tasmota
Cc: ChristianBlenk; Mention
Betreff: Re: [arendst/Tasmota] NeoPool commands results error (Discussion #18991)
Problem 1
Build Date & Time 2023-05-09T20:26:39
So you are using a build before the last change
Which means that the command NPFiltration return an error in case of communication problem
If you confirm that
the command is actually taken into account by the device => you don't have problem talking to the device
the other parameters are returned properly from the device => you don't have problem receiving from the device
Then it is may be that your device is slow (can't answer properly right after receiving a command)
There was a recent attempt to fix that on June 19th so I suggest that you upgrade either to release 13.0 or to latest 13.0.x development version and report if it changes anything.
Problem 2
The Speed field seems to be used in script neopoolgui.be in line
var speed = tasmota.cmd('NPFiltration')['Speed']
So if the command NPFiltration with no argument is returning Error it is normal that this line fails becaue Berry cannot find the Speed info in the JSON
I suggest that you modify those 2 lines:
var speed = tasmota.cmd('NPFiltration')['Speed']
var mode = tasmota.cmd('NPFiltrationmode')['NPFiltrationmode']
with
var speed = tasmota.cmd('NPFiltration').find('Speed', 'invalid')
var mode = tasmota.cmd('NPFiltrationmode').find('NPFiltrationmode', 'invalid')
which will avoid a crash in the script and set the variable to 'invalid' if not found
But definitively, problem 2 occurs because of problem 1
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
@barbudor excellent analysis - I should catch a few more exceptions within the scripts ;-) @ChristianBlenk important info missing is which device you are using with the Neopool driver? There may still be a communication problem, e.g. the redox value is only the read of a single register, switching the filtration requires several successive read/write accesses. You can get more information about this with Weblog 4, if that is not enough, you can translate Tasmota with activated sensor logging (#define DEBUG_TASMOTA_SENSOR). |
Beta Was this translation helpful? Give feedback.
-
Independent of the NPFiltration error result: NPFiltration with switch parameter always switchs to manual mode. You cant switch filtration in Auto mode, not even on the unit. |
Beta Was this translation helpful? Give feedback.
-
To be exact: NPFiltration 0|1 ends in manual mode, it doesn't matter if you turn it off or on. I have already understood that NPFiltration 1 returns "error". Commonly "Error" is returning due to a communication problems. This can be hardware based (interface) or your device is not responding to the Modbus register, but Oxilife should work. Unlike all other commands like NPFiltrationMode, NPRedox, which all read and write only one simple Modbus register, the command NPFiltration needs several read/write operations on different registers. Unfortunately, it is not possible to deduce from the functionality of the simple commands that the communication works at all. If there is a communication problem, the processing of a single register may just work, but the processing of several registers, as required for NPFiltration, will no longer work. Weblog 4 and possibly compiling Tasmota with active sensor debugging shows whether there are problems here or not. |
Beta Was this translation helpful? Give feedback.
-
As long as cmnd return error, communication is broken in one way or another and changes to the script are workarounds around the real problem. Weblog 4 and/or sensor debugging helps... |
Beta Was this translation helpful? Give feedback.
-
The line But does not contain more info. |
Beta Was this translation helpful? Give feedback.
-
Okay here is the log. Updated to 13.0.0 with debug_tasmota_Sensor Salting Device Oxilife 1 (Hobby Pool, Sugar Valey) 20:32:21.503 NEO: addr 0x0002 read data error 159 |
Beta Was this translation helpful? Give feedback.
-
As you can see your RS485 interface has communication issues, data expected from unit are not received. |
Beta Was this translation helpful? Give feedback.
-
Yes they do. All values in Tasmota are correct. Setpoints, voltages, relays
aso.
The Tasmota MCU and rhe RS485 module is soldered together. Perhaps the wire
to the Oxilife is too long. But RS485 is a serial bus for long distances.
Ill check this.
Norbert Richter ***@***.***> schrieb am Do., 29. Juni 2023,
21:59:
… As you can see your RS485 interface has communication issues, data
expected from unit are not received.
Check the cables and powering for ESP and interfaces. Don't know how
exactly you build your hardware. You need to remove the read errors. Are
both LEDs on your RS485 interface are blinking frequently?
—
Reply to this email directly, view it on GitHub
<#18991 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AUGWGCGY7BL2KZDXBFYBXJ3XNXNBPANCNFSM6AAAAAAZW7QS4Q>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Bad interfacing may not lead to a complete non-functionality. Values on main GUI indicates that communication is sometimes complete, but the read errors log is showing are not. |
Beta Was this translation helpful? Give feedback.
-
termination resistor is not neccessray, powering the stuff using the Oxilife and stepdown could be the issue, I'd no luck in the past got it running stable, ESP32 is senstive. Using 8266 you will loose the berry support... |
Beta Was this translation helpful? Give feedback.
-
ESP32 on 5V powersupply (MeanWell HDR-15-5), then 3,3V from ESP32 to RS485 (as shown in NeoPool doku Connection) Using 5V on RS485 may destroy your GPIOs earlier or later... |
Beta Was this translation helpful? Give feedback.
-
Okay, done. TTL to UART converter was the problem. I think that the working voltage which was in the specs 3,3 to 5v is a mistake. It can only read/write single registers without timeout at low voltage. New ttl to uart do the job with stepdown voltage from the Oxylife. Thanks for support. |
Beta Was this translation helpful? Give feedback.
Okay, done. TTL to UART converter was the problem. I think that the working voltage which was in the specs 3,3 to 5v is a mistake. It can only read/write single registers without timeout at low voltage. New ttl to uart do the job with stepdown voltage from the Oxylife. Thanks for support.