Git Product home page Git Product logo

cgm-remote-monitor's People

Contributors

apanasef avatar bewest avatar bogdangorescu avatar brianhanifin avatar dduugg avatar dougtakeuti avatar fokko avatar hackingtype1 avatar herzogmedia avatar hichameyessou avatar inventor96 avatar jakubkodia avatar jasoncalabrese avatar jimsiff avatar jpcunningh avatar lixgbg avatar martijnmcb avatar mddub avatar miloskozak avatar petrondrusek avatar pietergit avatar ps2 avatar rnpenguin avatar scottleibrand avatar stavlor avatar sulkaharo avatar tanja3981 avatar unsoluble avatar unsoluble-test avatar xpucuto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cgm-remote-monitor's Issues

Supress data when there is no current data?

I would like to propose that when there is no current data, that the graph and BG value be suppressed entirely and a message "No data" be displayed. Currently the dots are blue and I think the BG may have a strikethrough in some versions, but this may not be enough warn the user. Not sure if this has been suggested already so feel free to remove this if it has been.

Dev Branch Azure Deployment Fail

New website in Azure. Pulled new "dev" branch. Deployment fails, but says "successful". Website will not load (http://gcwtest.azurewebsites.net).

Attached are:

  1. Deployment Log
  2. App Server Logs
  3. Screen snip of my GitHub repo to show that I am current

// Deployment Log
Command: bash deploy.sh
Handling node.js deployment.
KuduSync.NET from: 'D:\home\site\repository' to: 'D:\home\site\wwwroot'
Using start-up script server.js from package.json.
Generated web.config.
Node.js versions available on the platform are: 0.6.17, 0.6.20, 0.8.2, 0.8.19, 0.8.26, 0.8.27, 0.8.28, 0.10.5, 0.10.18, 0.10.21, 0.10.24, 0.10.26, 0.10.28, 0.10.29, 0.10.31.
Selected node.js version 0.10.31. Use package.json file to choose a different version.
Updating iisnode.yml at D:\home\site\wwwroot\iisnode.yml

[email protected] postinstall d:\home\site\wwwroot
node node_modules/bower/bin/bower install
npm WARN unmet dependency d:\home\site\wwwroot\node_modules\bower\node_modules\insight\node_modules\inquirer\node_modules\cli-color\node_modules\d requires es5-ext@'~0.10.2' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency d:\home\site\wwwroot\node_modules\bower\node_modules\insight\node_modules\inquirer\node_modules\cli-color\node_modules\memoizee requires es5-ext@'~0.10.4' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency d:\home\site\wwwroot\node_modules\bower\node_modules\insight\node_modules\inquirer\node_modules\cli-color\node_modules\timers-ext requires es5-ext@'~0.10.2' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency d:\home\site\wwwroot\node_modules\bower\node_modules\insight\node_modules\inquirer\node_modules\cli-color\node_modules\memoizee\node_modules\event-emitter requires es5-ext@'~0.10.2' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency d:\home\site\wwwroot\node_modules\bower\node_modules\insight\node_modules\inquirer\node_modules\cli-color\node_modules\memoizee\node_modules\lru-queue requires es5-ext@'~0.10.2' but will load
Finished successfully.
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined

// App Server Logs
Application has thrown an uncaught exception and is terminated:
Error: Cannot find module 'zeparser'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (D:\home\site\wwwroot\node_modules\socket.io\node_modules\socket.io-client\node_modules\active-x-obfuscator\index.js:1:78)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)

// GitHub Repo Screenshot
image

Care Portal: No decimal point in Carb, Insulin Given fields

On my Samsung Galaxy S3 running Kit Kat, I get a numeric keypad when entering data in the Carb and Insulin Given fields on the Care Portal form. There is no way to add a decimal point. Probably not a big deal for carbs, but entering fractional units of insulin should be an option.

I'm not sure if this is specific to the S3 because I remember entering CP entries with fractional units on Android tablets at Best Buy last week. This problem doesn't occur on IOS.

Localization

As discussed with Ben and Kevin I would like to localize the three parts of Nightscout. I'm Italian and I'm supporting the Italian community in order to setup and manage Nightscout and I think it would beneficial for many to have a localized software.
I'm translating android-uploader in Italian and German via a German friend of mine.

I'm not sure how to do it for cgm-remote-monitor but maybe with a choice in the setup.

