Shinobi: Aufnahme abhängig von Bewegungsmelder starten.

Begonnen von PatrickR, 07 März 2019, 20:12:46

Vorheriges Thema - Nächstes Thema

PatrickR

Mahlzeit!

Da ich von Zoneminder die Nase voll hatte bin ich auf das geringere Übel umgestiegen: Shinobi. Da die Bewegungsdetektion im Außenbereich nicht wirklich zuverlässig arbeitet, triggere ich die Aufnahmen jetzt mit einem Homematic-IP-Bewegungsmelder.

99_MyUtils.pm:

###############################################################################
#
#  Shinobi functions
#
###############################################################################
use constant SHINOBI_HOST => '123.123.123.123:81';
use constant SHINOBI_API_KEY => 'XXX'; # Im Shinobi Web-GUI unter API erzeugen.
use constant SHINOBI_GROUP_KEY => 'YYY'; # Im Shinobi Web-GUI unter Settings nachsehen

sub shinobisetmonitormode($$) {
my ($monitorid, $mode) = @_;
HttpUtils_NonblockingGet({
url => sprintf("http://%s/%s/monitor/%s/%s/%s", SHINOBI_HOST, SHINOBI_API_KEY, SHINOBI_GROUP_KEY, $monitorid, $mode),
timeout => 15,
callback => sub($$$){
my ($param, $err, $data) = @_;
Log3(undef, 3, sprintf("shinobisetmonitormode: param: '%s', err: '%s', data: '%s'", $param, $err, $data));
}
});
}


Das passende DOIF (ZZZ durch die MonitorID der jeweiligen Kamera ersetzen):

defmod D_AU.XX.BewegungsmelderEingang_Shinobi DOIF ([AU.XX.BewegungsmelderEingang:1.MOTION] eq 'motion') ({\
shinobisetmonitormode('ZZZ', 'record');;\
}) DOELSE ({\
shinobisetmonitormode('ZZZ', 'start');;\
})
attr D_AU.XX.BewegungsmelderEingang_Shinobi event-on-change-reading .*
attr D_AU.XX.BewegungsmelderEingang_Shinobi wait 0:120
attr D_AU.XX.BewegungsmelderEingang_Shinobi cmdState recording|idle


Weitere Inspirationen findet man in der API-Doku: https://shinobi.video/docs/api

Falls größerer Bedarf besteht, würde ich mich mal an ein Modul setzen, wenn ich etwas Zeit habe.

Patrick
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

steffen83

Kannst du die Bewegungserkennung nicht der Kamera überlassen? Und diese melden sich dann bei fhem ? So habe ich das gemacht.

Gesendet von meinem MI 8 mit Tapatalk

Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

PatrickR

Hi!

Zitat von: steffen83 am 07 März 2019, 20:15:56
Kannst du die Bewegungserkennung nicht der Kamera überlassen? Und diese melden sich dann bei fhem ? So habe ich das gemacht.

Wie schon im Eingangsposting geschrieben habe ich diese schmerzhafte Episode hinter mir. Im Innenbereich kann man das machen, aber außen hatte ich die perfekte Kombination aus False Positives und False Negatives, selbst bei finegetunten Regionen.

Patrick Reinhardt
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook