observatory_tnc.yml 10.9 KB
# Schema file to check the syntax of this config file
schema: schema_observatory-2.0.yml

# Here is the description of the configuration of an observatory
OBSERVATORY: 

    name: TNC
    
    # === Inventory of available devices
    # A device is a hardware with a maximum of one connection to drive it with a computer.
    # As a device can be shared with various units, it is defined at the observatory level.
    DEVICES:
    
        # Each device is defined by a specific configuration file that enumarate the components.
        
        - DEVICE: 
            name: AstroMecCA-TM350
            file: device_Astromecca_TM350_sn011.yml
            
        - DEVICE: 
            name: TAROT-meteo
            file: device_Raspberry_TAROT_sn002.yml
            # Describe here the configuration of the device in operation
            network_interface_index: 0
            network_ip: 192.168.0.20

        - DEVICE: 
            name: AstroMecaCA-CS100 # roof of the observatory
            file: device_Astromecca_CS100_sn001.yml
            # Describe here the configuration of the device in operation
            network_interface_index: 0
            network_ip: 192.168.0.21
            
        - DEVICE: 
            name: Takahashi-Epsilon-180ED_001
            file: device_Takahashi_180ED_sn001.yml

        - DEVICE: 
            name: Takahashi-Epsilon-180ED_002
            file: device_Takahashi_180ED_sn002.yml

        - DEVICE: 
            name: Takahashi-Epsilon-180ED_003
            file: device_Takahashi_180ED_sn003.yml
            
        - DEVICE: 
            name: Takahashi-Epsilon-180ED_004
            file: device_Takahashi_180ED_sn004.yml
            
        - DEVICE: 
            name: FLI-Kepler4040_001
            file: device_FLI_Kepler4040_sn28212x1.yml
            
        - DEVICE: 
            name: FLI-Kepler4040_002
            file: device_FLI_Kepler4040_sn28212x2.yml
            
        - DEVICE: 
            name: FLI-Kepler4040_003
            file: device_FLI_Kepler4040_sn28212x3.yml
            
        - DEVICE: 
            name: FLI-Kepler4040_004
            file: device_FLI_Kepler4040_sn28212x4.yml
            
        - DEVICE: 
            name: FLI-KeplerGPS_001
            file: device_FLI_KITS_sn2x1.yml

        - DEVICE: 
            name: FLI-KeplerGPS_002
            file: device_FLI_KITS_sn2x2.yml

        - DEVICE: 
            name: FLI-KeplerGPS_003
            file: device_FLI_KITS_sn2x3.yml

        - DEVICE: 
            name: FLI-KeplerGPS_004
            file: device_FLI_KITS_sn2x4.yml
            
        - DEVICE: 
            name: Optec-TFC19740_001
            file: device_Optec_TFC19740_sn001.yml

        - DEVICE: 
            name: Optec-TFC19740_002
            file: device_Optec_TFC19740_sn002.yml

        - DEVICE: 
            name: Optec-TFC19740_003
            file: device_Optec_TFC19740_sn003.yml

        - DEVICE: 
            name: Optec-TFC19740_004
            file: device_Optec_TFC19740_sn004.yml
            
            
    # === Inventory of available computers
    # A computer is a hardware of a virtual machine.
    # As a computer can be shared with various units, it is defined at the observatory level.
    COMPUTERS:
    
        - COMPUTER:
        
            name: MainComputer
            file: computer_XCY_X26A_snAA478.yml
            # Describe here the configuration of the computer in operation
            role: Main
            # Choice of the interface to connect the computer to the network (cf. _network_interfaces in _file)
            network_interface_index: 0
            # IP attributed by the Router
            network_ip: 192.168.0.11
            
    # === Assembly of devices into units
    # A unit is a robotic telescope 
    UNITS: 

        - UNIT: 
            name: TNC
            home: "GPS 2.0375 E 43.6443484725 136.9"
            horizon:
                type: ALTAZ
                line: [ [0,0], [360,0] ]
            
            DATABASE:
                computer: MainComputer
                file: pyros/docker/.env
                    
            AGENTS:
            
                # ============================================
                - AGENT_DEVICE:
                    computer: MainComputer
                    name: plc
                    path: private/plugin/agent_devices
                    device: TAROT-meteo
                    protocol: private/plugin/agent_devices/plc_protocol.py
                    is_real: False
                    
                - AGENT_DEVICE:
                    computer: MainComputer
                    name: mount
                    path: private/plugin/agent_devices
                    device: AstroMecCA-TM350
                    protocol: private/plugin/agent_devices/mount_protocol.py
                    is_real: False

                # ============================================
                - AGENT_DEVICE:
                    computer: MainComputer
                    name: optic_up1
                    path: ~
                    device: Takahashi-Epsilon-180ED_001
                    is_real: False

                - AGENT_DEVICE:
                    computer: MainComputer
                    name: focuser_up1
                    path: private/plugin/agent_devices
                    device: Optec-TFC19740_001
                    is_real: False
                    
                - AGENT_DEVICE:
                    computer: MainComputer
                    name: camera_up1
                    path: private/plugin/agent_devices
                    device: FLI-Kepler4040_001
                    protocol: private/plugin/agent_devices/camera_protocol.py
                    is_real: False

                # ============================================
                - AGENT_DEVICE:
                    computer: MainComputer
                    name: optic_up2
                    path: ~
                    device: Takahashi-Epsilon-180ED_002
                    is_real: False

                - AGENT_DEVICE:
                    computer: MainComputer
                    name: focuser_up2
                    path: private/plugin/agent_devices
                    device: Optec-TFC19740_002
                    is_real: False
                    
                - AGENT_DEVICE:
                    computer: MainComputer
                    name: camera_up2
                    path: private/plugin/agent_devices
                    device: FLI-Kepler4040_002
                    protocol: private/plugin/agent_devices/camera_protocol.py
                    is_real: False

                # ============================================
                - AGENT_DEVICE:
                    computer: MainComputer
                    name: optic_down1
                    path: ~
                    device: Takahashi-Epsilon-180ED_003
                    is_real: False

                - AGENT_DEVICE:
                    computer: MainComputer
                    name: focuser_down1
                    path: private/plugin/agent_devices
                    device: Optec-TFC19740_003
                    is_real: False
                    
                - AGENT_DEVICE:
                    computer: MainComputer
                    name: camera_down1
                    path: private/plugin/agent_devices
                    device: FLI-Kepler4040_003
                    protocol: private/plugin/agent_devices/camera_protocol.py
                    is_real: False

                # ============================================
                - AGENT_DEVICE:
                    computer: MainComputer
                    name: optic_down2
                    path: ~
                    device: Takahashi-Epsilon-180ED_004
                    is_real: False

                - AGENT_DEVICE:
                    computer: MainComputer
                    name: focuser_down2
                    path: private/plugin/agent_devices
                    device: Optec-TFC19740_004
                    is_real: False

                - AGENT_DEVICE:
                    computer: MainComputer
                    name: camera_down2
                    path: private/plugin/agent_devices
                    device: FLI-Kepler4040_004
                    protocol: private/plugin/agent_devices/camera_protocol.py
                    is_real: False

                # ============================================
                - AGENT:
                    computer: MainComputer
                    name: majordome
                    path: ~
            
            TOPOLOGY:
            
                SECURITY:
                    name: PLC
                    COMPONENT_AGENTS:
                        - WeatherStation: plc
                        - BuildingCover: plc

                MOUNT:
                    name: TM350
                    COMPONENT_AGENTS:
                        - MountPointing: mount
                    
                CHANNELS:
                              
                    - CHANNEL:
                        name: OpticalChannel-up1
                        COMPONENT_AGENTS:
                            - OpticImager: optic_up1
                            - DetectorFocuser: focuser_up1
                            - DetectorSensor: camera_up1
                            - DetectorShutter: camera_up1
                            - DetectorTimer: camera_up1

                    #- CHANNEL:
                    #    name: OpticalChannel-up2
                    #    COMPONENT_AGENTS:
                    #        - OpticImager: optic_up2
                    #        - DetectorFocuser: focuser_up2
                     #       - DetectorSensor: camera_up2
                      #      - DetectorShutter: camera_up2
                     #       - DetectorTimer: camera_up2

                    - CHANNEL:
                        name: OpticalChannel-down1
                        COMPONENT_AGENTS:
                            - OpticImager: optic_down1
                            - DetectorFocuser: focuser_down1
                            - DetectorSensor: camera_down1
                            - DetectorShutter: camera_down1
                            - DetectorTimer: camera_down1

                    - CHANNEL:
                        name: OpticalChannel-down2
                        COMPONENT_AGENTS:
                            - OpticImager: optic_down2
                            - DetectorFocuser: focuser_down2
                            - DetectorSensor: camera_down2
                            - DetectorShutter: camera_down2
                            - DetectorTimer: camera_down2

                CHANNEL_GROUPS:
                    
                    logic: 'or' # opt
                    GROUPS:
                        - GROUP:
                            logic: 'and' # opt
                            channels:
                                - OpticalChannel-up1
                                - OpticalChannel-up2
                                - OpticalChannel-down1
                                - OpticalChannel-down2