NEWS
Einbindung (IP) Kamera über "Motion"
-
Hallo,
ich möchte über meine Erfahrungen mit motioneyeOS berichten.
Nach einigen Monaten/Jahren mit XEOMA, zuletzt auf einem Odroid XU4, bin ich gestern auf motioneyeOS umgestiegen. Ich finde Xeoma schon eine gute Software, aber für meine Zwecke nicht geeignet (umständliche Einrichtung wegen Lizenzen zB nach Restore, Ressoucen hungrig, proprietäres Videoformat). Die kosten liegen bei 25€ für 4 Kameras für 2 oder 3 Jahre gratis Updates der Server/Clientsoftware. Hervorzuheben ist der ausgesprochen fachkundige und schnelle Support der Xeoma-Mitarbeiter (nur englisch und russisch). Wer einen größeren Server zu Hause hat oder ggf. kommerzielle Einrichtungen überwacht, sollte sich das mal ansehen (es gibt neben Webhooks und HTTP-Schaltern noch Besucherzähler, Kennzeichenerkennung, Raucherkennung, etc…)
Nach einem weiteren Absturz meines Odroids bin ich wegen Zeitmangels an der Neuinstallation gescheitert und habe mich deshalb an motioneye in der "Fertigvariante" als Image "motioneyeOS" gewagt. Ich war sofort angetan von der einfachen Installation und Einrichtung. Der Odroid soll auch keine anderen Aufgaben übernehmen, weshalb ich gern das fertige Image verwende. Mir war allerdings der zuschaltbare SSH-Zugang wichtig, da ich keine Eingabegeräte und keinen Bildschirm am Rechner angeschlossen habe (headless).
Ich nutze das Szenario: zwei IP-Kameras im Heimnetzwerk und den Odroid mit motioneye als Server. Evtl. werde ich noch einen Raspi+USB-Webcam einbinden.
Die Einrichtung der IP-Kameras war die größte Hürde. Man muss den URL des MJPEG- oder des RTSP-Streams herausfinden. Bei der Edimax ging das https://www.ispyconnect.com/man.aspx?n=Edimax, die andere Kamera ist ein chinesisches Billigteil mit ganz schlimmer Firmware. Ich habe der Kamera im Router den Zugang ins Internet verboten (man weiß ja nie). Den rtsp-Stream konnte ich schließlich https://mediola.answerbase.com/2338771/Floureon-bzw-PTZ-IP-Kamera-einbinden Tipp herausfinden. Die Einbindung des motioneye-Streams in VIS ist unproblematisch. Es werden sogar die bunten Rechtecke angezeigt, die motion um erkannte Bewegungen malt (auf Wunsch).
Über die Webhook-Funktion von motioneye ist die Auslösung von Aktionen in ioBroker möglich. Motioneye kann bei Events (zB Bewegung) einen URL aufrufen. Ich verwende GET, um über die SimpleAPI-Schnittstelle des Web-Adapters States in ioBroker zu setzen.
http://192.IP-IOBROKER:8082/set/javascript.0.Kamera.2.MOTION?value=true&prettyPrint
Ein ioBroker-Javascript setzt nach 10s mit setStateDelayed den State wieder auf false.
Aber nicht nur bei Bewegung sind Webhooks möglich. Mir haben es die https://github.com/ccrisan/motioneyeos/wiki/Action-Buttons angetan:
Eine https://github.com/ccrisan/motioneye/wiki/Action-Buttons#available-actions ist festgelegt. So kann man (leider etwas umständlich in der Einrichtung, läuft über bash-Skripte und curl-Aufrufe) zB durch einen Klick auf ein Logo im Kamerabild das Licht ein/ausschalten oder die Kamera ggf. schwenken.Ich lasse zB das Licht im jeweiligen Raum über eine Szene einschalten (Webhook > SimpleAPI > Szenenadapter). Ausserdem kann ich bis jetzt eine der Kameras schwenken oder auf eine Preset Position schicken. Dazu wird in einem Javascript der State überwacht, der vom Webbhook aus motioneye befüllt wird. Bei "up", "down", "left", "right" wird entsprechend wieder über request() im Skript ein Befehl an die Kamera geschickt.
Leider sind die Action in VIS nicht erreichbar/sichtbar, nur in der Bedienoberfläche von motioneye.
Die Testphase läuft noch, vielleicht mag der eine oder andere auch nochmal einen Blick auf die Software werfen. Ich finde gerade, wenn man mehrere Kameras verschiedener Hersteller hat, kann man so die Bedienung vereinheitlichen und vor allem irgendwelche P2P/Portfreigabe-Aktionen umgehen. Ich bin überzeugte VPNer.
Gruß
Pix
-
Hi Pix,
ich nutze auch das Motion (als Docker Image auf einer QNAP) und bin völlig zufrieden.
Mit welchem Widget stellst du den Stream aus Motion dar?
Kannst Du mir bitte einen Export zur Verfügung stellen?
Ich nutze den jqui-mfd Cam/Video (HTML5) Widget. jedoch bleibt hier manchmal das Bild aus, ich muss aktualisieren um wieder ein Bild zu bekommen.
Ps: Schade das die Action Buttons nicht in VIS zu sehen sind, das wäre optimal gewesen…..Da ich aber keine PTZ Kamera habe, auch nicht ganz so wichtig
-
Hallo,
ich nutze ein einfaches HTML Widget und lasse mir vorher von einem Skript den HTML-img-Befehl zusammensetzen. VIS-Widget:````
[{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":1,"refreshInterval":"","html":"{javascript.0.Xeoma.Kamera.2.HMTL}","name":"Webcam 2 als HTML","class":"xxx{javascript.0.VIS.Kamera.2.Filter}","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"comment":"xxx{javascript.0.VIS.Kamera.2.Filter} "},"style":{"left":"557px","top":"113px","z-index":"15","width":"400px","height":"280px","border-style":"none","background-color":"","background":""},"widgetSet":"basic"}]Das ist im Binding:
-
Und übrigens finde ich die Möglichkeit genial, einfach über einen Schiebeschalter in den Einstellungen einfach einen FTP-Server und sogar einen Samba-Server zuschalten zu können.
Den Samba Server kann man leicht in Mac OS mounten und so direkt aus dem Finder auf das Archiv zugreifen. Auf Wunsch ist sogar ein Schreibschutz einstellbar. Perfekt.Pix
-
@pix:Hallo,
ich nutze ein einfaches HTML Widget und lasse mir vorher von einem Skript den HTML-img-Befehl zusammensetzen. VIS-Widget:````
[{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":1,"refreshInterval":"","html":"{javascript.0.Xeoma.Kamera.2.HMTL}","name":"Webcam 2 als HTML","class":"xxx{javascript.0.VIS.Kamera.2.Filter}","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"comment":"xxx{javascript.0.VIS.Kamera.2.Filter} "},"style":{"left":"557px","top":"113px","z-index":"15","width":"400px","height":"280px","border-style":"none","background-color":"","background":""},"widgetSet":"basic"}]Das ist im Binding: `
-
Hi,
nachdem ich jetzt "immer" noch beim einbinden meiner ersten IP Kamera in iobroker/vis bin wollte ich mit motioneye mal anschauen.
Zum test das ganze auf einem alten Linux Laptop installiert und bisher finde ich die kostenfreie Lösung ganz OK.
Jetzt versuche ich Motioneye in einem Docker auf meinem OMV NAS zu installieren bevor es an die finale Konfiguration geht.
Allerdings bekomme ich auf meinem NAS das Docker image nicht per pull geladen wenn ich diese Seite und den Befehl verwende:
https://hub.docker.com/r/ccrisan/motioneye/
Muss aber auch erwähnen da es mein erster Versuch mit Docker ist.
Im OMV Docker Gui kann ich das so eintragen:
Wenn ich dann start eintrage passiert nichts und im logfile kommt das:
Jun 19 15:02:51 openmediavault dockerd[1863]: time="2018-06-19T15:02:51.357834742+02:00" level=info msg="Attempting next endpoint for pull after error: manifest unknown: manifest unknown" Jun 19 15:02:51 openmediavault dockerd[1863]: time="2018-06-19T15:02:51.357948666+02:00" level=info msg="Translating \"manifest unknown: manifest unknown\" to \"manifest for ccrisan/motioneye:latest not found\"" Jun 19 15:02:51 openmediavault omv-engined[11240]: Failed to write to socket: Broken pipe
ich weiß, das ganze kann auch OMV spezifisch sein aber vielleicht kann mir jemand der Docker nutzer sagen ob wenigstens der Link funktioniert und richtig ist oder wie ihr das gemacht habt.
Wenn ich versuche motioneye mit einem Link von vor 2 Jahren zu installieren klappt das. Ich hätte aber gerne die aktuelle Version :oops:
Danke für eure Hilfe
EDIT: runterladen hat jetzt funktioniert. Man muss den richtigen Tag noch verwenden.Jetzt muss ich mich nur noch mit dem Starten/erstellen und konfigurieren des docker beschäftigen
EDIT 2: der Docker läuft. (erstmal) und das herstellen der gesicherten config hat auch geklappt.
-
Hallo Zusammen,
bin gepannt ob das mit Motion und der Bewegungserkennung klappt…. besonders wenn
eine Motte das Objektiv pimpern will oder wie gestern Nacht eine kleine Spinne es sich samt Netz vor dem Objektiv gemütlich gemacht hat
Herzliche Grüße
Equilora aka Harald
-
Hi Harald,
die Bewegungserkennung über Camera ist bei mir erstmal nebensache. Ob Motioneye das besser als das Interne Kamera gedöns macht weiß ich nicht.
Langfristig soll das über PIR gemacht werden… allerdings ist der Austausch der vorhandenen PIRs gegen z.B. Homematic nicht ganz so leicht zu realiseren da es ja nicht alleine mit dem PIR getan ist sondern die HM Teile ja dann auch wieder einen Aktor benötigen der das Licht einschaltet und meine Hauswände mit mehreren PIR zu hängen mag ich auch nicht.
Kameras... womit habe ich da nur wieder angefangen
-
Hi zusammen,
Ich habe inzwischen über Motion meine Kamera eingebunden und alles funktioniert. Ebenfalls klappt es, das mir Motion via einem http Befehl eine Info zur Bewegungserkennung sendet.
Nun möchte ich aber umgekehrt, die Bewegungserkennung nur aktivieren wenn ich meine Alarmanlage aktiviere. Kann ich irgendwie einen http Befehl an Motion senden um dies zu machen?
Danke im Voraus!
Viele Grüße
Walkinlarge
Gesendet von iPad mit Tapatalk
-
Hi zusammen,
Ich habe inzwischen über Motion meine Kamera eingebunden und alles funktioniert. Ebenfalls klappt es, das mir Motion via einem http Befehl eine Info zur Bewegungserkennung sendet.
Nun möchte ich aber umgekehrt, die Bewegungserkennung nur aktivieren wenn ich meine Alarmanlage aktiviere. Kann ich irgendwie einen http Befehl an Motion senden um dies zu machen?
Danke im Voraus!
Viele Grüße
Walkinlarge
Gesendet von iPad mit Tapatalk `
Werte in ioBroker doch mit "und" aus. Wenn Alarm = true "und" Motion Detection = true, dann…..
-
Ja das geht, ich möchte aber verhindern das die Kamera auch außerhalb der aktiven Alarmanlage immer aufnimmt, wenn eine Bewegung ist. Daher würde ich das gerne in die andere Richtung verknüpfen. [emoji6]
Gesendet von iPad mit Tapatalk
-
Die Bewegungserkennung in Motion kannst du mit folgendem Befehl deaktivieren/aktivieren
url = "http://192.168.xxx.xxx:8080/y/detection/pause"; req(url,function(error,response,body){ if(body){ log("Motion detection Cam2 abgeschalten"); } });
Wobei die xxx durch die IP deines Motion-Servers und das y durch deine Kameranummer zu ersetzen sind. Aktivieren kannst du mit "start" anstelle von "pause".
Die Befehle kannst du übrigens leicht selbst herausfinden wenn du im Browser "ip.von.mot.ion:8080" aufrufst. Da gibt's noch viele Möglichkeiten…
-
Vielen dank. Werde es direkt mal testen!
Schönes Wochenende!
-
@pix:Die Testphase läuft noch, vielleicht mag der eine oder andere auch nochmal einen Blick auf die Software werfen. `
Morgen,
ich habe auf Grund deines Berichts das Ganze mal auf einem Rpi3 installiert und finde die Sache an sich wirklich nicht schlecht, jedoch richtig flüssig läuft das nicht. Das Bild in Vis aktuallisiert sich so ca 3-5 Sekunden nach der tatsächlichen Handlung (Garagentor auf). Ich kann nun nur nicht sagen ob das "Problem" an der fehlenden Performance des rpi3 liegt.
Aber an und für sich eine schöne Lösung.
-
Allerdings bekomme ich auf meinem NAS das Docker image nicht per pull geladen wenn ich diese Seite und den Befehl verwende:
Bin gerade erst auf diese Topik gestossen..
Soweit ich verstanden habe ist Dockerimage vom ccrisan für ARM Prozessor.
Ich habe seit einige zeit auf dem Synology diese Image am laufen https://hub.docker.com/r/jshridha/motioneye/
-
@wendy2702 und Alex1808
Wie das Motioneye-Dockerimage installiert wird, wird ja ähnlich zum iObroker- Dockerimage sein?
Aber?!
Wie starte ich dann Motioneye? Über eine URL?
Kann mir das mal einer kurz beschreiben?
Vielen Dank!
-
@wendy2702 und Alex1808
Wie das Motioneye-Dockerimage installiert wird, wird ja ähnlich zum iObroker- Dockerimage sein?
Aber?!
Wie starte ich dann Motioneye? Über eine URL?
Kann mir das mal einer kurz beschreiben?
Vielen Dank! `
Ja, wird fast wie ioBroker installiert, nur bei Einrichtung ports selbst vergeben
z.b. habe für 4 Kameras
Sobald Dockerconteiner gestart, soll Motioneye unter http://server_ip:8765 erreichbar sein.
-
Die Befehle kannst du übrigens leicht selbst herausfinden wenn du im Browser "ip.von.mot.ion:8080" aufrufst. Da gibt's noch viele Möglichkeiten… `
Hat jemand eine Idee woran es liegen kann wenn ich Motioneye laufen habe und diese Seite von Motion nicht aufrufen kann?
-
Firewall?
Ist denn die Website vom Motioneye Host aus selbst erreichbar (127.0.0.1:8080)?
Gruß
-
Wollte gerade meinen Beitrag editieren da eigentlich noch mehr infos rein sollten. Aber Frau hat zum Essen gerufen und ich depp auf "Absenden" gedrückt.
Also, Motioneye ist in Version 0.39.2 installiert und die Webseite ist über IP:8765 erreichbar.
Motion ist in Version 4.1.1 installiert, Webseite nicht über IP:8080 erreichbar.
Das ganze läuft auf dem gleichen Rechner wie mein iobroker Host auf Openmediavault und nicht mehr im Docker.
Auch mit 127.0.0.1:8080 geht nichts.
Eine Firewall habe ich nicht konfiguriert für internen Zugriff
EDIT: habe es hinbekommen. Im Config file muss der Parameter:````
webcontrol_localhost off