Plugin SPA Intex

Hello

Je vois que tu as mis :
python3 /var/www/html/plugins/script/data/spa intex_spa_get_status.PY

Au lieu de
python3 /var/www/html/plugins/script/data/spa/intex_spa_get_status.PY

Tu confirmes ?

Mais bien sûr !!! Je recopie la ligne dans le premier post et je n’ai pas capté l’erreur :

Vous pouvez tester déjà en ligne de commande si vous récupérer des infos
python3 /var/www/html/plugins/script/data/spa intex_spa_get_info.PY

J’ai bien des infos qui remontent en ssh du coup :

jeedom@jeedom:~ $ python3 /var/www/html/plugins/script/data/spa/intex_spa_get_status.PY
DEBUG:asyncio:Using selector: EpollSelector
INFO:intex_spa.intex_spa:Initializing IntexSpa instance...
INFO:intex_spa.intex_spa:IntexSpa instance initialized
DEBUG:intex_spa.intex_spa:'status' intent: Handling new intent...
DEBUG:intex_spa.intex_spa:'status' intent: a spa query is needed
DEBUG:intex_spa.intex_spa:'status' intent: new spa query...
INFO:intex_spa.intex_spa_network_layer:Not connected to the spa, trying to connect...
DEBUG:intex_spa.intex_spa_network_layer:Opening TCP connection with the spa at SPA_DEVICE:8990 with asyncio...
INFO:intex_spa.intex_spa_network_layer:TCP connection established with the spa
DEBUG:intex_spa.intex_spa_network_layer:Sending bytes to the spa: b'{"data": "8888060FEE0F01DA", "sid": "16867459346985", "type": 1}'
DEBUG:intex_spa.intex_spa_network_layer:Receiving bytes from the spa: b'{"sid":"16867459346985","data":"FFFF110F01070025000000008080802500000C","result":"ok","type":2}\n'
DEBUG:intex_spa.intex_spa_object_status:Spa status: '{'power': True, 'filter': True, 'heater': True, 'jets': False, 'bubbles': False, 'sanitizer': False, 'unit': '°C', 'current_temp': 37, 'preset_temp': 37, 'error_code': False}'
DEBUG:intex_spa.intex_spa:'status' intent: new status is rendered
{'power': True, 'filter': True, 'heater': True, 'jets': False, 'bubbles': False, 'sanitizer': False, 'unit': '°C', 'current_temp': 37, 'preset_temp': 37, 'error_code': False}

Je regarde côté jeedom maintenant

Post d’origine corrigé :slight_smile:

Bon, pas contre, j’ai toutes ces lignes DEBUG et INFO qui se retrouvent dans le fichier :

Une idée ?

Hello, je ne suis pas devant mon jeedom et @patrice_payen a fait légèrement différent de moi, mais de mémoire le fichier le fichier intex_spa_get_status.PY doit être édité et passé en info (logging.info au lieu de logging.debug)

A+

Hallelujah, mes variables prennent les infos !!!
Alors, effectivement, il fallait modifier ce fichier mais avec le niveau warning (le niveau info laisse apparaitre que les lignes info, j’ai testé celui-là et ça a sorti l’info désirée, je n’ai pas cherché plus loin). Merci beaucoup pour ton aide @networks514 !!

Pour ceux qui passeraient par ma galère : le fichier intex_spa_get_status.PY doit être modifié avec le niveau WARNING = remplacer DEBUG par WARNING :

"""Usage example file"""
import os
import logging
import asyncio

from intex_spa.intex_spa import IntexSpa

SPA_ADDRESS = os.getenv("SPA_ADDRESS") or "SPA_DEVICE"

logging.basicConfig(level=logging.WARNING)


async def example_intex_spa():
    """Example for intex_spa"""
    intex_spa = IntexSpa(SPA_ADDRESS)

    print(await intex_spa.async_update_status())


asyncio.run(example_intex_spa())

Pour le reste, il suffit de suivre les consignes de @patrice_payen et @networks514 que je remercie pour leur travail !

1 « J'aime »

Merci à toi pour avoir enrichi ce post de ton expérience !

Salut à tous,
J’ai bien toutes les commandes qui passe mais pas les retour d’infos.
J’ai beaucoup de warning :


Savez vous ce qui peut se passer?
Le fichier info.log reste vide

Salut @Ludo45
Tu as le même problème que j’ai eu. Tu as regardé nos échanges ci-dessus ?

J’ai pas l’impression car j’ai bien le retour d’infos en SSH et même dans le script :

J’ai l’impression que c’est le scénario, mais mes connaissance sont faibles :

// Get data using status script

$cmdinfo = "#[Energie  éclairage][Spa ][spa_info]#";
$RetourInfo = cmd::byString($cmdinfo)->execCmd();
$scenario->setLog("Retour Info : " . $retourInfo);

// Get indidual data
list($val1, $val2,$val3,$val4,$val5,$val6,$val7,$val8,$val9,$val10) = explode(',', $RetourInfo);

