import json
import PySAM.BatteryStateful as battery


b = battery.default('LMOLTO')

b.value('control_mode', 1)

b.value('initial_SOC', 20)

b.value('minimum_SOC', 20)

b.value('maximum_SOC', 90)

b.value('input_power', -4)

b.value('dt_hr', 1/60)  # Run simulation every minute

b.setup()

print(b.export()['StatePack']["SOC"], 'Initial SOC')

with open('./XXXX123-test.json', 'w') as f:

    json.dump(b.export(), f, ensure_ascii=False, indent=4)

f.close()

with open('./XXXX123-test.json', 'r') as t:
    unmarshalledBattery = json.load(t)


b = battery.new()

for state in unmarshalledBattery.keys():
    for k, v in unmarshalledBattery[state].items():
        b.value(k, v)

b.setup()

b.execute(1)

print(b.export()['StatePack']["SOC"], '2nd SOC')

b.execute(1)

print(b.export()['StatePack']["SOC"], '3rd SOC')
