Forum eedomus
https://forum.eedomus.com/

Samsung SmartThings
https://forum.eedomus.com/viewtopic.php?f=59&t=11428
Page 1 sur 1
Auteur:  SoicnarfB [ 01 Juil 2022 14:10 ]
Sujet du message:  Samsung SmartThings

Hello,

pour ceux qui seraient intéressés de récupérer les infos dans le cloud Samsung SmartThings.
Un script très (très très) simple de connexion au cloud, "traduit" de:
https://easydomoticz.com/forum/viewtopic.php?p=100258

Code : Tout sélectionner
<?php
// appel de eedomus http://localhost/script/SmartThings_Washer.php&API=[VAR1]&wmDevice=[VAR2]

//$API = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx'
//$wmDevice = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'

$API = getArg('API');
$wmDevice = getArg('wmDevice');
$header = array(
    "Accept: application/json",
    "Authorization: Bearer ".$API
    );
$url ="https://api.smartthings.com/v1/devices/".$wmDevice."/status";
$http_result = httpQuery($url, 'GET', '','', $header);
echo $http_result;

//doit etre transformé en xml dans les paramètres expert du device créé.

?>


Pour l'explication:
il vous faut créer une clé API chez https://account.smartthings.com/tokens et générer un Personal Token (API dans le code ci-dessus)
Puis aller sur https://graph-eu01-euwest1.api.smartthi ... evice/list et récupérer le numéro de l'appareil que vous souhaitez interroger (code dans l'URL en ayant cliquer sur votre appareil) (wmDevice dans le code).
Ensuite sur Eedomus, créer un capteur http et en VAR1 recopier le numéro de votre token (API) et en VAR2 votre numéro d'appareil (wmDevice) et assurez vous de cocher "Convertir le JSON en XML" dans les paramètres Expert du périphérique.

En n'ayant qu'un lave linge Samsung, je n'ai pu testé que sur quelques paramètres.
Quelques xpath utiles:
Code : Tout sélectionner
concat('Etat: ',//machineState/value,' / ',//washerJobState/value)

qui donne des trucs du genre:
Etat: run / wash
Etat: run / rinse
Etat: stop / none

Code : Tout sélectionner
concat('heure de fin: ',(substring(//completionTime/value,12,2) +2),substring(//completionTime/value,14,6))

qui donne l'heure du fin du programme en cours (pas trouvé comment convertir une date/time UTC en UTC+2, donc c'est "sale", ça prend l'heure ajoute +2 et prend le reste de l'heure (et ça devra être modifié quand on sera en heure d'hiver :lol: ).

Quelques capteurs:
- capteur http "Etat de la machine à laver" avec une fréquence de requête de 30 min (+ un bouton et script pour déclencher la mise à jour manuellement)
- capteur http "Heure de fin de programme" avec une fréquence de requête à 0 min (voir les règles).

J'ai aussi créé des règles autour de cela:
- si l'Etat de la machine à laver devient maintenant "Etat: stop / non" alors notification "Lessive finie !"
- si l'Etat de la machine à laver n'est pas "Etat: stop / non" alors mettre à jour les autres capteurs de la machine (comme Heure de fin de programme) + mettre à jour "Etat de la machine à laver", règle se redéclenchant toutes les 5 min.

Bien que testé seulement sur une machine à laver Samsung, normalement cela devrait permettre d'interroger n'importe quel périphérique enregistré dans le cloud Samsung SmartThings.

Si cela peut aider quelqu'un...

++
F.
Auteur:  klaushomelive [ 01 Juil 2022 20:46 ]
Sujet du message:  Re: Samsung SmartThings

Merci pour ce travail.
Auteur:  dommarion [ 22 Sep 2022 21:01 ]
Sujet du message:  Re: Samsung SmartThings

Bonsoir,
Merci pour ce travail, avec Nico67 nous sommes allés un peu plus loin pour lire l’état d’une TV Samsung intégrée dans SmartThings, et nous passons les commandes au même titre que vous le faites avec le smartphone et l’application SmartThings.
Cette application dédiée à la TV Samsung doit être utilisable avec tout autre équipement intégré dans SmartThings.
Beaucoup d’autres choses sont accessibles dont les scènes, les routines, assistant vocal…
Pour ceux que cela intéresse, le PLUGIN sera bientôt disponible.
Dommarion
Auteur:  SoicnarfB [ 23 Sep 2022 10:56 ]
Sujet du message:  Re: Samsung SmartThings

Bonjour !

et super !
A dispo pour tester sur ma machine à laver si besoin, si vous pouvez en faire un plugin general pour SmartThings ce serait tip top !

++
F.
Auteur:  dommarion [ 24 Sep 2022 11:33 ]
Sujet du message:  Re: Samsung SmartThings

Bonjour,
La version 1.0 est publiée sur le store. Elle a été testée pendant plusieurs jours et fonctionne correctement.
Une documentation est disponible pour vous aider à créer l'ensemble et faire fonctionner le Plugin.
Il faudra adapter le script dont XML pour l'affichage des états et les devices pour piloter la machine à laver.
bon weekend
dommarion
Auteur:  Perchero [ 07 Fév 2024 08:21 ]
Sujet du message:  Re: Samsung SmartThings

Bonjour, j'ai une machine à laver Samsung et j'aimerais récupérer l'état (ON/OFF) dans eedomus.
J'ai téléchargé le script et le lave-linge me reconnaît, mais le statut dans eedomus n'est pas mis à jour.
Dois-je modifier le script ? Pourriez-vous m'aider?
Auteur:  dommarion [ 07 Fév 2024 11:58 ]
Sujet du message:  Re: Samsung SmartThings

Bonjour Perchero,
En effet ce script a été fait pour lister tous les devices dans SmartThings, et seule la TV a été configurée (états et commandes).
Pour ajouter une machine à laver, il faut adapter le script… SoicnarfB avait fait un bout de script pour une machine à laver, tu dois pouvoir t’en inspirer.
Dommarion
Auteur:  Perchero [ 08 Fév 2024 12:09 ]
Sujet du message:  Re: Samsung SmartThings

Eedomus reconnaît désormais la machine à laver. Le problème est que l'état de l'appareil que je souhaite récupérer (ON/OFF) n'est pas mis à jour dans eedomus.

Si je demande manuellement la commande, le résultat est correct, mais pour une raison quelconque, l'état de l'appareil n'est pas mis à jour.

Je n'ai pas les connaissances nécessaires pour modifier le script... Je me demandais si quelqu'un avait déjà fait cela et pouvait le partager.

Pièces jointes:
tempsnip.png
tempsnip.png (38.02 Kio) Consulté 1410 fois
Auteur:  dommarion [ 08 Fév 2024 19:41 ]
Sujet du message:  Re: Samsung SmartThings

Bonsoir Perchero,
Si l’état est correct dans la fenêtre de test, regarde quelle est la fréquence de mise à jour dans ton périphérique. Elle peut être mise à 1 minute car l’API peut être consultée très fréquemment (par défaut 15 minutes).
Bonne soirée
Dommarion
Page 1 sur 1 Le fuseau horaire est UTC+1 heure