NEWS
Motion.adapter mit motionEye
-
Ja, das wäre dann der nächste Schritt. Mit dem oben beschriebenen hättest du erstmal eine Variable, die true wird wenn detection erkannt wird.
Dann habe ich ein Script, dass ein Foto zu telegram schickt, sobalt detection true wird:
var request = require('request'); var fs = require('fs'); function sendImage() { request.get({url: 'http://IP_motioneye_PiCam/picture/1/current/', encoding: 'binary'}, function (err, response, body) { fs.writeFile("/tmp/snap-pi1.jpg", body, 'binary', function(err) { if (err) { console.error(err); } else { console.log('Snapshot sent'); sendTo('telegram.1', '/tmp/snap-pi1.jpg'); //sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Snapshot'}); } }); }); } on("javascript.0.Variablen.Pi1-detection"/*Variablen.Pi1-detection*/, function (obj) { if (obj.state.val) { // send 4 images: immediately, in 5, 15 and 30 seconds sendImage(); setTimeout(sendImage, 2000); // setTimeout(sendImage, 10000); // setTimeout(sendImage, 15000); } });
So würde es direkt mit der Raspi-Cam funktionieren. Bei anderen Cams muss man wohl die 5. Zeile anpassen.
Ein weiteres Script schreibt true wieder nach einer Zeit auf false. Könnte man auch in ein Script packen, wenn man es könnte. Kann ich nicht deswegen dann mit javascript im Blockly Format.
Die detection in der Cam schalte ich nicht ab. Aber man kann trotzdem es so schreiben, dass die Fotos nur unter bestimmten Bedingungen geschickt werden, z.B. durch eine weitere Variable, welche du über VIS true/false setzt.
-
Hey, so hab mich heute morgen mal rangesetzt. Nun läuft es. Danke erstmal für deine Hilfe
Meine Lösung ist nun folgende (ohne den motion Adapter).
Jede Kamera hat drei Datenpunkte (lastImage, detected, state)
Ändert man nun den State auf true, wird das aktuelle Kameraobjekt von motioneye geholt, verändert und wieder zum speichern zurückgeschickt. Somit ist das schonmal regelbar.
Wird nun eine Bewegung erkannt schickt Motioneye den webhook los und setzt detect für eine minute auf true. Gleichzeitig wird ein Foto an Telegram geschickt und der Pfad zum Bild temporär gespeichert (der Pfad ist in der lastImage). Hier soll nachher noch etwas dran geschraubt werden
Jetzt muss ich mir nur noch überlegen wie ich Netzwerkschonend einen Statusabgleich mit Motioneye hinbekomme damit sichergestellt ist das True/False synchron sind.
Gesendet von meinem SM-G950F mit Tapatalk
-
Ich scheitere leider auch an einer Lösung mit Motion Adapter, da ich trotz funktionierendem motion und Bewegungserkennung keine events an iobroker übergeben bekomme.
Hat jemand evtl Erfahrung wieviele Kameras der raspi3 mit motioneyeos gleichzeitig packt?
-
Hi,
danke für die Lösung mit dem JavaScript. Hat bei mir funktioniert. Hab eine Xiaomi Cam mit dem Dafang Hack, die via rstp in motioneye eingebunden ist.
Momentan hackt es noch ein wenig, weil die Motion Detection nicht immer auslöst. Muss aber an der Kamera oder Motioneye liegen.
ciao
Martin
-
Kleine Ergänzung von heute morgen. Es läuft jetzt deutlich flüssiger. Hab die Cams jetzt mal auf den Unifi AP umgestellt anstelle des alten TP Links.
Erkennung läuft flüssig. Habe das Skript jetzt noch ergänzt und mache das zurücksetzen der Motion Variabel direkt dort anstatt in einem separaten Skript.
-
Hallo Martin,
kannst du ggf. dein Script posten ?
Würde mir meine bevorstehende integration immens vereinfachen ;-).
Dank und Gruß
MM
-
@lobomau said in Motion.adapter mit motionEye:
Wenn du motioneye und iobroker laufen hast, brauchst du eigentlich keinen motion-Adapter mehr.
Du machst bei motioneye unter Motion Notification -> Call a web hook zum simple-API des iobrokers, z.B.: http://IP_ioBroker:Port_von_SimpleAPI/set/javascript.0.Pi-detection?value=true
HTTP Methode: GET
Die Variable Pi-detection legst du dir vorher in ioBroker an. Ein weiteres Script macht z.B. aus true nach 1min wieder false.
ich bin recht neu in der Materie, das mit dem call a web hook habe ich verstanden, könntest du mir vielleicht kurz erläutern wie ich ein weiteres script erstelle um aus true nach einer min wieder false zu machen (und wo ich das dann hinpacken muss)
-
@Lutz74 hast du schon mit Blockly Scripte erzeugt? Dann könnten die Bildschirm Fotos schon weiterhelfen. Leider etwas fummelig am Handy, deswegen auf zwei Fotos. Es geht eigentlich nur um den zweiten Block von unten. Wenn p1-detection = wahr, dann nach 120s wieder unwahr.
Zur Sicherheit macht der andere Block immer um Mitternacht unwahr und der andere Block ganz oben macht bei einem Script-Start unwahr.
-
@lobomau Vielen Dank dafür, hast mir sehr geholfen... ich hoffe das ich den Rest mit deer Cam&Telegram auch noch hinbekomme
-
@lobomau Ich muss dich leider nochmal nerven....
Habe nun alles soweit stehen und es läuft.... bis auf...... motionEye gibt mir keine Notification ab. Gebe ich den Link des Web Hook in einen Browser ein, funktioniert alles und ich bekomme auch ein Bild in Telegram.....
Hast du da vielleicht eine Idee warum motionEye da "querschiesst"?!
-
Hast den link unter Motion Notifications -> call a Web Hook eingegeben?
Gruß
Christian -
@Lutz74 du musst erstmal feststellen ob motioneye überhaupt eine Bewegung feststellt.
Show frame changes ON würde dir die Anzahl der veränderten frames anzeigen. Du hast auf frame change threshold 10% eingestellt. Bei z. B. 1 Megapixel Auflösung müssen sich also 100.000 Pixel ändern.
Man kann auch einstellen dass ein rotes Feld um die Bewegungen gezeichnet wird.
Funktioniert das? -
-
gerade durch zufall entdeckt, als eine katze rein wollte, das es wohl den roten rahmen gibt... den gab es aber erst als ich im hausflur das licht angemacht habe... demnach scheint er ja eine motion detection zu haben! Nichts desto trotz funktioniert es leider wohl nicht immer... mal ja, mal nein.... bin da echt ratlos
-
@Lutz74 já, genau den roten Kasten meine ich.
Aber nicht übertreiben mit 0%. Dann ist Dauer-motion-detection! Man hat immer paar Pixel, die sich ändern. Man muss sich da antasten. Mach mal 5% und schau ab was für einer Bewegung der rote Kasten kommt. Noise Level würde ich auch etwas hochstellen. -
hast als Methode "GET" gewählt?
-
@mikiline Ja, das habe ich
-
So, also ich weiss nicht was ich sagen soll, aber alles funktioniert. Ich hatte noch ein wenig mit den Einstellungen der Motion Detection gespielt und seit dem läuft alles. Ich bedanke mich sehr für eure Hilfe und hoffe das ich jederzeit wieder drauf zugreifen kann wenn nötig
-
@Lutz74 hmmmm, dann sollte es ja eigentlich gehen. hier mal meine detection einstellungen.
.....sorry, irgendwie nicht gesehen das du ja schon vor ner stunde geantwortet hast und es bereits läuft.....
-
Hi,
welche Qualität und Auflösung habt ihr bei euch in motioneye eingestellt und mit welcher Qualität streamt eure Kamera ?
Nutze zwei Xiaomfang S1 Kameras und bin mir bei den Einstellungen absolut nicht sicher was ich nehmen soll damit die Qualität gut genug ist, aber auch nicht zu viel unnötige Last auf dem Netzwerk und dem motioneye Recher erzeugt wird.
Würde eigentlich gerne mal 6 Cams betreiben, aber aktuell laufen nicht mal die zwei richtig stabil.