NEWS
Webcam im "View in Widget" Fenster zeigen, statt per View-Wechsel - Gelöst
-
Moin.
Leider habe ich keinen passenden Beitrag gefunden, deshalb ein neues Thema. Sorry falls ich was übersehen habe.
Hier mein Vorhaben:
Bisher wird ein Webcam-Bild der Haustür per JS (Script) als Viewwechsel in VIS auf meinem Tablet angezeigt, wenn ein Bewegungsmelder aktiviert wird. Das funktioniert problemlos.
Auf dem Tablet habe ich zudem ein "View in Widget" für die Cam erstellt, bei dem ein Fenster (Window) mit dem Kamerabild (View) per Klick startet.
Frage:
Gibt es eine Möglichkeit per Script, beim Triggern des Bewegungsmelders nicht das View zu wechseln, sondern ein Window mit dem Kamerabild zu öffnen und nach einer gewissen Zeit wieder zu schließen ?
Hintergrund: ich möchte letztlich zwei Window mit je einem Kamerabild gleichzeitig zeigen.
Danke. -
Hallo,
ja die gibt es:
Erstelle einen bol Datenpunkt (z.B. showCamEingang) und mache die Sichtbarkeit deines View in Widgets
von seinem Zustand abhängig,Dann erstellst Du ein Script, das auf den Bewegungsmelder triggert und den Datenpunkt auf true setzt -> dein View wird angezeigt.
Jetzt kannst Du noch mit setStateDelayed (oder timeout) die View nach bestimmter Zeit wieder ausblenden lassen.
Viele Grüße
Christian -
Danke für die Antwort.
Auf diese Weise kann ich das Kamerabild zeigen oder auch nicht, das hatte ich auch schon bei meiner View-Wechsel-Lösung so. Bei geöffnetem Widget bzw. Window sehe ich nun mit der Datenpunkt-Lösung das Kamerabild oder auch nicht.
Aber wie schaffe ich es, daß beim Triggerereignis das Window auf meiner Startseite automatisch aufklappt und das Kamerabild zeigt ? Im Normalzustand ist das Widget ja nicht aktiv.Wie geschrieben: bei einem reinen view-Wechsel auf das Kameraview klappt alles wie gewünscht. Nur kann ich so natürlich nicht zwei Kameras anzeigen lassen. Ausserdem finde ich die Ansicht in einem Window auf der Startseite schöner.
-
@hansmeier sagte in Webcam im "View in Widget" Fenster zeigen, statt per View-Wechsel:
Aber wie schaffe ich es, daß beim Triggerereignis das Window auf meiner Startseite automatisch aufklappt und das Kamerabild zeigt ? Im Normalzustand ist das Widget ja nicht aktiv.
Na, genauso wie beschrieben.
Wenn es klingelt wird der Datenpunkt true und die Kamera-View ist eingeblendet. Nach definierter Zeit verschwindet es wieder.
Geht natürlich auch mit 2 Kameras.Wenn das auf der Startseite passieren soll, muss dort das View in Widget platziert werden, und es muss
beim Klingeln dorthin gewechselt werden (via Script).
Läuft bei mir auch so.Gruß
-
Hab alles versucht, bei mir wird das Window nicht aktiv. Das View in Widget liegt natürlich auch auf der Startseite. Könntest du evtl. das Script zur Verfügung stellen ? Vielleicht liegt da mein Problem.
-
Klar, hier mein Script:
on({id: "zwave.0.NODE28.ALARM.Access_Control_1", change: "any"}, function (obj) { setState("vis.0.control.command", '{"instance": "FFFFFFFF", "data": "main", "command": "changeView"}'); setState("javascript.0.uilities.camviewEingang", true); setState("sayit.0.tts.text", "" + 'Achtung: Es klingelt an der Eingangstür'); setStateDelayed("javascript.0.uilities.camviewEingang", false, 30000); });
Aber daran liegt es meines Erachtens nicht
Du sprichst von einem geöffnetem Widget.
Das ist dann nicht das View in Widget!, sonder eine Dialog-Variante, die willst Du nicht.Nimm ein View in Widget und lege es in der gewünschten Größe über deine Startseite (z-index grösser als die restlichen Elemente.
Dann gehe unter Sichtbarkeit und mach diese von deinem Datenpunkt abhängig.
Dann geh raus, klingeln und staunenGruß
Christian -
Ok, da haben wir wohl aneinander vorbei geredet ! Liegt aber an mir. Ich habe das "View in Widget" verwechselt mit dem "jqui-Container-view in jqui Dialog" ! Sorry.
Ich nutze also den jqui-Dialog als Widget und rufe normalerweise durch tippen auf dem Display, das Cam-Bild auf. (Siehe Bilder) Genau dies soll per Script und Trigger durch einen Bewegungsmelder erfolgen. Ich möchte also sozusagen einen Fingertip auf das Camera-Widget simulieren. Geht das überhaupt ?
Aktuell löse ich es mit einem View-Wechsel so:
// viewwechsel bei Klingel
on({id: 'mihome.0.devices.sensor_motion_aq2_158d000276d2f2.state'}, function (obj) {
var value = obj.state.val;
{
console.log('viewwechsel bei Klingel');
setState("vis.0.control.instance"/Control vis/, '6b.f951c');
setState("vis.0.control.data"/Data for control vis/, 'Haustür_Cam');
setState("vis.0.control.command"/Command for vis/, 'changeView');
}
}); -
ja, das geht, wenn Du das view in widget benutzt (wie oben geschildert).
on({id: "mihome.0.devices.sensor_motion_aq2_158d000276d2f2.state", change: "any"}, function (obj) { setState("vis.0.control.command", '{"instance": "FFFFFFFF", "data": "Haustür_Cam", "command": "changeView"}'); setState("javascript.0.uilities.camviewEingang", true); setStateDelayed("javascript.0.uilities.camviewEingang", false, 30000); });
Gruß
Christian -
Danke für die Hilfe ! Jetzt habe ich das so, wie ich das immer schon haben wollte ! Super. Und die Lösung ist so simpel.
LG Hans -
Prima, dann bitte noch als gelöst markieren.
Viele Grüße und viel Spaß damit
Christian -
Würde ich ja gerne machen, finde jedoch keine Möglichkeit das zu markieren ?
-
In deinen ersten Beitrag gehen und dort im Betreff "gelöst" einfügen.
Grüße Andreas