I hope I'm using the right tool to start a discussion and keep track of changes, if not please let me know.

Ivan

IE11 compatibility

The vertical resizing problem in IE11 appears to be due to failure of this line in client.js to retrieve the correct chartHeight:

var chartHeight = (document.getElementById('chartContainer').getBoundingClientRect().height) - padding.top - padding.bottom;

Whereas the prior line retrieves the correct chartWidth (always returns an integer that varies with window size), the chartHeight always returns 54.69000244140625 regardless of window height when using IE11.

In Chrome, chartHeight returns the expected integer value, which is why it works in Chrome.

Clock / Android Widget UI

Update: corrected typo. Changes in bold.

Create a separate people like the Pebble Watchface (at /basic?) that omits the chart portion of the full site. This would be perfect for displaying in Android widgets.

Error Trapping on MONGO_COLLECTION variable

The Collection should be polled for the quantity of points before display is rendered. We can trap for 0, <3, or valid data instead of just displaying dashes on the rendering.

Low Alarm Not Working

Overnight last night, BG was <80 for an extended period. Rose to over 80, then back down again for a few hours. The low alarm never went off. I asked someone else to verify on their computer if the alarm was working for them viewing my site. It was not.

I was able to look at our computer and verified that the alarm was not working, even though the alarm was enabled and had been open to our site all night.

screen shot 2014-11-08 at 8 29 44 am
screen shot 2014-11-08 at 8 29 50 am

Installation Instructions

Hi - I'm about 1 week into this, so I'm coming at this as a newbee to node.js, but with development background.

