@devctrl/communicator
v5.3.0
Published
Base device communicator files
Downloads
24
Readme
Communicator builds list of device controls (control templates)
Communicator syncs control list with messenger
device controls are paired with application controls based on endpoint and device control name
controls have default usertype, application panel controls may override this type
device commands can be tied to multiple device controls
Communicator receives a control update:
- communicator looks up command for control template
- device string is generated and sent
Communicator receives a device string:
- device string is matched to command
- control templates are looked up for command
- command returns value for each control
Control sync process:
- Communicator builds list of commands and a list of controls
- Controls are synced with server
- ncontrol requests list of server defined controls
- server controls are matched with ncontrol templates based on ctid
- "ctid" and _id are both key fields. _id is the mongo document id, "ctid" is unique within the endpoint communicator instance and generated by the class definition
- ncontrol adds missing control templates and updates server control_templates which do not match class definition
- ncontrol requests list of server defined controls
- server controls are matched with ncontrol templates based on ctid
CHanges from Devctrl-mysql:
- control_template table dropped, fields moved to control objects
- Control Updates:
- not stored in database
- value and source
--- TCPCommunicator/Endpoint status management ---
- Is endpoint enabled? (Endpoint.enabled)
- Is communicator connected to messenger? (Endpoint.communicatorConnected)
- In lieu of communicatorRunning, which is unknowable without communicator connection
- Is device reachable (ping)? (Endpoint.reachable)
- Is device connection established? (Endpoint.connectionEstablished)
- Can communicator log in to device? (Endpoint.loggedIn)
- Is device responsive? (Endpoint.responsive)
- Keep log of last communication, establish maximum time between communication