Read the statement by Michael Teeuw here.
London Bus status
-
@nmootton Hi there! Thank you for being so responsive! I had another question. I actually want to load 3 of these. I tried loading the module three separate times, but it just loads 3 of the initial entry, even though the atcocodes are different for each one. Any suggestions?
-
@soqueen I have to say I’ve never considered it. Both this and the rail version were something I built more as an experiment than anything else. I’m not even sure I’d know how to handle multiple instances of a module.
I’ll have to have a think/read and see how it could be done. Perhaps other more experienced devs may be able to chip in here?
I will say that running three of these could get expensive in terms of api calls per day… if you use the next bus capability that would be 30 points per call or a max of 33 calls per day (~ every 45 minutes), which might not be enough to make the module really useful. You could get three distinct API keys I guess, but I’m not sure how TransportAPI would view that!
I did consider some form of time range, but again it wasn’t something I needed for the experiment. Perhaps I need to find some time to reconsider that as an option!
-
your module has a node_helper
if there are 3 instances in the config of this module, all 3 share the same node_helper and therefore get the same socketnotifications
workaround that some users have done is copy the module folder and named it modulename2 also changed the modulename.js to modulename2.js and in the js file the string from modulename to modulename2. this will create a node_helper for modulename and one for modulename2
what a dev could do is the following, have the updateinterval in the module which is sending the requesturl to the nodehelper, so every instance sends it and gets executed and then you send the result back to the module and also for which station this request was performed, then you check in the module if the result is based on the station of this instance then process the data otherwise ignore that socketnotification.
-
@strawberry-3.141 If I get the chance I’ll look at passing an identity to the helper so it knows where to route the response back to.
-
Hm. I tried that. I copied the module and contents to modulename2, changed the .js to 2.js - edited the 2.js to (module.register) to modulename2 .
Then I changed my config file - copied the first module to another instance and changed its name to modulename2. (then i changed the atcocode for a new bus stop). --It’s stuck on loading bus info…
-
@soqueen I’ve just pushed a new version that hopefully allows you to have multiple instances of the module running. It’s been working happily this afternoon running three different bus stops around the area with no complaints.
You’ll need to do a git pull to update, then run the
cd MMM-UKLiveBusStopInfo npm install
to install the new dependencies.
Give it a try and let me know. If it goes pear-shaped I can always roll the old version back and look again later.
-
It works! Thank you SO VERY much! I really appreciate it! Thank you!
-
HI there! One of the newest updates took off the heading for my multiple instances. It only puts a header on the first one. I tried adding a header in the config.js file but it ignors it. Help please?
-
@soqueen mmm weird, didn’t do that for me in testing. I’ll have a look later when I get home.
-
updated and now even the first one is missing. :)