Is ezdata working or not?
-
Update.
When using ezdata "Save value" box, the M5go gets the error "Exception: Invalid Request in the setData ezdata function. -
the first question is fixed. you could clean the browser cache and refresh the page it would be solved.
the invalid request question could use a
try
except
to cover the request code. and then when the error happened. it won't stuck the program. -
@m5stack on my core2 after 2 set.data commands I get the [Errno 12] ENOMEM every time
makes the EZ data function useless.
Ive tried slowing down set data commands , once every 30 seconds , but the error occurs always.
I can only publish 2 data, then I must resethere is the code..what is wrong? it's quote absurd. The code is so simple....
from m5stack import *
from m5stack_ui import *
from uiflow import *
import ntptime
import wifiCfg
import time
from flow import ezdata
screen = M5Screen()
screen.clean_screen()
screen.set_screen_bg_color(0xFFFFFF)data = None
wifiCfg.doConnect('XXXXXXX"')
wifiCfg.autoConnect(lcdShow=False)import random
while True:
data = random.randint(0, 100)
try :
ezdata.setData('XXXXXXXX', 'temp', data)
except Exception as e:
print(str(e))
wait(30) -
Hello @lmartu68
I can use
get
multiple times but I see the same error as you after the secondset
command. Also at that state when running the same code again, my M5Core2 reboots.@m5stack : as ezData is of today it's fairly unusable with M5Core2 (haven't tried other M5Stack devices). What are we missing?
Thanks
Felix -
@felmue
Let’s hope for a solution.
I’ve had a love hate relationship with M5stack devices. They’re awesome …. But they’re so buggy they drive me nuts! -
@felmue
hello
not relevant this topic, but UIflow 1.9.1 is not downloading code to my devices, I'm getting a red error banner, with a check your api key or filename.
API key is correct.
I've tried reloading the 1.9.1 firmware, and getting a new api key for my device, but nothing.
Yesterday everything was working fine.
Do know if there Is there any way to get into contact with support? I'm pretty sure this is a widespread issue,.
thanks
L. -
@felmue Hi, were you able to solve this problem? Despite software version v1.11.0, I still can't stably connect to ezData. Even when I try to do Remote+ connection with reading temp sensor values it does not work. I can give the simplest code that counts every second and increases the value by one it still does not work. Do you know how I can connect Core2 so that I can store the temperature measurement in time and have remote access> thanks for any advice.
-
Hello @Dominikcnc
sorry no, seems to be broken still. Even counting up one every 10 seconds makes my M5Core2 (v1.10.0) crash (error 23) after about 8 counts.
@m5stack : hey guys, what are we doing wrong? Is there a limit about the update frequency? What are we missing?
Thanks
Felix -
@felmue It is strange that you can not communicate with the server. In my case the program works up to 8sec and gets error 23.
I'm disappointed because I bought 3 Core2 devices and sensors that I can't use now and probably won't be able to return them anymore -
Hello @Dominikcnc
actually I think I see the same as you. I count up (every 10 seconds) and after about 80 seconds (count is 8) I get error 23.
Thanks
Felix -
@felmue error 23 is normally a trusted security warning.
I haven't tested lately because I have been busy but I get get errors if you tried to post too quickly.
@Dominikcnc I have no problems using the Core2 AWS with AWS/Azure and a self hosted MQTT/Nodered service on a Raspberry pi
-
@ajb2k3 I have managed to connect to the AWS platform so far. I can send and receive information, only I do not know at this point how to make it publicly accessible and with graphs over time. I bought core2 because it was advertised as a great and easy to program device for everyone, and here it turns out that such a basic flaw has not been solved for over a year.
Thanks to your advice I increased the time in the loop to 25 seconds and so far it works (still testing). Unfortunately for one value. My project assumes 7 values from the temperature sensors, so I will have to refresh the loop every 3 minutes :) -
@dominikcnc I am working on a new book for the core 2 thanks to feedback from everyone about the first book. Time willing, I may be able to look into the issues over the holiday.
-
@ajb2k3 I didn't even know there was such a cool guide and I'm waiting for the second book. Good luck :)
I've played with the core2 device a bit and I'm not quite satisfied. The connection with ezData is not stable enough and I keep getting errors. I tried to increase the time of sending information to 2 minute between writes and with such a configuration I managed to strim the longest for 30h. I used the start timer and timer callback functions for this.
Now I made a program that uses the If function and sends information every 60 seconds. So far it has been working stably for 24h. @felmue forward -
@dominikcnc
You will have a more stable program if you use the asynchron EzData functions.
They are unfortunately not mentioned in the "documentation", but they are available in the M5Stack Flow interface. The main difference is that the asynchron functions implement a python callback function in the background (also accessible in the Flow view) to capture possible errors.
In my case I got frequent error "23" with the synchron Ezdaza functions.
As with all M5Stack flow interface functions there is no python exception handling implemented.
Therefore I had trouble with frequent program stops until I framed the EzData python functions in a TRY/EXCEPT block within an "execute" block.
However, later I discovered the asynchron EzData functions which will actually do this job.
Even better is that they do not slow down the main program flow which in my case detects the ticks and speed of my old Ferraris energy meter.
Note that in case of an error the value that you tried to push to the EzData queue is simply not stored.Example of the asynchron EzData functions:
-
@greoj, your suggestion was incredibly helpful. With my previous example, I was able to achieve 9 days of continuous operation without any suspensions. Now, with the asynchron ezData function, I'm able to record data on load every 5 seconds and it's working great. When errors pop up, the program continues to work and is able to start recording values again after a while. I think you managed to solve the problem. I'll let @ajb2k3, @lmartu68 and @felmue know."
-
What Kind of errors are you getting?
When I ran mine connected to a terminal I was getting memory errors which could be reduced by adding a code block with:import gc gc.collect()
To the beginning of the main loop.
-
Good morning,
I find myself with the same problem and despite the solutions provided, I can only send 9 data packets before the synchronization stops.
Do you have a new solution?