GtDispatchBoolean

Python pydantic class corresponding to json type gt.dispatch.boolean, version 110.

class gwproto.types.GtDispatchBoolean(*, AboutNodeName, ToGNodeAlias, FromGNodeAlias, FromGNodeInstanceId, RelayState, SendTimeUnixMs, TypeName='gt.dispatch.boolean', Version='110')

GridWorks Type Boolean Dispatch.

Boolean dispatch command designed to be sent from an AtomicTNode to a SCADA.

Parameters:
  • AboutNodeName (str)

  • ToGNodeAlias (str)

  • FromGNodeAlias (str)

  • FromGNodeInstanceId (str)

  • RelayState (int)

  • SendTimeUnixMs (int)

  • TypeName (Literal['gt.dispatch.boolean'])

  • Version (Literal['110'])

as_dict()

Translate the object into a dictionary representation that can be serialized into a gt.dispatch.boolean.110 object.

This method prepares the object for serialization by the as_type method, creating a dictionary with key-value pairs that follow the requirements for an instance of the gt.dispatch.boolean.110 type. Unlike the standard python dict method, it makes the following substantive changes: - Enum Values: Translates between the values used locally by the actor to the symbol sent in messages. - Removes any key-value pairs where the value is None for a clearer message, especially in cases with many optional attributes.

It also applies these changes recursively to sub-types.

Return type:

Dict[str, Any]

as_type()

Serialize to the gt.dispatch.boolean.110 representation.

Instances in the class are python-native representations of gt.dispatch.boolean.110 objects, while the actual gt.dispatch.boolean.110 object is the serialized UTF-8 byte string designed for sending in a message.

This method calls the as_dict() method, which differs from the native python dict() in the following key ways: - Enum Values: Translates between the values used locally by the actor to the symbol sent in messages. - - Removes any key-value pairs where the value is None for a clearer message, especially in cases with many optional attributes.

It also applies these changes recursively to sub-types.

Its near-inverse is GtDispatchBoolean.type_to_tuple(). If the type (or any sub-types) includes an enum, then the type_to_tuple will map an unrecognized symbol to the default enum value. This is why these two methods are only ‘near’ inverses.

Return type:

bytes

AboutNodeName:
  • Description: The Spaceheat Node getting dispatched.

  • Format: LeftRightDot

ToGNodeAlias:
  • Description: GNodeAlias of the SCADA.

  • Format: LeftRightDot

FromGNodeAlias:
  • Description: GNodeAlias of AtomicTNode.

  • Format: LeftRightDot

FromGNodeInstanceId:
  • Description: GNodeInstance of the AtomicTNode.

  • Format: UuidCanonicalTextual

RelayState:
  • Description: Relay State (0 or 1). A Relay State of 0 indicates the relay is OPEN (off). A Relay State of 1 indicates the relay is CLOSED (on). Note that 0 means the relay is open whether or not the relay is normally open or normally closed (For a normally open relay, the relay is ENERGIZED when it is in state 0 and DE-ENERGIZED when it is in state 1.)

  • Format: Bit

SendTimeUnixMs:
  • Description: Time the AtomicTNode sends the dispatch, by its clock.

  • Format: ReasonableUnixTimeMs

TypeName:
  • Description: All GridWorks Versioned Types have a fixed TypeName, which is a string of lowercase alphanumeric words separated by periods, most significant word (on the left) starting with an alphabet character, and final word NOT all Hindu-Arabic numerals.

Version:
  • Description: All GridWorks Versioned Types have a fixed version, which is a string of three Hindu-Arabic numerals.

class gwproto.types.gt_dispatch_boolean.check_is_uuid_canonical_textual(v)

Checks UuidCanonicalTextual format

UuidCanonicalTextual format: A string of hex words separated by hyphens of length 8-4-4-4-12.

Parameters:

v (str) – the candidate

Raises:

ValueError – if v is not UuidCanonicalTextual format

class gwproto.types.gt_dispatch_boolean.check_is_bit(v)

Checks Bit format

Bit format: The value must be the integer 0 or the integer 1.

Will not attempt to first interpret as an integer. For example, 1.3 will not be interpreted as 1 but will raise an error.

Parameters:

v (int) – the candidate

Raises:

ValueError – if v is not 0 or 1

class gwproto.types.gt_dispatch_boolean.check_is_left_right_dot(v)

Checks LeftRightDot Format

LeftRightDot format: Lowercase alphanumeric words separated by periods, with the most significant word (on the left) starting with an alphabet character.

Parameters:

v (str) – the candidate

Raises:

ValueError – if v is not LeftRightDot format

class gwproto.types.gt_dispatch_boolean.check_is_reasonable_unix_time_ms(v)

Checks ReasonableUnixTimeMs format

ReasonableUnixTimeMs format: unix milliseconds between Jan 1 2000 and Jan 1 3000

Parameters:

v (int) – the candidate

Raises:

ValueError – if v is not ReasonableUnixTimeMs format

class gwproto.types.GtDispatchBoolean_Maker(about_node_name, to_g_node_alias, from_g_node_alias, from_g_node_instance_id, relay_state, send_time_unix_ms)
Parameters:
  • about_node_name (str)

  • to_g_node_alias (str)

  • from_g_node_alias (str)

  • from_g_node_instance_id (str)

  • relay_state (int)

  • send_time_unix_ms (int)

classmethod dict_to_tuple(d)

Deserialize a dictionary representation of a gt.dispatch.boolean.110 message object into a GtDispatchBoolean python object for internal use.

This is the near-inverse of the GtDispatchBoolean.as_dict() method:
  • Enums: translates between the symbols sent in messages between actors and

the values used by the actors internally once they’ve deserialized the messages.
  • Types: recursively validates and deserializes sub-types.

Note that if a required attribute with a default value is missing in a dict, this method will raise a SchemaError. This differs from the pydantic BaseModel practice of auto-completing missing attributes with default values when they exist.

Parameters:

d (dict) – the dictionary resulting from json.loads(t) for a serialized JSON type object t.

Raises:

SchemaError – if the dict cannot be turned into a GtDispatchBoolean object.

Returns:

GtDispatchBoolean

Return type:

GtDispatchBoolean

classmethod tuple_to_type(tpl)

Given a Python class object, returns the serialized JSON type object.

Parameters:

tpl (GtDispatchBoolean)

Return type:

bytes

classmethod type_to_tuple(t)

Given a serialized JSON type object, returns the Python class object.

Parameters:

t (bytes)

Return type:

GtDispatchBoolean