forked from beanz/xpl-perl
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Changes
346 lines (324 loc) · 17.1 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
Revision history for Perl extension xPL.
{{$NEXT}}
- Major API changes. Warns if deprecated functionality is
use. Setting XPL_MESSAGE_VALIDATE environment variable
gets back validation behaviour and implicit message type
guessing but this behaviour should not normally be relied
upon.
- Replace xPL::Message class/class_type fields with single
schema field.
- Make xPL::Message body parameter take an array to reliably
preserve order without requiring external schema data.
- Remove strictness/validation from xPL::Message (to get old
behaviour set XPL_MESSAGE_VALIDATE environment variable to
1).
- Remove xPL::RF source field and make xPL::RF parsing return
xPL::Message arguments rather than actual xPL::Messages to
make parsers less coupled to xPL.
- Make xPL::Message immutable - move the only mutation logic
to xPL::Bridge.
- Test improvements: more coverage, fewer test dependencies.
- Add AnyEvent support to xPL::Listener.
- SMS::Send::CSoft and SMS::Send::SMSDiscount moved to CPAN
and debian packages placed in the xpl-perl repository.
- xPL::Dock::XOSD now has --xosd-offset and --xosd-indent
options for vertical and horizontal offsets.
- Debian package improvements.
- xPL::RF::RFXMeter report count rather than kwh since we can't
tell if the device is an RFXMeter or RFXPower. Thanks to
Thomas Chiroux and others for pointing this out.
- New xpl-smart client: Like xpl-hddtemp but works for more
drives and reports them by serial number rather than device
name which might change over time.
0.11 Thu, 19 Aug 2010 16:40:03 +0100
- xpl-bluetooth use service discovery to poll devices. Thanks
to Nicolas Goubaux.
- xpl-owfs improve humidity DAC support. Thanks to Marc
Merlin.
- xpl-rfxcom-rx support for the occasional long messages from
THGR328N. Thanks to Thomas Chiroux.
- xpl-rfxcom-rx support for WGR800. Thanks to Jason Heiss and
Eric Riemers.
- xpl-rfxcom-rx support for UVN800. Thanks to Thomas Chiroux.
- xpl-rfxcom-rx support for PCR800. Thanks to Willi Herzig.
- xpl-rfxcom-rx improved support for WGTR800. Thanks to Willi
Herzig.
- xpl-mpd support playing specific track using custom 'track'
field.
- Add sensor.basic type=pressure support. Thanks to Thomas
Chiroux.
- Add event callbacks so clients can get callbacks for events
like 'hub_found', etc.
- xpl-sender support for multivalued fields.
- xpl-mythtv support for MythTV version 0.22 or later
- Some config.{basic,app} support.
- xPL::Dock improvements so less boilerplate code is required
in clients.
- Renamed xpl-osd to xpl-xosd
- New client: xpl-wol to send wake-on-lan packets (uses
non-standard schema).
- New client: xpl-fdnotify display osd.basic messages using
standard (Linux) desktop notifications.
- New client: xpl-config to query/set client configuration.
- New client: xpl-datetime to replace non-standard xpl-clock
- Experimental: xpl-jabber client (for google talk, etc)
- Experimental: xpl-gpower client for Google powermeter API.
- Experimental: Debian xpl-*-perl packages that actually set up some
clients.
- Experimental: xPL::Client stealth mode; so you can run
(for example) xpl-fdnotify on a laptop and not worry
about it transmitting lots of hbeat messags (requires
all clients to be using hubless mode).
0.10 Tue, 9 Jun 2009 22:42:11 +0100
- Lots of refactoring:
* Removed approximately 1/5th of the code.
* Moved code from scripts (w/ 0% test coverage) to modules
(99.6% test coverage) which should make things easier to
maintain. Script directory now has 28% of the total
codebase rather than 67% as in previous release.
- New helper modules:
* xPL::IOHandler - generic handler writing common record
types to serial or socket-based devices. Handles queuing
writes and encoding/decoding of outgoing/incoming
messages.
* xPL::Dock - support clients as "plugins". Most existing
clients have been converted to this form and one client
xpl-rfxcom has been created as an example of how to use
two plugins (RFXComRX and RFXComTX) in one client. This
is intended to help developers wanting to write a single
"embedded-style" client with support for multiple devices.
A side-effect of this is that much more code is now in
modules and not scripts so much more code can be tested
effectively.
- New client: xpl-mythtv - monitor utilisation of tuners on a
mythtv backend
- New client: xpl-easydaq - for EasyDAQ usb relay modules from
http://www.easydaq.biz
- New client: xpl-bluetooth - for simple bluetooth proximity
- New client: xpl-linux - for monitoring linux health (mostly
laptops since my house now runs on a Samsung NC10).
- New client: xpl-apcupsd - for monitor a UPS using the apcups
daemon, http://www.apcupsd.com/
- Renamed client: xpl-rfxcom w/device id rfxcom to
xpl-rfxcom-rx/rfxcomrx.
- Renamed client: xpl-rfxcom-trans w/id rfxcomt to
xpl-rfxcom-tx/rfxcomtx.
- Renamed client: xpl-x10 to xpl-heyu with corresponding
device id change.
- xpl-heyu: support for new "heyu monitor" output format.
- xpl-currentcost: support new CC128/Envi energy monitors.
- xpl-rfxcom-tx: increased ack timeout as suggested by Bert.
- xpl-rfxcom-rx: support for THN132N - thanks to roger78.
- Lots of documentation updates.
- Support of using YAML::Syck instead of YAML for schema
parsing for faster startup of clients.
- xPL::Message 20% speedup on 10k message benchmark
- xPL::Message lazy instantiation of schema classes - speedup
of 10% for xpl-sender using only 1 schema class.
- xpl-perl-setup several fixes suggested by Clarke Brunt.
- All clients: Support hubless mode (using SO_REUSEADDR) for
use on devices like the NSLU2 when only xPL-Perl is being
used.
0.09 Sun, 4 Jan 2009 17:00:00 +0000
- New client: xpl-udin for a Audon UDIN usb relay device.
- New client: xpl-currentcost for a Current Cost energy meter.
- All clients: "kill -USR1 <pid>" dumps some statistics about
time spent in callbacks.
- xpl-viom: Add initialisation to script. Thanks to Boyd Hitchcock
for reminding me.
- xPL::Timer::{sunrise,sunset} support time zone correctly.
- xPL::Message: minor speed up to message_type validation.
- Fixed instance_id length in xPL::Client. No idea why this
was wrong here but not in xPL::Message. Thanks to Francois
Corthay for spotting this.
- xpl-dmx: Added support for vendor specific 'fade=[seconds]'
field.
- xpl-lcdproc: Missing in manifest. Oops.
- xpl-clock: Minor command line option fixes. Thanks to Francois
Corthay.
- DEPRECATED: xpl-csoft-sms, xpl-digitemp, xpl-mplayer,
xpl-sql-logger and xPL::SQL have been removed.
0.08 Sun, 16 Nov 2008 22:04:39 +0000
- xpl-lcdproc: New client to display osd.basic messages on an
LCD that is supported by LCDProc. See
http://lcdproc.sf.net/.
- xpl-ctx35: Fix bug in extended function handling. Thanks to
Jeroen Hendriks for the patch.
- xpl-mpd: Simple media.basic client for the music player
daemon from http://www.musicpd.org/
- xpl-rfxcom, xpl-rfxcom-trans: Support for homeeasy.basic.
- xpl-rfxcom: Support for RFXSensor informational/diagnostic
messages.
- xpl-rfxcom: Support for X10 KR21 security keyfobs.
- xpl-rfxcom: Support all three sensors of electrisave/owl devices.
Thanks to DavidMbrookE for doing the hard part.
- xpl-rfxcom: Improved RTGR328N date/time support.
- xpl-rfxcom: THGR328N support.
- xpl-rfxcom: Attempt at Oregon Scientific GR101 scales support.
- Lots of improvements to developer documentation.
- DEPRECATED: xpl-csoft-sms, xpl-digitemp, xpl-mplayer,
xpl-sql-logger and xPL::SQL. They'll be dropped in the next
release unless someone shouts.
0.07 Sun, 6 Apr 2008 20:40:29 +0100
- All clients are converted to use Getopt::Long and now support
passing arbitrary parameters to the xPL::Client constructor
using '--define key=value' options on the command line.
- xpl-perl-setup script should now do something reasonable
on Fedora/RedHat.
- xpl-dmx - added support for dmx.confirm messages and provide
a default colour set in case /etc/X11/rgb.txt does not exist.
Thanks to DesG.
- xpl-rfxcom: Added support for BTHR918, BWR102 and THGR810.
- xpl-rfxcom: Generate sensor.basic type=battery messages. Devices
supporting only a low battery flag just send a value of 90%
normally and 10% if the low flag is set. (osd.basic messages
are no longer generated.)
- xpl-rfxcom: Improve parsing of received messages (10 times faster).
- xpl-rfxcom: Improved test coverage for Oregon devices.
- xpl-x10 - send confirms for all heyu initiated messages not
just those generated by xpl-x10 itself.
- xpl-x10 - fix unit addressing to recognise when multiple units
have been addressed at once.
- xpl-x10 client now forks a helper program so that calls to
'heyu' are made asynchronously.
- xpl-x10 more efficient addressing. An x10.basic message
with device=i4,i6,i8,i10 is passed to heyu as 'i4,6,8,10'
rather than four separate calls. This makes this client
much more efficient/responsive.
- xPL::Message doesn't corrupt arguments passed to the constructor.
- All clients now use POD::Usage so usage text and manual pages
share the same text rather than having (inaccurate) duplication.
- Simple queue abstraction added, xPL::Queue. Used by xpl-x10,
xpl-rfxcom-trans, xpl-dmx, xpl-viom, etc.
0.06 Sat, 6 Oct 2007 21:53:37 +0100
- New mailing lists: [email protected], [email protected]
- New client: xpl-ctx35 experimental (transmit only) support for
CTX35/TI103/TI203/TI213 X10 Transceiver. Thanks to Eric-jan
Riemers for testing.
- New client: xpl-sms-send. More generic SMS sending using
SMS::Send drivers from CPAN.
- Added to SMS::Send drivers one for CSoft (tested) and one for
SMSDiscount (untested since I don't have an account) both of
these will probably move to CPAN.
- New script: xpl-tty-tcp make a serial/USB device available on
a TCP port. Allows multiple clients to connect at once though
I don't recemmend it. It is primarily intended to allow me
to emulate a networked RFXCom transmitter/receiver for testing
purposes.
- RFXCom: Experimental transmitter support.
- RFXCom: Several improvements to the receiver client. Thanks
to Bert for his comments on the [email protected] list on
Wed, 04 Jul 2007 12:30:53 -0400.
- RFXCom: RFXSensor negative temperature support (untested).
- RFXCom: Oregon THWR288A support. Thanks to Eric-jan Riemers for
test data and testing.
- RFXMeter/RFXPower: Bug fixing. Thanks to Rick Klaassen.
- RFXCom: Support for WGR918. Thanks to Rick Klaassen for test
data, testing and bug fixing.
- RFXCom: Visonic PowerCode and CodeSecure devices. I'd still
like to implemente parity (or similar) checking for CodeSecure
device if such a thing is possible.
- RFXCom: Support for networked (as well as USB) receivers and
transmitters. Thanks to Bert for allowing me access to a device
for testing.
- RFXCom: Improved handling of duplicate messages in RFXCom receiver
code.
- Support for MacOS/X and FreeBSD
- Rewrite of X10 encoding/decoding and added tests to cover this
code.
- Allow overriding of the default time zone using the TZ
environment variable. Thanks to Eric-jan Riemers for bug
reporting and testing.
- Allow clients to register callbacks for xPL messages using filters
defined using code references rather than simply regular expressions.
- Improved test coverage.
- Improved support for security.zone messages.
- Improved behaviour when using a loopback interface.
- Minor fix to hddtemp output parsing/reporting.
- Minor bug fixes to xPL::SQL - thanks to Eric for the bug
reports. It might be worth noting that I don't actually
use this code.
0.05 Sun, 17 Jun 2007 21:33:22 +0100
- BIG CHANGE: Message schema are now encoded as YAML datafiles and
not as Perl modules. The YAML module is now required. It is
available as a Debian package called libyaml-perl and (probably)
an RPM package called perl-YAML.
- New tool: xpl-rrd-graphs to convert rrd files as produced by
xpl-rrd into graphs under /var/www/rrd.
- New *experimental* tool: xpl-perl-setup to setup the xPL-Perl
clients Feedback on this would be *very* useful.
- New client: xpl-rfxcom to decode messages from RFXCOM receivers.
- New client: xpl-csoft-sms: SMS sending client using the service
at: http://www.csoft.co.uk/
- New client: xpl-monitor - a graphical debug tool - not complete
- Mew tool: xpl-packet-trace - a TCP packet decoding tool for xPL
messages
- xPL::Client: Support for hbeat.request messages.
- xpl-sender: Support for waiting for responses. Useful for
things like "xpl-sender -w 10 -c hbeat.request".
- xpl-w800: added support for some X10 security sensors.
- xPL::Message: improved support for duplicate fields in body of
messages
- xPL::Message: allow empty message body
- xpl-mplayer: Multiple playlist support - send two play command
messages quickly to rotate to next playlist.
- xpl-x10: added extended function support.
- xpl-x10: support for recent heyu-2.0beta releases
- xpl-sql: fixes to the documentation - Thanks to Erik for the bug
report.
- New schema: datetime.basic, dawndusk.request, hbeat.request,
sendmsg.basic, x10.security
- Lots of performance improvements to the code used for xPL
messages.
0.04 Sat Mar 3 19:00:00 GMT 2007
- Implemented lazy parsing of xPL message header and body to
give 400% speedup for hubs (which ignore everything but
the hop count) and significant improvement to typical clients.
- New client: xpl-dmx
Interface to the 512 Channel Serial to DMX transmitter
from Milford Instruments http://www.milinst.com/
- New client: xpl-lirc (for LIRC infrared interface)
- New client: xpl-xvkbd (to sending keystrokes to X11 applications)
- New client: xpl-mplayer (mplayer interface for playing music)
- New message types: remote.basic and dmx.basic.
- Minor updates to reflect control.basic and sensor.basic schema
changes.
- Added support for xPL::Timer::Recurrence wrapper around
DateTime::Event::Recurrence as an alternative to the Cron-style
which seems to have an infinite loop bug inheritted from
DateTime::Event::Cron.
- Updated xpl-owfs for 1-wire interface to support humidity
sensors and relay outputs.
- Fixed a bugs and unhelpful error messages relating to the
default instance id. Thanks to Andy on the xPL list.
- Fixed a few problems with SKIP blocks in tests. (Thanks to
Andy again.)
- Fixed a problem with the interfaces test. (Thanks to Andy.)
0.03 Sat May 27 12:00:00 BST 2006
- Fixed problem with logger only logging its own messages.
- Fixed SYNOPSIS to use new syntax - thanks to rleong1.
- New xPL::Timer abstraction - crontab-based timer syntax
changed from "C * * * * *" to "cron crontab='* * * * *'"
to give more flexibility.
- New client: xpl-dawndusk
- New client: xpl-dg834 (for monitoring my adsl link)
- New client: xpl-digitemp (1-wire client)
- New client: xpl-hddtemp
- New client: xpl-owfs (1-wire client - less stable than xpl-digitemp)
- New client: xpl-rrd
- New client: xpl-sql-logger (in progress - api/table changes likely)
- New client: xpl-viom
- New client: xpl-w800
- New message types: cid.basic, tts.basic, dawndusk.basic,
sensor.basic, control.basic
- Bug: closed filehandles were not removed properly
0.02 Tue Dec 13 19:39:48 GMT 2005
- Some API changes:
* 'xpl-*' - '-i' now specifies and interface.
* 'xpl-sender' - message type is now the '-m' option.
- Wrote more tests for better coverage.
- Files for RPM and Debian packaging added.
- Better support for targetted messages.
0.01 Tue Dec 6 17:46:50 2005
- original version
Copyright (C) 2005, 2006 by Mark Hindess.