Skip to content
Snippets Groups Projects
Select Git revision
  • 467b611c8724bfbd0ee8862e787d7bd5ba8a037a
  • main default protected
  • v0.0.1
3 results

contactmanager

  • Clone with SSH
  • Clone with HTTPS
  • GIRARDOT Raphael's avatar
    Raphael GIRARDOT authored
    467b611c
    History
    Name Last commit Last update
    ContactManager.py
    LICENSE.txt
    README.md

    SOLEIL Synchrotron

    ContactManager

    ContactManager is a device intended to manage local contact for DataStorage, updating its reference in PANIC phonebook.
    It is published under the GNU Lesser General Public License
    (see LICENSE.txt file).

    To properly work, this device needs:

    • Python ≥ 3.6.8
    • pytango ≥ 9.4.1, but ≠ 9.5.1

    Device Properties

    Name Type Description
    ContactKey String The key for which to modify the value in PANIC Phonebook.
    ContactList String[] The contacts this device should know.
    Each contact should be written this way:
    Contact_Name:PhoneBook_Value

    The Contact_Name entries will represent the possible enum labels for contact attribute.
    The PhoneBook_Value is what to write in PANIC Phonebook at the key defined in ContactKey property when contact attribute is set with Contact_Name.

    Example:
    John:john.doe@synchrotron-soleil.fr
    Jack:%JACK
    Telma:telma.louise@synchrotron-soleil.fr

    With this example, contact attribut will have the enum labels ["Unknown", "John", "Jack", "Telma"].

    Attributes

    Name Dynamic Attr. type R/W type Data type Level Description
    panicPhonebookReady false Scalar READ Tango::DEV_BOOLEAN OPERATOR Whether PANIC Phonebook was found.
    contact true Scalar READ_WRITE Tango::DEV_ENUM OPERATOR What to write in PANIC Phonebook for the key defined in ContactKey property.
    The effective written value will be the one in ContactList property for which the key matches the selected label in contact attribute.

    "Unknown" will always be present in enum labels at first index.
    Setting contact attribute with "Unknown" will have effect neither on PANIC Phonebook, nore on contact read value.
    contact read value may return "Unknown" when the value in PANIC Phonebook for the key defined in ContactKey property matches no known value, or when this key is not present in PANIC Phonebook.

    Commands

    Name Input type Output type Level Description
    Init DEV_VOID DEV_VOID OPERATOR This command initializes the device, forcing it to parse its properties and rebuild its attributes.
    State DEV_VOID DEV_STATE OPERATOR This command gets the device state (stored in its device_state data member) and returns it to the caller.
    Status DEV_VOID CONST_DEV_STRING OPERATOR This command gets the device status (stored in its device_status data member) and returns it to the caller.

    States

    Name Description
    ALARM Device failed to update PANIC Phonebook or to init PyAlarm devices.
    FAULT ContactList property is not correcty set.
    INIT Device is initializing, parsing its properties and checking PANIC phonebook availability.
    MOVING Writing PANIC Phonebook and initializing PyAlarm devices.
    ON Device is ready to do its job.