NEWS
Fragen / Antworten rund um die neue Alias Funktion
-
@apollon77 sagte:
"Ein"/"Aus" geht auch automatisch
Wirklich ?
if (state.val === 'off' || state.val === 'OFF' || state.val === 'AUS' || state.val === 'aus' || state.val === 0 || state.val === '0') {
-
@paul53 ooooojhkkk ... "Aus" nicht ... ich baue es noch in ein lowercase um
-
@apollon77
Die Abfragestate.val === 0
kann man weglassen, denn der Fall wird abgedeckt durch
else state.val = !!state.val;
-
@paul53 korrekt
-
Ich habe nach dem Update auf den JS-Controller 2.1 einige meiner Skripte umgestellt, so dass jetzt 0_userdata.0 sowie die Alias (anstatt der LinkedDevices Adapter) genutzt wird.
0_userdata.0 funktioniert genau wie erwartet; Alias praktisch gar nicht.
Im Objektbaum werden die richtigen Werte angezeigt und auch bei Änderungen funktioniert es in beide Richtungen (schreiben auf Alias, sowie schreiben auf Originaldatenpunkt). Sobald aber ein Skript einen Aliasdatenpunkt nutzen soll funktioniert es nicht mehr. Die Trigger lösen nicht aus, wenn ein Skript versucht einen Aliasdatenpunkt zu lesen (gewählt via Objektbaum-Popup im Blockly), den es definitiv gibt, so schlägt es fehl mit folgendem Log:
-
Welche Version des JavaScript Adapters ist im Einsatz?
-
@apollon77 Script engine ist in Version 4.1.14 installiert.
Edit: falscher Adaptername -
@Xyolyp Ich meine den "Javascript" ("Script Engine" seit neuestem) Adapter
-
@apollon77 den meinte ich auch. Habe nur den falschen Namen geschrieben
-
@Xyolyp Update mal auf was aktuelles bitte ... der ist recht alt. Könnte mir vorstellen das es ggf mit daran liegt
-
@apollon77 im stable ist 4.1.12 der aktuellste. Aktuell bewege ich mich mit meinem System immer mehr in Richtung "nur noch stable", da mein Verständnis von stable ist, dass da keine Experimente passieren, sondern die Funktionalität, die vom Adapterentwickler in der Version beworben wird funktioniert.
Auf welche Version sollte ich denn aktualisieren, damit es funktioniert? -
@Xyolyp Ich sage es mal so: Wir haben währendder Entwicklung üblicherweise mit javascript 4.3.x getestet was aktuell "latest". Müsste man halt jetzt mal checken ob es da tut.Dann muss das noch fix ins Stable
-
@apollon77 mit der Script Engine v 4.3.2 haben die ersten zwei, drei Tests funktioniert.
-
@Xyolyp Also müssen wir wohl doch für Alias noch javascript im Stable updaten ... hm .... ok!!
-
auch wenn das hier schon ein paar Tage alt ist, ich finde keinen passenderen Thread.
Mein Geräte-Tab macht bisher mehr Probleme als das er nützt....
Mein System
Poblem 1: Beim einstellen vom Gerätetyp wir dieser teilweise falsch angezeigt. Typ Medien wurde in der Übersicht als Typ Info angezeigt. (Im Objekte-Tab stehts aber richtig)
Problem 2: Hatte beim Gerätetyp aus versehen auf Typ Instanz geklickt, danach hängte sich der Komplette Adapter auf und ich hatte nur noch einen weißen Bildschirm vor mir....
Problem 3: Neu erstellte Geräte werden teilweise erst nach wegwechseln und wieder hin wechseln vom Gerätetab angezeigt...
Problem 4: und auch das schlimmste Problem: Nachdem ich die angelegten Geräte in ein Blockly einbinden wollte, fuhr sich ioBroker komplett fest. Auf alle geöffnetten Tabs sah ich nur noch den bunten, drehenden Kreis.
Laut top hatten sowohl der Admin-Adapter und der js-controller wechselseitig immer so um die 50-60% CPU-Auslastung. Das Problem war mehrfach reproduzierbar. Immer in der Objektauswahl vom js-Controller ging nix mehr, sobald ich im alias.0 Ordner irgendein Gerät angeklickt habe.Nachdem ich alle Geräte aus dem Geräte-Tab entfernt habe, läuft wieder alles normal...
Leider kann und will ich das nicht nochmal reproduzieren, da ich nur ein Produktivsystem habe und mir das nicht zerschießen will...
Aber vielleicht hilfts ja trotzdem.Log hat übrigens nix angezeigt.
-
@Supermicha Leg das doch am besten als Issue beim "devices" Adapter im GitHub an
-
Erledigt. Habe mal für jeden Punkt ein extra Issue angelegt, hoffe das war richtig.
-
Da der Titel so schön passt, hänge ich mich auch mal mit dazu. Vielleicht hat ja jemand das Problem.
Ich habe einen Alias true/false auf eine Scene gemacht. Leider scheinen irgendwelche Rückmeldungen den Sceneadapter zu verwirren, jedenfalls wechselt der Zustand beim schalten von true/false direkt auf uncertain. Das wird aber vom alias in true konvertiert (klar, string der nicht leer ist oder Aus / off ...).Früher hatte ich einen state in javascript.0 und ein skript, der halt true/false übernommen hat und uncertain ignoriert. Kriege ich das irgendwie mit der Alias Funktion hin? Kann ich in read Werte ignorieren, also kein Update machen? (Das ist der letzte Punkt, dann kann das Skript komplett weg und alias macht eigentlich alles, was das vorher gemacht hat).
-
@Garfonso sagte :
wechselt der Zustand beim schalten von true/false direkt auf uncertain.
In der Szene ? Woher kommt das ?
Dein Skript ? -
Das "uncertain" kommt vom Scene Adapter. Ich ändere da (egal woher, Skript, Vis, Admin) auf true oder false zum ein/ausschalten. Das schalten geht dann und der Scene Adapter ändert dann aber den State nach ein paar 100ms auf "uncertain" (bzw. ein paar mal hin und her manchmal true/false <-> uncertain, bleibt dann aber immer bei uncertain). Warum weiß ich nicht, hat er bei der Szene aber immer so gemacht. Die Szene ist eine "Virtual Group".