Gladys 4 Beta est disponible ! 🚀

Ok, je crois avoir compris ce qui ne va pas

@bertrandda a utilisĂ© des “sinon” globaux dans ses tests, et la PR de @AlexTrovato reset les sinon globaux dans d’autres tests.

Lorsqu’on exĂ©cute les tests de Caldav individuellement, ça fonctionne parfaitement. Lorsqu’on exĂ©cute tous les tests, sinon est reset par des tests en amont et ça pĂšte au niveau du caldav.

Je vais essayer de fixer


:heart_eyes:

1 « J'aime »

Bon j’ai passĂ© la matinĂ©e dessus et pour l’instant je n’arrive pas Ă  faire fonctionner ta PR @AlexTrovato :confused:

  1. Le container mosquitto se lance bien, mais Gladys ne remplit pas le fichier mosquitto.passwd
  2. En Ă©ditant le mot de passe dans l’UI, il arrive que Gladys arrive parfois Ă  remplir le fichier

J’ai l’impression que c’est une race condition, le container mosquitto n’est jamais “prĂȘt” au moment ou Gladys essaie d’éditer le fichier mosquitto.passwd. Je pense que c’est du au fait que l’API Docker restart ne renvoie pas “ok” quand le container est effectivement redĂ©marrĂ©, mais juste quand la commande a Ă©tĂ© envoyĂ© Ă  Docker. Il faudrait trouver un moyen d’ĂȘtre sur que le container est prĂȘt

En tout cas la PR est super, je pense qu’aprĂšs avoir fixĂ© ce petit bug ça devrait fonctionner du tonnerre ! Bien jouĂ© :clap:

Bon j’ai trouvĂ© la premiĂšre source du bug, la fonction system.exec a un petit bug de fonctionnement:

Le deuxiùme paramùtre de cette fonction n’est pas “data” selon la doc, mais un stream

Il faut donc attendre que ce stream soit terminĂ© pour avoir la confirmation que le code s’est vraiment exĂ©cutĂ©. Le resolve(true) actuel intervient trop tĂŽt, avant que le code se soit exĂ©cutĂ©.

Il faut faire un:

 executable.start((err, stream) => {
      if (err) {
        reject(err);
      } else {
        stream.on('end', () => {
          resolve(true);
        });
        this.dockerode.modem.demuxStream(stream, process.stdout, process.stderr);
      }
    });

Afin d’avoir vraiment la confirmation que le code s’est exĂ©cutĂ©.

Cela rĂ©sout la race-condition, mais j’ai toujours des bugs. Je vais continuer Ă  enquĂȘter :slight_smile:

Edit: Ce fix n’est pas magique non plus, comme le pointe cette issue GitHub =>

https://github.com/apocas/dockerode/issues/534

C’était un gros morceau, mais c’est mergĂ© enfin !

Merci @AlexTrovato et @VonOx pour le travail :pray:

Il y avait du beau boulot dans cette PR :slight_smile:

1 « J'aime »

Tout le mérite à @AlexTrovato :clap:

2 « J'aime »

Et cette nouvelle intégration MQTT avec broker intégré est live dans Gladys Assistant v4.0.0-beta-9 :slight_smile:

Vos instances vont se mettre Ă  jour toutes seules !

3 « J'aime »

Merci a toi d’avoir pris le temps de fixer ça. Super boulot.

1 « J'aime »

Nouvelle fonctionnalité du jour, à venir dans la prochaine release, la possibilité de sélectionnez finement sur le dashboard les appareils affichés !

:warning:Attention, nous somme toujours en beta, et cette fonctionnalité est breaking. Ceux qui ont des instances qui tournent actuellement devront faire un petit passage sur leur dashboard pour afficher les fonctionnalités qui veulent afficher :slight_smile:

4 « J'aime »

Nouvelle autre fonctionnalitĂ©, l’intĂ©gration MQTT devient plus simple Ă  utiliser avec un sĂ©lecteur de fonctionnalitĂ© plus clair et qui permet de chercher :slight_smile:

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

1 « J'aime »

Gladys v4.0.0-beta-10 est disponible, et intÚgre toutes les nouveautés développées cette semaine ! :slight_smile:

Vos instances seront Ă  jour dans les prochaines heures.

N’hĂ©sitez pas si vous avez des questions :slight_smile:

1 « J'aime »

Merci Ă  toi et Ă  l’équipe pour le boulot accompli


Perso je vais attendre le bluethooth pour mettre Gladys en place dans la maison, bon je sais que ce n’est pas pour maintenant mais c’est pas grave.

1 « J'aime »

Salut !
Désolé si la question est un peu lourde

Ces updates incluent-ils la mise en prod de l’intĂ©gration Zigbee2mqtt ?
Au dĂ©part c’est Reno qui est dessus, mais j’ai cru comprendre que @AlexTrovato s’y est collĂ© aussi
du coup je viens aux nouvelles :smiley:

Du coup c’est vraiment broken :sweat_smile:

Impossible d’éditer le dasboard

@VonOx ah merde, tu as quelque chose dans tes logs navigateur ?

