NEWS
(erledigt) Javascript Adapter Fehler
-
@dslraser sagte: Ich bin mir sicher, das es auf jeden Fall mal so ging wie oben gezeigt
Gerade getestet: Es funktioniert mit Variablen, die IDs enthalten (JS 5.2.8).
-
@paul53 sagte in Javascript Adapter Fehler:
Gerade getestet: Es funktioniert mit Variablen, die IDs enthalten (JS 5.2.8).
dann weiß ich nicht warum es bei mir nicht geht ?
Ich muß dazu sagen, die IDs die ich verwende sind von Jemand Anderem. Ich habe den Adapter gar nicht installiert, nur einen json Export seiner Datenpunkte bei mir importiert. (ich ändere zum testen nur die Werte der Datenpunkte, um zu sehen ob mein Blockly funktioniert )Mit einer ID als Variablen geht es, mit zwei dann nicht mehr. Nehme ich keine Variablen, sondern klicke direkt in den Trigger und wähle die zwei Datenpunkte aus geht es auch...?
Weshalb gehst Du den Umweg über Variablen?
Ich habe mir angewöhnt erstmal alles "ausserhalb" zu setzen, dann braucht Jemand, der das Blockly dann importiert und andere IDs hat, nur diese Dinge ändern und nicht das ganze Blockly zu durchsuchen. Und ich kann dann die Variablen für mich so benennen wie ich sie am besten verstehe.
-
@dslraser
Könnte es sein, dass die Klammern bei "Wohnbereich-(Innen)" Probleme bereiten? -
@paul53 sagte in Javascript Adapter Fehler:
@dslraser
Könnte es sein, dass die Klammern bei "Wohnbereich-(Innen)" Probleme bereiten?ich probiere mal den json export der Datenpunkte zu bearbeiten.
-
@paul53 sagte in Javascript Adapter Fehler:
Könnte es sein, dass die Klammern bei "Wohnbereich-(Innen)" Probleme bereiten?
Das war es !
So geht es wie es soll. (Also sind Klammern in der ID wohl Sonderzeichen und nicht so eine gute Idee ?)
Die Klammern legt wohl aber der Adapter netatmo so an. Wie gesagt, ich habe den Adapter gar nicht installiert. -
@dslraser sagte in Javascript Adapter Fehler:
Also sind Klammern in der ID wohl Sonderzeichen und nicht so eine gute Idee ?
im RegExp haben Klammern eine eigene Bedeutung, will man sie 'normal' verwenden so muss man sie escapen
\(
. Wenn du im Trigger die normalen ID's verwendest dann macht das der JS-Adapter für dich, bei Verwendung von Variablen halt nicht. Im Blockly gibt es mW leider kein Ersetzen einzelner Zeichen, du könntest aber eine JS-Funktion verwenden mitvariable = variable.replace('(','\\(').replace(')','\\)')
. Passt natürlich nur wenn du die Variablen nur im Trigger benötigst und sonst nirgends. Eine Verwendung der Funktion im Trigger funktioniert nicht! In der Funktion steht nur:return var1.replace('(','\\(').replace(')','\\)');
-
@dslraser sagte in Javascript Adapter Fehler:
@paul53 sagte in Javascript Adapter Fehler:
Könnte es sein, dass die Klammern bei "Wohnbereich-(Innen)" Probleme bereiten?
Das war es !
So geht es wie es soll. (Also sind Klammern in der ID wohl Sonderzeichen und nicht so eine gute Idee ?)
Die Klammern legt wohl aber der Adapter netatmo so an. Wie gesagt, ich habe den Adapter gar nicht installiert.So sieht das in der Netatmo App aus.
Dort wird der Wohnbereich so aufgeteilt.
Innen und Aussen ist getrennt.
Ich kann das leider auch nicht ändern.
Das der Netatmo Adapter daraus "(Wohnbereich (innen) macht, ist ja eigentlich falsch, da "Regen" direkt unter "Wohnbereich/Terrasse" liegt.
-
-
@paul53 sagte in Javascript Adapter Fehler:
@dslraser sagte: So geht es wie es soll.
Dann schließe das Issue.
mache ich, aber müßte nicht dieser Adapter angepasst werden, so das sowas nicht passiert ?
-
@dslraser sagte: müßte nicht dieser Adapter angepasst werden, so das sowas nicht passiert ?
Der Adapter kann nicht alle Eventualitäten abdecken: Klammern gehören nicht in eine ID.
-
@paul53 sagte in (erledigt) Javascript Adapter Fehler:
@dslraser sagte: müßte nicht dieser Adapter angepasst werden, so das sowas nicht passiert ?
Der Adapter kann nicht alle Eventualitäten abdecken: Klammern gehören nicht in eine ID.
Wenn ich es richtig verstanden habe, dann erstellt der Adapter das aber so, also die Klammern.
-
@dslraser sagte in Javascript Adapter Fehler:
mache ich, aber müßte nicht dieser Adapter angepasst werden, so das sowas nicht passiert ?
nein, der Adapter kann nicht wissen was Du in deinen Variablen hast, und nur auf Verdacht zu escapen wäre Ressourcenverschwendung, das ist user land. Schade finde ich allerdings dass ein Funktionsaufruf auch escaped wird(die Klammern um die Funktions-Parameter) so dass der Funktionsaufruf einen Fehler wirft. Aber auch das ist mE kein wirklicher Fehler
-
@dslraser sagte in Javascript Adapter Fehler:
...dann erstellt der Adapter das aber so, also die Klammern.
du hast ja eine Lösung