FB event run - Printable Version +- Logic Machine Forum (https://forum.logicmachine.net) +-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1) +--- Forum: Application Store (https://forum.logicmachine.net/forumdisplay.php?fid=11) +--- Thread: FB event run (/showthread.php?tid=1554) |
FB event run - Kai-Roger - 25.08.2018 Hi. I'm a noob on FB, and i have a problem understand how the events work. I have made (at least i belive i have), a simple cooling thermostat. I want this to run every time the room-temperature or the cooling-setpoint changes, but i can't save this becouse it's missing an event to run a function block. What am i doing wrong? BR RE: FB event run - Erwin van der Zwart - 25.08.2018 Hi, Use a event block for the room temp input and the setpoint input addresses instead of the normal blocks you use now. BR, Erwin RE: FB event run - Kai-Roger - 25.08.2018 (25.08.2018, 07:51)Erwin van der Zwart Wrote: Hi, Hi. Are you talking about the "Hysteresis with 3 limits" block? I want this normal blocks to work first, just to see how FB editor is in use. BR RE: FB event run - Erwin van der Zwart - 25.08.2018 Hi, No the element blocks for the addresses 5/0/9 and 5/2/9 needs to be event element blocks. This way the system knows it must trigger the script on the change of these 2 addresses BR, Erwin RE: FB event run - Kai-Roger - 25.08.2018 (25.08.2018, 10:24)Erwin van der Zwart Wrote: Hi, Hi. I thought that was what i have done already. In the picture the top one is adress from "event elements", and the bottom one is adress from "elements". The "event elements" have an orange cirkle at the right side. The once i have used in my coling thermostat project altso have an orange cirkle at the right. Here is the latest diagram i have tried. There is an red square around a block, and the error says this is missing an event. RE: FB event run - Daniel - 27.08.2018 Hi Your output to the input of filter is missing trigger event. Simple rule it is like that. Orange lines are trigger events, where grey are just pure values which do not trigger the block. When you link empty output with input then in the background storage is created which will transmit value from one script to another but this will not trigger the input block only will wait on another input to trigger. In your case is missing. What you have to do is select an grp address for the output and then link it to the input. It will then ask you if this is event link. Say yes and then line will be orange. Like that RE: FB event run - Kai-Roger - 27.08.2018 Hi. I was thinking about the solution in your diagram, but i then thinked that it was to strange to establish a "dummy" group adress in objects tab in LM, just to make one block trigger another block. If i make like 10 blocks after another, then i have to establish alot of dummy group adresses in LM which have no purpose other than beeing used inside FB editor? This in maybe becouse of how scripting works? Forgive me if i misunderstand the technical part of FB. I have no experience in LM scripting, and are new to FB. BR Kai-Roger RE: FB event run - Daniel - 27.08.2018 Yes this is all linked to scripts as FB is just generating scripts. When you use event based script they must be triggered by telegram. If you use Timer then no need for it. RE: FB event run - Kai-Roger - 27.08.2018 Ok. Then i just reserve the hole Main Group Adress number 30 in ETS for the purpose of use in FB editor. Then i can make up to 65.536 dummy adresses for FB editor in LM BR RE: FB event run - Daniel - 27.08.2018 In LM it is better to use virtual objects from 32-63 Those groups are not send anywhere and do not generate unnecessary traffic. RE: FB event run - Kai-Roger - 27.08.2018 Nice. I did not know it was possible to choose adresess from 32-63. You altso mentioned the use of timer to trigger a block. Is i possible to have a timer that triggers all the blocks every 5 second, or will this cause undesirable load on the LM if the number of timers get to many? RE: FB event run - Daniel - 27.08.2018 Sure you can have 1 timer to trigger all blocks. In this case you will create one resident script which will run every 5 sec. In this case make sure you set delta on output to send values on change of value only. Otherwise you will send every 5s from every block which is not nice to KNX load. You can also un-select 'write to bus' which will not write to TP but only when you can. It is much better to use event way as then logic is used only when it is needed. RE: FB event run - Kai-Roger - 27.08.2018 Hi. Thanks for all the good help! It's a verry nice feeling to build something that works like a charm. And with no stress on the KNX bus either |