Fully Kiosk Browser für Android

Begonnen von aloz77, 06 Februar 2016, 20:27:54

Vorheriges Thema - Nächstes Thema

aloz77

OK, Szenario verstanden. Fully reagiert auf Broadcast de.ozerov.fully.action.motion_detected, welches vom Fully-eigenen Motion Detector Service bei Bewegungserkennung verschickt wird. Wenn eine andere App diesen Broadcast bei Bewegungserkennung versenden würde, könnte alles ziemlich einfach sein.

bugware

#436
Hallo zusammen,

ein Windows 10 Anniversary Update später, wollte ich berichten, dass das Ein- und Ausschalten von Motion Detection mit JS funktioniert in der 1.8b3. Ich hab es auch hinbekommen mit einer leichten Modifizierung des Skripts von deiner Seite in einer Sequenz Motion Detection aus, Kamera mit JS ansprechen, Snapshot, Kamera wieder freigeben, Motion Detection wieder an. Besten Dank für die schnelle Umsetzung!
Was noch hilfreich wäre, wenn man
a) den Status von Motion Detection, also Ein/Aus per JS abfragen könnte und
b) wenn es ein Event geben würde, sobald sich der Zustand von Motion Detection geändert hat also Fully.bind('onMotionDetectionSetting', 'func(MDstatus)') oder so. Im Moment hab ich das nämlich einfach mit Timeouts hintereinander gesetzt. Geht, ist aber wohl nicht so optimal. Auch hatte ich das Gefühl, das Fully abstürtzt, wenn zweimal Start oder Stop MotionDetection hintereinander ausgeführt wird (also nicht abwechselnd) aber ich habe das nicht näher verfolgt. Vielleicht kann man das noch abfangen.

Zitat von: no_Legend am 08 Oktober 2016, 09:38:03
Mein Tablet ist im Flur neben der Tür, weshalb ich hier die Front Kamera als Überwachungskamera recht gut eignet.
Solche Flur Tablet sind auch recht weit verbreitet, weshalb ein solche Szenario also nicht sehr abwegig erachtet.

Außerdem habe ich die letzten Konversationen zu IP webCam gelesen. Im Prinzip haben Robert und ich ja das gleiche vor. Da kam mit der Gedanke, dass man im Prinzip ja auch diese Funktionalität an JS auslagern könnte. Denn, MotionDetection Scripte gibt es auch für JS wie ich gesehen habe und ob man ein Standbild macht und hochlädt oder einen Videostream, das dürfte doch nicht der riesen Unterschied sein. Hab ich aber noch nicht gegoogelt.
Der Vorteil wäre, dass man alles (also MotionDetection, Kamera Standbild/Stream als Überwachungsfunktion oder was man sonst per FTUI+FHEM steuern will) in einer Anwendung hat (also Fully+FTUI) und man nicht mehr auf andere Apps angewiesen wäre. Naja, nur so eine Idee.

Beste Grüße.
RPi 2, nanoCUL433, nanoCUL868-HM, SIGNALduino, HM, IT, SOMFY, Weishaupt-Mod, BOTVAC, MYSENSORS

no_Legend

Zitat von: aloz77 am 08 Oktober 2016, 12:25:02
OK, Szenario verstanden. Fully reagiert auf Broadcast de.ozerov.fully.action.motion_detected, welches vom Fully-eigenen Motion Detector Service bei Bewegungserkennung verschickt wird. Wenn eine andere App diesen Broadcast bei Bewegungserkennung versenden würde, könnte alles ziemlich einfach sein.

Ich schreib morgen mal den Entwickler an, wie genau er die Infos an Tanker weiter gibt.
Vielleicht ist es ja machbar.
Melde mich sobald ich ne info hab.

Danke und Gruß Robert
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

aloz77

Zitat von: bugware am 08 Oktober 2016, 17:34:59
a) den Status von Motion Detection, also Ein/Aus per JS abfragen könnte und
...
b) wenn es ein Event geben würde, sobald sich der Zustand von Motion Detection geändert hat also Fully.bind('onMotionDetectionSetting', 'func(MDstatus)') oder so.

