NEWS
Problem mit Selector seit Update auf Javascript 5.0
-
Hallo,
habe Javascript Adapter von 4.xx auf 5.0.11 upgraded.
Seitdem funktionieren Selectoren nicht mehr wie vorher.Beispiel:
let SelectorU = $('channel[state.id=hm*.UNREACH$]');
funktioniert nicht mehr.
let SelectorU = $('channel[state.id=hm*.UNREACH]');
funktioniert.Außerdem kann kein oder in der id mehr angegeben werden.
Mache ich etwas falsch?let SelectorU = $('channel[state.id=hm*.UNREACH]'); SelectorU.each(function (id, i) { log('id:'+ id); });
Mit $ wird nichts geliefert
-
@gieselbert Geh auf 5.0.12
-
@thomas-braun Von Github?
-
@gieselbert Nein, gibt es über ein ganz normales Update aus den Verwahrorten.
-
@thomas-braun Problen ist immer noch da!
-
@gieselbert sagte in Problem mit Selector seit Update auf Javascript 5.0:
Problen ist immer noch da!
hast du das Blockly neu angelegt?
-
@gieselbert sagte in Problem mit Selector seit Update auf Javascript 5.0:
@thomas-braun Problen ist immer noch da!
Gefühlt der 10 Post heute zu genau diesem Problem und in allen anderen steht mittlerweile die Lösung.
Ist der Upgrade denn erfolgreich durchgelaufen?
-
Tut mir leid, da habe ich nicht richtig nachgeschaut.
Die Installation ist durchgelaufen, auch jetzt das Upgrade auf 5.0.12.
Fix angewandt.
Problem besteht aber noch immer. -
@gieselbert sagte in Problem mit Selector seit Update auf Javascript 5.0:
Problem besteht aber noch immer.
@homoran sagte in Problem mit Selector seit Update auf Javascript 5.0:
@gieselbert sagte in Problem mit Selector seit Update auf Javascript 5.0:
Problen ist immer noch da!
hast du das Blockly neu angelegt?
-
@homoran Ist kein Blockly sonder ein einfaches Script!
-
@gieselbert Aber beim Script bis du doch für das Verantwortlich was du da rein tippst.
Lief es denn füher mit dem "$" hinter Unreach ?
-
@wendy2702
Bei mir (Version 5.0.5) funktioniert es noch mit $ am Ende.log($('^hm-rpc.*.0.UNREACH$'))
-
@wendy2702 Natürlich, ist doch eine gültige RegExpr.
Auch
hm*.UNREACH|shelly*.online
in der id haben früher funktioniert und jetzt nicht mehr.
Das ganze übrigens auf zwei unterschiedlichen Systemen. -
@gieselbert Dann bitte ein Github issue aufmachen.
-
Habe noch mal mit verschiedenen Schreibweisen probiert:
/* Beispiel 1 */
log ('Beispiel 1') let Sel = $('^hm*.UNREACH$'); Sel.each(function(id,i){ log(id); })
/* Beispiel 2 */
log ('Beispiel 2') var Sel1 = $('channel[state.id=hm*.UNREACH$]'); Sel1.each(function(id,i){ log(id); })
/* Beispiel 3 */
log ('Beispiel 3') var Sel2 = $('channel[state.id=hm*.UNREACH]'); Sel2.each(function(id,i){ log(id); })
Ergebnis Beispiel 1 und 3 liefern Werte, 2 liefert nichts.
-
@gieselbert Habe mal versucht das was leserlicher zu machen.
Wie geschrieben, bitte Issue aufmachen. Die Entwickler bekommen das dann schneller mit
-
@wendy2702 Habe ich noch nie gemacht, versuche micht mal morgen!
Danke -
@gieselbert Ich mach mal und verwende deine Postings.
-
Das müsste eigentlich schon länger geändert sein. Diese channel-Syntax sollte nie ein RegExp sein, wurde aber anscheinend gerne so missbraucht, um um einen Bug herum zu schiffen, anstatt diesen zu melden. Beispiel 2 selektiert States, die mit
hm
beginnen und mit.UNREACH$
(inklusive $) enden.Siehe auch die Dokumentation:
https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#---selectorIn anderen Worten: working as intended.