npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

otplc

v0.0.903

Published

oiyshTerminal - plc solution

Downloads

16

Readme

oiyshTerminal - plc

   Is oiyshTerminal solution for chaos in pins layers. We have many pins different types ins/outs in our systems. Sometimes one mcu is making something in more then one device (that is in my case). Adding PLC layer virtual we can organize all that is some sort of order.

This library is to help with managing otplc's and get to point of having:

most basic layer otplc

Every thing have it's group. I call it *plcType for me it's battey, led, swith, button, relay, mic, temperature, rpm, .... We can put label of *name to every thing. Also location is important for later to know where it's. If it's a locker ok a car is in car. Over what type of protocol is mainly use srcName is like http, tcp, ws, mqtt, fs, .... protocol over what we got it. And last in more detail srcD address. I case of mqtt: topic | ws: url | fs: path | ....

*** need to set**

making instance : new

let o = require("./otplc");
var otplc = o.otplc;

To have a option to play with it ....

adding new : .add

To add new battery for example you can make it as example. It is a need way to sort things. All battery this way cane be treated similar. And you know how many devices there is in one location

otplc.add(
    'battery',        // as plcType
    'Home LiPo4',     // as name
    'oiysh',          // as location
    'mqtt',           // srcName
    'e01Mux/adc0',    // srcD
    -1                // extra data for this one from you to store
    );

Return {string} : your name of ot-plc

get it all : .getAll

Is stored in const so it should be same for all but if you want to marge different instances invoke ....

Return {array} : of ot-plc's

[{
    "plcType":"dummy",
    "name":"abc",
    "srcName":"",
    "srcD":"",
    "extra":-1
},{ ..... }]

runing test1

To have a way to see what is going on

let o = require("./otplc");
let t = new o.OTplcTest1();
> OTplcTest1 ....
> go run test 1 ...... Thu Mar 30 2023 11:27:51 ....
> OTplc init ...
> will have sufix .... mic_0
> Total in: 5
> Types: battery, led
> ---------------------
> All typel srcName
> [ 'mqtt', '' ]
> test 1 ........... DONE Exit 0
> in op is the instance to play ...
let o = t1.op;
// so o is our structure of otPlcs

status

screenshots

notes