Fibaro Skill: diverse Fehler

Also in der Version 2 ist so einiges im Argen.

Als Version 2 bezeichne ich die Version, die jetzt im HauptCode aus der (options.js, lanuagefile.js und der index.js) besteht.

Erst fand ich die Änderungen bzgl. der Trennung des Codes ganz gut. Letztlich muss ich das für mich persönlich revidieren.
Auch wenn es keine Antwort gab, scheint es, als ob Alex meinen Post mit meinen ersten Fehlern gelesen hat.
Was ich gerne hätte, ist Version 2 völlig kaputt. Der GlobalIntent und der GlobalSetIntent.
Durch die Trennung des Codes kann man die Veränderung nicht mehr im AWS durchführen. Es sind auch diverse Fehler in dem Languagefile.
Dort ist jetzt auch eine Replaceliste untergebracht, die mein bereits festgestelltes Problem mit der Groß und Kleinschreibung bei den Variablen
behandelt. Da man diese aber nur noch außerhalb der AWS ändern kann, macht es die Sache leider nicht leichter. Die Funktion GlobalIntent unterscheidet sich in V2 sehr deutlich zur V1. Leider stimmt da wirklich fast nichts drin. die Zuordnung der Variablen passt nicht und es war ihr nur mit gravierenden Veränderungen ein Ergebnis zu entlocken. In der Funktion GlobalSetIntent kommt der Wert newvalue auch immer leer daher. Das Ändern der Inhalte von Variablen kann der User eigentlich schon ändern, allerdings muss da bei Fibaro was kaputt sein. Der Admin kann das gerade auch nicht. Zumindest über die API nicht. Der reine PUT-Befehl über HC-IP/docs/#!/globalVariables funktioniert einwandfrei. Wir haben es heute selbst mit einer C# Routine (egal ob User oder Admin) nicht geschafft die Inhalte zu ändern.
Ziemlich krass ist auch, dass wenn man sich den Status einer Variabel ausgeben lässt, dann abwartet… dann kommt die Frage ob man das ändern möchte.
Sagt man jetzt “nein” schaltet das Ding “ALL ON”! Bei mir leuchten dann 2 Gebäude innen und außen taghell. Wenn man so wie ich häufig nachts im Büro sitzt, kann das schonmal für Unruhe sorgen :wink:
Was hingegen wirklich gut funktioniert sind sämtliche warm, kalt, Bewegungs, Tür, Fenster usw. Fragen.
Bei der Steuerung von Einzel-Devices bin ich noch nicht angekommen. Erste kurze Tests der V2 haben ergeben, dass der Slot “DEVICE” nicht wirklich zur Beachtung kommt. Trotz dort richtig hinterlegten Geräten ist das Gerät nicht vorhanden. Ich versuche mich mal weiter dadurch zu wuseln.
Die Arbeit von Alex ist trotzdem absolut zu würdigen. Klasse Ansätze und im Großen und Ganzen auch super umgesetzt.

Erst fand ich die Änderungen bzgl. der Trennung des Codes ganz gut. Letztlich muss ich das für mich persönlich revidieren.
Ich habe auch lange hin und her überlegt. Auf der einen Seite kann man (in Version 2) den Code, sofern es nur Fehlerkorrektoren oder Bugfixes gibt, viel leichter aktualisieren. Man spart sich das Packen als ZIP-Archiv. Und man muss nicht immer seine eigenen spezifischen Änderungen an den Zugangsdaten nachpflegen. Das war für mich eher der ausschlaggebende Grund.
Was ich gerne hätte, ist Version 2 völlig kaputt. Der GlobalIntent und der GlobalSetIntent.
Ich vermute hier fehlt das Wort "in", ansonsten ergibt der Satz für mich keinen Sinn ;)
Durch die Trennung des Codes kann man die Veränderung nicht mehr im AWS durchführen. Es sind auch diverse Fehler in dem Languagefile. Dort ist jetzt auch eine Replaceliste untergebracht, die mein bereits festgestelltes Problem mit der Groß und Kleinschreibung bei den Variablen behandelt. Da man diese aber nur noch außerhalb der AWS ändern kann, macht es die Sache leider nicht leichter.