Im Moment hab ich das nämlich einfach mit Timeouts hintereinander gesetzt. Geht, ist aber wohl nicht so optimal. Auch hatte ich das Gefühl, das Fully abstürtzt, wenn zweimal Start oder Stop MotionDetection hintereinander ausgeführt wird (also nicht abwechselnd) aber ich habe das nicht näher verfolgt. Vielleicht kann man das noch abfangen.

Danke fürs Testen!

Zu a) könnte ich einfach eine JS-Funktion umsetzen, die mitteilt, ob die Einstellung Motion Detection an oder aus ist. Vielleicht baue ich irgendwann ein JS-Interface, mit dem man alle Einstellungen lesen/ändern kann.

Zu b) ist es aber gaaanz schwierig die Info zu bekommen, wann Motion Detection Service die Cam tatsächlich freigibt.

Die Abstürze kann ich bei mir nicht reproduzieren, auch wenn ich die Motion Detection schnell hintereinander einschalte oder ausschalte. Das ganze ist aber sehr komplex und kann schon auf einem anderen Gerät anders laufen.

bugware

Zitat von: aloz77 am 08 Oktober 2016, 20:46:40
Zu a) könnte ich einfach eine JS-Funktion umsetzen, die mitteilt, ob die Einstellung Motion Detection an oder aus ist. Vielleicht baue ich irgendwann ein JS-Interface, mit dem man alle Einstellungen lesen/ändern kann.

Ja, das wäre interessant. Eine Frage: wird denn mit der JS Funktion für start/stop Motion Detection die Einstellung umgeschaltet, oder bleibt die Einstellung und JS schaltet nur sozusagen temporär um?

Schönen Sonntag.
RPi 2, nanoCUL433, nanoCUL868-HM, SIGNALduino, HM, IT, SOMFY, Weishaupt-Mod, BOTVAC, MYSENSORS

aloz77

startMotionDetection() schaltet nur temporär ein und ändert nicht die Einstellung.

bugware

Ah... falls du die Einstellungen abrufbar machst, könnte man dann auch den temporären Zustand abfragen?
RPi 2, nanoCUL433, nanoCUL868-HM, SIGNALduino, HM, IT, SOMFY, Weishaupt-Mod, BOTVAC, MYSENSORS

aloz77

Rauszufinden, ob Motion Detector tatsächlich läuft, ist etwas kompliziert. Er ist in Android als ein Service realisiert. D.h. ich kann ihn starten/stoppen und er schickt bei Bewegungserkennung bestimmte Broadcast-Intents rum. Ein weiterer Informationsaustausch ist zur Zeit nicht benötigt und daher auch nicht vorgesehen.

Du kannst aber den Motion Detector problemlos auf Verdacht starten/stoppen. Es schadet nichts, wenn du ihn stopps, wo er nicht läuft, oder ihn startest, wenn er bereits läuft.

Robert1963

Hallo,

In Fully kommt auf den TabletUI Push Befehl
Zitat<div data-type="push" data-device="sl_Rollladen" data-icon="fa-chevron-up" data-background-icon="fa-square-o" data-set-on="Auf"  class="bigger"> </div>
beim ersten Klick der Befehl
"set  sl_Rollladen Auf",
beim zweiten
"set  sl_Rollladen off" ?,
dann bei jedem Klick im Wechsel.
Hab es in Chrome auf dem Win10 PC und auf dem Tablet probiert.
Da kommt es so wie es sein sollte.
Bei jedem Klick auf die Aufwärtstaste der Befehl "set  sl_Rollladen Auf".

Kann man da was in Fully umstellen oder muss ich den Behel in TabletUi umschreiben?

Viele Grüße Rob

Da ich mich grade frisch TabletUI und mit Fully beschäftige fehlt mir scheinbar der Ansatz um richtig zu suchen.

Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

aloz77

Zitat von: Robert1963 am 14 Oktober 2016, 08:43:38
...Kann man da was in Fully umstellen oder muss ich den Behel in TabletUi umschreiben?

So wie du beschreibst, macht die Android Webview nicht das, was du erwartest. Da kann vielleicht helfen, die Android Webview aus Google Play zu aktualisieren, was nur bei Android 5+ geht. Ansonsten hat Fully wenig Einfluss darauf, was in der Webview geschieht.

Robert1963


