Logic Machine Forum
VRV STATUS VIA BACNET - Printable Version

+- Logic Machine Forum (https://forum.logicmachine.net)
+-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1)
+--- Forum: Scripting (https://forum.logicmachine.net/forumdisplay.php?fid=8)
+--- Thread: VRV STATUS VIA BACNET (/showthread.php?tid=5151)



VRV STATUS VIA BACNET - imprashant - 13.12.2023

Hi I am trying to control the VRV System from logic machine via Bacnet.
I am able to send the command to the AC from Lua Script. But I am not able to get the status (ON/OFF, set temp etc.)
I need to get the status whenever the value changes from Logic Machine or Ac Remote. I am using LM as a Bacnet server.

I am using this event based script to set temp

require('bacnet')
_value = grp.getvalue('3/2/4')
bacnet.write(4194300, 'analog value', 17930, _value)


RE: VRV STATUS VIA BACNET - Daniel - 13.12.2023

You are using bacnet client script so you cannot be bacnet server.
Use direct communication script if you use multiple event scripts.
Code:
require('bacnet')

-- read from 192.168.0.21, device id 21
bacnet.deviceip = '192.168.0.21'
val1 = bacnet.readvalue(21, 'binary value', 2049)
val2 = bacnet.readvalue(21, 'binary value', 2050)
val3 = bacnet.readvalue(21, 'binary value', 2051)
log(val1, val2, val3)
For reading use single resident script.
Use Yabe to check parameters of object you want to read.


RE: VRV STATUS VIA BACNET - imprashant - 14.12.2023

(13.12.2023, 08:15)Daniel Wrote: You are using bacnet client script so you cannot be bacnet server.
Use direct communication script if you use multiple event scripts.
Code:
require('bacnet')

-- read from 192.168.0.21, device id 21
bacnet.deviceip = '192.168.0.21'
val1 = bacnet.readvalue(21, 'binary value', 2049)
val2 = bacnet.readvalue(21, 'binary value', 2050)
val3 = bacnet.readvalue(21, 'binary value', 2051)
log(val1, val2, val3)
For reading use single resident script.
Use Yabe to check parameters of object you want to read.

Thank You. How can I write the log values to the group address only if there is a change in value?


RE: VRV STATUS VIA BACNET - admin - 14.12.2023

Use this:
Code:
grp.checkwrite('1/1/1', val1)
grp.checkwrite('1/1/2', val2)
grp.checkwrite('1/1/3', val3)

If needed, you can specify the minimum difference for writing. See docs for more info: https://kb.logicmachine.net/libraries/lua/#grpcheckwritealias-value--delta--status


RE: VRV STATUS VIA BACNET - batistacaceres - 17.06.2025

(14.12.2023, 06:47)imprashant Wrote:
(13.12.2023, 08:15)Daniel Wrote: You are using bacnet client script so you cannot be bacnet server.
Use direct communication script if you use multiple event scripts.
Code:
require('bacnet')

-- read from 192.168.0.21, device id 21
bacnet.deviceip = '192.168.0.21'
val1 = bacnet.readvalue(21, 'binary value', 2049)
val2 = bacnet.readvalue(21, 'binary value', 2050)
val3 = bacnet.readvalue(21, 'binary value', 2051)
log(val1, val2, val3)
For reading use single resident script.
Use Yabe to check parameters of object you want to read.

Thank You. How can I write the log values to the group address only if there is a change in value?

Hello Team:

I want to know why if I comment the line  -- bacnet.device ip = '192.168.0.21' , then I can read values from bacnet, but if I leave that line without commen, I can not read bacnet values.

Thank you very much 
best regards
Roger


RE: VRV STATUS VIA BACNET - admin - 17.06.2025

Which firmware version do you have? deviceip must be the target BACnet device IP otherwise direct connection mode won't work. Direct connection mode allows using BACnet server together with client and allows multiple BACnet client scripts running in parallel.


RE: VRV STATUS VIA BACNET - batistacaceres - 19.06.2025

(17.06.2025, 11:59)admin Wrote: Which firmware version do you have? deviceip must be the target BACnet device IP otherwise direct connection mode won't work. Direct connection mode allows using BACnet server together with client and allows multiple BACnet client scripts running in parallel.

version: 20240124
Yes, I know that deviceip is the target BACnet device IP. I am not using this logicMachine as BACnet server, its just as BAcnet client.

It's a little bit strange, but if I leave that line, the system doesn't read anything. However, if I remove it, everything works perfectly. May be a bug ?

best regards
Roger

(19.06.2025, 08:48)batistacaceres Wrote:
(17.06.2025, 11:59)admin Wrote: Which firmware version do you have? deviceip must be the target BACnet device IP otherwise direct connection mode won't work. Direct connection mode allows using BACnet server together with client and allows multiple BACnet client scripts running in parallel.

version: 20240124
Yes, I know that deviceip is the target BACnet device IP. I am not using this logicMachine as BACnet server, its just as BAcnet client.

It's a little bit strange, but if I leave that line, the system doesn't read anything. However, if I remove it, everything works perfectly. May be a bug ?

best regards
Roger

Hello team:

I have updated the logicMachine with the new firmware version 20240426, and everything is OK, no problem at all, with and without that line bacnet datas are read from Bacnet Server. Now everything is ok.
thank you very much for your hint,

best regard
Roger