Durch die Unterstützung von der zweiten Sprache englisch fand ich die Aufteilung auch sinnvoller, insbesondere da es nicht so häufig Änderungen in der Sprachdatei und der Optionsdatei gibt.
Ich persönlich fände es angenehmer, wenn man bei Amazon direkt die Dateien einzeln hochladen könnte.

Die Funktion GlobalIntent unterscheidet sich in V2 sehr deutlich zur V1. Leider stimmt da wirklich fast nichts drin. die Zuordnung der Variablen passt nicht und es war ihr nur mit gravierenden Veränderungen ein Ergebnis zu entlocken. In der Funktion GlobalSetIntent kommt der Wert newvalue auch immer leer daher. Das Ändern der Inhalte von Variablen kann der User eigentlich schon ändern, allerdings muss da bei Fibaro was kaputt sein. Der Admin kann das gerade auch nicht. Zumindest über die API nicht. Der reine PUT-Befehl über HC-IP/docs/#!/globalVariables funktioniert einwandfrei. Wir haben es heute selbst mit einer C# Routine (egal ob User oder Admin) nicht geschafft die Inhalte zu ändern.

Ich selber finde es schwierig immer alles zu testen um auszuschließen, ob sich irgendwo Fehler eingeschlichen habe. Bei einem anderen User hatte es dann mit der Änderung von User auf Admin-Account dann einwandfrei geklappt. Somit bin ich davon ausgegangen, dass der Code doch richtig ist.
Hast du den Bereich GLOBAL_TRANSLATE in der Sprachdatei modifiziert?
Leider klappt das Setzen von Werten bei mir aktuell auch nicht, woran das liegt, kann ich leider auch nicht sagen.

Ziemlich krass ist auch, dass wenn man sich den Status einer Variabel ausgeben lässt, dann abwartet… dann kommt die Frage ob man das ändern möchte. Sagt man jetzt „nein“ schaltet das Ding „ALL ON“! Bei mir leuchten dann 2 Gebäude innen und außen taghell. Wenn man so wie ich häufig nachts im Büro sitzt, kann das schonmal für Unruhe sorgen ;-)
Hast du die aktuelle Version? Den Fehler gab es und ich hatte den vor etwa einer Woche behoben gehabt. Dachte ich zumindest ;) Ich habe bei mir aus versehen die Waschmaschine ausgeschaltet.

Was hingegen wirklich gut funktioniert sind sämtliche warm, kalt, Bewegungs, Tür, Fenster usw. Fragen.
Bei der Steuerung von Einzel-Devices bin ich noch nicht angekommen. Erste kurze Tests der V2 haben ergeben, dass der Slot „DEVICE“ nicht wirklich zur Beachtung kommt. Trotz dort richtig hinterlegten Geräten ist das Gerät nicht vorhanden. Ich versuche mich mal weiter dadurch zu wuseln.
Die Arbeit von Alex ist trotzdem absolut zu würdigen. Klasse Ansätze und im Großen und Ganzen auch super umgesetzt.

Ich habe da einen kleinen Fehler korrigiert (wenn man die typischen Deutschen Begriffe wie der/die/das nutzt).
Aber danke für die Rückmeldungen, so kann ich versuchen die Fehler zu beseitigen.
Abgesehen von der Problematik “Code aufsplitten oder in einer Datei belassen”.

Admin-Account geht so:

Aus der Zeile:
‘Authorization’: 'Basic ’ + new Buffer(encodeURIComponent(“BENUTZERNAME”) + “:” + encodeURIComponent(“PASSWORT”)).toString(“base64”),
in das hier ändern:
‘Authorization’: 'Basic ’ + new Buffer(“EMAILADRESSEOHNEENCODING:PASSWORT”).toString(“base64”),

Also beispielsweise:
‘Authorization’: 'Basic ’ + new Buffer("support@fibaro.com:supportme").toString(“base64”),

Hallo Alex!

ich wäre Dir sehr dankbar, wenn Du dich mal mit mir in Verbindung setzen könntest.

a.roslan@elkom-computer.de

Gruß
Aleksandar

Habe geantwortet. Mail erhalten?