1 package net.sf.mbus4j.slaves;
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 import java.util.logging.Logger;
32 import net.sf.mbus4j.MasterStreams;
33 import net.sf.mbus4j.dataframes.MBusMedium;
34 import net.sf.mbus4j.log.LogUtils;
35
36 import org.junit.After;
37 import org.junit.AfterClass;
38 import static org.junit.Assert.assertTrue;
39
40 import org.junit.Before;
41 import org.junit.BeforeClass;
42 import org.junit.Ignore;
43 import org.junit.Test;
44
45
46
47
48
49
50 public class SlavesTest {
51
52 @BeforeClass
53 public static void setUpClass()
54 throws Exception {
55 }
56
57 @AfterClass
58 public static void tearDownClass()
59 throws Exception {
60 }
61 private static Logger log = LogUtils.getSlaveLogger();
62 private Slaves slaves;
63 private MasterStreams master;
64
65 public SlavesTest() {
66 }
67
68 @Before
69 public void setUp() throws Exception {
70 master = new MasterStreams(115200 / 4, 50);
71 slaves = new Slaves();
72 slaves.setConnection(master);
73 slaves.open();
74 }
75
76 @After
77 public void tearDown() throws Exception {
78 slaves.close();
79 slaves = null;
80 }
81
82
83
84
85 @Test(timeout = 10000)
86 @Ignore
87 public void testUserDataResponse()
88 throws Exception {
89 System.out.println("userDataResponse");
90
91 Slave slave = new Slave(0x01, 12345678, "AMK", 0, MBusMedium.OTHER);
92 slaves.addSlave(slave);
93 slave = new Slave(0x0F, 01234567, "AMK", 0, MBusMedium.OTHER);
94 slaves.addSlave(slave);
95 slave = new Slave(0x10, 00123456, "AMK", 0, MBusMedium.OTHER);
96 slaves.addSlave(slave);
97 slave = new Slave(0xFA, 00012345, "AMK", 0, MBusMedium.OTHER);
98 slaves.addSlave(slave);
99 master.sendRequestAndCollectResponse("107B017C16", "680F0F6808017278563412AB050000000000003F16");
100 master.sendRequestAndCollectResponse("107B017C16", "680F0F6808017278563412AB050000010000004016");
101 master.replay();
102
103 synchronized (master) {
104 master.wait();
105 }
106
107 assertTrue(master.isOK());
108
109
110
111 }
112
113
114
115
116 @Test(timeout = 60000)
117 @Ignore
118 public void testWidcardSearch()
119 throws Exception {
120 System.out.println("widcardSearch");
121 slaves.addSlave(new Slave(0x01, 14491001, "DBW", 1, MBusMedium.HOT_WATER));
122 slaves.addSlave(new Slave(0x01, 14491008, "QKG", 1, MBusMedium.HOT_WATER));
123 slaves.addSlave(new Slave(0x01, 32104833, "H@P", 1, MBusMedium.ELECTRICITY));
124 slaves.addSlave(new Slave(0x01, 76543210, "H@P", 1, MBusMedium.GAS));
125
126 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF0FFFFFFFFFAA16", 100, 3);
127 master.sendRequestAndCollectResponse("680B0B6853FD52FFFFFF1FFFFFFFFFBA16", "E5E5");
128 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF10FFFFFFFFAB16", 100, 3);
129 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF11FFFFFFFFAC16", 100, 3);
130 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF12FFFFFFFFAD16", 100, 3);
131 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF13FFFFFFFFAE16", 100, 3);
132 master.sendRequestAndCollectResponse("680B0B6853FD52FFFFFF14FFFFFFFFAF16", "E5E5");
133 master.sendRequestNoAnswer("680B0B6853FD52FFFF0F14FFFFFFFFBF16", 100, 3);
134 master.sendRequestNoAnswer("680B0B6853FD52FFFF1F14FFFFFFFFCF16", 100, 3);
135 master.sendRequestNoAnswer("680B0B6853FD52FFFF2F14FFFFFFFFDF16", 100, 3);
136 master.sendRequestNoAnswer("680B0B6853FD52FFFF3F14FFFFFFFFEF16", 100, 3);
137 master.sendRequestAndCollectResponse("680B0B6853FD52FFFF4F14FFFFFFFFFF16", "E5E5");
138 master.sendRequestNoAnswer("680B0B6853FD52FFFF4014FFFFFFFFF016", 100, 3);
139 master.sendRequestNoAnswer("680B0B6853FD52FFFF4114FFFFFFFFF116", 100, 3);
140 master.sendRequestNoAnswer("680B0B6853FD52FFFF4214FFFFFFFFF216", 100, 3);
141 master.sendRequestNoAnswer("680B0B6853FD52FFFF4314FFFFFFFFF316", 100, 3);
142 master.sendRequestNoAnswer("680B0B6853FD52FFFF4414FFFFFFFFF416", 100, 3);
143 master.sendRequestNoAnswer("680B0B6853FD52FFFF4514FFFFFFFFF516", 100, 3);
144 master.sendRequestNoAnswer("680B0B6853FD52FFFF4614FFFFFFFFF616", 100, 3);
145 master.sendRequestNoAnswer("680B0B6853FD52FFFF4714FFFFFFFFF716", 100, 3);
146 master.sendRequestNoAnswer("680B0B6853FD52FFFF4814FFFFFFFFF816", 100, 3);
147 master.sendRequestAndCollectResponse("680B0B6853FD52FFFF4914FFFFFFFFF916", "E5E5");
148 master.sendRequestNoAnswer("680B0B6853FD52FF0F4914FFFFFFFF0916", 100, 3);
149 master.sendRequestAndCollectResponse("680B0B6853FD52FF1F4914FFFFFFFF1916", "E5E5");
150 master.sendRequestAndCollectResponse("680B0B6853FD52FF104914FFFFFFFF0A16", "E5E5");
151 master.sendRequestAndCollectResponse("680B0B6853FD520F104914FFFFFFFF1A16", "E5E5");
152 master.sendRequestNoAnswer("680B0B6853FD5200104914FFFFFFFF0B16", 100, 3);
153 master.sendRequestAndCollectResponse("680B0B6853FD5201104914FFFFFFFF0C16", "E5");
154 master.sendRequestAndCollectResponse("105BFD5816", "680F0F680801720110491457100106000000005716");
155 master.sendRequestNoAnswer("680B0B6853FD5202104914FFFFFFFF0D16", 100, 3);
156 master.sendRequestNoAnswer("680B0B6853FD5203104914FFFFFFFF0E16", 100, 3);
157 master.sendRequestNoAnswer("680B0B6853FD5204104914FFFFFFFF0F16", 100, 3);
158 master.sendRequestNoAnswer("680B0B6853FD5205104914FFFFFFFF1016", 100, 3);
159 master.sendRequestNoAnswer("680B0B6853FD5206104914FFFFFFFF1116", 100, 3);
160 master.sendRequestNoAnswer("680B0B6853FD5207104914FFFFFFFF1216", 100, 3);
161 master.sendRequestAndCollectResponse("680B0B6853FD5208104914FFFFFFFF1316", "E5");
162 master.sendRequestAndCollectResponse("105BFD5816", "680F0F68080172081049146745010600000000A316");
163 master.sendRequestNoAnswer("680B0B6853FD5209104914FFFFFFFF1416", 100, 3);
164 master.sendRequestNoAnswer("680B0B6853FD521F104914FFFFFFFF2A16", 100, 3);
165 master.sendRequestNoAnswer("680B0B6853FD522F104914FFFFFFFF3A16", 100, 3);
166 master.sendRequestNoAnswer("680B0B6853FD523F104914FFFFFFFF4A16", 100, 3);
167 master.sendRequestNoAnswer("680B0B6853FD524F104914FFFFFFFF5A16", 100, 3);
168 master.sendRequestNoAnswer("680B0B6853FD525F104914FFFFFFFF6A16", 100, 3);
169 master.sendRequestNoAnswer("680B0B6853FD526F104914FFFFFFFF7A16", 100, 3);
170 master.sendRequestNoAnswer("680B0B6853FD527F104914FFFFFFFF8A16", 100, 3);
171 master.sendRequestNoAnswer("680B0B6853FD528F104914FFFFFFFF9A16", 100, 3);
172 master.sendRequestNoAnswer("680B0B6853FD529F104914FFFFFFFFAA16", 100, 3);
173 master.sendRequestNoAnswer("680B0B6853FD52FF114914FFFFFFFF0B16", 100, 3);
174 master.sendRequestNoAnswer("680B0B6853FD52FF124914FFFFFFFF0C16", 100, 3);
175 master.sendRequestNoAnswer("680B0B6853FD52FF134914FFFFFFFF0D16", 100, 3);
176 master.sendRequestNoAnswer("680B0B6853FD52FF144914FFFFFFFF0E16", 100, 3);
177 master.sendRequestNoAnswer("680B0B6853FD52FF154914FFFFFFFF0F16", 100, 3);
178 master.sendRequestNoAnswer("680B0B6853FD52FF164914FFFFFFFF1016", 100, 3);
179 master.sendRequestNoAnswer("680B0B6853FD52FF174914FFFFFFFF1116", 100, 3);
180 master.sendRequestNoAnswer("680B0B6853FD52FF184914FFFFFFFF1216", 100, 3);
181 master.sendRequestNoAnswer("680B0B6853FD52FF194914FFFFFFFF1316", 100, 3);
182 master.sendRequestNoAnswer("680B0B6853FD52FF2F4914FFFFFFFF2916", 100, 3);
183 master.sendRequestNoAnswer("680B0B6853FD52FF3F4914FFFFFFFF3916", 100, 3);
184 master.sendRequestNoAnswer("680B0B6853FD52FF4F4914FFFFFFFF4916", 100, 3);
185 master.sendRequestNoAnswer("680B0B6853FD52FF5F4914FFFFFFFF5916", 100, 3);
186 master.sendRequestNoAnswer("680B0B6853FD52FF6F4914FFFFFFFF6916", 100, 3);
187 master.sendRequestNoAnswer("680B0B6853FD52FF7F4914FFFFFFFF7916", 100, 3);
188 master.sendRequestNoAnswer("680B0B6853FD52FF8F4914FFFFFFFF8916", 100, 3);
189 master.sendRequestNoAnswer("680B0B6853FD52FF9F4914FFFFFFFF9916", 100, 3);
190 master.sendRequestNoAnswer("680B0B6853FD52FFFF5F14FFFFFFFF0F16", 100, 3);
191 master.sendRequestNoAnswer("680B0B6853FD52FFFF6F14FFFFFFFF1F16", 100, 3);
192 master.sendRequestNoAnswer("680B0B6853FD52FFFF7F14FFFFFFFF2F16", 100, 3);
193 master.sendRequestNoAnswer("680B0B6853FD52FFFF8F14FFFFFFFF3F16", 100, 3);
194 master.sendRequestNoAnswer("680B0B6853FD52FFFF9F14FFFFFFFF4F16", 100, 3);
195 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF15FFFFFFFFB016", 100, 3);
196 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF16FFFFFFFFB116", 100, 3);
197 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF17FFFFFFFFB216", 100, 3);
198 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF18FFFFFFFFB316", 100, 3);
199 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF19FFFFFFFFB416", 100, 3);
200 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF2FFFFFFFFFCA16", 100, 3);
201 master.sendRequestAndCollectResponse("680B0B6853FD52FFFFFF3FFFFFFFFFDA16", "E5");
202 master.sendRequestAndCollectResponse("105BFD5816", "680F0F680801723348103210200102000000006B16");
203 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF4FFFFFFFFFEA16", 100, 3);
204 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF5FFFFFFFFFFA16", 100, 3);
205 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF6FFFFFFFFF0A16", 100, 3);
206 master.sendRequestAndCollectResponse("680B0B6853FD52FFFFFF7FFFFFFFFF1A16", "E5");
207 master.sendRequestAndCollectResponse("105BFD5816", "680F0F68080172103254761020010300000000BB16");
208 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF8FFFFFFFFF2A16", 100, 3);
209 master.sendRequestNoAnswer("680B0B6853FD52FFFFFF9FFFFFFFFF3A16", 100, 3);
210 master.replay();
211
212 synchronized (master) {
213 master.wait();
214 }
215
216 assertTrue(master.isOK());
217 log.info("widcardSearch finished");
218 }
219 }