# dec/03/2017 20:37:34 by RouterOS 6.40.4 # software id = Z1VD-1I9D # # model = RouterBOARD 750G r3 # serial number = 6F3807F2C1B4 /system script add name=Func_NP_Getrele owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="#######\ ####### FuncNPGetrele ###############\r\ \n# \D4\F3\ED\EA\E8\FF \EE\EF\F0\EE\F1\E0 \F1\EE\F1\F2\EE\FF\ED\E8\FF \F0\ \E5\EB\E5 PDU Netping\r\ \n# by Sergej Serkov 22.09.2017\r\ \n###########################################\r\ \n\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\E0 \F4\F3\ED\EA\ \F6\E8\E8 Nrele \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\EC\ \E5\F0 \F0\E5\EB\E5\r\ \n# \CD\E0\EF\F0\E8\EC\E5\F0 \EE\EF\F0\E0\F8\E8\E2\E0\E5\EC \E2\F2\EE\F0\ \EE\E5 \F0\E5\EB\E5:\r\ \n# [\$FuncNPGetrele Nrele=\"2\"]\r\ \n\r\ \n# \E2\EE\E7\E2\F0\E0\F9\E0\E5\F2 \EE\F2\E2\E5\F2 \CD\E5\F2\EF\E8\ED\E3 \ \E2 \$NPanswer\r\ \n\r\ \n# \F2\E0\EA\E6\E5 \E2\EE\E7\E2\F0\E0\F9\E0\E5\F2 \E2 \E3\EB\EE\E1\E0\EB\ \FC\ED\FB\F5 \EF\E5\F0\E5\EC\E5\ED\ED\FB\F5:\r\ \n# ----------------------------------------------------------------------\ -------\r\ \n# relechannel - \EA\E0\ED\E0\EB \F3\EF\F0\E0\E2\EB\E5\ED\E8\FF \F0\E5\EB\ \E5\r\ \n# 0 - \E2\FB\EA\EB\FE\F7\E5\ED\EE \E2 \F0\F3\F7\ED\F3\FE\r\ \n# 1- \E2\EA\EB\FE\F7\E5\ED\EE \E2 \F0\F3\F7\ED\F3\FE\r\ \n# 2 - \F0\E0\E1\EE\F2\E0\E5\F2 \EE\F2 \EA\E0\ED\E0\EB\E0 \"\D1\F2\EE\F0\ \EE\E6\"\r\ \n# 3 - \F0\E0\E1\EE\F2\E0\E5\F2 \EF\EE \F0\E0\F1\EF\E8\F1\E0\ED\E8\FE\r\ \n# 4 - \F0\E0\F1\EF\E8\F1\E0\ED\E8\E5 + \F1\F2\EE\F0\EE\E6\r\ \n# 5 - \F3\EF\F0\E0\E2\EB\FF\E5\F2\F1\FF \EC\EE\E4\F3\EB\E5\EC \"\CB\EE\ \E3\E8\EA\E0\"\r\ \n# 6 - \F0\E0\F1\EF\E8\F1\E0\ED\E8\E5 + \EB\EE\E3\E8\EA\E0\r\ \n\r\ \n# relestatus - \F1\EE\F1\F2\EE\FF\ED\E8\E5 \F0\E5\EB\E5\r\ \n# 0 - \E2\FB\EA\EB\FE\F7\E5\ED\EE;\r\ \n# 1 - \E2\EA\EB\FE\F7\E5\ED\EE;\r\ \n\r\ \n\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \E2\EE\E7\E2\F0\ \E0\F9\E0\FE\F9\F3\FE \EE\F2\E2\E5\F2 \EE\F2 \F0\E5\EB\E5 \CD\E5\F2\EF\E8\ \ED\E3\r\ \n:global FuncNPGetrele do={:global NPuser; :global NPpass; global NPadr; \ :local StrFetchRele; :set StrFetchRele (\"http://\".\"\$NPadr\".\"/relay.c\ gi\\\?r\".\"\$Nrele\"); [/tool fetch url=\$StrFetchRele mode=http user=\$N\ Puser password=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:local endLoc;\r\ \n:set \$endLoc [:find \$NPanswer \",\"];\r\ \n:global relechannel [:pick \$NPanswer (\$endLoc+2) (\$endLoc+3)]; # \EA\ \E0\ED\E0\EB \F3\EF\F0\E0\E2\EB\E5\ED\E8\FF \F0\E5\EB\E5;\r\ \n:global relestatus [:pick \$NPanswer (\$endLoc+5) (\$endLoc+6)]; # \F1\ \EE\F1\F2\EE\FF\ED\E8\E5 \F0\E5\EB\E5;\r\ \n:return \$NPanswer\r\ \n}\r\ \n\r\ \n\r\ \n\r\ \n" add name=call_FUNC_NP_Getrele owner=admin policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="\r\ \n:log error \"________\CE\D2\D7\C5\D2 \D0\C5\CB\C5 _________\";\r\ \n:local Rele \"3\";\r\ \n:global NPadr;\r\ \n:set \$NPadr \"192.168.88.7\";\r\ \n:global relechannel;\r\ \n:global relestatus;\r\ \n:global FuncNPGetrele;\r\ \n:local NPanswer [\$FuncNPGetrele Nrele=\$Rele]\r\ \n:log info \$NPanswer;\r\ \n\r\ \n:log info \"\";\r\ \n:log info \"------------------------------\";\r\ \n:log warning (\"\D0\E5\EB\E5 \B9\".\"\$Rele\")\r\ \n:log info (\"\CA\E0\ED\E0\EB \F3\EF\F0\E0\E2\EB\E5\ED\E8\FF \F0\E5\EB\E5\ \_\". \"\$relechannel\");\r\ \n:if (\$relestatus=0) do={:log info \"\D0\E5\EB\E5 \E2\FB\EA\EB\FE\F7\E5\ \ED\EE\"} else={:log info \"\D0\E5\EB\E5 \E2\EA\EB\FE\F7\E5\ED\EE\"}\r\ \n:log info \"------------------------------\";\r\ \n:log info \"\";\r\ \n" add name=Func_NP_Setrele owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="#######\ ######### FuncNPSetrele ###############\r\ \n# \D4\F3\ED\EA\F6\E8\FF \F3\F1\F2\E0\ED\EE\E2\EA\E8 \F1\EE\F1\F2\EE\FF\ \ED\E8\FF \F0\E5\EB\E5 PDU Netping\r\ \n# by Sergej Serkov 25.09.2017\r\ \n#############################################\r\ \n\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\EE\E2 \F4\F3\ED\ \EA\F6\E8\E8 \E2 Nrele \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\ \EE\EC\E5\F0 \F0\E5\EB\E5\r\ \n# \E2 Rstatus - \F1\EE\E2\E5\F0\F8\E0\E5\EC\EE\E5 \E4\E5\E9\F1\F2\E2\E8\ \E5 (0-\E2\FB\EA\EB\FE\F7\E8\F2\FC; 1-\E2\EA\EB\FE\F7\E8\F2\FC)\r\ \n# \C2\FB\E7\EE\E2 \F4\F3\ED\EA\F6\E8\E8\r\ \n# [\$FuncNPSetrele Nrele=\"2\" Rstatus=\"1\"]\r\ \n# \EE\F2\E2\E5\F2 \E8\F1\EF\EE\EB\ED\E5\ED\E8\FF \E2\EE\E7\E2\F0\E0\F9\ \E0\E5\F2\F1\FF \E2 \$NPanswer\r\ \n\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \F3\F1\F2\E0\ED\ \E0\E2\EB\E8\E2\E0\FE\F9\F3\FE \F0\E5\EB\E5 \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPSetrele do={:global NPuser; :global NPpass; : global NPadr\ ; :local StrFetchRele; :set StrFetchRele (\"http://\".\"\$NPadr\".\"/relay\ .cgi\\\?r\".\"\$Nrele\".\"=\".\"\$Rstatus\"); [/tool fetch url=\$StrFetchR\ ele mode=http user=\$NPuser password=\$NPpass dst-path=\"NPanswer.txt\";];\ \r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:return \$NPanswer}\r\ \n" add name=call_FUNC_NP_Setrele owner=admin policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# Nrele \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\EC\E5\F0 \ \F0\E5\EB\E5\r\ \n# Rstatus - \E4\E5\E9\F1\F2\E2\E8\E5\r\ \n\r\ \n:global NPadr\r\ \n:set NPadr \"192.168.0.4:8021\"\r\ \n\r\ \n:global FuncNPSetrele; \r\ \n\r\ \n:local NPanswer [\$FuncNPSetrele Nrele=\"2\" Rstatus=\"0\"]\r\ \n:log info \$NPanswer;\r\ \n" add name=call_FUNC_NP_Hamidity owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="\r\ \n# \ED\EE\EC\E5\F0 \E4\E0\F2\F7\E8\EA\E0 \E2\EB\E0\E6\ED\EE\F1\F2\E8 Nhd \ \E4\EE\EB\E6\E5\ED \E1\FB\F2\FC \"0\"\r\ \n\r\ \n:global NPadr;\r\ \n:set NPadr \"192.168.88.7\";\r\ \n\r\ \n:global Hamydtemp;\r\ \n:global Hamydtempstatus;\r\ \n:global FuncNPHtr;\r\ \n\r\ \n:global HamydHD;\r\ \n:global Hamydstatus;\r\ \n:global FuncNPHhd;\r\ \n\r\ \n:local NPtr [\$FuncNPHtr Nhd=\"0\"];\r\ \n:delay 5s;\r\ \n:local NPhd [\$FuncNPHhd Nhd=\"0\"];\r\ \n:log info \"\";\r\ \n:log info \$NPtr;\r\ \n:log warning (\"\CA\EE\EC\E1\E8\ED\E8\F0\EE\E2\E0\ED\ED\FB\E9 \E4\E0\F2\ \F7\E8\EA - \D2\E5\EC\EF\E5\F0\E0\F2\F3\F0\E0:\". \" \$Hamydtemp\".\" \D1\ \");\r\ \n#:log info \$Hamydtempstatus;\r\ \n\r\ \n:log info \$NPhd;\r\ \n:log warning (\"\CA\EE\EC\E1\E8\ED\E8\F0\EE\E2\E0\ED\ED\FB\E9 \E4\E0\F2\ \F7\E8\EA - \C2\EB\E0\E6\ED\EE\F1\F2\FC:\". \" \$HamydHD\".\" %\");\r\ \n#:log info \$Hamydstatus;\r\ \n\r\ \n:log info \"\";\r\ \n" add name=Func_NP_Termo owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="#######\ ######### FuncNPTermo ##################\r\ \n# \D4\F3\ED\EA\E8\FF \EE\EF\F0\EE\F1\E0 \F2\E5\F0\EC\EE\E4\E0\F2\F7\E8\ \EA\E0 PDU Netping\r\ \n# by Sergej Serkov 25.09.2017\r\ \n#############################################\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\E0 \F4\F3\ED\EA\ \F6\E8\E8 NPtr \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\EC\E5\ \F0 \F2\E5\F0\EC\EE\E4\E0\F2\F7\E8\EA\E0\r\ \n# \CD\E0\EF\F0\E8\EC\E5\F0 \EE\EF\F0\E0\F8\E8\E2\E0\E5\EC \E2\F2\EE\F0\ \EE\E9 \F2\E5\F0\EC\EE\E4\E0\F2\F7\E8\EA:\r\ \n# [\$FuncNPTermo NPtr=\"2\"]\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \EE\EF\F0\E0\F8\ \E8\E2\E0\FE\F9\F3\FE \F2\E5\F0\EC\EE\E4\E0\F2\F7\E8\EA \F1 \ED\EE\EC\E5\ \F0\EE\EC NPtr \F3\F1\F2\F0\EE\E9\F1\F2\E2\E0 \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPTermo do={:global NPuser; :global NPpass; :local StrFetchT\ ermo; :global NPadr; :set StrFetchTermo (\"http://\".\"\$NPadr\".\"/thermo\ .cgi\?t\".\"\$NPtr\"); [/tool fetch url=\$StrFetchTermo mode=http user=\$N\ Puser password=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n# \E1\EB\EE\EA \E2\FB\F7\E8\F1\EB\E5\ED\E8\FF \E8\E7 \EE\F2\E2\E5\F2\E0 \ \CD\E5\F2\EF\E8\ED\E3 \F2\E5\EC\EF\E5\F0\E0\F2\F3\F0\FB \ED\E0 \E4\E0\F2\ \F7\E8\EA\E5 \E8 \F1\F2\E0\F2\F3\F1 \E4\E0\F2\F7\E8\EA\E0\r\ \n\r\ \n:global Termotemp;\r\ \n:global Termostatus;\r\ \n:local string \$NPanswer;\r\ \n:local resultlen [:len \$string];\r\ \n:local startloc 0\r\ \n:local endloc (\$resultlen-1)\r\ \n:set string [:pick \$string \$startloc \$endloc];\r\ \n:local endloc [:find \$string \",\"]\r\ \n:set string [:pick \$string (\$endloc+1) \$resultlen];\r\ \n:set startloc [:pick \$string (\$endloc+1) \$resultlen];\r\ \n:local endloc2 [:find [:pick \$string \$startloc \$resultlen] \",\"]\r\ \n:set Termotemp [:pick \$string (\$startloc+1) \$endloc2];\r\ \n:set string [:pick \$string (\$endloc2+1) \$resultlen];\r\ \n:set startloc [:pick \$string (\$endloc2+1) \$resultlen];\r\ \n:local endloc3 [:find [:pick \$string \$startloc \$resultlen] \")\"]\r\ \n:set Termostatus [:pick \$string (\$startloc+1) \$endloc3];\r\ \n\r\ \n:if (\$Termostatus !=\"0\") do={} else={:set NPanswer \"ThermoERROR\";}\ \r\ \n\r\ \n:return \$NPanswer;}\r\ \n\r\ \n" add name=call_FUNC_NP_Termo owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 NPtr \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\EC\E5\ \F0 \F2\E5\F0\EC\EE\E4\E0\F2\F7\E8\EA\E0\r\ \n\r\ \n:global FuncNPTermo;\r\ \n:global Termotemp;\r\ \n:global Termostatus;\r\ \n\r\ \n# \EE\EF\F0\E0\F8\E8\E2\E0\E5\EC \F2\E5\F0\EC\EE\E4\E0\F2\F7\E8\EA \B91\ \r\ \n:local NPtr \"4\";\r\ \n\r\ \n# \C2\FB\E7\FB\E2\E0\E5\EC \F4\F3\ED\EA\F6\E8\FE \EE\EF\F0\EE\F1\E0 \F2\ \E5\F0\EC\EE\E4\E0\F2\F7\E8\EA\E0 \r\ \n:local NPanswer [\$FuncNPTermo NPtr=\$NPtr];\r\ \n\r\ \n:log info \"\";\r\ \n:if (\$NPanswer != \"ThermoERROR\") do={\r\ \n:log warning (\"\D2\E5\F0\EC\EE\E4\E0\F2\F7\E8\EA_\B9:\".\"\$NPtr\".\" \ \$Termotemp\".\" \D1\");\r\ \n:log warning (\"\D1\F2\E0\F2\F3\F1 \E4\E0\F2\F7\E8\EA\E0:\".\" \$Termost\ atus\");\r\ \n} else= {:log info \"\"; log error (\"\D2\C5\D0\CC\CE\C4\C0\D2\D7\C8\CA \ \B9\".\" \$NPtr\".\" \CD\C5 \CF\CE\C4\CA\CB\DE\D7\C5\CD\"); :log info \"\"\ ;}\r\ \n\r\ \n\r\ \n\r\ \n\r\ \n" add name=Func_NP_Hamidity owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="#######\ ######### FuncNPhumidity ###############\r\ \n# \D4\F3\ED\EA\E8\E8 \EE\EF\F0\EE\F1\E0 \E4\E0\F2\F7\E8\EA\E0 \E2\EB\E0\ \E6\ED\EE\F1\F2\E8 PDU Netping\r\ \n# by Sergej Serkov 25.09.2017\r\ \n##############################################\r\ \n\r\ \n# \ED\F3\E6\ED\EE \F3\EA\E0\E7\FB\E2\E0\F2\FC \ED\EE\EC\E5\F0 \E4\E0\F2\ \F7\E8\EA\E0 Nhd \"0\"\r\ \n#\r\ \n# \EE\E1\FA\FF\E2\E8\F2\FC \E3\EB\EE\E1\E0\EB\FC\ED\FB\E5 \EF\E5\F0\E5\ \EC\E5\ED\ED\FB\E5 \$Hamydtemp, \$Hamydtempstatus, \$HamydHD, \$Hamydstatu\ s\r\ \n# \C2\EE\E7\E2\F0\E0\F9\E0\FE\F2 \EE\F2\E2\E5\F2:\r\ \n# \$NPhd - \E2\EB\E0\E6\ED\EE\F1\F2\FC \E4\E0\F2\F7\E8\EA\E0\r\ \n# \$NPtr - \F2\E5\EC\EF\E5\F0\E0\F2\F3\F0\E0 \E4\E0\F2\F7\E8\EA\E0\r\ \n# \EE\F2\E2\E5\F2 \E2\EE\E7\E2\F0\E0\F9\E0\E5\F2 \E2 \E2\E8\E4\E5 \"relh\ um_result('ok', t, s)\" \E8 \"relhum_result('ok', h, s)\"\r\ \n# \E5\F1\EB\E8 s (\$Hamydtempstatus) = 0 - \$NPtr =\"HamidityThermoERROR\ \" (\C4\E0\F2\F7\E8\EA \ED\E5 \EF\EE\E4\EA\EB\FE\F7\E5\ED \E8\EB\E8 \EE\F2\ \EA\E0\E7 \E4\E0\F2\F7\E8\EA\E0);\r\ \n# \E0\ED\E0\EB\EE\E3\E8\F7\ED\EE \$NPhd = \"HamidityERROR\"\r\ \n\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \E2\EE\E7\E2\F0\ \E0\F9\E0\FE\F9\F3\FE \EE\F2\E2\E5\F2 \F2\E5\EC\EF\E5\F0\E0\F2\F3\F0\FB \ \EE\F2 \E4\E0\F2\F7\E8\EA\E0 \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPHtr do={:global NPuser; :global NPpass; :global NPadr; :lo\ cal StrFetchTR; :set StrFetchTR (\"http://\".\"\$NPadr\".\"/relhum.cgi\?t\ \".\"\$Nhd\"); [/tool fetch url=\$StrFetchTR mode=http user=\$NPuser passw\ ord=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPtr [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n\r\ \n:global Hamydtemp;\r\ \n:global Hamydtempstatus;\r\ \n:local string \$NPtr;\r\ \n:local resultlen [:len \$string];\r\ \n:local startloc 0\r\ \n:local endloc (\$resultlen-1)\r\ \n:set string [:pick \$string \$startloc \$endloc];\r\ \n:local endloc [:find \$string \",\"]\r\ \n:set string [:pick \$string (\$endloc+1) \$resultlen];\r\ \n:set startloc [:pick \$string (\$endloc+1) \$resultlen];\r\ \n:local endloc2 [:find [:pick \$string \$startloc \$resultlen] \",\"]\r\ \n:set Hamydtemp [:pick \$string (\$startloc+1) \$endloc2];\r\ \n:set string [:pick \$string (\$endloc2+1) \$resultlen];\r\ \n:set startloc [:pick \$string (\$endloc2+1) \$resultlen];\r\ \n:local endloc3 [:find [:pick \$string \$startloc \$resultlen] \")\"]\r\ \n:set Hamydtempstatus [:pick \$string (\$startloc+1) \$endloc3];\r\ \n\r\ \n:if (\$Hamydtempstatus !=\"0\") do={} else={:set NPtr \"HamidityThermoER\ ROR\";}\r\ \n\r\ \n:return \$NPtr}\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \E2\EE\E7\E2\F0\ \E0\F9\E0\FE\F9\F3\FE \EE\F2\E2\E5\F2 \E2\EB\E0\E6\ED\EE\F1\F2\FC \EE\F2 \ \E4\E0\F2\F7\E8\EA\E0 \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPHhd do={:global NPuser; :global NPpass; :global NPadr; :lo\ cal StrFetchHD; :set StrFetchHD (\"http://\".\"\$NPadr\".\"/relhum.cgi\?h\ \".\"\$Nhd\"); [/tool fetch url=\$StrFetchHD mode=http user=\$NPuser passw\ ord=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPhd [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n\r\ \n:global HamydHD;\r\ \n:global Hamydstatus;\r\ \n:local string \$NPhd;\r\ \n:local resultlen [:len \$string];\r\ \n:local startloc 0\r\ \n:local endloc (\$resultlen-1)\r\ \n:set string [:pick \$string \$startloc \$endloc];\r\ \n:local endloc [:find \$string \",\"]\r\ \n:set string [:pick \$string (\$endloc+1) \$resultlen];\r\ \n:set startloc [:pick \$string (\$endloc+1) \$resultlen];\r\ \n:local endloc2 [:find [:pick \$string \$startloc \$resultlen] \",\"]\r\ \n:set HamydHD [:pick \$string (\$startloc+1) \$endloc2];\r\ \n:set string [:pick \$string (\$endloc2+1) \$resultlen];\r\ \n:set startloc [:pick \$string (\$endloc2+1) \$resultlen];\r\ \n:local endloc3 [:find [:pick \$string \$startloc \$resultlen] \")\"]\r\ \n:set Hamydstatus [:pick \$string (\$startloc+1) \$endloc3];\r\ \n\r\ \n:if (\$Hamydstatus !=\"0\") do={} else={:set NPhd \"HamidityERROR\";}\r\ \n\r\ \n:return \$NPhd}\r\ \n\r\ \n" add name=Func_NP_SetIO owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="#######\ ######### FuncNPSetIO ###############\r\ \n# \D4\F3\ED\EA\F6\E8\FF \F3\F1\F2\E0\ED\EE\E2\EA\E8 \F1\EE\F1\F2\EE\FF\ \ED\E8\FF I/O \EB\E8\ED\E8\E8 PDU Netping\r\ \n# by Sergej Serkov 01.12.2017\r\ \n#############################################\r\ \n\r\ \n# \F3\F1\F2\E0\ED\E0\E2\EB\E8\E2\E0\E5\EC\E0\FF \EB\E8\ED\E8\FF \E4\EE\ \EB\E6\ED\E0 \E1\FB\F2\FC \F1\EA\EE\ED\F4\E8\E3\F3\F0\E8\F0\EE\E2\E0\ED\E0\ \_\ED\E0 \E2\FB\E2\EE\E4 !\r\ \n\r\ \n# \EE\E1\FB\F7\ED\EE \E2 \F3\F1\F2\F0\EE\E9\F1\F2\E2\E0\F5 \CD\E5\F2\EF\ \E8\ED\E3 \EF\F0\E8\EC\E5\ED\FF\E5\F2\F1\FF \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\ \E0\ED\ED\E0\FF \EB\EE\E3\E8\EA\E0 \EB\E8\ED\E8\E9:\r\ \n# \EF\F0\E8 \EB\EE\E3\E8\F7\E5\F1\EA\EE\EC 0 \ED\E0 \EB\E8\ED\E8\E8 - \ \ED\E0\E3\F0\F3\E7\EA\E0 \E2\EA\EB\FE\F7\E0\E5\F2\F1\FF\r\ \n# \EF\F0\E8 \EB\EE\E3\E8\F7\E5\F1\EA\EE\E9 1 \ED\E0 \EB\E8\ED\E8\E8 - \ \E2\FB\EA\EB\FE\F7\E0\E5\F2\F1\FF\r\ \n# \E4\EB\FF \F2\E0\EA\E8\F5 \F3\F1\F2\F0\EE\E9\F1\F2\E2 \ED\F3\E6\ED\EE \ \F0\E0\F1\EA\EE\EC\EC\E5\ED\F2\E8\F0\EE\E2\E0\F2\FC \E7\E0\EA\EE\EC\EC\E5\ \ED\F2\E8\F0\EE\E2\E0\ED\ED\FB\E5 \F1\F2\F0\EE\EA\E8\r\ \n# \FD\F2\EE\E9 \F4\F3\ED\EA\F6\E8\E8 - \F1\EC. \ED\E8\E6\E5 \r\ \n\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\EE\E2 \F4\F3\ED\ \EA\F6\E8\E8 \E2 Nio \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\ \EC\E5\F0 \EB\E8\ED\E8\E8 \E2\E2\EE\E4\E0/\E2\FB\E2\EE\E4\E0\r\ \n# \E2 IOstatus - \F1\EE\E2\E5\F0\F8\E0\E5\EC\EE\E5 \E4\E5\E9\F1\F2\E2\E8\ \E5 (0-\E2\FB\EA\EB\FE\F7\E8\F2\FC; 1-\E2\EA\EB\FE\F7\E8\F2\FC; f-\E8\ED\ \E2\E5\F0\F2\E8\F0\EE\E2\E0\F2\FC)\r\ \n# \C2\FB\E7\EE\E2 \F4\F3\ED\EA\F6\E8\E8\r\ \n# [\$FuncNPSetIO Nio=\"2\" IOstatus=\"1\"]\r\ \n# \EE\F2\E2\E5\F2 \E8\F1\EF\EE\EB\ED\E5\ED\E8\FF \E2\EE\E7\E2\F0\E0\F9\ \E0\E5\F2\F1\FF \E2 \$NPanswer\r\ \n\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \F3\F1\F2\E0\ED\ \E0\E2\EB\E8\E2\E0\FE\F9\F3\FE \EB\E8\ED\E8\FE \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPSetIO do={:global NPuser; :global NPpass; : global NPadr; \ :local StrFetchIO; \r\ \n\r\ \n# \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\E0\ED\E8\E5 \F1\F2\E0\F2\F3\F1\E0 \EB\ \E8\ED\E8\E8 (\E4\EB\FF \F3\F1\F2\F0\EE\E9\F1\F2\E2 \CD\E5\F2\EF\E8\ED\E3 \ \F1 \EE\E1\F0\E0\F2\ED\EE\E9 \EB\EE\E3\E8\EA\EE\E9);\r\ \n#:if (\$IOstatus=0) do={:set \$IOstatus 1} else={:set \$IOstatus 0}\r\ \n\r\ \n:set StrFetchIO (\"http://\".\"\$NPadr\".\"/io.cgi\\\?io\".\"\$Nio\".\"=\ \".\"\$IOstatus\"); [/tool fetch url=\$StrFetchIO mode=http user=\$NPuser \ password=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:return \$NPanswer}\r\ \n" add name=Func_NP_GetIO owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ ############# FuncNPGetIO ###############\r\ \n# \D4\F3\ED\EA\E8\FF \EE\EF\F0\EE\F1\E0 \F1\EE\F1\F2\EE\FF\ED\E8\FF I/O \ \EB\E8\ED\E8\E8 PDU Netping\r\ \n# by Sergej Serkov 01.12.2017\r\ \n###########################################\r\ \n\r\ \n# \EE\E1\FB\F7\ED\EE \E2 \F3\F1\F2\F0\EE\E9\F1\F2\E2\E0\F5 \CD\E5\F2\EF\ \E8\ED\E3 \EF\F0\E8\EC\E5\ED\FF\E5\F2\F1\FF \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\ \E0\ED\ED\E0\FF \EB\EE\E3\E8\EA\E0 \EB\E8\ED\E8\E9:\r\ \n# \EF\F0\E8 \EB\EE\E3\E8\F7\E5\F1\EA\EE\EC 0 \ED\E0 \EB\E8\ED\E8\E8 - \ \ED\E0\E3\F0\F3\E7\EA\E0 \E2\EA\EB\FE\F7\E0\E5\F2\F1\FF\r\ \n# \EF\F0\E8 \EB\EE\E3\E8\F7\E5\F1\EA\EE\E9 1 \ED\E0 \EB\E8\ED\E8\E8 - \ \E2\FB\EA\EB\FE\F7\E0\E5\F2\F1\FF\r\ \n# \E4\EB\FF \F2\E0\EA\E8\F5 \F3\F1\F2\F0\EE\E9\F1\F2\E2 \ED\F3\E6\ED\EE \ \F0\E0\F1\EA\EE\EC\EC\E5\ED\F2\E8\F0\EE\E2\E0\F2\FC \E7\E0\EA\EE\EC\EC\E5\ \ED\F2\E8\F0\EE\E2\E0\ED\ED\FB\E5 \F1\F2\F0\EE\EA\E8\r\ \n# \FD\F2\EE\E9 \F4\F3\ED\EA\F6\E8\E8 - \F1\EC. \ED\E8\E6\E5 \r\ \n\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\E0 \F4\F3\ED\EA\ \F6\E8\E8 Nio \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\EC\E5\ \F0 \EB\E8\ED\E8\E8 \E2\E2\EE\E4\E0/\E2\FB\E2\EE\E4\E0\r\ \n# \CD\E0\EF\F0\E8\EC\E5\F0 \EE\EF\F0\E0\F8\E8\E2\E0\E5\EC \E2\F2\EE\F0\ \F3\FE \EB\E8\ED\E8\FE :\r\ \n# [\$FuncNPGetIO Nio=\"2\"]\r\ \n\r\ \n# \E2\EE\E7\E2\F0\E0\F9\E0\E5\F2 \EE\F2\E2\E5\F2 \CD\E5\F2\EF\E8\ED\E3 \ \E2 \$NPanswer\r\ \n\r\ \n# \F2\E0\EA\E6\E5 \E2\EE\E7\E2\F0\E0\F9\E0\E5\F2 \E2 \E3\EB\EE\E1\E0\EB\ \FC\ED\EE\E9 \EF\E5\F0\E5\EC\E5\ED\ED\EE\E9:\r\ \n# ----------------------------------------------------------------------\ -------\r\ \n\r\ \n# IOstatus - \F1\EE\F1\F2\EE\FF\ED\E8\E5 \EB\E8\ED\E8\E8\r\ \n# 0 - \E2\FB\EA\EB\FE\F7\E5\ED\EE;\r\ \n# 1 - \E2\EA\EB\FE\F7\E5\ED\EE;\r\ \n\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \E2\EE\E7\E2\F0\ \E0\F9\E0\FE\F9\F3\FE \EE\F2\E2\E5\F2 \EE\F2 \EB\E8\ED\E8\E8 I/O \CD\E5\F2\ \EF\E8\ED\E3\r\ \n:global FuncNPGetIO do={:global NPuser; :global NPpass; global NPadr; :l\ ocal StrFetchIO; :set StrFetchIO (\"http://\".\"\$NPadr\".\"/io.cgi\\\?io\ \".\"\$Nio\"); [/tool fetch url=\$StrFetchIO mode=http user=\$NPuser passw\ ord=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:local endLoc;\r\ \n:set \$endLoc [:find \$NPanswer \",\"];\r\ \n:global IOstatus [:tonum [:pick \$NPanswer (\$endLoc+6) (\$endLoc+7)]]; \ # \F1\EE\F1\F2\EE\FF\ED\E8\E5 \EB\E8\ED\E8\E8;\r\ \n\r\ \n# \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\E0\ED\E8\E5 \F1\F2\E0\F2\F3\F1\E0 \EB\ \E8\ED\E8\E8 (\E4\EB\FF \F3\F1\F2\F0\EE\E9\F1\F2\E2 \CD\E5\F2\EF\E8\ED\E3 \ \F1 \EE\E1\F0\E0\F2\ED\EE\E9 \EB\EE\E3\E8\EA\EE\E9);\r\ \n# :if (\$IOstatus=0) do={:set \$IOstatus 1} else={:set \$IOstatus 0}\r\ \n\r\ \n:return \$NPanswer\r\ \n}\r\ \n" add name=call_Func_NP_GetIO owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source=":log in\ fo \" \";\r\ \n:log error \"________\CE\D2\D7\C5\D2 \F1\EE\F1\F2\EE\FF\ED\E8\FF \EB\E8\ \ED\E8\E8 \E2\E2\EE\E4\E0/\E2\FB\E2\EE\E4\E0 (I/O) _________\";\r\ \n:local IO \"3\";\r\ \n:global NPadr;\r\ \n:set \$NPadr \"192.168.0.4:8021\";\r\ \n:global IOstatus;\r\ \n:global FuncNPGetIO;\r\ \n:local NPanswer [\$FuncNPGetIO Nio=\$IO]\r\ \n:log info \$NPanswer;\r\ \n\r\ \n:log info \"\";\r\ \n:log info \"------------------------------\";\r\ \n:log warning (\"\CB\E8\ED\E8\FF \E2\E2\EE\E4\E0/\E2\FB\E2\EE\E4\E0 \B9\"\ .\"\$IO\")\r\ \n:if (\$IOstatus=0) do={:log info \"\CB\E8\ED\E8\FF \E2\FB\EA\EB\FE\F7\E5\ \ED\E0\"} else={:log info \"\CB\E8\ED\E8\FF \E2\EA\EB\FE\F7\E5\ED\E0\"}\r\ \n:log info \"------------------------------\";\r\ \n:log info \"\";\r\ \n:log info \$IOstatus;\r\ \n\r\ \n" add name=call_Func_NP_SetIO owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \E2 Nio \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\EC\E5\F0\ \_\EB\E8\ED\E8\E8\r\ \n# IOstatus - \E4\E5\E9\F1\F2\E2\E8\E5\r\ \n\r\ \n:global NPadr\r\ \n:set NPadr \"192.168.0.4:8021\"\r\ \n\r\ \n:global FuncNPSetIO; \r\ \n\r\ \n:local NPanswer [\$FuncNPSetIO Nio=\"1\" IOstatus=\"f\"]\r\ \n:log info \$NPanswer;\r\ \n" add name=Func_NP_invtime_IO owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="#######\ ######### FuncNPinvtimeIO ###################################\r\ \n# \D4\F3\ED\EA\F6\E8\FF \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\E0\ED\E8\FF \F1\ \EE\F1\F2\EE\FF\ED\E8\FF I/O \EB\E8\ED\E8\E8 PDU Netping \ED\E0 \E2\F0\E5\ \EC\FF\r\ \n# (\E2\FB\E4\E0\F7\E0 \E8\EC\EF\F3\EB\FC\ \F1\E0)\r\ \n# by Sergej Serkov 01.12.2017\r\ \n##################################################################\r\ \n\r\ \n# \F3\F1\F2\E0\ED\E0\E2\EB\E8\E2\E0\E5\EC\E0\FF \EB\E8\ED\E8\FF \E4\EE\ \EB\E6\ED\E0 \E1\FB\F2\FC \F1\EA\EE\ED\F4\E8\E3\F3\F0\E8\F0\EE\E2\E0\ED\E0\ \_\ED\E0 \E2\FB\E2\EE\E4 !\r\ \n\r\ \n# \EE\E1\FB\F7\ED\EE \E2 \F3\F1\F2\F0\EE\E9\F1\F2\E2\E0\F5 \CD\E5\F2\EF\ \E8\ED\E3 \EF\F0\E8\EC\E5\ED\FF\E5\F2\F1\FF \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\ \E0\ED\ED\E0\FF \EB\EE\E3\E8\EA\E0 \EB\E8\ED\E8\E9:\r\ \n# \EF\F0\E8 \EB\EE\E3\E8\F7\E5\F1\EA\EE\EC 0 \ED\E0 \EB\E8\ED\E8\E8 - \ \ED\E0\E3\F0\F3\E7\EA\E0 \E2\EA\EB\FE\F7\E0\E5\F2\F1\FF\r\ \n# \EF\F0\E8 \EB\EE\E3\E8\F7\E5\F1\EA\EE\E9 1 \ED\E0 \EB\E8\ED\E8\E8 - \ \E2\FB\EA\EB\FE\F7\E0\E5\F2\F1\FF\r\ \n# \E4\EB\FF \F2\E0\EA\E8\F5 \F3\F1\F2\F0\EE\E9\F1\F2\E2 \ED\F3\E6\ED\EE \ \F0\E0\F1\EA\EE\EC\EC\E5\ED\F2\E8\F0\EE\E2\E0\F2\FC \E7\E0\EA\EE\EC\EC\E5\ \ED\F2\E8\F0\EE\E2\E0\ED\ED\FB\E5 \F1\F2\F0\EE\EA\E8\r\ \n# \FD\F2\EE\E9 \F4\F3\ED\EA\F6\E8\E8 - \F1\EC. \ED\E8\E6\E5 \r\ \n\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\E0 \F4\F3\ED\EA\ \F6\E8\E8 \E2 Nio \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\EC\ \E5\F0 \EB\E8\ED\E8\E8 \E2\E2\EE\E4\E0/\E2\FB\E2\EE\E4\E0\r\ \n# \E2 IOtime - \E2\F0\E5\EC\FF \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\E0\ED\E8\ \FF \E2 \F1\E5\EA\F3\ED\E4\E0\F5\r\ \n# \C2\FB\E7\EE\E2 \F4\F3\ED\EA\F6\E8\E8\r\ \n# [\$FuncNPSetIO Nio=\"2\" IOtime=\"5\"]\r\ \n# \EE\F2\E2\E5\F2 \E8\F1\EF\EE\EB\ED\E5\ED\E8\FF \E2\EE\E7\E2\F0\E0\F9\ \E0\E5\F2\F1\FF \E2 \$NPanswer\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \F3\F1\F2\E0\ED\ \E0\E2\EB\E8\E2\E0\FE\F9\F3\FE \EB\E8\ED\E8\FE \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPinvtimeIO do={:global NPuser; :global NPpass; : global NPa\ dr; :local StrFetchIO; \r\ \n:set StrFetchIO (\"http://\".\"\$NPadr\".\"/io.cgi\\\?io\".\"\$Nio\".\"=\ f,\".\"\$IOtime\"); [/tool fetch url=\$StrFetchIO mode=http user=\$NPuser \ password=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:return \$NPanswer}\r\ \n" add name=call_Func_NP_mode_IO owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \E2 Nio \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\EC\E5\F0\ \_\EB\E8\ED\E8\E8\r\ \n# IOmode - \F3\F1\F2\E0\ED\E0\E2\EB\E8\E2\E0\E5\EC\FB\E9 \F0\E5\E6\E8\EC\ \_\EB\E8\ED\E8\E8 (0-\E2\F5\EE\E4; 1-\E2\FB\F5\EE\E4; 2-\E2\FB\F5\EE\E4 \ \EB\EE\E3\E8\EA\E8)\r\ \n\r\ \n:global NPadr\r\ \n:set NPadr \"192.168.0.4:8021\"\r\ \n\r\ \n:global FuncNPmodeIO; \r\ \n\r\ \n:local NPanswer [\$FuncNPmodeIO Nio=\"1\" IOmode=\"0\"]\r\ \n:log info \$NPanswer;\r\ \n" add name=Func_NP_modeIO owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="#######\ ######### FuncNPmodeIO #################\r\ \n# \D4\F3\ED\EA\F6\E8\FF \ED\E0\F1\F2\F0\EE\E9\EA\E8 I/O \EB\E8\ED\E8\E8\ \_PDU Netping\r\ \n# by Sergej Serkov 01.12.2017\r\ \n###############################################\r\ \n\r\ \n\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\EE\E2 \F4\F3\ED\ \EA\F6\E8\E8 \E2 Nio \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\ \EC\E5\F0 \EB\E8\ED\E8\E8 \E2\E2\EE\E4\E0/\E2\FB\E2\EE\E4\E0\r\ \n# \E2 IOmode - \F3\F1\F2\E0\ED\E0\E2\EB\E8\E2\E0\E5\EC\FB\E9 \F0\E5\E6\ \E8\EC \EB\E8\ED\E8\E8 (0-\E2\F5\EE\E4; 1-\E2\FB\F5\EE\E4; 2-\E2\FB\F5\EE\ \E4 \EB\EE\E3\E8\EA\E8)\r\ \n# \C2\FB\E7\EE\E2 \F4\F3\ED\EA\F6\E8\E8\r\ \n# [\$FuncNPmodeIO Nio=\"2\" IOmode=\"1\"]\r\ \n# \EE\F2\E2\E5\F2 \E8\F1\EF\EE\EB\ED\E5\ED\E8\FF \E2\EE\E7\E2\F0\E0\F9\ \E0\E5\F2\F1\FF \E2 \$NPanswer\r\ \n\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \F3\F1\F2\E0\ED\ \E0\E2\EB\E8\E2\E0\FE\F9\F3\FE \EB\E8\ED\E8\FE \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPmodeIO do={:global NPuser; :global NPpass; : global NPadr;\ \_:local StrFetchIO; \r\ \n:set StrFetchIO (\"http://\".\"\$NPadr\".\"/io.cgi\\\?io\".\"\$Nio\".\"&\ mode=\".\"\$IOmode\"); [/tool fetch url=\$StrFetchIO mode=http user=\$NPus\ er password=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:return \$NPanswer}\r\ \n" add comment="\E1\E8\E1\EB\E8\EE\F2\E5\EA\E0 \F4\F3\ED\EA\F6\E8\E9 Func_NP v.2.\ 0 (c \EF\EE\E4\E4\E5\F0\E6\EA\EE\E9 i/o \EB\E8\ED\E8\E9)" name=\ Func_NP_library owner=puh policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive source="#######\ ######### Functions NetPing Library ###############\r\ \n# \C1\E8\E1\EB\E8\EE\F2\E5\EA\E0 \F4\F3\ED\EA\F6\E8\E9 \ \E4\EB\FF PDU Netping\r\ \n# by Sergej Serkov 01.12.2017\r\ \n# \E2\E5\F0\F1\E8\FF 2.\ 0\r\ \n#####################################################\r\ \n\r\ \n# \F1\EE\E4\E5\F0\E6\E8\F2 \F1\EB\E5\E4\F3\FE\F9\E8\E5 \F4\F3\ED\EA\F6\ \E8\E8:\r\ \n# --------------------------------------------------\r\ \n# FuncNPSetrele - \F3\F1\F2\E0\ED\EE\E2\EA\E0 \F0\E5\EB\E5\r\ \n# FuncNPGetrele - \EE\EF\F0\EE\F1 \F1\EE\F1\F2\EE\FF\ED\E8\FF \F0\E5\EB\ \E5\r\ \n# FuncNPTermo - \EE\EF\F0\EE\F1 \E4\E0\F2\F7\E8\EA\E0 \F2\E5\EC\EF\E5\F0\ \E0\F2\F3\F0\FB\r\ \n# FuncNPHtr - \EE\EF\F0\EE\F1 \F2\E5\EC\EF\E5\F0\E0\F2\F3\F0\FB \E2 \EA\ \EE\EC\E1\E8\ED\E8\F0\EE\E2\E0\ED\ED\EE\EC \E4\E0\F2\F7\E8\EA\E5 \F2\E5\EC\ \EF\E5\F0\E0\F2\F3\F0\FB/\E2\EB\E0\E6\ED\EE\F1\F2\E8\r\ \n# FuncNPHhd - \EE\EF\F0\EE\F1 \E2\EB\E0\E6\ED\EE\F1\F2\E8 \E2 \EA\EE\EC\ \E1\E8\ED\E8\F0\EE\E2\E0\ED\ED\EE\EC \E4\E0\F2\F7\E8\EA\E5 \F2\E5\EC\EF\E5\ \F0\E0\F2\F3\F0\FB/\E2\EB\E0\E6\ED\EE\F1\F2\E8\r\ \n# FuncNPmodeIO - \F3\F1\F2\E0\ED\E0\E2\EB\E8\E2\E0\E5\F2 \F0\E5\E6\E8\EC\ \_\F0\E0\E1\EE\F2\FB \EB\E8\ED\E8\E8 \E2\E2\EE\E4\E0/\E2\FB\E2\EE\E4\E0\r\ \n# FuncNPSetIO - \E2\EA\EB\FE\F7\E0\E5\F2/\E2\FB\EA\EB\FE\F7\E0\E5\F2/\E8\ \ED\E2\E5\F0\F2\E8\F0\F3\E5\F2 \EB\E8\ED\E8\FE \E2 \F0\E5\E6\E8\EC\E5 \E2\ \FB\F5\EE\E4\E0\r\ \n# FuncNPinvtimeIO - \E8\ED\E2\E5\F0\F2\E8\F0\F3\E5\F2 \EB\E8\ED\E8\FE \ \ED\E0 IOtime \F1\E5\EA\F3\ED\E4 \E2 \F0\E5\E6\E8\EC\E5 \E2\FB\F5\EE\E4\E0\ \r\ \n# FuncNPGetIO - \E7\E0\EF\F0\E0\F8\E8\E2\E0\E5\F2 \F1\EE\F1\F2\EE\FF\ED\ \E8\E5 \EB\E8\ED\E8\E8\r\ \n\r\ \n# \EE\E1\F9\E8\E5 \EF\E5\F0\E5\EC\E5\ED\ED\FB\E5 \E4\EB\FF \E2\F1\E5\F5 \ \F4\F3\ED\EA\F6\E8\E9 \CD\E5\F2\EF\E8\ED\E3\r\ \n# \E4\EE\F1\F2\F3\EF \EA \F3\F1\F2\F0\EE\E9\F1\F2\E2\F3\r\ \n\r\ \n:global NPuser \"visor\"; # \E0\E4\EC\E8\ED\E8\F1\F2\F0\E0\F2\EE\F0 \CD\ \E5\F2\EF\E8\ED\E3-\F3\F1\F2\F0\EE\E9\F1\F2\E2\E0 \r\ \n:global NPpass \"ping\"; # \EF\E0\F0\EE\EB\FC \E4\EE\F1\F2\F3\EF\E0 \EA \ \F3\F1\F2\F0\EE\E9\F1\F2\E2\F3\r\ \n:global NPadr \"192.168.0.100\"; # \E0\E4\F0\E5\F1 \F3\F1\F2\F0\EE\E9\F1\ \F2\E2\E0 \CD\E5\F2\EF\E8\ED\E3;\r\ \n\r\ \n################ FuncNPSetrele ###############\r\ \n# \D4\F3\ED\EA\F6\E8\FF \F3\F1\F2\E0\ED\EE\E2\EA\E8 \F1\EE\F1\F2\EE\FF\ \ED\E8\FF \F0\E5\EB\E5 PDU Netping\r\ \n# by Sergej Serkov 25.09.2017\r\ \n#############################################\r\ \n\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\EE\E2 \F4\F3\ED\ \EA\F6\E8\E8 \E2 Nrele \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\ \EE\EC\E5\F0 \F0\E5\EB\E5\r\ \n# \E2 Rstatus - \F1\EE\E2\E5\F0\F8\E0\E5\EC\EE\E5 \E4\E5\E9\F1\F2\E2\E8\ \E5 (0-\E2\FB\EA\EB\FE\F7\E8\F2\FC; 1-\E2\EA\EB\FE\F7\E8\F2\FC)\r\ \n# \C2\FB\E7\EE\E2 \F4\F3\ED\EA\F6\E8\E8\r\ \n# [\$FuncNPSetrele Nrele=\"2\" Rstatus=\"1\"]\r\ \n# \EE\F2\E2\E5\F2 \E8\F1\EF\EE\EB\ED\E5\ED\E8\FF \E2\EE\E7\E2\F0\E0\F9\ \E0\E5\F2\F1\FF \E2 \$NPanawer\r\ \n\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \F3\F1\F2\E0\ED\ \E0\E2\EB\E8\E2\E0\FE\F9\F3\FE \F0\E5\EB\E5 \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPSetrele do={:global NPuser; :global NPpass; : global NPadr\ ; :local StrFetchRele; :set StrFetchRele (\"http://\".\"\$NPadr\".\"/relay\ .cgi\\\?r\".\"\$Nrele\".\"=\".\"\$Rstatus\"); [/tool fetch url=\$StrFetchR\ ele mode=http user=\$NPuser password=\$NPpass dst-path=\"NPanswer.txt\";];\ \r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:return \$NPanswer}\r\ \n\r\ \n############## FuncNPGetrele ###############\r\ \n# \D4\F3\ED\EA\F6\E8\FF \EE\EF\F0\EE\F1\E0 \F1\EE\F1\F2\EE\FF\ED\E8\FF \ \F0\E5\EB\E5 PDU Netping\r\ \n# by Sergej Serkov 22.09.2017\r\ \n###########################################\r\ \n\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\E0 \F4\F3\ED\EA\ \F6\E8\E8 Nrele \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\EC\ \E5\F0 \F0\E5\EB\E5\r\ \n# \CD\E0\EF\F0\E8\EC\E5\F0 \EE\EF\F0\E0\F8\E8\E2\E0\E5\EC \E2\F2\EE\F0\ \EE\E5 \F0\E5\EB\E5:\r\ \n# [\$FuncNPGetrele Nrele=\"2\"]\r\ \n\r\ \n# \E2\EE\E7\E2\F0\E0\F9\E0\E5\F2 \EE\F2\E2\E5\F2 \CD\E5\F2\EF\E8\ED\E3 \ \E2 \$NPanswer\r\ \n\r\ \n# \F2\E0\EA\E6\E5 \E2\EE\E7\E2\F0\E0\F9\E0\E5\F2 \E2 \E3\EB\EE\E1\E0\EB\ \FC\ED\FB\F5 \EF\E5\F0\E5\EC\E5\ED\ED\FB\F5:\r\ \n# ----------------------------------------------------------------------\ -------\r\ \n# relechannel - \EA\E0\ED\E0\EB \F3\EF\F0\E0\E2\EB\E5\ED\E8\FF \F0\E5\EB\ \E5\r\ \n# 0 - \E2\FB\EA\EB\FE\F7\E5\ED\EE \E2 \F0\F3\F7\ED\F3\FE\r\ \n# 1- \E2\EA\EB\FE\F7\E5\ED\EE \E2 \F0\F3\F7\ED\F3\FE\r\ \n# 2 - \F0\E0\E1\EE\F2\E0\E5\F2 \EE\F2 \EA\E0\ED\E0\EB\E0 \"\D1\F2\EE\F0\ \EE\E6\"\r\ \n# 3 - \F0\E0\E1\EE\F2\E0\E5\F2 \EF\EE \F0\E0\F1\EF\E8\F1\E0\ED\E8\FE\r\ \n# 4 - \F0\E0\F1\EF\E8\F1\E0\ED\E8\E5 + \F1\F2\EE\F0\EE\E6\r\ \n# 5 - \F3\EF\F0\E0\E2\EB\FF\E5\F2\F1\FF \EC\EE\E4\F3\EB\E5\EC \"\CB\EE\ \E3\E8\EA\E0\"\r\ \n# 6 - \F0\E0\F1\EF\E8\F1\E0\ED\E8\E5 + \EB\EE\E3\E8\EA\E0\r\ \n\r\ \n# relestatus - \F1\EE\F1\F2\EE\FF\ED\E8\E5 \F0\E5\EB\E5\r\ \n# 0 - \E2\FB\EA\EB\FE\F7\E5\ED\EE;\r\ \n# 1 - \E2\EA\EB\FE\F7\E5\ED\EE;\r\ \n\r\ \n\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \E2\EE\E7\E2\F0\ \E0\F9\E0\FE\F9\F3\FE \EE\F2\E2\E5\F2 \EE\F2 \F0\E5\EB\E5 \CD\E5\F2\EF\E8\ \ED\E3\r\ \n:global FuncNPGetrele do={:global NPuser; :global NPpass; global NPadr; \ :local StrFetchRele; :set StrFetchRele (\"http://\".\"\$NPadr\".\"/relay.c\ gi\\\?r\".\"\$Nrele\"); [/tool fetch url=\$StrFetchRele mode=http user=\$N\ Puser password=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:local endLoc;\r\ \n:set \$endLoc [:find \$NPanswer \",\"];\r\ \n:global relechannel [:pick \$NPanswer (\$endLoc+2) (\$endLoc+3)]; # \EA\ \E0\ED\E0\EB \F3\EF\F0\E0\E2\EB\E5\ED\E8\FF \F0\E5\EB\E5;\r\ \n:global relestatus [:pick \$NPanswer (\$endLoc+5) (\$endLoc+6)]; # \F1\ \EE\F1\F2\EE\FF\ED\E8\E5 \F0\E5\EB\E5;\r\ \n:return \$NPanswer\r\ \n}\r\ \n\r\ \n################ FuncNPTermo ##################\r\ \n# \D4\F3\ED\EA\E8\FF \EE\EF\F0\EE\F1\E0 \F2\E5\F0\EC\EE\E4\E0\F2\F7\E8\ \EA\E0 PDU Netping\r\ \n# by Sergej Serkov 25.09.2017\r\ \n#############################################\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \EE\E1\FA\FF\E2\E8\F2\FC \E3\EB\EE\E1\E0\EB\FC\ED\FB\E5 \EF\E5\F0\E5\ \EC\E5\ED\ED\FB\E5 \$Termotemp \E8 \$Termostatus\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\E0 \F4\F3\ED\EA\ \F6\E8\E8 NPtr \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\EC\E5\ \F0 \F2\E5\F0\EC\EE\E4\E0\F2\F7\E8\EA\E0\r\ \n# \CD\E0\EF\F0\E8\EC\E5\F0 \EE\EF\F0\E0\F8\E8\E2\E0\E5\EC \E2\F2\EE\F0\ \EE\E9 \F2\E5\F0\EC\EE\E4\E0\F2\F7\E8\EA:\r\ \n# [\$FuncNPTermo NPtr=\"2\"]\r\ \n# \EE\F2\E2\E5\F2 \E2\EE\E7\E2\F0\E0\F9\E0\E5\F2 \E2 \$NPanswer \E2 \E2\ \E8\E4\E5 \"thermo_result('ok', t, s)\"\r\ \n# \E5\F1\EB\E8 s (\$Termostatus)=0 - \$NPanswer=\"ThermoERROR\" (\C4\E0\ \F2\F7\E8\EA \ED\E5 \EF\EE\E4\EA\EB\FE\F7\E5\ED \E8\EB\E8 \EE\F2\EA\E0\E7 \ \E4\E0\F2\F7\E8\EA\E0)\r\ \n# 1 - \F2\E5\EC\EF\E5\F0\E0\F2\F3\F0\E0 \ED\E8\E6\E5 \ED\EE\F0\EC\FB;\r\ \n# 2 - \F2\E5\EC\EF\E5\F0\E0\F2\F3\F0\E0 \E2 \ED\EE\F0\EC\E5;\r\ \n# 3 - \F2\E5\EC\EF\E5\F0\E0\F2\F3\F0\E0 \E2\FB\F8\E5 \ED\EE\F0\EC\FB;\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \EE\EF\F0\E0\F8\ \E8\E2\E0\FE\F9\F3\FE \F2\E5\F0\EC\EE\E4\E0\F2\F7\E8\EA \F1 \ED\EE\EC\E5\ \F0\EE\EC NPtr \F3\F1\F2\F0\EE\E9\F1\F2\E2\E0 \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPTermo do={:global NPuser; :global NPpass; :local StrFetchT\ ermo; :global NPadr; :set StrFetchTermo (\"http://\".\"\$NPadr\".\"/thermo\ .cgi\?t\".\"\$NPtr\"); [/tool fetch url=\$StrFetchTermo mode=http user=\$N\ Puser password=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:log info \$NPanswer;\r\ \n\r\ \n# \E1\EB\EE\EA \E2\FB\F7\E8\F1\EB\E5\ED\E8\FF \E8\E7 \EE\F2\E2\E5\F2\E0 \ \CD\E5\F2\EF\E8\ED\E3 \F2\E5\EC\EF\E5\F0\E0\F2\F3\F0\FB \ED\E0 \E4\E0\F2\ \F7\E8\EA\E5 \E8 \F1\F2\E0\F2\F3\F1 \E4\E0\F2\F7\E8\EA\E0\r\ \n:global Termotemp;\r\ \n:global Termostatus;\r\ \n:local string \$NPanswer;\r\ \n:local resultlen [:len \$string];\r\ \n:local startloc 0\r\ \n:local endloc (\$resultlen-1)\r\ \n:set string [:pick \$string \$startloc \$endloc];\r\ \n:local endloc [:find \$string \",\"]\r\ \n:set string [:pick \$string (\$endloc+1) \$resultlen];\r\ \n:set startloc [:pick \$string (\$endloc+1) \$resultlen];\r\ \n:local endloc2 [:find [:pick \$string \$startloc \$resultlen] \",\"]\r\ \n:set Termotemp [:pick \$string (\$startloc+1) \$endloc2];\r\ \n:set string [:pick \$string (\$endloc2+1) \$resultlen];\r\ \n:set startloc [:pick \$string (\$endloc2+1) \$resultlen];\r\ \n:local endloc3 [:find [:pick \$string \$startloc \$resultlen] \")\"]\r\ \n:set Termostatus [:pick \$string (\$startloc+1) \$endloc3];\r\ \n\r\ \n:if (\$Termostatus !=\"0\") do={} else={:set NPanswer \"ThermoERROR\";}\ \r\ \n\r\ \n:return \$NPanswer;}\r\ \n\r\ \n################ FuncNPhumidity ###############\r\ \n# \D4\F3\ED\EA\E8\E8 \EE\EF\F0\EE\F1\E0 \E4\E0\F2\F7\E8\EA\E0 \E2\EB\E0\ \E6\ED\EE\F1\F2\E8 PDU Netping\r\ \n# by Sergej Serkov 25.09.2017\r\ \n##############################################\r\ \n\r\ \n# \ED\F3\E6\ED\EE \F3\EA\E0\E7\FB\E2\E0\F2\FC \ED\EE\EC\E5\F0 \E4\E0\F2\ \F7\E8\EA\E0 Nhd \"0\"\r\ \n#\r\ \n# \EE\E1\FA\FF\E2\E8\F2\FC \E3\EB\EE\E1\E0\EB\FC\ED\FB\E5 \EF\E5\F0\E5\ \EC\E5\ED\ED\FB\E5 \$Hamydtemp, \$Hamydtempstatus, \$HamydHD, \$Hamydstatu\ s\r\ \n# \C2\EE\E7\E2\F0\E0\F9\E0\FE\F2 \EE\F2\E2\E5\F2:\r\ \n# \$NPhd - \E2\EB\E0\E6\ED\EE\F1\F2\FC \E4\E0\F2\F7\E8\EA\E0\r\ \n# \$NPtr - \F2\E5\EC\EF\E5\F0\E0\F2\F3\F0\E0 \E4\E0\F2\F7\E8\EA\E0\r\ \n# \EE\F2\E2\E5\F2 \E2\EE\E7\E2\F0\E0\F9\E0\E5\F2 \E2 \E2\E8\E4\E5 \"relh\ um_result('ok', t, s)\" \E8 \"relhum_result('ok', h, s)\"\r\ \n# \E5\F1\EB\E8 s (\$Hamydtempstatus) = 0 - \$NPtr =\"HamidityThermoERROR\ \" (\C4\E0\F2\F7\E8\EA \ED\E5 \EF\EE\E4\EA\EB\FE\F7\E5\ED \E8\EB\E8 \EE\F2\ \EA\E0\E7 \E4\E0\F2\F7\E8\EA\E0);\r\ \n# \E0\ED\E0\EB\EE\E3\E8\F7\ED\EE \$NPhd = \"HamidityERROR\"\r\ \n# 1 - \F2\E5\EC\EF\E5\F0\E0\F2\F3\F0\E0/\E2\EB\E0\E6\ED\EE\F1\F2\FC \ED\ \E8\E6\E5 \ED\EE\F0\EC\FB;\r\ \n# 2 - \E2 \ED\EE\F0\EC\E5;\r\ \n# 3 - \E2\FB\F8\E5 \ED\EE\F0\EC\FB;\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \E2\EE\E7\E2\F0\ \E0\F9\E0\FE\F9\F3\FE \EE\F2\E2\E5\F2 \F2\E5\EC\EF\E5\F0\E0\F2\F3\F0\FB \ \EE\F2 \E4\E0\F2\F7\E8\EA\E0 \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPHtr do={:global NPuser; :global NPpass; :global NPadr; :lo\ cal StrFetchTR; :set StrFetchTR (\"http://\".\"\$NPadr\".\"/relhum.cgi\?t\ \".\"\$Nhd\"); [/tool fetch url=\$StrFetchTR mode=http user=\$NPuser passw\ ord=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPtr [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n\r\ \n:global Hamydtemp;\r\ \n:global Hamydtempstatus;\r\ \n:local string \$NPtr;\r\ \n:local resultlen [:len \$string];\r\ \n:local startloc 0\r\ \n:local endloc (\$resultlen-1)\r\ \n:set string [:pick \$string \$startloc \$endloc];\r\ \n:local endloc [:find \$string \",\"]\r\ \n:set string [:pick \$string (\$endloc+1) \$resultlen];\r\ \n:set startloc [:pick \$string (\$endloc+1) \$resultlen];\r\ \n:local endloc2 [:find [:pick \$string \$startloc \$resultlen] \",\"]\r\ \n:set Hamydtemp [:pick \$string (\$startloc+1) \$endloc2];\r\ \n:set string [:pick \$string (\$endloc2+1) \$resultlen];\r\ \n:set startloc [:pick \$string (\$endloc2+1) \$resultlen];\r\ \n:local endloc3 [:find [:pick \$string \$startloc \$resultlen] \")\"]\r\ \n:set Hamydtempstatus [:pick \$string (\$startloc+1) \$endloc3];\r\ \n\r\ \n:if (\$Hamydtempstatus !=\"0\") do={} else={:set NPtr \"HamidityThermoER\ ROR\";}\r\ \n\r\ \n:return \$NPtr}\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \E2\EE\E7\E2\F0\ \E0\F9\E0\FE\F9\F3\FE \EE\F2\E2\E5\F2 \E2\EB\E0\E6\ED\EE\F1\F2\FC \EE\F2 \ \E4\E0\F2\F7\E8\EA\E0 \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPHhd do={:global NPuser; :global NPpass; :global NPadr; :lo\ cal StrFetchHD; :set StrFetchHD (\"http://\".\"\$NPadr\".\"/relhum.cgi\?h\ \".\"\$Nhd\"); [/tool fetch url=\$StrFetchHD mode=http user=\$NPuser passw\ ord=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPhd [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n\r\ \n:global HamydHD;\r\ \n:global Hamydstatus;\r\ \n:local string \$NPhd;\r\ \n:local resultlen [:len \$string];\r\ \n:local startloc 0\r\ \n:local endloc (\$resultlen-1)\r\ \n:set string [:pick \$string \$startloc \$endloc];\r\ \n:local endloc [:find \$string \",\"]\r\ \n:set string [:pick \$string (\$endloc+1) \$resultlen];\r\ \n:set startloc [:pick \$string (\$endloc+1) \$resultlen];\r\ \n:local endloc2 [:find [:pick \$string \$startloc \$resultlen] \",\"]\r\ \n:set HamydHD [:pick \$string (\$startloc+1) \$endloc2];\r\ \n:set string [:pick \$string (\$endloc2+1) \$resultlen];\r\ \n:set startloc [:pick \$string (\$endloc2+1) \$resultlen];\r\ \n:local endloc3 [:find [:pick \$string \$startloc \$resultlen] \")\"]\r\ \n:set Hamydstatus [:pick \$string (\$startloc+1) \$endloc3];\r\ \n\r\ \n:if (\$Hamydstatus !=\"0\") do={} else={:set NPhd \"HamidityERROR\";}\r\ \n\r\ \n:return \$NPhd}\r\ \n\r\ \n\r\ \n\r\ \n################ FuncNPmodeIO #################\r\ \n# \D4\F3\ED\EA\F6\E8\FF \ED\E0\F1\F2\F0\EE\E9\EA\E8 I/O \EB\E8\ED\E8\E8\ \_PDU Netping\r\ \n# by Sergej Serkov 01.12.2017\r\ \n###############################################\r\ \n\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\EE\E2 \F4\F3\ED\ \EA\F6\E8\E8 \E2 Nio \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\ \EC\E5\F0 \EB\E8\ED\E8\E8 \E2\E2\EE\E4\E0/\E2\FB\E2\EE\E4\E0\r\ \n# \E2 IOmode - \F3\F1\F2\E0\ED\E0\E2\EB\E8\E2\E0\E5\EC\FB\E9 \F0\E5\E6\ \E8\EC \EB\E8\ED\E8\E8 (0-\E2\F5\EE\E4; 1-\E2\FB\F5\EE\E4; 2-\E2\FB\F5\EE\ \E4 \EB\EE\E3\E8\EA\E8)\r\ \n# \C2\FB\E7\EE\E2 \F4\F3\ED\EA\F6\E8\E8\r\ \n# [\$FuncNPmodeIO Nio=\"2\" IOmode=\"1\"]\r\ \n# \EE\F2\E2\E5\F2 \E8\F1\EF\EE\EB\ED\E5\ED\E8\FF \E2\EE\E7\E2\F0\E0\F9\ \E0\E5\F2\F1\FF \E2 \$NPanswer\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \F3\F1\F2\E0\ED\ \E0\E2\EB\E8\E2\E0\FE\F9\F3\FE \EB\E8\ED\E8\FE \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPmodeIO do={:global NPuser; :global NPpass; : global NPadr;\ \_:local StrFetchIO; \r\ \n:set StrFetchIO (\"http://\".\"\$NPadr\".\"/io.cgi\\\?io\".\"\$Nio\".\"&\ mode=\".\"\$IOmode\"); [/tool fetch url=\$StrFetchIO mode=http user=\$NPus\ er password=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:return \$NPanswer}\r\ \n\r\ \n\r\ \n################ FuncNPSetIO ###############\r\ \n# \D4\F3\ED\EA\F6\E8\FF \F3\F1\F2\E0\ED\EE\E2\EA\E8 \F1\EE\F1\F2\EE\FF\ \ED\E8\FF I/O \EB\E8\ED\E8\E8 PDU Netping\r\ \n# by Sergej Serkov 01.12.2017\r\ \n#############################################\r\ \n\r\ \n# \F3\F1\F2\E0\ED\E0\E2\EB\E8\E2\E0\E5\EC\E0\FF \EB\E8\ED\E8\FF \E4\EE\ \EB\E6\ED\E0 \E1\FB\F2\FC \F1\EA\EE\ED\F4\E8\E3\F3\F0\E8\F0\EE\E2\E0\ED\E0\ \_\ED\E0 \E2\FB\E2\EE\E4 !\r\ \n\r\ \n# \EE\E1\FB\F7\ED\EE \E2 \F3\F1\F2\F0\EE\E9\F1\F2\E2\E0\F5 \CD\E5\F2\EF\ \E8\ED\E3 \EF\F0\E8\EC\E5\ED\FF\E5\F2\F1\FF \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\ \E0\ED\ED\E0\FF \EB\EE\E3\E8\EA\E0 \EB\E8\ED\E8\E9:\r\ \n# \EF\F0\E8 \EB\EE\E3\E8\F7\E5\F1\EA\EE\EC 0 \ED\E0 \EB\E8\ED\E8\E8 - \ \ED\E0\E3\F0\F3\E7\EA\E0 \E2\EA\EB\FE\F7\E0\E5\F2\F1\FF\r\ \n# \EF\F0\E8 \EB\EE\E3\E8\F7\E5\F1\EA\EE\E9 1 \ED\E0 \EB\E8\ED\E8\E8 - \ \E2\FB\EA\EB\FE\F7\E0\E5\F2\F1\FF\r\ \n# \E4\EB\FF \F2\E0\EA\E8\F5 \F3\F1\F2\F0\EE\E9\F1\F2\E2 \ED\F3\E6\ED\EE \ \F0\E0\F1\EA\EE\EC\EC\E5\ED\F2\E8\F0\EE\E2\E0\F2\FC \E7\E0\EA\EE\EC\EC\E5\ \ED\F2\E8\F0\EE\E2\E0\ED\ED\FB\E5 \F1\F2\F0\EE\EA\E8\r\ \n# \FD\F2\EE\E9 \F4\F3\ED\EA\F6\E8\E8 - \F1\EC. \ED\E8\E6\E5 \r\ \n\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\EE\E2 \F4\F3\ED\ \EA\F6\E8\E8 \E2 Nio \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\ \EC\E5\F0 \EB\E8\ED\E8\E8 \E2\E2\EE\E4\E0/\E2\FB\E2\EE\E4\E0\r\ \n# \E2 IOstatus - \F1\EE\E2\E5\F0\F8\E0\E5\EC\EE\E5 \E4\E5\E9\F1\F2\E2\E8\ \E5 (0-\E2\FB\EA\EB\FE\F7\E8\F2\FC; 1-\E2\EA\EB\FE\F7\E8\F2\FC, f-\E8\ED\ \E2\E5\F0\F2\E8\F0\EE\E2\E0\F2\FC)\r\ \n# \C2\FB\E7\EE\E2 \F4\F3\ED\EA\F6\E8\E8\r\ \n# [\$FuncNPSetIO Nio=\"2\" IOstatus=\"1\"]\r\ \n# \EE\F2\E2\E5\F2 \E8\F1\EF\EE\EB\ED\E5\ED\E8\FF \E2\EE\E7\E2\F0\E0\F9\ \E0\E5\F2\F1\FF \E2 \$NPanswer\r\ \n\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \F3\F1\F2\E0\ED\ \E0\E2\EB\E8\E2\E0\FE\F9\F3\FE \EB\E8\ED\E8\FE \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPSetIO do={:global NPuser; :global NPpass; : global NPadr; \ :local StrFetchIO; \r\ \n\r\ \n# \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\E0\ED\E8\E5 \F1\F2\E0\F2\F3\F1\E0 \EB\ \E8\ED\E8\E8 (\E4\EB\FF \F3\F1\F2\F0\EE\E9\F1\F2\E2 \CD\E5\F2\EF\E8\ED\E3 \ \F1 \EE\E1\F0\E0\F2\ED\EE\E9 \EB\EE\E3\E8\EA\EE\E9);\r\ \n#:if (\$IOstatus=0) do={:set \$IOstatus 1} else={:set \$IOstatus 0}\r\ \n\r\ \n:set StrFetchIO (\"http://\".\"\$NPadr\".\"/io.cgi\\\?io\".\"\$Nio\".\"=\ \".\"\$IOstatus\"); [/tool fetch url=\$StrFetchIO mode=http user=\$NPuser \ password=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:return \$NPanswer}\r\ \n\r\ \n\r\ \n################ FuncNPinvtimeIO ###################################\r\ \n# \D4\F3\ED\EA\F6\E8\FF \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\E0\ED\E8\FF \F1\ \EE\F1\F2\EE\FF\ED\E8\FF I/O \EB\E8\ED\E8\E8 PDU Netping \ED\E0 \E2\F0\E5\ \EC\FF\r\ \n# (\E2\FB\E4\E0\F7\E0 \E8\EC\EF\F3\EB\FC\ \F1\E0)\r\ \n# by Sergej Serkov 01.12.2017\r\ \n##################################################################\r\ \n\r\ \n# \F3\F1\F2\E0\ED\E0\E2\EB\E8\E2\E0\E5\EC\E0\FF \EB\E8\ED\E8\FF \E4\EE\ \EB\E6\ED\E0 \E1\FB\F2\FC \F1\EA\EE\ED\F4\E8\E3\F3\F0\E8\F0\EE\E2\E0\ED\E0\ \_\ED\E0 \E2\FB\E2\EE\E4 !\r\ \n\r\ \n# \EE\E1\FB\F7\ED\EE \E2 \F3\F1\F2\F0\EE\E9\F1\F2\E2\E0\F5 \CD\E5\F2\EF\ \E8\ED\E3 \EF\F0\E8\EC\E5\ED\FF\E5\F2\F1\FF \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\ \E0\ED\ED\E0\FF \EB\EE\E3\E8\EA\E0 \EB\E8\ED\E8\E9:\r\ \n# \EF\F0\E8 \EB\EE\E3\E8\F7\E5\F1\EA\EE\EC 0 \ED\E0 \EB\E8\ED\E8\E8 - \ \ED\E0\E3\F0\F3\E7\EA\E0 \E2\EA\EB\FE\F7\E0\E5\F2\F1\FF\r\ \n# \EF\F0\E8 \EB\EE\E3\E8\F7\E5\F1\EA\EE\E9 1 \ED\E0 \EB\E8\ED\E8\E8 - \ \E2\FB\EA\EB\FE\F7\E0\E5\F2\F1\FF\r\ \n# \E4\EB\FF \F2\E0\EA\E8\F5 \F3\F1\F2\F0\EE\E9\F1\F2\E2 \ED\F3\E6\ED\EE \ \F0\E0\F1\EA\EE\EC\EC\E5\ED\F2\E8\F0\EE\E2\E0\F2\FC \E7\E0\EA\EE\EC\EC\E5\ \ED\F2\E8\F0\EE\E2\E0\ED\ED\FB\E5 \F1\F2\F0\EE\EA\E8\r\ \n# \FD\F2\EE\E9 \F4\F3\ED\EA\F6\E8\E8 - \F1\EC. \ED\E8\E6\E5 \r\ \n\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\E0 \F4\F3\ED\EA\ \F6\E8\E8 \E2 Nio \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\EC\ \E5\F0 \EB\E8\ED\E8\E8 \E2\E2\EE\E4\E0/\E2\FB\E2\EE\E4\E0\r\ \n# \E2 IOtime - \E2\F0\E5\EC\FF \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\E0\ED\E8\ \FF \E2 \F1\E5\EA\F3\ED\E4\E0\F5\r\ \n# \C2\FB\E7\EE\E2 \F4\F3\ED\EA\F6\E8\E8\r\ \n# [\$FuncNPSetIO Nio=\"2\" IOtime=\"5\"]\r\ \n# \EE\F2\E2\E5\F2 \E8\F1\EF\EE\EB\ED\E5\ED\E8\FF \E2\EE\E7\E2\F0\E0\F9\ \E0\E5\F2\F1\FF \E2 \$NPanswer\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \F3\F1\F2\E0\ED\ \E0\E2\EB\E8\E2\E0\FE\F9\F3\FE \EB\E8\ED\E8\FE \CD\E5\F2\EF\E8\ED\E3\r\ \n:global FuncNPinvtimeIO do={:global NPuser; :global NPpass; : global NPa\ dr; :local StrFetchIO; \r\ \n:set StrFetchIO (\"http://\".\"\$NPadr\".\"/io.cgi\\\?io\".\"\$Nio\".\"=\ f,\".\"\$IOtime\"); [/tool fetch url=\$StrFetchIO mode=http user=\$NPuser \ password=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:return \$NPanswer}\r\ \n\r\ \n\r\ \n############## FuncNPGetIO ###############\r\ \n# \D4\F3\ED\EA\E8\FF \EE\EF\F0\EE\F1\E0 \F1\EE\F1\F2\EE\FF\ED\E8\FF I/O \ \EB\E8\ED\E8\E8 PDU Netping\r\ \n# by Sergej Serkov 01.12.2017\r\ \n###########################################\r\ \n\r\ \n# \EE\E1\FB\F7\ED\EE \E2 \F3\F1\F2\F0\EE\E9\F1\F2\E2\E0\F5 \CD\E5\F2\EF\ \E8\ED\E3 \EF\F0\E8\EC\E5\ED\FF\E5\F2\F1\FF \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\ \E0\ED\ED\E0\FF \EB\EE\E3\E8\EA\E0 \EB\E8\ED\E8\E9:\r\ \n# \EF\F0\E8 \EB\EE\E3\E8\F7\E5\F1\EA\EE\EC 0 \ED\E0 \EB\E8\ED\E8\E8 - \ \ED\E0\E3\F0\F3\E7\EA\E0 \E2\EA\EB\FE\F7\E0\E5\F2\F1\FF\r\ \n# \EF\F0\E8 \EB\EE\E3\E8\F7\E5\F1\EA\EE\E9 1 \ED\E0 \EB\E8\ED\E8\E8 - \ \E2\FB\EA\EB\FE\F7\E0\E5\F2\F1\FF\r\ \n# \E4\EB\FF \F2\E0\EA\E8\F5 \F3\F1\F2\F0\EE\E9\F1\F2\E2 \ED\F3\E6\ED\EE \ \F0\E0\F1\EA\EE\EC\EC\E5\ED\F2\E8\F0\EE\E2\E0\F2\FC \E7\E0\EA\EE\EC\EC\E5\ \ED\F2\E8\F0\EE\E2\E0\ED\ED\FB\E5 \F1\F2\F0\EE\EA\E8\r\ \n# \FD\F2\EE\E9 \F4\F3\ED\EA\F6\E8\E8 - \F1\EC. \ED\E8\E6\E5 \r\ \n\r\ \n# \CF\F0\E8\EC\E5\ED\E5\ED\E8\E5:\r\ \n# \C2 \EA\E0\F7\E5\F1\F2\E2\E5 \EF\E0\F0\E0\EC\E5\F2\F0\E0 \F4\F3\ED\EA\ \F6\E8\E8 Nio \ED\F3\E6\ED\EE \EF\E5\F0\E5\E4\E0\E2\E0\F2\FC \ED\EE\EC\E5\ \F0 \EB\E8\ED\E8\E8 \E2\E2\EE\E4\E0/\E2\FB\E2\EE\E4\E0\r\ \n# \CD\E0\EF\F0\E8\EC\E5\F0 \EE\EF\F0\E0\F8\E8\E2\E0\E5\EC \E2\F2\EE\F0\ \F3\FE \EB\E8\ED\E8\FE :\r\ \n# [\$FuncNPGetIO Nio=\"2\"]\r\ \n\r\ \n# \E2\EE\E7\E2\F0\E0\F9\E0\E5\F2 \EE\F2\E2\E5\F2 \CD\E5\F2\EF\E8\ED\E3 \ \E2 \$NPanswer\r\ \n\r\ \n# \F2\E0\EA\E6\E5 \E2\EE\E7\E2\F0\E0\F9\E0\E5\F2 \E2 \E3\EB\EE\E1\E0\EB\ \FC\ED\EE\E9 \EF\E5\F0\E5\EC\E5\ED\ED\EE\E9:\r\ \n# ----------------------------------------------------------------------\ -------\r\ \n\r\ \n# IOstatus - \F1\EE\F1\F2\EE\FF\ED\E8\E5 \EB\E8\ED\E8\E8\r\ \n# 0 - \E2\FB\EA\EB\FE\F7\E5\ED\EE;\r\ \n# 1 - \E2\EA\EB\FE\F7\E5\ED\EE;\r\ \n\r\ \n\r\ \n# \EE\EF\F0\E5\E4\E5\EB\FF\E5\EC \F4\F3\ED\EA\F6\E8\FE, \E2\EE\E7\E2\F0\ \E0\F9\E0\FE\F9\F3\FE \EE\F2\E2\E5\F2 \EE\F2 \EB\E8\ED\E8\E8 I/O \CD\E5\F2\ \EF\E8\ED\E3\r\ \n:global FuncNPGetIO do={:global NPuser; :global NPpass; global NPadr; :l\ ocal StrFetchIO; :set StrFetchIO (\"http://\".\"\$NPadr\".\"/io.cgi\\\?io\ \".\"\$Nio\"); [/tool fetch url=\$StrFetchIO mode=http user=\$NPuser passw\ ord=\$NPpass dst-path=\"NPanswer.txt\";];\r\ \n:delay 2s;\r\ \n:local NPanswer [/file get NPanswer.txt contents];\r\ \n/file remove NPanswer.txt;\r\ \n:local endLoc;\r\ \n:set \$endLoc [:find \$NPanswer \",\"];\r\ \n:global IOstatus [:tonum [:pick \$NPanswer (\$endLoc+6) (\$endLoc+7)]]; \ # \F1\EE\F1\F2\EE\FF\ED\E8\E5 \EB\E8\ED\E8\E8;\r\ \n\r\ \n# \E8\ED\E2\E5\F0\F2\E8\F0\EE\E2\E0\ED\E8\E5 \F1\F2\E0\F2\F3\F1\E0 \EB\ \E8\ED\E8\E8 (\E4\EB\FF \F3\F1\F2\F0\EE\E9\F1\F2\E2 \CD\E5\F2\EF\E8\ED\E3 \ \F1 \EE\E1\F0\E0\F2\ED\EE\E9 \EB\EE\E3\E8\EA\EE\E9);\r\ \n# :if (\$IOstatus=0) do={:set \$IOstatus 1} else={:set \$IOstatus 0}\r\ \n\r\ \n:return \$NPanswer\r\ \n}\r\ \n\r\ \n"