NEWS
VIS und Scripte
-
@andre-heinze alle deine vorschläge hören ich kompizierter an, als ein timeout. aber ich wäre auch an einer lösung interessiert - ich hatte damit bisher kein problem, da meine html tabellen, die ich für die vis erstelle, die scripte beinhalten.
ein timeout ist ja auch nur ein problem, wenn du direkt nach einen browser refresh etwas ausführen willst, weil du direkt nach dem refresh in der vis etwas sehen oder oder machen willst.
@OliverIO
muss dich wieder mal fragen, ob du für unser problem eine gute idee hast. https://forum.iobroker.net/post/609009 zeigt das problem. man braucht unbedingt diesen timeout, damit im scripte tab (in der vis) das jquery funktioniert - kann man das irgendwie lösen -
@liv-in-sky sagte in VIS und Scripte:
. https://forum.iobroker.net/post/609009 zeigt das problem. man braucht unbedingt diesen timeout, damit im scripte tab (in der vis) das jquery funktioniert
@Glasfaser - hast du vielleicht eine idee dazu
-
Habe ich schon länger verfolgt , aber so ganz werde ich nicht schlau daraus .
-
@glasfaser was würde dich schlau machen?
vielleicht helfen da deine überlegungen
-
Also wenn ich es nochmal quer lese ( Sorry )
Er möchte nur ein Dialog Popup . ( Inhalt mit der Steuerung mit übernahme der $('#wxxxxx') )
Also ... auf klick auf irgendeinem Lampen Widget wird die ID übernommen und in das PopUp übertragen , damit er nur einmal dieses Popup nutzt zur Steuerung
-
@andre-heinze was sich auch mache - ich habe ein widget, welches nur scripte für ein besonderes project enthält - das widget enthält nichts sichtbares, aber die sripte können angewendet werden - nicht schön, aber funktioniert
ich habe auch ein widget, welches ich durch einen datenpunkt "misbrauche" - ich lade über ein "normales" javascript einen datenpunkt mit verschiedenenen scripte, welche ich in der vis brauche - die vis lädt den aktalisierten dp und führt das script darin aus
-
@glasfaser das darf @Andre-Heinze beantworten
-
Dann wäre deine Lösung , die du schon immer nutzt , eigentlich eleganter !
Dies kenne ich hierher ...
https://forum.iobroker.net/topic/23346/vorlage-variable-zeitsteuerung-mit-vis-editor
wo du es noch für dich verfeinert hast
-
@liv-in-sky sagte in VIS und Scripte:
@andre-heinze alle deine vorschläge hören ich kompizierter an, als ein timeout. aber ich wäre auch an einer lösung interessiert - ich hatte damit bisher kein problem, da meine html tabellen, die ich für die vis erstelle, die scripte beinhalten.
ein timeout ist ja auch nur ein problem, wenn du direkt nach einen browser refresh etwas ausführen willst, weil du direkt nach dem refresh in der vis etwas sehen oder oder machen willst.
@OliverIO
muss dich wieder mal fragen, ob du für unser problem eine gute idee hast. https://forum.iobroker.net/post/609009 zeigt das problem. man braucht unbedingt diesen timeout, damit im scripte tab (in der vis) das jquery funktioniert - kann man das irgendwie lösenEine feste Zeit vorzugeben ist gefährlich, da manche Endgeräte langsamer und andere schneller sind.
Da in vis die einzelnen Widgets dynamisch generiert werden und die Reihenfolge nicht feststeht, weiß man nicht wann der Code ausgeführt wird.Da ich aktuell nicht so intensiv die Posts lesen konnte, weiß ich nicht in welchem Kontext das document.ready ausgeführt wird.
Wenn es in einem html Widget drin steht, ist es unnötig, da zu diesem Zeitpunkt das document definitiv vollständig geladen wurde.Um das vis Problem zu lösen, kann man in die vorhandenen widgets schauen
Also Vorschlag den folgenden Code
VAR widgetID=„myId“ function doanything() { var $div = $('#' + widgetID); // if nothing found => wait if (!$div.length) { return setTimeout(function () { doanything(); }, 100); } console.log(„Widget wurde nun von vis erzeugt“; //ab hier click oder andere Events oder Code ausführen } doanything();
-
@oliverio das ist natürlich clever, auf das widget zu warten - danke - hatte mir schon die ganze zeit überlegt, auf was jquery "hören" könnte - das ist dann die lösung - auf das widget selbst
@Andre-Heinze muss nun wissen, ob das für ihn funktioniert
ohne den vorschlag von @OliverIO hätte ich einfach ein widget mit all meinen code (popup,..) über das "normale" schalter widget gelegt (oder direkt daneben,, oder in die ecke,...) - so kann dann auch ein selbsterstelltes popup mit zusätzlichen settings aufgerufen werden - der code könnte dannn sogar über ein binding von einem dp geholt werden bzw die "normalen" iobroker scripte könnten individuel über ein script erzeugt werden
-
@liv-in-sky
ich hab mich entschieden hierfür ein eigenes Widget oder Adapter zu erstellen. Sobald es fertig ist melde ich mich hier nochmal. -
bitte posten, wenn fertig - würd mich interessieren