NEWS
Welches Schalter Widget für unterschiedliche An-Aus Befehl
-
Hallo,
irgendwie stehe ich grad wahnsinnig aufm Schlauch.
Ich schalte eine Intertechno Steckdose mit einem Einschaltbefehl und eine Ausschaltbefehl.
Und jetzt geht es los.
Wie kann ich das in einem Schalter darstellen?
Einschaltbefehl ist "hm-rpc.1.CUX4000001.1.PRESS_SHORT"
Ausschaltbefehl ist "hm-rpc.1.CUX4000001.2.PRESS_SHORT"
Wie mache ich das jetzt am besten?
Kann man zwei Schalter übereinander legen und wenn einer betätigt wird wir der in den Hintergrund gelegt und der zweite tritt hervor?
der fancyswitch wippe hell dunkel gefällt mir.
gruss
-
Ich fürchte mit der Wippe geht es nicht, kann es aber jetzt nicht testen.
Du benötigst auf jeden Fall ein Widget, das du auf Taster umstellen kannst.
Gruß
Rainer
-
Welche id hat denn die Schaltsteckdose? Du kannst sie ja direkt auch schalten?
Habe ähnliche Konfigurationen, Ein Licht das mit Wippe aber auch durch Taster oder Bewegungsmelder geschaltet wird…
-
Die Schaltsteckdose hat zwei IDs.
Eine für An und eine für Aus.
-
keiner ne Idee mehr?
-
Es geht im Prinzip dann nur mit zwei Buttons on/off, die als Taster konfiguriert werden.
Allerdings wirst du dann den Zustand des Lichts nicht darstellen können.
Gruß
Rainer
-
das weiss ich. Die Rückmeldung hab ich ja auch nicht. Kannst das mal an einem Bsp. verdeutlichen?
-
Kannst das mal an einem Bsp. verdeutlichen? `
Wenn ich jetzt am PC säße, ja. Am Tablet macht es wirklich keinen Spaß einen View zu editieren.Such mal ein Widget mit dem Filter on/off oder bool
Bei diesen suchst du in der Konfiguration die Checkbox "als Taster" o.ä.
Dann musst du zwei davon nehmen ein Widget für an und ein Widget für aus. Diese jeweils mit dem entsprechenden Datenpunkt verknüpfen.
Gruß
Rainer
-
Es geht im Prinzip dann nur mit zwei Buttons on/off, die als Taster konfiguriert werden.
Allerdings wirst du dann den Zustand des Lichts nicht darstellen können.
Gruß
Rainer `
Wenn die zwei Buttons übereinander liegen und über den jeweiligen Schaltzustand sichtbar/unsichtbar gemacht werden, sollte das gehen.Einer stellt den Zustand "ein" dar und schaltet beim Betätigen aus, der andere umgekehrt.
Gruß
Manfred
-
Wenn die zwei Buttons übereinander liegen und über den jeweiligen Schaltzustand sichtbar/unsichtbar gemacht werden, sollte das gehen.
Einer stellt den Zustand "ein" dar und schaltet beim Betätigen aus, der andere umgekehrt.
Gruß
Manfred
und wie oder wo stell ich den Schaltzustand ein?
-
Hallo,
ich würde aus VIS Performance-Gründen für solche eine Anwendung nicht so viele Widgets übereinanderlegen und per Sichtbarkeit steuern. Da kriegt man im Editor irgendwann die Krise.
Besser: Skript!
Javascript erstellt Boolean-State. Dieser State wird mit dem Widget geschaltet. Das Skript reagiert auf die Änderung und sendet den Befehl.
var idEin = "hm-rpc.1.CUX4000001.1.PRESS_SHORT", idAus = "hm-rpc.1.CUX4000001.2.PRESS_SHORT"; var idSchalter = "javascript.0.Schalter"; // Instanz anpassen createState(idSchalter, false, { type: "boolean", name: "Intertechno schalten", desc: "Variable, um mit VIS zu schalten" }); // Variable setzt Intertechno on(idSchalter, function (obj) { if (obj.state.val) setState(idEin, true, false); // ack false = Wert setzen else setState(idAus, false, false); }); // Intertechno setzt Variable (falls Intertechno woanders geschaltet wird) on(id: idEin, val: true, function(obj) { setState(idSchalter, true); log('intertechno wurde eingeschaltet"); }); on(id: idAus, val: true, function(obj) { setState(idSchalter, false); log('intertechno wurde ausgeschaltet"); });
Im Widget dann die id javascript.0.Schalter angeben
Ob ack zu setzen nötig ist, habe ich nicht getestet.
Frage: Was passiert, wenn man die (vermutlich) CUxD Datenpunkte auf false setzt?
Gruß
Pix
-
Wenn man die CuXD states ändert wird die Steckdose auch geschaltet. Aber nur bei der Änderung auf false, ändert man danach auf true passiert nix mehr.
-
Ich habe jetzt das Script angelegt.
Es wird dieses rote Kreuz angezeigt und die Meldung kommt.
Ein Objekt habe ich auch angelegt.
Wenn ich ein Bulb on/off Widget in Vis erstelle und da Javascript.0.Schalter auswähle wird der Status im Objekt auch geändert.
Nur die Steckdose schaltet nicht.
-
> on(****{****id: idEin, val: true****}****, function (obj) {
-
jetzt sieht es so aus.
-
So jetzt klappt es. Echt klasse! Danke dafür.
var idEin = "hm-rpc.1.CUX4000001.1.PRESS_SHORT", idAus = "hm-rpc.1.CUX4000001.2.PRESS_SHORT"; var idSchalter = "javascript.0.Schalter"; // Instanz anpassen createState(idSchalter, false, { type: "boolean", name: "Intertechno schalten", desc: "1999" }); // Variable setzt Intertechno on(idSchalter, function (obj) { if (obj.state.val) setState(idEin, true, false); // ack false = Wert setzen else setState(idAus, false, false); }); // Intertechno setzt Variable (falls Intertechno woanders geschaltet wird) on(idEin, val= true, function (obj) { setState(idSchalter, true); log("intertechno wurde eingeschaltet"); }); on(idAus, val= true, function(obj) { setState(idSchalter, false); log("intertechno wurde ausgeschaltet"); });
-
Hallo zusammen,
vorweg, ich kenne mich nicht wirklich mit Skripten aus, ist auch mein erster Versuch in VIS etwas zu realisieren. Habe aber versucht es wie hier erläutert zu übernehmen. Leider passiert nichts, wenn ich auf den Schalter drücke. Ein Objekt habe ich angelegt und im Widget auch ausgewählt…
Hier der Inhalt meines Skripts:
var idEin = "hm-rpc.1.CUX4000002.1.PRESS_SHORT", idAus = "hm-rpc.1.CUX4000002.2.PRESS_SHORT"; var idSchalter = "hm-rpc.1.CUX4000002.Intertechno_schalten"; // Instanz anpassen createState(idSchalter, false, { type: "boolean", name: "Intertechno schalten", desc: "1999" }); // Variable setzt Intertechno on(idSchalter, function (obj) { if (obj.state.val) setState(idEin, true, false); // ack false = Wert setzen else setState(idAus, false, false); }); // Intertechno setzt Variable (falls Intertechno woanders geschaltet wird) on(idEin, val= true, function (obj) { setState(idSchalter, true); log("intertechno wurde eingeschaltet"); }); on(idAus, val= true, function(obj) { setState(idSchalter, false); log("intertechno wurde ausgeschaltet"); });
Im Anhang noch die Screenshots. Was mache ich falsch? Über Homematic kann ich die Dosen schalten.
Viele Grüße
geändert: Code in Code-Tags; Homoran (Mod)
1964_objekt.jpg
1964_vis.jpg -
Warum hast Du die dritte Zeile verändert? Gem. Muster war das doch ein 'lokaler' Datenpunkt im JavaScript Adapter.
Und heissen Deine PRESS_SHORT Ziele zufällig gleich wie die des Kollegen weiter oben?
-
Ja, die PRESS_SHORT-Adresse ist gleich
Ich dachte in die dritte Zeile muss die Adresse rein, wo ich das Objekt erstellt habe!? Und das hab ich unter hm-rpc-1 gemacht… Aber wenn ich Dich richtig verstehe, muss das gar nicht darunter, sondern unter dem JavaScrip Adapter, den ich gar nicht installiert habe, erstellt werden!? Dann ist das wohl der Fehler, ich habe das Skript einfach nur im Widget unter "Skripte" eingetragen.
Brauch ich den Javascript/Coffescript Engine-Adapter?