ocpp and knx homelynk - bvb - 11.10.2021
I have a charge point that works with ocpp. I wanna connect it to my homelynk and operated with knx but i don't know how to connect it .
Any idea?
RE: ocpp and knx homelynk - Erwin van der Zwart - 11.10.2021
Do you have a SE charger? If yes you could use Modbus IP in the scenario.. I haven't seen any direct implementation of the open charge point protocol until now but with our chargers we use Modbus for local status and control and use OCPP only to connect the device to a public enabled platform.
RE: ocpp and knx homelynk - Kilogica - 12.10.2021
Hello Erwin,
I have one question: we have an EVF2S22P44R by SE, is it natively Modbus TCP compatible or not? And if not, is there some add-on to provide for making it compatible?
Thank you for your help
RE: ocpp and knx homelynk - bvb - 12.10.2021
(11.10.2021, 22:52)Erwin van der Zwart Wrote: Do you have a SE charger? If yes you could use Modbus IP in the scenario.. I haven't seen any direct implementation of the open charge point protocol until now but with our chargers we use Modbus for local status and control and use OCPP only to connect the device to a public enabled platform.
No, I cant use Modbus, that's my problem.
RE: ocpp and knx homelynk - Erwin van der Zwart - 13.10.2021
(12.10.2021, 07:38)Kilogica Wrote: Hello Erwin,
I have one question: we have an EVF2S22P44R by SE, is it natively Modbus TCP compatible or not? And if not, is there some add-on to provide for making it compatible?
Thank you for your help
Yes it should have modbus as i already integrated this one on a project.. I disabled the not needed registers but kept them in the script
Code: require('luamodbus')
mb = luamodbus.tcp()
-- Read Socket 1
mb:open('192.168.1.200', 502)
mb:connect()
mb:setslave(255)
--s1AL1 = mb:readregistervalue(350, 'float32', 'w') -- Current Phase 1
--s1AL2 = mb:readregistervalue(352, 'float32', 'w')
--s1AL3 = mb:readregistervalue(354, 'float32', 'w')
s1ET = mb:readregistervalue(356, 'uint32', 'w') -- Energy Total
--s1PT = mb:readregistervalue(358, 'float32', 'w') -- Current Power
--s1VL1L2 = mb:readregistervalue(360, 'float32', 'w') -- Voltage Phase 1 - Phase 2
--s1VL2L3 = mb:readregistervalue(362, 'float32', 'w')
--s1VL3L1 = mb:readregistervalue(364, 'float32', 'w')
--s1VL1N = mb:readregistervalue(366, 'float32', 'w') -- Voltage Phase 1 - Neutral
--s1VL2N = mb:readregistervalue(368, 'float32', 'w')
--s1VL3N = mb:readregistervalue(370, 'float32', 'w')
--log(s1AL1,s1AL2,s1AL3,s1ET,s1PT,s1VL1L2,s1VL2L3,s1VL3L1,s1VL1N,s1VL2N,s1VlLN)
mb:close()
-- Read Socket 2
mb:open('192.168.1.201', 502)
mb:connect()
mb:setslave(255)
--s2AL1 = mb:readregistervalue(350, 'float32', 'w')
--s2AL2 = mb:readregistervalue(352, 'float32', 'w')
--s2AL3 = mb:readregistervalue(354, 'float32', 'w')
s2ET = mb:readregistervalue(356, 'uint32', 'w')
--s2PT = mb:readregistervalue(358, 'float32', 'w')
--s2VL1L2 = mb:readregistervalue(360, 'float32', 'w')
--s2VL2L3 = mb:readregistervalue(362, 'float32', 'w')
--s2VL3L1 = mb:readregistervalue(364, 'float32', 'w')
--s2VL1N = mb:readregistervalue(366, 'float32', 'w')
--s2VL2N = mb:readregistervalue(368, 'float32', 'w')
--s2VL3N = mb:readregistervalue(370, 'float32', 'w')
--log(s2AL1,s2AL2,s2AL3,s2ET,s2PT,s2VL1L2,s2VL2L3,s2VL3L1,s2VL1N,s2VL2N,s2VL3N)
mb:close()
-- Sum Socket 1 and Socket 2
tET = s1ET + s2ET -- Sum energy total of socket 1 and 2
tETrounded = math.round(tET/1000,0) -- Total S + S2 from Wh to kWh
s1ET = math.round(s1ET/1000,0) -- Socket 1 from Wh to kWh
s2ET = math.round(s2ET/1000,0) -- Socket 2 from Wh to kWh
grp.checkupdate('4/1/22', s1ET) -- Update values
grp.checkupdate('4/1/23', s2ET)
grp.checkupdate('4/1/19', tETrounded)
RE: ocpp and knx homelynk - Kilogica - 19.10.2021
(13.10.2021, 18:21)Erwin van der Zwart Wrote: (12.10.2021, 07:38)Kilogica Wrote: Hello Erwin,
I have one question: we have an EVF2S22P44R by SE, is it natively Modbus TCP compatible or not? And if not, is there some add-on to provide for making it compatible?
Thank you for your help
Yes it should have modbus as i already integrated this one on a project.. I disabled the not needed registers but kept them in the script
Code: require('luamodbus')
mb = luamodbus.tcp()
-- Read Socket 1
mb:open('192.168.1.200', 502)
mb:connect()
mb:setslave(255)
--s1AL1 = mb:readregistervalue(350, 'float32', 'w') -- Current Phase 1
--s1AL2 = mb:readregistervalue(352, 'float32', 'w')
--s1AL3 = mb:readregistervalue(354, 'float32', 'w')
s1ET = mb:readregistervalue(356, 'uint32', 'w') -- Energy Total
--s1PT = mb:readregistervalue(358, 'float32', 'w') -- Current Power
--s1VL1L2 = mb:readregistervalue(360, 'float32', 'w') -- Voltage Phase 1 - Phase 2
--s1VL2L3 = mb:readregistervalue(362, 'float32', 'w')
--s1VL3L1 = mb:readregistervalue(364, 'float32', 'w')
--s1VL1N = mb:readregistervalue(366, 'float32', 'w') -- Voltage Phase 1 - Neutral
--s1VL2N = mb:readregistervalue(368, 'float32', 'w')
--s1VL3N = mb:readregistervalue(370, 'float32', 'w')
--log(s1AL1,s1AL2,s1AL3,s1ET,s1PT,s1VL1L2,s1VL2L3,s1VL3L1,s1VL1N,s1VL2N,s1VlLN)
mb:close()
-- Read Socket 2
mb:open('192.168.1.201', 502)
mb:connect()
mb:setslave(255)
--s2AL1 = mb:readregistervalue(350, 'float32', 'w')
--s2AL2 = mb:readregistervalue(352, 'float32', 'w')
--s2AL3 = mb:readregistervalue(354, 'float32', 'w')
s2ET = mb:readregistervalue(356, 'uint32', 'w')
--s2PT = mb:readregistervalue(358, 'float32', 'w')
--s2VL1L2 = mb:readregistervalue(360, 'float32', 'w')
--s2VL2L3 = mb:readregistervalue(362, 'float32', 'w')
--s2VL3L1 = mb:readregistervalue(364, 'float32', 'w')
--s2VL1N = mb:readregistervalue(366, 'float32', 'w')
--s2VL2N = mb:readregistervalue(368, 'float32', 'w')
--s2VL3N = mb:readregistervalue(370, 'float32', 'w')
--log(s2AL1,s2AL2,s2AL3,s2ET,s2PT,s2VL1L2,s2VL2L3,s2VL3L1,s2VL1N,s2VL2N,s2VL3N)
mb:close()
-- Sum Socket 1 and Socket 2
tET = s1ET + s2ET -- Sum energy total of socket 1 and 2
tETrounded = math.round(tET/1000,0) -- Total S + S2 from Wh to kWh
s1ET = math.round(s1ET/1000,0) -- Socket 1 from Wh to kWh
s2ET = math.round(s2ET/1000,0) -- Socket 2 from Wh to kWh
grp.checkupdate('4/1/22', s1ET) -- Update values
grp.checkupdate('4/1/23', s2ET)
grp.checkupdate('4/1/19', tETrounded)
Thank you! It Works!
I looked everywhere but I can't find anything in the documentation
|