// Set variables
$scenario->setData("spa_power", substr($val1,strrpos($val1,": ")+2,));
$scenario->setData("spa_filter", substr($val2,strrpos($val2,": ")+2,));
$scenario->setData("spa_heater", substr($val3,strrpos($val3,": ")+2,));
$scenario->setData("spa_jet", substr($val4,strrpos($val4,": ")+2,));
$scenario->setData("spa_bubble", substr($val5,strrpos($val5,": ")+2,));
$scenario->setData("spa_sanitizer", substr($val6,strrpos($val6,": ")+2,));
$scenario->setData("spa_unit", substr($val7,strrpos($val7,": ")+2,));
$scenario->setData("spa_current_temp", substr($val8,strrpos($val8,": ")+2,));
$scenario->setData("spa_preset_temp", substr($val9,strrpos($val9,": ")+2,));
$pos = strrpos($val10,": ");
$len = strlen($val10)-$pos-3;
$sub = substr($val10,$pos+2,$len);
$scenario->setData("spa_error", $sub);



// Show Variables

$scenario->setLog($scenario->getData("spa_power"));
$scenario->setLog($scenario->getData("spa_filter"));
$scenario->setLog($scenario->getData("spa_heater"));
$scenario->setLog($scenario->getData("spa_bubble"));
$scenario->setLog($scenario->getData("spa_jet"));
$scenario->setLog($scenario->getData("spa_sanitizer"));
$scenario->setLog($scenario->getData("spa_unit"));
$scenario->setLog($scenario->getData("spa_current_temp"));
$scenario->setLog($scenario->getData("spa_preset_temp"));
$scenario->setLog($scenario->getData("spa_error"));

Dans le scénario tout apparait en gris : 

![Capture|690x322](upload://dOl2rnnE0C2GMTkNuFDfaSzsRdZ.png)

@Ludo45 ton scénario semble appeler la mauvaise commande : il me semble que ta commande #[Energie éclairage][Spa ][spa_info]# appelle python3 /var/www/html/plugins/script/data/spa/intex_spa_get_status.PY > /var/www/html/plugins/script/data/spa/infos.log
alors qu’elle doit appeler intex_spa_get_status.PY

Un grand merci! L’erreur etait bien là!

Capture

1 « J'aime »

Hello,

J’apporte un peu de détails sur les config à changer pour ne pas avoir à bricoler le fichier systeme /etc/hosts
Après l’installation du package (commande pip install), éditer les fichiers suivants pour configurer l’adresse du spa :

/usr/local/lib/python3.7/dist-packages/intex_spa/intex_spa.py => ligne 29

        def __init__(self, address: str = "apspa.mondomaine.dns", port: str = "8990"):

/usr/local/lib/python3.7/dist-packages/intex_spa/intex_spa_network_layer.py => lignes 38 39

        self.address = "apspa.mondomaine.dns"
        self.port = "8990"

Ici, j’ai configuré le nom DNS, mais avec l’IP cela fonctionne aussi.
Ne pas oublier les guillemets et les ouvertures de flux firewall entre Jeedom et le SPA (port 8990 et protocole ICMP)

La log :

DEBUG:intex_spa.intex_spa_network_layer:Opening TCP connection with the spa at apspa.mondomaine.dns:8990 with asyncio...

Hello,

Comment fais tu pour creer ce genre d’interrupteur?
Peux tu partager le setting?
Sans titre

Hell

Ça ressemble à l’excellente suite d’icônes mis à dispo par @Salvialf que tu trouveras ici : Jeedom by Alf - Galerie dans industriel
Regarde aussi du côté de son plugin pimp my jeedom

A+

Yes j’ai bien ce lien. Ce n’est pas trop pour le design mais plus pour le fonctionnement.
Comment creer un bouton qui envoi la commande on ou off?

Hello

Je te partage au hasard un des mes virtuels on off

Bonjour à tous

je viens de changer mon spa pour un intex carbone et je suis de près ce sujet depuis quelques jours, par contre je galère un peu car je ne trouve pas les fichiers pour modifier et mettre l’IP du spa comme indiqué par @Fabb

pour le moment j’ai fais la manip en ssh suivante: python3 -m pip install -U intex-spa
j ai installé le plugin script officiel, crée le dossier spa et copier tous les exemples du github en renomant l extension .PY à la fin.
j ai fixé l’IP de mon spa

mais voila je ne trouve pas ou mettre cette ip je ne trouve pas ce chemin la dans jeedom : /usr/local/lib/python3.7/dist-packages/intex_spa/intex_spa.py

Pour le reste (virtuel et scenario) ca devrait le faire. D’ailleurs petite questions, avez vous pour certains utiliser le plugin thermostat et son mode temporel pour gérer le spa et son agenda ??? ou uniquement vos propres scénario ?

bonne soirée

Salut,
Essaye de faire un recherche du fichier intex_spa.py au cas ou…
J’ai fait toutes les configs en me connectant en ssh.
Depuis jeedom :
image

Pour les plannings, je me sert du thermostat juste pour faire le réglage de la température, tout le reste passe par virtuels et scenarios.

  • le temps de filtration et d’électrolyse quotidien en fonction de la température de l’eau
  • la programmation anticipée (date/heure où l’on souhaite se baigner)
  • le démarrage auto de la chauffe en fonction de la date et l’heure choisie (je compte +1.5° par heure de chauffe)

Je me suis pas mal cassé la tête sur le dernier point, mais au final ça marche :slight_smile:

tu vas dans l’éditeur de fichier pour la recherche ? car je n’ai rien qui sort