NEWS
Türklingel Video sichtbar bei DP Änderung true [Erledigt]
-
Hallo Com,
ich habe mir meine Türklingel nun so eingerichtet, das wenn es Klingelt ich einen DP auf true schalte, sollte das der Fall sein soll das Video sich auf dem Tablet öffnen, so als würde ich das Widget anklicken ? (Widget jqui-mfd - Cam/Snapshot) Geht das ? Oder mache ich damit nur das Widget sichtbar ? Wenn man es anklickt, gibts das Video ja in groß, das hätte ich gerne auch wenn eben der DP auf true springt.
Habe da noch keine Möglichkeit gefunden.
Ich hatte auch mal mit iFrame probiert, das könnte ich ja sichtbar machen bei true, aber dann habe ich Scrollbalken, weil das Video zu groß ist.
Als Quelle des Videos dient MotinoEye, muss ich hier evtl, die Auflösung für den Videofeed anpassen, damit ich die gewünschte Größe auf dem Tablet habe, damit die Balken verschwinden ?
Bei dem Widget jqui-mfd - Cam/Snapshot kann ich das Bild halt in der Vis so anpassen, das es passt und ich kann auch manuell auf die Cam schauen.
Grüße,
-
Hallo Com,
ich habe mir meine Türklingel nun so eingerichtet, das wenn es Klingelt ich einen DP auf true schalte, sollte das der Fall sein soll das Video sich auf dem Tablet öffnen, so als würde ich das Widget anklicken ? (Widget jqui-mfd - Cam/Snapshot) Geht das ? Oder mache ich damit nur das Widget sichtbar ? Wenn man es anklickt, gibts das Video ja in groß, das hätte ich gerne auch wenn eben der DP auf true springt.
Habe da noch keine Möglichkeit gefunden.
Ich hatte auch mal mit iFrame probiert, das könnte ich ja sichtbar machen bei true, aber dann habe ich Scrollbalken, weil das Video zu groß ist.
Als Quelle des Videos dient MotinoEye, muss ich hier evtl, die Auflösung für den Videofeed anpassen, damit ich die gewünschte Größe auf dem Tablet habe, damit die Balken verschwinden ?
Bei dem Widget jqui-mfd - Cam/Snapshot kann ich das Bild halt in der Vis so anpassen, das es passt und ich kann auch manuell auf die Cam schauen.
Grüße,
@D3ltoroxp Ich habe einen eigene View in der VIS die ich für 60 Sekunden umschalte. Dort ist das Video groß und live zu sehen.
setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Neu/Tuer"}'); // oder //setState("vis.0.control.instance", 'FFFFFFFF'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte sein // Setze View auf Kamerabild timeout6 = setTimeout(function () { setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Neu/Info"}'); }, 60000); // Nach 60 Sekunden, zeige wieder Start View -
Also doch eher eine extra View Seite, die ich dann einblenden lasse. Das andere Widget lass ich halt auf der Hauptseite und kann bei Bedarf dort rein schauen. Ich versuche dann mal diesen Weg.
Ich hab das hier mal von Hand probiert, da tut sich aber nichts am Tablet.

-
Also doch eher eine extra View Seite, die ich dann einblenden lasse. Das andere Widget lass ich halt auf der Hauptseite und kann bei Bedarf dort rein schauen. Ich versuche dann mal diesen Weg.
Ich hab das hier mal von Hand probiert, da tut sich aber nichts am Tablet.

