Gladys 4 Beta ist verfĂŒgbar! 🚀

Ok, ich glaube, ich habe verstanden, was nicht stimmt

@bertrandda hat globale « sonst Â»-Bedingungen in seinen Tests verwendet, und der PR von @AlexTrovato setzt die globalen « sonst Â»-Bedingungen in anderen Tests zurĂŒck.

Wenn wir die Caldav-Tests einzeln ausfĂŒhren, funktioniert alles perfekt. Wenn wir alle Tests ausfĂŒhren, wird « sonst Â» von vorherigen Tests zurĂŒckgesetzt und es gibt einen Fehler beim Caldav.

Ich werde versuchen, es zu reparieren


:heart_eyes:

Also, ich habe den ganzen Morgen daran gearbeitet und bisher kann ich deinen PR @AlexTrovato nicht zum Laufen bringen :confused:

  1. Der Mosquitto-Container startet gut, aber Gladys fĂŒllt die Datei mosquitto.passwd nicht
  2. Beim Bearbeiten des Passworts in der UI kommt es vor, dass Gladys die Datei manchmal fĂŒllt

Ich habe das GefĂŒhl, dass es sich um eine Race Condition handelt, der Mosquitto-Container ist nie „bereit“, wenn Gladys versucht, die Datei mosquitto.passwd zu bearbeiten. Ich denke, das liegt daran, dass die Docker-API restart nicht „ok“ zurĂŒckgibt, wenn der Container tatsĂ€chlich neu gestartet wurde, sondern nur, wenn der Befehl an Docker gesendet wurde. Man mĂŒsste einen Weg finden, sicherzustellen, dass der Container bereit ist

Jedenfalls ist der PR super, ich denke, nachdem dieser kleine Bug behoben ist, sollte es bombig funktionieren! Gut gemacht :clap:

Gut, ich habe die erste Fehlerquelle gefunden, die Funktion system.exec hat einen kleinen Funktionsfehler:

Der zweite Parameter dieser Funktion ist nicht „data“ laut der Dokumentation, sondern ein Stream

Man muss also warten, bis dieser Stream beendet ist, um die BestĂ€tigung zu erhalten, dass der Code wirklich ausgefĂŒhrt wurde. Der aktuelle resolve(true) erfolgt zu frĂŒh, bevor der Code ausgefĂŒhrt wurde.

Man muss folgendes machen:

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

Um wirklich die BestĂ€tigung zu erhalten, dass der Code ausgefĂŒhrt wurde.

Damit wird die Race-Condition behoben, aber ich habe immer noch Fehler. Ich werde weiter ermitteln :slight_smile:

Edit: Dieser Fix ist auch nicht magisch, wie in diesem GitHub-Issue erwÀhnt =>

Das war ein großes StĂŒck Arbeit, aber es ist endlich gemerged!

Danke @AlexTrovato und @VonOx fĂŒr die Arbeit :folded_hands:

Da steckte richtig viel Arbeit in diesem PR :slight_smile:

Alles Lob gebĂŒhrt @AlexTrovato :clap:

Und diese neue MQTT-Integration mit integriertem Broker ist in Gladys Assistant v4.0.0-beta-9 live :slight_smile:

Eure Instanzen werden sich automatisch aktualisieren!

Danke, dass du dir die Zeit genommen hast, das zu reparieren. Super Arbeit.

Neue Funktion des Tages, die in der nÀchsten Version kommt: die Möglichkeit, auf dem Dashboard genau auszuwÀhlen, welche GerÀte angezeigt werden sollen!

:warning:Achtung, wir sind immer noch in der Beta-Phase, und diese Funktion ist breaking. Diejenigen, die derzeit laufende Instanzen haben, mĂŒssen kurz auf ihr Dashboard gehen, um die Funktionen anzuzeigen, die sie anzeigen möchten :slight_smile:

Neue weitere Funktion, die MQTT-Integration wird einfacher zu nutzen mit einem klareren Feature-Selector, der auch die Suche ermöglicht :slight_smile:

