smartermeter 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +5 -0
- data/README.md +15 -13
- data/Rakefile +4 -0
- data/installer/launch4j.xml +2 -2
- data/installer/main.rb +4 -6
- data/installer/nsis.nsi +13 -13
- data/lib/smartermeter/interfaces/cli.rb +1 -1
- data/lib/smartermeter/interfaces/swing.rb +3 -3
- data/lib/smartermeter.rb +1 -1
- data/smartermeter.gemspec +4 -4
- metadata +5 -5
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.3.1 (March 15th, 2011)
|
4
|
+
* Changed name from "Smartermeter" to "SmarterMeter"
|
5
|
+
* Updated the .detect\_charset monkeypatch for the newer mechanize
|
6
|
+
* Removed unnecessary gems from the Windows package.
|
7
|
+
|
3
8
|
## 0.3.0 (March 14th, 2011)
|
4
9
|
* Added a Windows version of SmarterMeter which runs from the taskbar
|
5
10
|
and provides a wizard for easy configuration.
|
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
|
1
|
+
SmarterMeter - the smarter way to read your PG&E SmartMeter
|
2
2
|
=========================================================
|
3
3
|
|
4
|
-
So I have
|
5
|
-
want to jump through 37 hoops to see the data on PG&E's website.
|
6
|
-
this.
|
4
|
+
So I have PG&E SmartMeter and I like playing with data. However I didn't
|
5
|
+
really want to jump through 37 hoops to see the data on PG&E's website.
|
6
|
+
So I made this.
|
7
7
|
|
8
8
|
While making this library I discovered that PG&E doesn't even manage the
|
9
9
|
software for the energy reporting. It's all done by energyguide.com. Not
|
@@ -18,8 +18,8 @@ Getting Started
|
|
18
18
|
Google PowerMeter
|
19
19
|
-----------------
|
20
20
|
|
21
|
-
Once you've configured
|
22
|
-
PowerMeter.
|
21
|
+
Once you've configured SmarterMeter once, you might want to use it with
|
22
|
+
Google PowerMeter.
|
23
23
|
|
24
24
|
1. Visit: https://www.google.com/powermeter/device/activate?mfg=Ruby&model=SmarterMeter&did=PGE&dvars=1
|
25
25
|
1. Then sign in with your desired Google Account.
|
@@ -39,8 +39,9 @@ To Build the Windows Installer
|
|
39
39
|
--------
|
40
40
|
|
41
41
|
In order to build the self contained binaries, you'll need Java 1.6 and
|
42
|
-
(NSIS)[1], both are available as packages in Ubuntu.
|
42
|
+
(NSIS)[1], both of which are available as packages in Ubuntu.
|
43
43
|
|
44
|
+
apt-get install nsis sun-java6-jre
|
44
45
|
git clone git://github.com/mcolyer/smartermeter.git
|
45
46
|
cd smartermeter
|
46
47
|
bundle install --path vendor/gems --without test
|
@@ -53,9 +54,9 @@ Questions
|
|
53
54
|
|
54
55
|
* How much lag is there?
|
55
56
|
|
56
|
-
It'll show you the last full day's worth of data. The PGE website
|
57
|
-
data becomes available around 3-10pm on the following day.
|
58
|
-
experience says that it's sometimes available earlier.
|
57
|
+
It'll show you the last full day's worth of data. The PGE website
|
58
|
+
claims that data becomes available around 3-10pm on the following day.
|
59
|
+
However my experience says that it's sometimes available earlier.
|
59
60
|
|
60
61
|
* How long is data saved for?
|
61
62
|
|
@@ -63,13 +64,14 @@ Questions
|
|
63
64
|
|
64
65
|
* How can I help?
|
65
66
|
|
66
|
-
Make sure it works, make cool things with it or send me git pull
|
67
|
+
Make sure it works, make cool things with it or send me git pull
|
68
|
+
requests.
|
67
69
|
|
68
70
|
Sponsorship
|
69
71
|
-----------
|
70
72
|
|
71
|
-
I would like to thank [Brighter Planet][2] for including SmarterMeter as
|
72
|
-
of their [Fellowship Program][3]
|
73
|
+
I would like to thank [Brighter Planet][2] for including SmarterMeter as
|
74
|
+
part of their [Fellowship Program][3]
|
73
75
|
|
74
76
|
[1]: http://nsis.sourceforge.net/
|
75
77
|
[2]: http://brighterplanet.com/
|
data/Rakefile
CHANGED
@@ -120,6 +120,8 @@ end
|
|
120
120
|
task :package_gems do
|
121
121
|
specifications = Dir.glob(File.join(File.dirname(__FILE__), "vendor", "gems", "jruby", "1.8", "specifications", "*"))
|
122
122
|
specifications.reject! { |s| s.include? "rspec" }
|
123
|
+
specifications.reject! { |s| s.include? "minitar" }
|
124
|
+
specifications.reject! { |s| s.include? "ruby-debug" }
|
123
125
|
dest_dir = File.join(File.dirname(__FILE__), "pkg", "base", "gems", "specifications")
|
124
126
|
FileUtils.rm_rf(dest_dir)
|
125
127
|
FileUtils.mkdir_p(dest_dir)
|
@@ -127,6 +129,8 @@ task :package_gems do
|
|
127
129
|
|
128
130
|
gems = Dir.glob(File.join(File.dirname(__FILE__), "vendor", "gems", "jruby", "1.8", "gems", "*"))
|
129
131
|
gems.reject! { |s| s.include? "rspec" }
|
132
|
+
gems.reject! { |s| s.include? "minitar" }
|
133
|
+
gems.reject! { |s| s.include? "ruby-debug" }
|
130
134
|
dest_dir = File.join(File.dirname(__FILE__), "pkg", "base", "gems", "gems")
|
131
135
|
FileUtils.rm_rf(dest_dir)
|
132
136
|
FileUtils.mkdir_p(dest_dir)
|
data/installer/launch4j.xml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
<launch4jConfig>
|
2
2
|
<dontWrapJar>true</dontWrapJar>
|
3
|
-
<headerType>
|
3
|
+
<headerType>gui</headerType>
|
4
4
|
<jar>jruby-complete.jar</jar>
|
5
5
|
<outfile>../pkg/base/smartermeter.exe</outfile>
|
6
6
|
<errTitle></errTitle>
|
@@ -16,7 +16,7 @@
|
|
16
16
|
<var>GEM_HOME=gems</var>
|
17
17
|
<singleInstance>
|
18
18
|
<mutexName>smartermeter</mutexName>
|
19
|
-
<windowTitle>
|
19
|
+
<windowTitle>SmarterMeter</windowTitle>
|
20
20
|
</singleInstance>
|
21
21
|
<jre>
|
22
22
|
<path></path>
|
data/installer/main.rb
CHANGED
@@ -11,12 +11,10 @@ require 'smartermeter/interfaces/swing'
|
|
11
11
|
|
12
12
|
# Force character sets of all retrieved documents so that we don't have to have
|
13
13
|
# charsets.jar in the JRE
|
14
|
-
|
15
|
-
class
|
16
|
-
|
17
|
-
|
18
|
-
"ISO-8859-1"
|
19
|
-
end
|
14
|
+
class Mechanize
|
15
|
+
class Util
|
16
|
+
def self.detect_charset(src)
|
17
|
+
"ISO-8859-1"
|
20
18
|
end
|
21
19
|
end
|
22
20
|
end
|
data/installer/nsis.nsi
CHANGED
@@ -7,14 +7,14 @@
|
|
7
7
|
;General
|
8
8
|
|
9
9
|
;Name and file
|
10
|
-
Name "
|
10
|
+
Name "SmarterMeter (${VERSION})"
|
11
11
|
OutFile "../pkg/smartermeter-${VERSION}.exe"
|
12
12
|
|
13
13
|
;Default installation folder
|
14
|
-
InstallDir "$PROGRAMFILES\
|
14
|
+
InstallDir "$PROGRAMFILES\SmarterMeter"
|
15
15
|
|
16
16
|
;Get installation folder from registry if available
|
17
|
-
InstallDirRegKey HKCU "Software\
|
17
|
+
InstallDirRegKey HKCU "Software\SmarterMeter" ""
|
18
18
|
|
19
19
|
;Request application privileges for Windows Vista
|
20
20
|
RequestExecutionLevel user
|
@@ -48,19 +48,19 @@
|
|
48
48
|
;--------------------------------
|
49
49
|
;Installer Sections
|
50
50
|
|
51
|
-
Section "
|
51
|
+
Section "SmarterMeter Base" SecBase
|
52
52
|
|
53
53
|
SetOutPath "$INSTDIR"
|
54
54
|
|
55
55
|
;ADD YOUR OWN FILES HERE...
|
56
56
|
File /r "../pkg/base/*"
|
57
57
|
|
58
|
-
CreateDirectory "$SMPROGRAMS\
|
59
|
-
CreateShortCut "$SMPROGRAMS\
|
60
|
-
CreateShortCut "$SMPROGRAMS\
|
58
|
+
CreateDirectory "$SMPROGRAMS\SmarterMeter"
|
59
|
+
CreateShortCut "$SMPROGRAMS\SmarterMeter\SmarterMeter.lnk" "$INSTDIR\smartermeter.exe"
|
60
|
+
CreateShortCut "$SMPROGRAMS\SmarterMeter\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
61
61
|
|
62
62
|
;Store installation folder
|
63
|
-
WriteRegStr HKCU "Software\
|
63
|
+
WriteRegStr HKCU "Software\SmarterMeter" "" $INSTDIR
|
64
64
|
|
65
65
|
;Create uninstaller
|
66
66
|
WriteUninstaller "$INSTDIR\uninstall.exe"
|
@@ -70,7 +70,7 @@ SectionEnd
|
|
70
70
|
;Descriptions
|
71
71
|
|
72
72
|
;Language strings
|
73
|
-
LangString DESC_SecBase ${LANG_ENGLISH} "The
|
73
|
+
LangString DESC_SecBase ${LANG_ENGLISH} "The SmarterMeter application."
|
74
74
|
|
75
75
|
;Assign language strings to sections
|
76
76
|
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
@@ -91,12 +91,12 @@ Section "Uninstall"
|
|
91
91
|
RMDIR /r "$INSTDIR\icons"
|
92
92
|
RMDIR /r "$INSTDIR\smartermeter"
|
93
93
|
|
94
|
-
Delete "$SMPROGRAMS\
|
95
|
-
Delete "$SMPROGRAMS\
|
96
|
-
RMDIR "$SMPROGRAMS\
|
94
|
+
Delete "$SMPROGRAMS\SmarterMeter\SmarterMeter.lnk"
|
95
|
+
Delete "$SMPROGRAMS\SmarterMeter\Uninstall.lnk"
|
96
|
+
RMDIR "$SMPROGRAMS\SmarterMeter"
|
97
97
|
|
98
98
|
RMDir "$INSTDIR"
|
99
99
|
|
100
|
-
DeleteRegKey /ifempty HKCU "Software\
|
100
|
+
DeleteRegKey /ifempty HKCU "Software\SmarterMeter"
|
101
101
|
|
102
102
|
SectionEnd
|
@@ -17,7 +17,7 @@ module SmarterMeter
|
|
17
17
|
# Returns nothing
|
18
18
|
def setup
|
19
19
|
puts
|
20
|
-
puts "
|
20
|
+
puts "SmarterMeter: Initial Configuration"
|
21
21
|
puts "--------------------------------------------------------------------------------"
|
22
22
|
puts "This program stores your PG&E account username and password on disk. The"
|
23
23
|
puts "password is encrypted but could be retrieved fairly easily. If this makes you"
|
@@ -40,7 +40,7 @@ module SmarterMeter
|
|
40
40
|
popup.add(exit_item)
|
41
41
|
|
42
42
|
image = Toolkit::default_toolkit.get_image("icons/smartermeter-16x16.png")
|
43
|
-
tray_icon = TrayIcon.new(image, "
|
43
|
+
tray_icon = TrayIcon.new(image, "SmarterMeter", popup)
|
44
44
|
tray_icon.image_auto_size = true
|
45
45
|
|
46
46
|
tray = SystemTray::system_tray
|
@@ -96,7 +96,7 @@ module SmarterMeter
|
|
96
96
|
}
|
97
97
|
end
|
98
98
|
|
99
|
-
@frame = @ui.build(:args => "
|
99
|
+
@frame = @ui.build(:args => "SmarterMeter Settings")
|
100
100
|
@frame.set_location_relative_to(nil)
|
101
101
|
@frame.default_close_operation = JFrame::DISPOSE_ON_CLOSE
|
102
102
|
end
|
@@ -141,7 +141,7 @@ module SmarterMeter
|
|
141
141
|
end.build :auto_create_container_gaps => false
|
142
142
|
end
|
143
143
|
|
144
|
-
@frame = @ui.build(:args => "
|
144
|
+
@frame = @ui.build(:args => "SmarterMeter Log")
|
145
145
|
@frame.set_location_relative_to(nil)
|
146
146
|
@frame.default_close_operation = JFrame::DISPOSE_ON_CLOSE
|
147
147
|
end
|
data/lib/smartermeter.rb
CHANGED
data/smartermeter.gemspec
CHANGED
@@ -13,14 +13,14 @@ Gem::Specification.new do |s|
|
|
13
13
|
## If your rubyforge_project name is different, then edit it and comment out
|
14
14
|
## the sub! line in the Rakefile
|
15
15
|
s.name = 'smartermeter'
|
16
|
-
s.version = '0.3.
|
17
|
-
s.date = '2011-03-
|
16
|
+
s.version = '0.3.1'
|
17
|
+
s.date = '2011-03-15'
|
18
18
|
s.rubyforge_project = 'smartermeter'
|
19
19
|
|
20
20
|
## Make sure your summary is short. The description may be as long
|
21
21
|
## as you like.
|
22
|
-
s.summary = "Fetches
|
23
|
-
s.description = "Fetches
|
22
|
+
s.summary = "Fetches SmartMeter data from PG&E"
|
23
|
+
s.description = "Fetches SmartMeter data from PG&E and can upload to Google PowerMeter"
|
24
24
|
|
25
25
|
## List the primary authors. If there are a bunch of authors, it's probably
|
26
26
|
## better to set the email to an email list or something. If you don't have
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 1
|
9
|
+
version: 0.3.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Matt Colyer
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-03-
|
17
|
+
date: 2011-03-15 00:00:00 -07:00
|
18
18
|
default_executable: smartermeter
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -73,7 +73,7 @@ dependencies:
|
|
73
73
|
version: 0.5.2
|
74
74
|
type: :development
|
75
75
|
version_requirements: *id004
|
76
|
-
description: Fetches
|
76
|
+
description: Fetches SmartMeter data from PG&E and can upload to Google PowerMeter
|
77
77
|
email: matt.removethis@nospam.colyer.name
|
78
78
|
executables:
|
79
79
|
- smartermeter
|
@@ -140,6 +140,6 @@ rubyforge_project: smartermeter
|
|
140
140
|
rubygems_version: 1.3.6
|
141
141
|
signing_key:
|
142
142
|
specification_version: 2
|
143
|
-
summary: Fetches
|
143
|
+
summary: Fetches SmartMeter data from PG&E
|
144
144
|
test_files: []
|
145
145
|
|