@D3ltoroxp Du musst die drei Befehle der Reihe nach absetzen wie unten im auskommentierten Teil geschrieben:
//setState("vis.0.control.instance", 'FFFFFFFF'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte seindann sollte das auch von Hand klappen. Reihenfolge beachten.
Ich habe das aber ehrlich gesagt nie manuell probiert. Also ist obige Aussage wirklich nur theoretisch. -
setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "modern/view_alp600"}'); // oder //setState("vis.0.control.instance", 'FFFFFFFF'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte sein // Setze View auf Kamerabild timeout6 = setTimeout(function () { setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "modern/view_index"}'); }, 60000); // Nach 60 Sekunden, zeige wieder Start ViewSo hab ich das mal abgeändert, wie Triggere ich jetzt das Script ? Meine Klingelt schaltet ja einen DP auf true.
-
setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "modern/view_alp600"}'); // oder //setState("vis.0.control.instance", 'FFFFFFFF'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte sein // Setze View auf Kamerabild timeout6 = setTimeout(function () { setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "modern/view_index"}'); }, 60000); // Nach 60 Sekunden, zeige wieder Start ViewSo hab ich das mal abgeändert, wie Triggere ich jetzt das Script ? Meine Klingelt schaltet ja einen DP auf true.
@D3ltoroxp
Hier mal mein ganzes Klingelscriptvar sperre = false; //verhindert das doppeltes Drücken das Script stoppt var timeout1, timeout2, timeout3, timeout4, timeout5, timeout6; var fs = require('fs'); on({id: 'sonoff.0.Eingang.POWER2', val: true}, function (obj) { if(!sperre) { sperre = true; setState("alexa2.0.Echo-Devices.G2A0P.Routines.11242dac-bf4b-4ab1-9521-37fdf5dae51d", true); //Klingelt auf Echo Theke setState("alexa2.0.Echo-Devices.G090LF.Routines.519a9af4-c186-4715-9e5d-cb4ac65c0c67", true); //Klingelt auf Dot Anrichte exec('wget --output-document /tuer/alarm1.jpg \'http://192.168.8.95:8765/picture/1/current/?_username=*****&_signature=ba8317b8fc071dadb725d4d0d9dbf7e606acbf1e\''); timeout1 = setTimeout(function () { exec('wget --output-document /tuer/alarm2.jpg \'http://192.168.8.95:8765/picture/1/current/?_username=*****&_signature=ba8317b8fc071dadb725d4d0d9dbf7e606acbf1e\''); timeout2 = setTimeout(function () { sendTo("email", "send", { text: '', to: '*****@gmail.com', subject: 'Klingel', attachments:[{path: '/tuer/alarm1.jpg', cid: "file1"},{path: '/tuer/alarm2.jpg', cid: "file2"},] }); sendTo("email", "send", { text: '', to: '*****@gmail.com', subject: 'Klingel', attachments:[{path: '/tuer/alarm1.jpg', cid: "file1"},{path: '/tuer/alarm2.jpg', cid: "file2"},] }); }, 2500); }, 5000); timeout3 = setTimeout(function () { exec('wget --output-document /tuer/alarm3.jpg \'http://192.168.8.95:8765/picture/1/current/?_username=*****&_signature=ba8317b8fc071dadb725d4d0d9dbf7e606acbf1e\''); }, 10000); timeout4 = setTimeout(function () { exec('wget --output-document /tuer/alarm4.jpg \'http://192.168.8.95:8765/picture/1/current/?_username=*****&_signature=ba8317b8fc071dadb725d4d0d9dbf7e606acbf1e\''); }, 20000); } setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Neu/Tuer"}'); // oder //setState("vis.0.control.instance", 'FFFFFFFF'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte sein // Setze View auf Kamerabild timeout6 = setTimeout(function () { setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Neu/Info"}'); }, 60000); // Nach 60 Sekunden, zeige wieder Start View timeout5 = setTimeout(function() { sperre = false; }, 5000); //Zeit für Klingelsperre 1.Zeile timeout6 = setTimeout(function () { const bild1 = fs.readFileSync('/tuer/alarm1.jpg'); writeFile('0_userdata.0','alarm1.jpg', bild1); const bild2 = fs.readFileSync('/tuer/alarm2.jpg'); writeFile('0_userdata.0','alarm2.jpg', bild2); const bild3 = fs.readFileSync('/tuer/alarm3.jpg'); writeFile('0_userdata.0','alarm3.jpg', bild3); const bild4 = fs.readFileSync('/tuer/alarm4.jpg'); writeFile('0_userdata.0','alarm4.jpg', bild4); }, 40000); });Hier passiert folgendes:
Wenn der Sonoff Datenpunkt auf true geht (trigger)
wird ein Bild erstellt und zwei Echos angesprochen. (In deren Routine ist Klingelton hinterlegt.)
5 Sekunden später das zweite Bild
Beide Bilder werden per mail an zwei Empfänger versendet
10 Sekunden später kommt das dritte Bild dran
nochmal später dann Bild 4
Die View wird für 60 Sekunden auf das Livebild geschaltet
Alle 4 Bilder werden aus dem Ordner nach 0_userdata.0 kopiert damit ich sie in VIS nutzen kann.
Und zusätzlich wird der Klingelknopf für 5 Sekunden gesperrt, weil durch Mehrfachdrücken das Script gestoppt wurde.Jetzt müsstest du dir die Schnipsel eigentlich rausnehmen können was du brauchst oder nicht benötigst.
Ich muss bei meiner Kamera leider den wget Befehl verwenden weil scheinbar der "get" in Verbindung mit "writefile" nicht richtig funktioniert.
Hier habe ich von LoxDUS ein wirklich schönes Script noch liegen das eleganter wäre. -
@D3ltoroxp
Hier mal mein ganzes Klingelscriptvar sperre = false; //verhindert das doppeltes Drücken das Script stoppt var timeout1, timeout2, timeout3, timeout4, timeout5, timeout6; var fs = require('fs'); on({id: 'sonoff.0.Eingang.POWER2', val: true}, function (obj) { if(!sperre) { sperre = true; setState("alexa2.0.Echo-Devices.G2A0P.Routines.11242dac-bf4b-4ab1-9521-37fdf5dae51d", true); //Klingelt auf Echo Theke setState("alexa2.0.Echo-Devices.G090LF.Routines.519a9af4-c186-4715-9e5d-cb4ac65c0c67", true); //Klingelt auf Dot Anrichte exec('wget --output-document /tuer/alarm1.jpg \'http://192.168.8.95:8765/picture/1/current/?_username=*****&_signature=ba8317b8fc071dadb725d4d0d9dbf7e606acbf1e\''); timeout1 = setTimeout(function () { exec('wget --output-document /tuer/alarm2.jpg \'http://192.168.8.95:8765/picture/1/current/?_username=*****&_signature=ba8317b8fc071dadb725d4d0d9dbf7e606acbf1e\''); timeout2 = setTimeout(function () { sendTo("email", "send", { text: '', to: '*****@gmail.com', subject: 'Klingel', attachments:[{path: '/tuer/alarm1.jpg', cid: "file1"},{path: '/tuer/alarm2.jpg', cid: "file2"},] }); sendTo("email", "send", { text: '', to: '*****@gmail.com', subject: 'Klingel', attachments:[{path: '/tuer/alarm1.jpg', cid: "file1"},{path: '/tuer/alarm2.jpg', cid: "file2"},] }); }, 2500); }, 5000); timeout3 = setTimeout(function () { exec('wget --output-document /tuer/alarm3.jpg \'http://192.168.8.95:8765/picture/1/current/?_username=*****&_signature=ba8317b8fc071dadb725d4d0d9dbf7e606acbf1e\''); }, 10000); timeout4 = setTimeout(function () { exec('wget --output-document /tuer/alarm4.jpg \'http://192.168.8.95:8765/picture/1/current/?_username=*****&_signature=ba8317b8fc071dadb725d4d0d9dbf7e606acbf1e\''); }, 20000); } setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Neu/Tuer"}'); // oder //setState("vis.0.control.instance", 'FFFFFFFF'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte sein // Setze View auf Kamerabild timeout6 = setTimeout(function () { setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Neu/Info"}'); }, 60000); // Nach 60 Sekunden, zeige wieder Start View timeout5 = setTimeout(function() { sperre = false; }, 5000); //Zeit für Klingelsperre 1.Zeile timeout6 = setTimeout(function () { const bild1 = fs.readFileSync('/tuer/alarm1.jpg'); writeFile('0_userdata.0','alarm1.jpg', bild1); const bild2 = fs.readFileSync('/tuer/alarm2.jpg'); writeFile('0_userdata.0','alarm2.jpg', bild2); const bild3 = fs.readFileSync('/tuer/alarm3.jpg'); writeFile('0_userdata.0','alarm3.jpg', bild3); const bild4 = fs.readFileSync('/tuer/alarm4.jpg'); writeFile('0_userdata.0','alarm4.jpg', bild4); }, 40000); });Hier passiert folgendes:
Wenn der Sonoff Datenpunkt auf true geht (trigger)
wird ein Bild erstellt und zwei Echos angesprochen. (In deren Routine ist Klingelton hinterlegt.)
5 Sekunden später das zweite Bild
Beide Bilder werden per mail an zwei Empfänger versendet
10 Sekunden später kommt das dritte Bild dran
nochmal später dann Bild 4
Die View wird für 60 Sekunden auf das Livebild geschaltet
Alle 4 Bilder werden aus dem Ordner nach 0_userdata.0 kopiert damit ich sie in VIS nutzen kann.
Und zusätzlich wird der Klingelknopf für 5 Sekunden gesperrt, weil durch Mehrfachdrücken das Script gestoppt wurde.Jetzt müsstest du dir die Schnipsel eigentlich rausnehmen können was du brauchst oder nicht benötigst.
Ich muss bei meiner Kamera leider den wget Befehl verwenden weil scheinbar der "get" in Verbindung mit "writefile" nicht richtig funktioniert.
Hier habe ich von LoxDUS ein wirklich schönes Script noch liegen das eleganter wäre. -
@Chaot Vielen Dank. Ich versuch das aber mal mit Blockly, das ist für mich verständlicher und ich kann es nachvollziehen. Mit JS Scripten hab ich noch nichts am Hut. Vieles nur Bahnhof
@D3ltoroxp sagte in Türklingel Video sichtbar bei DP Änderung true:
Ich versuch das aber mal mit Blockly,
So sieht es in Blockly aus:

