In-Home Display (IHD) |
---|
Development | |||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Since we will be using the IHD in a manner that it was not designed for,
nor supported by the vendor, I will attempt to put everything up here I can find out.
The ultimate goal will be to be able to send messages and alerts from the CIS (Daffron)
to the IHD via TNS (TWACS), preferabley using Multispeak.
For testing, we have obtained 1 IHD, serialnumber 14680410, that is connected to meter number 76074956, which has module 16450573, and is at map location 042436. A full list of the TWACS tables can be found here. | |||||||||||||||||||||||||||||||||||||||||||||||
TWACS TNS Tables | |||||||||||||||||||||||||||||||||||||||||||||||
The following are tables in TNS that relate to the IHD.
Content of table after installation of IHD.
| |||||||||||||||||||||||||||||||||||||||||||||||
IHDMESSAGES | ||
---|---|---|
Field name | Null | Type |
MSEXID | N | NUMBER(22) |
GROUPID | N | NUMBER(22) |
PRIORITY | N | NUMBER(22) |
SERIALNUMBER | N | NUMBER(22) |
SERIALPORT | N | NUMBER(22) |
SUBID | N | NUMBER(22) |
REPEATSLEFT | N | NUMBER(22) |
FUNCCODE | N | NUMBER(22) |
CMDDATA | Y | VARCHAR2(255) |
LASTSENTDT | N | DATE(7) |
TIMEOUT | N | DATE(7) |
There are currently no records in this table.
IHDMODEXREF | ||
---|---|---|
Table: IHDMODEXREF | ||
Field name | Null | Type |
IHDMODE | N | NUMBER(22) |
DESCRIP | Y | VARCHAR2(21) |
SHORTDESC | Y | VARCHAR2(4) |
Content of table after installation of IHD.
SQL> select * from ihdmodexref; | ||
---|---|---|
IHDMODE | DESCRIP | SHOR |
---------- | --------------------- | ---- |
0 | Unconfigured | UNCF |
1 | Regular Billing | RB |
2 | Prepayment | PP |
3 | Demand Resp Notif | . DRN |
4 | Reg Bill Demand Resp | RBDR |
5 | Prepay Demand Resp | PPDR |
6 rows selected. |
IHDRSP_INPQ | ||
---|---|---|
Table: IHDRSP_INPQ | ||
Field name | Null | Type |
SUBSYSID | Y | NUMBER(22) |
PRIORITY | Y | NUMBER(22) |
STAMP | Y | DATE(7) |
USERNAME | Y | VARCHAR2(32) |
GROUPID | Y | NUMBER(22) |
PRI | Y | NUMBER(22) |
TNSCMDTIMEOUT | Y | DATE(7) |
SUBCMDTIMEOUT | Y | NUMBER(22) |
SUBID | Y | NUMBER(22) |
MSEXID | Y | NUMBER(22) |
SUBEXID | Y | NUMBER(22) |
FUNCCODE | Y | NUMBER(22) |
EXTYPE | Y | NUMBER(22) |
UTILACCTID | Y | NUMBER(22) |
CMDDATA | Y | VARCHAR2(255) |
IHDSVR_INPQ | ||
---|---|---|
Table: IHDSVR_INPQ | ||
Field name | Null | Type |
SUBSYSID | Y | NUMBER(22) |
PRIORITY | Y | NUMBER(22) |
STAMP | Y | DATE(7) |
USERNAME | Y | VARCHAR2(32) |
GROUPID | Y | NUMBER(22) |
PRI | Y | NUMBER(22) |
TNSCMDTIMEOUT | Y | DATE(7) |
SUBCMDTIMEOUT | Y | NUMBER(22) |
SUBID | Y | NUMBER(22) |
MSEXID | Y | NUMBER(22) |
SUBEXID | Y | NUMBER(22) |
FUNCCODE | Y | NUMBER(22) |
EXTYPE | Y | NUMBER(22) |
UTILACCTID | Y | NUMBER(22) |
CMDDATA | Y | VARCHAR2(255) |
Results of IHDSVR_INPQ after issuing a Prepay configure message:
Select * from ihdsvr_inpq; | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SUB SYS ID | PRIORITY | STAMP | USERNAME | GROUPID | PRI | TNS CMD TIM | SUB TIME OUT | SUBID | MSEXID | SUBEXID | FUNCCODE | EXTYPE | UTILACCTID | CMDDATA |
75 | -1 | 19-MAY-09 | IHD_SQLPROC | 321714 | 254 | 300 | 0 | 0 | 1 | 0 | 14680410|0 |
Results of IHDSVR_INPQ after issuing a Broadcast message:
Select * from ihdsvr_inpq; | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SUB SYS ID | PRIORITY | STAMP | USERNAME | GROUPID | PRI | TNS CMD TIM | SUB TIME OUT | SUBID | MSEXID | SUBEXID | FUNCCODE | EXTYPE | UTILACCTID | CMDDATA |
75 | -1 | 19-MAY-09 | IHD_SQLPROC | 321723 | 254 | 300 | 0 | 0 | 3 | 0 | 14680410|0|0|2|3|2|2|1|1|0|Line 2 | |||
75 | -1 | 19-MAY-09 | IHD_SQLPROC | 321721 | 254 | 300 | 0 | 0 | 3 | 0 | 14680410|0|0|2|3|2|2|0|0|1|- | |||
75 | -1 | 19-MAY-09 | IHD_SQLPROC | 321722 | 254 | 300 | 0 | 0 | 3 | 0 | 14680410|0|0|2|3|2|2|1|0|0|line 1 |
CMDDATA appears to break down as follows:
Column | Break-down |
---|---|
1 | Serialnumber |
2 | |
3 | |
4 | Expiration
0 - No expiration 1-? (Increments of 15 minutes) |
5 | Audible Alert
0 - None 1 - 1 Beep/3 Sec. 2 - 1 Beep/minute 3 - 1 Beep/15 minutes |
6 | LED State
0 - Off 2 - Flash 3 - On |
7 | |
8 | Attached Lines?
0 - none/1 line of text 1 - 2 Lines of text 2 - 3 Lines of text 3 - 4 Lines of text |
9 | Text
0 1 - Line 2 of message 2 - Line 3 of message |
10 | Index Flag?
1 - Initial Record 0 - Line 1 |
11 | Message to display |
The DeviceRelations tabl apparently associates the IOHD with the associated meter, thereby providing TNS with the communications path to communicate with the IHD.
Table: DEVICERELATIONS | |||
---|---|---|---|
Field name | Null | Type | Comments |
PRISERIALNUMBER | N | NUMBER(22) | Serialnumber of IHD |
SECSERIALNUMBER | N | NUMBER(22) | Serialnumber of associated meter (Module) |
RELATIONTYPE | N | NUMBER(22) | 1 - In-Home Display
2 - DSI Module 3 - Demand Response Unit |
USER1 | Y | VARCHAR2(17) | empty |
USER2 | Y | VARCHAR2(17) | empty |
UPDATEFLAG | Y | NUMBER(22) | empty |
The following insert command adds the IHD to the TWACS TNS System.
insert into serialnumber values
(14680410,NULL,NULL,0,0,0,0,0,0,77,11,'NONE',NULL,
SYSDATE,0,NULL,'Y','1W',SYSDATE,SYSDATE,0,0,0,0,NULL,
0,NULL,SYSDATE,NULL,NULL);
insert into devicerelations values(14680410,16450573,1,NULL,NULL,NULL);
--on the devicerelaions table (firstSN is IHD, 2nd is Associated SN)
insert into serialportref (serialnumber,serialport,prepayflag) values(14680395,0,1);
insert into serialport values(14680410,0,NULL,NULL,SYSDATE,SYSDATE,0,NULL,'Y',0,NULL,SYSDATE,NULL,NULL);
insert into ihdaccts values(14680410,0,0,NULL,0,'EN','US',3);