smartermeter 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|