2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-13 11:16:36 +00:00

added 34_panStamp, 34_SWAP.pm and FHEM/lib/SWAP

git-svn-id: https://svn.fhem.de/fhem/trunk@3439 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
justme-1968 2013-07-17 12:02:16 +00:00
parent 293117eef2
commit 275eea286a
34 changed files with 5585 additions and 0 deletions

View File

@ -1,5 +1,9 @@
# Add changes at the top of the list. Keep it in ASCII # Add changes at the top of the list. Keep it in ASCII
- SVN - SVN
- feature: new module 34_SWAP for generic SWAP protocoll support using
a panStick and 34_panStamp as IODevice(by justme1968)
- feature: new module 34_panStamp to use a panStick as a RF modem
for panStamps using the SWAP protocoll (by justme1968)
- feature: EGPM2LAN module added for Gembird (R) Energenie LAN Support - feature: EGPM2LAN module added for Gembird (R) Energenie LAN Support
- feature: FHEMWEB use widget module to update colorpicker in longpoll - feature: FHEMWEB use widget module to update colorpicker in longpoll
- feature: FHEMWEB widget (slider/etc) javascript handler modularized - feature: FHEMWEB widget (slider/etc) javascript handler modularized

1050
fhem/FHEM/34_SWAP.pm Executable file

File diff suppressed because it is too large Load Diff

604
fhem/FHEM/34_panStamp.pm Executable file
View File