Hab leider nur Android 4.4.2 auf dem Tablet. Ohne Updateoption. :-[
Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

aloz77

Tja, Android 4.4.3 hat Cromium 33 an Board. Aktuell ist Chromium 54 oder so. Daher kommt der Unterschied. Leider kann man da IMHO bei Android 4.4. nichts machen.

Ulm32b

Lieber Aloz,

zunächst möchte ich meine Hochachtung für den Fully Kiosk Browser bekunden, der vom Fleck weg gut funktionierte. Insbesondere die Bewegungserkennung ist cool.  8)

Für meine Garagentorüberwachung und –steuerung möchte ich eine IP-Cam in FTUI einbinden, und da hakt es noch. In besitze eine upCam Cyclone HD. Diese war problemlos in Betrieb zu nehmen und liefert in der herstellerseitigen Anwendungsumgebung sehr gute (bewegte und unbewegte) Bilder.
Sie liefert ihre Daten unter

rtsp://xxx.xxx.xxx.xxx:554/11   (bzw. mit geringeren Auflösungen unter .../12 und .../13)
http://xxx.xxx.xxx.xxx/tmpfs/snap.jpg   (bzw. mit geringerer Auflösung unter .../auto.jpg)

In FTUI liefert der Code
<div data-type="image"
     data-size="80%"
     data-url="http://xxx.xxx.xxx.xxx:80/tmpfs/snap.jpg"
</div>

oder auch
<div data-type="image"
     data-size="80%"
     data-url="http://xxx.xxx.xxx.xxx:80/tmpfs/snap.jpg?user=yyyyy&pwd=zzzzz"
</div>

ein Bild auf der FTUI-Oberfläche, sowohl auf dem Laptop (Windows) unter Firefox 45.1.1  als auch auf dem Tablet (Firefox 49.0 unter Android 5.0.2). Andere Browser wie Crome liefern jedoch nur Platzhalter für das Bild. Dies gilt leider auch für den Fully Browser. Bilder aus externen Quelle wie DWD werden hingegen einwandfrei wiedergegeben.

Da es diversen Forenbeiträgen zufolge funktionierende Lösungen gibt, suche ich nach einer Referenz. Wenn es an der Cam liegen sollte, würde ich mir auch eine andere zulegen (in der Hoffnung, dass diese bei der Installation und auch sonst keine Mucken macht). Wer hierzu sachdienliche Hinweise geben kann, bitte melden, einschließlich FTUI-Code.

Einen Videostream habe ich bislang (außerhalb der herstellerseitigen App) überhaupt noch nicht zum Laufen gebracht. Auch hier wäre ich interessiert. Umwege über Umcodierungen o.ä. übersteigen allerdings meine DV-Kenntnisse, Zeitbudgets und Interessenlage.

Kurz und gut: Bei wem funktionieren Bilder und Stream in FTUI und wie ist das konfiguriert?

Beste Grüße
Ulm32b

aloz77

Verlangt deine Cam eine HTTP-Authentifizierung? Dann kann man das Bild in Chrome und Fully nicht in HTML einbinden. Im Chromium ist für eingebettete Inhalte die Authentifizierung nämlich aus Sicherheitsgründen verboten. Das Thema hatten wir schon vor kurzen. M.W. gibt's für diese Browser auch keine Workarounds.

Ohne HTML-Einbetten, d.h. die Cam-URL direkt öffnen, wird gehen.

Ulm32b

Hallo,

ich habe mir jetzt eine andere Web-Cam besorgt: Instar 3011. Und siehe da: Der Videostream funktioniert tadellos, insbesondere mit FTUi und Fully Kiosk.

Der FTUI-Aufruf lautet:

<div data-type="image" data-get="http://192.168.xxx.yyy:80/videostream.cgi?user=aaaaaaaaaaaa&pwd=bbbbbbbbbbbb"></div>

User und PWD werden also an den Browser übergeben, und der akzeptiert das klaglos.

Vorher hatte ich es mit der Cam upCam Cyclone (die als Stand-alone-Lösung einwandfrei funktioniert) vergelblich versucht. Woran das im einzelnen liegt, ist mir nicht klar. Die Hauptsache ist: Es läuft jetzt.

Mein Tip an alle: Ärgert euch nicht mit tollen Kameras herum, die mit FTUI nicht harmonieren; besorgt euch die passende Hardware, welche keineswegs teuer sein muss.

Beste Grüße
Ulm32b