@smartysmart
Das Hauptproblem ist, das die ganzen datenpunkte nicht abonniert wurde.
Vis sammelt beim Start (also bspw neuladen mit f5) zunächst erst einmal alle vorhandenen datenpunkte ein und abonniert diese beim Server.
Erst dann sind die in der vis.states Auflistung vorhanden.
Das passiert bei dir nicht. Daher auch keine Daten
Du kannst mal hier nach meiner Funktion bindStates schauen.
Die macht das mit der Angabe des datenpunkt namens.
Du musst aber ein html Element mitgeben. Dort werden dann die trigger für die Änderung gespeichert, das die auch wieder entfernt werden. Ansonsten holst du dir früher oder später ein Speicherwerk, da sich mit der Zeit immer mehr trigger anhäufen und bei einer Änderung deine Funktionen dann zigmal aufgerufen werden.
https://github.com/oweitman/ioBroker.tvprogram/blob/404b70e1e1886b545d9ae9f0b2dd7f2f27452179/widgets/tvprogram/js/tvprogram.js#L122
Die variablen mit $ sind jquery Objekte.