SomfyProtect en MQTT via docker

Bonjour,

Dans la continuité du plugin #Mqttdiscovery,
j’essayes d’installer SomfyProtect2MQTT.

je rencontre un problème de droit sur le dossier qui s’installer. il s’installer avec les droits root sauf que sur Filezilla je ne peux pas me loguer en root( uniquement utilisateur jeedom/Mjeedom96)

Avez vous une astuce pour corriger ca.
2galement quand je fait la commande

Install Python3 dependencies

pip3 install -r  somfyProtect2Mqtt/requirements.txt

j’ai les erreurs suivantes :

jeedom@jeedom:/opt/SomfyProtect2MQTT $ pip3 install -r  somfyProtect2Mqtt/requir                                                                                                             ements.txt
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting aenum==3.1.15 (from -r somfyProtect2Mqtt/requirements.txt (line 1))
  Using cached https://files.pythonhosted.org/packages/d0/fa/ca0c66b388624ba9dbb                                                                                                             f35aab3a9f326bfdf5e56a7237fe8f1b600da6864/aenum-3.1.15-py3-none-any.whl
Collecting oauthlib==3.2.2 (from -r somfyProtect2Mqtt/requirements.txt (line 2))
  Using cached https://files.pythonhosted.org/packages/7e/80/cab10959dc1faead58d                                                                                                             c8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl
Collecting paho-mqtt==1.6.1 (from -r somfyProtect2Mqtt/requirements.txt (line 3)                                                                                                             )
  Using cached https://www.piwheels.org/simple/paho-mqtt/paho_mqtt-1.6.1-py3-non                                                                                                             e-any.whl
Collecting pyyaml==6.0.1 (from -r somfyProtect2Mqtt/requirements.txt (line 4))
  Using cached https://www.piwheels.org/simple/pyyaml/PyYAML-6.0.1-cp37-cp37m-li                                                                                                             nux_armv7l.whl
Collecting requests-oauthlib==1.3.1 (from -r somfyProtect2Mqtt/requirements.txt                                                                                                              (line 5))
  Using cached https://files.pythonhosted.org/packages/6f/bb/5deac77a9af870143c6                                                                                                             84ab46a7934038a53eb4aa975bc0687ed6ca2c610/requests_oauthlib-1.3.1-py2.py3-none-a                                                                                                             ny.whl
Collecting schedule==1.2.0 (from -r somfyProtect2Mqtt/requirements.txt (line 6))
  Using cached https://files.pythonhosted.org/packages/9a/07/9ecb93e501966005992                                                                                                             7a712854990ad045d5f14b6bc54149e863c76cd49/schedule-1.2.0-py2.py3-none-any.whl
Collecting websocket-client==1.6.1 (from -r somfyProtect2Mqtt/requirements.txt (                                                                                                             line 7))
  Using cached https://files.pythonhosted.org/packages/d3/a3/63e9329c8cc9be6153e                                                                                                             919e17d0ef5b60d537fed78564872951b95bcc17c/websocket_client-1.6.1-py3-none-any.wh                                                                                                             l
Collecting pillow==10.0.0 (from -r somfyProtect2Mqtt/requirements.txt (line 8))
  Could not find a version that satisfies the requirement pillow==10.0.0 (from -                                                                                                             r somfyProtect2Mqtt/requirements.txt (line 8)) (from versions: 1.0, 1.1, 1.2, 1.                                                                                                             3, 1.4, 1.5, 1.6, 1.7.0, 1.7.1, 1.7.2, 1.7.3, 1.7.4, 1.7.5, 1.7.6, 1.7.7, 1.7.8,                                                                                                              2.0.0, 2.1.0, 2.2.0, 2.2.1, 2.2.2, 2.3.0, 2.3.1, 2.3.2, 2.4.0, 2.5.0, 2.5.1, 2.                                                                                                             5.2, 2.5.3, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.8.0, 2.8.1, 2.8.2, 2.9.0, 3.0.0, 3.1.0                                                                                                             rc1, 3.1.0, 3.1.1, 3.1.2, 3.2.0, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.4.0, 3.4.1, 3.4.2                                                                                                             , 4.0.0, 4.1.0, 4.1.1, 4.2.0, 4.2.1, 4.3.0, 5.0.0, 5.1.0, 5.2.0, 5.3.0, 5.4.0, 5                                                                                                             .4.1, 6.0.0, 6.1.0, 6.2.0, 6.2.1, 6.2.2, 7.0.0, 7.1.0, 7.1.1, 7.1.2, 7.2.0, 8.0.                                                                                                             0, 8.0.1, 8.1.0, 8.1.1, 8.1.2, 8.2.0, 8.3.0, 8.3.1, 8.3.2, 8.4.0, 9.0.0, 9.0.1,                                                                                                              9.1.0, 9.1.1, 9.2.0, 9.3.0, 9.4.0, 9.5.0)
No matching distribution found for pillow==10.0.0 (from -r somfyProtect2Mqtt/req                                                                                                             uirements.txt (line 8))

Oula il y a un bug dans ma mise en page
Je la corrigé dès que je suis sur ordi

Mais j’ai l’impression qu’il faut python 3.8 alors que je suis en 3.7.2
J’ai batailler hier soir pendant 3 h et je n’ai réussi à installer python 3.8