It may be me, my environment, or something - but e been working how to get cgm-remote-monitor to work. I've finally figured it, and wanted to share my feedback as I'm not sure whether it goes in the metasite (http://nightscout.github.io/posts/01-quickstart/) or here or in the rnpenguin/cgm-remote-monitor (https://github.com/rnpenguin/cgm-remote-monitor). I posted this in the latter, but then wasn't sure if that was the right spot.

I'll try to be as detailed as possible, but also write for the less technical.

My environment:

Windows 8.1 x64
Microsoft Azure hosting
Microsoft WebMatrix 3
Git Bash (http://msysgit.github.io/)
node.js (http://nodejs.org/download/)
Windows Azure Command Line & Powershell
So I started with the "let's do just the basics" to get the cgm-remote-monitor (Nightscout) up and running. I did this a couple of weeks ago using a "REV 0" installation guide. Somehow I got it to work, and since then, I've been piecing together a structured repeatable process so I can have a "staging" site for new code, etc.

Step 1: Using Nightscout Quickstart Guide (http://nightscout.github.io/posts/01-quickstart/)

When I do this, the process fails. I get an Azure "internal server error." To be clear, what I do is the following -- create a new website in Azure, configure the environment variables for mongodb and mongo_collection, setup source control deployment, choose GitHub, choose the cgm-remote-monitor and master fork, and then it does it's thing. Unfortunately, it doesn't work for me. I tried Azure East, Azure West, I tried the deployment multiple times since I figured "it worked for me once" this way, why not now. It must be me. At this point, I figured out how to get the FTP username for each of my Azure websites and downloaded them locally. I compared my working deployment website to my new website and the deployment files were different -- specifically the absence of "node_modules" directory and the absence of "bower_components" from the "new" non-working site. So I tried copying the two directories into the non-working site, uploaded to Azure, and it worked. So that gave me the source problem, but not the solution.

Step 2: Getting into Development mode
I downloaded and installed MS WebMatrix 3 and Git Bash as I read the other instructions which called for "npm" and "command line" interface. Maybe there's a way to get command line in Azure, but I couldn't find it. Somewhere in the process of downloading WebMatrix, node.js was downloaded and installed to my computer. So I figured out WebMatrix3, and got the "open from source control" and pulled the cgm-remote-monitor into a "local" test site. I did the 'run' and got the errors (as there were no "node_modules" nor "bower_components" folders.

Next I tried to figure out how to get the missing folders/files in there. I ran "npm install -g bower" from the WebMatrix3 local test website folder via command line. (\documents\mywebsites<test site). I got a TON of errors.

The top of the output told me that my "node.js" was 0.8.x, and the dependency was 0.10.x. Alright, so I found and downloaded the latest node.js (see environment above).

From there, going back to the documentation, my focus was on "npm install -g bower" in order to do "bower install".

After the upgrade to Node.js 0.10.x, I had to re-do "npm install -g bower" from anywhere on command line (for example, c:\temp). The "-g" installs the files into your 'globally' available node.js. OK. Next.

I still had the problem that the two directories were NOT in my test website. So at this point, I'm back to the installation guides within the "cgm-remote-monitor" GitHub repository (https://github.com/nightscout/cgm-remote-monitor) where I see -- in accordance with RTM -- "npm install". And magical... the two missing folders appear.

And now, things were starting to click. I was also able to quickly and easily modify the database configuration file, which means I no longer have to do it in the "Azure Management Portal."

So ... to wrap up... for most people, the Quick Start guide via the Azure Website deploy from GitHub and using the "Azure Management Portal" configuration for the database environment variables is clearly the most direct path -- but it isn't working for me, and the source goes back to the missing "node_modules" and "bower_components."

Is there a way to do the "npm install" on Azure that I'm missing? When I researched it, the only thing I found was the Azure cross-platform powershell and command line. If there's no way, then it seems like the easiest thing would be to put the two directories into the cgm-remote-monitor GitHub repository as it appears to be just doing an HTTP or FTP push of the files. But that goes against my development background. So that pushes me back to the WebMatrix3 and Git Bash, but that's the opposite of the "Azure Portal" directions.

Sorry for long question - I've been working on this for days, and it finally came together. I didn't update the document directly because I'm still not sure that I'm not missing something obvious.

Thanks!

Greg

there isn't anything to compare

We couldn't figure out how to compare these references, do they point to valid commits?

It then gives me a list to review?

 dev 3 hours ago
 wip/mbg 8 days ago
 wip/feeds 15 days ago
 wip/has_feature on Aug 11
 wip/spinner on Aug 3
 master@{1day}...master 24 hours ago

Question on Development Setup

Sorry for opening an issue, but was not sure of the best method to touch base with all the developers. Figured Facebook would not be a good place to pose this type of question. Let me know if there is a forum better suited to a technical discussion on Nightscout.

I am setting up a development environment and had a question on the Node.j configuration that I have not been able to figure out.

I have Node.j up and running, connected to Mongo and pulling the data. What I can not determine is how to configure the CarePortal and API Secret on my Windows 8.1 machine. I looked through the javascript code, but could not determine where those variables were actually pulled from.

Thanks,

Michael McArthur

Does not work in internet explorer.

Hi,
I fixed this and I posted code in the core dev google groups. We are just testing this on a few more devices but will submit code here soon!

CGM Data collection standardization?

Does it still make sense to have each user create a custom collection name for their CGM data? With the recent push towards API standards that create their own collections (devicestatus, treatments), is it worth considering automatically creating a "cgmdata" collection instead of a custom name? It would simplify the Mongo URI somewhat. I'm not sure how invasive this change would be given that so many people already have working (but non-standard) data collections.

High Alarm alarms when it shouldn't

Jason -
Testing the develop branch. On computer (and phone and kindle tablet), I get the high alarm even when I have the control set for no high alarm, and I also added the "mute=true" to the URL. I've been away from computer all day, so I don't know if there was a session timeout or something that led to the high alarm alarming.

But when I hit enter and the URL in the browser, the alarming went away.

Screenshot of alarming included.

image

  • Greg

Care Portal

Treatment dot does not show up when entered in Chrome on mac.

screen shot 2014-09-09 at 4 40 13 pm

{
"enteredBy": "Kate",
"eventType": "BG Check",
"glucose": "2.2",
"glucoseType": "Finger",
"carbs": "20",
"insulin": "",
"notes": "Pop",
"created_at": "2014-09-09T20:17:35.749Z",
"_id": {
"$oid": "540f605f52527df016f2495d"
}
}

Add Documentation

This project could use a lot more documentation. I believe that as a community it's something we can get started on.

Describe the ways that you can obtain CGM data, how it goes into the mongo instance, etc. A simple "How to get started" from a clone -> look at data perspective.

Version Control in Display

With multiple users and builds in play, we need to include a version number at the bottom of the page to aid in debugging end users.

Deployment Fails on Azure

Hi,

Thanks so much for what you guys are doing with this project.

I'm having an issue trying to get this to deploy on Azure. Could you please review the error below. Thanks.

Command: bash deploy.sh
Handling node.js deployment.
KuduSync.NET from: 'D:\home\site\repository' to: 'D:\home\site\wwwroot'
Using start-up script server.js from package.json.
Generated web.config.
Node.js versions available on the platform are: 0.6.17, 0.6.20, 0.8.2, 0.8.19, 0.8.26, 0.8.27, 0.10.5, 0.10.18, 0.10.21, 0.10.24, 0.10.26, 0.10.28, 0.10.29.
Selected node.js version 0.10.29. Use package.json file to choose a different version.
Updating iisnode.yml at D:\home\site\wwwroot\iisnode.yml
npm http GET https://registry.npmjs.org/body-parser
npm http GET https://registry.npmjs.org/bower
npm http GET https://registry.npmjs.org/errorhandler
npm http GET https://registry.npmjs.org/event-stream
npm http GET https://registry.npmjs.org/express-extension-to-accept
npm http GET https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/sgvdata
npm http GET https://registry.npmjs.org/mongodb
npm http GET https://registry.npmjs.org/socket.io
npm http 304 https://registry.npmjs.org/errorhandler
npm http 304 https://registry.npmjs.org/body-parser
npm http 304 https://registry.npmjs.org/express-extension-to-accept
An error has occurred during web site deployment.
npm http 304 https://registry.npmjs.org/bower
npm failed
npm http 304 https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/sgvdata
npm http 304 https://registry.npmjs.org/mongodb
npm http 304 https://registry.npmjs.org/socket.io
npm http 304 https://registry.npmjs.org/event-stream
npm http GET https://registry.npmjs.org/express/-/express-4.8.3.tgz
npm http 200 https://registry.npmjs.org/express/-/express-4.8.3.tgz
npm ERR! Error: shasum check failed for C:\DWASFiles\Sites\juliecgm\Temp\npm-6984-W8igQesr\1407737516346-0.7824546734336764\tmp.tgz
npm ERR! Expected: a2c95b9079cda0473a04448f6b6c1e7fc20bf200
npm ERR! Actual: da39a3ee5e6b4b0d3255bfef95601890afd80709
npm ERR! From: https://registry.npmjs.org/express/-/express-4.8.3.tgz
npm ERR! at D:\Program Files (x86)\npm\1.4.10\node_modules\npm\node_modules\sha\index.js:38:8
npm ERR! at ReadStream. (D:\Program Files (x86)\npm\1.4.10\node_modules\npm\node_modules\sha\index.js:85:7)
npm ERR! at ReadStream.emit (events.js:117:20)
npm ERR! at _stream_readable.js:929:16
npm ERR! at process._tickCallback (node.js:419:13)
npm ERR! If you need help, you may report this entire log,
npm ERR! including the npm and node versions, at:
npm ERR! http://github.com/npm/npm/issues
npm ERR! System Windows_NT 6.2.9200
npm ERR! command "d:\Program Files (x86)\nodejs\0.10.29\node.exe" "D:\Program Files (x86)\npm\1.4.10\node_modules\npm\bin\npm-cli.js" "install" "--production"
npm ERR! cwd d:\home\site\wwwroot
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.10
npm

Time formats and structure differ between Mongo Collections

Hi, I'm new to the project and just starting to unwrap the data but I noticed that time is recorded in a few different ways. It would be ideal if it was standardized and documented (which format etc...). Hope this helps! I'm a big fan of this project.

Below is what I've observed:

CGM
{
...
"date": 1414370037000,
"dateString": "10/26/2014 08:33:57 PM",
...
}
devicestatus
{
...
"created_at": {
"$date": "2014-10-22T23:44:58.135Z"
}
...
}
treatment
{
...
"created_at": "2014-10-23T01:55:13.636Z",
...
}

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Minor issue viewing Care Portal on IOS devices

After bringing up a care portal entry by tapping on the dot, I cannot get the pop up to go away unless I tap on another care portal entry, or manually refresh the browser window. Tapping another care portal entry just moves the active care portal popup, so the only real workaround is to refresh the browser window. The only way to refresh the screen in the full screen Home Screen view is to switch apps then back to Nightscout.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4250732-minor-issue-viewing-care-portal-on-ios-devices?utm_campaign=plugin&utm_content=tracker%2F2451736&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F2451736&utm_medium=issues&utm_source=github).

theme, potentially "flair" support

Personally, I love the thought and design in the default theme. There are legitimate reasons for wanting to customize the theme.

The most compelling from a therapeutic perspective is:

I have installed multiple apps, how do I tell which PWD I'm monitoring?

An easy-ish way to handle monitoring multiple people at the same time is vary the theme, ideally with some distinguishing flair between them. Of course, it'd be nice if switching themes was a configurable option, light weight, easy to write and maintain, yada yada. It would also be nice, for the sake of parents monitoring multiple children, if some simple identifier, or flair could be added to the display to help distinguish between children. It would also be nice if these changes so happened to also support switching to eg, @jasoncalabrese 's "tropical" theme as well as potentially support other themes (I'm interested in a solarized theme). I was thinking that an idea code base would have one or maybe two "features" what would control all over this through some kind of css/bower overlay through simple environment variable switch or something. I have not managed to read up enough of @jasoncalabrese or @necroscope 's work to tell what exactly would be required or if it's possible to do in such a way.

Test data option

I have the system up and running but I have yet to connect to the Dexcom (because it is with my daughter at camp :) ). Even with that not being the case, I think it would be very cool to modify the doReadAndUpload to check for a useTestData flag and send some garbage data from the android app to the cloud so that we can test prior to taking the final step of connecting to the Dex.

Overall, I am really psyched about this!!

Error Trapping on MONGO Variable

Remote monitor should validate the MONGO variable before attempting to use it. As it stands now, we get a 504 error if we are lucky, and a blank screen in many browsers.

Trend line rendering issue when using Nightscout as a Home Screen App on iOS

If you save your Nightscout URL to the Home Screen on IOS, it opens full screen with no browser address bar. If the screen switches from portrait to landscape, then back to portrait, the trend line disappears. It will render properly again at the next refresh or when switching apps then back to Nightscout. The problem easily recurs if phone orientation switches the screen to landscape. A workaround is to turn on portrait screen lock.

Collection architecture for "devicestatus" and "treatments" breaks existing "multi-T1" deployments

Just ran into this when helping a multi-t1d family upgrade to Brownie (0.4.2). Starting with 0.4.0, the architecture assumes that the "database" is a single human being.

Currently, a lot of the multi-t1d deployments have a single database with 2 collections -- one per kid. When these people upgrade to Brownie, nothing will break, but their data will unknowingly wrong. The two "systems" (rigs + CPs) will write to a common collection respectively.

The uploader has a parameter setting for "devicestatus" but if you change that, there's no way in the website configuration to tell it to use "kid1DeviceStatus" without changing the code -- which will create problems for future releases and merging.

Additionally, the "treatments" collection for Care Portal does not have a configurable option for "kid1" vs. "kid2". As such, multiple websites using same "db" with different collections for kids will overlap each other.

Workaround - move 2nd kid to separate database within Mongo. (assuming MongoDB URI since most people have not adopted REST API yet).

  1. Create new database with user/pwd
  2. In Mongo, copy existing collection in db1 to new collection name in db2
  3. Reconfigure uploader2 for new db2 with new collection name (note... collection could remain the same)
  4. Reconfigure website for new mongo db uri with db2 and mongo_collection (if changed)

Recommended enhancement:

  1. Make "devicestatus" a connection string DEVICESTATUS_COLLECTION.
  2. Make "treatments" a connection string "TREATMENTS_COLLECTION".

I would prefer to put the collection parameters in the APP CONFIG but that would require moving mongo_collection to "APP CONFIG" to ensure consistency. Otherwise, put in connection string" in order to maintain "this kind of info goes here; that kind of info goes there."

Thanks.

  • Greg

Testing harness

A testing harness would allow for easy startup and debugging.
It could be either a mock db or just a mock data being sent from the server.
Also, accelerated time would allow features relying on data to be tested quicker.

Configurable history in node application?

Is it possible to configure the number of days displayed in the node application? Possibly a historical view, somehow, weekly, monthly, etc.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/5015622-configurable-history-in-node-application?utm_campaign=plugin&utm_content=tracker%2F2451736&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F2451736&utm_medium=issues&utm_source=github).

Error installing Kudu Sync

Hi, I get this error running the deploy script

Installing Kudu Sync

An error has occurred during web site deployment.
npm failed

Running npm install kudusync -g on the terminal (the command in deploy.sh that fails), I get this:

npm http GET https://registry.npmjs.org/kudusync

npm ERR! Error: failed to fetch from registry: kudusync
npm ERR!     at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR!     at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9)
npm ERR!     at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18)
npm ERR!     at Request.callback (/usr/lib/nodejs/request/main.js:119:22)
npm ERR!     at Request.<anonymous> (/usr/lib/nodejs/request/main.js:212:58)
npm ERR!     at Request.emit (events.js:88:20)
npm ERR!     at ClientRequest.<anonymous> (/usr/lib/nodejs/request/main.js:412:12)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at HTTPParser.onIncoming (http.js:1261:11)
npm ERR!     at HTTPParser.onHeadersComplete (http.js:102:31)
npm ERR! You may report this log at:
npm ERR!     <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR!     reportbug --attach /vagrant/npm-debug.log npm
npm ERR! 
npm ERR! System Linux 3.2.0-23-generic
npm ERR! command "node" "/usr/bin/npm" "install" "kudusync" "-g"
npm ERR! cwd /vagrant
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! message failed to fetch from registry: kudusync
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /vagrant/npm-debug.log
npm not ok

Here's a /vagrant/npm-debug.log:

vagrant@precise64:/vagrant$ cat npm-debug.log 
info it worked if it ends with ok
verbose cli [ 'node', '/usr/bin/npm', 'install', 'kudusync', '-g' ]
info using [email protected]
info using [email protected]
verbose config file /home/vagrant/.npmrc
verbose config file /usr/etc/npmrc
verbose config file /usr/share/npm/npmrc
verbose cache add [ 'kudusync', null ]
silly cache add: name, spec, args [ undefined, 'kudusync', [ 'kudusync', null ] ]
verbose parsed url { pathname: 'kudusync', path: 'kudusync', href: 'kudusync' }
verbose addNamed [ 'kudusync', '' ]
verbose addNamed [ null, '' ]
silly name, range, hasData [ 'kudusync', '', false ]
verbose raw, before any munging kudusync
verbose url resolving [ 'https://registry.npmjs.org/', './kudusync' ]
verbose url resolved https://registry.npmjs.org/kudusync
http GET https://registry.npmjs.org/kudusync
ERR! Error: failed to fetch from registry: kudusync
ERR!     at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12
ERR!     at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9)
ERR!     at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18)
ERR!     at Request.callback (/usr/lib/nodejs/request/main.js:119:22)
ERR!     at Request.<anonymous> (/usr/lib/nodejs/request/main.js:212:58)
ERR!     at Request.emit (events.js:88:20)
ERR!     at ClientRequest.<anonymous> (/usr/lib/nodejs/request/main.js:412:12)
ERR!     at ClientRequest.emit (events.js:67:17)
ERR!     at HTTPParser.onIncoming (http.js:1261:11)
ERR!     at HTTPParser.onHeadersComplete (http.js:102:31)
ERR! You may report this log at:
ERR!     <http://bugs.debian.org/npm>
ERR! or use
ERR!     reportbug --attach /vagrant/npm-debug.log npm
ERR! 
ERR! System Linux 3.2.0-23-generic
ERR! command "node" "/usr/bin/npm" "install" "kudusync" "-g"
ERR! cwd /vagrant
ERR! node -v v0.6.12
ERR! npm -v 1.1.4
ERR! message failed to fetch from registry: kudusync
verbose exit [ 1, true ]

