First time ModBus usage
Q: How can I determine if ModBus devices are online?
A: RTU scan will show all connected devices in the given address range. It will scan for up to 30 seconds so a large range might timeout before the full scan is complete. Devices marked red in the list cannot be read/written. Error log will tell you why read/write fails, most probably it’s a timeout meaning there’s a communication/wiring problem.
Maximum count of Modbus and Bacnet points on LM
Q: What is bacnet and modbus limit on LM5Lp2?
A: There is no limitation. Though we do not recommend to have more than 2000 objects on LM. In case of >4000 objects there might start problems will memory /web interface delays. For Bacnet we have a limitation for COV subscriptions – default is 256, max is 4000. If Bacnet client app is used on LM5, recommended maximum is 50 objects, but depending on type of devices, how often you need to need write/read, how quick reaction is necessary, you might work with up to 300 objects. Here is script example. Here are all commands to communicate as Bacnet client.
Starting with firmware 2023, BACnet client via scripting can execute read/write requests in parallel if the target device IP address is set explicitly (bacnet.deviceip). BACnet server can also be used together with client scripts in this case. Please see here for an example.
Maximum count of Bluetooth connections
Q: How many BLE devices can be connected to one LogicMachine?
A: LM can handle up to 5 connections at a time, but it all depends on which devices as most sensors are read and then disconnected; some require streaming data so connection must remain open.
Variables in LogicMachine scripts
Q: Do I have to include libraries from User Libraries in other scripts? Also – I have discovered that a variable is global if it is placed outside a
function in a user library.
A: Each script is a separate process, so no variables are persistent between separate script instances. User libraries have “auto-load” feature so you don’t have to use require. Init script only applies to system start and is not used anywhere else after that. For true global variables storage must be used. Constants can be specified in your libraries since they will not change and all scripts can use the same value.
DALI ballasts not recognized from LM4
Q: Im trying to get DALI working on LM4, I have connected like the manual with a 18 VDC DALI powersupply (WAGO 787-1007) and 3 DALI devices. When I try to scan devices there are no devices in the LM4.
A: This is a regular power supply which doesn’t have specific DALI components inside. This is for interconnection with Wago DALI Master (which has inside necessary components). Please try to use another DALI specific power supply, like the one from Tridonic.
1-wire maximum line length, count of sensors, robustness
Q: What is maximum number of 1-wire temperature sensors to connect to LM, maximum installation length, communication speed with maximum sensors load?
A: Max 1-wire network length is 100 m, you need 3-wires: +5V, 1-Wire, GND. It can take up to 0.5 seconds for each sensor reading. We recommend to connect up to 30 sensors.
Further, in the latest firmware of LogicMachine there are features like increased polling time of 1-wire objects, implemented keepalive object which indicates of error if there was lost connection with at least one of 1-wire device. Also in the configuration menu on LogicMachine you can see pre-configured 1-wire devices and newly found ones in separate lists.
Remote ETS access through LogicMachine
Q: How do I access my KNX project remotely through LogicMachine?
A: The most correct way is to create VPN tunnel between router (KNX installation) and PC (Internet). In this case make sure both UDP and TCP protocols are enabled on your router. Another way is to forward port 3671 (both UDP and TCP) to LogicMachine IP in the router’s NAT table, but there may be issues if this port or protocol is blocked in the network in-between the router and PC. When doing this kind of connection, make sure to enable NAT mode in ETS parameters.
Objects list navigation arrows are blinking
Q: Why those navigation arrows in Objects tab are blinking, and it is hard to jump between pages?
A: Each bus write causes refresh, navigation is locked while data is loaded. You can disable new object auto discovery in Tools –> Configuration.
Brief on BACnet implementation
Q: Can you give me a short brief about BACnet solution implementation
A: Each KNX object marked for export will be seen as a single BACnet object. Numeric objects (int, uint, float) are mapped to Analog Values, binary objects are mapped to Binary Values.
New objects are not seen on BACnet server
Q: I don’t see any new objects on BACnet server after i make them with export flag on LM2.
A: Try to restart the BACnet server from Logic Machine 2 Network configuration –> Network -> BACnet
Oracle Hotel PMS integration with LogicMachine
Q: Is it possible to integrate LogicMachine with Oracle Hotel Property Management System?
A: It is possible to use Oracle approved interfaces and talk to them via BacNET, ModBus or Serial protocol from LogicMachine, e.g. PGF-4000 gateway from Prolon Control Systems or NetX Automation
Disable BACnet password
Q: Network Config -> Network -> BACnet has a field that caps Password. I cannot add a password to Johnson Controls’s NAE, is it possible to disable password?
A: Password is only used for remote device reloading
How to run a script only once?
Q: Is possible to configure a script which runs (for example scheduled or resident) and at the end the script deactivate itself automatically?
I mean do you have a LUA code which is able to de-activate the current script? Normally in a “scheduler” you could have the option “run once”.
A: You can store enabled/disabled flag in storage and use it to check whether the script should run or not.
How to get readable time and date in LUA?
Q: With LUA we can use the os.microtime() function. That function delivers the amount of seconds. But how can we convert this seconds to a readable time and date?
A: You should use microtime only if you need fractions of a second, otherwise use os.time(), you need to use os.date() for converting it to readable format
Q: There are at least 2 user roles (administrator and user) in our web application. When administrator access web interface, he has more pages and buttons on the web screen. He can setup application, configure some parts etc. User has “normal” privileges. He can only see data, change basic parts (switch on/off)…How this is done in LM2?
A: Visualization constructor, object and script administration is separate from User mode visualization. Fyrthermore, when designing visualization and new floors you can define them as “Admin-only access”, adding objects into the map, you can choose “Hide in touch” option, which will hide this specific object in Touch Visualization. As for user access levels, there are three main levels:
– write+admin (change/read object state on visu + admin-specific floors)
– write (change/read objects on visu)
– read (read object on visu)
Multi language support of the interface
Q: Is it possible to add multi language interface support
A: In Utilities when clicking on Configuration, you can choose Interface language. The visualization with labels etc is supporting UTF8 encoding system.
Permanent information storage
Q: We have lot of setup information which we want to save permanently – after restart we have to load them back (time plans, temperatures, fan speed, states,…).
A: For each object LM2 saves last value, even if they are not logged. There is also a function storage where you can temporary store variables (please see helper in LM demo Scripting Editor)
Share variable between different scripts
Q: When I want share data between more scripts, should I use virtual objects or store. Is it possible to share lua variables between more scripts (global variables and config items)?
A: There is no limitation from the side of LM2. Please use storage function to share variable between scripts.
Store log on USB HDD + File operations
Q: We need to save history of some variables into database and enable users to export these data for statistics reason. Is it possible to use USB in Logic Machine for external hdd and store data on this disk – can we access this hdd from LUA?
A: You can store on external USB flash. Example: https://openrb.com/example-readwrite-file-to-lm2-connected-usb-flash/
You can also store on internal flash and sens once in some time interval to external FTP server. Example: https://openrb.com/example-export-last-hour-csv-object-log-file-to-external-ftp-server-from-lm2/
Run one program from another
Q: Is it possible to run one script from another?
A: Yes, through writing/reading from virtual objects
Modbus RTU doesn’t work on LM2
Q: I am trying to read Modbus electricity meter values to LM2. It read nil all the time
A: Check if this is 16-bit or 32-bit register device and check if your code syntax is correct. If all is correct, try to swap A and B connection on LM2
Q: The device i am willing to connect has 9 pins on RS232. How to interconnect it to LM2 which has only 2 connection points?
A: You need to connect 3 pins – RX/TX & GND. Please refer to standard DB-9 pinout for connection diagramm: 2,3 – RX/TX; 5 – GND
USB-RS232 adapter for LogicMachine
Q: How do I add RS232 or additional RS485 support on existing LogicMachine?
A: We recommend to use USB to RS232 / RS485 converter based on CP210x, FT232, PL2303, MCT U232 chips.
How to reset LM2 to factory defaults?
Q: I want to know if it is possible to reset the LM2 to factory default? I changed the static IP to wrong one and now I can’t find it in the network.
A: By pressing the button on the side of LM2 for > 10 sec, it will be set to default factory configuration. If you press it for < 10 sec, the device will be rebooted.
There is also another possibility to discover IP address – LM2 has built-in zeroconf utility by default, so using Apple Discovery app you can discover the IP address of LM2.
Interface problems after upgrade
Q: I have strange interface and icon problems after I upgrades Logic Machine 2 firmware.
A: We strongly recommend to clean your browser cache after each firmware or package upgrade.
Discover IP address of Logic Machine or Streaming Player
Q: Is there a way automatically discover IP address of Logic Machine or Streaming Player.
A: Please see utility list here.
LM as industrial controller without necessity in KNX bus
Q: Is a KNX system necessary to use LM3 and LM3:Reactor or can they be used within a system that don’t employ KNX/EIB (for example, industrial application that uses only ModBUS and BACnet devices)?
A: Of course, that’s the purpose of LM devices to act as logic, visualization, gateway platform for any type of application – either it is building automation or industrial automation/control. KNX data types are used for unification purpose because it has one of the best data types from all other standards, e.g., you can always import data from ModBus, EnOcean, BACnet into KNX, but there are no some data types which are missing in ModBus or elsewhere. Further, KNX is fully peer-to-peer system and you can make even very big installation without performance and reliability issues. Also, KNX has separate objects in each telegram, not like, e.g., EnOcean where there may be 4 different object statuses in one telegram. .
LM3 Reactor interconnection with Epson projector
Q: I have installed LM3 Reactor. Can I use RS-485 port to interconnect with Epson projector via RS-232?
A: Not directly via RS-485, but you can use USB-RS232 adapter based on FT232 chip or CP210x. You can find one for example in Ebay by keyword “USB to RS232/UART TTL/RS485 Module FTDI FT232BM/BL Chip DUK”. .
Why there is no built-in relays in LogicMachine?
Q: Why there is no built-in relays in LogicMachine?
A: In our devices we use Universal I/O port, where the port can be used either as binary/analog input or as digital output. Digital output can be used to control external relays/contactors:
– you can use any power relay/contactor and have one controller part in the same time – 6A, 16A, 40A,..
– if relay dies, you can easy and cheaply replace it. In standard situation usually all actuator channels are busy and you need to take off whole module (down-time, unhappy client,..)
We recommend to use either Finder 19.21 contactors or our ultra-thin SSR relays. .
2-fold grp addresses in LogicMachine
Q: Are there any way to change the settings in Logic Machine to 2-fold group adresses?
A: 2-fold grp addresses will work fine when importing them (will be converted to 3-fold automatically) or writing to them.
Data types differ when send from LM to ETS
Q: If I declare an object as a 4 bit on the LogicMachine4, and I connect it with my visualization. Then ETS won’t recognize this object as a 4bit, but as a 1 bit (switch).
A: If you don’t have this object in ETS it might show up as 1-bit in group monitor. KNX telegram does not supply data type information, so 1-bit and 4-bit telegrams look the same.
Cloud Server on LogicMachine
Q: What is the “cloud server” about in LogicMachine Load Balancer?
A: We have integrated REDIS noSQL inRAM data base which allows to gather information from all LogicMachines (where there are functionality integrated to send requests to REDIS server). Also it supports full replications. As it sits in the RAM, it works very fast and allows to store lot of data. Besides this, REDIS allows synchronization between LogicMachines – if some fields are added in DB, it does synchronize this with other LogicMachines.
Ports used by LogicMachine
Q: LM5 is planned to be installed in commercial network, let me know which ports are used to access cloud, by apps etc.
A: LM Cloud: remote.logicmachine.net TCP ports 443 and 8883
Apps: apps.logicmachine.net TCP port 443
Additionally UDP port 123 for time sync (NTP) and UDP port 53 for DNS queries. NTP and DNS servers can be on the local network.