@ -0,0 +1,604 @@
# $Id$
package main;
use strict;
use warnings;
use Time::HiRes qw(gettimeofday);
sub panStamp_Attr(@);
sub panStamp_Clear($);
sub panStamp_HandleWriteQueue($);
sub panStamp_Parse($$$$);
sub panStamp_Read($);
sub panStamp_ReadAnswer($$$$);
sub panStamp_Ready($);
sub panStamp_Write($$$);
sub panStamp_SimpleWrite(@);
my $clientsPanStamp = ":SWAP:";
my %matchListSWAP = (
"1:SWAP" => "^.*",
);
sub
panStamp_Initialize($)
{
my ($hash) = @_;
require "$attr{global}{modpath}/FHEM/DevIo.pm";
# Provider
$hash->{ReadFn} = "panStamp_Read";
$hash->{WriteFn} = "panStamp_Write";
$hash->{ReadyFn} = "panStamp_Ready";
# Normal devices
$hash->{DefFn} = "panStamp_Define";
$hash->{FingerprintFn} = "panStamp_Fingerprint";
$hash->{UndefFn} = "panStamp_Undef";
#$hash->{GetFn} = "panStamp_Get";
$hash->{SetFn} = "panStamp_Set";
#$hash->{AttrFn} = "panStamp_Attr";
$hash->{AttrList}= "model:panStamp loglevel:0,1,2,3,4,5,6";
$hash->{ShutdownFn} = "panStamp_Shutdown";
}
sub
panStamp_Fingerprint($$)
{
}
#####################################
sub
panStamp_Define($$)
{
my ($hash, $def) = @_;
my @a = split("[ \t][ \t]*", $def);
if(@a < 3 || @a > 6) {
my $msg = "wrong syntax: define <name> panStamp {devicename[\@baudrate] ".
"| devicename\@directio} [<address> [<channel> [<syncword>";
Log 2, $msg;
return $msg;
}
my $address = $a[3];
$address = "01" if( !defined($address) );
my $channel = $a[4];
$channel = "00" if( !defined($channel) );
my $syncword = $a[5];
$syncword = 'B547' if( !defined($syncword) );
return "$address is not a 1 byte hex value" if( $address !~ /^[\da-f]{2}$/i );
return "$address is not an allowed address" if( $address eq "00" );
return "$channel is not a 1 byte hex value" if( $channel !~ /^[\da-f]{2}$/i );
return "$syncword is not a 2 byte hex value" if( $syncword !~ /^[\da-f]{4}$/i );
DevIo_CloseDev($hash);
my $name = $a[0];
my $dev = $a[2];
$hash->{address} = uc($address);
$hash->{channel} = uc($channel);
$hash->{syncword} = uc($syncword);
$hash->{Clients} = $clientsPanStamp;
$hash->{MatchList} = \%matchListSWAP;
$hash->{DeviceName} = $dev;
$hash->{nonce} = 0;
my $ret = DevIo_OpenDev($hash, 0, "panStamp_DoInit");
return $ret;
}
#####################################
sub
panStamp_Undef($$)
{
my ($hash, $arg) = @_;
my $name = $hash->{NAME};
foreach my $d (sort keys %defs) {
if(defined($defs{$d}) &&
defined($defs{$d}{IODev}) &&
$defs{$d}{IODev} == $hash)
{
my $lev = ($reread_active ? 4 : 2);
Log GetLogLevel($name,$lev), "deleting port for $d";
delete $defs{$d}{IODev};
}
}
panStamp_Shutdown($hash);
DevIo_CloseDev($hash);
return undef;
}
#####################################
sub
panStamp_Shutdown($)
{
my ($hash) = @_;
###panStamp_SimpleWrite($hash, "X00");
return undef;
}
#####################################
sub
panStamp_Set($@)
{
my ($hash, @a) = @_;
return "\"set panStamp\" needs at least one parameter" if(@a < 2);
my $name = shift @a;
my $cmd = shift @a;
my $arg = join("", @a);
my $ll = GetLogLevel($name,3);
my $list = "raw";
return $list if( $cmd eq '?' );
if($cmd eq "raw") {
return "Expecting a 0-padded hex number"
if((length($arg)&1) == 1 && $cmd ne "raw");
Log $ll, "set $name $cmd $arg";
panStamp_SimpleWrite($hash, $arg);
} else {
return "Unknown argument $cmd, choose one of ".$list;
}
return undef;
}
#####################################
sub
panStamp_Get($@)
{
my ($hash, @a) = @_;
#$hash->{READINGS}{$a[1]}{VAL} = $msg;
$hash->{READINGS}{$a[1]}{TIME} = TimeNow();
#return "$a[0] $a[1] => $msg";
}
sub
panStamp_Clear($)
{
my $hash = shift;
# Clear the pipe
$hash->{RA_Timeout} = 0.1;
for(;;) {
my ($err, undef) = panStamp_ReadAnswer($hash, "Clear", 0, undef);
last if($err && $err =~ m/^Timeout/);
}
delete($hash->{RA_Timeout});
}
#####################################
sub
panStamp_DoInit($)
{
my $hash = shift;
my $name = $hash->{NAME};
my $err;
my $msg = undef;
my $val;
panStamp_Clear($hash);
panStamp_ReadAnswer($hash, "ready?", 0, undef);
panStamp_SimpleWrite($hash, "+++", 1 );
sleep 2;
panStamp_ReadAnswer($hash, "cmd mode?", 0, undef);
panStamp_SimpleWrite($hash, "ATHV?" );
($err, $val) = panStamp_ReadAnswer($hash, "HW Version", 0, undef);
return "$name: $err" if($err && ($err !~ m/Timeout/));
$hash->{HWVersion} = $val;
panStamp_SimpleWrite($hash, "ATFV?" );
($err, $val) = panStamp_ReadAnswer($hash, "FW Version", 0, undef);
return "$name: $err" if($err && ($err !~ m/Timeout/));
$hash->{FWVersion} = $val;
panStamp_SimpleWrite($hash, "ATSW=$hash->{syncword}" );
($err, $val) = panStamp_ReadAnswer($hash, "sync word", 0, undef);
return "$name: $err" if($err && ($err !~ m/Timeout/));
panStamp_SimpleWrite($hash, "ATSW?" );
($err, $val) = panStamp_ReadAnswer($hash, "sync word", 0, undef);
return "$name: $err" if($err && ($err !~ m/Timeout/));
$hash->{syncword} = sprintf( "%04s", $val );
panStamp_SimpleWrite($hash, "ATCH=$hash->{channel}" );
($err, $val) = panStamp_ReadAnswer($hash, "address", 0, undef);
return "$name: $err" if($err && ($err !~ m/Timeout/));
panStamp_SimpleWrite($hash, "ATCH?" );
($err, $val) = panStamp_ReadAnswer($hash, "channel", 0, undef);
return "$name: $err" if($err && ($err !~ m/Timeout/));
$hash->{channel} = sprintf( "%02s", $val);
panStamp_SimpleWrite($hash, "ATDA=$hash->{address}" );
($err, $val) = panStamp_ReadAnswer($hash, "address", 0, undef);
return "$name: $err" if($err && ($err !~ m/Timeout/));
panStamp_SimpleWrite($hash, "ATDA?" );
($err, $val) = panStamp_ReadAnswer($hash, "address", 0, undef);
return "$name: $err" if($err && ($err !~ m/Timeout/));
$hash->{address} = sprintf( "%02s", $val);
panStamp_SimpleWrite($hash, "ATO" );
panStamp_ReadAnswer($hash, "data mode?", 0, undef);
panStamp_SimpleWrite($hash, "00010000010000" );
$hash->{STATE} = "Initialized";
# Reset the counter
delete($hash->{XMIT_TIME});
delete($hash->{NR_CMD_LAST_H});
return undef;
}
#####################################
# This is a direct read for commands like get
# Anydata is used by read file to get the filesize
sub
panStamp_ReadAnswer($$$$)
{
my ($hash, $arg, $anydata, $regexp) = @_;
my $type = $hash->{TYPE};
return ("No FD", undef)
if(!$hash || ($^O !~ /Win/ && !defined($hash->{FD})));
my ($mpandata, $rin) = ("", '');
my $buf;
my $to = 3; # 3 seconds timeout
$to = $hash->{RA_Timeout} if($hash->{RA_Timeout}); # ...or less
for(;;) {
if($^O =~ m/Win/ && $hash->{USBDev}) {
$hash->{USBDev}->read_const_time($to*1000); # set timeout (ms)
# Read anstatt input sonst funzt read_const_time nicht.
$buf = $hash->{USBDev}->read(999);
return ("Timeout reading answer for get $arg", undef)
if(length($buf) == 0);
} else {
return ("Device lost when reading answer for get $arg", undef)
if(!$hash->{FD});
vec($rin, $hash->{FD}, 1) = 1;
my $nfound = select($rin, undef, undef, $to);
if($nfound < 0) {
next if ($! == EAGAIN() || $! == EINTR() || $! == 0);
my $err = $!;
DevIo_Disconnected($hash);
return("panStamp_ReadAnswer $arg: $err", undef);
}
return ("Timeout reading answer for get $arg", undef)
if($nfound == 0);
$buf = DevIo_SimpleRead($hash);
return ("No data", undef) if(!defined($buf));
}
if($buf) {
Log 5, "panStamp/RAW (ReadAnswer): $buf";
$mpandata .= $buf;
}
chop($mpandata);
chop($mpandata);
return (undef, $mpandata)
}
}
#####################################
# Check if the 1% limit is reached and trigger notifies
sub
panStamp_XmitLimitCheck($$)
{
my ($hash,$fn) = @_;
my $now = time();
if(!$hash->{XMIT_TIME}) {
$hash->{XMIT_TIME}[0] = $now;
$hash->{NR_CMD_LAST_H} = 1;
return;
}
my $nowM1h = $now-3600;
my @b = grep { $_ > $nowM1h } @{$hash->{XMIT_TIME}};
if(@b > 163) { # 163 comes from fs20. todo: verify if correct for panstamp modulation
my $name = $hash->{NAME};
Log GetLogLevel($name,2), "panStamp TRANSMIT LIMIT EXCEEDED";
DoTrigger($name, "TRANSMIT LIMIT EXCEEDED");
} else {
push(@b, $now);
}
$hash->{XMIT_TIME} = \@b;
$hash->{NR_CMD_LAST_H} = int(@b);
}
#####################################
sub
panStamp_Write($$$)
{
my ($hash,$addr,$msg) = @_;
Log 5, "$hash->{NAME} sending $addr $msg";
my $bstring = $addr.$hash->{"address"}.$msg;
panStamp_AddQueue($hash, $bstring);
#panStamp_SimpleWrite($hash, $bstring);
}
sub
panStamp_SendFromQueue($$)
{
my ($hash, $bstring) = @_;
my $name = $hash->{NAME};
my $to = 0.05;
if($bstring ne "") {
my $sp = AttrVal($name, "sendpool", undef);
if($sp) { # Is one of the panStamp-fellows sending data?
my @fellows = split(",", $sp);
foreach my $f (@fellows) {
if($f ne $name &&
$defs{$f} &&
$defs{$f}{QUEUE} &&
$defs{$f}{QUEUE}->[0] ne "")
{
unshift(@{$hash->{QUEUE}}, "");
InternalTimer(gettimeofday()+$to, "panStamp_HandleWriteQueue", $hash, 1);
return;
}
}
}
panStamp_XmitLimitCheck($hash,$bstring);
panStamp_SimpleWrite($hash, $bstring);
}
InternalTimer(gettimeofday()+$to, "panStamp_HandleWriteQueue", $hash, 1);
}
sub
panStamp_AddQueue($$)
{
my ($hash, $bstring) = @_;
if(!$hash->{QUEUE}) {
$hash->{QUEUE} = [ $bstring ];
panStamp_SendFromQueue($hash, $bstring);
} else {
push(@{$hash->{QUEUE}}, $bstring);
}
}
#####################################
sub
panStamp_HandleWriteQueue($)
{
my $hash = shift;
my $arr = $hash->{QUEUE};
if(defined($arr) && @{$arr} > 0) {
shift(@{$arr});
if(@{$arr} == 0) {
delete($hash->{QUEUE});
return;
}
my $bstring = $arr->[0];
if($bstring eq "") {
panStamp_HandleWriteQueue($hash);
} else {
panStamp_SendFromQueue($hash, $bstring);
}
}
}
#####################################
# called from the global loop, when the select for hash->{FD} reports data
sub
panStamp_Read($)
{
my ($hash) = @_;
my $buf = DevIo_SimpleRead($hash);
return "" if(!defined($buf));
my $name = $hash->{NAME};
my $pandata = $hash->{PARTIAL};
Log 5, "panStamp/RAW: $pandata/$buf";
$pandata .= $buf;
while($pandata =~ m/\n/) {
my $rmsg;
($rmsg,$pandata) = split("\n", $pandata, 2);
$rmsg =~ s/\r//;
panStamp_Parse($hash, $hash, $name, $rmsg) if($rmsg);
}
$hash->{PARTIAL} = $pandata;
}
sub
panStamp_Parse($$$$)
{
my ($hash, $iohash, $name, $rmsg) = @_;
my $dmsg = $rmsg;
my $l = length($dmsg);
my $rssi = hex(substr($dmsg, 1, 2));
$rssi = ($rssi>=128 ? (($rssi-256)/2-74) : ($rssi/2-74));
my $lqi = hex(substr($dmsg, 3, 2));
$dmsg = substr($dmsg, 6, $l-6);
Log GetLogLevel($name,5), "$name: $dmsg $rssi $lqi";
next if(!$dmsg || length($dmsg) < 1); # Bogus messages
$hash->{"${name}_MSGCNT"}++;
$hash->{"${name}_TIME"} = TimeNow();
$hash->{RAWMSG} = $rmsg;
my %addvals = (RAWMSG => $rmsg);
if(defined($rssi)) {
$hash->{RSSI} = $rssi;
$addvals{RSSI} = $rssi;
}
if(defined($lqi)) {
$hash->{LQI} = $lqi;
$addvals{LQI} = $lqi;
}
Dispatch($hash, $dmsg, \%addvals);
}
#####################################
sub
panStamp_Ready($)
{
my ($hash) = @_;
return DevIo_OpenDev($hash, 1, "panStamp_DoInit")
if($hash->{STATE} eq "disconnected");
# This is relevant for windows/USB only
my $po = $hash->{USBDev};
my ($BlockingFlags, $InBytes, $OutBytes, $ErrorFlags);
if($po) {
($BlockingFlags, $InBytes, $OutBytes, $ErrorFlags) = $po->status;
}
return ($InBytes && $InBytes>0);
}
########################
sub
panStamp_SimpleWrite(@)
{
my ($hash, $msg, $nocr) = @_;
return if(!$hash);
my $name = $hash->{NAME};
my $ll5 = GetLogLevel($name,5);
Log $ll5, "SW: $msg";
$msg .= "\r" unless($nocr);
$hash->{USBDev}->write($msg) if($hash->{USBDev});
syswrite($hash->{DIODev}, $msg) if($hash->{DIODev});
# Some linux installations are broken with 0.001, T01 returns no answer
select(undef, undef, undef, 0.01);
}
sub
panStamp_Attr(@)
{
my @a = @_;
return undef;
}
1;
=pod
=begin html
<a name="panStamp"></a>
<h3>panStamp</h3>
<ul>
The panStamp is a family of RF devices sold by <a href="http://www.panstamp.com">panstamp.com</a>.
It is possible to attach more than one device in order to get better
reception, fhem will filter out duplicate messages.<br><br>
This module provides the IODevice for the <a href="#SWAP">SWAP</a> modules that implement the SWAP protocoll
to communicate with the individual moths in a panStamp network.<br><br>
Note: currently only panSticks are know to work. The panStamp shield for a Rasperry Pi is untested.
<br><br>
Note: this module may require the Device::SerialPort or Win32::SerialPort
module if you attach the device via USB and the OS sets strange default
parameters for serial devices.
<br><br>
<a name="panStamp_Define"></a>
<b>Define</b>
<ul>
<code>define &lt;name&gt; panStamp &lt;device&gt; [&lt;address&gt; [&lt;channel&gt; [&lt;syncword&gt;]]]</code> <br>
<br>
USB-connected devices:<br><ul>
&lt;device&gt; specifies the serial port to communicate with the panStamp.
The name of the serial-device depends on your distribution, under
linux the cdc_acm kernel module is responsible, and usually a
/dev/ttyACM0 device will be created. If your distribution does not have a
cdc_acm module, you can force usbserial to handle the panStamp by the
following command:<ul>modprobe usbserial vendor=0x0403
product=0x6001</ul>In this case the device is most probably
/dev/ttyUSB0.<br><br>
You can also specify a baudrate if the device name contains the @
character, e.g.: /dev/ttyACM0@38400<br><br>
If the baudrate is "directio" (e.g.: /dev/ttyACM0@directio), then the
perl module Device::SerialPort is not needed, and fhem opens the device
with simple file io. This might work if the operating system uses sane
defaults for the serial parameters, e.g. some Linux distributions and
OSX. <br><br>
</ul>
<br>
The address is a 2 digit hex number to identify the moth in the panStamp network. The default is 01.<br>
The channel is a 2 digit hex number to define the channel. the default is 00.<br>
The syncword is a 4 digit hex number to identify the panStamp network. The default is B547.<br><br>
Uppon initialization a broadcast message is send to the panStamp network to try to
autodetect and autocreate all listening SWAP devices (i.e. all devices not in power down mode).
</ul>
<br>
<a name="panStamp_Set"></a>
<b>Set</b>
<ul>
<li>raw data<br>
send raw data to the panStamp to be transmitted over the RF link.
</li><br>
</ul>
<a name="panStamp_Get"></a>
<b>Get</b>
<ul>
</ul>
<a name="panStamp_Attr"></a>
<b>Attributes</b>
<ul>
</ul>
<br>
</ul>
=end html
=cut

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<device>
<developer>IulianV</developer>
<product>OneWire Temperature DS18B20x3</product>
<pwrdownmode>true</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0" />
</units>
</endpoint>
</reg>
<reg name="Humidity and Temperature" id="12">
<endpoint name="Temperature" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="-50" />
<unit name="F" factor="0.18" offset="-18" />
<unit name="K" factor="0.1" offset="223.15" />
</units>
</endpoint>
<endpoint name="Humidity" type="num" dir="inp">
<position>2</position>
<size>2</size>
<units>
<unit name="%" factor="0.1" offset="0" />
</units>
</endpoint>
</reg>
<reg name="DS18B20 Temperature" id="13">
<endpoint name="TemperatureOne" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="0" />
<unit name="F" factor="0.18" offset="-18" />
<unit name="K" factor="0.1" offset="223.15" />
</units>
</endpoint>
<endpoint name="TemperatureTwo" type="num" dir="inp">
<position>2</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="0" />
<unit name="F" factor="0.18" offset="-18" />
<unit name="K" factor="0.1" offset="223.15" />
</units>
</endpoint>
<endpoint name="TemperatureThree" type="num" dir="inp">
<position>4</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="0" />
<unit name="F" factor="0.18" offset="-18" />
<unit name="K" factor="0.1" offset="223.15" />
</units>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,197 @@
<?xml version="1.0"?>
<device>
<developer>Luka Mustafa - Musti</developer>
<product>sfpddm</product>
<pwrdownmode>false</pwrdownmode>
<regular>
<reg name="info" id="11">
<endpoint name="systemerror" type="bin" dir="inp">
<position>0.0</position>
<size>0.1</size>
<units>
</units>
</endpoint>
<endpoint name="ddm" type="bin" dir="inp">
<position>0.1</position>
<size>0.1</size>
<units>
</units>
</endpoint>
<endpoint name="internalcalib" type="bin" dir="inp">
<position>0.2</position>
<size>0.1</size>
<units>
</units>
</endpoint>
<endpoint name="externalcalib" type="bin" dir="inp">
<position>0.3</position>
<size>0.1</size>
<units>
</units>
</endpoint>
<endpoint name="averagepower" type="bin" dir="inp">
<position>0.4</position>
<size>0.1</size>
<units>
</units>
</endpoint>
</reg>
<reg name="control" id="12">
<endpoint name="txdisablestate" type="bin" dir="inp">
<position>0.0</position>
<size>0.1</size>
<units>
</units>
</endpoint>
<endpoint name="txdisable" type="bin" dir="out">
<position>0.1</position>
<size>0.1</size>
<units>
</units>
</endpoint>
<endpoint name="rateselectstate" type="bin" dir="inp">
<position>0.2</position>
<size>0.2</size>
<units>
</units>
</endpoint>
<endpoint name="rateselect" type="bin" dir="out">
<position>0.4</position>
<size>0.1</size>
<units>
</units>
</endpoint>
<endpoint name="txfault" type="num" dir="inp">
<position>0.5</position>
<size>0.1</size>
<units>
</units>
</endpoint>
<endpoint name="rxlos" type="num" dir="inp">
<position>0.6</position>
<size>0.1</size>
<units>
</units>
</endpoint>
<endpoint name="dataready" type="bin" dir="inp">
<position>0.7</position>
<size>0.1</size>
<units>
</units>
</endpoint>
<endpoint name="led" type="bin" dir="out">
<position>1.0</position>
<size>0.1</size>
<units>
</units>
</endpoint>
<endpoint name="gpio" type="bin" dir="out">
<position>1.1</position>
<size>0.1</size>
<units>
</units>
</endpoint>
</reg>
<reg name="measurement" id="13">
<endpoint name="temp" type="num" dir="inp">
<position>1.0</position>
<size>2.0</size>
<units>
<unit name="C" factor="0.00390625" offset="-128"/>
</units>
</endpoint>
<endpoint name="voltage" type="num" dir="inp">
<position>4.0</position>
<size>2.0</size>
<units>
<unit name="V" factor="0.00001" offset="0"/>
</units>
</endpoint>
<endpoint name="txcurrent" type="num" dir="inp">
<position>7.0</position>
<size>2.0</size>
<units>
<unit name="mA" factor="0.0005" offset="0"/>
</units>
</endpoint>
<endpoint name="txpower" type="num" dir="inp">
<position>10.0</position>
<size>2.0</size>
<units>
<unit name="mW" factor="0.0001" offset="0"/>
</units>
</endpoint>
<endpoint name="rxpower" type="num" dir="inp">
<position>13.0</position>
<size>2.0</size>
<units>
<unit name="mW" factor="0.0001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="alarm" id="14">
<endpoint name="temp" type="bin" dir="inp">
<position>0.0</position>
<size>0.2</size>
<units>
</units>
</endpoint>
<endpoint name="vcc" type="bin" dir="inp">
<position>0.2</position>
<size>0.2</size>
<units>
</units>
</endpoint>
<endpoint name="txcurrent" type="bin" dir="inp">
<position>0.4</position>
<size>0.2</size>
<units>
</units>
</endpoint>
<endpoint name="txpower" type="bin" dir="inp">
<position>0.6</position>
<size>0.2</size>
<units>
</units>
</endpoint>
<endpoint name="rxpower" type="bin" dir="inp">
<position>1.0</position>
<size>0.2</size>
<units>
</units>
</endpoint>
</reg>
<reg name="warning" id="15">
<endpoint name="temp" type="bin" dir="inp">
<position>0.0</position>
<size>0.2</size>
<units>
</units>
</endpoint>
<endpoint name="vcc" type="bin" dir="inp">
<position>0.2</position>
<size>0.2</size>
<units>
</units>
</endpoint>
<endpoint name="txcurrent" type="bin" dir="inp">
<position>0.4</position>
<size>0.2</size>
<units>
</units>
</endpoint>
<endpoint name="txpower" type="bin" dir="inp">
<position>0.6</position>
<size>0.2</size>
<units>
</units>
</endpoint>
<endpoint name="rxpower" type="bin" dir="inp">
<position>1.0</position>
<size>0.2</size>
<units>
</units>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,41 @@
<?xml version="1.0"?>
<device>
<developer>Miom</developer>
<product>Temperature/Humidity and Light sensor</product>
<pwrdownmode>true</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Humidity, Temperature and Light" id="12">
<endpoint name="Temperature" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="-50"/>
<unit name="F" factor="0.18" offset="-58"/>
<unit name="K" factor="0.1" offset="223.15"/>
</units>
</endpoint>
<endpoint name="Humidity" type="num" dir="inp">
<position>2</position>
<size>2</size>
<units>
<unit name="%" factor="0.1" offset="0"/>
</units>
</endpoint>
<endpoint name="Light" type="num" dir="inp">
<position>4</position>
<size>1</size>
<units>
<unit name="" factor="1" offset="0"/>
</units>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,440 @@
<?xml version="1.0"?>
<device>
<developer>Robomotic</developer>
<product>Emma Chronos</product>
<pwrdownmode>true</pwrdownmode>
<config>
<reg name="Calibration" id="11">
<param name="Use metrics (1=Yes 0=No)" type="bin">
<position>0</position>
<size>1</size>
<default>1</default>
</param>
<param name="Current temperature in Celsious (NN.D format)" type="num">
<position>1</position>
<size>2</size>
<default>0</default>
<verif>[-+]?[0-9]*\.[0-9]{1}</verif>
</param>
<param name="Current altitude in mts" type="num">
<position>3</position>
<size>2</size>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Date/Time" id="12">
<param name="Hour (24h format)" type="num">
<position>0</position>
<size>1</size>
<verif>HOUR</verif>
</param>
<param name="Minutes" type="num">
<position>1</position>
<size>1</size>
<verif>MINUTE</verif>
</param>
<param name="Seconds" type="num">
<position>2</position>
<size>1</size>
<verif>SECOND</verif>
</param>
<param name="Year (YYYY format)" type="num">
<position>3</position>
<size>2</size>
<default>2012</default>
<verif>YEAR</verif>
</param>
<param name="Month" type="num">
<position>5</position>
<size>1</size>
<default>1</default>
<verif>MONTH</verif>
</param>
<param name="Day" type="num">
<position>6</position>
<size>1</size>
<default>1</default>
<verif>MDAY</verif>
</param>
</reg>
<reg name="Time alarm" id="13">
<param name="Hour" type="num">
<position>0</position>
<size>1</size>
<verif>HOUR</verif>
</param>
<param name="Minutes" type="num">
<position>1</position>
<size>1</size>
<verif>MINUTE</verif>
</param>
</reg>
<reg name="Browser page 0" id="18">
<param name="Label (5 chars)" type="str">
<position>0</position>
<size>5</size>
<default>PAGE0</default>
<verif>^([A-Z0-9_-]){5}$</verif>
</param>
<param name="Device address (1-255)" type="num">
<position>5</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register address (1-255)" type="num">
<position>6</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register ID (10-255)" type="num">
<position>7</position>
<size>1</size>
<default>10</default>
<verif>RANGE(10,255)</verif>
</param>
<param name="Type of endpoint (1=num 0=bin)" type="bin">
<position>8.7</position>
<size>0.1</size>
</param>
<param name="Direction of endpoint (1=Output 0=Input)" type="bin">
<position>8.6</position>
<size>0.1</size>
</param>
<param name="Enable decimals (1=Enable 0=Disable)" type="bin">
<position>8.5</position>
<size>0.1</size>
</param>
<param name="Value's signess (1=Signed 0=Unsigned)" type="bin">
<position>8.4</position>
<size>0.1</size>
</param>
<param name="Value in register (1=Combined 0=Alone)" type="bin">
<position>8.3</position>
<size>0.1</size>
</param>
<param name="Step up/down delta" type="num">
<position>9</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Size in bytes (0-3)" type="num">
<position>10.0</position>
<size>0.2</size>
<default>1</default>
<verif>^([0-3])$</verif>
</param>
<param name="Position in register" type="num">
<position>10.2</position>
<size>0.6</size>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Browser page 1" id="19">
<param name="Label (5 chars)" type="str">
<position>0</position>
<size>5</size>
<default>PAGE1</default>
<verif>^([A-Z0-9_-]){5}$</verif>
</param>
<param name="Device address (1-255)" type="num">
<position>5</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register address (1-255)" type="num">
<position>6</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register ID (10-255)" type="num">
<position>7</position>
<size>1</size>
<default>10</default>
<verif>RANGE(10,255)</verif>
</param>
<param name="Type of endpoint (1=num 0=bin)" type="bin">
<position>8.7</position>
<size>0.1</size>
</param>
<param name="Direction of endpoint (1=Output 0=Input)" type="bin">
<position>8.6</position>
<size>0.1</size>
</param>
<param name="Enable decimals (1=Enable 0=Disable)" type="bin">
<position>8.5</position>
<size>0.1</size>
</param>
<param name="Value's signess (1=Signed 0=Unsigned)" type="bin">
<position>8.4</position>
<size>0.1</size>
</param>
<param name="Value in register (1=Combined 0=Alone)" type="bin">
<position>8.3</position>
<size>0.1</size>
</param>
<param name="Step up/down delta" type="num">
<position>9</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Size in bytes (0-3)" type="num">
<position>10.0</position>
<size>0.2</size>
<default>1</default>
<verif>^([0-3])$</verif>
</param>
<param name="Position in register" type="num">
<position>10.2</position>
<size>0.6</size>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Browser page 2" id="20">
<param name="Label (5 chars)" type="str">
<position>0</position>
<size>5</size>
<default>PAGE2</default>
<verif>^([A-Z0-9_-]){5}$</verif>
</param>
<param name="Device address (1-255)" type="num">
<position>5</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register address (1-255)" type="num">
<position>6</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register ID (10-255)" type="num">
<position>7</position>
<size>1</size>
<default>10</default>
<verif>RANGE(10,255)</verif>
</param>
<param name="Type of endpoint (1=num 0=bin)" type="bin">
<position>8.7</position>
<size>0.1</size>
</param>
<param name="Direction of endpoint (1=Output 0=Input)" type="bin">
<position>8.6</position>
<size>0.1</size>
</param>
<param name="Enable decimals (1=Enable 0=Disable)" type="bin">
<position>8.5</position>
<size>0.1</size>
</param>
<param name="Value's signess (1=Signed 0=Unsigned)" type="bin">
<position>8.4</position>
<size>0.1</size>
</param>
<param name="Value in register (1=Combined 0=Alone)" type="bin">
<position>8.3</position>
<size>0.1</size>
</param>
<param name="Step up/down delta" type="num">
<position>9</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Size in bytes (0-3)" type="num">
<position>10.0</position>
<size>0.2</size>
<default>1</default>
<verif>^([0-3])$</verif>
</param>
<param name="Position in register" type="num">
<position>10.2</position>
<size>0.6</size>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Browser page 3" id="21">
<param name="Label (5 chars)" type="str">
<position>0</position>
<size>5</size>
<default>PAGE3</default>
<verif>^([A-Z0-9_-]){5}$</verif>
</param>
<param name="Device address (1-255)" type="num">
<position>5</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register address (1-255)" type="num">
<position>6</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register ID (10-255)" type="num">
<position>7</position>
<size>1</size>
<default>10</default>
<verif>RANGE(10,255)</verif>
</param>
<param name="Type of endpoint (1=num 0=bin)" type="bin">
<position>8.7</position>
<size>0.1</size>
</param>
<param name="Direction of endpoint (1=Output 0=Input)" type="bin">
<position>8.6</position>
<size>0.1</size>
</param>
<param name="Enable decimals (1=Enable 0=Disable)" type="bin">
<position>8.5</position>
<size>0.1</size>
</param>
<param name="Value's signess (1=Signed 0=Unsigned)" type="bin">
<position>8.4</position>
<size>0.1</size>
</param>
<param name="Value in register (1=Combined 0=Alone)" type="bin">
<position>8.3</position>
<size>0.1</size>
</param>
<param name="Step up/down delta" type="num">
<position>9</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Size in bytes (0-3)" type="num">
<position>10.0</position>
<size>0.2</size>
<default>1</default>
<verif>^([0-3])$</verif>
</param>
<param name="Position in register" type="num">
<position>10.2</position>
<size>0.6</size>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Browser page 4" id="22">
<param name="Label (5 chars)" type="str">
<position>0</position>
<size>5</size>
<default>PAGE4</default>
<verif>^([A-Z0-9_-]){5}$</verif>
</param>
<param name="Device address (1-255)" type="num">
<position>5</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register address (1-255)" type="num">
<position>6</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register ID (10-255)" type="num">
<position>7</position>
<size>1</size>
<default>10</default>
<verif>RANGE(10,255)</verif>
</param>
<param name="Type of endpoint (1=num 0=bin)" type="bin">
<position>8.7</position>
<size>0.1</size>
</param>
<param name="Direction of endpoint (1=Output 0=Input)" type="bin">
<position>8.6</position>
<size>0.1</size>
</param>
<param name="Enable decimals (1=Enable 0=Disable)" type="bin">
<position>8.5</position>
<size>0.1</size>
</param>
<param name="Value's signess (1=Signed 0=Unsigned)" type="bin">
<position>8.4</position>
<size>0.1</size>
</param>
<param name="Value in register (1=Combined 0=Alone)" type="bin">
<position>8.3</position>
<size>0.1</size>
</param>
<param name="Step up/down delta" type="num">
<position>9</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Size in bytes (0-3)" type="num">
<position>10.0</position>
<size>0.2</size>
<default>1</default>
<verif>^([0-3])$</verif>
</param>
<param name="Position in register" type="num">
<position>10.2</position>
<size>0.6</size>
<verif>^(\d*)$</verif>
</param>
</reg>
</config>
<regular>
<reg name="Environmental sensors" id="14">
<endpoint name="Temperature" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="0"/>
<unit name="F" factor="0.18" offset="32"/>
<unit name="K" factor="0.1" offset="273.15"/>
</units>
</endpoint>
<endpoint name="Pressure" type="num" dir="inp">
<position>2</position>
<size>4</size>
<units>
<unit name="mbar" factor="0.01" offset="0"/>
<unit name="Pa" factor="1" offset="0"/>
<unit name="kPa" factor="0.001" offset="0"/>
</units>
</endpoint>
<endpoint name="Altitude" type="num" dir="inp">
<position>6</position>
<size>2</size>
<units>
<unit name="m" factor="1" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Status sensors" id="15">
<endpoint name="Battery" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="V" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Offset" type="num" dir="inp">
<position>2</position>
<size>2</size>
<units>
<unit name="V" factor="0.01" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Emma events" id="16">
<endpoint name="Alarm" type="num" dir="inp">
<position>0</position>
<size>1</size>
</endpoint>
</reg>
<reg name="Wrist motion" id="17">
<endpoint name="Feature" type="num" dir="inp">
<position>0</position>
<size>3</size>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,43 @@
<?xml version="1.0"?>
<device>
<developer>Robomotic</developer>
<product>Temp-Humidity-PIR sensor</product>
<pwrdownmode>true</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Humidity and Temperature" id="12">
<endpoint name="Temperature" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="-50"/>
<unit name="F" factor="0.18" offset="-18"/>
<unit name="K" factor="0.1" offset="223.15"/>
</units>
</endpoint>
<endpoint name="Humidity" type="num" dir="inp">
<position>2</position>
<size>2</size>
<units>
<unit name="%" factor="0.1" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="PIR status" id="13">
<endpoint name="PIR" type="num" dir="inp">
<size>1</size>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,55 @@
<?xml version="1.0"?>
<device>
<developer>Robomotic</developer>
<product>LuminoPod</product>
<pwrdownmode>true</pwrdownmode>
<config>
<reg name="PWR" id="11">
<param name="PwrOn" type="bin">
<size>1.0</size>
<default>1</default>
</param>
</reg>
<reg name="CONFIG" id="12">
<param name="IntegrationTime" type="num">
<position>0.0</position>
<size>0.2</size>
</param>
<param name="Gain" type="num">
<position>0.2</position>
<size>0.1</size>
</param>
</reg>
</config>
<regular>
<reg name="VOLTAGE" id="13">
<endpoint name="V" type="num" dir="inp">
<size>2.0</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="SENSORIR" id="14">
<endpoint name="IRVALUE" type="num" dir="inp">
<size>2.0</size>
<units>
</units>
</endpoint>
</reg>
<reg name="LUX" id="15">
<endpoint name="Lumens" type="num" dir="inp">
<size>4.0</size>
<units>
</units>
</endpoint>
</reg>
<reg name="SENSORVISIBLE" id="16">
<endpoint name="value" type="num" dir="inp">
<size>2.0</size>
<units>
</units>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,54 @@
<?xml version="1.0"?>
<device>
<developer>Robomotic</developer>
<product>Repeater node</product>
<pwrdownmode>false</pwrdownmode>
<config>
<reg name="Repeater mode" id="11">
<param name="Maximum hop" type="num">
<position>0</position>
<size>1</size>
<default>0</default>
</param>
</reg>
</config>
<regular>
<reg name="Binary output 0" id="12">
<endpoint name="Binary 0" type="bin" dir="out"/>
</reg>
<reg name="Binary output 1" id="13">
<endpoint name="Binary 1" type="bin" dir="out"/>
</reg>
<reg name="Binary output 2" id="14">
<endpoint name="Binary 2" type="bin" dir="out"/>
</reg>
<reg name="Binary output 3" id="15">
<endpoint name="Binary 3" type="bin" dir="out"/>
</reg>
<reg name="Binary output 4" id="16">
<endpoint name="Binary 4" type="bin" dir="out"/>
</reg>
<reg name="Binary output 5" id="17">
<endpoint name="Binary 5" type="bin" dir="out"/>
</reg>
<reg name="Binary output 6" id="18">
<endpoint name="Binary 6" type="bin" dir="out"/>
</reg>
<reg name="Binary output 7" id="19">
<endpoint name="Binary 7" type="bin" dir="out"/>
</reg>
<reg name="PWM output 0" id="20">
<endpoint name="PWM output 0" type="num" dir="out"/>
</reg>
<reg name="PWM output 1" id="21">
<endpoint name="PWM output 1" type="num" dir="out"/>
</reg>
<reg name="PWM output 2" id="22">
<endpoint name="PWM output 2" type="num" dir="out"/>
</reg>
<reg name="PWM output 3" id="23">
<endpoint name="PWM output 3" type="num" dir="out"/>
</reg>
</regular>
</device>

