-
yss-multiSVG
01/30/2023 at 12:04 • 0 commentsO yes! Inspired by a post on forum. I decided to make a site that will eliminate at all a need of touching a code :) Now with multiSVG you can make your instrument / controls / site in inkscape !
More about it coming soon at adress: https://github.com/yOyOeK1/oiyshTerminal/tree/main/ySS_calibration/sites/multiSVG
For now teaser :)
-
Nice visual step.
01/20/2023 at 04:26 • 0 commentsThis is a site details page. It's a part of a OTDM in yss. For now it's like so. My skills in ui is killing me :P Plan now is to solve rest of plans.
For now it's in yss thats good.
All sites now heve it's small description .json to serv some data about them selfs. It will cam from autor or from branched site.
I can see list of sites find over it.
With hosting on Node-red I was able to make external directory location. It can be theoretic on different host and still be served on site :)..
There is some hard core X action in flow of host / handlers going on :P
Node-red on one site is great. Clik clik clik cik And you have http server with something. But reading list of files in directory is hard :)
New README about OTDM in yss on github:
https://github.com/yOyOeK1/oiyshTerminal/blob/main/ySS_calibration/sitesTestExtDir/otdm/
-
OT big commit.
01/17/2023 at 19:27 • 0 commentsLong time since I push all what is going on. But it is done now.
All work to this point on otdm-tools, and otdm helpers is committed. It's in progress not working still but I'm pushing it to mark a point where yss coming together is stable version. Files moved in directories. Sites manager is in place in vanilla status. This is a starting point If I will not procrastinate one more time :P
Last side work you can check notes in Change log :)
https://github.com/yOyOeK1/oiyshTerminal/tree/main/ySS_calibration
-
yss with Three.js and OSD
01/13/2023 at 03:07 • 0 commentsIn my opinion evary instrument or display should have OSD. I'm from times where smart TV was when it was showing program name or it have teleprompter. :)
ySS with Three.js is on another level !
Since last post mile steps in:
- t4y.putText - osd in progress.. O it can do also :P fov of camera detection nice aligning cb|lt|rt|lb|rb ciach :) 19:03 :P
- t4y.getHtmlAfterLoad no more ott arg.
- Fixing subPixel section to update on resize screen. >600: 4; > 500: 2
- Fixing camera swaping system. When glb have "Camera" t4y is trying to swap to it. All is loaded async so there is a problem what is current in use. Shader done.
- spliting three4yss.js for more files. DONE: T4y_putText, T4y_shadersDefs, T4y_shader, T4y_ani
- Moving to directory per site structure.
- Adding libs directory to hold all libs not in main dir.
- Fixing new paths. Flow of ySS update to new paths :) system
- in t4y on load glb it check if there is no "Camera" coming from glb file. If is there should getting position from it. It's doing it but shader and orbit stopt work :(
Bem Osd has landed :)
-
yss can do 3d text
01/11/2023 at 16:10 • 0 commentsWith one command can do 3d text with value. Nice :) Updated README on repository. Adding some basic info about prototype of a page and some info about high level functions. Lot of progress.
All description at: https://github.com/yOyOeK1/oiyshTerminal/tree/main/ySS_calibration
-
yss out from its egg vs three.js Wow.
01/09/2023 at 20:27 • 0 commentsGetting more experience with using it. three.js is a best ! yss is out from a monstrosity oiyshTerminal and now running on Node-red instead grafana hosting. Using some data injections Node-red now have control over plugins / pages :) It's power info!
Bummm! Now it's array, next it will be mysql query.... :)
3d Compass 1 - is a first instrument attempt. Manipulation from mqtt messages comping from websocket to have no problems with older browsers. I added some rendering manager to limit frame rate. I'm aiming to long battery life not smooth animations. But getting there.
If you want to try it today ?
You need to have access to running Node-red instance. File system where it is running. Instruction you can find: https://discourse.nodered.org/t/yss-0-1-node-red-edition-dashboard-not-node-red/73389
-
ySS - can do three.js / 3d :)
01/08/2023 at 11:27 • 0 commentsI'm all the time straggle with concept of doing 3d in programming. Always it's something what is attracted by it. 3d is for me difficult but nice part of coding skill. Translations, transformations,....
ySS is a part of oiyshTerminal. It's a web base interface. You can easy modify code there to add new panels with instruments or screens. Up to this point it was supporting you nicely with html and svg. But new thing is support from three.js library. POWER !
Before you could draw yours dream instruments panel in inkscape now you can make it also in blender :)
In current state it's two lines to have your model from blender in yss.
In screen shot you can see logo of oiyshTerminal floating. It's 3d model in glb file format. Materials, textures, lights.
And like with svg you need to set what value are doing what with witch object from 3d file :)
-
Oiysh one more time. Inject grafana annotations like a BOSS
01/05/2023 at 16:41 • 0 commentsI think it's pretty cool to post a annotations to grafana with something. To make some one life easy ear. I'm sharing it with you. One more time I made it by mistake :P
Check Use info node !!
And one small injection later. Msg is past by in link. process. Can overtire values and other thinks :). End result of my experiment is marking time when phone was plug to charging on a graph. And it hayppend. After some otdmTools.py modification. It was able to make it. But to make this example more simple and with less dependencies. It's Vanilla solution / Node-red using build in request for http node. Nice.
json to import to Node-red to have functionality...
[ { "id": "0f3990356594599b", "type": "tab", "label": "Graf annotat", "disabled": false, "info": "", "env": [] }, { "id": "b481d84ae887617a", "type": "function", "z": "0f3990356594599b", "name": "send annotation to grafana", "func": "tn = new Date().getTime();\n\ntags=[\"from node-red\"];\nif( msg.tags != undefined ){\n for( var t=0,tc=msg.tags.length; t<tc; t++)\n tags.push( msg.tags[t] );\n}\n\nmsgTs = {\n \"payload\": \n //JSON.stringify(\n {\n\"dashboardId\": msg.dashboardId,\n\"panelId\": msg.panelId,\n\"time\": tn,\n\"inRegion\": true,\n\"timeEnd\": tn,\n\"text\": msg.txt,\n\"tags\": tags\n }\n //)\n\n};\n\nif( msg[\"patch\"] ){\n node.status({text:\"add patch:\"+JSON.stringify(msg[\"patch\"])});\n pa = msg[\"patch\"];\n for (const [key, value] of Object.entries(pa)) {\n msgTs.payload[key] = value;\n }\n}else{\n //node.status({text:\"no patch\"});\n \n\n}\n\n\nnode.send(msgTs);\n//node.status({ text:JSON.stringify( msg ) });", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 340, "y": 480, "wires": [ [ "582b616768db1a4d", "bdb3c1a8c406f504" ] ] }, { "id": "bdb3c1a8c406f504", "type": "debug", "z": "0f3990356594599b", "name": "", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 750, "y": 180, "wires": [] }, { "id": "6f7847275c5e6b76", "type": "http request", "z": "0f3990356594599b", "name": "", "method": "POST", "ret": "obj", "paytoqs": "body", "url": "http://admin:admin@localhost:3000/api/annotations", "tls": "", "persist": false, "proxy": "", "authType": "", "senderr": true, "x": 790, "y": 520, "wires": [ [ "bdb3c1a8c406f504" ] ] }, { "id": "582b616768db1a4d", "type": "change", "z": "0f3990356594599b", "name": "Set Headers", "rules": [ { "t": "set", "p": "headers", "pt": "msg", "to": "{}", "tot": "json" }, { "t": "set", "p": "headers.content-type", "pt": "msg", "to": "application/json", "tot": "str" }, { "t": "set", "p": "headers.accept", "pt": "msg", "to": "application/json", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 670, "y": 420, "wires": [ [ "6f7847275c5e6b76" ] ] }, { "id": "9a02d7d30eafbbaa", "type": "link in", "z": "0f3990356594599b", "name": "send grafana annotation", "links": [ "f4a11268fee11b69" ], "x": 175, "y": 380, "wires": [ [ "b481d84ae887617a", "bdb3c1a8c406f504" ] ] }, { "id": "30fad9aefc47480e", "type": "comment", "z": "0f3990356594599b", "name": "Use info", "info": "Examples if it will get:\n\n> msg = {\n> \"dashboardId\": 7,\n> \"panelId\": 3,\n> \"txt\": \"abcd\",\n> \"tags\": [ \"huawaii plug / unplug\" ]\n> };\n> node.send(msg);\n\nregular annotation will be added.\n\n\n \n> msg = {\n> \"dashboardId\": 7,\n> \"panelId\": 3,\n> \"patch\":{\n> \"time\": global.get(\"hu_plug_t\"),\n> \"timeEnd\": new Date().getTime()\n> },\n> \"txt\": \"huawaii was charging\",\n> \"tags\": [ \"huawaii charging\" ]\n> };\n> node.send(msg);\n\nannotation with overrite time and timeEnd will be post'ed\n\n\n\n\n", "x": 220, "y": 300, "wires": [] } ]
Let me know what you think about it :)
-
Coding ............ 0.21.0 otdmTools.py
01/04/2023 at 11:25 • 0 commentsCoding coding and I don't see horizon. Tools were reorganize one more time. This time it's using prototypes. I created a vector of drivers prototypes. All drivers now inherit driver prototype and that way I don't need to know if action is done in file system, grafana data source, or Node-red module NICE!
Currently working on sections: pre post install remove in new way of doing it. It can already detect dependencies to other drivers. Dashboards from grafana need there data source right?
Lot of experimenting and lot of problems pop up. But forvard :)
TBC...
-
otdm-tools ver: 0.20.5 apt install otdm-grafana-ds-mysql
12/30/2022 at 17:03 • 0 commentsWhat a odd place to think about looking for solutions for grafana in apt
repository. But look...Continuation of previews video there is some progress DONE.
In this video you can see full process:
- building otdmMake.sh [project]
- it's getting predefined information from designing grafana instance
- updating data in project directory.
- executing otdm tasker
- executing dpkg building sequence. - putting ready .deb file to repository directory
- updates directory of repository for aptthen you can see a installation process :)
$ apt install otdm-grafana-ds-mysqlAll mechanisms in this task are start. dpkg in checkin dependencies and solving them. pre post install do the magic.
And it's... in grafana
$ apt remove otdm-grafana-ds-mysql
removes all it needs. Datasource is not there.
TBC......