NEWS
Bild wechsel Garagentor Stellung [gelöst]
-
Hallo ich brauch mal bitte etwas Starthilfe.
Mein Garagentor hat drei Stellungen die es auch Zurückmeldet (Zu,Lüftung,Auf).
Leider aus zwei IDs und das macht es mir schwer das entsprechende Bild darzustellen.
Ich bin im Skripten leider Anfänger, deshalb weiß ich auch nicht wo ich anfangen soll. Auch Blockly fällt mir in diesem Fall schwer, weil ich ja ID und Bild tauschen müsste…
Hier mal meine IDs/Abhängigkeiten:
Tor zu
hm-rpc.1.xxx.2.STATE
false
/vis.0/main/img/garage_zu.png
Tor Lüftung
hm-rpc.1.xxx.2.STATE
true
/vis.0/main/img/garage_lueftung.png
Tor auf
hm-rpc.1.xxx.1.STATE
true
/vis.0/main/img/garage_auf.png
Es ist alles mit Homematic Teilen gemacht, aber das Programm dafür wollte ich nicht dort machen. Wäre sicher einfach bei drei Zuständen.
-
Vorschlag:
const idAuf = 'hm-rpc.1.xxx.1.STATE'; const idLueft = 'hm-rpc.1.xxx.2.STATE`; const idVis = 'javascript.0.Tor'; // Datenpunkt für VIS createState(idVis, 0, {type: 'number', min: 0, max: 2}); var auf = getState(idAuf).val; var lueft = getState(idLueft).val; function tor() { var vis = 0; // Tor zu if(lueft) vis = 1; // Lüftung if(auf) vis = 2; // Tor auf setState(idVis, vis, true); } tor(); // Skriptstart on(idAuf, function(dp) { auf = dp.state.val; tor(); }); on(idLueft, function(dp) { lueft = dp.state.val; tor(); });
-
Ich danke dir.
Doofe Fragen: wo hin damit? Und welches widget muss ich dafür nehmen?
Sorry bin wirklich Anfänger
-
-
Nimm das Widget und passe es an :
[{"tpl":"tplMfdDoor","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","asButton":false,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"closed_icon":"/icons-mfd-svg/fts_sliding_gate_l_closed.svg","closed_iconColor":"#29ff33","tilted_icon":"/icons-mfd-svg/fts_sliding_gate.svg","opened_icon":"/icons-mfd-svg/fts_sliding_gate_open.svg","opened_iconColor":"#e60000","invert_icon":false,"invert_state":false,"tilted_iconColor":"#fdbb12"},"style":{"left":"231px","top":"461px","width":"139px","height":"128px"},"widgetSet":"jqui-mfd"}]
-
Irgendwie wird der Zustand nicht verändert.
Das sagt die log:
javascript.0 2018-10-20 19:58:51.255 info script.js.common.garage: registered 2 subscriptions and 0 schedules javascript.0 2018-10-20 19:58:51.255 warn at script.js.common.garage:17:1 javascript.0 2018-10-20 19:58:51.255 warn at tor (script.js.common.garage:14:4) javascript.0 2018-10-20 19:58:51.253 warn State "javascript.0.Tor" not found javascript.0 2018-10-20 19:58:51.250 info Start javascript script.js.common.garage
Ist das so richtig im Vis?
-
Mein Garagentor hat drei Stellungen die es auch Zurückmeldet (Zu,Lüftung,Auf). `
Wohin meldet es den?
-
Problem ist eben das es zwei verschiedene "Devices" sind. Ist ein "HmIP-MOD-RC8" der auf Kanal 1 und 2 die entsprechenden Rückmeldungen gibt.
Hier mal meine IDs/Abhängigkeiten:
Tor zu
hm-rpc.1.xxx.2.STATE
false
/vis.0/main/img/garage_zu.png
Tor Lüftung
hm-rpc.1.xxx.2.STATE
true
/vis.0/main/img/garage_lueftung.png
Tor auf
hm-rpc.1.xxx.1.STATE
true
/vis.0/main/img/garage_auf.png
-
Zeig mir mal bitte den Objektbaum…....
-
-
Ich habe es auch mal als Homematic Programm mit einer Variable getestet. Dauert aber ewig bis die aktuelle Variable im iobroker ankommt.
Ich habe es auch mit Signalbildern geschummelt, aber da kann man ja immer nur einen Teil ersetzen. Signal halt…
-
Na ja du hast ja alle Datenpunkte, warum braucht du dann noch ein Skript?
Die DP ändern sich in true oder false wenn du das Garagentor auf oder zu machst?
Stoppe mal das Skript und setze vom deinen Objekt den DP in das Widget ein.
-
Weil ich zwei verschiedene Objekt IDs brauche und eine kann man ja nur anwählen.
Zu und Lüftung kommt von einem Kanal 2 (true/false), aber Auf kommt von Kanal 1 (true)
Tor zu
2.STATE = false
/vis.0/main/img/garage_zu.png
Tor Lüftung
2.STATE = true
/vis.0/main/img/garage_lueftung.png
Tor auf
1.STATE = true
/vis.0/main/img/garage_auf.png
Ein Script könnte mir die Zustände sammeln und dann eben nur noch 0,1,2 ausgeben. Und bei entsprechnder Zahl kann ich dann im Widget ein Bild zuordnen. So dachte ich es mir :?
-
Dann leg 2 Widget an, und setze sie übereinander und stelle die Sichtbarkeit ein….........
-
Wenn aus dem Script von Paul tatsächlich Zahlen rauskommen würden, dann könnte ich doch prima mit deinem Widget arbeiten.
-
Kannst du mir bitte noch sagen wie ich mit dem Script arbeite?
Ich verstehe leider zu wenig von Javascript.
Was erzeugt das "javascript.0.Tor"? Da steht leider immer nur eine 0. - Sorry passt, es erzeugt 0,1,2 - Ich hatte den Haken bei Debug…. :?
-
Hier noch mal als Zusammenfassung, weil es funktioniert und mit Sicherheit weiterhilft.
Aufgabenstellung:
Mein Garagentor hat drei Stellungen die es auch Zurückmeldet (Zu,Lüftung,Auf).
Es sind zwei verschiedene "Devices": von einem Homematic Sender "HmIP-MOD-RC8" der auf Kanal 1 und 2 die entsprechenden Rückmeldungen
Hier mal meine IDs/Abhängigkeiten:
Tor zu
hm-rpc.1.xxx.2.STATE
false
/vis.0/main/img/garage_zu.png
Tor Lüftung
hm-rpc.1.xxx.2.STATE
true
/vis.0/main/img/garage_lueftung.png
Tor auf
hm-rpc.1.xxx.1.STATE
true
/vis.0/main/img/garage_auf.png
Ich habe von paul53 folgendes Script bekommen, was unter "Objekte" einen State mit entsprechendem Wert (0,1,2) erzeugt.
Ein neues Script unter Javascript/common erzeugen und folgenden Code einfügen:
const idAuf = 'hm-rpc.1.xxx.1.STATE'; const idLueft = 'hm-rpc.1.xxx.2.STATE`; const idVis = 'javascript.0.Tor'; // Datenpunkt für VIS createState(idVis, 0, {type: 'number', min: 0, max: 2}); var auf = getState(idAuf).val; var lueft = getState(idLueft).val; function tor() { var vis = 0; // Tor zu if(lueft) vis = 1; // Lüftung if(auf) vis = 2; // Tor auf setState(idVis, vis, true); } tor(); // Skriptstart on(idAuf, function(dp) { auf = dp.state.val; tor(); }); on(idLueft, function(dp) { lueft = dp.state.val; tor(); });
Nun kann man im Vis folgendes Widget importieren:
Hinweis - vorher "vis-jqui-mfd.0" Adapter installieren, sonst sieht man nichts…
[{"tpl":"tplMfdDoor","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","asButton":false,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"closed_icon":"/icons-mfd-svg/fts_sliding_gate_l_closed.svg","closed_iconColor":"#29ff33","tilted_icon":"/icons-mfd-svg/fts_sliding_gate.svg","opened_icon":"/icons-mfd-svg/fts_sliding_gate_open.svg","opened_iconColor":"#e60000","invert_icon":false,"invert_state":false,"tilted_iconColor":"#fdbb12"},"style":{"left":"231px","top":"461px","width":"139px","height":"128px"},"widgetSet":"jqui-mfd"}]
Jetzt die Parameter im widget einstellen:
Danke an paul53 und sigi234 für den Support.
Ich denke das ich mit der Zusammenfassung etwas wieder zurück geben kann. Das fällt mir auch immer sehr schwer Beiträge ohne happy end zu lesen.
-
Das freut mich das es geklappt hat…...........
-
Zusammenfassung, weil es funktioniert `
Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].