Faut que je check ça sur PC car j’ai ce problùme sur mobile ( Gladys plus et en local aussi)

Edit: VoilĂ  ce que me renvoi la console

Uncaught (in promise) TypeError: t.box.device_features is undefined
    ar DevicesInRoomsBox.jsx:58
    ar DevicesInRoomsBox.jsx:57
    ar DevicesInRoomsBox.jsx:56
    Preact 11
        S
        y
        __k
        p
        h
        y
        __k
        p
        h
        y
        d
DevicesInRoomsBox.jsx:58:18

Edit 2: J’ai du me dĂ©pĂ©cher de cliquer sur le bouton EDIT avant que la page ne se load ( avant l’erreur je penses )

J’ai donc pu Ă©diter les boxs, mais il y’a soucis avec la liste des devices Hue, pour chaque device les features des autres devices sont listĂ©es, et chaque ligne en doublon ( ou triplon ) est highlight

EDIT 3 : Le site de démo est broken aussi

Bien vu !
J’ai envoyĂ© un fix express ce matin pour le bug important, pour l’histoire des Philips Hue dupliquĂ© je ne pourrais pas regarder lĂ  (mission client). Est-ce que tu pourrais poster le JSON du rĂ©sultat du GET /api/v1/room/TA_PIECE?expand=devices

? :slight_smile: Merci !

Yep

{
   "id":"939c2efd-d09f-4f17-b7b2-01b1ab70073e",
   "house_id":"12cfd62e-2a2c-4856-a5e5-47581e0b6cac",
   "name":"Salon",
   "selector":"salon",
   "created_at":"2020-01-10T14:38:50.439Z",
   "updated_at":"2020-01-10T14:38:50.439Z",
   "devices":[
      {
         "name":"Canapé",
         "selector":"philips-hue-light-001788286ece-2",
         "features":[
            {
               "name":"Canapé On/Off",
               "selector":"philips-hue-light-001788286ece-2-binary",
               "category":"light",
               "type":"binary",
               "read_only":false,
               "unit":null,
               "min":0,
               "max":1,
               "last_value":0,
               "last_value_changed":"2020-08-11T21:36:54.179Z"
            },
            {
               "name":"Canapé Color",
               "selector":"philips-hue-light-001788286ece-2-color",
               "category":"light",
               "type":"color",
               "read_only":false,
               "unit":null,
               "min":0,
               "max":0,
               "last_value":null,
               "last_value_changed":null
            },
            {
               "name":"Canapé Brightness",
               "selector":"philips-hue-light-001788286ece-2-brightness",
               "category":"light",
               "type":"brightness",
               "read_only":false,
               "unit":null,
               "min":0,
               "max":100,
               "last_value":null,
               "last_value_changed":null
            },
            {
               "name":"Canapé Temperature",
               "selector":"philips-hue-light-001788286ece-2-temperature",
               "category":"light",
               "type":"temperature",
               "read_only":false,
               "unit":null,
               "min":153,
               "max":500,
               "last_value":null,
               "last_value_changed":null
            }
         ]
      },
      {
         "name":"Plafonnier",
         "selector":"philips-hue-light-001788286ece-4",
         "features":[
            {
               "name":"Plafonnier On/Off",
               "selector":"philips-hue-light-001788286ece-4-binary",
               "category":"light",
               "type":"binary",
               "read_only":false,
               "unit":null,
               "min":0,
               "max":1,
               "last_value":0,
               "last_value_changed":"2020-08-08T21:29:12.695Z"
            },
            {
               "name":"Plafonnier Color",
               "selector":"philips-hue-light-001788286ece-4-color",
               "category":"light",
               "type":"color",
               "read_only":false,
               "unit":null,
               "min":0,
               "max":0,
               "last_value":null,
               "last_value_changed":null
            },
            {
               "name":"Plafonnier Brightness",
               "selector":"philips-hue-light-001788286ece-4-brightness",
               "category":"light",
               "type":"brightness",
               "read_only":false,
               "unit":null,
               "min":0,
               "max":100,
               "last_value":null,
               "last_value_changed":null
            },
            {
               "name":"Plafonnier Temperature",
               "selector":"philips-hue-light-001788286ece-4-temperature",
               "category":"light",
               "type":"temperature",
               "read_only":false,
               "unit":null,
               "min":153,
               "max":500,
               "last_value":null,
               "last_value_changed":null
            }
         ]
      },
      {
         "name":"LivingColors",
         "selector":"philips-hue-light-001788286ece-1",
         "features":[
            {
               "name":"LivingColors On/Off",
               "selector":"philips-hue-light-001788286ece-1-binary",
               "category":"light",
               "type":"binary",
               "read_only":false,
               "unit":null,
               "min":0,
               "max":1,
               "last_value":0,
               "last_value_changed":"2020-08-10T01:17:09.304Z"
            },
            {
               "name":"LivingColors Color",
               "selector":"philips-hue-light-001788286ece-1-color",
               "category":"light",
               "type":"color",
               "read_only":false,
               "unit":null,
               "min":0,
               "max":0,
               "last_value":null,
               "last_value_changed":null
            },
            {
               "name":"LivingColors Brightness",
               "selector":"philips-hue-light-001788286ece-1-brightness",
               "category":"light",
               "type":"brightness",
               "read_only":false,
               "unit":null,
               "min":0,
               "max":100,
               "last_value":null,
               "last_value_changed":null
            }
         ]
      }
   ]
}
1 « J'aime »

