Moved Docker stuff to "Docker" folder
Created k8s folder for k8s stuff Added early-stage service.yaml for K8s deployment
This commit is contained in:
16
Docker/src/python/tHome/sma/test/FakeSocket.py
Normal file
16
Docker/src/python/tHome/sma/test/FakeSocket.py
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
class FakeSocket:
|
||||
def __init__( self, reply ):
|
||||
self.sent = None
|
||||
self.reply = reply
|
||||
self.closed = False
|
||||
|
||||
def send( self, bytes ):
|
||||
self.sent = bytes
|
||||
|
||||
def recv( self, bufLen ):
|
||||
return self.reply
|
||||
|
||||
def close( self ):
|
||||
self.closed = True
|
||||
|
||||
51
Docker/src/python/tHome/sma/test/acMaxPower.py
Normal file
51
Docker/src/python/tHome/sma/test/acMaxPower.py
Normal file
@@ -0,0 +1,51 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestAcMaxPower ( T.util.test.Case ) :
|
||||
def test_acMaxPower( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 7A 00 10 60 65 1E 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
0B 80 01 02 00 51 01 00 00 00
|
||||
03 00 00 00 01 1E 41 00 82 22
|
||||
AF 53 88 13 00 00 88 13 00 00
|
||||
88 13 00 00 88 13 00 00 01 00
|
||||
00 00 01 1F 41 00 82 22 AF 53
|
||||
88 13 00 00 88 13 00 00 00 00
|
||||
00 00 88 13 00 00 00 00 00 00
|
||||
01 20 41 00 82 22 AF 53 88 13
|
||||
00 00 88 13 00 00 00 00 00 00
|
||||
88 13 00 00 00 00 00 00 00 00
|
||||
00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.acMaxPower()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.acMaxPower()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
acMaxPower1 = 5000.0,
|
||||
acMaxPower2 = 5000.0,
|
||||
acMaxPower3 = 5000.0,
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
51
Docker/src/python/tHome/sma/test/acPower.py
Normal file
51
Docker/src/python/tHome/sma/test/acPower.py
Normal file
@@ -0,0 +1,51 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestAcPower ( T.util.test.Case ) :
|
||||
def test_acPower( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 7A 00 10 60 65 1E 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
10 80 01 02 00 51 07 00 00 00
|
||||
09 00 00 00 01 40 46 40 86 22
|
||||
AF 53 B5 07 00 00 B5 07 00 00
|
||||
B5 07 00 00 B5 07 00 00 01 00
|
||||
00 00 01 41 46 40 86 22 AF 53
|
||||
B5 07 00 00 B5 07 00 00 B5 07
|
||||
00 00 B5 07 00 00 01 00 00 00
|
||||
01 42 46 40 86 22 AF 53 00 00
|
||||
00 80 00 00 00 80 00 00 00 80
|
||||
00 00 00 80 01 00 00 00 00 00
|
||||
00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.acPower()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.acPower()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
acPower1 = 1973.0,
|
||||
acPower2 = 1973.0,
|
||||
acPower3 = 0.0,
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
44
Docker/src/python/tHome/sma/test/acTotalEnergy.py
Normal file
44
Docker/src/python/tHome/sma/test/acTotalEnergy.py
Normal file
@@ -0,0 +1,44 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestAcTotalEnergy ( T.util.test.Case ) :
|
||||
def test_acTotalEnergy( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 46 00 10 60 65 11 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
0C 80 01 02 00 54 00 00 00 00
|
||||
01 00 00 00 01 01 26 00 85 22
|
||||
AF 53 D0 6A 09 00 00 00 00 00
|
||||
01 22 26 00 82 22 AF 53 2F 3B
|
||||
00 00 00 00 00 00 00 00 00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.acTotalEnergy()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.acTotalEnergy()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
totalEnergy = 617168.0,
|
||||
dailyEnergy = 15151.0,
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
43
Docker/src/python/tHome/sma/test/acTotalPower.py
Normal file
43
Docker/src/python/tHome/sma/test/acTotalPower.py
Normal file
@@ -0,0 +1,43 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestAcTotalPower ( T.util.test.Case ) :
|
||||
def test_acTotalPower( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 42 00 10 60 65 10 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
12 80 01 02 00 51 00 00 00 00
|
||||
00 00 00 00 01 3F 26 40 86 22
|
||||
AF 53 6A 0F 00 00 6A 0F 00 00
|
||||
6A 0F 00 00 6A 0F 00 00 01 00
|
||||
00 00 00 00 00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.acTotalPower()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.acTotalPower()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
acPower = 3946.0,
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
73
Docker/src/python/tHome/sma/test/acVoltage.py
Normal file
73
Docker/src/python/tHome/sma/test/acVoltage.py
Normal file
@@ -0,0 +1,73 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestAcVoltage ( T.util.test.Case ) :
|
||||
def test_acVoltage( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 01 22 00 10 60 65 48 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
11 80 01 02 00 51 0A 00 00 00
|
||||
12 00 00 00 01 48 46 00 86 22
|
||||
AF 53 A6 2F 00 00 A6 2F 00 00
|
||||
A6 2F 00 00 A6 2F 00 00 01 00
|
||||
00 00 01 49 46 00 86 22 AF 53
|
||||
9B 2F 00 00 9B 2F 00 00 9B 2F
|
||||
00 00 9B 2F 00 00 01 00 00 00
|
||||
01 4A 46 00 86 22 AF 53 FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF 01 00 00 00 01 4B
|
||||
46 00 86 22 AF 53 43 5F 00 00
|
||||
43 5F 00 00 43 5F 00 00 43 5F
|
||||
00 00 01 00 00 00 01 4C 46 00
|
||||
86 22 AF 53 FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF
|
||||
01 00 00 00 01 4D 46 00 86 22
|
||||
AF 53 FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF 01 00
|
||||
00 00 01 50 46 00 86 22 AF 53
|
||||
35 3F 00 00 35 3F 00 00 35 3F
|
||||
00 00 35 3F 00 00 01 00 00 00
|
||||
01 51 46 00 86 22 AF 53 35 3F
|
||||
00 00 35 3F 00 00 35 3F 00 00
|
||||
35 3F 00 00 01 00 00 00 01 52
|
||||
46 00 86 22 AF 53 FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF 01 00 00 00 00 00 00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.acVoltage()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.acVoltage()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
acVoltage1 = 121.98,
|
||||
acVoltage2 = 121.87,
|
||||
acVoltage3 = 0,
|
||||
acGridVoltage = 243.87,
|
||||
unknown1 = 0,
|
||||
unknown2 = 0,
|
||||
acCurrent1 = 16.181,
|
||||
acCurrent2 = 16.181,
|
||||
acCurrent3 = 0,
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
47
Docker/src/python/tHome/sma/test/dcPower.py
Normal file
47
Docker/src/python/tHome/sma/test/dcPower.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestDcPower ( T.util.test.Case ) :
|
||||
def test_dcPower( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 5E 00 10 60 65 17 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
0E 80 01 02 80 53 00 00 00 00
|
||||
01 00 00 00 01 1E 25 40 85 22
|
||||
AF 53 13 08 00 00 13 08 00 00
|
||||
13 08 00 00 13 08 00 00 01 00
|
||||
00 00 02 1E 25 40 85 22 AF 53
|
||||
21 08 00 00 21 08 00 00 21 08
|
||||
00 00 21 08 00 00 01 00 00 00
|
||||
00 00 00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.dcPower()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.dcPower()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
dcPower1 = 2067.0,
|
||||
dcPower2 = 2081.0,
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
54
Docker/src/python/tHome/sma/test/dcVoltage.py
Normal file
54
Docker/src/python/tHome/sma/test/dcVoltage.py
Normal file
@@ -0,0 +1,54 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestDcVoltage ( T.util.test.Case ) :
|
||||
def test_dcVoltage( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 96 00 10 60 65 25 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
0F 80 01 02 80 53 02 00 00 00
|
||||
05 00 00 00 01 1F 45 40 85 22
|
||||
AF 53 B1 5E 00 00 B1 5E 00 00
|
||||
B1 5E 00 00 B1 5E 00 00 01 00
|
||||
00 00 02 1F 45 40 85 22 AF 53
|
||||
D5 5E 00 00 D5 5E 00 00 D5 5E
|
||||
00 00 D5 5E 00 00 01 00 00 00
|
||||
01 21 45 40 85 22 AF 53 51 21
|
||||
00 00 51 21 00 00 51 21 00 00
|
||||
51 21 00 00 01 00 00 00 02 21
|
||||
45 40 85 22 AF 53 7D 21 00 00
|
||||
7D 21 00 00 7D 21 00 00 7D 21
|
||||
00 00 01 00 00 00 00 00 00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.dcVoltage()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.dcVoltage()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
dcVoltage1 = 242.41,
|
||||
dcVoltage2 = 242.77,
|
||||
dcCurrent1 = 8.529,
|
||||
dcCurrent2 = 8.573,
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
43
Docker/src/python/tHome/sma/test/gridFrequency.py
Normal file
43
Docker/src/python/tHome/sma/test/gridFrequency.py
Normal file
@@ -0,0 +1,43 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestGridFrequency ( T.util.test.Case ) :
|
||||
def test_gridFrequency( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 42 00 10 60 65 10 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
13 80 01 02 00 51 13 00 00 00
|
||||
13 00 00 00 01 57 46 00 86 22
|
||||
AF 53 6C 17 00 00 6C 17 00 00
|
||||
6C 17 00 00 6C 17 00 00 01 00
|
||||
00 00 00 00 00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.gridFrequency()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.gridFrequency()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
frequency = 59.96,
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
44
Docker/src/python/tHome/sma/test/gridRelayStatus.py
Normal file
44
Docker/src/python/tHome/sma/test/gridRelayStatus.py
Normal file
@@ -0,0 +1,44 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestGridRelayStatus ( T.util.test.Case ) :
|
||||
def test_GridRelayStatus( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 4E 00 10 60 65 13 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
0A 80 01 02 80 51 06 00 00 00
|
||||
06 00 00 00 01 64 41 08 85 22
|
||||
AF 53 33 00 00 01 37 01 00 00
|
||||
FD FF FF 00 FE FF FF 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.gridRelayStatus()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.gridRelayStatus()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
gridStatus = 'Closed',
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
58
Docker/src/python/tHome/sma/test/info.py
Normal file
58
Docker/src/python/tHome/sma/test/info.py
Normal file
@@ -0,0 +1,58 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestInfo ( T.util.test.Case ) :
|
||||
def test_info( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 C6 00 10 60 65 31 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
05 80 01 02 00 58 00 00 00 00
|
||||
03 00 00 00 01 1E 82 10 82 19
|
||||
AF 53 53 4E 3A 20 31 39 31 33
|
||||
30 30 36 30 34 38 00 00 10 00
|
||||
00 00 10 00 00 00 00 00 00 00
|
||||
00 00 00 00 01 1F 82 08 82 19
|
||||
AF 53 41 1F 00 01 42 1F 00 00
|
||||
FE FF FF 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 01 20 82 08 82 19
|
||||
AF 53 EE 23 00 00 EF 23 00 00
|
||||
F0 23 00 00 F1 23 00 01 F2 23
|
||||
00 00 F3 23 00 00 F4 23 00 00
|
||||
F5 23 00 00 01 20 82 08 82 19
|
||||
AF 53 FE FF FF 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False, raw=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.info()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.info()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
name = 'SN: 1913006048',
|
||||
model = 'SB 5000TLUS-22',
|
||||
type = 'Solar Inverter',
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
44
Docker/src/python/tHome/sma/test/operationTime.py
Normal file
44
Docker/src/python/tHome/sma/test/operationTime.py
Normal file
@@ -0,0 +1,44 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestOperationTime ( T.util.test.Case ) :
|
||||
def test_OperationTime( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 46 00 10 60 65 11 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
0D 80 01 02 00 54 03 00 00 00
|
||||
04 00 00 00 01 2E 46 00 85 22
|
||||
AF 53 00 FA 0E 00 00 00 00 00
|
||||
01 2F 46 00 85 22 AF 53 42 97
|
||||
0E 00 00 00 00 00 00 00 00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.operationTime()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.operationTime()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
operationTime = 981504.0,
|
||||
feedTime = 956226.0,
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
9
Docker/src/python/tHome/sma/test/real/energy.py
Executable file
9
Docker/src/python/tHome/sma/test/real/energy.py
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import tHome as T
|
||||
|
||||
#T.util.log.get( 'sma', 10, 'stdout' )
|
||||
|
||||
r = T.sma.report.energy( ip="192.168.1.14" )
|
||||
print "=================="
|
||||
print r
|
||||
9
Docker/src/python/tHome/sma/test/real/full.py
Executable file
9
Docker/src/python/tHome/sma/test/real/full.py
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import tHome as T
|
||||
|
||||
#T.util.log.get( 'sma', 10, 'stdout' )
|
||||
|
||||
r = T.sma.report.full( ip="192.168.1.14" )
|
||||
print "=================="
|
||||
print r
|
||||
9
Docker/src/python/tHome/sma/test/real/power.py
Executable file
9
Docker/src/python/tHome/sma/test/real/power.py
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import tHome as T
|
||||
|
||||
#T.util.log.get( 'sma', 10, 'stdout' )
|
||||
|
||||
r = T.sma.report.power( ip="192.168.1.14" )
|
||||
print "=================="
|
||||
print r
|
||||
44
Docker/src/python/tHome/sma/test/status.py
Normal file
44
Docker/src/python/tHome/sma/test/status.py
Normal file
@@ -0,0 +1,44 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestStatus ( T.util.test.Case ) :
|
||||
def test_status( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 4E 00 10 60 65 13 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
08 80 01 02 80 51 00 00 00 00
|
||||
00 00 00 00 01 48 21 08 82 22
|
||||
AF 53 23 00 00 00 2F 01 00 00
|
||||
33 01 00 01 C7 01 00 00 FE FF
|
||||
FF 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.status()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.status()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
status = 'Ok',
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
43
Docker/src/python/tHome/sma/test/temp.py
Normal file
43
Docker/src/python/tHome/sma/test/temp.py
Normal file
@@ -0,0 +1,43 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestTemp ( T.util.test.Case ) :
|
||||
def test_temp( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 42 00 10 60 65 10 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
09 80 01 02 00 52 00 00 00 00
|
||||
00 00 00 00 01 77 23 40 44 22
|
||||
AF 53 AC 1B 00 00 B6 1B 00 00
|
||||
B2 1B 00 00 B2 1B 00 00 01 00
|
||||
00 00 00 00 00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.temperature()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.temperature()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
temperature = 70.84,
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
44
Docker/src/python/tHome/sma/test/version.py
Normal file
44
Docker/src/python/tHome/sma/test/version.py
Normal file
@@ -0,0 +1,44 @@
|
||||
import unittest
|
||||
from FakeSocket import FakeSocket
|
||||
import tHome as T
|
||||
|
||||
#===========================================================================
|
||||
|
||||
#===========================================================================
|
||||
class TestVersion ( T.util.test.Case ) :
|
||||
def test_version( self ):
|
||||
reply = """
|
||||
53 4D 41 00 00 04 02 A0 00 00
|
||||
00 01 00 4E 00 10 60 65 13 90
|
||||
7D 00 AB 94 40 3B 00 A0 F7 00
|
||||
E0 27 06 72 00 00 00 00 00 00
|
||||
04 80 01 02 00 58 07 00 00 00
|
||||
07 00 00 00 01 34 82 00 94 19
|
||||
AF 53 00 00 00 00 00 00 00 00
|
||||
FE FF FF FF FE FF FF FF 04 06
|
||||
60 02 04 06 60 02 00 00 00 00
|
||||
00 00 00 00 00 00 00 00
|
||||
"""
|
||||
l = T.sma.Link( "fake", connect=False )
|
||||
try:
|
||||
l.socket = FakeSocket( T.util.hex.toBytes( reply ) )
|
||||
o1 = l.version()
|
||||
|
||||
l.decode = False
|
||||
buf, decoder = l.version()
|
||||
o2 = decoder( buf )
|
||||
finally:
|
||||
l.socket = None
|
||||
|
||||
right = T.util.Data(
|
||||
version = '02.60.06.R',
|
||||
)
|
||||
|
||||
print o1
|
||||
|
||||
for k in right.keys():
|
||||
r = right[k]
|
||||
self.eq( getattr( o1, k ), r, k )
|
||||
self.eq( getattr( o2, k ), r, k )
|
||||
|
||||
#===========================================================================
|
||||
Reference in New Issue
Block a user