faut pas faire ca surtout !
tu vas casser tous les autres plugins

tu dois « simplement » migrer sur debian 11 bullseye au lieu de debian 10 buster

et oui c’est bien le problème, les dépendances ne s’installent pas car pas compatible avec une trop ancienne version

Il y a une installe Docker, utilise plutôt cette méthode, de préférence avec doxker-compose si possible.

Antoine

J’ai rpi de test
Docker je n’arrive pas a comprendre comment ça fonctionne
Je veux bien un coup de main

Une petite recherche sur la comu?

Antoine

bonjour,

je reviens sur ce sujet maintenant que j’ai un peu le temps.
j’avais vu ce sujet mais au final il ne l’a pas installé via"docker" mais via un install avec le fichier.

je voudrais comprendre cette partie qui permettrait a beaucoups de jeedomiens d’avoir des connectivités avec certains équipements qui n’ont pas de plugin.
si j’ai bien compris chaque ADDON de HA est en « Docker »

je met docker entre " " car je ne comprends pas bien comment ca fonctionne.

du coup c’est ceci que je ne comprends pas comment faire

il faut utiliser le plugin Docker de jeedom?
qu’est ce que le dossier « PATH-TO-CONFIG-FOLDER »

merci à tous

Salut,

par forcément je pense.

dans un premier temps, retiens juste que docker c’est fait pour exécuter des containers, qu’un container c’est une sorte de « mini machine virtuel » et qu’on fait un container par application/service

c’est le chemin vers le dossier qui contient le fichier de config, en local sur la machine hôte, pas le container

Merci

j’ai réussi a installer le docker via le plugin docker management mais il me subsiste une erreur que je ne comprends pas

une idéee ?

2023-10-23T19:46:00.323555464Z AttributeError: 'NoneType' object has no attribute 'get'
2023-10-23T19:51:49.300153636Z 2023-10-23 19:51:49,299 [INFO] [__main__:55] Starting SomfyProtect2Mqtt 2023.10.0
2023-10-23T19:51:49.300440838Z 2023-10-23 19:51:49,300 [INFO] [root:41] Reading config file /config/config.yaml
2023-10-23T19:51:49.300559578Z 2023-10-23 19:51:49,300 [ERROR] [utils:43] File /config/config.yaml not found
2023-10-23T19:51:49.300789799Z 2023-10-23 19:51:49,300 [INFO] [root:111] Init SSO
2023-10-23T19:51:49.300971946Z Traceback (most recent call last):
2023-10-23T19:51:49.301006427Z   File "/app/main.py", line 59, in 
2023-10-23T19:51:49.301280722Z     SSO = init_sso(config=CONFIG)
2023-10-23T19:51:49.301545591Z           ^^^^^^^^^^^^^^^^^^^^^^^
2023-10-23T19:51:49.301568220Z   File "/app/somfy_protect/sso/__init__.py", line 112, in init_sso
2023-10-23T19:51:49.301806460Z     username = config.get("somfy_protect").get("username")
2023-10-23T19:51:49.302033995Z                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-10-23T19:51:49.302154902Z AttributeError: 'NoneType' object has no attribute 'get'

Salut !
Est ce que tu as indiqué un fichier de config à la création de ton docker ?

Si non, dans la doc, à la création du conteneur il est écrit :

docker run -v <PATH-TO-CONFIG-FOLDER>:/config minims/somfyprotect2mqtt

le <PATH-TO-CONFIG-FOLDER> tu peux le remplacer si tu es sur un pi par un truc du genre /home/pi/somfyprotect2mqtt
Avant de lancer la commande de run, tu vas dans le répertoire qu’on vient de créer (dans mon exemple au dessus /home/pi/somfyprotect2mqtt) et tu crées un fichier config.yaml et tu le complètes avec des infos comme celles ci (bien sur tu ajustes tous les paramètres avec les infos de chez toi) :

---
# Somfy Protect APP credentials
somfy_protect:
  username: "tonemail@email.com" # tes identifiants Somfy
  password: "ton-mot-de-passe"

  # Zones Label to check
  sites:
    - UnNomPourTonEquipement # la tu met ce que tu veux, chez moi c'est original j'ai mis Maison

# Home Assistant Configuration
homeassistant_config:
  # Code to arm/disarm, Remove code to disable.
  code: 0000
  # Use Code on arm/disarm
  code_arm_required: false
  code_disarm_required: true

# MQTT Configuration
mqtt:
  host: 192.168.XXX.XXX # ton serveur mqtt
  port: 1883  # prefer SSL port if you can (not managed for now)
  username: usernameMqtt # ton login mqtt
  password: "passwordMqtt"  # ton password mqtt
  client-id: somfy-protect # le nom que tu veux mettre
  topic_prefix: "somfyProtect2mqtt" # le topic mqtt
  ha_discover_prefix: "homeassistant"

# SomfyProtect2MQTT
delay_site: 10  # seconds
delay_device: 60  # seconds
manual_snapshot: false

et après tu es le roi du pétrole !

Merci pour ton retour

Mais J’ai réussi en migrant sur nuc mais ça fonctionne pas bien avec un somfyone

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.