NEWS
[Gelöst] IP Cam Widget selbständig öffnen
-
ich nutze 2 javascript instanzen 0 und 1.. die Varaible instace wird automitisch mit er startenden gefüllt
also starte ich das script auf javascript.0 so wird diese mit 0 gefüllt und zusammen ergibt sich dann
javascript.0.rest.tuer
-
Hallo,
danke für eure Hilfe. Es funktioniert soweit ganz gut mit dem Script. Das Script funktioniert aber nur bei den Cam/Snapshot Buttons, nicht aber bei den Cam/Video Knöpfen. Muss man hier noch etwas ändern oder geht das generell nicht? `
ich beschäftige mich auch gerade mit dieser Implementierung. Ist dieses auch mit dem Cam/Video (img) Dialog möglich?
Mfg
-
würde mich ebenfalls interessieren…
-
probier doch aus… ich komme vor Sonntag nicht dazu
-
kannst Du mir eine schritt für schritt Anleitung geben ?
Ist nicht eilig einfach wenn Du Lust und Zeit hast.
Was habe ich :
Javascript adapter ist installiert,
Klingelsensor läuft ( https://www.elv.de/homematic-funk-kling … AsWU8P8HAQ )
Meine Startseite heißt HOME, und das Widget welches getriggert werden soll nach auslösen der Klingel heißt : w00503
Alternativ ( weis leider ebenfalls nicht wie es geht ) der andere Vorschlag ( gefällt mir auch )
Wenn geklingelt wird, soll die View mit dem Namen "KLINGELVIEW" für 30 Sekunden angezeigt werden und dann soll automatisch wieder zur "HOME" gewechselt werden.
Wäre schön wenn Ihr mir helfen könntet.
-
das eine
createState('javascript.'+ instance + '.rest.tuer', false, { read: true, write: true, desc: 'türe', type: 'boolean', def: false }); // öffne dialog für 20 sekunden und schliesse diesen wieder on({id: 'javascript.'+ instance + '.rest.tuer', change: 'ne', val: true}, function() { setState('vis.0.control.command', '{"instance": "FFFFFFFF", "data": "w00503", "command": "dialogOpen"}'); setTimeout(function () { setState('javascript.'+ instance + '.rest.tuer', false); setState('vis.0.control.command', '{"instance": "FFFFFFFF", "data": "w00503", "command": "dialogClose"}'); }, 20000); });
oder so mit der View wechsel
hier musst du den trigger einstellen wenn deine Klingel bimmelt
on({id: 'es klingelt also reagiere ich auf irgendwas von der klingel', change: "any"}, function (obj) { var instanz = getState('vis.0.control.instance').val; setState("vis.0.control.instance", instanz); setState("vis.0.control.data", 'KLINGELVIEW'); setState("vis.0.control.command", 'changeView'); setTimeout(function () { setState("vis.0.control.data", 'HOME'); setState("vis.0.control.command", 'changeView'); }, 30000); });
-
das eine
createState('javascript.'+ instance + '.rest.tuer', false, { read: true, write: true, desc: 'türe', type: 'boolean', def: false }); // öffne dialog für 20 sekunden und schliesse diesen wieder on({id: 'javascript.'+ instance + '.rest.tuer', change: 'ne', val: true}, function() { setState('vis.0.control.command', '{"instance": "FFFFFFFF", "data": "w00503", "command": "dialogOpen"}'); setTimeout(function () { setState('javascript.'+ instance + '.rest.tuer', false); setState('vis.0.control.command', '{"instance": "FFFFFFFF", "data": "w00503", "command": "dialogClose"}'); }, 20000); });
oder so mit der View wechsel
hier musst du den trigger einstellen wenn deine Klingel bimmelt
on({id: 'es klingelt also reagiere ich auf irgendwas von der klingel', change: "any"}, function (obj) { var instanz = getState('vis.0.control.instance').val; setState("vis.0.control.instance", instanz); setState("vis.0.control.data", 'KLINGELVIEW'); setState("vis.0.control.command", 'changeView'); setTimeout(function () { setState("vis.0.control.data", 'HOME'); setState("vis.0.control.command", 'changeView'); }, 30000); }); ```` `
hi nochmal,
die Variante mit dem "View-Wechsel" hat prima geklappt, vielen Dank dafür.
Aber die erste Variante ist mir noch etwas unklar !? Wie muss ich das Skript gestalten ? Woher bekommt er den Befehl dass gerade an der Tür geklingelt wurde ?
-
Das Script legt bei Objekte unter javascript.0 im Ordner rest "tuer" an. Der Wert steht auf false. Wenn man den auf true setzt öffnet sich das Widget für die 20 Sekunden und anschließend steht es wieder auf false. Mit zweitem Script oder mit Blockly wenn es an der Tür klingelt dann auf true setzen. So klappt es zumindest bei mir.
-
OK habe dieses Skript erstellt :
createState('javascript.'+ instance + '.rest.tuer', false, { read: true, write: true, desc: 'türe', type: 'boolean', def: false }); // öffne dialog für 20 sekunden und schliesse diesen wieder on({id: 'javascript.'+ instance + '.rest.tuer', change: 'ne', val: true}, function() { setState('vis.0.control.command', '{"instance": "FFFFFFFF", "data": "w00503", "command": "dialogOpen"}'); setTimeout(function () { setState('javascript.'+ instance + '.rest.tuer', false); setState('vis.0.control.command', '{"instance": "FFFFFFFF", "data": "w00503", "command": "dialogClose"}'); }, 20000); });
Das Script legt bei Objekte unter javascript.0 im Ordner rest "tuer" an. Der Wert steht auf false. -> ja so ist es, hat funktioniert..
Kannst Du mir das 2 Skript hier posten ?!
"Mit zweitem Script oder mit Blockly wenn es an der Tür klingelt dann auf true setzen. So klappt es zumindest bei mir."
Mein Sensor, welcher das Klingeln auslöst heisst : "hm-rpc.0.XYZ0656994.1.PRESS_SHORT"
Vielen Dank
-
Hallo, von Scripten habe ich keine Ahnung, aber mit Blockly so:
1026_t_rklingel.png -
Grüß Euch,
habe das Skript auch probiert, leider popt gar nichts auf:
was habe ich gemacht:
damit es gleich ist, extra einen Ordner unter javascript0 rest angelegt mit dem skript namen tuer. Im Skript die Widget ID ausgetauscht.
Leider popt mein Snapshot Widget nicht auch, wenn ich das skript ausführe:
Log 14:16:27.899 [info] javascript.0 Start javascript script.js.rest.tuer 14:16:27.901 [info] javascript.0 script.js.rest.tuer: registered 1 subscription and 0 schedules
im Log seh ich auch nichts
was könnt ich nocht nachsehen?
-
Habe das jetzt auch mal probiert und es funktioniert gut!
Welchen Befehl muss ich aber einfügen, um das Tablett aus dem "Schlaf" zu holen?
Also, dass das Tablett angeht wenn es klingelt?
Habe schon die Hilfe bemüht, aber wahrscheinlich die falschen Suchbegriffe eingegeben.
So richtig weiß ich auch nicht welchen Begriff ich eingeben soll?
-
Ich habe gestern beide Scripte ausprobiert. Beide Varianten funktionieren so bei mir. Leider ist das Kamera Bild immer nur wenige Sekunden ( circa 5 ) zu sehen.
Ich habe sowohl bei Script 1 bei dem Wert 20000 als auch bei Script 2 den Wert 30000 um mehrere 000 erweitert.
Die Dauer ändert sich darüber aber irgendwie nicht ...
Kann mir jemand sagen woran das liegen könnte ? -
Aber die erste Variante ist mir noch etwas unklar !? Wie muss ich das Skript gestalten ? Woher bekommt er den Befehl dass gerade an der Tür geklingelt wurde ?
Ich bin auch gerade in probieren aber ich verstehe auch nicht von wo der Script sein befehl erhalten soll.
Ich nutze ein SonOFF Basic und schicke beim klingeln eine 1 an den iobroker.