Any idea what's wrong? I'm not familiar with node / npm.

New Care Portal Treatment Types - Temp Basal Start and Stop

I am very new to this group and am just getting my development environment setup and running, but I wanted to request (and prototype) a very minor addition to the care portal functionality. I was not sure exactly what changes would be required so I waited until it was running on my machine before posting here.

To maintain my son's BG using an Omnipod, we use a combination of Bolus' and Temp Basal's, so I wanted to discuss the supporting the tracking of the Temp Basal's in addition to the bolus entries already in the care portal.

So, I got the code and created a branch wip/basal, and figured out that the change was VERY simple (with the assumption that the Insulin Given would be reused and no unique field for the time period).

I tested the setup with MongoLab database and both Azure and my local Node.js and the entries came across as expected.

Anyway, I wanted to throw this up to you all for discussion. Also, I do not know how to show/point you to my branch (or if you can see it automatically).

Let me know your thoughts.

Michael McArthur

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4500649-new-care-portal-treatment-types-temp-basal-start-and-stop?utm_campaign=plugin&utm_content=tracker%2F2451736&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F2451736&utm_medium=issues&utm_source=github).

Question on variable name spaces

Hey there - been working on consolidating the db config and the new bg thresholds into a single config file tonight. I modified server.js to suck in the name/value pairs. Where I'm stuck is figuring out how to get the "bgLow" and "bgHigh" variables accessible to /js/client.js... which is still executed on the server-side.

