Hi,
i have an issue with text input node (configured as time picker). I have two tabs, which contain time picker inputs. When i switch between tabs, the time (e.g. 12:00) display changes to "--:--". Only when i refresh the browser, the time comes back.
Can you help me to find workaround for this issue?
Btw. normal text input works very well.
Browser: Chrome 72.0, Firefox (produces also other issues...)
Thanks in advance!
It seems I had this problem at one time with the numeric input.
What I had to do was essentially initialize the input with last known value. If the user changed the value, I would feed it back into the node. Seemed to work very well.
Hi seth350, thanks for the answer. I will test your proposal. Meanwhile i found a workaround - i use regular text input and a function node behind, which implements simple time format validation (hh:mm).
I am experiencing this issue, exactly as you describe it.
I have time picker text fields on a secondary dashboard tab which are populated at start up, but they initially display "- -:- -" when the tab is viewed. Refreshing the page shows the values correctly. If I navigate back to the main tab, reload the page and then return to the time picker tab, they show "- -:- -" again.
I have tried setting the time pickers using both the default number values, and also "HH:mm" text values, with the same result.
Did you identify any solution, other than your workaround using formatted text boxes?
It sends out a number of milliseconds since midnight - If you inject that back in it will preset to that time.
I'm OK with injecting the values, my problem is the issue described by the OP; the injected values are not displayed when the dashboard is first viewed at start up, or after navigating away from the dashboard tab and returning, until the page is refreshed.
you may need to hook the tab change event from the ui_control widget in order to resend the data to the widget.
Thanks, I have already added the tab change as a trigger for a UI node update, so the data injection is happening, but the widgets don't show anything when the page is visited until the page is manually refreshed, just "- -/- -".
I also have number pickers on the same tab which update and display immediately, without any problems when the page is visited. This appears to be a specific issue with the text inputs in date picker format. It's exactly what the OP is describing in his original post.
you may need to add a delay in order to allow the actual page to render first before sending the update.
Sorry I haven't replied for a while. I've experimented with delays but this doesn't solve the problem. As mentioned above, I have numeric controls on the same tab that work fine. This appears to be a time picker specific bug.
I am also seeing this problem.. I made it so I periodically send the preset times to the picker but all I get is - -:--.. If I refresh the page I get the correct values.. Or if I try to set a time it then gets updated with the correct values.. Must be a timepicker bug
can you provide a cut down flow demonstrating this issue?
Will try to make a flow tonight.. I can't share mine since I am using alot of MQTT nodes and simatic S7 nodes..
Here is a simple test fow ... When you deploy the flow and go to the UI you will see --:-- . Then you press inject and if you goabck to the UI you SHOULD see 18:03. But I see --:-- and if I refresh the page I see 18:03.
[{"id":"395d35e6.34878a","type":"tab","label":"TestFlow","disabled":false,"info":""},{"id":"6a89b428.e4a81c","type":"ui_text_input","z":"395d35e6.34878a","name":"","label":"","tooltip":"","group":"bbd2d136.98e4c","order":0,"width":0,"height":0,"passthru":true,"mode":"time","delay":300,"topic":"","x":600,"y":180,"wires":[["985b0193.af19e"]]},{"id":"985b0193.af19e","type":"debug","z":"395d35e6.34878a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":730,"y":180,"wires":[]},{"id":"fe729894.561788","type":"inject","z":"395d35e6.34878a","name":"","topic":"","payload":"65000000","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":460,"y":180,"wires":[["6a89b428.e4a81c"]]},{"id":"bbd2d136.98e4c","type":"ui_group","z":"","name":"Group 1","tab":"3434dd4c.01bec2","order":1,"disp":true,"width":15,"collapse":false},{"id":"3434dd4c.01bec2","type":"ui_tab","z":"","name":"TestTab","icon":"dashboard","order":10,"disabled":false,"hidden":false}]
When I deploy I see this:
and after I press the inject I see this:
- What platform are you using for NR
- are you acessing NR from a different device - i'e' a Pi is running nr, but you are using a pc to access it from the local network?
- what browser are you using
- what version of NR and node.js?
Ups.. Open the text input and select "Time picker"
it is set to time picker in the flow you provided.
(add to my questions above - what version of the dashboard?)
Node red 1.0.3
Dash 2.23.2 - i'm uodating to 2.23.3 (didn't see there is a new version)
Google chrome - i tried it on my tabled and phone and PC
NR is running on a nano pi neo2 and i access with a tablet
Where can i find the node.js version?
you can see the node.js verion in the startup log or by opening a terminal window on the device and entering node -v
also node-red is at version 1.1.3
Node js is at 12.18.3