Ich arbeite gerade am Xiaomi-Modul, um es in die v4 zu integrieren. Derzeit möchte ich die grundlegende Funktionalität haben (momentan kann ich Geräte abrufen, insbesondere die für die Temperatur und die für die Luftfeuchtigkeit).
Ich habe ein Problem, um mein Gerät in Preact zu ändern.
Ich möchte also den device_feature-Wert meines Geräts ändern. Dazu hole ich mir index, das die Nummer des Geräts (aus der Liste der Xiaomi-Geräte) ist, dann features für das Feature-Attribut (das alle Features auflistet, also Temperatur, Luftfeuchtigkeit, …) und dann habe ich data-key, das die Nummer des Features liefert, um das richtige zu erhalten. Anschließend möchte ich field ändern, das also die Spalte ‹ name › ist, und setze dann den Wert mit dem neuen Wert.
Warum funktioniert das nicht? (Fehler auf der Frontend-Seite)
Uncaught ReferenceError: xiaomiCapteurTemperature is not defined
Beim schnellen Lesen würde ich sagen, dass du ein Problem mit dem Gültigkeitsbereich hast.
Deine Variable ist entweder in der if-Bedingung oder in der else-Bedingung deklariert. Zeilen 75 und 87.
Bei Zeile 95 ist deine Variable undefiniert, weil sie außerhalb des Gültigkeitsbereichs deiner Bedingungen liegt.
Aber kleine Anmerkung, verwende nicht [value.getAttribute('data-key')]:, das ist überhaupt nicht React-Best-Practice ^^
Ich würde dir raten, Subkomponenten zu erstellen und das lokal in den Komponenten zu verwalten, wie ich es zum Beispiel im Z-Wave-Service gemacht habe, Beispiel hier =>
Normalerweise, wenn die beiden Geräte nebeneinander sind, sind sie 1, aber wenn sie ihren Zustand ändern (am Rande des Erkennbaren könnte es doch schiefgehen, oder?), also im Grunde hat er Schwierigkeiten, es zu erkennen, also springt es zufällig und potenziell schnell von 0 auf 1.
Ich habe Änderungen am Code des xiaomi-Dienstes vorgenommen und warte auf dein Feedback, was geändert werden soll oder nicht
Übrigens, ich habe eine Frage: Was ist Codecov genau? Ich habe das Prinzip nicht ganz verstanden. Ich habe gesehen, dass meine PR 60% hat, aber wovon… ^^
@pierre-gilles ich wollte wissen, was du davon hältst. Ich habe also die verschiedenen möglichen Xiaomi-Sensoren zusammengeführt. Allerdings denke ich, dass es wichtig ist, Elemente wie die Gateway oder die Xiaomi-Lampen trotzdem zu trennen, oder?
Ich bin einverstanden, man kann mehrere Registerkarten erstellen, und dann kann man alle Sensoren zusammenfassen, meiner Meinung nach.
Allerdings sind diese Ansichten nur die Ansichten „was der Dienst sieht“, aber es muss eine weitere Ansicht geben, die alle Geräte „auf Gladys-Seite“ zusammenfasst, wie beim Z-Wave-Dienst.