Gladys v4.0.0-beta-10 ist verfĂŒgbar und enthĂ€lt alle Neuerungen, die diese Woche entwickelt wurden! :slight_smile:

Eure Instanzen werden in den nÀchsten Stunden aktualisiert.

Zögert nicht, Fragen zu stellen :slight_smile:

Danke dir und dem Team fĂŒr die geleistete Arbeit


Persönlich werde ich auf Bluetooth warten, um Gladys im Haus einzurichten. Ich weiß, dass das nicht jetzt passiert, aber das ist nicht schlimm.

Hallo!
Entschuldige, wenn die Frage etwas schwer ist

Beinhalten diese Updates den Produktionsstart der Zigbee2mqtt-Integration?
Anfangs war Reno dafĂŒr zustĂ€ndig, aber ich dachte, @AlexTrovato hat sich auch darum gekĂŒmmert
also komme ich mal auf den neuesten Stand :smiley:

Das ist ja wirklich kaputt :sweat_smile:

Das Dashboard kann nicht bearbeitet werden

@VonOx ah Mist, hast du etwas in deinen Browser-Logs?

Muss ich das auf dem PC checken, weil ich das Problem auf dem Handy habe (Gladys Plus und lokal auch)

Edit: Hier ist, was die Konsole ausgibt

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: Ich musste schnell auf den EDIT-Button klicken, bevor die Seite geladen wurde (vor dem Fehler, denke ich)

Ich konnte also die Boxen bearbeiten, aber es gibt ein Problem mit der Liste der Hue-GerÀte. Bei jedem GerÀt werden die Features der anderen GerÀte aufgelistet, und jede Zeile ist doppelt (oder dreifach) hervorgehoben

EDIT 3: Die Demo-Website ist auch kaputt

Gut beobachtet!
Ich habe heute Morgen einen schnellen Fix fĂŒr den schweren Bug verschickt, aber bei der Geschichte mit den doppelten Philips Hue kann ich jetzt nicht nachschauen (Kundenauftrag). Könntest du den JSON-Output des GET /api/v1/room/TA_PIECE?expand=devices posten?

? :slight_smile: Danke!

Ja

