NEWS
Doorbird Adapter gesucht
-
Hallo
Ich weis das ich schon nerve….. aber ich muss noch mal blöd fragen?
Ich bin n och nicht ganz am ziel!
Bis jetzt habe ich den Livestream des DoorBird in VIS laufen und geht gut.
Das mit dem Skript blicke ich noch nicht durch....bin kein Programmierer und habe so was noch nie gemacht.....
bin nur durch eure Hilfe so weit gekommen.....Danke.
Nun brauche ich noch eure Unterstützung.
....was mach ich nun mir dem Skript?
....wie bekomme ich das hin wenn jemand klingelt das das Kamera VIEW geöffnet wird und ich mit dem Besucher reden kann.
Danke für eure Geduld.
-
Schau doch mal ins dritte Posting (von vader722) in diesem Thread.
Da ist alles sehr gut erklärt, das Script ist da, usw.
Ich habe es mal für Dich rausgesucht:
http://forum.iobroker.net/viewtopic.php … 881#p36673
Wenn Fragen sind, einfach melden.
Gruß,
Eric
Von unterwegs getippert
-
Danke für die Info.
Aber so weit bin ich schon dank seiner Anleitung.
Das Javaskript habe ich unter Skripte angelegt und hinzugefügt…
Aber was dann danach sehe ich an
4668_unbenannt.png -
Das Skript nicht unter global. Verschiebe das mal.
-
Das Skript nicht unter global. Verschiebe das mal. `
wo hin? -
Nach Common
Gesendet von iPhone mit Tapatalk Pro
-
Hallo
Hat noch jemand ein paar tipps für einen Anfänger!
Ich habe noch nie was mit Jayascripte zu tun oder geschweige mit programieren.
Nun habe ich es geschaft das ich den Livestream öffen kann …
leider habe ich nich keinen Ton...
und das Wichtigste ist das sich das Kamera View öffnet und ich mit dem Besucher Sprechen kann.
Danke
-
Hallo
Kann mir da mit dem Script irgendwer helfen?
Wie funktioniert es, das das Kamera Widget sich öffnet mit dem Livestream?
Habe ich da eine Fehler im Script?
@vader722:Jetzt musst du dem Doorbird noch sagen, dass er bei dem jeweiligen Event die Simple-Api deines ioBrokers aufrufen soll. Dazu öffnest du einen Browser und rufst z.B. folgende URL auf:
http://IP-DEINES-DOORBIRD/bha-api/notification.cgi?url=http://IP:PORT-DEINER-IOBROKER-SIMPLE_API/set/javascript.0.States.Doorbell?value=true&event=doorbell&subscribe=1
Dieser Aufruf sagt deinem Doorbird er soll beim auslösen der Türklingel deinen ioBroker informieren, indem er die Variable javascript.0.States.Doorbell auf true setzt. `
habe ich auch schon gemacht!
4668_unbenannt_3.png
4668_unbenannt_4.png -
Hallo,
hat noch jemand das Problem das keine History Bilder vom Klingeln lokal sind?
Das heisst ich kann die Bilder nicht mehr über "http" abrufen, auch in dem Originalen "HTML Widget" gibt es nur noch das Live Bild.
Gruss Oli
-
Wenn Fragen sind, einfach melden. `
Bitte um Hilfe.Ich komme da nicht weiter.
Habe das Script laufen und da tut sich aber nichts.
Ich habe auch im Doorbird schon den HTTP Abrufe drin.
Der Livestream läuft nun im VIS, aber nur ohne Ton!
Wie bekomme ich das hin, wen jemand klingelt das sich die Kamera VIEW öffnet und ich den Livestream sehe und mit dem Besucher sprechen kann.
Was mach ich wieder mal falsch?
-
Du kannst, soweit ich das verstanden habe, nicht Video und Audio in einem Stream abrufen.
Audio empfangen und senden sind jeweils wieder eigene Aufrufe (siehe dazu ab Seite 9 der API-Dokumentation).
Das öffnen einer View wenn es klingelt ist recht einfach. Wo klemmt es denn da genau?
Gruß,
Eric
Von unterwegs getippert
-
Du kannst, soweit ich das verstanden habe, nicht Video und Audio in einem Stream abrufen.Audio empfangen und senden sind jeweils wieder eigene Aufrufe (siehe dazu ab Seite 9 der API-Dokumentation). `
Ja das habe ich auch schon bemerkt.Ich bastle schon die ganze Zeit herum das ich die Audio URL auch zum Laufen bringe.
in der API ist es beschrieben aber bei mir geht es wieder einmal nicht.
@eric2905:Das öffnen einer View wenn es klingelt ist recht einfach. Wo klemmt es denn da genau? `
Ich habe schon graue Haare!!!!Natürlich bin ich noch Anfänger und komplett fremd der Materie.
Ich habe das Script im Common drin und auch gestarrte. Bo
Aber wahrscheinlich übersehe ich als Laie wieder was.
Habe auch beim Dorrbird die HTTP drin zum ioBroker.
Weiß nicht mehr weiter
4668_unbenannt3.png
4668_unbenannt2.png
4668_unbenannt1.png -
Wo schaltest Du denn in Deinem Script die View um?
Poste das Script bitte nicht als Screenshot, sondern als Code. Dann kann man ggf. scrollen.
Ich sehe z.B. keine einzige Zeile Code, die eine View-Umschaltung beinhaltet.
Gruß,
Eric
-
in der Zeile 31 glaube ich
setState("javascript.0.Views.actual",2);
das ganze Script habe ich von diesem thread
createState('States.Doorbell',false);
createState('States.DoorBirdMotion',false);
createState('States.DoorBirdDoorOpen',false);
//Bewegung Doorbird
on({id:"javascript.0.States.DoorBirdMotion"/States.DoorBirdMotion/,val: true}, function (obj) {
if (obj.newState.val === true) {
log("Bewegung DoorBird");
//Hier Deinen Code einfügen
setState("javascript.0.Views.actual",2);
//Nach 10sekunden Zustand wieder zurücksetzen
setStateDelayed("javascript.0.States.DoorBirdMotion"/States.DoorBirdMotion/,false,10000);
}
});
//Doorbird DoorOpen
on({id:"javascript.0.States.DoorBirdDoorOpen"/States.DoorBirdDoorOpen/,val: true}, function (obj) {
if (obj.newState.val === true) {
log("DoorBird Tür öffnen");
//Hier Deinen Code einfügen
//Nach 10 Sekunden Zustand wieder zurücksetzen
setStateDelayed("javascript.0.States.DoorBirdDoorOpen"/States.DoorBirdDoorOpen/,false,10000);
}
});
//Türklingel
on({id:"javascript.0.States.Doorbell"/States.Doorbell/,val: true}, function (obj) {
if (obj.newState.val === true) {
log("Es klingelt an der Haustür");
//Hiermit schalte ich den View auf dem Tablet auf mein Doorbird View, indem ein Widget ist, welches das Bild vom letzten Klingeln anzeigt
setState("javascript.0.Views.actual",2);
// Nach 30 Sekunden den Zustand wieder zurücksetzen
setStateDelayed("javascript.0.States.Doorbell"/States.Doorbell/,false,30000);
//Nach 45 Sekunden schalte ich wieder auf den Standard View zurück
setStateDelayed("javascript.0.Views.actual",0,45000);
}
}); -
Hi,
setState("javascript.0.Views.actual",2); ```
da bist Du auf eine fehlende Info hereingefallen.
Das Script schreibt lediglich in einen Datenpunkt (unterhalb von Javascript) das eine View gewechselt werden soll … ausgeführt wird da gar nichts. Derjenige muss noch ein weiteres / anderes Javascript haben, was dann tatsächlich umschaltet.
Schau Die mal die Doku zum VIS an (https://github.com/ioBroker/ioBroker.vi … /README.md) - besonders den Abschnitt "Control interface". Da ist sehr gut erklärt, wie man VIS "fernsteuert".
Das hier ist mein kompletes Doorbird-Script (was ich schon mal gepostet habe).
Die tatsächliche Umschaltung findet da in den Zeile 89, 91, 102 und 104 statt (Erklärung weiter unten)
/* Als erstes muss dem Doorbird mitgeteilt werden, das er beim Klingeln oder bei Bewegung eine Aktion ausführen muss. Voraussetzung auf ioBroker-Seite: Auf dem ioBroker-Host muss der simpoleAPI-Adapter installietr und konfiguriert sein!!! Für Aktion beim Klingeln: http://[IP-Doorbird]/bha-api/notification.cgi?url=http://[IP-ioBroker]:[Port-simpleAPI]/set/[Pfad_Datenpunkt_Klingel]?value=true&event=doorbell&subscribe=1 Für Aktion bei Bewegung http://[IP-Doorbird]/bha-api/notification.cgi?url=http://[IP-ioBroker]:[Port-simpleAPI]/set/[Pfad_Datenpunkt_Bewegung]?value=true&event=motionsensor&subscribe=1 Bedeutung der oben verwendeten Variablen [IP-Doorbird] ist durch die IP des Doorbird zu ersetzen [IP-ioBroker] ist durch die IP des ioBrokers zu ersetzen (auf dem der simpleAPI-Adapter laufen muss!!!) [Port-simpleAPI] ist durch den port des simpleAPI-Adapters zu ersetzen [Pfad_Datenpunkt_Klingel] ist durch den entspr. Pfad zu ersetzten (z.B. "javascript.0.Doorbird.Doorbell") [Pfad_Datenpunkt_Bewegung] ist durch den entspr. Pfad zu ersetzten (z.B. "javascript.0.Doorbird.Motion") Sowohl beim Klingeln als auch bei Bewegungserkennung werden alle VIS-Instanzen auf die entsprechende View umgeschaltet */ // --------------------------------------------------------------------------------------- // ----- Hier bitte die eigenen Werte eintragen bzw. die Javascript-Instanz anpassen ----- // --------------------------------------------------------------------------------------- var debug = true; var DoorbirdIP = "000.000.000.000"; var dpDoorbirdMotion = "javascript.0.Doorbird.Motion"; var dpDoorbirdBell = "javascript.0.Doorbird.Doorbell"; var dpVisAdapterInstanz = "vis.0.control.command"; var dpDoorbirdSavePicture = "javascript.0.scriptEnabled.Aktiv.Doorbird_SafePicture"; // -------------------------------------- // ----- Ab hier nichts mehr ändern ----- // -------------------------------------- createState('Doorbird.Doorbell', false, {read: true, write: true, desc: "Es wurde geklingelt", type: "boolean", def: false }); createState('Doorbird.Motion', false, {read: true, write: true, desc: "Bewegung erkannt", type: "boolean", def: false }); createState('Doorbird.DoorOpen', false, {read: true, write: true, desc: "Töröffner betätigt", type: "boolean", def: false }); createState('Doorbird.ViewTTL',30, {read: true, write: true, desc: "Anzeigedauer Kameraview", type: "number", unit: "Sekunden" }); var WarteZeitSec = getState('Doorbird.ViewTTL').val; var WarteZeit = WarteZeitSec * 1000; if (debug) log("Wartezeit : " + WarteZeit); if (debug) log("Wartezeit (sek.) : " + WarteZeitSec); //Bewegung Doorbird /*on({id:dpDoorbirdMotion,val: true}, function (obj) { if (obj.newState.val === true) { if (debug) log("Doorbird : Bewegung DoorBird"); setState(dpVisAdapterInstanz, '{"instance": "FFFFFFFF", "command": "changeView", "data": "A_091_Kameras_Haustuer"}'); //Hier muss die Kamera-View eingetragen werden setTimeout(function () { setState(dpVisAdapterInstanz, '{"instance": "FFFFFFFF", "command": "changeView", "data": "A_001_Main"}'); //Hier muss die Return-View eingetragen werden }, WarteZeit); setStateDelayed(dpDoorbirdMotion,false,5000); } }); */ //Türklingel on({id:dpDoorbirdBell,val: true}, function (obj) { if (obj.newState.val === true) { if (debug) log("Doorbird : Es klingelt an der Haustür"); setState(dpVisAdapterInstanz, '{"instance": "FFFFFFFF", "command": "changeView", "data": "A_091_Kameras_Haustuer"}'); //Hier muss die Kamera-View eingetragen werden setTimeout(function () { setState(dpVisAdapterInstanz, '{"instance": "FFFFFFFF", "command": "changeView", "data": "A_001_Main"}'); //Hier muss die Return-View eingetragen werden }, WarteZeit); setStateDelayed(dpDoorbirdBell,false,5000); } });
Den Block für die Bewegungserkennung habe ich auskommentiert.
Wenn Du die nutzen willst, musst Du ihn wieder aktivieren. In Zeile 86 nimmst Du das "/" weg und in Zeile 95 das "/"
In Zeile 89 musst Du dann die Kamera-View angeben (bei mir "A_091_Kameras_Haustuer") und in Zeile 91 dann die View, zu der zurückgekehrt werden soll (be mir "A_001_Main").
Gleiches gilt für die Klingel-Auswertung in den Zeilen 102 bzw. 104.
Gruß,
Eric
-
Hallo und danke für das Script
ich habe mal so geändert!
/* Als erstes muss dem Doorbird mitgeteilt werden, das er beim Klingeln oder bei Bewegung eine Aktion ausführen muss. Voraussetzung auf ioBroker-Seite: Auf dem ioBroker-Host muss der simpoleAPI-Adapter installietr und konfiguriert sein!!! Für Aktion beim Klingeln: [http://192.168.1xx.xx/bha-api/notificat … ubscribe=1](http://192.168.1xx.xx/bha-api/notification.cgi?url=http://192.168.1xx.xx:80xx/set/%5BPfad_Datenpunkt_Klingel%5D?value=true&event=doorbell&subscribe=1) Für Aktion bei Bewegung [http://192.168.1xx.xx/bha-api/notificat … ubscribe=1](http://192.168.1xx.xx/bha-api/notification.cgi?url=http://192.168.1xx.xx:80xx/set/%5BPfad_Datenpunkt_Bewegung%5D?value=true&event=motionsensor&subscribe=1) Bedeutung der oben verwendeten Variablen [IP-Doorbird] ist durch die IP des Doorbird zu ersetzen [IP-ioBroker] ist durch die IP des ioBrokers zu ersetzen (auf dem der simpleAPI-Adapter laufen muss!!!) [Port-simpleAPI] ist durch den port des simpleAPI-Adapters zu ersetzen [Pfad_Datenpunkt_Klingel] ist durch den entspr. Pfad zu ersetzten (z.B. "javascript.0.Doorbird.Doorbell") [Pfad_Datenpunkt_Bewegung] ist durch den entspr. Pfad zu ersetzten (z.B. "javascript.0.Doorbird.Motion") Sowohl beim Klingeln als auch bei Bewegungserkennung werden alle VIS-Instanzen auf die entsprechende View umgeschaltet */ // –------------------------------------------------------------------------------------- // ----- Hier bitte die eigenen Werte eintragen bzw. die Javascript-Instanz anpassen ----- // --------------------------------------------------------------------------------------- var debug = true; var DoorbirdIP = "192.1xx.xx"; var dpDoorbirdMotion = "javascript.0.Doorbird.Motion"; das weis ich nicht was ich damit machen soll, das ist ein eigenes Script? var dpDoorbirdBell = "javascript.0.Doorbird.Doorbell";das weis ich nicht was ich damit machen soll, das ist ein eigenes Script? var dpVisAdapterInstanz = "vis.0.control.command";das weis ich nicht was ich damit machen soll, das ist ein eigenes Script? var dpDoorbirdSavePicture = "javascript.0.scriptEnabled.Aktiv.Doorbird_SafePicture";das weis ich nicht was ich damit machen soll, das ist ein eigenes Script? // –------------------------------------ // ----- Ab hier nichts mehr ändern ----- // -------------------------------------- createState('Doorbird.Doorbell', false, {read: true, write: true, desc: "Es wurde geklingelt", type: "boolean", def: false }); createState('Doorbird.Motion', false, {read: true, write: true, desc: "Bewegung erkannt", type: "boolean", def: false }); createState('Doorbird.DoorOpen', false, {read: true, write: true, desc: "Töröffner betätigt", type: "boolean", def: false }); createState('Doorbird.ViewTTL',30, {read: true, write: true, desc: "Anzeigedauer Kameraview", type: "number", unit: "Sekunden" }); var WarteZeitSec = getState('Doorbird.ViewTTL').val; var WarteZeit = WarteZeitSec * 1000; if (debug) log("Wartezeit : " + WarteZeit); if (debug) log("Wartezeit (sek.) : " + WarteZeitSec); //Bewegung Doorbird on({id:dpDoorbirdMotion,val: true}, function (obj) { if (obj.newState.val === true) { if (debug) log("Doorbird : Bewegung DoorBird"); setState(dpVisAdapterInstanz, '{"instance": "FFFFFFFF", "command": "changeView", "data": "Kamera"}'); //Hier muss die Kamera-View eingetragen werden setTimeout(function () { setState(dpVisAdapterInstanz, '{"instance": "FFFFFFFF", "command": "changeView", "data": "Grundriss"}'); //Hier muss die Return-View eingetragen werden }, WarteZeit); setStateDelayed(dpDoorbirdMotion,false,5000); } }); //Türklingel on({id:dpDoorbirdBell,val: true}, function (obj) { if (obj.newState.val === true) { if (debug) log("Doorbird : Es klingelt an der Haustür"); setState(dpVisAdapterInstanz, '{"instance": "FFFFFFFF", "command": "changeView", "data": "Kamera"}'); //Hier muss die Kamera-View eingetragen werden setTimeout(function () { setState(dpVisAdapterInstanz, '{"instance": "FFFFFFFF", "command": "changeView", "data": "Grundriss"}'); //Hier muss die Return-View eingetragen werden }, WarteZeit); setStateDelayed(dpDoorbirdBell,false,5000); } });
die ROTRN Sachen kenne ich mich nicht aus!!
-
Hi,
die ROTRN Sachen kenne ich mich nicht aus!! `
sorry, nicht für Ungut, aber ich habe den Verdacht, das Du keine Ahnung hast, was Du da tust, oder?Deine rot markierten Punkte sind die Datenpunkte, mit denen das Script arbeitet (steht doch dabei).
Der Doorbird wird so konfiguriert, das es bei Bewegung in den einen Datenpunkt schreibt und bei Klingeln in den anderen. (steht auch in der Erklärung oben im Script).
Du musst sowohl die Konfiguration auf dem Doorbird als auch die Datenpunkte im Script identisch halten, sonst läuft da gar nichts.
Gruß,
Eric
-
orry, nicht für Ungut, aber ich habe den Verdacht, das Du keine Ahnung hast, was Du da tust, oder? `
tut schon etwas weh! ist aber leider die Wahrheit. nehme ich nicht persönlich und hoffe du kannst mir trotzdem helfen.
@eric2905:Der Doorbird wird so konfiguriert, das es bei Bewegung in den einen Datenpunkt schreibt und bei Klingeln in den anderen. (steht auch in der Erklärung oben im Script). `
Wie geht das ?Ich dachte das ist der Code?
http://IP-DEINES-DOORBIRD/bha-api/notification.cgi?url=http://IP:PORT-DEINER-IOBROKER-SIMPLE_API/set/javascript.0.States.Doorbell?value=true&event=doorbell&subscribe=1
den habe ich im Browser wie beschrieben eingegeben.
und steht auch im Doorbird.
Ich hoffe das du genug Geduld mit mir hast das wir das schaffen.
Danke
-
http://IP-DEINES-DOORBIRD/bha-api/notification.cgi?url=http://IP:PORT-DEINER-IOBROKER-SIMPLE_API/set/javascript.0.States.Doorbell?value=true&event=doorbell&subscribe=1
den habe ich im Browser wie beschrieben eingegeben.
und steht auch im Doorbird. `
Ich hoffe, Du hast "IP-DEINES-DOORBIRD" und "[IP-ioBroker]:[Port-simpleAPI]" durch Deine passenden Werte ersetzt.Wie viele Javascript-Instanzen hast Du? Steht im Reiter Instanzen (javascript.0, javascript.1, usw.).
Kriegen wir schon hin, muss mich halt nur drauf einstellen.
Gruß,
Eric
-
Ich hoffe, Du hast "IP-DEINES-DOORBIRD" und "[IP-ioBroker]:[Port-simpleAPI]" durch Deine passenden Werte ersetzt. `
natürlich "siehe Anhang Unbenannt2"Ich habe den Livestream im VIS schon am laufen!
@eric2905:Wie viele Javascript-Instanzen hast Du? Steht im Reiter Instanzen (javascript.0, javascript.1, usw.). `
Ich habe einen Ordner mit Doorbird da sind 4 drin aber ich glaube das sind die aus dem ersten Script?
@eric2905:Kriegen wir schon hin, muss mich halt nur drauf einstellen. `
finde ich gut die EinstellungDanke
4668_unbenannt4.png
4668_unbenannt2.png
4668_k640_unbenannt5.jpg