Skip to content

Commit

Permalink
polished, added icons, fixed many bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
badunk committed Mar 8, 2014
1 parent 585773f commit 7ad3cde
Show file tree
Hide file tree
Showing 11 changed files with 2,521 additions and 24 deletions.
15 changes: 7 additions & 8 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,20 +37,19 @@ server.listen(app.get('port'), function(){
});
var wattage = 2000;
var lastAmount = 0;
app.get('/api/update', function(req, res){
app.post('/api/update', function(req, res){
lastAmount = parseFloat(req.query.amount);
wattage += lastAmount;

if (!complete){
sockets.forEach(function(socket){
socket.emit('update', wattage);
});
} else{
sockets.forEach(function(socket){
socket.emit('update', wattage);
});
if (complete){

// try to guess which device it was
var devicesCopy = JSON.parse(JSON.stringify(registeredDevices));
var mostLikelyDevice = devicesCopy.sort(function(a,b){
return (Math.abs(a.power - lastAmount) - Math.abs(b.power - lastAmount));
return (Math.abs(a.power - Math.abs(lastAmount)) - Math.abs(b.power - Math.abs(lastAmount)));
}).shift();
sockets.forEach(function(socket){
socket.emit(lastAmount > 0 ? 'device.on' : 'device.off', mostLikelyDevice);
Expand All @@ -72,7 +71,7 @@ app.get('/api/usage', function(req, res){
app.get('/api/guess/devices', function(req, res){
var devicesCopy = JSON.parse(JSON.stringify(devices));
res.send(200, devicesCopy.sort(function(a, b){
return (Math.abs(a.power - lastAmount) - Math.abs(b.power - lastAmount));
return (Math.abs(a.power - Math.abs(lastAmount)) - Math.abs(b.power - Math.abs(lastAmount)));
}).splice(0, 5));
});
app.post('/api/device', function(req, res){
Expand Down
1 change: 0 additions & 1 deletion devices2.json

This file was deleted.

Binary file removed public/.index.html.swp
Binary file not shown.
28 changes: 23 additions & 5 deletions public/admin.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,38 @@
.row{
margin-bottom: 10px;
}
.device-toggle{
height: 100px;
button{
height: 100px;
}
body{
margin-top: 100px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-xs-4"><button class="btn btn-block btn-lg active device-toggle"> Fan </button></div>
<div class="col-xs-4"><button class="btn btn-block btn-lg active device-toggle"> Clothing Iron </div>
<div class="col-xs-4"><button class="btn btn-block btn-lg active device-toggle"> Hairdryer </button></div>
<div class="col-xs-4"><button class="btn btn-block btn-lg" data-power="50">Fan</button></div>
<div class="col-xs-4"><button class="btn btn-block btn-lg" data-power="1400">Clothing Iron</div>
<div class="col-xs-4"><button class="btn btn-block btn-lg" data-power="1000">Hairdryer</button></div>
</div>

</div>
<script src="javascripts/jquery-2.1.0.min.js"></script>
<script>
$('button').click(function(){
$(this).toggleClass('active');
var isOn = $(this).hasClass('active');
var itemName = $(this).html();
var power = $(this).data('power');
if (isOn == false){
power = power * -1
}
$.post('/api/update?amount=' + power, function(response){
console.log('successfully posted!');
});
});
</script>
</body>


Expand Down
10 changes: 7 additions & 3 deletions public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@
<title>Power Up!</title>
<link rel="stylesheet" href="stylesheets/bootstrap.min.css">
<link rel="stylesheet" href="stylesheets/style.css">
<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
</head>
<body>
<div class="container-fluid">
<div class="page" style="display: block">
<div class="jumbotron">
<i class="fa fa-bolt" style="font-size: 250px; color: #E3E02D"></i>
<p class="lead">Power Up will track your current energy efficiency by the devices you have at home.</p>
<p>Simply go around the house and turn on devices one by one and register them through Power Up.</p>
<button id="start-btn" class="btn btn-primary btn-lg btn-block">Try it Now!</button>
Expand All @@ -24,11 +26,13 @@ <h3>Current Usage:</h3>
<div class="row"><div id="question" class="col-xs-12">(Turn on a device in your home)</div></div>
<div class="row" id="buttons-container">
</div>
<button id="continue-btn" class="btn btn-primary btn-lg btn-block">I'm done</button>
<button id="continue-btn" class="btn btn-success btn-lg btn-block">I'm done</button>
</div>
<div class="page">
<canvas id="line-analysis" width="600" height="400"></canvas>
<canvas id="pie-analysis" width="600" height="400"></canvas>
<h3>Here's your total current usage:</h3>
<canvas id="line-analysis" width="600" height="300"></canvas>
<h3>Here's how much each device is consuming:</h3>
<canvas id="pie-analysis" width="600" height="300"></canvas>
</div>
<script src="/socket.io/socket.io.js"></script>
<script src="javascripts/moment.min.js"></script>
Expand Down
Binary file removed public/javascripts/.main.js.swp
Binary file not shown.
17 changes: 10 additions & 7 deletions public/javascripts/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ var lineData = {
pointColor : "rgba(220,220,220,1)",
pointStrokeColor : "#fff",
data: []
}
}
]
};
var pieData = []
Expand All @@ -32,7 +32,7 @@ $.getJSON('/api/usage', function(info){

lineData.labels = lineData.labels.splice(-20);
lineData.datasets[0].data = lineData.datasets[0].data.splice(-20);
lineChart.Line(lineData, {animation: false});
lineChart.Line(lineData, {animation: false, scaleOverride: true, scaleSteps: 15, scaleStartValue: 1800, scaleStepWidth: 200});

// update pie data
var pieData = [];
Expand All @@ -47,15 +47,18 @@ $.getJSON('/api/usage', function(info){
});
socket.on('update', function(newWattage){
wattage = newWattage;
console.log(wattage);
$.getJSON('/api/guess/devices', function(devices){
$('#question').html('Did you turn one of these on?');
$('#question').html('Did you turn one of these on?').toggleClass('text-success');
$('#buttons-container').empty();
devices.forEach(function(device){
$('#buttons-container').append('<div class="col-xs-4"><button class="btn btn-primary btn-lg btn-block device-btn">' + device.name + '</button></div>');
$('#buttons-container').append('<div class="col-xs-4"><button class="btn btn-info btn-lg btn-block device-btn slideUp" data-name="' + device.name + '">' + device.name + '<br /><i class="fa ' + device.icon + '"></i></button></div>');
});
$('#buttons-container').append('<div class="col-xs-4"><button class="btn btn-primary btn-lg btn-block device-btn">Other...</button></div>');
$('#buttons-container').append('<div class="col-xs-4"><button class="btn btn-lg btn-block device-btn">Other...</button></div>');
$('#buttons-container').hide().fadeIn(1000);
$('.device-btn').click(function(){
$.post('/api/device', {name: $(this).html()}, function(){
$('#question').html('Great! Let\'s do another one! <br /> (Turn on another device)');
$.post('/api/device', {name: $(this).data('name')}, function(){
$('#question').html('Great! Let\'s do another one! <br /> (Turn on another device)').toggleClass('text-success');
$('#buttons-container').empty();
});
});
Expand Down
Binary file removed public/stylesheets/.style.css.swp
Binary file not shown.
Loading

0 comments on commit 7ad3cde

Please sign in to comment.