# Nouveau appareil (imprimante, TPE, afficheur client·e) ou erreur matos

##### Repérer le matériel connecté à la caisse

<p class="callout success">Repérer le matériel connecté à la caisse : `sudo dmesg | grep tty`</p>

##### Ajouter une imprimante

Ou sinon

```shell
# Lister les trucs en usb
lsusb

# Brancher et débrancher pour chopper les infos différentes
# On cherche le product ID et le vendor ID

Exemple sur 
Bus 003 Device 008: ID 0cf3:0036 Atheros Communications, Inc.

product ID : 0cf3
et vendor ID : 0036

# et on le rajoute dans le fichier qui va bien
sudo gedit /opt/venvs/pywebdriver/lib/python3.8/site-packages/pywebdriver/plugins/escpos_driver.py


```

[![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-09/scaled-1680-/RHzimage.png)](https://librairie.grap.coop/uploads/images/gallery/2022-09/RHzimage.png)

Puis ajouter une ligne et redémarrer le service

```shell
sudo service pywebdriver restart
# pas besoin normalement mais sait-on jamais : sudo service pywebdriver reload
```

Et enfin recharger la page Pywebdriver

<p class="callout info">Puis rajouter ça sur notre ordi et proposer une petite PR, on demande à Pierrick de merger</p>

##### Rajouter un afficheur ou un TPE

Si on veut rajouter des devices pour un TPE ou un afficheur client·e, on rajoute des noms sur ces lignes là :

Pour l'afficheur : [https://github.com/akretion/pyposdisplay/blob/master/pyposdisplay/pyposdisplay.py#L175](https://github.com/akretion/pyposdisplay/blob/master/pyposdisplay/pyposdisplay.py#L175)  
Pour le TPE : [https://github.com/akretion/pypostelium/blob/master/pypostelium/pypostelium.py#L52](https://github.com/akretion/pypostelium/blob/master/pypostelium/pypostelium.py#L52)

Pour trouver le nom de l'appareil, lancer un terminal puis

```
/opt/venvs/pywebdriver/python -m serial.tools.list_ports -v

ou
python3.8 -m serial.tools.list_ports -v

ou
python3.8
>>> import serial.tools.list_ports
>>> serial.tools.list_ports.comports()
```

Si besoin, débrancher, rebrancher pour voir la diff et trouver le truc qui apparaît.

<p class="callout info">Puis rajouter ça sur notre ordi et proposer une petite PR, on demande à Pierrick de merger</p>

Puis faudra faire un rebuild de pywebdriver pour rebuilder un .deb