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

contactmanager

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

    SOLEIL Synchrotron

    ContactManager is a device intended to manage local contact for DataStorage, updating its reference in PANIC phonebook.




    License

    It is published under the GNU Lesser General Public License V3
    (see LICENSE.txt file).




    Environment configuration

    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

    Every attributes are at OPERATOR Level.

    Name Dyn
    amic
    Attr.
    type
    R/W
    type
    Data
    type
    Description
    panicPhonebookReady no Scalar READ DEV_BOOLEAN Whether PANIC Phonebook was found.
    contact yes Scalar READ_WRITE DEV_ENUM 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

    Every commands are at OPERATOR Level.

    Name Input type Output type Description
    Init DEV_VOID DEV_VOID This command initializes the device, forcing it to parse its properties and rebuild its attributes.
    State DEV_VOID DEV_STATE This command gets the device state (stored in its device_state data member) and returns it to the caller.
    Status DEV_VOID DEV_STRING 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.
    In this state, you are not authorized to read panicPhonebookReady attribute, nore to read or set contact attribute.
    MOVING Writing PANIC Phonebook and initializing PyAlarm devices.
    In this state, you are not authorized to set contact attribute.
    ON Device is ready to do its job.