View File

@ -0,0 +1,130 @@
<?xml version="1.0"?>
<device>
<developer>Robomotic</developer>
<product>SeismoFloor simple</product>
<pwrdownmode>false</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Accelerations" id="12">
<endpoint name="Ax" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="G" factor="0.00376390" offset="0"/>
</units>
</endpoint>
<endpoint name="Ay" type="num" dir="inp">
<position>2</position>
<size>2</size>
<units>
<unit name="G" factor="0.00376009" offset="0"/>
</units>
</endpoint>
<endpoint name="Az" type="num" dir="inp">
<position>4</position>
<size>2</size>
<units>
<unit name="G" factor="0.00349265" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Interrupt code" id="13">
<endpoint name="OVERRUNY" type="num" dir="inp">
<position>0.7</position>
<size>0.1</size>
</endpoint>
<endpoint name="WATERMARK" type="num" dir="inp">
<position>0.6</position>
<size>0.1</size>
</endpoint>
<endpoint name="FREE_FALL" type="num" dir="inp">
<position>0.5</position>
<size>0.1</size>
</endpoint>
<endpoint name="INACTIVITY" type="num" dir="inp">
<position>0.4</position>
<size>0.1</size>
</endpoint>
<endpoint name="ACTIVITY" type="num" dir="inp">
<position>0.3</position>
<size>0.1</size>
</endpoint>
<endpoint name="DOUBLE_TAP" type="num" dir="inp">
<position>0.2</position>
<size>0.1</size>
</endpoint>
<endpoint name="SINGLE_TAP" type="num" dir="inp">
<position>0.1</position>
<size>0.1</size>
</endpoint>
<endpoint name="DATA_READY" type="num" dir="inp">
<position>0.0</position>
<size>0.1</size>
</endpoint>
</reg>
</regular>
<config>
<reg name="Settings" id="14">
<param name="Tap" type="num">
<position>0.0</position>
<size>0.2</size>
<verif>^(\d*)$</verif>
</param>
<param name="Stream" type="num">
<position>0.2</position>
<size>0.2</size>
<verif>^(\d*)$</verif>
</param>
<param name="Frequency" type="num">
<position>0.4</position>
<size>0.4</size>
<verif>^(\d*)$</verif>
<default>4</default>
</param>
</reg>
<reg name="Range" id="15">
<param name="G" type="num">
<position>0</position>
<size>1</size>
<default>2</default>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Tap detection" id="16">
<param name="Axis selection" type="num">
<position>0</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Tap settings" id="17">
<param name="Threshold" type="num">
<position>0</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Duration" type="num">
<position>1</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Latency" type="num">
<position>2</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Window" type="num">
<position>3</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
</reg>
</config>
</device>

