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:
erichardso
2018-08-28 11:51:23 -07:00
parent 176e2f2062
commit d880f44ca6
138 changed files with 11 additions and 0 deletions

View 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

View 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 )
#===========================================================================

View 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 )
#===========================================================================

View 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 )
#===========================================================================

View 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 )
#===========================================================================

View 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 )
#===========================================================================

View 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 )
#===========================================================================

View 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 )
#===========================================================================

View 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 )
#===========================================================================

View 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 )
#===========================================================================

View 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 )
#===========================================================================

View 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 )
#===========================================================================

View 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

View 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

View 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

View 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 )
#===========================================================================

View 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 )
#===========================================================================

View 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 )
#===========================================================================