In my servlet and JSP days I had page and session and global contexts to place variables, but I can't quite figure out how to do it in this context. I'm new to node.js and searched around but there's a lot about Express, but it doesn't appear to be doing that.

Can you point me in the right direction? I'm really trying to get this done in order to make available "step 1" of the improved user configuration. I know discussion included a gui, putting into a db, etc... but I'm trying to take one step at a time.

Update 6/25 1pm ET: I went into client.js and replaced the bg values of 80 with "bgLow" and 180 with "bgHigh". Then I created two new variables within client.js (taking server.js out of the equation) for bgLow (70) and bgHigh (200) to visually confirm the lines on the graph are updated -- but they remain 80 and 180. So I'm trying to understand if I could be getting whacked by the nodeStatic caching? I can hit the /nightscout.appcache and see the cache configuration, and the setting is for 30 days or something.

Here's an example of what I'm doing...

// add a y-axis line that shows the low bg threshold
focus.append('line')
.attr('class', 'low-line')
.attr('x1', xScale(dataRange[0]))
.attr('y1', yScale(bgLow))
.attr('x2', xScale(dataRange[1]))
.attr('y2', yScale(bgLow))
// .attr('y2', yScale(80))
.style('stroke-dasharray', ('3, 3'))
.attr('stroke', 'grey');

