Neues Modul Shinobi(beta)

Begonnen von timmib, 28 November 2020, 23:31:53

Vorheriges Thema - Nächstes Thema

timmib

Guten Tag,

es war mal wieder Zeit zwei klasse Sachen zusammenzubringen. FHEM und Shinobi. https://shinobi.video/

Shinobi ist ein Server für die IP-Kameras.

Was bisher geht. (Und mir persönlich sogar schon reicht)

Man kann ein Wurzelgerät anlegen.
Usage: define devname Shinobi [http|https]://IP_or_Hostname:port apikey groupID

Dies hat ein GET namens "monitors", also
get devname monitors

Damit werden alle eingerichteten Kameras(Shinobi=Monitor) als Device in FHEM angelegt und initialisiert.

Ein solches gerät hat bisher vier set Befehle.

  • event - Löst einen Event in Shinobi aus. Das ist sehr nützlich im Power Viewer von Shinobi. Siehe Anhang.
  • record - Versetzt den Monitor in dern Zustand Aufnahme für eine bestimmte Zeit, die man dahinter als Anzahl der Sekunden schreibt
  • show - Führt einen FHEM Befehl aus um den Stream z.B. auf einem Tablet(Fully) anzuzeigen. Dafür gibt es ein Attribut show_cmd um den Befehl zu hinterlegen. Schreibt dahinter optional die Anzahl der Sekunden wird automatisch hide ausgeführt.
  • hide - Führt einen FHEM Befehl aus um den Stream z.B. auf einem Tablet(Fully) nicht mehr anzeigt. Dafür gibt es ein Attribut hide_cmd um den Befehl zu hinterlegen.

Die beiden cmds kann man auch zentral am IODev hinterlegen, dann gelten die für alle, die nicht selber einen setzen.
Bei beiden cmds werden die Schlüsselwörter $STREAM und $NAME entsprechend ersetzt. Das ist hilfreich um z.B. Fully die URL beim set playVideo mitzugeben.

Viel Spaß beim Ausprobieren.

Meldet euch mal wenn da gesteigertes Interesse dran besteht. Mir hat es schon sehr geholfen.

Viele Grüße

Tim

PS Dokumentation in englisch habe ich ergänzt.
PPS Shinobi config nicht mehr an Monitoren repliziert.







Steigerbalett

Hallo Tim,
ich habe Dein Modul gerade installiert.
Kannst Du noch irgendwie einen sinnvollen STATE einbauen?
Im Wurzelgerät evtl. die Adresse oder die Anzahl der Monitore, oder ...
Und in den Monitordevices dann z.B. einfach den Status nehmen?
MfG

rcmcronny

#2
Hi Tim,

ich nutze nun wohl auch Shinobi, Motioneye geht auf die Ressourcen so langsam ;)

Was mit bei der Installation aufgefallen ist:


2021.07.05 11:06:20 1 : Calling /usr/bin/perl ./contrib/commandref_join.pl -noWarnings, this may take a while
2021.07.05 11:06:29 1 : *** EN FHEM/55_Shinobi.pm: ignoring text due to DOS encoding
2021.07.05 11:06:29 1 : *** EN FHEM/55_ShinobiMonitor.pm: ignoring text due to DOS encoding
2021.07.05 11:06:29 1 : *** DE FHEM/55_Shinobi.pm: ignoring text due to DOS encoding
2021.07.05 11:06:29 1 : *** DE FHEM/55_ShinobiMonitor.pm: ignoring text due to DOS encoding


Aus dem Log:

2021.07.05 11:09:08 1: PERL WARNING: "my" variable $error masks earlier declaration in same scope at ./FHEM/55_Shinobi.pm line 69.

Ein sinnvoller State wäre schon toll ja

Danke,
Ronny

timmib

Hallo zusammen,

sorry, dass ich erst jetzt antworte.

Hilft hier das allgemeine "stateFormat" evtl. schon?

Viele Grüße

Tim