NEWS
HowTo: Zusatz-Programme fuer jarvis v3
-
@eds Nimm die neueste Version v1.0.30
Die Kurven werden nicht angezeigt, da die Tibberwerte nicht im definierten Bereich von colorJson liegen.
Ist mit v1.0.30 korrigiert -
Hi zusammen,
ich versuche mich per Script am LabelChange und bin der Doku hier gefolgt.
Leider scheint das Code Beispiel nicht mehr zu passen - meine Vermutung. Sofern ich es verstehe wird die WidgetID nicht übernommen? Hat jemand einen Tipp?
/* Funktion aufrufen */ widgetLabelChange('b7cb136a-00d6-4405-b079-0c1165321509','Test Living Stripe'); widgetLabelChange('6c0b51ac-7580-4f0a-9949-9296a338a454','Test Living Room'); function widgetLabelChange(widgetId,newLabel){ let labelEle = document.getElementsByClassName('jarvis-widget-'+widgetId)[0].children[0].children[0].children[0]; if (labelEle != undefined){ labelEle.innerText = newLabel; } }
-
@gutgut30 Welche Jarvis Version?
Es wurde schon das komplette Skript benutzt und nicht nur der angezeigte Teil? -
@mcu Ahhh, okay, ich dachte die Funktion wird aufgerufen. Nein, wurde es natürlich nicht. Ich schaue es mir noch mal an. Danke.
-
Ne, sorry. ich schnalle es nicht. Ich finde es mit den ganzen Hinweisen zu >3.2 auch leider sehr verwirrend beschrieben. Wenn man die Wiki zu Scripts zum ersten mal besucht erschlägt einen das etwas und ich bin mir auch nicht so sicher ob die < > Zeichen überall korrekt sind
Ich nutze die 3.1.8 und habe die widgetLabelChange.js 1:1 kopiert und als Datei über den iobroker Admin bei mir abgelegt.
Über den Browser bekomme ich die Datei angezeigt.
Im Jarvis Script Teil habe ich dann den Import gesetzt und die beiden Labels genannt die anpasse möchte (x natürlich die korrekt IP):
import "http://192.168.x.x:8081/files/jarvis/js/widgetLabelChange.js"; widgetLabelChange('b7cb136a-00d6-4405-b079-0c1165321509','Test Living Stripe'); widgetLabelChange('6c0b51ac-7580-4f0a-9949-9296a338a454','Test Living Room');
Als Ergebnis bekomme ich aber leider weiterhin die Meldung im Log. Ich habe auch mal Zeile 51 im Script angepasst und dort meine ID gesetzt, das scheint aber auch nicht richtig zu sein.
In diesem thread habe ich ein paar Infos gefunden, vor allem zum Upload der js, aber ich glaube ich hab es einfach noch nicht verstanden wie man .js File und die Infos aus dem Wiki funktionierend zusammenfügt.
-
@gutgut30 Port 8082 verwenden
Wenn man den Link im Browser nutzt, wird dann das Script angezeigt?- Zeig doch mal Deine Einstellungen in scripts, was steht da drin.
- schau dir nochmal die Import-Variante an https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/besonderheiten-v3/scripts-3.1.x-pro#import-variante
-> Für Deine skript ein eigenes Verzeichnis anlegen z.B. jarviScripte in 0_userdata.0 / Benutzerdaten
(In dem Beispiel jarvisScripts)-> import "http://192.168.178.xx:8082/0_userdata.0/jarvisScripts/displayMark.js";
-
Ich hab die Datei jetzt im benutzerdefinierten Ordner. Der Browser zeigt sie mir aber nur auf Port 8081 an, wenn ich den Port auf 8082 setze ist die Datei nicht erreichbar.
Ich habe das Script ein mal 1:1 von der Seite übernommen und auch ein mal mit einer Anpassung versehen. Ändert aber nichts.
Und ja, ich habe das "ab hier nichts mehr ändern" gesehen, war nur ein Versuch weil es 1:1 nicht ging.
So sieht es im Script Fenster aus:
Das Script wird auch gefunden, aber läuft in einen Fehler
Und ja, es sind verschiedene IDs, ich hab es auch mal mit Anpassung im JS und Script Editor versucht und wollte so die Labels unterscheiden können.
-
import "http://192.168.69.215:8082/0_userdata.0/JarvisCustom/Scripte/widgetLabelChange.js";
In das Script selbst setzen
Du nutzt das WidgetObj ja nicht.docReady(function() { if (isConfig()){ }else{ //subscribeDPs(widgetObj); widgetLabelChange('b7cb136a-00d6-4405-b079-0c1165321509','Test Living Stripe'); widgetLabelChange('6c0b51ac-7580-4f0a-9949-9296a338a454','Test Living Room'); } document.addEventListener("click", (event) => { if (isConfig()){ }else{ //subscribeDPs(widgetObj); //for(let widgetId in widgetObj){ // setWidgetHTML(widgetId); //} widgetLabelChange('b7cb136a-00d6-4405-b079-0c1165321509','Test Living Stripe'); widgetLabelChange('6c0b51ac-7580-4f0a-9949-9296a338a454','Test Living Room'); } }); });
EDIT: Muss ich mir nochmal anschauen, läuft auch bei mir auf einen Fehler.
-
-
@mcu
Oh man, das mit dem anderen Pfad habe ich nicht gesehen. Angepasst und jetzt ist das Script auch per 8082 im Browser unter der korrekten URL erreichbar.Hab dann dein Update gesehen. Mit dem widgetlabelchangetxt gehts! Muss jetzt mal schauen wie ich da mehrere IDs reinbekomme. Hab es jetzt auch erst mal mit einem ausprobiert.
-
@gutgut30 Schreib ich noch rein, wie es mit mehreren Ids (WidgetIds) laufen muss