So...

  1. Am I editing the correct file (client.js)?
  2. Is there a way to force clear the cache (rather than comment out the code)?

Thanks

  • Greg

Color on BG trend line dims over time

When viewing Nightscout in a browser window, the trend line color dims. The recent BG readings dim from bright green to a darker green. The BG cone prediction dims from a bright light blue to a dim blue. This only occurs if the browser window is refreshing automatically. If I do a manual refresh, the BG trend line and cone render properly. Running the latest dev, color, mg/dl.

screen shot 2014-09-10 at 1 20 41 pm

screen shot 2014-09-10 at 1 20 51 pm

Enhancement - Design Input

Hey all - now that I've resolved my "vanishing arrows" due to my dexcom-uploader... I saw a notification come in tonight re: client.js and BG thresholds. (https://github.com/aaronjknox/cgm-remote-monitor)

I'm happy to attack this one, but would like group perspective -- to me, the BG high and low is a threshold that will be highly varied by person and style. So, to me, that is a prime candidate for an environment variable / configuration file.

What I would really like to do is rename the "database_configuration.json" to "application_variables.json" and make it a generic properties file... and then put the BG High and Low in there... a single parameter file, all loaded via server.js.

If the group doesn't like that, then Plan B would be a "bg_threshold_configuration.json" file that would contain BG High and Low values... again, loaded by server. js.

