Closed krikkoo closed 3 years ago
Hi @krikkoo, As you can see on the Node-RED forum, I have announced the JS functionality 6 days ago as 2.1.0 beta version. I hope that both requestors of the 2 large new features will do some tests before I publish it on NPM. If nobody has responded next week, I will publish it anyway ... Bart
Hi @bartbutenaers, Thank you for your clarification. I have installed your beta to have same test. Please note that my knowledge on JS is very low, I have copied your example about circle and I would you report the following, maybe will be useful for you: On Safari double click injection it seems not work On chrome it work the injection but the browser enter in a loop and continues to show the alert after the first double click even if I click OK in the pop-up.
Thank you for your great job Regards Record screen.mov.zip
Hey @krikkoo, Thanks for testing!
On Safari double click injection it seems not work
Are there any errors in the browser console logs?
On chrome it work the injection but the browser enter in a loop
I cannog explain that. I do all my developments in Chrome on Winows 10. On which OS are you running?
Hi, In the console no error is raising, so I suppose there is no issue in the development, probably compatibility problems. My OS is Catalina 10.15.7, Safari version is 14.0 and Chrome version is 86.0.4240.183 Maybe you can do some test in a virtual box machine. I can tell you another thing that not work in Safari but work in Chrome; In the Animate tab the "animation type" dropdown not appearing even if attribute name is "transform", but this deviate from this topic.
Any way thanks for your support and job.
Maybe you can do some test in a virtual box machine.
Ok thanks. Then this new version will have to wait some time, because I have not enough free time at the moment to setup such an environment where I can start debugging. Damn ...
Thanks to you for your devotion. I would you ask you another thinks that I did not found in any example, how it is possible to trigger an automation inside the JS tab with script. I tried a lot but my JS is limited. Thank you again.
@krikkoo, I have installed MacOS via VirtualBox on my Windows 10 portable. At the end I have nothing fixed in my code, because I 'think' that it works correctly... Instead I assume it was caused due to some issues in my example flow.
Here is a better example flow (which I will update on the readme page):
[{"id":"89244415.be9278","type":"ui_svg_graphics","z":"a03bd3cf.177578","group":"5ae1b679.de89c8","order":4,"width":"0","height":"0","svgString":"<svg x=\"0\" y=\"0\" height=\"350\" viewBox=\"-0.04032258064515237 0 250.0806451612903 350\" width=\"250\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" preserveAspectRatio=\"xMidYMid meet\">\n<circle id=\"my_circle\" cx=\"30\" cy=\"30\" r=\"25\" style=\"stroke: none; fill: #0000ff;\">\n</circle>\n</svg>","clickableShapes":[],"javascriptHandlers":[{"selector":"#my_circle","action":"click","sourceCode":"var letters = '0123456789ABCDEF';\n var color = '#';\n for (var i = 0; i < 6; i++) {\n color += letters[Math.floor(Math.random() * 16)];\n }\n\n$(\"#my_circle\")[0].style.fill = color;\n \n$scope.send({payload: color, topic: 'circle_color'})"}],"smilAnimations":[{"id":"","targetId":"","classValue":"","attributeName":"transform","transformType":"rotate","fromValue":"","toValue":"","trigger":"msg","duration":"1","durationUnit":"s","repeatCount":"0","end":"restore","delay":"1","delayUnit":"s","custom":""}],"bindings":[],"showCoordinates":false,"autoFormatAfterEdit":true,"showBrowserErrors":true,"showBrowserEvents":true,"outputField":"payload","editorUrl":"http://drawsvg.org/drawsvg.html","directory":"","panning":"disabled","zooming":"disabled","panOnlyWhenZoomed":false,"doubleClickZoomEnabled":false,"mouseWheelZoomEnabled":false,"name":"SVG with Javascript","x":540,"y":180,"wires":[["e06da0e0.2c837"]]},{"id":"d9df6292.785bc","type":"inject","z":"a03bd3cf.177578","name":"Show alert at click","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"command\":\"add_js_event\",\"event\":\"click\",\"selector\":\"#my_circle\",\"script\":\"alert('Click event handled on the client ...')\"}","payloadType":"json","x":230,"y":140,"wires":[["89244415.be9278"]]},{"id":"5074f893.d378d8","type":"inject","z":"a03bd3cf.177578","name":"Remove clicked event","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"command\":\"remove_js_event\",\"event\":\"click\",\"selector\":\"#my_circle\"}","payloadType":"json","x":240,"y":180,"wires":[["89244415.be9278"]]},{"id":"e06da0e0.2c837","type":"debug","z":"a03bd3cf.177578","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":750,"y":180,"wires":[]},{"id":"8572fad7.dd39b8","type":"inject","z":"a03bd3cf.177578","name":"change color at click","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"command\":\"add_js_event\",\"event\":\"click\",\"selector\":\"#my_circle\",\"script\":\"var letters = '0123456789ABCDEF'; var color = '#'; for (var i = 0; i < 6; i++) { color += letters[Math.floor(Math.random() * 16)]; } $('#my_circle')[0].style.fill = color; $scope.send({payload: color, topic: 'circle_color'})\"}","payloadType":"json","x":230,"y":280,"wires":[["89244415.be9278"]]},{"id":"f678a359.157b4","type":"comment","z":"a03bd3cf.177578","name":"Multiline program ...","info":"","x":220,"y":240,"wires":[]},{"id":"5ae1b679.de89c8","type":"ui_group","name":"Press Demo","tab":"3667e211.c08f0e","order":1,"disp":true,"width":"5","collapse":false},{"id":"3667e211.c08f0e","type":"ui_tab","name":"Home","icon":"dashboard","order":1,"disabled":false,"hidden":false}]
This works for me on MacOs in Safari:
And on MacOs in Chrome I also get a 'single' alert popup:
Note that you need to remove the previous event handler (via the center inject node), before you add a new event handler. Otherwise you will see this error (when you have activated the setting 'show browser errors on server side':
Note that errors in the injected Javascript code will also be displayed, when that setting is activated. For example we inject javascript code where a ;
is forgotten between the two statements:
"var x=1 var y=2;"
Then this error will be displayed, as soon as you trigger the event in the dashboard (i.e. as soon as the javascript code is executed):
And to make troubleshooting a bit easier in the future, I have added a extra checkbox:
When that checkbox is checked, a entry will appear in the Debug sidebar for every event that will be triggered:
Can you let me know if this works also works on your Mac?
For me the dropdown appears both in Chrome and Safari. Of course it will only appear for attribute name "transform" and after you press the TAB button. For example for Safari:
how it is possible to trigger an automation inside the JS tab with script. I tried a lot but my JS is limited.
What do you mean with "automation". And please share what you have tried already! And please ask javascript related questions next time on the Node-RED forum, because I cannot solve all kind of javascript related questions here on my own...
Hi Bart, Thank you for your complete report, you are the best one. I have fixed the example like yours and now it work like a charm. I don't know why the animation dropdown did not appear, after the latest update it works.
Coming back to my query, I have this animation
and I would like to trigger it from JS tab
I have tried lot of command without success. This error appear.
I know it could be possible to create a message payload to do the same thing, but from JS should be easier and faster.
Thank you again for your support and sorry if I bothered you. You can close the issue. Regards
I have tried lot of command without success.
That is indeed weird... Should really expect that your flow should work. Can you please export this part of your flow and share it here!
I have created quickly a test flow:
[{"id":"b209d867.8fb108","type":"ui_svg_graphics","z":"6e219eb.05dce6","group":"5ae1b679.de89c8","order":4,"width":"0","height":"0","svgString":"<svg x=\"0\" y=\"0\" height=\"350\" viewBox=\"-0.04032258064515237 0 250.0806451612903 350\" width=\"250\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" preserveAspectRatio=\"xMidYMid meet\">\n<circle id=\"my_circle\" cx=\"30\" cy=\"30\" r=\"25\" style=\"stroke: none; fill: #0000ff;\">\n</circle>\n</svg>","clickableShapes":[],"javascriptHandlers":[{"selector":"#my_circle","action":"click","sourceCode":"$(\"#my_animation\")[0].beginElement()"}],"smilAnimations":[{"id":"my_animation","targetId":"my_circle","classValue":"","attributeName":"fill","transformType":"rotate","fromValue":"blue","toValue":"red","trigger":"msg","duration":"3","durationUnit":"s","repeatCount":"0","end":"restore","delay":"1","delayUnit":"s","custom":""}],"bindings":[],"showCoordinates":false,"autoFormatAfterEdit":true,"showBrowserErrors":true,"showBrowserEvents":true,"outputField":"payload","editorUrl":"http://drawsvg.org/drawsvg.html","directory":"","panning":"disabled","zooming":"disabled","panOnlyWhenZoomed":false,"doubleClickZoomEnabled":false,"mouseWheelZoomEnabled":false,"name":"SVG with Javascript","x":680,"y":320,"wires":[["e3544234.437"]]},{"id":"5ae1b679.de89c8","type":"ui_group","name":"Press Demo","tab":"3667e211.c08f0e","order":1,"disp":true,"width":"5","collapse":false},{"id":"3667e211.c08f0e","type":"ui_tab","name":"Home","icon":"dashboard","order":1,"disabled":false,"hidden":false}]
The SVG contains a simple circly with id my_circle
:
<svg x="0" y="0" height="350" viewBox="-0.04032258064515237 0 250.0806451612903 350" width="250" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet">
<circle id="my_circle" cx="30" cy="30" r="25" style="stroke: none; fill: #0000ff;">
</circle>
</svg>
I have an animation with id my_animation
, that changes the my_circle's color from blue to red:
my_animation should be started as soon as the circle is clicked:
And it indeed works like that:
No idea why your example doesn't work, when looking at the screenshots....
I have added your flow and it works as expected, great..
Can you please export this part of your flow and share it here!
Here below my test, it is a work in progress and some things could be improved.
[{"id":"9d2ddf5e.b72f08","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"cbaacb83.0da518","type":"ui_svg_graphics","z":"9d2ddf5e.b72f08","group":"4ffb8df1.2bd194","order":1,"width":"0","height":"0","svgString":"<svg x=\"0\" y=\"0\" height=\"204\" width=\"264\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" preserveAspectRatio=\"xMidYMid meet\">\n\n <g id=\"background\">\n <rect id=\"background_rect\" x=\"2\" y=\"2\" rx=\"10\" ry=\"10\" height=\"170\" width=\"260\" fill=\"var(--nr-dashboard-widgetTextColor)\" style=\"stroke:black;stroke-width:1px;\"/>\n <image id=\"away_set_img\" x=\"70\" y=\"139\" width=\"36\" height=\"24\" style=\"cursor:pointer;\" preserveAspectRatio=\"xMidYMid meet\" xlink:href=\"data:image/png;base64,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\"/>\n <image id=\"frozen_set_img\" x=\"20\" y=\"139\" width=\"36\" height=\"24\" style=\"cursor:pointer;\" preserveAspectRatio=\"xMidYMid meet\" xlink:href=\"data:image/png;base64,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\"/>\n <text id=\"room_text\" x=\"180\" y=\"31\" style=\"fill: black; font-family: Arial; font-size: 25px; text-anchor: middle; font-variant-caps: small-caps;font-weight:lighter;\" lengthAdjust=\"spacing\">Salone</text>\n <text id=\"battery\" x=\"220\" y=\"163\" font-family=\"FontAwesome\" fill=\"black\" font-size=\"20px\" display=\"inline\"></text>\n <image id=\"wifi4_img\" x=\"160\" y=\"144\" width=\"40\" height=\"18\" display=\"none\" preserveAspectRatio=\"xMidYMid meet\" xlink:href=\"data:image/png;base64,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\"/>\n <image id=\"wifi3_img\" x=\"160\" y=\"144\" width=\"40\" height=\"18\" display=\"none\" preserveAspectRatio=\"xMidYMid meet\" xlink:href=\"data:image/png;base64,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\"/>\n <image id=\"wifi2_img\" x=\"160\" y=\"144\" width=\"40\" height=\"18\" display=\"none\" preserveAspectRatio=\"xMidYMid meet\" xlink:href=\"data:image/png;base64,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\"/>\n <image id=\"wifi1_img\" x=\"160\" y=\"144\" width=\"40\" height=\"18\" display=\"none\" preserveAspectRatio=\"xMidYMid meet\" xlink:href=\"data:image/png;base64,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\"/>\n <image id=\"wifierr_img\" x=\"160\" y=\"144\" width=\"40\" height=\"18\" display=\"inline\" preserveAspectRatio=\"xMidYMid meet\" xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAQCAYAAAAFzx/vAAAAAXNSR0IArs4c6QAAAWNJREFUOBFjZCAR+Pj4SP/+/dvi/////EB8c/fu3UdJMYKRFMWurq75QPWdQIvYYfoYGRlPcXNzu2/YsOEDTAwfzYxPElkOaJkqkL8ZaBkrkN4DsghI6wCx9K9fv9jv3bu3E8gmCJgIqoAqYGJiEgRatgTIncfKyuoDDMpIIPsFVBrkGKIAC1GqgIp27twJ8hEIg4Gbm1vWv3//JEAcoG/3QEQJk0T7EGYU0JeMwOCdAbRsKlDsPxB37Nq1axJMnhBNUqIBGebp6SkDTKWPQWygz2KBQQsKZqIBOT5kAVq0GIStra1XEG0TVCHJFlpYWDwBJqCNQP1rgPgfqRYSnS1gBrOwsIQA43E1kB/55MmTo3fv3r0HkyOGJjqVwgwDZonbwDgEZfI/wGC9DxOnKZ2WlsYaGhpKcujQ1FGDxnBGZ2dnUOaFg71794LzJqniLi4uKObs2bMHbA66OMnZAu4yMhkA9cF4tNDwDZEAAAAASUVORK5CYII=\"/>\n </g>\n <g id=\"temp_get_group\">\n <rect id=\"temp_get_rect\" x=\"20\" y=\"42\" width=\"90\" height=\"85\" rx=\"10\" ry=\"10\" style=\"fill:white;stroke:silver;stroke-width:1px;\"/>\n <text id=\"temp_get_text\" x=\"40\" y=\"90\" style=\"fill:black;font-family:Arial;font-size:40px;\">22</text>\n <text id=\"temp_get_decimal_text\" x=\"82\" y=\"75\" style=\"fill:black;font-family:Arial;font-size:20px;\">0</text>\n <image id=\"boiler_on_img\" x=\"38\" y=\"87\" width=\"38\" height=\"40\" display=\"inline\" preserveAspectRatio=\"xMidYMid meet\" xlink:href=\"data:image/png;base64,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dHA6Ly9ucy51c2VwbHVzLm9yZy9sZGYveG1wLzEuMC8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOjRhYzkxOTI2LWZmNjMtNDI3Mi1iYjU2LWUyMjg4MTUwZmE4NyIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4YmFlYmM2MS1hMTdjLTRmNGItYmM2Ni05YTRjYTI5ZWQzZTYiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3MDAyY2YzYy1jYmNiLTQ5NGItODdkOS1kMDUwYTEyNzU3NzMiCiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09Ik1hYyBPUyIKICAgR0lNUDpUaW1lU3RhbXA9IjE2MDM1NzcwMDY4MjU0NTciCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4xMiIKICAgZGM6Rm9ybWF0PSJpbWFnZS9wbmciCiAgIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI0OSIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjUxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCI+CiAgIDxpcHRjRXh0OkxvY2F0aW9uQ3JlYXRlZD4KICAgIDxyZGY6QmFnLz4KICAgPC9pcHRjRXh0OkxvY2F0aW9uQ3JlYXRlZD4KICAgPGlwdGNFeHQ6TG9jYXRpb25TaG93bj4KICAgIDxyZGY6QmFnLz4KICAgPC9pcHRjRXh0OkxvY2F0aW9uU2hvd24+CiAgIDxpcHRjRXh0OkFydHdvcmtPck9iamVjdD4KICAgIDxyZGY6QmFnLz4KICAgPC9pcHRjRXh0OkFydHdvcmtPck9iamVjdD4KICAgPGlwdGNFeHQ6UmVnaXN0cnlJZD4KICAgIDxyZGY6QmFnLz4KICAgPC9pcHRjRXh0OlJlZ2lzdHJ5SWQ+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpTZXE+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmRmYzgwM2E4LTMyMTQtNGZjYy05N2IwLTVmZDg2M2FhMWJlZiIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChNYWMgT1MpIgogICAgICBzdEV2dDp3aGVuPSIyMDIwLTEwLTI1VDAwOjAzOjI2KzAyOjAwIi8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICAgPHBsdXM6SW1hZ2VTdXBwbGllcj4KICAgIDxyZGY6U2VxLz4KICAgPC9wbHVzOkltYWdlU3VwcGxpZXI+CiAgIDxwbHVzOkltYWdlQ3JlYXRvcj4KICAgIDxyZGY6U2VxLz4KICAgPC9wbHVzOkltYWdlQ3JlYXRvcj4KICAgPHBsdXM6Q29weXJpZ2h0T3duZXI+CiAgICA8cmRmOlNlcS8+CiAgIDwvcGx1czpDb3B5cmlnaHRPd25lcj4KICAgPHBsdXM6TGljZW5zb3I+CiAgICA8cmRmOlNlcS8+CiAgIDwvcGx1czpMaWNlbnNvcj4KICAgPGV4aWY6VXNlckNvbW1lbnQ+CiAgICA8cmRmOkFsdD4KICAgICA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1bHQiPlNjcmVlbnNob3Q8L3JkZjpsaT4KICAgIDwvcmRmOkFsdD4KICAgPC9leGlmOlVzZXJDb21tZW50PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg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\" transform=\"matrix(0.585428 0 0 0.585428 33.7423 44.5555)\"/>\n </g>\n <g id=\"temp_set_group\">\n <rect id=\"temp_set_rect\" x=\"40\" y=\"12\" width=\"50\" height=\"40\" rx=\"5\" ry=\"5\" style=\"fill:black;stroke:black;stroke-width:1px;\"/>\n <text id=\"temp_set_text\" x=\"45\" y=\"44\" style=\"fill: white; font-family: Arial; font-size:30px;\">16</text>\n <text id=\"temp_set_decimal_text\" x=\"79\" y=\"34\" style=\"fill:white;font-family:Arial;font-size:15px;\">0</text>\n </g>\n <g id=\"temp_down_group\" style=\"cursor:pointer;\">\n <circle id=\"temp_down_circle\" cx=\"160\" cy=\"83\" r=\"20\" style=\"fill:white;stroke-width:0.5px;stroke-opacity:1;stroke:silver;cursor:pointer;\"/>\n <text id=\"temp_down_text\" x=\"153\" y=\"94\" style=\"fill:silver;font-family:Arial;font-size:40px;cursor:pointer;\">-</text>\n </g>\n <g id=\"temp_up_group\" style=\"cursor:pointer;\">\n <circle id=\"temp_up_circle\" cx=\"230\" cy=\"83\" r=\"20\" style=\"fill:white;stroke-width:0.5px;stroke-opacity:1;stroke:silver;cursor:pointer;\"/>\n <text id=\"temp_up_text\" x=\"218\" y=\"97\" style=\"fill:silver;font-family:Arial;font-size:40px;cursor:pointer;\">+</text>\n </g>\n\n</svg>\n","clickableShapes":[{"targetId":"#temp_down_group","action":"dblclick","payload":"","payloadType":"str","topic":"Netatmo/temp/set/down"},{"targetId":"#temp_up_group","action":"click","payload":"","payloadType":"str","topic":"Netatmo/temp/set/up"},{"targetId":"#away_set_img","action":"click","payload":"","payloadType":"str","topic":"Netatmo/temp/set/away"},{"targetId":"#frozen_set_img","action":"click","payload":"","payloadType":"str","topic":"Netatmo/temp/set/frozen"}],"javascriptHandlers":[{"selector":"#temp_down_group","action":"click","sourceCode":"var setpoint_decimal = $(\"#temp_set_decimal_text\")[0]. textContent;\nvar setpoint = $(\"#temp_set_text\")[0]. textContent;\n\nif (setpoint==\"MAX\") {\n $(\"#temp_set_decimal_text\")[0]. textContent='5';\n $(\"#temp_set_text\")[0]. textContent= '29';\n}else if (setpoint==\"0\") {\n $(\"#temp_set_text\")[0]. textContent= 'OFF';\n $(\"#temp_set_decimal_text\")[0]. textContent='';\n}else {\n\n if (setpoint_decimal==\"5\") {\n $(\"#temp_set_decimal_text\")[0]. textContent='0';\n }else if (setpoint_decimal==\"0\") {\n $(\"#temp_set_decimal_text\")[0]. textContent='5';\n $(\"#temp_set_text\")[0]. textContent= setpoint-1;\n }\n}\n\nif ($(\"#temp_set_text\")[0]. textContent.length<2) {\n $(\"#at_boiler_on_onload\")[0]. beginElement();\n $(\"#temp_set_text_1dig_on\")[0]. beginElement();\n $(\"#temp_set_decimal_text_1dig_on\")[0]. beginElement();\n }else {\n\n $(\"#temp_set_text_on\")[0]. beginElement();\n $(\"#temp_set_decimal_text_1dig_off\")[0]. beginElement();\n}\n"},{"selector":"#temp_up_group","action":"click","sourceCode":"$(\"#temp_set_text_1dig_on\")[0]. beginElement();\n $(\"#temp_set_decimal_text_1dig_on\")[0]. beginElement();\n"}],"smilAnimations":[{"id":"at_boiler_on_online","targetId":"background_rect","classValue":"","attributeName":"fill","transformType":"rotate","fromValue":"snow","toValue":"orange","trigger":"msg","duration":"2","durationUnit":"s","repeatCount":"1","end":"freeze","delay":"1","delayUnit":"s","custom":""},{"id":"at_boiler_off_online","targetId":"background_rect","classValue":"","attributeName":"fill","transformType":"rotate","fromValue":"orange","toValue":"snow","trigger":"msg","duration":"2","durationUnit":"s","repeatCount":"1","end":"freeze","delay":"1","delayUnit":"s","custom":""},{"id":"at_boiler_on_onload","targetId":"background_rect","classValue":"","attributeName":"fill","transformType":"rotate","fromValue":"orange","toValue":"orange","trigger":"msg","duration":"1","durationUnit":"s","repeatCount":"0","end":"restore","delay":"1","delayUnit":"s","custom":""},{"id":"at_boiler_off_onload","targetId":"background_rect","classValue":"","attributeName":"fill","transformType":"rotate","fromValue":"snow","toValue":"snow","trigger":"msg","duration":"1","durationUnit":"s","repeatCount":"0","end":"restore","delay":"1","delayUnit":"s","custom":""},{"id":"at_battery_low","targetId":"battery","classValue":"","attributeName":"display","transformType":"rotate","fromValue":"none","toValue":"inline","trigger":"msg","duration":"1","durationUnit":"s","repeatCount":"0","end":"freeze","delay":"1","delayUnit":"s","custom":""},{"id":"at_battery_normal","targetId":"battery","classValue":"","attributeName":"display","transformType":"rotate","fromValue":"inline","toValue":"inline","trigger":"msg","duration":"1","durationUnit":"s","repeatCount":"1","end":"freeze","delay":"1","delayUnit":"s","custom":""},{"id":"temp_set_text_off","targetId":"temp_set_text","classValue":"","attributeName":"transform","transformType":"scale","fromValue":"1 1","toValue":"0.84 1","trigger":"msg","duration":"100","durationUnit":"ms","repeatCount":"1","end":"freeze","delay":"1","delayUnit":"s","custom":""},{"id":"temp_set_text_on","targetId":"temp_set_text","classValue":"","attributeName":"transform","transformType":"scale","fromValue":"1 1","toValue":"1 1","trigger":"msg","duration":"100","durationUnit":"ms","repeatCount":"1","end":"freeze","delay":"1","delayUnit":"s","custom":""},{"id":"temp_set_text_1dig_on","targetId":"temp_set_text","classValue":"","attributeName":"transform","transformType":"translate","fromValue":"0 0","toValue":"8 0","trigger":"msg","duration":"100","durationUnit":"ms","repeatCount":"1","end":"freeze","delay":"1","delayUnit":"s","custom":""},{"id":"temp_set_decimal_text_1dig_on","targetId":"temp_set_decimal_text","classValue":"","attributeName":"transform","transformType":"translate","fromValue":"0 0","toValue":"-8 0","trigger":"msg","duration":"100","durationUnit":"ms","repeatCount":"1","end":"freeze","delay":"1","delayUnit":"s","custom":""},{"id":"temp_set_decimal_text_1dig_off","targetId":"temp_set_decimal_text","classValue":"","attributeName":"transform","transformType":"scale","fromValue":"1 1","toValue":"1 1","trigger":"msg","duration":"100","durationUnit":"ms","repeatCount":"1","end":"freeze","delay":"1","delayUnit":"s","custom":""}],"bindings":[],"showCoordinates":false,"autoFormatAfterEdit":false,"showBrowserErrors":true,"outputField":"","editorUrl":"//drawsvg.org/drawsvg.html","directory":"","panning":"disabled","zooming":"disabled","panOnlyWhenZoomed":false,"doubleClickZoomEnabled":false,"mouseWheelZoomEnabled":false,"name":"Netatmo","x":859,"y":300,"wires":[[]]},{"id":"b4b0be91.e10328","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"boiler_state_online","payload":"false","payloadType":"bool","x":191,"y":441,"wires":[["907a344b.c038c8"]]},{"id":"f6707f2e.71bce8","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"boiler_state_online","payload":"true","payloadType":"bool","x":191,"y":481,"wires":[["907a344b.c038c8"]]},{"id":"aac87487.960cd","type":"comment","z":"9d2ddf5e.b72f08","name":"Animation_online","info":"","x":160,"y":400,"wires":[]},{"id":"ec33c02f.e21968","type":"comment","z":"9d2ddf5e.b72f08","name":"Animation_onload","info":"","x":206,"y":222,"wires":[]},{"id":"7cb925b5.e38044","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"0.1","topic":"boiler_state_onload","payload":"false","payloadType":"bool","x":197,"y":309,"wires":[["907a344b.c038c8"]]},{"id":"a781c008.0401b","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"boiler_state_onload","payload":"true","payloadType":"bool","x":197,"y":349,"wires":[["907a344b.c038c8"]]},{"id":"f48d9fcd.edcb58","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"target_temperature","payload":"9.5","payloadType":"str","x":698.0000305175781,"y":593.0000228881836,"wires":[["907a344b.c038c8"]]},{"id":"a2a3e5da.306fb8","type":"comment","z":"9d2ddf5e.b72f08","name":"Animation_all","info":"","x":149,"y":520,"wires":[]},{"id":"918e9277.5a009","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"ambient_temperature","payload":"21.6","payloadType":"str","x":174,"y":722,"wires":[["907a344b.c038c8"]]},{"id":"2476a6d.5cd22da","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"battery_thermostat","payload":"full","payloadType":"str","x":175,"y":757,"wires":[["907a344b.c038c8"]]},{"id":"85b68dd5.665ab8","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"battery_thermostat","payload":"high","payloadType":"str","x":175,"y":796,"wires":[["907a344b.c038c8"]]},{"id":"38acad4f.7db9ba","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"battery_thermostat","payload":"medium","payloadType":"str","x":158,"y":836,"wires":[["907a344b.c038c8"]]},{"id":"ccd85218.7e226","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"battery_thermostat","payload":"low","payloadType":"str","x":175,"y":875,"wires":[["907a344b.c038c8"]]},{"id":"ad01f8cd.99598","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"battery_thermostat","payload":"empty","payloadType":"str","x":163,"y":916,"wires":[["907a344b.c038c8"]]},{"id":"ca947f13.e9d528","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"battery_thermostat","payload":"error","payloadType":"str","x":167,"y":960,"wires":[["907a344b.c038c8"]]},{"id":"3116ff10.7f108","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"rf_thermostat","payload":"100","payloadType":"num","x":184,"y":1001,"wires":[["907a344b.c038c8"]]},{"id":"d7c835e4.3fcb88","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"rf_thermostat","payload":"75","payloadType":"num","x":194,"y":1040,"wires":[["907a344b.c038c8"]]},{"id":"2f0eb803.c3c568","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"rf_thermostat","payload":"50","payloadType":"num","x":193,"y":1080,"wires":[["907a344b.c038c8"]]},{"id":"9af4279.1201bd8","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"rf_thermostat","payload":"25","payloadType":"num","x":192,"y":1118,"wires":[["907a344b.c038c8"]]},{"id":"5e8a3b73.0dabbc","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"rf_thermostat","payload":"0","payloadType":"num","x":192,"y":1155,"wires":[["907a344b.c038c8"]]},{"id":"ec5c88b5.7d38f8","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"room_thermostat","payload":"Cucina","payloadType":"str","x":222,"y":1202,"wires":[["907a344b.c038c8"]]},{"id":"d769e76a.5b5f28","type":"function","z":"9d2ddf5e.b72f08","name":"Thermostat Status","func":"var outputMsgs = [];\n\n\nlet station = [\"room_thermostat\",\n \"boiler_state_onload\",\n \"battery_thermostat\",\n \"rf_thermostat\",\n \"target_temperature\",\n \"ambient_temperature\"\n ];\n \nlet state = [global.get(\"Saloneroom_thermostat\")|| \"ND\",\n global.get(\"Saloneboiler_state\")|| false,\n global.get(\"Salonebattery_thermostat\")|| \"err\",\n global.get(\"Salonerf_strength\")|| 0,\n parseFloat(global.get(\"Salonesetpoint_temperature\")|| 0.0).toFixed(1),\n parseFloat(global.get(\"Salonemeasured_temperature\")|| 0.0).toFixed(1)\n ];\n\nvar index;\n\nfor (index = 0; index < station.length; ++index) {\n outputMsgs.push({topic:station[index] ,payload:state[index]}) \n}\n\n\nreturn [outputMsgs];","outputs":1,"noerr":0,"initialize":"","finalize":"","x":213,"y":255.000244140625,"wires":[["907a344b.c038c8"]]},{"id":"44e65b29.000bac","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"target_temperature","payload":"21.5","payloadType":"str","x":174,"y":604.000244140625,"wires":[["907a344b.c038c8"]]},{"id":"2feb3bf7.42f484","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"target_temperature","payload":"0","payloadType":"str","x":178,"y":680.000244140625,"wires":[["907a344b.c038c8"]]},{"id":"96a9ba92.a988e","type":"inject","z":"9d2ddf5e.b72f08","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"target_temperature","payload":"30.0","payloadType":"str","x":174,"y":564.000244140625,"wires":[["907a344b.c038c8"]]},{"id":"907a344b.c038c8","type":"function","z":"9d2ddf5e.b72f08","name":"","func":"//var x = global.get(\"Netatmo_boiler_state\") || false;\nlet topic = msg.topic;\nvar newmsg = {};\n\nif (topic.includes(\"boiler_state\")){\n \n let x = msg.payload;\n \n if (topic.includes(\"online\")) {\n \n switch (x) {\n \n case true :\n \n newmsg.payload = [\n {command:\"trigger_animation\",selector:\"#at_boiler_on_online\",action:\"start\"},\n {command:\"set_attribute\",selector:\"#boiler_on_img\",attributeName:\"display\",attributeValue:\"inline\"}\n ];\n break;\n \n case false : \n \n newmsg.payload = [\n {command:\"trigger_animation\",selector:\"#at_boiler_off_online\",action:\"start\"},\n {command:\"set_attribute\",selector:\"#boiler_on_img\",attributeName:\"display\",attributeValue:\"none\"}\n ];\n break;\n }\n }\n if (topic.includes(\"onload\")) {\n \n switch (x) {\n \n case true :\n \n newmsg.payload = [\n //{command:\"set_attribute\",selector:\"#background_rect\",attributeName:\"fill\",attributeValue:\"orange\"},\n {command:\"trigger_animation\",selector:\"#at_boiler_on_onload\",action:\"start\"},\n {command:\"set_attribute\",selector:\"#boiler_on_img\",attributeName:\"display\",attributeValue:\"inline\"}\n ];\n break;\n \n case false : \n \n newmsg.payload = [\n //{command:\"set_attribute\",selector:\"#background_rect\",attributeName:\"fill\",attributeValue:\"ghostwhite\"},\n {command:\"trigger_animation\",selector:\"#at_boiler_off_onload\",action:\"start\"},\n {command:\"set_attribute\",selector:\"#boiler_on_img\",attributeName:\"display\",attributeValue:\"none\"}\n ];\n break;\n }\n }\n \n}else if (topic.includes(\"temperature\")){\n var str = msg.payload;\n var temp = \"\";\n var tempDecimal = \"\";\n var var1d = false;\n var strString = false;\n if (str == \"0.0\" || str == \"0\"){\n temp = \"OFF\"\n strString = true;\n var1d =false;\n } else if (parseFloat(str).toFixed(1) >= 30.0){\n temp = \"MAX\"\n strString = true;\n var1d =false;\n } else if (str.indexOf('.') !== -1){ //verifico se è decimale\n //var temp = str.substring(0, 2);\n temp = str.substring(0, str.indexOf('.'));\n tempDecimal = str.substring(str.indexOf('.')+1, 4);\n strString = false;\n \n if (temp.length >1){\n var1d =false;\n }else{\n var1d =true;\n }\n } else if (str.indexOf('.') == -1 && str.length >1){ //true\n //var temp = str.substring(0, 2);\n temp = str;\n tempDecimal = \"0\";\n strString = false;\n var1d =false;\n } else if (str.indexOf('.') == -1 && str.length <2){ //true\n //var temp = str.substring(0, 2);\n temp = str;\n tempDecimal = \"0\";\n strString = false;\n var1d =true;\n } \n \n if (topic.includes(\"target\")) {\n \n newmsg.payload = [\n {command:\"update_text\",selector:\"#temp_set_text\",textContent:temp},\n {command:\"update_text\",selector:\"#temp_set_decimal_text\",textContent:tempDecimal},\n {command: \"trigger_animation\", selector: \"#temp_set_text_off\", action:(strString ==true ? \"start\" : \"stop\")},\n {command: \"trigger_animation\", selector: \"#temp_set_text_on\", action:(strString !=true ? \"start\" : \"stop\")},\n {command: \"trigger_animation\", selector: \"#temp_set_text_1dig_on\", action:(var1d == true ? \"start\" : \"stop\")},\n {command: \"trigger_animation\", selector: \"#temp_set_decimal_text_1dig_on\", action:(var1d == true ? \"start\" : \"stop\")},\n {command: \"trigger_animation\", selector: \"#temp_set_decimal_text_1dig_off\", action:(var1d != true ? \"start\" : \"stop\")}\n ];\n }\n if (topic.includes(\"ambient\")){\n \n newmsg.payload = [\n {command:\"update_text\",selector:\"#temp_get_text\",textContent:temp},\n {command:\"update_text\",selector:\"#temp_get_decimal_text\",textContent:tempDecimal}\n ];\n }\n}else if (topic.includes(\"thermostat\")){\n let state = msg.payload;\n var w1show, w2show, w3show, w4show = false;\n var animation = false;\n var values = [0,25,50,75,100];\n \n if (topic.includes(\"battery\")){\n \n switch (state){\n case \"full\":\n text = \"\";\n animation = false;\n break;\n case \"high\":\n text = \"\";\n animation = false;\n break;\n case \"medium\":\n text = \"\";\n animation = false;\n break;\n case \"low\":\n text = \"\";\n animation = true;\n break;\n case \"empty\":\n text = \"\";\n animation = true;\n break;\n default:\n text = \"err\"; \n \n }\n \n newmsg.payload = [\n {command:\"trigger_animation\",selector:\"#at_battery_low\",action:(animation ==true ? \"start\" : \"stop\")},\n {command:\"trigger_animation\",selector:\"#at_battery_normal\",action:(animation ==false ? \"start\" : \"stop\")},\n //{command:\"set_attribute\",selector:\"#battery\",attributeName:\"display\",attributeValue:\"inline\"},\n {command:\"update_text\",selector:\"#battery\",textContent:text},\n {command:\"set_attribute\",selector:\"#battery\",attributeName: \"fill\",attributeValue:(animation ==true ? \"red\" : \"black\")}\n ];\n \n }else if (topic.includes(\"rf\")){\n \n if (state >= values[1] && state < values[2]){\n w1show = true;\n w2show = false;\n w3show = false;\n w4show = false;\n weshow = false;\n }else if (state >= values[2] && state < values[3]){\n w1show = false;\n w2show = true;\n w3show = false;\n w4show = false;\n weshow = false;\n }else if (state >= values[3] && state < values[4]){\n w1show = false;\n w2show = false;\n w3show = true;\n w4show = false;\n weshow = false;\n }else if (state >= values[4]){\n w1show = false;\n w2show = false;\n w3show = false;\n w4show = true;\n weshow = false;\n }else{\n w1show = false;\n w2show = false;\n w3show = false;\n w4show = false;\n weshow = true;\n } \n\n newmsg.payload = [\n {command:\"set_attribute\",selector:\"#wifi1_img\",attributeName:\"display\",attributeValue:(w1show ==true ? \"inline\" : \"none\")},\n {command:\"set_attribute\",selector:\"#wifi2_img\",attributeName:\"display\",attributeValue:(w2show ==true ? \"inline\" : \"none\")},\n {command:\"set_attribute\",selector:\"#wifi3_img\",attributeName:\"display\",attributeValue:(w3show ==true ? \"inline\" : \"none\")},\n {command:\"set_attribute\",selector:\"#wifi4_img\",attributeName:\"display\",attributeValue:(w4show ==true ? \"inline\" : \"none\")},\n {command:\"set_attribute\",selector:\"#wifierr_img\",attributeName:\"display\",attributeValue:(weshow ==true ? \"inline\" : \"none\")}\n ];\n }else if (topic.includes(\"room\")){\n \n newmsg.payload = [{command:\"update_text\",selector:\"#room_text\",textContent:state}];\n }\n \n \n}\n \n \n \n//msg.topic = \"trigger_animation\";\nreturn newmsg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":638.0001220703125,"y":277,"wires":[["cbaacb83.0da518"]]},{"id":"4ffb8df1.2bd194","type":"ui_group","name":"svg","tab":"48fa7ffc.1df2a","order":1,"disp":true,"width":"6","collapse":false},{"id":"48fa7ffc.1df2a","type":"ui_tab","name":"tests","icon":"dashboard","order":13,"disabled":false,"hidden":false}]
I made some other test and it work, probably I have done some mistake in the JS flow.
Thank you for your patient Regards
Morning, I have taken the liberty to update your post: if you add 3 backticks (in the lines above and below your flow), it will be displayed on a single line.
I have not been able to identify your problem, because I have not enough time to figure out how your entire flow works. I have tried to simplify your flow, but then I don't get that error:
[{"id":"cbaacb83.0da518","type":"ui_svg_graphics","z":"9d2ddf5e.b72f08","group":"4ffb8df1.2bd194","order":1,"width":"0","height":"0","svgString":"<svg x=\"0\" y=\"0\" height=\"204\" width=\"264\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" preserveAspectRatio=\"xMidYMid meet\">\n <g id=\"temp_set_group\">\n <text id=\"temp_set_decimal_text\" x=\"79\" y=\"34\" style=\"fill:white;font-family:Arial;font-size:15px;\">9999</text>\n </g>\n <g id=\"temp_down_group\" style=\"cursor:pointer;\">\n <circle id=\"temp_down_circle\" cx=\"40\" cy=\"40\" r=\"30\" style=\"fill:blue;stroke-width:0.5px;stroke-opacity:1;stroke:silver;cursor:pointer;\"/>\n <text id=\"temp_down_text\" x=\"100\" y=\"94\" style=\"fill:silver;font-family:Arial;font-size:40px;cursor:pointer;\">temp down text</text>\n </g>\n</svg>\n","clickableShapes":[],"javascriptHandlers":[{"selector":"#temp_down_group","action":"click","sourceCode":"$(\"#temp_set_decimal_text_1dig_off\")[0].beginElement();"}],"smilAnimations":[{"id":"temp_set_decimal_text_1dig_off","targetId":"temp_set_decimal_text","classValue":"","attributeName":"transform","transformType":"scale","fromValue":"1 1","toValue":"1 1","trigger":"msg","duration":"100","durationUnit":"ms","repeatCount":"1","end":"freeze","delay":"1","delayUnit":"s","custom":""}],"bindings":[],"showCoordinates":false,"autoFormatAfterEdit":false,"showBrowserErrors":true,"showBrowserEvents":true,"outputField":"","editorUrl":"//drawsvg.org/drawsvg.html","directory":"","panning":"disabled","zooming":"disabled","panOnlyWhenZoomed":false,"doubleClickZoomEnabled":false,"mouseWheelZoomEnabled":false,"name":"Netatmo","x":859,"y":300,"wires":[[]]},{"id":"4ffb8df1.2bd194","type":"ui_group","name":"svg","tab":"48fa7ffc.1df2a","order":1,"disp":true,"width":"6","collapse":false},{"id":"48fa7ffc.1df2a","type":"ui_tab","name":"tests","icon":"dashboard","order":13,"disabled":false,"hidden":false}]
There are two things you can do:
If you want to try the second option, here is how you can do it:
Search for the folder where this SVG node is installed. You need to search that inside your .node red folder:
<somewhere on your machine\.node-red\node_modules\node-red-contrib-ui-svg
Add a debugger
statement before the line where your Javascript code is evaluated:
Restart Node-RED to detect this updated code.
Open the developer tools for your browser. For example for Chrome like this:
Do you stuff in the SVG, and once your event is triggered the browser's debugger will pause at your debugger
statement.
Now you can show variables, and execute pieces of your Javascript event handler one by one (to figure out where stuff goes wrong:
I think that once you start writing your own JS handler, you need to be able to debug your JS code. Otherwise you will depend heavily on other people that might not always be able to help you. I will add that to the readme page, because of course when you start writing Javascript event handlers you should be able to debug your code...
P.S. in the above animation you will see that I get a reference to your animation element (instead of an undefined like in your screenshots)....
Hi,
I have quickly added a newe feature to avoid that you have to add the debugger
statement manually.
The procedure is now a bit easier:
Enable JS debugging in the "Settings" tabsheet:
Open the developer tools for your browser. For example for Chrome like this:
Do you stuff in the SVG in the dashboard, and once your event is triggered the browser's debugger will pause here automatically:
Now you can show variables, and execute pieces of your Javascript code (which is inside the userData.sourceCode
variable) one by one (to figure out where stuff goes wrong).
Hi Bart, Thank you for your help, I really appreciate it. I started to do some test with browser debug. I still not able to understand why this issue appears. I have understood where is the issue but I can't understand why it is not works. Here below is the piece of code that create the issue, if I remove it all the animations work fine.
if (setpoint_decimal=="5") {
$("#temp_set_decimal_text")[0]. textContent='0';
}else if (setpoint_decimal=="0") {
$("#temp_set_decimal_text")[0]. textContent='5';
$("#temp_set_text")[0]. textContent= setpoint-1;
}
I will investigate probably the issue could be related to the variable type. I have tried to convert the text in Int and changed the above if with a switch, but the result is the same. The code works because the text in the SVG is decreased, but this corrupt the animation
If I check the code in the console and some backslash are coming
Thank you your support. Regards
BTW you should remove the space 3 time before textContent
...
Not sure why the double quotes are being escaped via \
.
When I put your code snippet into my JS event handler, the there is no escaping:
As an experiment, you could try to replace the double quotes by single quotes. Then we we know at least whether that is the root cause of your troubles ...
Even when I debug on Chrome on virtualBox MacOS, the double quotes are not escaped. Note that I only run a browser on virtualbox, but Node-RED itself is running on Windows. Perhaps you are running Node-RED on MacOS also, and there somehow the escaping is applied??
Hi Bart,
Thank you for your help, you opened a world to me with debug, and the idea to enable JS debugging in the "Settings" tabsheet it has been amazing.
I have followed your advice, I have replaced the double quotes by single quotes and the backslashes are disappeared, great.
I have also removed the spaces before textContent
but this it seems the same, the code works well also whit the spaces.
I didn't resolve the issue about the AnimateTransform but I have changed my approach, as my AnimateTransform it was a work around to translate and scale the text, I'm now using the property .style.transform
of the text element to translate and scale the text directly in JS tabsheet, and it is more fluid and faster.
In the meantime I'm continuing to develop and I will inform you in case I will resolve my issue about AnimateTransform, in the mean time my knowledge is growing and maybe I will found the issue on that code.
Only for your information my Node-Red instance is hosted on a Raspberry pi 3.
I really thank you for your kindly support. Regards @krikkoo
Glad that you find it useful! I'm always suprised how people are able to write code without usung a debugger. I always experiment with code snippets (in the console tab) while I am debugging. That way I'm 100% sure that this code snippets will work correctly, before I add those snippets to my node program...
Only for your information my Node-Red instance is hosted on a Raspberry pi 3.
Will need to test that this week, to be able to determine where the double quotes are being applied...
Hi Bart,
Sorry if I disturb you, I was playing with text in SVG and I found, surfing on web at this link, that there are some Event Attributes that could be useful to add in the JS tab, for example onchange
for text could be very useful.
I really don't know if it is possible, here below what I have done.
I tried to use in a text element to call the function that translate the text according to it content. It is the same function that I call from JS sheet in mouse events and it works.
<text id="temp_set_text1" onchange="Transform()" x="44" y="44" style="fill: white; font-family: Arial; font-size:30px;">1</text>
I'm trying to use direct in the element but it not works, instead onclick
works well.
Can you tell me if I'm doing somethings that is not allowed, I enabled JS debug but no error coming out.
Thank you for your time.. Regards
Do I understand this correctly:
Correct? Can you please post be me - for both tabsheets wjat you have entered? And please only the part relevant for this specific question.
Hi Burt, Here below there are the three cases that I have done.
[{"id":"64885236.dd5efc","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"42c9098.3bc25f8","type":"inject","z":"64885236.dd5efc","name":"Show alert at double click","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"command\":\"add_js_event\",\"event\":\"onchange\",\"selector\":\"#temp_set_text3\",\"script\":\"function Transform3(){var setpoint = $('#temp_set_text')[0].textContent;if (setpoint.length == 1 ){$('#temp_set_text_group')[0].style.transform='translateX(8px)';$('#temp_set_decimal_text_group')[0].style.transform='translateX(-8px)';}else if (setpoint.length == 2){$('#temp_set_text_group')[0].style.transform='scale(1)';$('#temp_set_decimal_text_group')[0].style.transform='scale(1)';}else if (setpoint.length == 3){$('#temp_set_text_group')[0].style.transform='translateX(3px) scale(0.82, 1)';}}\"}","payloadType":"json","x":354,"y":334,"wires":[["83e37230.c051c8"]]},{"id":"c4242bdd.ebe57","type":"ui_svg_graphics","z":"64885236.dd5efc","group":"8f59fa7c.29e13","order":1,"width":"0","height":"0","svgString":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0\" y=\"0\" height=\"204\" width=\"264\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"39.98632049560547 12 210.02735900878906 93\"><rect id=\"svgEditorBackground\" x=\"40\" y=\"12\" width=\"210\" height=\"93\" style=\"fill: none; stroke: none;\"/>\n \n <script>//<![CDATA[\n //document.getElementById(\"temp_set_text1\").addEventListener(\"onchange\", Transform);\n \n function Transform1(){\n console.log('MyTransform')\n setpoint = $('#temp_set_text1')[0].textContent;\n if (setpoint.length == 1 ){\n $('#temp_set_text_group1')[0].style.transform='translateX(8px)';\n $('#temp_set_decimal_group1')[0].style.transform='translateX(-8px)';\n }else if (setpoint.length == 2){\n $('#temp_set_text_group1')[0].style.transform='scale(1)';\n $('#temp_set_decimal_group1')[0].style.transform='scale(1)';\n }else if (setpoint.length == 3){\n $('#temp_set_text_group1')[0].style.transform='translateX(3px) scale(0.82, 1)';\n }\n }\n //]]>\n </script>\n \n <g id=\"temp_set_group1\">\n <rect id=\"temp_set_rect1\" x=\"40\" y=\"12\" width=\"50\" height=\"40\" rx=\"5\" ry=\"5\" style=\"fill:black;stroke:black;stroke-width:1px;\"/>\n <g id=\"temp_set_text_group1\">\n <text id=\"temp_set_text1\" x=\"44\" y=\"44\" style=\"fill: white; font-family: Arial; font-size:30px;\">1</text>\n </g>\n <g id=\"temp_set_decimal_group1\">\n <text id=\"temp_set_decimal_text1\" x=\"78\" y=\"34\" style=\"fill:white;font-family:Arial;font-size:15px;\">5</text>\n </g>\n </g>\n <g id=\"temp_down_group1\" style=\"cursor:pointer;\">\n <circle id=\"temp_down_circle1\" cx=\"160\" cy=\"83\" r=\"20\" style=\"fill:white;stroke-width:0.5px;stroke-opacity:1;stroke:silver;cursor:pointer;\"/>\n <rect x=\"151\" y=\"81.25\" width=\"18\" height=\"3.5\" rx=\"1\" ry=\"1\" style=\"fill:silver;stroke:none;stroke-width:1px;cursor:pointer;\" />\n </g>\n <g id=\"temp_up_group1\" style=\"cursor:pointer;\">\n <circle id=\"temp_up_circle1\" cx=\"230\" cy=\"83\" r=\"20\" style=\"fill:white;stroke-width:0.5px;stroke-opacity:1;stroke:silver;cursor:pointer;\"/>\n <rect x=\"221\" y=\"81.25\" width=\"18\" height=\"3.5\" rx=\"1\" ry=\"1\" style=\"fill:silver;stroke:none;stroke-width:1px;cursor:pointer;\"/>\n <rect x=\"221\" y=\"81.25\" width=\"18\" height=\"3.5\" rx=\"1\" ry=\"1\" style=\"fill:silver;stroke:none;stroke-width:1px;cursor:pointer;\" transform=\"rotate(90 230 83)\"/>\n </g>\n\n</svg>","clickableShapes":[],"javascriptHandlers":[{"selector":"#temp_down_group1","action":"mousedown","sourceCode":"var setpoint_decimal;\nvar setpoint;\nvar i;\n\ntimer = setInterval( function () {\n\n setpoint_decimal = parseInt($('#temp_set_decimal_text1')[0].textContent);\n setpoint = parseInt($('#temp_set_text1')[0].textContent) ;\n\n if (setpoint_decimal == 0 && !isNaN(setpoint)) {\n $('#temp_set_decimal_text1')[0].textContent='5';\n setpoint -= 1;\n $('#temp_set_text1')[0].textContent=setpoint;\n }else if (setpoint_decimal == 5 && !isNaN(setpoint)) {\n $('#temp_set_decimal_text1')[0].textContent='0';\n }\n\n setpoint = $('#temp_set_text1')[0].textContent;\n setpoint_decimal = parseInt($('#temp_set_decimal_text1')[0].textContent);\n \n if (setpoint == \"MAX\"){\n $('#temp_set_decimal_text1')[0].textContent='5';\n $('#temp_set_text1')[0].textContent= '29';\n\n }else if (setpoint == \"0\" && setpoint_decimal == \"0\"){\n $('#temp_set_text1')[0].textContent= 'OFF';\n $('#temp_set_decimal_text1')[0].textContent='';\n }else if (setpoint == \"OFF\"){\n clearInterval(timer);\n return;\n }\n\n Transform1()\n}, 300)\n"},{"selector":"#temp_down_group1","action":"mouseup","sourceCode":"clearInterval(timer);\n"},{"selector":"#temp_up_group1","action":"mousedown","sourceCode":"var setpoint_decimal;\nvar setpoint;\nvar stringsetpoint =\"\";\nvar i;\n\nconsole.log(setpoint);\n\ntimer = setInterval( function () {\n\n setpoint_decimal = parseInt($('#temp_set_decimal_text1')[0].textContent);\n setpoint = parseInt($('#temp_set_text1')[0].textContent) ;\n\n if (setpoint_decimal == 0 && !isNaN(setpoint)) {\n $('#temp_set_decimal_text1')[0].textContent='5';\n }else if (setpoint_decimal == 5 && !isNaN(setpoint)) {\n $('#temp_set_decimal_text1')[0].textContent='0';\n setpoint +=1;\n $('#temp_set_text1')[0].textContent=setpoint;\n }\n\n stringsetpoint = $('#temp_set_text1')[0].textContent;\n setpoint_decimal = parseInt($('#temp_set_decimal_text1')[0].textContent);\n console.log(stringsetpoint);\n if (stringsetpoint == \"OFF\"){\n $('#temp_set_decimal_text1')[0].textContent='5';\n $('#temp_set_text1')[0].textContent= '0';\n }else if (stringsetpoint == \"30\"){\n $('#temp_set_text1')[0].textContent= 'MAX';\n $('#temp_set_decimal_text1')[0].textContent='';\n }else if (stringsetpoint == \"MAX\"){\n clearInterval(timer);\n return;\n }\n\n Transform1()\n}, 300)\n"},{"selector":"#temp_up_group1","action":"mouseup","sourceCode":"clearInterval(timer);"}],"smilAnimations":[],"bindings":[],"showCoordinates":false,"autoFormatAfterEdit":false,"showBrowserErrors":true,"showBrowserEvents":false,"enableJsDebugging":true,"outputField":"","editorUrl":"//drawsvg.org/drawsvg.html","directory":"","panning":"disabled","zooming":"disabled","panOnlyWhenZoomed":false,"doubleClickZoomEnabled":false,"mouseWheelZoomEnabled":false,"name":"Netatmo Test 1","x":620,"y":260,"wires":[[]]},{"id":"deb021fa.d6542","type":"ui_svg_graphics","z":"64885236.dd5efc","group":"585e81d.29298","order":1,"width":"0","height":"0","svgString":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0\" y=\"0\" height=\"204\" width=\"264\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"39.98632049560547 12 210.02735900878906 93\"><rect id=\"svgEditorBackground\" x=\"40\" y=\"12\" width=\"210\" height=\"93\" style=\"fill: none; stroke: none;\"/>\n \n <script>//<![CDATA[\n //document.getElementById(\"temp_set_text2\").addEventListener(\"onchange\", Transform);\n \n function Transform2(){\n console.log('MyTransform')\n setpoint = $('#temp_set_text2')[0].textContent;\n if (setpoint.length == 1 ){\n $('#temp_set_text_group2')[0].style.transform='translateX(8px)';\n $('#temp_set_decimal_group2')[0].style.transform='translateX(-8px)';\n }else if (setpoint.length == 2){\n $('#temp_set_text_group2')[0].style.transform='scale(1)';\n $('#temp_set_decimal_group2')[0].style.transform='scale(1)';\n }else if (setpoint.length == 3){\n $('#temp_set_text_group2')[0].style.transform='translateX(3px) scale(0.82, 1)';\n }\n }\n //]]>\n </script>\n \n <g id=\"temp_set_group2\">\n <rect id=\"temp_set_rect2\" x=\"40\" y=\"12\" width=\"50\" height=\"40\" rx=\"5\" ry=\"5\" style=\"fill:black;stroke:black;stroke-width:1px;\"/>\n <g id=\"temp_set_text_group2\">\n <text id=\"temp_set_text2\" onchange=\"Transform()\" x=\"44\" y=\"44\" style=\"fill: white; font-family: Arial; font-size:30px;\">1</text>\n </g>\n <g id=\"temp_set_decimal_group2\">\n <text id=\"temp_set_decimal_text2\" x=\"78\" y=\"34\" style=\"fill:white;font-family:Arial;font-size:15px;\">5</text>\n </g>\n </g>\n <g id=\"temp_down_group2\" style=\"cursor:pointer;\">\n <circle id=\"temp_down_circle2\" cx=\"160\" cy=\"83\" r=\"20\" style=\"fill:white;stroke-width:0.5px;stroke-opacity:1;stroke:silver;cursor:pointer;\"/>\n <rect x=\"151\" y=\"81.25\" width=\"18\" height=\"3.5\" rx=\"1\" ry=\"1\" style=\"fill:silver;stroke:none;stroke-width:1px;cursor:pointer;\" />\n </g>\n <g id=\"temp_up_group2\" style=\"cursor:pointer;\">\n <circle id=\"temp_up_circle2\" cx=\"230\" cy=\"83\" r=\"20\" style=\"fill:white;stroke-width:0.5px;stroke-opacity:1;stroke:silver;cursor:pointer;\"/>\n <rect x=\"221\" y=\"81.25\" width=\"18\" height=\"3.5\" rx=\"1\" ry=\"1\" style=\"fill:silver;stroke:none;stroke-width:1px;cursor:pointer;\"/>\n <rect x=\"221\" y=\"81.25\" width=\"18\" height=\"3.5\" rx=\"1\" ry=\"1\" style=\"fill:silver;stroke:none;stroke-width:1px;cursor:pointer;\" transform=\"rotate(90 230 83)\"/>\n </g>\n\n</svg>","clickableShapes":[],"javascriptHandlers":[{"selector":"#temp_down_group2","action":"mousedown","sourceCode":"var setpoint_decimal;\nvar setpoint;\nvar i;\n\ntimer = setInterval( function () {\n\n setpoint_decimal = parseInt($('#temp_set_decimal_text2')[0].textContent);\n setpoint = parseInt($('#temp_set_text2')[0].textContent) ;\n\n if (setpoint_decimal == 0 && !isNaN(setpoint)) {\n $('#temp_set_decimal_text2')[0].textContent='5';\n setpoint -= 1;\n $('#temp_set_text2')[0].textContent=setpoint;\n }else if (setpoint_decimal == 5 && !isNaN(setpoint)) {\n $('#temp_set_decimal_text2')[0].textContent='0';\n }\n\n setpoint = $('#temp_set_text2')[0].textContent;\n setpoint_decimal = parseInt($('#temp_set_decimal_text2')[0].textContent);\n \n if (setpoint == \"MAX\"){\n $('#temp_set_decimal_text2')[0].textContent='5';\n $('#temp_set_text2')[0].textContent= '29';\n\n }else if (setpoint == \"0\" && setpoint_decimal == \"0\"){\n $('#temp_set_text2')[0].textContent= 'OFF';\n $('#temp_set_decimal_text2')[0].textContent='';\n }else if (setpoint == \"OFF\"){\n clearInterval(timer);\n return;\n }\n\n //Transform2()\n}, 300)\n"},{"selector":"#temp_down_group2","action":"mouseup","sourceCode":"clearInterval(timer);\n"},{"selector":"#temp_up_group2","action":"mousedown","sourceCode":"var setpoint_decimal;\nvar setpoint;\nvar stringsetpoint =\"\";\nvar i;\n\nconsole.log(setpoint);\n\ntimer = setInterval( function () {\n\n setpoint_decimal = parseInt($('#temp_set_decimal_text2')[0].textContent);\n setpoint = parseInt($('#temp_set_text2')[0].textContent) ;\n\n if (setpoint_decimal == 0 && !isNaN(setpoint)) {\n $('#temp_set_decimal_text2')[0].textContent='5';\n }else if (setpoint_decimal == 5 && !isNaN(setpoint)) {\n $('#temp_set_decimal_text2')[0].textContent='0';\n setpoint +=1;\n $('#temp_set_text2')[0].textContent=setpoint;\n }\n\n stringsetpoint = $('#temp_set_text2')[0].textContent;\n setpoint_decimal = parseInt($('#temp_set_decimal_text2')[0].textContent);\n console.log(stringsetpoint);\n if (stringsetpoint == \"OFF\"){\n $('#temp_set_decimal_text2')[0].textContent='5';\n $('#temp_set_text1')[0].textContent= '0';\n }else if (stringsetpoint == \"30\"){\n $('#temp_set_text2')[0].textContent= 'MAX';\n $('#temp_set_decimal_text2')[0].textContent='';\n }else if (stringsetpoint == \"MAX\"){\n clearInterval(timer);\n return;\n }\n\n //Transform2()\n}, 300)\n"},{"selector":"#temp_up_group2","action":"mouseup","sourceCode":"clearInterval(timer);"}],"smilAnimations":[],"bindings":[],"showCoordinates":false,"autoFormatAfterEdit":false,"showBrowserErrors":true,"showBrowserEvents":false,"enableJsDebugging":true,"outputField":"","editorUrl":"//drawsvg.org/drawsvg.html","directory":"","panning":"disabled","zooming":"disabled","panOnlyWhenZoomed":false,"doubleClickZoomEnabled":false,"mouseWheelZoomEnabled":false,"name":"Netatmo Test 2","x":619,"y":296,"wires":[[]]},{"id":"83e37230.c051c8","type":"ui_svg_graphics","z":"64885236.dd5efc","group":"d60d6dc3.d626c8","order":1,"width":"0","height":"0","svgString":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0\" y=\"0\" height=\"204\" width=\"264\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"39.98632049560547 12 210.02735900878906 93\"><rect id=\"svgEditorBackground\" x=\"40\" y=\"12\" width=\"210\" height=\"93\" style=\"fill: none; stroke: none;\"/>\n \n <script>//<![CDATA[\n //document.getElementById(\"temp_set_text1\").addEventListener(\"onchange\", Transform);\n \n \n //]]>\n </script>\n \n <g id=\"temp_set_group3\">\n <rect id=\"temp_set_rect3\" x=\"40\" y=\"12\" width=\"50\" height=\"40\" rx=\"5\" ry=\"5\" style=\"fill:black;stroke:black;stroke-width:1px;\"/>\n <g id=\"temp_set_text_group3\">\n <text id=\"temp_set_text3\" x=\"44\" y=\"44\" style=\"fill: white; font-family: Arial; font-size:30px;\">1</text>\n </g>\n <g id=\"temp_set_decimal_group3\">\n <text id=\"temp_set_decimal_text3\" x=\"78\" y=\"34\" style=\"fill:white;font-family:Arial;font-size:15px;\">5</text>\n </g>\n </g>\n <g id=\"temp_down_group3\" style=\"cursor:pointer;\">\n <circle id=\"temp_down_circle3\" cx=\"160\" cy=\"83\" r=\"20\" style=\"fill:white;stroke-width:0.5px;stroke-opacity:1;stroke:silver;cursor:pointer;\"/>\n <rect x=\"151\" y=\"81.25\" width=\"18\" height=\"3.5\" rx=\"1\" ry=\"1\" style=\"fill:silver;stroke:none;stroke-width:1px;cursor:pointer;\" />\n </g>\n <g id=\"temp_up_group3\" style=\"cursor:pointer;\">\n <circle id=\"temp_up_circle3\" cx=\"230\" cy=\"83\" r=\"20\" style=\"fill:white;stroke-width:0.5px;stroke-opacity:1;stroke:silver;cursor:pointer;\"/>\n <rect x=\"221\" y=\"81.25\" width=\"18\" height=\"3.5\" rx=\"1\" ry=\"1\" style=\"fill:silver;stroke:none;stroke-width:1px;cursor:pointer;\"/>\n <rect x=\"221\" y=\"81.25\" width=\"18\" height=\"3.5\" rx=\"1\" ry=\"1\" style=\"fill:silver;stroke:none;stroke-width:1px;cursor:pointer;\" transform=\"rotate(90 230 83)\"/>\n </g>\n\n</svg>","clickableShapes":[],"javascriptHandlers":[{"selector":"#temp_down_group3","action":"mousedown","sourceCode":"var setpoint_decimal;\nvar setpoint;\nvar i;\n\ntimer = setInterval( function () {\n\n setpoint_decimal = parseInt($('#temp_set_decimal_text3')[0].textContent);\n setpoint = parseInt($('#temp_set_text3')[0].textContent) ;\n\n if (setpoint_decimal == 0 && !isNaN(setpoint)) {\n $('#temp_set_decimal_text3')[0].textContent='5';\n setpoint -= 1;\n $('#temp_set_text3')[0].textContent=setpoint;\n }else if (setpoint_decimal == 5 && !isNaN(setpoint)) {\n $('#temp_set_decimal_text3')[0].textContent='0';\n }\n\n setpoint = $('#temp_set_text3')[0].textContent;\n setpoint_decimal = parseInt($('#temp_set_decimal_text3')[0].textContent);\n \n if (setpoint == \"MAX\"){\n $('#temp_set_decimal_text3')[0].textContent='5';\n $('#temp_set_text3')[0].textContent= '29';\n\n }else if (setpoint == \"0\" && setpoint_decimal == \"0\"){\n $('#temp_set_text3')[0].textContent= 'OFF';\n $('#temp_set_decimal_text3')[0].textContent='';\n }else if (setpoint == \"OFF\"){\n clearInterval(timer);\n return;\n }\n\n //Transform()\n}, 300)\n"},{"selector":"#temp_down_group3","action":"mouseup","sourceCode":"clearInterval(timer);\n"},{"selector":"#temp_up_group3","action":"mousedown","sourceCode":"var setpoint_decimal;\nvar setpoint;\nvar stringsetpoint =\"\";\nvar i;\n\nconsole.log(setpoint);\n\ntimer = setInterval( function () {\n\n setpoint_decimal = parseInt($('#temp_set_decimal_text3')[0].textContent);\n setpoint = parseInt($('#temp_set_text3')[0].textContent) ;\n\n if (setpoint_decimal == 0 && !isNaN(setpoint)) {\n $('#temp_set_decimal_text3')[0].textContent='5';\n }else if (setpoint_decimal == 5 && !isNaN(setpoint)) {\n $('#temp_set_decimal_text3')[0].textContent='0';\n setpoint +=1;\n $('#temp_set_text3')[0].textContent=setpoint;\n }\n\n stringsetpoint = $('#temp_set_text3')[0].textContent;\n setpoint_decimal = parseInt($('#temp_set_decimal_text3')[0].textContent);\n console.log(stringsetpoint);\n if (stringsetpoint == \"OFF\"){\n $('#temp_set_decimal_text3')[0].textContent='5';\n $('#temp_set_text3')[0].textContent= '0';\n }else if (stringsetpoint == \"30\"){\n $('#temp_set_text3')[0].textContent= 'MAX';\n $('#temp_set_decimal_text3')[0].textContent='';\n }else if (stringsetpoint == \"MAX\"){\n clearInterval(timer);\n return;\n }\n\n //Transform()\n}, 300)\n"},{"selector":"#temp_up_group3","action":"mouseup","sourceCode":"clearInterval(timer);"}],"smilAnimations":[],"bindings":[],"showCoordinates":false,"autoFormatAfterEdit":false,"showBrowserErrors":true,"showBrowserEvents":false,"enableJsDebugging":true,"outputField":"","editorUrl":"//drawsvg.org/drawsvg.html","directory":"","panning":"disabled","zooming":"disabled","panOnlyWhenZoomed":false,"doubleClickZoomEnabled":false,"mouseWheelZoomEnabled":false,"name":"Netatmo Test 3","x":618,"y":333,"wires":[[]]},{"id":"8f59fa7c.29e13","type":"ui_group","name":"Function in SVG Tabsheet and called from elements in JS Tabsheet","tab":"527c4ef0.7eaa3","order":1,"disp":true,"width":"6","collapse":false},{"id":"585e81d.29298","type":"ui_group","name":"Function in SGV TabSheet called from onchange event in SVG TabSheet","tab":"527c4ef0.7eaa3","order":2,"disp":true,"width":"6","collapse":false},{"id":"d60d6dc3.d626c8","type":"ui_group","name":"Function injected with 'onchange' Action","tab":"527c4ef0.7eaa3","order":3,"disp":true,"width":"6","collapse":false},{"id":"527c4ef0.7eaa3","type":"ui_tab","name":"test1","icon":"dashboard","order":13,"disabled":false,"hidden":false}]
The first one is working well, the others two no.
For the last case when I try to inject the JS event I received an error as follow.
Thank you for your support.
Regards
Only for your information my Node-Red instance is hosted on a Raspberry pi 3.
I have installed my node on a Raspberry pi 3 and used double quotes (in the "SVG" tabsheet). Then I have opened the dashboard both on Windows and IOs (virtualbox), but it works fine: never are the double quotes escaped ...
The first one is working well, the others two no.
And in the third test there are a number of problems:
In the input msg.payload.event you pass "onchange" as value. But you can see on the readme page that I currently only support following events (which is why you get the 'unsupported' errror):
In the input msg.payload.script you should add the code that needs to be executed when the event occurs. For example:
"script": "alert('change');"
But you write
function Transform3(){ ... }
So suppose I would support the change-event: when your code would be executed then your function definition would be created, but your function would never be called. So you should do instead:
function Transform3(){ ... };
Transform3();
And even if I would support the "change" event to my node, then: the input msg.payload.event would have to be "change" and not "onchange"...
But I have you already asked before to keep your test flows very simple. I only need a flow like <svg ...><text ... ></svg>
which demonstrates your issue. I have VERY few free time, so I cannot figure out all the flows that everybody keeps sending to me. Please rewrite the 3 flows to the "absolute" minimum that I need to reproduce the problem. And explain shortly for each of the 3 test flows where I need to do what (click ...) to reproduce the problem.
I have installed my node on a Raspberry pi 3 and used double quotes (in the "SVG" tabsheet). Then I have opened the dashboard both on Windows and IOs (virtualbox), but it works fine: never are the double quotes escaped .. Hi @krikkoo, Did you enter the code snippet in the "JS" tabsheet, or did you inject it via an input message? Or are there any other tips you can give me to reproduce the problem on my Raspberry pi 3? This is the last 'known' issue, which I would like to solve before I publish version 2.1.0 to NPM.
Please rewrite the 3 flows to the "absolute" minimum that I need to reproduce the problem.
If you would have some time to simplify your flow, I can try to reproduce it. And if I get your flow working, I can try to add some extra events (like e.g. change). But so few spare time lately...
Hi @bartbutenaers, Unfortunately this period I don't have match spare time to work on my flow.
Probably the problems that I incurred are due my low knowledge of JS.
You are in the right way, if you added the event change
in the JS sheet that trigger when a text field change its value (for example sending an update_text
injection) this will be wonderful.
In my opinion You can officially release this version of SVG. it is very stable and works like a charm. You can also close this issue of course.
Thank you very match for your time. Regards
Hi @krikkoo, thanks for the feedback. Yes me als not much free time lately :-( I think you have achieved quite a bit already with JS... I have no idea why the double quotes are escaped. Perhaps if I have published this version, I will have some extra use cases which perhaps might enlighten me about this issue... I will close this issue and when you have other questions/requests afterwards, you can open a new one. That is easier for me to track what has been solved. Have fun with it! Bart
Version 2.1.0 is now published on NPM.
@krikkoo, Can you please create a new Github issue about the missing events (like e.g. the 'change' event). And copy all relevant info to it. Otherwise I have to read through this whole discussion again afterwards, to see what is still not working for you and what not. That allows me to implement it quicker, as soon as I have some free time again. Thanks!!!
Hi, first of all thank you for your great job. I would ask you if there is some issue in my node red installation, it is installed on Rasberry pi 3. As per readme file it should be available a JS tab and also the possibility to inject javascript code trough msg.payload, but in my SVG config screen it not present JS tab and if I try to send JS in payload I received the following message "The msg.payload contains an object that has an unsupported command property 'add_js_event'". I have tried on chrome and safari browser with the same result.
Can you kindly help me please to understand what is wrong in my setup.
Thanks in advance. Best Regards