View File

@ -0,0 +1,34 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>Dual Temperature-Humidity sensor</product>
<pwrdownmode>true</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Humidity and Temperature" id="12">
<endpoint name="Temperature" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="-50"/>
<unit name="F" factor="0.18" offset="-18"/>
<unit name="K" factor="0.1" offset="223.15"/>
</units>
</endpoint>
<endpoint name="Humidity" type="num" dir="inp">
<position>2</position>
<size>2</size>
<units>
<unit name="%" factor="0.1" offset="0"/>
</units>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,41 @@
<?xml version="1.0"?>
<device>
<developer>Robomotic</developer>
<product>Dual Temperature-Barometric pressure and motion sensor</product>
<pwrdownmode>true</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Temperature and Pressure" id="12">
<endpoint name="Temperature" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="-50"/>
<unit name="F" factor="0.18" offset="-18"/>
<unit name="K" factor="0.1" offset="223.15"/>
</units>
</endpoint>
<endpoint name="Pressure" type="num" dir="inp">
<position>2</position>
<size>4</size>
<units>
<unit name="Pa" factor="1" offset="0"/>
<unit name="mbar" factor="0.01" offset="0"/>
<unit name="bar" factor="0.00001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="PIR status" id="13">
<endpoint name="PIR" type="num" dir="inp">
<size>1</size>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,43 @@
<?xml version="1.0"?>
<devices>
<developer id="1" name="panStamp">
<dev id="1" name="temphum" label="Dual Temperature/Humidity sensor"/>
<dev id="2" name="chronos" label="SWAP-enabled Chronos watch"/>
<dev id="3" name="rgbdriver" label="RGB driver board"/>
<dev id="4" name="temp" label="Temperature sensor"/>
<dev id="5" name="temppress" label="Dual Temperature-Barometric pressure sensor"/>
<dev id="6" name="bininps" label="Binary/Counter input module"/>
<dev id="7" name="binouts" label="Binary/PWM output module"/>
<dev id="8" name="lcddriver" label="Alphanumeric 2x16 LCD driver"/>
<dev id="9" name="pulsegen" label="Programmable pulse generator"/>
<dev id="10" name="pulsecounter" label="Pulse counter"/>
<dev id="11" name="meter" label="Energy meter"/>
<dev id="12" name="binouts2" label="Advanced Binary/PWM output module + repeater"/>
<dev id="13" name="respira" label="Respira sensor for CO and NO2"/>
<dev id="14" name="soilmoisture" label="Soil moisture sensor"/>
</developer>
<developer id="17" name="Robomotic">
<dev id="1" name="EmmaTI" label="Emma watch"/>
<dev id="2" name="SeismoFloor" label="Floor sensor"/>
<dev id="3" name="EnvPIR" label="Environment and motion sensor"/>
<dev id="4" name="Repeater" label="Robomotic repeater"/>
<dev id="5" name="LuminoPod" label="Luminosity sensor"/>
</developer>
<developer id="22" name="Luka Mustafa - Musti">
<dev id="1" name="sfpddm" label="SFP DDM monitoring system"/>
</developer>
<developer id="25" name="IulianV">
<dev id="1" name="onewire" label="OneWire Temperature DS18B20x3"/>
</developer>
<developer id="27" name="Miom">
<dev id="1" name="temphumlight" label="Temperature/Humidity and Light sensor"/>
</developer>
<developer id="29" name="panMillenium">
<dev id="1" name="panmillenium1" label="Crouzet Millenium 3 wireless interface by panSTamp"/>
</developer>
<developer id="34" name="justme">
<dev id="3" name="rgbdriver" label="RGB driver board with IR"/>
<dev id="4294967295" name="streamtest" label="PanStream Test"/>
<dev id="15" name="panfirmata" label="PanStream Firmata"/>
</developer>
</devices>