-
@D3ltoroxp sagte in Türklingel Video sichtbar bei DP Änderung true:
Ich versuch das aber mal mit Blockly,
So sieht es in Blockly aus:

So hatte ich das gerade gebastelt, bevor du geschrieben hattest. Ich vergleiche mal.
Genau gleich, ja super, dann hab ich das schon mal kapiert. Ich weiß das Script von @Chaot macht es eigentlich gleich, aber so weiß ich halt genau was gemacht wird und kann es abändern anpassen. Dann werd ich das gleich mal testen.
Wo bekomme ich den die Instanz heraus ?
@Chaot @FredF Ich danke euch vielmals, klappt nun wunderbar, zumindest wenn das Display an ist. Ich lass es aber auch anschalten wenn es aus ist, aber dann habe ich nur ein weißes Bild keinen LiveFeed, vllt muss ich da noch mit Verzögerung arbeiten. Aber ich bin auf dem richtigen weg dank euch. Vielen Dank !!
-
Ich muss mich hier noch mal anhängen, also irgendwie will das nicht immer. Manchmal klappt es manchmal nicht.
Ich habe so das Gefühl, wenn es klingelt, klappt es irgendwie nicht, wenn ich das dann teste um zu sehen ob es geht oder nicht klappt es. Keine Ahnung was das sein soll. Vllt die Zeiten dazwischen zu kurz ? Das Tablet ist an, das klappt, aber die View wird dann nicht aufgerufen.
-
Ich muss mich hier noch mal anhängen, also irgendwie will das nicht immer. Manchmal klappt es manchmal nicht.
Ich habe so das Gefühl, wenn es klingelt, klappt es irgendwie nicht, wenn ich das dann teste um zu sehen ob es geht oder nicht klappt es. Keine Ahnung was das sein soll. Vllt die Zeiten dazwischen zu kurz ? Das Tablet ist an, das klappt, aber die View wird dann nicht aufgerufen.
@D3ltoroxp In meinem Script ist noch eine Verzögerung drin die den Klingelknopf blockiert. Das erste Script wurde immer gestoppt wenn jemand den Klingelknopf zweimal gedrückt hat.
Ich kann das in Blockly nicht. Aber vielleicht findest du eine Möglichkeit den Ablauf als Loop auszuführen und erst wenn der Loop beenbdet ist wieder auf den Knopf zu reagieren. -
@D3ltoroxp In meinem Script ist noch eine Verzögerung drin die den Klingelknopf blockiert. Das erste Script wurde immer gestoppt wenn jemand den Klingelknopf zweimal gedrückt hat.
Ich kann das in Blockly nicht. Aber vielleicht findest du eine Möglichkeit den Ablauf als Loop auszuführen und erst wenn der Loop beenbdet ist wieder auf den Knopf zu reagieren.@Chaot Also das Script lasse ich bei mir auf einen DP reagieren. Sobald der eben einmal true hat, startet das Script. Der Bildschirm geht auch immer an, nur eben die View nicht immer.
Auch wenn man da mehrmals klingelt, schaltet er ja nur wieder auf true um die View müsste dann ja dennoch zu sehen sein.
-
@Chaot Also das Script lasse ich bei mir auf einen DP reagieren. Sobald der eben einmal true hat, startet das Script. Der Bildschirm geht auch immer an, nur eben die View nicht immer.
Auch wenn man da mehrmals klingelt, schaltet er ja nur wieder auf true um die View müsste dann ja dennoch zu sehen sein.
@D3ltoroxp Das war ja bei mir auch so. Der Datenpunkt geht auf true. Wenn der dann nochmals auf true geht stoppt das script.
-
@D3ltoroxp Das war ja bei mir auch so. Der Datenpunkt geht auf true. Wenn der dann nochmals auf true geht stoppt das script.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
