NEWS
Wo finde ich Variablen der VIS Oberfläche
-
Hallo,
bin leider noch totaler Anfänger.
Ich möchte über einen Dashbutton eine Lampe auf der VIS Oberfläche ansteuern.
Den Status des Dshbutton bekomme ich schon hiermt geändert:
setState("amazon-dash.0.ac-65-be-1a-c7-a8.switch",true);
Auf der VIS Oberfläche habe ich eine Lampe eingefügt. Diese hat eine Objekt ID von "dev1"
Diese finde ich aber nicht unter den Objekten.
Wie lautet denn der Befehl um die Lampe "Dev1" einzuschalten?
Kann mir dazu jemand einen Tipp geben.
Gruß
broker
-
Eigentlich musst Du nur das Objekt der Lampe zuweisen.
Also das Object "amazon-dash.0.ac-65-be-1a-c7-a8.switch" der Lampe.
Das geht recht bequem, indem Du auf den Auswahlbutton klickst.
Dann geht ein Objectfenster auf und du suchst Dir das, was Du möchtest. Die Widget setzten dann selber den Wert.Hoffe das ist, was Du meintest.
Fitti
-
Eigentlich musst Du nur das Objekt der Lampe zuweisen.
Also das Object "amazon-dash.0.ac-65-be-1a-c7-a8.switch" der Lampe.
Das geht recht bequem, indem Du auf den Auswahlbutton klickst.
2017-02-17 20_22_18-.png
Dann geht ein Objectfenster auf und du suchst Dir das, was Du möchtest. Die Widget setzten dann selber den Wert.
Hoffe das ist, was Du meintest.
Fitti `
Danke, dass habe ich hinbekommen.
Gibt es denn auch eine Möglichkeit, eine eigene Variable im System zu erzeugen?
Z.B. "testvariable.switch" anstelle von "amazon-dash.0.ac-65-be-1a-c7-a8.switch" auf die ich mit derm gleichen System zugreifen kann. D.h. über Obejekt ID kann ich dann die testvariable.switch auswählen.
Gruß
broker
-
Gibt es denn auch eine Möglichkeit, eine eigene Variable im System zu erzeugen? `
Du jannst einen Eigenen Datenpunkte anlegen:http://www.iobroker.net/?page_id=5495&l … inzufuegen
Gruß
Rainer
-
Und natürlich auch per Skripte.
mit einem````
var instanz = 'javascript.0.';
var pfad = 'Tankstellentabelle.';
//Lege Variable an.
createState(instanz + pfad + html_tabelle, 0, {
name: 'HTML Tabelle mit Tankstellen aus Tankerkönig Adapter',
type: 'string'
});legst Du Dir auch eine Variable unter javascript.0.Tankstellentabelle.html_tabelle an und füllst diese mit einer 0.
-
Vielen Dank für eure Tipps, hier wird einem wirklich geholfen.
Hat sofort geklappt!
Hoffe ich kann noch eine Frage loswerden:
Jetzt möchte ich meine Dreambox darüber ein bzw. ausschalten. Dafür gibt es die Befehle:
Aus = http://192.168.0.10/web/powerstate?newstate=5
Ein = http://192.168.0.10/web/powerstate?newstate=4
Wie kann ich nun in javascript die variable "amazon-dash.0.ac-65-be-1a-c7-a8.switch" so abfragen,
das bei switch ein
http://192.168.0.10/web/powerstate?newstate=4
und bei switch aus
http://192.168.0.10/web/powerstate?newstate=5
jeweils einmalig ausgeführt wird ?
Vielen Dank im voraus.
broker
-
Wenn du javascript noch nicht richtig beherrschst wäre vielleicht Blockly etwas für dich.
Im Javascript-Editor kann man drei verschiedene Varianten anwählen: Blockly, javascript und coffeescript.
Wenn du Blockly ausgewählt hast kannst du mit "Puzzleteilen" dein Skript zusammenklicken.
Versuch es mal damit.
http://www.iobroker.net/?page_id=5319&lang=de
Gruß
Rainer
-
Wenn du javascript noch nicht richtig beherrschst wäre vielleicht Blockly etwas für dich.
Im Javascript-Editor kann man drei verschiedene Varianten anwählen: Blockly, javascript und coffeescript.
Wenn du Blockly ausgewählt hast kannst du mit "Puzzleteilen" dein Skript zusammenklicken.
Versuch es mal damit.
http://www.iobroker.net/?page_id=5319&lang=de
Habe ich gleich probiert. Sieht so aus als wenn das für mich das Richtige wäre.
Problem ist nur, dass ich irgendwie noch auf dem Schlauch dabei stehe.
Ich wollte die Variable "amazon-dash.0.ac-63-be-1a-c7-a8.pressed" abfrage und sobald sich dies ändert die Variable "admin.0.Testobjekt" auf true setzen.
Ist dann dies bei rausgekommen
die Varibale wird auch geändert, jedoch wird "admin.0.Testobjekt" nicht auf true gesetzt.
als Code ist übrigens dies bei rausgekommen
on({id: "amazon-dash.0.ac-63-be-1a-c7-a8.pressed"/Dash button pressed/, change: "any"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
setStateDelayed('admin.0.Testobjekt', true, false, parseInt(0, 10), false);
});
-
Ich taste mich jetzt auch erst über Blockly an javascript ran.
In einem ähnlichen Fall habe ich statt des "Schreibe", den "aktualisiere" Block genutzt
aktualisiere (Objekt ID) mit (Wert)
in deinem Falle also "true" als Wert
Gruß
Rainer