View File

@ -0,0 +1,13 @@
<?xml version="1.0"?>
<device>
<developer>justme</developer>
<product>PanStreamFirmata</product>
<pwrdownmode>false</pwrdownmode>
<regular>
<reg name="PanStream" id="11">
<endpoint name="Stream" type="stream" dir="inp">
<size>32</size>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,86 @@
<?xml version="1.0"?>
<device>
<developer>justme</developer>
<product>RGB LED controller</product>
<pwrdownmode>false</pwrdownmode>
<config>
<reg name="PowerOn" id="14">
<param name="PowerOnState" type="num" dir="out">
<size>5</size>
</param>
<param name="State" type="num" dir="out">
<position>0</position>
<size>1</size>
<default>0</default>
<verif>(0|1|2|3)</verif>
</param>
<param name="Brightness" type="num" dir="out">
<position>1</position>
<size>1</size>
</param>
<param name="Color" type="num" dir="out">
<position>2</position>
<size>3</size>
</param>
</reg>
<reg name="Repeater mode" id="16">
<param name="Maximum hop" type="num">
<size>1</size>
<default>0</default>
<verif>([1-9]|1[0-5])</verif>
</param>
</reg>
</config>
<regular>
<reg name="RGB" id="11">
<endpoint name="RGBlevel" type="num" dir="out">
<size>3</size>
</endpoint>
<endpoint name="Red" type="num" dir="out">
<size>1</size>
</endpoint>
<endpoint name="Green" type="num" dir="out">
<position>1</position>
<size>1</size>
</endpoint>
<endpoint name="Blue" type="num" dir="out">
<position>2</position>
<size>1</size>
</endpoint>
</reg>
<reg name="IR" id="12">
<endpoint name="IRCommand" type="num" dir="inp">
<size>5</size>
</endpoint>
<endpoint name="Type" type="num" dir="inp">
<position>0</position>
<size>1</size>
</endpoint>
<endpoint name="Value" type="num" dir="inp">
<position>1</position>
<size>4</size>
</endpoint>
</reg>
<reg name="Temp" id="13">
<endpoint name="InternalTemperature" type="num" dir="inp">
<size>4</size>
<units>
<unit name="C" factor="1" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Cmd" id="15">
<endpoint name="Command" type="num" dir="out">
<size>6</size>
</endpoint>
<endpoint name="Cmd" type="num" dir="out">
<position>0</position>
<size>1</size>
</endpoint>
<endpoint name="Args" type="num" dir="out">
<position>1</position>
<size>5</size>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,13 @@
<?xml version="1.0"?>
<device>
<developer>justme</developer>
<product>PanStream Test</product>
<pwrdownmode>false</pwrdownmode>
<regular>
<reg name="PanStream" id="11">
<endpoint name="Stream" type="stream" dir="inp">
<size>32</size>
</endpoint>
</reg>
</regular>
</device>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,85 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>Binary/Counter input module</product>
<pwrdownmode>true</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Binary states" id="12">
<endpoint name="Binary 0" type="bin" dir="inp">
<position>1.7</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 1" type="bin" dir="inp">
<position>1.6</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 2" type="bin" dir="inp">
<position>1.5</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 3" type="bin" dir="inp">
<position>1.4</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 4" type="bin" dir="inp">
<position>1.3</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 5" type="bin" dir="inp">
<position>1.2</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 6" type="bin" dir="inp">
<position>1.1</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 7" type="bin" dir="inp">
<position>1.0</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 8" type="bin" dir="inp">
<position>0.7</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 9" type="bin" dir="inp">
<position>0.6</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 10" type="bin" dir="inp">
<position>0.5</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 11" type="bin" dir="inp">
<position>0.4</position>
<size>0.1</size>
</endpoint>
</reg>
<reg name="Counters" id="13">
<endpoint name="Counter 0" type="num" dir="inp">
<position>3</position>
<size>1</size>
</endpoint>
<endpoint name="Counter 1" type="num" dir="inp">
<position>2</position>
<size>1</size>
</endpoint>
<endpoint name="Counter 2" type="num" dir="inp">
<position>1</position>
<size>1</size>
</endpoint>
<endpoint name="Counter 3" type="num" dir="inp">
<position>0</position>
<size>1</size>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,61 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>Binary/PWM output module</product>
<pwrdownmode>false</pwrdownmode>
<regular>
<reg name="Binary outputs" id="11">
<endpoint name="Binary 0" type="bin" dir="out">
<position>0.7</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 1" type="bin" dir="out">
<position>0.6</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 2" type="bin" dir="out">
<position>0.5</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 3" type="bin" dir="out">
<position>0.4</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 4" type="bin" dir="out">
<position>0.3</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 5" type="bin" dir="out">
<position>0.2</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 6" type="bin" dir="out">
<position>0.1</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 7" type="bin" dir="out">
<position>0.0</position>
<size>0.1</size>
</endpoint>
</reg>
<reg name="PWM outputs" id="12">
<endpoint name="PWM output 0" type="num" dir="out">
<position>3</position>
<size>1</size>
</endpoint>
<endpoint name="PWM output 1" type="num" dir="out">
<position>2</position>
<size>1</size>
</endpoint>
<endpoint name="PWM output 2" type="num" dir="out">
<position>1</position>
<size>1</size>
</endpoint>
<endpoint name="PWM output 3" type="num" dir="out">
<position>0</position>
<size>1</size>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,55 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>Advanced Binary/PWM output module + repeater</product>
<pwrdownmode>false</pwrdownmode>
<config>
<reg name="Repeater mode" id="11">
<param name="Maximum hop" type="num">
<position>0</position>
<size>1</size>
<default>0</default>
<verif>([1-9]|1[0-5])</verif>
</param>
</reg>
</config>
<regular>
<reg name="Binary output 0" id="12">
<endpoint name="Binary 0" type="bin" dir="out"/>
</reg>
<reg name="Binary output 1" id="13">
<endpoint name="Binary 1" type="bin" dir="out"/>
</reg>
<reg name="Binary output 2" id="14">
<endpoint name="Binary 2" type="bin" dir="out"/>
</reg>
<reg name="Binary output 3" id="15">
<endpoint name="Binary 3" type="bin" dir="out"/>
</reg>
<reg name="Binary output 4" id="16">
<endpoint name="Binary 4" type="bin" dir="out"/>
</reg>
<reg name="Binary output 5" id="17">
<endpoint name="Binary 5" type="bin" dir="out"/>
</reg>
<reg name="Binary output 6" id="18">
<endpoint name="Binary 6" type="bin" dir="out"/>
</reg>
<reg name="Binary output 7" id="19">
<endpoint name="Binary 7" type="bin" dir="out"/>
</reg>
<reg name="PWM output 0" id="20">
<endpoint name="PWM output 0" type="num" dir="out"/>
</reg>
<reg name="PWM output 1" id="21">
<endpoint name="PWM output 1" type="num" dir="out"/>
</reg>
<reg name="PWM output 2" id="22">
<endpoint name="PWM output 2" type="num" dir="out"/>
</reg>
<reg name="PWM output 3" id="23">
<endpoint name="PWM output 3" type="num" dir="out"/>
</reg>
</regular>
</device>