Je rebondis un peu sur cet ancien message, zigbee2mqtt doit pour moi faire partie de la RC car on va pas se mentir , le nombre d’intĂ©grations est assez pauvre et/ou incomplĂšte. ( y’a pas de reproche on fait tous au mieux :wink: )

Pour complĂ©ter la milestone ( dĂ©solĂ© @pierre-gilles j’ai vraiment pas eu le temps avant )

ZWAVE

ça doit ĂȘtre parfait, normalement la PR de @link39 rĂ©soud pas mal de soucis au niveau compatibiltĂ©s ( switch de monter/descente des volets par exemple )

ZIGBEE2MQTT

PS: Tous ça concerne mon besoin personnel et donc les « manques Â» pour passer en « prod Â» Ă  la maison. Y’ un cĂŽtĂ© frustrant de pouvoir baisser le volet mais pas le monter etc
 qui peut dĂ©courager les nouveaux.

2 « J'aime »

C’est quoi pour toi « la RC Â» ? :slight_smile:

J’ai l’impression que pour beaucoup, je vais sortir la RC et ensuite ça y est Gladys sera « finie Â» il n’y aura plus d’évolution.

C’est tout le contraire! Le dĂ©veloppement logiciel, c’est itĂ©ratif et c’est sans fin: je release quasiment toutes les semaines une nouvelle version de Gladys au fur et Ă  mesure des fonctionnalitĂ©s ajoutĂ©es. Le soft s’amĂ©liore en continu, et ça ne s’arrĂȘtera jamais.

La RC c’est avant tout un changement de nom, on retire le « beta Â» du tag et on build des versions sur le tag v4, c’est plus ou moins tout
 C’est un signal pour dire aux dĂ©veloppeurs « Ă§a y est, l’API de Gladys, la documentation, le systĂšme de build, les tests, tout est mis en place, stable, ça ne change plus, vous pouvez dĂ©velopper des intĂ©grations sans que tout change tous les 4 matins Â» :slight_smile:

Je suis d’accord, Zigbee2mqtt est une intĂ©gration formidable et je rĂȘverais que ce service soit disponible aujourd’hui. AprĂšs je suis aussi rĂ©aliste, le service est en dĂ©veloppement depuis 10 mois et malheureusement les dĂ©veloppeurs de cette intĂ©gration ont moins Ă©tĂ© disponibles sur les derniers mois, ce que je respecte totalement c’est les alĂ©as de l’open-source, chacun Ă  ses disponibilitĂ©s :slight_smile:

Ne maĂźtrisant pas cette partie, il est difficile pour moi de l’inclure dans mon planning
 Je connais mes disponibilitĂ©s et je peux chiffrer mes temps de dĂ©veloppements sur Gladys, mais sur le reste je suis « spectateur Â» des dĂ©veloppements.

Ca me semble Ă©trange de bloquer tout l’avancement du projet pour une intĂ©gration, tu ne trouve pas?

C’est inclus dans le milestone :slight_smile: Le Z-Wave, je maitrise donc je l’ai inclus. En revanche je pense que @link39 est en vacances en ce moment, et je n’ai pas trop d’infos sur cette PR dont les tests ne passent pas. J’ai posĂ© la question sur la PR il y a 15 jours mais sans rĂ©ponses pour l’instant. @link39 si tu vois ce message, je suis preneur de toute info qui me permettrait de reprendre la PR et de la merger! :smiley:

Je comprends, ça pour le coup pour moi la RC doit ĂȘtre « parfaite Â» sur les fonctionnalitĂ©s qui existent. Donc si tu pense Ă  des bugs spĂ©cifique, n’hĂ©site pas, je le fixerais avant la RC.

Bien-sĂ»r, et je comprends complĂštement ! Crois moi, ça fait depuis 1 an et demi que je travail sur la v4, et je rĂȘverais d’avoir le niveau d’intĂ©gration qu’on avait dans la v3
 Mais la v3, on l’a dĂ©veloppĂ© en 5 ans ( 2014-2019 ), c’est compliquĂ© de recrĂ©er un si riche Ă©cosystĂšme en si peu de temps.

Je remets ce schĂ©ma de mon article bilan de l’annĂ©e 2019 :

Les premiers services ont commencĂ©s Ă  ĂȘtre Ă©cris en septembre 2019 en gros, ça fait seulement 11 mois que la communautĂ© Ă  accĂšs Ă  la v4 pour dĂ©velopper des services. Beaucoup de gens dans la communautĂ© n’ont jamais bossĂ© avec React, il y a un petit temps d’apprentissage.

VoilĂ  ma vision, aprĂšs je me trompe peut-ĂȘtre et tout se discute :smile: N’hĂ©site pas Ă  me contredire si tu n’es pas d’accord.