Page 2 sur 5

Re: Domotisation SPA Intex, contrôle par la voix, et mesure de consommation

Publié : 28 nov. 2020, 18:09
par TroisSix
Voici les scripts avec des explications pour gérer la carte contrôleur.
PS: il faut enlever l'extension .zip sinon le fofo n'en voulait pas...

Pour le reste, ça dépend de votre équipement, et je vous laisse chercher un peu, et revenir vers moi si vous n'y arrivez pas ;)

Pour info, j'ai ces devices:
- la carte controleur du jacuzzi: scripts fournis ici
- un device pour mesurer la conso du jacuzzi: optionnel, scripts non fournis pour l'instant
- une sonde de température diy basée sur un vieux détecteur d'ouverture de porte fibaro et une sonde ds18b20
- amazon echo qui contrôle à la voix mon jacuzzi


Dans domoticz, j'ai créé :

Des interrupteurs:
- "Spa_Power" pour allumer/éteindre
- "Spa_HeatReached" indique que la consigne de température est atteinte
- "Spa_Filter": gère la filtration on/off
Action On: script:///home/pi/domoticz/scripts/Jacuzzi_control.sh "FILTER" "ON"
Action Off: script:///home/pi/domoticz/scripts/Jacuzzi_control.sh "FILTER" "OFF"

- "Spa_Bubble": gère les bulles on/off
Action On: script:///home/pi/domoticz/scripts/Jacuzzi_control.sh "BUBBLE" "ON"
Action Off: script:///home/pi/domoticz/scripts/Jacuzzi_control.sh "BUBBLE" "OFF"

- "Spa_Heater": gère la chauffe on/off
Action On: script:///home/pi/domoticz/scripts/Jacuzzi_control.sh "HEAT" "ON"
Action Off: script:///home/pi/domoticz/scripts/Jacuzzi_control.sh "HEAT" "OFF"

- "Mode_Spa_Consigne_37": pour activer des consignes favorites dans mon cas (37 quand je veux en faire, ou 27 au repos)
Action On: script:///home/pi/domoticz/scripts/Jacuzzi_control.sh "HEAT_DESIRED" "37"
Action Off: script:///home/pi/domoticz/scripts/Jacuzzi_control.sh "HEAT_DESIRED" "27"


Sondes de températures: "Spa_Temp_Desired", "Spa_Temp_Water", "Spa_Temp_Board"

Des devices text:, "Spa_Error", "Spa_Model", "Spa_State", "Spa_Status", "Spa_Sys_Version", "Spa_Sys_Wifi"

Le script bash: dans domoticz/scripts
- "Jacuzzi_control.sh: script bash appelé par les boutons de domoticz pour gérer: la chauffe / la filtration / les bulles / température désirée

Exemple d'exécution: ./Jacuzzi_control.sh "HEAT_DESIRED" "37" (et si on veut des infos dans le terminal, on rajoute INFO ou DEBUG, c'est selon)

Les scripts python: dans domoticz/scripts/python
- "Jacuzzi_publish.py": script python qui va envoyer les commandes mqtt vers l'esp
- "Jacuzzi_subscribe.py": script python qui va récupérer les changements de valeurs de l'esp (à lancer au démarrage de votre serveur pour qu'il reste en fond de tâche)

Optionnels mais possible suivant votre équipement:
- Temperature_Jacuzzi: sonde de température diy basée sur un vieux détecteur d'ouverture de porte fibaro et une sonde ds18b20
- sonde de mesure Conso_Jacuzzi : me permet de détecter un jacuzzi qui ne s'est pas relancé après une coupure de courant, et ça m'alerte
- interrupteur Alerte_Jacuzzi: c'est le bouton qui m'alerte + notif mail + notif prowl + notif Alexa
- interrupteur Mode_Maintenance_Jacuzzi: bouton que j'active quand je change le filtre pour éviter d'avoir x alertes
- interrupteur "Mode_Spa_Autoriser_Bubulles": interrupteur optionnel qui me permet d'éviter un déclenchement non désiré des bulles, nécessite un évènement domoticz qui surveille les bulles
Pour ça j'ai 6 scripts évènements dans domoticz.

Voili voilou 8-)
J'ai développé les scripts il y a longtemps, ils sont largement perfectibles, je pourrais les améliorer pour les rendre plus pro, mais je manque de temps ;)
A vos questions si vous en avez.
++

Re: Domotisation SPA Intex, contrôle par la voix, et mesure de consommation

Publié : 29 nov. 2020, 15:32
par floflobal
merci, t'es au top :D :D :D ... je vais regarder ça avec intérêt et essayé d'intégrer tout ça dans mon domoticz.

Re: Domotisation SPA Intex, contrôle par la voix, et mesure de consommation

Publié : 11 janv. 2021, 17:35
par nico0639
Au top du top.

J'ai pas activé les notifs alors forcement j'avais pas vu la réponse avant.... :o
Je me plonge dans la conf et je te fait un retour.

Merci !!

Re: Domotisation SPA Intex, contrôle par la voix, et mesure de consommation

Publié : 11 janv. 2021, 19:47
par nico0639
Bon alors premier retour,

J'ai ajouté tous les interrupteurs en mode Dummy, Texte, Interrupteur et température,

J'ai configuré les fichiers Jacuzzi_subscribe et Jacuzzi_publish avec en nom d'utilisateur mon DeviceID, le mot de passe un mot de passe défini dans l'interface de la WebApp du Jacuzzi.

