observatory_default.yml 4.22 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: Default
    
    # === 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
            file: device_Astromecca_TM350_default.yml
            
        - DEVICE: 
            name: PLC_meteo
            file: device_Raspberry_MiFe_default.yml
            # Describe here the configuration of the device in operation
            network_interface_index: 0
            network_ip: 192.168.0.2
            
        - DEVICE: 
            name: SkyWatcher_ED80
            file: device_SkyWatcher_ED80_default.yml
            
            
        - DEVICE: 
            name: ZWO_ASI1600MMPro
            file: device_ZWO_ASI1600MMPro_default.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_default.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 infile)
           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: default_unit
            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:
                    name: plc
                    computer: MainComputer
                    device: PLC_meteo
                    is_real: False
                    
                - AGENT_DEVICE:
                    name: mount
                    computer: MainComputer
                    device: AstroMecCA
                    is_real: False

                - AGENT_DEVICE:
                    name: optic
                    computer: None
                    device: SkyWatcher_ED80
                    is_real: False
                    
                - AGENT_DEVICE:
                    name: camera
                    computer: MainComputer
                    path: private/plugin/agent_devices
                    device: ZWO_ASI1600MMPro
                    protocol: private/plugin/agent_devices/camera_protocol.py
                    is_real: False

                - AGENT:
                    name: majordome
                    computer: MainComputer
                    path: ~



            TOPOLOGY:
            
                SECURITY:
                    name: PLC
                    COMPONENT_AGENTS:
                        - WeatherStation: plc
                        - BuildingCover: plc

                MOUNT:
                    name: TM350_prototype
                    COMPONENT_AGENTS:
                        - MountPointing: mount
                    
                CHANNELS:
                              
                    - CHANNEL:
                        name: OpticalChannel
                        COMPONENT_AGENTS:
                            - OpticImager: optic
                            - DetectorSensor: camera
                            - DetectorShutter: camera

                CHANNEL_GROUPS:
                    
                    logic: 'or' # opt
                    GROUPS:
                        - GROUP:
                            logic: 'and' # opt
                            channels:
                                - OpticalChannel