I'm a node.js rookie, so I'm assuming that I can load variables into "session namespace" via server.js and have them available to client.js... but if not, then I'd have to put the require statement in client.js.

Thoughts before I branch off and do it?

  • Greg

Release 0.3.x Issues

If you are having difficulty with one of the v0.3.x website releases here are some things to try:

  1. The previous version of the site was too aggressive with caching the files used by the site. Important changes may not be downloaded to your browser, which would cause problems. Try viewing the site in Private Browsing or Incognito Mode. (Thanks Josh Corwin for sharing this.)
  2. The new settings feature requires cookies, so please enable cookies. Version 0.3.4 handles this error so the data can display despite disabled cookies. (Thanks Ben West for discovering this.)
  3. If you only see a chart, and are using Dolphin browser, upgrade your site to at least version 0.3.3 for the layout fix.
  4. If you only see a chart, and are using a "Stock Android Browser" of some variety, please switch to Google Chrome. I do not have access to those browsers for testing. So until a developer with access to those browsers can edit the code to help us, Chrome is your best bet.

If after trying the above suggestions you still have a problem, please either post about it below. Be sure to include:

  • Browser name (e.g. Chrome, Safari, Firefox, Internet Explorer, Dolphin).
  • Platform (e.g. Windows, Mac, iPhone, Android, etc.).