J'ai bien entendu activé en lecture écriture la passerelle MQTT

J'ai mis à jour aussi les "xxx" du fichier subscribe en reprenant les IDX générés lors de la création de mes devices et j'ai ajouté le fichier subscribe au rc.local pour qu'il se lance au démarrage de mon raspberry.

Et pourtant, impossible de récupérer la moindre information sur Domoticz.
Quand j'envoi une commande genre :

Code : Tout sélectionner

./Jacuzzi_control.sh "HEAT_DESIRED" "37" 

Il ne se passe absolument rien et si je lance mon fichier subscribe manuellement en faisant

Code : Tout sélectionner

sudo python Jacuzzi_subscribe.py
et bien je me retrouve avec ça :

Code : Tout sélectionner

sudo python /home/pi/domoticz/scripts/python/Jacuzzi_subscribe.py
Traceback (most recent call last):
  File "/home/pi/domoticz/scripts/python/Jacuzzi_subscribe.py", line 175, in <module>
    client.loop_forever()
  File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1779, in loop_forever
    rc = self.loop(timeout, max_packets)
  File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1181, in loop
    rc = self.loop_read(max_packets)
  File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1572, in loop_read
    rc = self._packet_read()
  File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 2310, in _packet_read
    rc = self._packet_handle()
  File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 2936, in _packet_handle
    return self._handle_publish()
  File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 3216, in _handle_publish
    self._handle_on_message(message)
  File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 3444, in _handle_on_message
    self.on_message(self, self._userdata, message)
  File "/home/pi/domoticz/scripts/python/Jacuzzi_subscribe.py", line 159, in on_message
    write_log_message(" - [" + msg.topic + "]=" + str(msg.payload.decode("utf-8")) + "  -up" + analyse_topic(msg.topic, msg.payload.decode("utf-8")))
  File "/home/pi/domoticz/scripts/python/Jacuzzi_subscribe.py", line 137, in analyse_topic
    return domoticz_update_text(eachIdx, value)
  File "/home/pi/domoticz/scripts/python/Jacuzzi_subscribe.py", line 102, in domoticz_update_text
    return analyse_domoticz_return_code(requests.get(begin_url_domoticz + 'command&param=udevice&idx=' + str(idx) + '&nvalue=0&svalue=' + urllib.parse.quote(message)))
AttributeError: 'module' object has no attribute 'parse'
J'ai surement fait une boulette quelque part... mais où ?

Ah oui j'ai installé les modules paho et requests aussi pour python 3

Re: Domotisation SPA Intex, contrôle par la voix, et mesure de consommation

Publié : 11 janv. 2021, 20:14
par TroisSix
Salut,
Tu peux essayer avec sudo python3 script.py?

Re: Domotisation SPA Intex, contrôle par la voix, et mesure de consommation

Publié : 12 janv. 2021, 09:21
par nico0639
Et ça fonctionne !
Evidemment si le script est en python et que j'installe meme les modules en python3... il suffisait juste de lancer en python3 :lol:

Merci beaucoup. Je vais tenter d'intégrer ça dans la passerelle Homebridge pour voir ce que je peux controler avec Homekit et mon iPhone

Re: Domotisation SPA Intex, contrôle par la voix, et mesure de consommation

Publié : 12 janv. 2021, 17:50
par TroisSix
Super, n'hésites pas à partager tes avancements ou éventuels blocages ;)

Re: Domotisation SPA Intex, contrôle par la voix, et mesure de consommation

Publié : 07 mai 2021, 15:26
par rito
Bonjour, j ai trouvé ce script sur internet ..
https://github.com/Yogui79/IntexPureSpa


Il semble qu il est plus orienté jeedom et Home Assistant mais c est le seul que j ai trouvé qui fonctionne avec la tablette sans fil ( et sans wifi)
Je ne peux donc pas profiter de votre script qui a l air super !

Est il possible de d inclure ou de modifier le script ´Jeedom/homeassistant’ qui prend en charge le sans fil afin de profiter de votre super script?

Merci de votre retour

Re: Domotisation SPA Intex, contrôle par la voix, et mesure de consommation

Publié : 07 mai 2021, 15:47
par TroisSix
@rito
As-tu déjà acheté un module qui se connecte à ton jacuzzi?

Mon script est simple:
- il s'abonne à des topics MQTT pour récupérer les valeurs (et update les valeurs des devices Domoticz),
- et envoie des nouveaux messages vers MQTT pour les actions (actions définies dans les devices de Dz).

Je n'utilise pas jeedom, mais le fonctionnement ne doit pas être bien différent:
- tu dois avoir des devices avec des scripts que tu peux indiquer lors des actions on/off,
- et tu dois pouvoir mettre à jour les devices via api?

Dans ce cas, tu aurais juste à modifier le contenu des fonctions Domoticz par celles compatibles Jeedom, et rien d'autre ;-)

Re: Domotisation SPA Intex, contrôle par la voix, et mesure de consommation

Publié : 07 mai 2021, 15:57
par rito
Bonjour , justement je suis sous domoticz, j ai la carte , les infos remontent bien dans le broker mqtt mais je n arrive pas à l intégrer avec votre script

Code : Tout sélectionner

(2021-05-07 15:58:09.723 Error: Error executing script command (/home/pi/domoticz/scripts/Jacuzzi_control.sh). returned: 256)