View File

@ -0,0 +1,407 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>SWAP-Chronos</product>
<pwrdownmode>true</pwrdownmode>
<config>
<reg name="Calibration" id="11">
<param name="Use metrics (1=Yes 0=No)" type="bin">
<position>0</position>
<size>1</size>
<default>1</default>
</param>
<param name="Current temperature in Celsious (NN.D format)" type="num">
<position>1</position>
<size>2</size>
<default>0</default>
<verif>[-+]?[0-9]*\.[0-9]{1}</verif>
</param>
<param name="Current altitude in mts" type="num">
<position>3</position>
<size>2</size>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Date/Time" id="12">
<param name="Hour (24h format)" type="num">
<position>0</position>
<size>1</size>
<verif>HOUR</verif>
</param>
<param name="Minutes" type="num">
<position>1</position>
<size>1</size>
<verif>MINUTE</verif>
</param>
<param name="Year (YYYY format)" type="num">
<position>3</position>
<size>2</size>
<default>2011</default>
<verif>YEAR</verif>
</param>
<param name="Month" type="num">
<position>5</position>
<size>1</size>
<default>1</default>
<verif>MONTH</verif>
</param>
<param name="Day" type="num">
<position>6</position>
<size>1</size>
<default>1</default>
<verif>MDAY</verif>
</param>
</reg>
<reg name="Time alarm" id="13">
<param name="Hour" type="num">
<position>0</position>
<size>1</size>
<verif>HOUR</verif>
</param>
<param name="Minutes" type="num">
<position>1</position>
<size>1</size>
<verif>MINUTE</verif>
</param>
</reg>
<reg name="Browser page 0" id="16">
<param name="Label (5 chars)" type="str">
<position>0</position>
<size>5</size>
<default>PAGE0</default>
<verif>^([A-Z0-9_-]){5}$</verif>
</param>
<param name="Device address (1-255)" type="num">
<position>5</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register address (1-255)" type="num">
<position>6</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register ID (10-255)" type="num">
<position>7</position>
<size>1</size>
<default>10</default>
<verif>RANGE(10,255)</verif>
</param>
<param name="Type of endpoint (1=num 0=bin)" type="bin">
<position>8.7</position>
<size>0.1</size>
</param>
<param name="Direction of endpoint (1=Output 0=Input)" type="bin">
<position>8.6</position>
<size>0.1</size>
</param>
<param name="Enable decimals (1=Enable 0=Disable)" type="bin">
<position>8.5</position>
<size>0.1</size>
</param>
<param name="Value's signess (1=Signed 0=Unsigned)" type="bin">
<position>8.4</position>
<size>0.1</size>
</param>
<param name="Value in register (1=Combined 0=Alone)" type="bin">
<position>8.3</position>
<size>0.1</size>
</param>
<param name="Step up/down delta" type="num">
<position>9</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Size in bytes (0-3)" type="num">
<position>10.0</position>
<size>0.2</size>
<default>1</default>
<verif>^([0-3])$</verif>
</param>
<param name="Position in register" type="num">
<position>10.2</position>
<size>0.6</size>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Browser page 1" id="17">
<param name="Label (5 chars)" type="str">
<position>0</position>
<size>5</size>
<default>PAGE1</default>
<verif>^([A-Z0-9_-]){5}$</verif>
</param>
<param name="Device address (1-255)" type="num">
<position>5</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register address (1-255)" type="num">
<position>6</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register ID (10-255)" type="num">
<position>7</position>
<size>1</size>
<default>10</default>
<verif>RANGE(10,255)</verif>
</param>
<param name="Type of endpoint (1=num 0=bin)" type="bin">
<position>8.7</position>
<size>0.1</size>
</param>
<param name="Direction of endpoint (1=Output 0=Input)" type="bin">
<position>8.6</position>
<size>0.1</size>
</param>
<param name="Enable decimals (1=Enable 0=Disable)" type="bin">
<position>8.5</position>
<size>0.1</size>
</param>
<param name="Value's signess (1=Signed 0=Unsigned)" type="bin">
<position>8.4</position>
<size>0.1</size>
</param>
<param name="Value in register (1=Combined 0=Alone)" type="bin">
<position>8.3</position>
<size>0.1</size>
</param>
<param name="Step up/down delta" type="num">
<position>9</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Size in bytes (0-3)" type="num">
<position>10.0</position>
<size>0.2</size>
<default>1</default>
<verif>^([0-3])$</verif>
</param>
<param name="Position in register" type="num">
<position>10.2</position>
<size>0.6</size>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Browser page 2" id="18">
<param name="Label (5 chars)" type="str">
<position>0</position>
<size>5</size>
<default>PAGE2</default>
<verif>^([A-Z0-9_-]){5}$</verif>
</param>
<param name="Device address (1-255)" type="num">
<position>5</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register address (1-255)" type="num">
<position>6</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register ID (10-255)" type="num">
<position>7</position>
<size>1</size>
<default>10</default>
<verif>RANGE(10,255)</verif>
</param>
<param name="Type of endpoint (1=num 0=bin)" type="bin">
<position>8.7</position>
<size>0.1</size>
</param>
<param name="Direction of endpoint (1=Output 0=Input)" type="bin">
<position>8.6</position>
<size>0.1</size>
</param>
<param name="Enable decimals (1=Enable 0=Disable)" type="bin">
<position>8.5</position>
<size>0.1</size>
</param>
<param name="Value's signess (1=Signed 0=Unsigned)" type="bin">
<position>8.4</position>
<size>0.1</size>
</param>
<param name="Value in register (1=Combined 0=Alone)" type="bin">
<position>8.3</position>
<size>0.1</size>
</param>
<param name="Step up/down delta" type="num">
<position>9</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Size in bytes (0-3)" type="num">
<position>10.0</position>
<size>0.2</size>
<default>1</default>
<verif>^([0-3])$</verif>
</param>
<param name="Position in register" type="num">
<position>10.2</position>
<size>0.6</size>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Browser page 3" id="19">
<param name="Label (5 chars)" type="str">
<position>0</position>
<size>5</size>
<default>PAGE3</default>
<verif>^([A-Z0-9_-]){5}$</verif>
</param>
<param name="Device address (1-255)" type="num">
<position>5</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register address (1-255)" type="num">
<position>6</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register ID (10-255)" type="num">
<position>7</position>
<size>1</size>
<default>10</default>
<verif>RANGE(10,255)</verif>
</param>
<param name="Type of endpoint (1=num 0=bin)" type="bin">
<position>8.7</position>
<size>0.1</size>
</param>
<param name="Direction of endpoint (1=Output 0=Input)" type="bin">
<position>8.6</position>
<size>0.1</size>
</param>
<param name="Enable decimals (1=Enable 0=Disable)" type="bin">
<position>8.5</position>
<size>0.1</size>
</param>
<param name="Value's signess (1=Signed 0=Unsigned)" type="bin">
<position>8.4</position>
<size>0.1</size>
</param>
<param name="Value in register (1=Combined 0=Alone)" type="bin">
<position>8.3</position>
<size>0.1</size>
</param>
<param name="Step up/down delta" type="num">
<position>9</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Size in bytes (0-3)" type="num">
<position>10.0</position>
<size>0.2</size>
<default>1</default>
<verif>^([0-3])$</verif>
</param>
<param name="Position in register" type="num">
<position>10.2</position>
<size>0.6</size>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Browser page 4" id="20">
<param name="Label (5 chars)" type="str">
<position>0</position>
<size>5</size>
<default>PAGE4</default>
<verif>^([A-Z0-9_-]){5}$</verif>
</param>
<param name="Device address (1-255)" type="num">
<position>5</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register address (1-255)" type="num">
<position>6</position>
<size>1</size>
<default>255</default>
<verif>RANGE(1,255)</verif>
</param>
<param name="Register ID (10-255)" type="num">
<position>7</position>
<size>1</size>
<default>10</default>
<verif>RANGE(10,255)</verif>
</param>
<param name="Type of endpoint (1=num 0=bin)" type="bin">
<position>8.7</position>
<size>0.1</size>
</param>
<param name="Direction of endpoint (1=Output 0=Input)" type="bin">
<position>8.6</position>
<size>0.1</size>
</param>
<param name="Enable decimals (1=Enable 0=Disable)" type="bin">
<position>8.5</position>
<size>0.1</size>
</param>
<param name="Value's signess (1=Signed 0=Unsigned)" type="bin">
<position>8.4</position>
<size>0.1</size>
</param>
<param name="Value in register (1=Combined 0=Alone)" type="bin">
<position>8.3</position>
<size>0.1</size>
</param>
<param name="Step up/down delta" type="num">
<position>9</position>
<size>1</size>
<verif>^(\d*)$</verif>
</param>
<param name="Size in bytes (0-3)" type="num">
<position>10.0</position>
<size>0.2</size>
<default>1</default>
<verif>^([0-3])$</verif>
</param>
<param name="Position in register" type="num">
<position>10.2</position>
<size>0.6</size>
<verif>^(\d*)$</verif>
</param>
</reg>
</config>
<regular>
<reg name="Environmental sensors" id="14">
<endpoint name="Temperature" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="0"/>
<unit name="F" factor="0.18" offset="32"/>
<unit name="K" factor="0.1" offset="273.15"/>
</units>
</endpoint>
<endpoint name="Pressure" type="num" dir="inp">
<position>2</position>
<size>4</size>
<units>
<unit name="mbar" factor="0.01" offset="0"/>
<unit name="Pa" factor="1" offset="0"/>
<unit name="kPa" factor="0.001" offset="0"/>
</units>
</endpoint>
<endpoint name="Altitude" type="num" dir="inp">
<position>6</position>
<size>2</size>
<units>
<unit name="m" factor="1" offset="0"/>
</units>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,42 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>Alphanumeric 2x16 LCD driver</product>
<pwrdownmode>false</pwrdownmode>
<regular>
<reg name="LCD line 0" id="11">
<endpoint name="LCD Line 0" type="str" dir="out">
<size>16</size>
</endpoint>
</reg>
<reg name="LCD line 1" id="12">
<endpoint name="LCD Line 1" type="str" dir="out">
<size>16</size>
</endpoint>
</reg>
<reg name="Backlight" id="13">
<endpoint name="Backlight level" type="bin" dir="out">
<size>0.1</size>
</endpoint>
</reg>
<reg name="Binary states" id="14">
<endpoint name="Binary 0" type="bin" dir="inp">
<position>0.7</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 1" type="bin" dir="inp">
<position>0.6</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 2" type="bin" dir="inp">
<position>0.5</position>
<size>0.1</size>
</endpoint>
<endpoint name="Binary 3" type="bin" dir="inp">
<position>0.4</position>
<size>0.1</size>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,617 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>Energy meter</product>
<pwrdownmode>false</pwrdownmode>
<config>
<reg name="Channel 0 calibration" id="18">
<param name="Chanel 0 - Voltage transformer scale (x100)" type="num">
<position>0</position>
<size>2</size>
<default>1700</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 0 - Current transformer scale (x100)" type="num">
<position>2</position>
<size>2</size>
<default>500</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 0 - Power factor offset (x100)" type="num">
<position>4</position>
<size>1</size>
<default>0</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 0 - Enable" type="bin">
<position>5</position>
<size>1</size>
<default>1</default>
</param>
</reg>
<reg name="Channel 1 calibration" id="19">
<param name="Chanel 1 - Voltage transformer scale (x100)" type="num">
<position>0</position>
<size>2</size>
<default>1700</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 1 - Current transformer scale (x100)" type="num">
<position>2</position>
<size>2</size>
<default>500</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 1 - Power factor offset (x100)" type="num">
<position>4</position>
<size>1</size>
<default>0</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 1 - Enable" type="bin">
<position>5</position>
<size>1</size>
<default>1</default>
</param>
</reg>
<reg name="Channel 2 calibration" id="20">
<param name="Chanel 2 - Voltage transformer scale (x100)" type="num">
<position>0</position>
<size>2</size>
<default>1700</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 2 - Current transformer scale (x100)" type="num">
<position>2</position>
<size>2</size>
<default>500</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 2 - Power factor offset (x100)" type="num">
<position>4</position>
<size>1</size>
<default>0</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 2 - Enable" type="bin">
<position>5</position>
<size>1</size>
<default>1</default>
</param>
</reg>
<reg name="Channel 3 calibration" id="21">
<param name="Chanel 3 - Voltage transformer scale (x100)" type="num">
<position>0</position>
<size>2</size>
<default>1700</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 3 - Current transformer scale (x100)" type="num">
<position>2</position>
<size>2</size>
<default>500</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 3 - Power factor offset (x100)" type="num">
<position>4</position>
<size>1</size>
<default>0</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 3 - Enable" type="bin">
<position>5</position>
<size>1</size>
<default>1</default>
</param>
</reg>
<reg name="Channel 4 calibration" id="22">
<param name="Chanel 4 - Voltage transformer scale (x100)" type="num">
<position>0</position>
<size>2</size>
<default>1700</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 4 - Current transformer scale (x100)" type="num">
<position>2</position>
<size>2</size>
<default>500</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 4 - Power factor offset (x100)" type="num">
<position>4</position>
<size>1</size>
<default>0</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 4 - Enable" type="bin">
<position>5</position>
<size>1</size>
<default>1</default>
</param>
</reg>
<reg name="Channel 5 calibration" id="23">
<param name="Chanel 5 - Voltage transformer scale (x100)" type="num">
<position>0</position>
<size>2</size>
<default>1700</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 5 - Current transformer scale (x100)" type="num">
<position>2</position>
<size>2</size>
<default>500</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 5 - Power factor offset (x100)" type="num">
<position>4</position>
<size>1</size>
<default>0</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 5 - Enable" type="bin">
<position>5</position>
<size>1</size>
<default>1</default>
</param>
</reg>
<reg name="Channel 6 calibration" id="24">
<param name="Chanel 6 - Voltage transformer scale (x100)" type="num">
<position>0</position>
<size>2</size>
<default>1700</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 6 - Current transformer scale (x100)" type="num">
<position>2</position>
<size>2</size>
<default>500</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 6 - Power factor offset (x100)" type="num">
<position>4</position>
<size>1</size>
<default>0</default>
<verif>^(\d*)$</verif>
</param>
<param name="Chanel 6 - Enable" type="bin">
<position>5</position>
<size>1</size>
<default>1</default>
</param>
</reg>
<reg name="Pulse counter 0 calibration" id="28">
<param name="Counter 0 - Initial value (x100)" type="num">
<position>0</position>
<size>4</size>
<default>0</default>
<verif>^(\d*)$</verif>
</param>
<param name="Counter 0 - Counts per unit step" type="num">
<position>4</position>
<size>2</size>
<default>1</default>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Pulse counter 1 calibration" id="29">
<param name="Counter 1 - Initial value (x100)" type="num">
<position>0</position>
<size>4</size>
<default>0</default>
<verif>^(\d*)$</verif>
</param>
<param name="Counter 1 - Counts per unit step" type="num">
<position>4</position>
<size>2</size>
<default>1</default>
<verif>^(\d*)$</verif>
</param>
</reg>
<reg name="Pulse counter 2 calibration" id="30">
<param name="Counter 2 - Initial value (x100)" type="num">
<position>0</position>
<size>4</size>
<default>0</default>
<verif>^(\d*)$</verif>
</param>
<param name="Counter 2 - Counts per unit step" type="num">
<position>4</position>
<size>2</size>
<default>1</default>
<verif>^(\d*)$</verif>
</param>
</reg>
</config>
<regular>
<reg name="Energy channel 0" id="11">
<endpoint name="AC frequency 0" type="num" dir="inp">
<position>0</position>
<size>1</size>
<units>
<unit name="Hz" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Voltage 0" type="num" dir="inp">
<position>1</position>
<size>2</size>
<units>
<unit name="V" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Current 0" type="num" dir="inp">
<position>3</position>
<size>2</size>
<units>
<unit name="A" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Apparent power 0" type="num" dir="inp">
<position>5</position>
<size>2</size>
<units>
<unit name="VA" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Active power 0" type="num" dir="inp">
<position>7</position>
<size>2</size>
<units>
<unit name="W" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Power factor 0" type="num" dir="inp">
<position>9</position>
<size>1</size>
<units>
<unit name="" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Energy consumption 0" type="num" dir="inp">
<position>10</position>
<size>4</size>
<units>
<unit name="KWh" factor="0.01" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Energy channel 1" id="12">
<endpoint name="AC frequency 1" type="num" dir="inp">
<position>0</position>
<size>1</size>
<units>
<unit name="Hz" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Voltage 1" type="num" dir="inp">
<position>1</position>
<size>2</size>
<units>
<unit name="V" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Current 1" type="num" dir="inp">
<position>3</position>
<size>2</size>
<units>
<unit name="A" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Apparent power 1" type="num" dir="inp">
<position>5</position>
<size>2</size>
<units>
<unit name="VA" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Active power 1" type="num" dir="inp">
<position>7</position>
<size>2</size>
<units>
<unit name="W" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Power factor 1" type="num" dir="inp">
<position>9</position>
<size>1</size>
<units>
<unit name="" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Energy consumption 1" type="num" dir="inp">
<position>10</position>
<size>4</size>
<units>
<unit name="KWh" factor="0.01" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Energy channel 2" id="13">
<endpoint name="AC frequency 2" type="num" dir="inp">
<position>0</position>
<size>1</size>
<units>
<unit name="Hz" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Voltage 2" type="num" dir="inp">
<position>1</position>
<size>2</size>
<units>
<unit name="V" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Current 2" type="num" dir="inp">
<position>3</position>
<size>2</size>
<units>
<unit name="A" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Apparent power 2" type="num" dir="inp">
<position>5</position>
<size>2</size>
<units>
<unit name="VA" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Active power 2" type="num" dir="inp">
<position>7</position>
<size>2</size>
<units>
<unit name="W" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Power factor 2" type="num" dir="inp">
<position>9</position>
<size>1</size>
<units>
<unit name="" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Energy consumption 2" type="num" dir="inp">
<position>10</position>
<size>4</size>
<units>
<unit name="KWh" factor="0.01" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Energy channel 3" id="14">
<endpoint name="AC frequency 3" type="num" dir="inp">
<position>0</position>
<size>1</size>
<units>
<unit name="Hz" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Voltage 3" type="num" dir="inp">
<position>1</position>
<size>2</size>
<units>
<unit name="V" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Current 3" type="num" dir="inp">
<position>3</position>
<size>2</size>
<units>
<unit name="A" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Apparent power 3" type="num" dir="inp">
<position>5</position>
<size>2</size>
<units>
<unit name="VA" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Active power 3" type="num" dir="inp">
<position>7</position>
<size>2</size>
<units>
<unit name="W" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Power factor 3" type="num" dir="inp">
<position>9</position>
<size>1</size>
<units>
<unit name="" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Energy consumption 3" type="num" dir="inp">
<position>10</position>
<size>4</size>
<units>
<unit name="KWh" factor="0.01" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Energy channel 4" id="15">
<endpoint name="AC frequency 4" type="num" dir="inp">
<position>0</position>
<size>1</size>
<units>
<unit name="Hz" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Voltage 4" type="num" dir="inp">
<position>1</position>
<size>2</size>
<units>
<unit name="V" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Current 4" type="num" dir="inp">
<position>3</position>
<size>2</size>
<units>
<unit name="A" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Apparent power 4" type="num" dir="inp">
<position>5</position>
<size>2</size>
<units>
<unit name="VA" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Active power 4" type="num" dir="inp">
<position>7</position>
<size>2</size>
<units>
<unit name="W" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Power factor 4" type="num" dir="inp">
<position>9</position>
<size>1</size>
<units>
<unit name="" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Energy consumption 4" type="num" dir="inp">
<position>10</position>
<size>4</size>
<units>
<unit name="KWh" factor="0.01" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Energy channel 5" id="16">
<endpoint name="AC frequency 5" type="num" dir="inp">
<position>0</position>
<size>1</size>
<units>
<unit name="Hz" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Voltage 5" type="num" dir="inp">
<position>1</position>
<size>2</size>
<units>
<unit name="V" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Current 5" type="num" dir="inp">
<position>3</position>
<size>2</size>
<units>
<unit name="A" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Apparent power 5" type="num" dir="inp">
<position>5</position>
<size>2</size>
<units>
<unit name="VA" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Active power 5" type="num" dir="inp">
<position>7</position>
<size>2</size>
<units>
<unit name="W" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Power factor 5" type="num" dir="inp">
<position>9</position>
<size>1</size>
<units>
<unit name="" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Energy consumption 5" type="num" dir="inp">
<position>10</position>
<size>4</size>
<units>
<unit name="KWh" factor="0.01" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Energy channel 6" id="17">
<endpoint name="AC frequency 6" type="num" dir="inp">
<position>0</position>
<size>1</size>
<units>
<unit name="Hz" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Voltage 6" type="num" dir="inp">
<position>1</position>
<size>2</size>
<units>
<unit name="V" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="RMS Current 6" type="num" dir="inp">
<position>3</position>
<size>2</size>
<units>
<unit name="A" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Apparent power 6" type="num" dir="inp">
<position>5</position>
<size>2</size>
<units>
<unit name="VA" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Active power 6" type="num" dir="inp">
<position>7</position>
<size>2</size>
<units>
<unit name="W" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="Power factor 6" type="num" dir="inp">
<position>9</position>
<size>1</size>
<units>
<unit name="" factor="0.01" offset="0"/>
</units>
</endpoint>
<endpoint name="Energy consumption 6" type="num" dir="inp">
<position>10</position>
<size>4</size>
<units>
<unit name="KWh" factor="0.01" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Pulse counter 0" id="25">
<endpoint name="Counter 0" type="num" dir="inp">
<position>0</position>
<size>4</size>
<units>
<unit name="KWh" factor="0.01" offset="0"/>
<unit name="lpm" factor="0.01" offset="0"/>
<unit name="gpm" factor="0.01" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Pulse counter 1" id="26">
<endpoint name="Counter 1" type="num" dir="inp">
<position>0</position>
<size>4</size>
<units>
<unit name="KWh" factor="0.01" offset="0"/>
<unit name="lpm" factor="0.01" offset="0"/>
<unit name="gpm" factor="0.01" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Pulse counter 2" id="27">
<endpoint name="Counter 2" type="num" dir="inp">
<position>0</position>
<size>4</size>
<units>
<unit name="KWh" factor="0.01" offset="0"/>
<unit name="lpm" factor="0.01" offset="0"/>
<unit name="gpm" factor="0.01" offset="0"/>
</units>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,23 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>Pulse counter</product>
<pwrdownmode>true</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Counter register" id="12">
<endpoint name="Pulse counter" type="num" dir="inp">
<position>0</position>
<size>4</size>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,33 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>Programmable pulse generator</product>
<pwrdownmode>false</pwrdownmode>
<regular>
<reg name="Output frequency 0" id="11">
<endpoint name="Frequency 0" type="num" dir="out">
<position>0</position>
<size>1</size>
</endpoint>
</reg>
<reg name="Output frequency 1" id="12">
<endpoint name="Frequency 1" type="num" dir="out">
<position>0</position>
<size>1</size>
</endpoint>
</reg>
<reg name="Output frequency 2" id="13">
<endpoint name="Frequency 2" type="num" dir="out">
<position>0</position>
<size>1</size>
</endpoint>
</reg>
<reg name="Output frequency 3" id="14">
<endpoint name="Frequency 3" type="num" dir="out">
<position>0</position>
<size>1</size>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,50 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>RESPIRA air quality monitor</product>
<pwrdownmode>false</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Humidity and Temperature" id="12">
<endpoint name="Temperature" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="-50"/>
<unit name="F" factor="0.18" offset="-18"/>
<unit name="K" factor="0.1" offset="223.15"/>
</units>
</endpoint>
<endpoint name="Humidity" type="num" dir="inp">
<position>2</position>
<size>2</size>
<units>
<unit name="%" factor="0.1" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Air quality" id="13">
<endpoint name="CO concentration" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="ppm" factor="1" offset="0"/>
</units>
</endpoint>
<endpoint name="NO2 concentration" type="num" dir="inp">
<position>2</position>
<size>2</size>
<units>
<unit name="ppb" factor="1" offset="0"/>
</units>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,25 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>RGB LED controller</product>
<pwrdownmode>false</pwrdownmode>
<regular>
<reg name="RGB" id="11">
<endpoint name="RGBlevel" type="num" dir="out">
<size>3</size>
</endpoint>
<endpoint name="Red" type="num" dir="out">
<position>0</position>
<size>1</size>
</endpoint>
<endpoint name="Green" type="num" dir="out">
<position>1</position>
<size>1</size>
</endpoint>
<endpoint name="Blue" type="num" dir="out">
<position>2</position>
<size>1</size>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>Soil moisture sensor</product>
<pwrdownmode>true</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Moisture" id="12">
<endpoint name="Moisture level 0" type="num" dir="inp">
<position>0</position>
<size>2</size>
</endpoint>
<endpoint name="Moisture level 1" type="num" dir="inp">
<position>2</position>
<size>2</size>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,27 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>Temperature sensor</product>
<pwrdownmode>true</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Temperature" id="12">
<endpoint name="Temperature" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="-50"/>
<unit name="F" factor="0.18" offset="-58"/>
<unit name="K" factor="0.1" offset="223.15"/>
</units>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,34 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>Dual Temperature-Humidity sensor</product>
<pwrdownmode>true</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Humidity and Temperature" id="12">
<endpoint name="Temperature" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="-50"/>
<unit name="F" factor="0.18" offset="-58"/>
<unit name="K" factor="0.1" offset="223.15"/>
</units>
</endpoint>
<endpoint name="Humidity" type="num" dir="inp">
<position>2</position>
<size>2</size>
<units>
<unit name="%" factor="0.1" offset="0"/>
</units>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,36 @@
<?xml version="1.0"?>
<device>
<developer>panStamp</developer>
<product>Dual Temperature-Barometric pressure sensor</product>
<pwrdownmode>true</pwrdownmode>
<regular>
<reg name="Voltage supply" id="11">
<endpoint name="Voltage" type="num" dir="inp">
<size>2</size>
<units>
<unit name="V" factor="0.001" offset="0"/>
</units>
</endpoint>
</reg>
<reg name="Temperature and Pressure" id="12">
<endpoint name="Temperature" type="num" dir="inp">
<position>0</position>
<size>2</size>
<units>
<unit name="C" factor="0.1" offset="-50"/>
<unit name="F" factor="0.18" offset="-58"/>
<unit name="K" factor="0.1" offset="223.15"/>
</units>
</endpoint>
<endpoint name="Pressure" type="num" dir="inp">
<position>2</position>
<size>4</size>
<units>
<unit name="mbar" factor="0.01" offset="0"/>
<unit name="Pa" factor="1" offset="0"/>
<unit name="bar" factor="0.00001" offset="0"/>
</units>
</endpoint>
</reg>
</regular>
</device>

