computergroove Posted August 23, 2014 Share Posted August 23, 2014 Im onsite at a restaurant where they are using IPAD POS machines. 3 Ipad's and 4 Network wired receipt printers. I have all the ip's and I want to know when one of the devices stops communicating to a ping. Is the following correct? While 1 Local $Prn1 = Ping("192.168.1.200", 250) Local $Prn2 = Ping("192.168.1.201", 250) Local $Prn3 = Ping("192.168.1.202", 250) Local $Prn4 = Ping("192.168.1.203", 250) Local $Trm1 = Ping("192.168.1.207", 250) Local $Trm2 = Ping("192.168.1.116", 250) Local $Trn3 = Ping("192.168.1.14", 250) If Not $Prn1 or $Prn2 or $Prn3 or $Prn4 or $Trm1 or $Trm2 or $Trm3 Then; also possible: If @error = 0 Then ... Sleep(5000) Else $sms = _SMS_Start($server,$email,$username,$password,$port,$ssl) _SMS_Send($sms,$number,$service,$message) send("{pause}") EndIf Wend Can I identify which item caused the failing ping with the above code? Get Scite to add a popup when you use a 3rd party UDF -> http://www.autoitscript.com/autoit3/scite/docs/SciTE4AutoIt3/user-calltip-manager.html Link to comment Share on other sites More sharing options...
computergroove Posted August 23, 2014 Author Share Posted August 23, 2014 I just removed the not in the if statement and I didnt get a response with msgbox. Something is not working Get Scite to add a popup when you use a 3rd party UDF -> http://www.autoitscript.com/autoit3/scite/docs/SciTE4AutoIt3/user-calltip-manager.html Link to comment Share on other sites More sharing options...
computergroove Posted August 23, 2014 Author Share Posted August 23, 2014 expandcollapse popup#include <MsgBoxConstants.au3> While 1 Local $Prn1 = Ping("192.168.1.200", 250) Local $Prn2 = Ping("192.168.1.201", 250) Local $Prn3 = Ping("192.168.1.202", 250) Local $Prn4 = Ping("192.168.1.203", 250) Local $Trm1 = Ping("192.168.1.207", 250) Local $Trm2 = Ping("192.168.1.116", 250) Local $Trm3 = Ping("192.168.1.15", 250) If $Prn1 Then; also possible: If @error = 0 Then ... Sleep(5000) Else MsgBox(0,"","Prn1 Stopped Communicating") EndIf If $Prn2 Then; also possible: If @error = 0 Then ... Sleep(5000) Else MsgBox(0,"","Prn2 Stopped Communicating") EndIf If $Prn3 Then; also possible: If @error = 0 Then ... Sleep(5000) Else MsgBox(0,"","Prn3 Stopped Communicating") EndIf If $Prn4 Then; also possible: If @error = 0 Then ... Sleep(5000) Else MsgBox(0,"","Prn4 stopped Communicating") EndIf If $Trm1 Then; also possible: If @error = 0 Then ... Sleep(5000) Else MsgBox(0,"","Waitstation by Kitchen Stopped Communicating") EndIf If $Trm2 Then; also possible: If @error = 0 Then ... Sleep(5000) Else MsgBox(0,"","Bar Terminal Stopped Communicating") EndIf If $Trm3 Then; also possible: If @error = 0 Then ... Sleep(5000) Else MsgBox(0,"","Terminal By Back Door Stopped Communicating") EndIf WEnd This gave me what I wanted Get Scite to add a popup when you use a 3rd party UDF -> http://www.autoitscript.com/autoit3/scite/docs/SciTE4AutoIt3/user-calltip-manager.html Link to comment Share on other sites More sharing options...
guinness Posted August 23, 2014 Share Posted August 23, 2014 Don't declare variables in loops. Declare outside a loop. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
jchd Posted August 23, 2014 Share Posted August 23, 2014 And maybe that with 520+ posts you could have taken the time and pain to learn how to store data in an array and iterate processing on its elements. Local $aDevices = [ _ ["192.168.1.200", "Prn1"], _ ["192.168.1.201", "Prn2"], _ ["192.168.1.202", "Prn3"], _ ["192.168.1.203", "Prn4"], _ ["192.168.1.207", "Waitstation by Kitchen"], _ ["192.168.1.116", "Bar Terminal"], _ ["192.168.1.15", "Terminal By Back Door"] _ ] While 1 For $i = 0 To UBound($aDevices) - 1 If Ping($aDevices[$i][0], 250) Then Sleep(5000) Else MsgBox(0, "", $aDevices[$i][1] & " Stopped Communicating") EndIf Next WEnd 232showtime 1 This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
Gianni Posted August 23, 2014 Share Posted August 23, 2014 also, if a device stops to comunicate for few seconds, will stop the entire loop and the msgbox stay on screen also if device returns on line, another variant could be like this, so the msgbox stays on screen few seconds then will continue check and report again on next loop indicating all devices that are offline (if any), otherwise nothing is reported. Local $aLan[7][2] = [ _ ['192.168.1.200', 'Prn1'], _ ['192.168.1.201', 'Prn2'], _ ['192.168.1.202', 'Prn3'], _ ['192.168.1.203', 'Prn4'], _ ['192.168.1.207', 'Waitstation by Kitchen'], _ ['192.168.1.216', 'Bar Terminal'], _ ['192.168.1.15', 'Terminal By Back Door']] Local $sMsg While 1 $sMsg = "" ; reset message For $i = 0 To UBound($aLan) - 1 If Not Ping($aLan[$i][0], 250) Then $sMsg &= $aLan[$i][1] & @CRLF Next If $sMsg Then MsgBox(48, "Allert!", "Following devices are OFFLine:" & @CRLF & @CRLF & $sMsg, 5) WEnd Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt.... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now