Wie die Ausgabe eines Scriptes in der VIS anzeigen

Allgemeine Fragen und Info rund um ioBroker
Antworten
MartinHe
Beiträge: 2
Registriert: 12.02.2018, 15:23

Wie die Ausgabe eines Scriptes in der VIS anzeigen

Beitrag von MartinHe » 12.02.2018, 22:36

Hallo,

ich bin ganz neu hier, fange gerade mit ioBroker an.
Ich habe schon Erfahrung mit EDOMI, will aber auf ioBroker umsteigen.

Nun meine Frage:
Wenn ich ein ganz einfaches Script schreibe:

var test1 = 10;

Wie kann ich dann in der VIS diese Variable ausgeben?
Wenn ich eine Ausgabefeld nehme, kann ich ja nur den Scriptnamen auswählen, aber es wird dann nichts angezeigt.
Script ist natürlich gespeichert und gestartet.

Danke für die Hilfe
Martin

eXTreMe
professional
Beiträge: 113
Registriert: 07.05.2017, 18:08

Re: Wie die Ausgabe eines Scriptes in der VIS anzeigen

Beitrag von eXTreMe » 12.02.2018, 23:06

warum schreibst du den wert der variablen nicht über dein script in einen datenpunkt mit setState("pfad-zum-datenpunkt", test1) und lässt den inhalt des datenpunkts dann in vis z.b. mit dem basic string widget anzeigen, so wird das eigentlich gemacht ;)
den datenpunkt musst du entweder vorher manuell unter objekte (z.b. unter javascript.0) neu anlegen oder mit createState per script erstellen lassen. In der Doku vom Javascript Adapter (auf das Fragezeichen neben dem Javascript Adapter in der Adapterliste klicken) ist alles erklärt.

Benutzeravatar
ruhr70
guru
Beiträge: 2247
Registriert: 24.02.2015, 19:40

Re: Wie die Ausgabe eines Scriptes in der VIS anzeigen

Beitrag von ruhr70 » 13.02.2018, 00:45

MartinHe hat geschrieben:Nun meine Frage:
Wenn ich ein ganz einfaches Script schreibe:

var test1 = 10;

Wie kann ich dann in der VIS diese Variable ausgeben?
Vis greift auf die Datenpunkte zu, die von den Adaptern oder Deinen Skripten angelegt werden.
Datenpunkte könne auch von Hand angelegt werden. Ich mache dies immer im Skript.

Für Dein Beispiel:

Code: Alles auswählen

// Datenpunkt anlegen unter javascript.0.test.test1
createState("test.test1", 0, {
     name: 'Testdatenpunkt',
     desc: 'Die Beschreibung des Testdatenpunkts',
     type: 'number',
     unit: '',
     role: 'value'
});


function main() {
    var test 1 = 10;
}

// mit der Verarbeitung des Skripts etwas warten, damit der erste Skriptstart keinen Fehler bringt
// wenn der Datenpunkt noch nicht angelegt ist
setTimeout(main,    500);
Den Datenpunkt javascript.0.test.test1 kannst Du dann in VIS auswählen und visualisieren.
Intel NUC (NUC6i5SYH) -> ESXi 6 > VM Ubuntu 16.04 ioBroker (redis) > VM Ubuntu 16.04 mySQL
Slave: Pi 3 ohne SD (Boot USB SLC)
CCU2, hue 2, DS 1512+, WeMos, Harmony Hub, Alexa
Adapter: Fritzbox / Skripte: dynamic hue, Bluetooth Scanner, WIFFI-wz

MartinHe
Beiträge: 2
Registriert: 12.02.2018, 15:23

Re: Wie die Ausgabe eines Scriptes in der VIS anzeigen

Beitrag von MartinHe » 13.02.2018, 17:02

ruhr70 hat geschrieben:
MartinHe hat geschrieben:Nun meine Frage:
Wenn ich ein ganz einfaches Script schreibe:

var test1 = 10;

Wie kann ich dann in der VIS diese Variable ausgeben?
Vis greift auf die Datenpunkte zu, die von den Adaptern oder Deinen Skripten angelegt werden.
Datenpunkte könne auch von Hand angelegt werden. Ich mache dies immer im Skript.

Für Dein Beispiel:

Code: Alles auswählen

// Datenpunkt anlegen unter javascript.0.test.test1
createState("test.test1", 0, {
     name: 'Testdatenpunkt',
     desc: 'Die Beschreibung des Testdatenpunkts',
     type: 'number',
     unit: '',
     role: 'value'
});


function main() {
    var test 1 = 10;
}

// mit der Verarbeitung des Skripts etwas warten, damit der erste Skriptstart keinen Fehler bringt
// wenn der Datenpunkt noch nicht angelegt ist
setTimeout(main,    500);
Den Datenpunkt javascript.0.test.test1 kannst Du dann in VIS auswählen und visualisieren.
Danke, die Info hat mir gefehlt.
So klappt es super.

paul53
guru
Beiträge: 2673
Registriert: 09.06.2015, 16:03
Wohnort: Berlin

Re: Wie die Ausgabe eines Scriptes in der VIS anzeigen

Beitrag von paul53 » 13.02.2018, 17:54

Es fehlt noch der setState() und es ist ein Leerzeichen zuviel.

Code: Alles auswählen

function main() {
    var test1 = 10;
    setState('test.test1', test1, true);
}
Versionen für RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs:
Jessie lite, Kernel 4.4.13-v7+, hmcon 0.18, node 6.11.1, Host 1.2.3, Admin 2.0.9, Javascript 3.6.4, HM-RPC 1.6.0, Email 1.0.2, History 1.7.2, Flot 1.7.7, Vis 1.0.4, Web 2.1.9

Antworten