NEWS
Doorbird Adapter gesucht
-
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 -
Na ja … so halbwegs sind wir auf dem Weg.
Du hast aus dem alten Script und meinem gemixt und die Doorbird -Konfig passt gar nicht zu meinem Script (und ist auch nicht vollständig)
Das werden wir jetzt mal anpassen - ich schlage vor, wir nutzen die Einstellungen, die ich im Script definiert habe..
Lösche mal bitte folgende Datenpunkte - die rot markierten (das sind die, die Du selber angelegt hat). Die da drüber sind aus meinem Script automatisch erzeugt worden.
ViewTTL müsset mit 30 belegt sein (ist die Anzeigedauer der Klingel-View):
Dann lösche auf dem Doorbird bitte alle "legacy_api_xxx" und erstelle neue (Du brauchst 2 Stück : Bewegung und Klingeln).
Die rot markierten Passagen bitte anpassen.
Für Aktion beim Klingeln (bitte in einer Zeile verwenden):
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 (bitte in einer Zeile verwenden):
http://[IP-Doorbird]/bha-api/notification.cgi?url=http://[IP-ioBroker]:[Port-simpleAPI]/set/[Pfad_Datenpunkt_Bewegung]?value=true&event=motionsensor&subscribe=1
Bitte im Anschluss nochmal Screenshots:
-
Datenpunkte aus ioBroker (javascript.0)
-
Konfig des ioBrokers
Gruß,
Eric
-
-
ok habe ich gemacht
-Datenpunkte gelöscht
-ViewTTL ist 30
-Im Doorbird die lagency gelöscht
-die zwei Adressen eingetragen
! /*
! 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 = "192.1xx.1xx.xx";
! 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": "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);
! }
! });
das müste auch so passen. -
Hi,
das müste auch so passen.
Oder? `
sofern Du im Script die Zeilevar DoorbirdIP = "192.1xx.1xx.xx"; ````nur für das Posting hier geändert hast und im Script selber alles ok ist, ja. Das Script läuft? Wenn ja, Klingel einfach mal. Beobachte den Datenpunkt "javascript.0.Doorbird.Doorbell" Der müsste sich von false auf true ändern - und nach 5 Sekunden wieder auf false resettet werden. Und die View müsste natürlich auch umschalten und nach 30 Sekunden (= Datenpunkt ViewTTL) wieder zurück. Gruß, Eric
-
sofern Du im Script die ZeileCode:var DoorbirdIP = "192.1xx.1xx.xx";nur für das Posting hier geändert hast und im Script selber alles ok ist, ja. `
natürlich… man hat mir gesagt das macht man so... ich lere ja langsam dazu@eric2905:Das Script läuft? `
ja
@eric2905:Wenn ja, Klingel einfach mal. `
tut sich nichts~~@eric2905:~~Beobachte den Datenpunkt "javascript.0.Doorbird.Doorbell"Der müsste sich von false auf true ändern - und nach 5 Sekunden wieder auf false resettet werden.Und die View müsste natürlich auch umschalten und nach 30 Sekunden (= Datenpunkt ViewTTL) wieder zurück. `
nein tut er nichtim Log beim Skript tut er schon was
4668_unbenannt8.png -
Ok, dann poste mir mal bitte einen Screenshot der Konfiguration des Simple-API-Adapters.
Lass die IP-Adressen bitte mal sichtbar - das sind eh private Adressen, die aus dem Internet eh nicht erreichbar sind.
Gruß,
Eric
-
! /*
! 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 = "192.1xxxx";
! 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": "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);
! }
! }); -
Fehler gefunden.
Im Doorbird steht noch „[Pfad_zum_Datenpunkt_xxx]“.
Hatte ich vergessen rot zu markieren und Dir ist es auch nicht aufgefallen.
Ich gehe gleich nochmal an den PC und poste die richtigen Doorbird-Konfig-Aufrufe.
Gruß,
Eric
Von unterwegs getippert
-
So, hier dann die richtigen Aufrufe:
Für Aktion beim Klingeln (bitte in einer Zeile verwenden):
http://[IP-Doorbird]/bha-api/notification.cgi?url=http://[IP-ioBroker]:[Port-simpleAPI]/set/javascript.0.Doorbird.Doorbell?value=true&event=doorbell&subscribe=1
Für Aktion bei Bewegung (bitte in einer Zeile verwenden):
http://[IP-Doorbird]/bha-api/notification.cgi?url=http://[IP-ioBroker]:[Port-simpleAPI]/set/javascript.0.Doorbird.Motion?value=true&event=motionsensor&subscribe=1
Lösche nochmal die beiden Einträge auf dem Doorbird und schicke die beiden oben stehen Kommandos nochmal ab (rot bitte wieder anpassen).
Anschließend mal testen und wenn's nicht klappt, wieder die Screenshots.
Gruß,
Eric
-
So, hier dann die richtigen Aufrufe: `
kein Problem das hätte ich auch selber sehen können.Deine Beschreibungen sind eigentlich idiotensicher und ich bin durchgefallen :shock:
Aber das Beste es funktioniert
nun öffnet sich der richtige Widget und dann kann ich den Livestream im VIS sehen.
So nun noch die Gegensprechanlage…....
und dann möchte ich noch einen Taster im VIS machen der dann eine Pin Eingabe erfordert und die Tür dann aufgehen soll.
Aber erst mal großen Dank an dich für die perfekte Unterstützung ....
DANKE!!
-
Hast Du den Türöffner am Doorbird abgeschlossen?
Sprich, öffnet der Doorbird quasi die Haustür?
Gruß,
Eric
Von unterwegs getippert