{
   "id":"939c2efd-d09f-4f17-b7b2-01b1ab70073e",
   "house_id":"12cfd62e-2a2c-4856-a5e5-47581e0b6cac",
   "name":"Wohnzimmer",
   "selector":"wohnzimmer",
   "created_at":"2020-01-10T14:38:50.439Z",
   "updated_at":"2020-01-10T14:38:50.439Z",
   "devices":[
      {
         "name":"Sofa",
         "selector":"philips-hue-light-001788286ece-2",
         "features":[
            {
               "name":"Sofa Ein/Aus",
               "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":"Sofa Farbe",
               "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":"Sofa Helligkeit",
               "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":"Sofa Temperatur",
               "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":"Deckenleuchte",
         "selector":"philips-hue-light-001788286ece-4",
         "features":[
            {
               "name":"Deckenleuchte Ein/Aus",
               "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":"Deckenleuchte Farbe",
               "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":"Deckenleuchte Helligkeit",
               "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":"Deckenleuchte Temperatur",
               "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 Ein/Aus",
               "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 Farbe",
               "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 Helligkeit",
               "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
            }
         ]
      }
   ]
}

Ich greife ein bisschen diesen alten Beitrag auf, zigbee2mqtt sollte fĂŒr mich Teil der RC sein, denn wir mĂŒssen uns nichts vormachen, die Anzahl der Integrationen ist eher mager und/oder unvollstĂ€ndig. (kein Vorwurf, wir tun alle unser Bestes :wink: )

Um das Meilenstein zu vervollstÀndigen (entschuldige @pierre-gilles, ich hatte wirklich keine Zeit davor)

ZWAVE

Das muss perfekt sein, normalerweise löst der PR von @link39 viele Probleme im Bereich der KompatibilitÀt (z. B. Schalter zum Heben/Senken der Jalousien)

ZIGBEE2MQTT

PS: All das betrifft meinen persönlichen Bedarf und daher die « Fehlenden Â» Teile, um in die « Produktion Â» zu gehen. Es ist frustrierend, die Jalousie senken zu können, aber nicht heben usw
 was neue Nutzer entmutigen kann.

Was ist fĂŒr dich die „RC“? :slight_smile:

Ich habe den Eindruck, dass viele denken, ich werde die RC veröffentlichen und dann ist Gladys „fertig“ und es gibt keine Weiterentwicklung mehr.

Das ist das Gegenteil! Softwareentwicklung ist iterativ und endlos: Ich veröffentliche fast jede Woche eine neue Version von Gladys, sobald neue Funktionen hinzugefĂŒgt werden. Die Software verbessert sich kontinuierlich, und das wird nie aufhören.

Die RC ist vor allem eine NamensĂ€nderung, wir entfernen das „beta“ aus dem Tag und bauen Versionen auf dem Tag v4, das ist mehr oder weniger alles
 Es ist ein Signal fĂŒr Entwickler, um zu sagen: „Es ist soweit, die API von Gladys, die Dokumentation, das Build-System, die Tests, alles ist eingerichtet, stabil, es Ă€ndert sich nicht mehr, ihr könnt Integrationen entwickeln, ohne dass sich alles alle paar Tage Ă€ndert“ :slight_smile:

Ich bin einverstanden, Zigbee2mqtt ist eine großartige Integration und ich wĂŒrde mir wĂŒnschen, dass dieser Service heute verfĂŒgbar wĂ€re. Aber ich bin auch realistisch, der Service wird seit 10 Monaten entwickelt und leider waren die Entwickler dieser Integration in den letzten Monaten weniger verfĂŒgbar, was ich völlig respektiere, das sind die UnwĂ€gbarkeiten des Open-Source, jeder hat seine VerfĂŒgbarkeit :slight_smile:

Da ich diesen Teil nicht beherrschen, ist es schwierig fĂŒr mich, ihn in meinen Zeitplan einzubeziehen
 Ich kenne meine VerfĂŒgbarkeit und kann meine Entwicklungszeiten fĂŒr Gladys einschĂ€tzen, aber bei allem anderen bin ich „Zuschauer“ der Entwicklungen.

Es scheint mir seltsam, den gesamten Fortschritt des Projekts fĂŒr eine Integration zu blockieren, findest du nicht?

Das ist im Meilenstein enthalten :slight_smile: Z-Wave beherrschen ich, also habe ich es einbezogen. Allerdings denke ich, dass @link39 im Moment im Urlaub ist, und ich habe nicht viele Informationen ĂŒber diesen PR, dessen Tests nicht durchlaufen. Ich habe die Frage vor 15 Tagen auf dem PR gestellt, aber bisher keine Antworten. @link39, wenn du diese Nachricht siehst, ich wĂ€re dankbar fĂŒr jede Information, die es mir ermöglichen wĂŒrde, den PR zu ĂŒbernehmen und zu mergen! :smiley:

Ich verstehe, fĂŒr mich muss die RC bei den vorhandenen Funktionen „perfekt“ sein. Wenn du also an spezifische Fehler denkst, zögere nicht, ich werde sie vor der RC beheben.

NatĂŒrlich, und ich verstehe das völlig! Glaub mir, ich arbeite seit eineinhalb Jahren an der v4, und ich wĂŒrde mir wĂŒnschen, den Integrationsgrad zu haben, den wir in der v3 hatten
 Aber die v3 haben wir in 5 Jahren (2014-2019) entwickelt, es ist kompliziert, ein so reiches Ökosystem in so kurzer Zeit wieder zu schaffen.

Ich setze dieses Schema aus meinem Artikel Bilanz des Jahres 2019 ein:

Die ersten Dienste begannen etwa im September 2019 zu schreiben, es sind nur 11 Monate her, dass die Community Zugang zur v4 hat, um Dienste zu entwickeln. Viele Leute in der Community haben noch nie mit React gearbeitet, es gibt eine kleine Lernkurve.

Das ist meine Vision, vielleicht irre ich mich aber, und alles ist diskutierbar :smile: Zögere nicht, mir zu widersprechen, wenn du nicht einverstanden bist.