Difference between revisions of "Raw Socket Interface"

From Hubitat Documentation
Jump to: navigation, search
(Replaced content with "<big>'''We're moving!''' Please visit http://docs2.hubitat.com for the latest documentation.</big> <big> This document is available at: http://docs2.hubitat.com/en/develo...")
(Tag: Replaced)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
=Overview=
+
<big>'''We're moving!''' Please visit http://docs2.hubitat.com for the latest documentation.</big>
Hubitat allows for opening and maintaining a connection to a tcp socket endpoint from the hub. All code needs to be contained in a driver, there is no option to open a socket connection from an app. Hubitat provides methods to connect and disconnect to the endpoint, in addition it is required to create a method in the driver that accepts incoming messages (parse) and another method that will be called with any status updates for the endpoint (socketStatus).
 
  
=Methods=
+
<big>
 
+
This document is available at: http://docs2.hubitat.com/en/developer/interfaces/raw-socket-interface
==Hubitat Provided Methods (Since 2.1.2)==
+
</big>
 
 
===<code>connect</code>===
 
 
 
:;Signature
 
:: <code>void connect(String ip, int port)</code>
 
:: <code>void connect(String ip, int port, [options (name/value pairs)])</code>
 
 
 
:;Parameters
 
:: ip - The ip address to connect to.
 
:: port - The port to connect to.
 
:: options - Optional parameters to configure the web socket connection. Possible values:
 
:::''byteInterface'' - defaults to 'false'. If set to true, messages are handled as byte arrays and will be hex string encoded.
 
:::''readDelay'' - Optional. The amount of time in milliseconds between reads from the socket, defaults to 150. (Cannot be used with eol)
 
:::''eol'' - Optional. A character that denotes the end of a line. (Cannot be used with readDelay)
 
 
 
:;Examples
 
 
 
// Connect with basic settings
 
interfaces.rawSocket.connect("192.168.1.15", 8064)
 
 
 
===<code>close</code>===
 
 
 
:;Signature
 
:: <code>void close()</code>
 
 
 
:;Examples
 
 
 
// Close connection
 
interfaces.rawSocket.close()
 
 
 
===<code>sendMessage</code>===
 
 
 
:;Signature
 
:: <code>void sendMessage(String message)</code>
 
 
 
:;Parameters
 
:: message - The message to send.  If this connection is a byte interface, then this must be a hex encoded String.
 
 
 
:;Examples
 
 
 
// Send string message
 
interfaces.rawSocket.sendMessage("My message")
 
 
 
 
 
==Hubitat Provided Methods (Deprecated)==
 
 
 
===<code>webSocketConnect</code>===
 
 
 
:;Signature
 
:: <code>void hubitat.helper.InterfaceUtils.webSocketConnect(DeviceWrapper device, String ip, int port)</code>
 
:: <code>void hubitat.helper.InterfaceUtils.webSocketConnect(DeviceWrapper device, String ip, int port, [options (name/value pairs)])</code>
 
 
 
:;Parameters
 
:: device - The current device that is calling the method.
 
:: ip - The ip address to connect to.
 
:: port - The port to connect to.
 
:: options - Optional parameters to configure the web socket connection. Possible values:
 
:::''byteInterface'' - defaults to 'false'. If set to true, messages are handled as byte arrays and will be hex string encoded.
 
:::''readDelay'' - Optional. The amount of time in milliseconds between reads from the socket, defaults to 150. (Cannot be used with eol)
 
:::''eol'' - Optional. A character that denotes the end of a line. (Cannot be used with readDelay)
 
 
 
===<code>webSocketClose</code>===
 
 
 
:;Signature
 
:: <code>void webSocketClose(DeviceWrapper device)</code>
 
 
 
:;Parameters
 
:: device - The current device that is calling the method.
 
 
 
===<code>sendWebSocketMessage</code>===
 
 
 
:;Signature
 
:: <code>void sendWebSocketMessage(DeviceWrapper device, String message)</code>
 
 
 
:;Parameters
 
:: device - The current device that is calling the method.
 
:: message - The message to send.  If this connection is a byte interface, then this must be a hex encoded String.
 
 
 
==User defined methods==
 
 
 
: '''<code>parse(String message)</code>'''  - This method is called with any incoming messages from the socket server. This is a standard method for drivers.
 
 
 
: '''<code>socketStatus(String message)</code>''' - This method is called with any status messages from the socket client connection (disconnections, errors during connect, etc)
 

Latest revision as of 19:51, 25 September 2022

We're moving! Please visit http://docs2.hubitat.com for the latest documentation.

This document is available at: http://docs2.hubitat.com/en/developer/interfaces/raw-socket-interface