Ajout du support des switch aux scènes

Salut Pierre-Gilles,

je viens d’ajouter la possibilité d’allumer et éteindre les interrupteurs dans les scènes.

C’est fonctionnel, je peux maintenant allumer une prise connectée quand via le bouton Xiaomi ! par contre alourdi la liste déroulante. .Je pensais donc mutualiser avec les actions de turn on et turn off des lumières, car finalement c’est exactement la même action derrière.
C’est la que je bloque, je ne sais pas comment récupérer les deux type de device (light et switch) en même temps via la requête get :

class TurnOnOffLight extends Component {

  getOptions = async () => {

    try {

      const devices = await this.props.httpClient.get('/api/v1/device', {

        device_feature_category: 'light',

        device_feature_type: 'binary'

      });

Est-ce possible ou faut-il que je fasse différemment ?
Et surtout qu’en penses-tu, laisser deux actions séparées ou les mutualiser ?

Salut @link39 ! J’ai mis le topic public pour que tout le monde puisse suivre l’avancement :slight_smile: (on évite les MP svp!)

Tu as réussi à faire fonctionner les interrupteurs Xiaomi? Génial ça! J’ai justement un utilisateur en ce moment qui voulait cette compatibilité :slight_smile:

Ca fonctionne hors des scènes aussi?

C’est quoi exactement ces périphériques ? Des prises connectés couplés à un interrupteur mural ?

Car dans ton cas, oui c’est des ampoules, mais chez quelqu’un d’autre ça sera un grille pain, une machine à café, ou une piscine…

Si effectivement c’est le cas, je pense qu’on peut factoriser le code mais on garde une carte séparé.

Oui ça fait exactement la même chose, mais pour l’utilisateur il faut que ce soit clair et logique.

Tu peux mettre la category de device en props du components « TurnOnOffLight », et ainsi créer une carte « Turn On the Switch » et « Turn Off the Switch » qui sont juste basé sur le même component Preact.

Qu’en penses-tu? :slight_smile:

Merci pour ton travail !

Je n’ai rien changé, il est déjà compatible → Amazon.fr
Dans mon exemple, il sert de trigger. Lors d’un « single press », la valeur vaut 1.

Oui je suis d’accord, je me suis peux être mal exprimé. Bien entendu une prise connectée ou un interrupteur mural (type fibaro switch / interrupteur xiaomi and co) ne sert pas uniquement à allumer des lampes :smiley: Ce que je suggérais c’était d’avoir une action (carte) nommée : « Turn on light or switch ». Dans celle-ci apparaîtrait à la fois les types « light » et « device ».

Si on ne souhaite pas mutualiser ces deux types de périphérique dans la même carte, je pense que mon code est assez propre et je peux faire un PR en l’état.

Voici le rendu actuel :

Ah ok je n’avais pas compris!

Le Xiaomi te sert de trigger, ça j’ai compris.

Par contre: tu contrôle quoi ? Une prise de quelle marque? De quelle technologie ? Ton “Turn On the Switchs” il contrôle quoi ?

Je contrôle du zwave :

  • Fibaro FGS213
  • Fibaro Wall plug
  • Prise connectée Neo
1 Like

Ok, du coup je suis chaud pour une PR avec les deux nouvelles actions “Turn on/off the Switch” ! :slight_smile:

@link39 J’ai vu sur le forum que @jean_bruder a eu le même souci que toi, mais lui avec des Sonoff !

Du coup je me demande dans son cas ce qu’on peut faire… Est-ce qu’on créé un 3ème type de carte, ou alors est-ce qu’on créé quelque chose de plus générique ?

Les sonoff vu aussi comme des interrupteurs je pense. La carte “Turn on the switchs” devrait donc les piloter et ainsi les lumières (ou autres objets) qui sont connectées dessus.

Voici la branche sur laquelle j’ai fais les modifications si vous voulez tester et confirmer que ca répond au besoin pour les sonoff :

Après pour plus de facilité côté utilisateur et pour moins surcharger l’interface, je pense qu’avoir une seul carte “Turn on light or switch” serait mieux. Car plus tard il y aura surement d’autres actions :

  • Modifier la luminosité (switch dimmer / light )
  • Modifier la couleur d’une (light)
  • Modifier la température (thermostat)

Top ! Quand tu veux pour la PR :wink:

Du coup je ne suis pas d’accord! :stuck_out_tongue:

La carte « Turn On the lights » va pouvoir se spécialiser et proposer en plus d’allumer les lumières, de les allumer avec une couleur spécifique.

La ou la carte « Turn On the Switches » va rester assez simple

Ah oui mais si tu ne dis pas tout aussi :joy:

1 Like

En fait j’avais mal compris, ici ce développement ne touche que les scènes, aucun rapport avec Xiaomi !

Personne ne travaille sur le support des interrupteurs switch Xiaomi en ce moment.

J’ai créé une tâches sur GitHub pour pas perdre de vue ce développement =>

Je veux bien que tu poste sur l’issue les références exactes du matériel que tu essaie de contrôler.

Après, comme tu peux le voir c’est la 57ème tâche en attente ^^ Il y a du boulot !

Il y a une PR en attente =>

https://github.com/GladysAssistant/Gladys/pull/670

J’ai fini le travail sur la PR ce matin, c’est mergé sur master. La feature partira sûrement dans la beta dès cet après-midi :slight_smile:

@atrixe144 La dernière version de Gladys 4 permet désormais de gérer les switch dans les scénarios, ton instance va se mettre à jour tout seul. Pour vérifier que tu es bien à la dernière version, tu peux vérifier dans ton dashboard Gladys sous “/dashboard/settings/system” que tu es bien en version:

Tu peux déjà le faire normalement.

Tu dois faire un bloc “Récupérer le dernier état”

Puis un bloc “continuer seulement si”

Merci Pierre Gilles d’avoir terminé cette features. Désolé très peu de temps en ce moment.

1 Like