a
    i`                     @   s"   d Z ddlmZ G dd dZdS )u   
Класс - адаптер, для класса DS18B20 
Цель адаптера: Приведение  протокола общения с внешним классом к унифицированным требованиям контроллера.
   )DS18B20c                   @   sb   e Zd Zi ZddddZdeddddZdeddd	d
ZdeedddZ	ddddZ
dS )DS18B20_adapterN)returnc                 C   s
   d | _ d S )N)r   )self r   7/var/aqua_controller/devices/ds18b20/ds18b20_adapter.py__init__   s    zDS18B20_adapter.__init__)optionsr   c              
   C   sD   zt  | _W n2 ty> } ztd| W Y d }~n
d }~0 0 d S )Nu>   Ошибка инициализации устройства: )r   r   	ExceptionRuntimeError)r   r	   er   r   r   run   s    zDS18B20_adapter.run)optionr   c                 C   s   t dd S )Nu=   Метод не доступен для устройства.)r   )r   r   r   r   r   set&   s    zDS18B20_adapter.setc              
   C   s   zd|vrt dd|vr"t d| jd u r4td|d dkrz| j|d }t|dW W S  ty } ztd|W Y d }~qd }~0 0 ntd	W n. ty } ztd
|W Y d }~n
d }~0 0 d S )Nparametru,   Ключ 'parametr' не обнаружен.Z
device_uidu.   Ключ 'device_uid' не обнаружен.ue   Невозможно получить данные, датчик не инициализирован.temperature   u:   Ошибка определения температурыuQ   Значение ключа 'parametr' не принято к обработке.u.   Ошибка получения данных: )KeyErrorr   r   Zget_temperatureroundr
   
ValueError)r   r	   r   r   r   r   r   get/   s     
"zDS18B20_adapter.getc              
   C   s8   zW n. t y2 } ztd|W Y d }~n
d }~0 0 d S )Nu6   Ошибка остановки устройства: )r
   r   )r   r   r   r   r   stopG   s    zDS18B20_adapter.stop)N)N)N)__name__
__module____qualname__DEFAULT_CONFIGr   dictr   r   intr   r   r   r   r   r   r      s   	r   N)__doc__Zds18b20r   r   r   r   r   r   <module>   s   