úÎ<ö8iA      !"#$%&'()*+,-./0123456789:;<=>?@ Safe-Inferred uUsed to identify communication groups. Individual and group addresses are created and inspected in similiar fashion. -myGrpAddr :: GroupAddress myGrpAddr = "1/2/3"or :myGrpAddr :: GroupAddress myGrpAddr = toGroupAddress 1 2 3BInspect the components of a group address in the following manner: &(a, b, c) = fromGroupAddress myGrpAddrUsed to determine a message's origin. Each individual address points to a single device in the system. It is used as follows: WmyDeviceAddr :: IndividualAddress myDeviceAddr = "1.2.3" -- With OverloadedStrings onlyor JmyDeviceAddr :: IndividualAddress myDeviceAddr = toIndividualAddress 1 2 3Use ,, in order to dissect an individual address: .(a, b, c) = fromIndividualAddress myDeviceAddrwhere  (a, b, c)0 are the main-line, sub-line and device address.AGroup by numbers.Inspect an individual address.Create an individual address.Inspect a group address.Create a group address.B,Instance for the OverloadedStrings extensionC,Instance for the OverloadedStrings extension ADBEC ADBEC Safe-Inferred5DPT 9.x -- 16-bit floating (not really) point integer DPT 6.x -- 8-bit signed integer (DPT 4.x and 5.x - 8-bit unsigned integer 4DPT 3.x - 1 control bit and a 3-bit unsigned integerDPT 2.x - 2 bitsDPT 1.x - 1 bitDatapoint Type FGHIJK       FGHIJKNone>A special kind of message targeting only communication groups..Message (very closely related to a CEMI frame)JApplication Protocol Control Information determines the kind of a message.0hIt is possible to connect to a local EIBd server instance via unix socket or remotely via a TCP socket. %connection <- connectLocal "/tmp/eib"or 4connection <- connectRemote "eibd.address.here" 6720LOpaque Connect StructureMSend an APDU to the bus.NGet an APDU from the bus.OOpen a GroupSocket connection.PFunction pointer to the EIBClose procedureQConnect to a local unix socket.R=Connect to a remote socket using a host name and port number.S&Interact with the low-level structure.1+Connect to an EIBd server via a TCP Socket.2,Connect to an EIBd server via a Unix Socket.3Default EIBd portTWord8 to APCI.UAPCI to Word8.4'Fetch a message from the EIBd instance.5$Send a message to the EIBd instance.6Alternative to "sendMessage".7Receive a group message.8Send a group message.1 !"#$%&'()*+,-./0VWLMNOPQRS123TU45678% !"#$%&'()*+,-./012345678%0123/.-,+*)('&%$#"! 45678/.-,+*)('&%$#"! 0VWLMNOPQRS123TU45678None 9Handle cached group valuesX Group Cache:iExecute a GroupM action. Changes to group values will be send to EIBd after the GroupM action has run.;OTry to execute a GroupM action. If it fails return the given alternative value.<?Similar to "tryGroupM" but without an alternative return value.=Update a group value. The new value will be commited to the cache immediately but not to the bus. See "execGroupM" for more.>×Fetch a group value. If a group value is not cached yet, this function will silently fail and stop further instructions. Even in a case of failure, previous changes to group values will be commited to EIBd.?Clear the entire cache.@ Remove one group from the cache. 9X:;<=>?@9:;<=>?@9:;<=>?@ 9X:;<=>?@NoneA  !"#$%&'()*+,-./0123456789:;<=>?@Y       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU0VWXeibd-client-simple-0.0.3EIBd.Client.AddressEIBd.Client.TypesEIBd.Client.ConnectionEIBd.Client.Groups EIBd.Client GroupAddressIndividualAddressfromIndividualAddresstoIndividualAddressfromGroupAddresstoGroupAddressDPTF16DPTS8DPTU8DPTB1U3DPTB2DPTB1 DatapointTypefromDPTtoDPT GroupMessage GroupWrite GroupResponse GroupReadMessage messageSourcemessageDestination messageTPCI messageAPCImessagePayloadAPCIEscapeRestartMaskVersionResponseMaskVersionRead UserMessage MemoryWriteMemoryResponse MemoryRead AdcResponseAdcReadIndividualResponseIndividualRequestIndividualWriteGroupAddrWriteGroupAddrResponse GroupAddrRead Connection connectRemote connectLocal defaultPort recvMessage sendMessage sendMessage'recvGroupMessagesendGroupMessageGroupM execGroupM tryGroupM tryGroupM_putGroupgetGroup clearGroups uncacheGroup groupNumbers$fIsStringGroupAddress$fIsStringIndividualAddress$fShowGroupAddress$fShowIndividualAddress$fDatapointTypeDPTF16$fDatapointTypeInt8$fDatapointTypeWord8$fDatapointTypeDPTB1U3$fDatapointTypeDPTB2$fDatapointTypeBool ConnStruct sendGroup recvGroupopenGroupSocketcloseConnection socketLocal socketRemote withHandletoAPCIfromAPCI connHandle GroupCache