View File

@ -0,0 +1,44 @@
<?xml version="1.0"?>
<device>
<developer>Developer_name</developer>
<product>Product name or short description</product>
<!-- pwrdownmode: power-down flag. If true, this device sleeps between transmissions.
Otherwise, it continuously listens to the SWAP network -->
<pwrdownmode>true/false</pwrdownmode>
<!-- Configuration section -->
<config>
<!-- Configuration register. Register ID's start from 11 -->
<reg name="Register name" id="reg_id">
<!-- Configuration parameter -->
<!-- Type of parameter: "bin": Binary, "num": Number, "str": String -->
<param name="Parameter name" type="bin|num|str">
<!-- position: byte.bit (format: B.b or B) position of the parameter within the register -->
<position>B.b</position>
<!-- size: size in bytes.bits (format: B.b or B) of the parameter within the register -->
<size>B.b</size>
<!-- default: default value -->
<default>default value</default>
</param>
</reg>
</config>
<!-- Regular endpoint section. Here comes sensor readings, actuator states, etc. -->
<regular>
<!-- Regular register. Register ID's start from 11 -->
<reg name="Register name" id="reg_id">
<!-- Endpoint -->
<!-- Type of endpoint: "bin": Binary, "num": Number, "str": String -->
<!-- Direction: "inp": input, "out": output -->
<endpoint name="Endpoint name" type="bin|num|str" dir="inp|out">
<!-- position: byte.bit (format: B.b or B) position of the endpoint within the register -->
<position>B.b</position>
<!-- size: size in bytes.bits (format: B.b or B) of the endpoint within the register -->
<size>B.b</size>
<!-- units: list of units for this endpoint -->
<units>
<!-- unit. Value to be displayed = factor * (endpoint value) + offset name -->
<unit name="name" factor="+-F.f" offset="+-O.o"/>
</units>
</endpoint>
</reg>
</regular>
</device>

