====== Externí LUA debug konzole ======
OBIS lze spustit ve speciálním režimu, kdy naslouchá na zvoleném TCP portu a přijímá LUA příkazy a vrací zprávy.
Spustit s následujícími parametry (6666 je číslo portu) a zalogovat se:
obis -extconsole 6666 -noxmlrpc
Následně lze z konzole pomocí programu netcat komunikovat následujícím způsobem (příklad v Linuxu):
echo -e "Restart\n\nProgram \"print('text') print({...})\" a b c\n\nExit\n" | nc localhost 6666 | grep -v ""
Doporučuje se **netcat-traditional**.
sudo apt-get install netcat-traditional
sudo update-alternatives --config nc
Ukázka mapování příkazů pro Vim:
"F1 help na slovo na kterem stojim
map :w^M:exec '!echo -e "Restart\n\nProgram Help:Find(\"'.expand("").'\")\n\nExit\n" \| nc localhost 6666 \| grep -v ""'^M
"F5 spusti obislua
map :!xterm -geometry 120x40+80 -e obislua -extconsole 6666 -noxmlrpc -user Admin -pass "" -data data &^M^M
"F6 spusti obislua s vyberem dat
map :!xterm -geometry 120x40+80 -e obislua -extconsole 6666 -noxmlrpc -user Admin -pass "" &^M
"F6 terminate obis.
map :w^M:!echo -e "Terminate\n\n" \| nc localhost 6666 &>/dev/null &^M
"F7 run ./obislua.sh (v adresari obis41/user.*)
map :! xterm -geometry 120x40+80 -e ./obislua.sh -extconsole 6666 -noxmlrpc &^M
"F8 spusteni zvoleneho testu
map :w^M:!echo -e "Restart\n\nProgram test_faktury_faktury:testPreceneni()\n\nExit\n" \| nc localhost 6666 \| grep -v ""
"F9 spusteni vsech testu
map :w^M:!echo -e "Restart\n\nProgram \"dofile(LUADIR()..'debug.lua') DEBUG.Init() LuaUnit:run()\"\n\nExit\n" \| nc localhost 6666 \| grep -v ""
"F10 spusteni testu aktualne editovaneho souboru
map :w^M:exec '!echo -e "Restart\n\nProgram dofile(LUADIR()..\"debug.lua\");DEBUG.Init();LuaUnit:run(\"test_'.expand("%:t:r").'\")\n\nExit\n" \| nc localhost 6666 \| grep -v ""'