Thank you everyone for your patience. This just proves how experimental all of this is, and how important it is to have as many people try out the new site as possible. The more quickly someone reports a problem, the quicker we can discover a solution.

Question on new checkmark and music note

feel like a stupid question - but what does the checkmark vs. the music note do now in the interface? If I click on them, they play the alarm once. Haven't been able to play the combinations from computer vs. phone, during high vs. low, etc.

I know the code is
✓♪

So I think it's just to test it manually... just confirming.

/lib/pebble.js

Hey there - as I look to modify the cgm-pebble community code for the trend arrow, I started with input from cgm-remote-monitor /lib/pebble.js. A couple of questions to make sure I'm tracking things correctly before I start mod'ing code.

  1. The db query for the collection pulls the last 10, but the output via pebble.js is explicitly cgmData.slice(0,6). I am assuming this is for performance to limit the amount of data pulled and processed. Can you confirm?
  2. The JS file defines 40 minutes in milliseconds (2400000), but then in the function multiples by 5. So it could go back 200 minutes. But if the output is limited to 6, can you help me understand why the 40 minutes much less the 200 minutes? Could simply be moving parts, but I want to ensure I'm not missing a subtle data control.
  3. The file has DIRECTIONS defined [0-9]. Do people have a preference for determining trend? The simplest is to take (now) - (last) / array length. But since you're already looping for direction, I could take the sum of each "direction" and average, and then round. A final model would be to simply show the "direction" for the last BG. Personally, I think the trend needs to be the average to account for ups and downs, but since the direction is already calculated in this file per BG, that may have been the thinking to date. ??
  4. I noticed that when things are forecasted, my dexcom-uploader registers "10" as the BG rather than "???" from my Dexcom. Not having read through Dexcom-uploader yet, are there any business logic rules that need to be accounted for? For example, if "now" is BG 10, then stop b/c the data is bad. Or, if slice 3 is BG 10, then stop the averaging there? Likewise, it looks like direction value 8 and 9 would be cases for exception processing.
  5. Rather than having the pebble watch face JS calculate the overall trend, I'm thinking about extending the /lib/pebble.js response to include that after the BGs -- let the appservers do the processing, pass the single value, and let cgm-pebble display. I started with the mindset of modifying the cgm-pebble codebase for everything, but tonight I'm viewing "cgm-pebble" like the View of MVC whereas "cgm-remote-monitor" is the Control in relation to pebble.

Thanks for your thoughts!

Settings Interface

Obviously we are in the middle of refactoring of the API/DB code, but I wanted discuss how to provide an interface for users to customize their settings.

We could add it to the uploader app, or to the website. Would there be a time their kid is away from home and they want to switch their alert number range for example? Or would it be better for the interface be on the uploader phone?

If we want to add it to the website, maybe we could use a bar similar to these to add a settings button, and perhaps even one or more quick toggle type buttons (mobile audio enable/disable perhaps). It propose it would be a dark grey so it wouldn't distract from the important data.

bottom-bar-alt-1

appbar-menu-right

Increased data use with websockets

I heard some users have hit data caps post-Cookie Monster updates. It appears that Cookie Monster uses ~5x Azure data out per idle browser remote monitor with Websockets enabled. (tested on Mac / Firefox 33, Windows 7 / IE10). This does not include uncached or cached browser session starts or manual browser refreshes.

I measured a websockets enabled CM site @ ~640 bytes/sec, websockets disabled CM site @ 143 bytes/sec, and a Brownie site @ 140 bytes/sec. Those figures are from Wireshark for at least 10 minutes per session, filtered with "ip.src == $AZURE_IP" to remove browser ACKs and other client > server overhead from the throughput figures.

Those figures translate to ~52 MB/day for Websockets, ~11.7 MB/day XHR polling w/ HTTPS, ~11.5 MB/day XHR polling w/ HTTP.

You can download my packet captures from http://bit.ly/1zFlllO

You can test yourselves using the following sites:

http://http-brownie.azurewebsites.net - Brownie 0.4.3
https://https-cookie.azurewebsites.net - CM 0.5.0 w/ Websockets
https://https-cookie-nows.azurewebsites.net - CM 0.5.0 w/o Websockets

All sites use the same Mongo store, my dev/test rig with live data. Data out for these sites is purely monitoring, no REST uploads.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.