View File

@ -85,6 +85,8 @@ FHEM/31_HUEDevice.pm justme1968 http://forum.fhem.de Sonstige
FHEM/31_LightScene.pm justme1968 http://forum.fhem.de Automatisierung FHEM/31_LightScene.pm justme1968 http://forum.fhem.de Automatisierung
FHEM/32_SYSSTAT.pm justme1968 http://forum.fhem.de Unterstützende Dienste FHEM/32_SYSSTAT.pm justme1968 http://forum.fhem.de Unterstützende Dienste
FHEM/32_speedtest.pm justme1968 http://forum.fhem.de Sonstiges FHEM/32_speedtest.pm justme1968 http://forum.fhem.de Sonstiges
FHEM/34_panStamp.pm justme1968 http://forum.fhem.de Sonstiges Systeme
FHEM/34_SWAP.pm justme1968 http://forum.fhem.de Sonstiges Systeme
FHEM/40_RFXCOM.pm wherzig http://forum.fhem.de RFXTRX FHEM/40_RFXCOM.pm wherzig http://forum.fhem.de RFXTRX
FHEM/41_OREGON.pm wherzig http://forum.fhem.de Sonstiges FHEM/41_OREGON.pm wherzig http://forum.fhem.de Sonstiges
FHEM/42_RFXMETER.pm wherzig http://forum.fhem.de RFXTRX FHEM/42_RFXMETER.pm wherzig http://forum.fhem.de RFXTRX