Neue Fullscreen Browser APP für Android (WebViewControl)

Begonnen von Dirk, 27 Januar 2013, 15:18:28

Vorheriges Thema - Nächstes Thema

Jumbo

mit den popups interessiert mich sehr..

ich will wenn es klingelt, dass die DOME Kamera direkt auf die tür schwenkt, während ner minute da bleibt zurück schwengt, und dass dann ein popup auf dem tablet kommt. und auf antippen vom schirm wär ideal wenn dann noch keymatic die tür aufmacht :-D

hab webview auch nun installiert , sieht gut aus, und funzt soweit so gut :-D

Dirk

Zitatich will wenn es klingelt, dass die DOME Kamera direkt auf die tür schwenkt, während ner minute da bleibt zurück schwengt,
Das geht ja jetzt schon mit FHEM Bordmitteln und bissl perl Code.

Das mit dem Popup gibt es so "out of the Box" noch nicht. Ich kann mir aber vorstellen, das ich in das Modul eine Möglichkeit einbaue gezielt Javascript Funktionen per FHEM zu triggern. Dann lässt sich das auch lösen.

Gruß
Dirk

Martin Thomas Schrott

Hallo!
und danke für diese geniale App. Leider funktioniert sie hier noch nicht.
Getestet mit einem Samsung Galaxy Note Android 4.04

Einrichten hat problemlos geklappt, die Raumliste wird am Handy auch schön angezeigt.
Wenn man aber in einen Raum wechseln möchte kommt nur
connection lost, reconnect ...

Auch Zugriff von FHEM auf das Gerät ist nicht möglich.
set xxx tut garnichts.
get powerLevel gibt: Power level not set

Im log taucht übrigens auch nichts auf, obwohl ich die attribute wie oben angegeben gesetzt habe.

any idea?
Würde so gerne diese App nutzen, aber komme einfach nicht weiter.

Liebe Grüße
Martin

Jumbo


Martin Thomas Schrott

Hi!

wenns hilft ;-)
die eine Zeile fürs wvc wird wohl nicht genügen, hab aber ale hm devieces rausgelöscht, das wäre wohl etwas viel und unnötig. :-)

hier das cfg file:
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global mseclog 1
attr global statefile ./log/fhem.save
attr global userattr devStateIcon icon webCmd
attr global verbose 1
define telnetPort telnet xxxx global
attr telnetPort globalpassword blub

define WEB FHEMWEB 8083 global
attr WEB basicAuth xxx
attr WEB longpoll 1
attr WEB plotmode SVG
attr WEB plotsize 800,240
define WEBphone FHEMWEB 8084 global
attr WEBphone basicAuth xxx
attr WEBphone smallscreen 1

define WEBtablet FHEMWEB 8085 global
attr WEBtablet basicAuth xxx
attr WEBtablet touchpad 1

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate autosave 1
attr autocreate device_room %TYPE
attr autocreate filelog ./log/%NAME-%Y.log
attr autocreate weblink 1
attr autocreate weblink_room Plots

# Disable this to avoid looking for new USB devices on startup
#define initialUsbCheck notify global:INITIALIZED usb create


# If the above notify did not helped, then you probably have to enable some of
# the following lines.  Verify first that /dev/xxx ist correct.

#define FHZ FHZ /dev/USB0
#define CUL CUL /dev/ttyACM0@9600 1234
#attr CUL rfmode HomeMatic

#define EUL TCM 310 /dev/ttyACM0@57600
#define BscBor TCM 120 /dev/ttyUSB0@9600
#define BscSmartConnect TCM 310 /dev/ttyUSB0@57600


define HMLAN1 HMLAN xxx:1000
attr HMLAN1 hmId xx
attr HMLAN1 loglevel 1

define android WEBVIEWCONTROL 12345

Jumbo

ok,

das apk hast ja installiert auf dem Android ?

und läuft auch ?

Das Android is ja auch im gleichen Wlan wie FHEM ?

Dirk

Zitatconnection lost, reconnect ...
Kommt immer wenn man einen Raum wechselt / Link anklickt. Das kommt vom FHEMWEB longpoll. Danach sollte aber die Seite aufehen deren Link du angeklickt hast.

Wie verhält sich die Anzeige wenn du das FHEM WebUi im normalen Browser auf deinem Note öffnest?
Die zugehörigen Dateien (95_WebViewControl.pm, webviewcontrol.js usw.) hast du an die entsprechenden Stellen kopiert?
Funktioniert die Batterieanzeige und Netzwerkanzeige rechts unten?

Gruß
Dirk

Martin Thomas Schrott

Hi

apk is installiert sonst könnte die app ja nicht die übersicht anzeigen ;-)
Funktionieren - naja wie gesagt, wenn man einen Raum wechseln möchte gibt es ein connection lost.

>Das Android is ja auch im gleichen Wlan wie FHEM ?
Nein, ist denn das eine Voraussetzung? Steht niergends, dass es so sein muss und macht für mich auch keinen Sinn. Die Webseite ist ja aufgerufen, mehr sollte nicht an Verbindung notwendig sein. Wäre ja auch traurig, wenn die app nur zuhause funktioniert.:-)
weitere Ideen?

Martin Thomas Schrott

Hi ihr beiden,

vielen Dank nochmal, es geht jetzt!
Bitte nicht fragen, was war, ich weiß es nicht, wir haben einfach nochmal die App neu gestartet und jetzt geht sie. Vorher ging nichts, außer die Übersicht.
logs laufen jetzt auch korrekt, also anscheinend einfach irgendwas beim laden schief gelaufen.

Bin wirklich begeistert, vor allem das ttsSay ist umwerfend!

Aja, was noch super wäre, wenn man lokale Dateien (audio) / ev. auch viedeo? abspielen könnte.
lokal am android gerät natürlich!
ev. per name ohne pfad aus der medienliste
sonst mit pfad.

Beste Grüße
Martin

p.s.: @Dirk, ja war alles richtig installiert, deine Anleitung hier ist ja gut und einfach gehalten, keine Probleme dabei!

Jumbo

Dirk , kannst du noch einfügen ,dass im Floorplan skaliert wird ? so wie bei Opera oder Dolphin Browser ? würde das gehen ?

Martin Thomas Schrott

Ah,
eine Frage noch, wenn das Android device offline geht, oder einen Aussetzer hat, gehen die gerade gesendeten Befehle verloren oder?
Wäre es möglich eine Warteschlange einzubauen, damit die Befehle erst gesendet werden wenn das Device wieder da ist?
Und eine Bestätigung der App das der Befehl angekommen ist - und wenn keine Bestätigung kommt, den Befehl nochmal senden, solange, bis die Bestätigung gekommen ist?

Oder ist soetwas schon eingebaut?
Möchte gerne alle versäumten Ereignisse mitbekommen, wenn zum  Beispiel das Haus abgebrannt ist, während ich in einem Funkloch war :-)
Ist doch beruhigend, wenn man wieder Empfang hat, weil man sich selbst aus der Lawine befreien konnte und das Handy fröhlich losplappert: Rauchmelder im Wohnzimmer hat alarm gemeldet, alle Geräte im Haus sind nicht mehr erreichbar.
:-)

Dirk

Ich experimentiere damit grade ein bisschen.
Vermutlich wird es auf ein paar neue Settings im Einstellungsmenü dafür geben.

Lokale Audiodateien lassen sich derzeit übrigens so abspielen:set <name> audioPlay file:///path/zur/audioDatei/auf/dem/handy

# Und hier ein Beispiel:
set androidTablet audioPlay file:///mnt/sdcard/Music/MP3/Enigma 3/04 - Beyond The Invisible.mp3

Medienliste müste ich mal gucken bei man da Zugriff bekommt.

Gruß
Dirk

Dirk

Zitat von: Martin Thomas Schrott schrieb am So, 03 Februar 2013 14:06wenn das Android device offline geht, oder einen Aussetzer hat, gehen die gerade gesendeten Befehle verloren oder?
Das ist korrekt. Da die APP universell verwendbar sein soll, geschieht die Kommunikation zwischen FHEM und der APP derzeit per AJAX-Longpoll  

ZitatWäre es möglich eine Warteschlange einzubauen, damit die Befehle erst gesendet werden wenn das Device wieder da ist?
Eine "Command-Queue" steht hier schon auf der Liste. Über die Details bin ich mir noch nicht ganz klar.

ZitatUnd eine Bestätigung der App das der Befehl angekommen ist - und wenn keine Bestätigung kommt, den Befehl nochmal senden, solange, bis die Bestätigung gekommen ist?
Ja, aber vor allem wenn die APP mobil benutzt wird und nicht immer online ist, macht unkontrolliertes Wiederholen sicher keinen Sinn. Da muss man sich noch was sinnvolles überlegen. Vermutlich werde ich zunächst einen "Alive-Status" einführen, dann kann man vor dem Senden prüfen ob das Gerät verfügbar ist.

Bin auch am überlegen ob man die ankommende Kommunikation ggf. über Google Cloud Messaging machen kann. Mal sehen. Ich denke da sind noch viel mehr Ideen. Es gibt also noch recht viel zu tun :)

ZitatMöchte gerne alle versäumten Ereignisse mitbekommen, wenn zum  Beispiel das Haus abgebrannt ist, während ich in einem Funkloch war :-)
Na hoffentlich läuft der Server dann noch :)

Gruß
Dirk

Martin Thomas Schrott

Danke Dirk!

Ja der Server läuft dann sicher noch, denn der ist nicht im Haus sondern extern *lach* So ein Glück aber auch oder? :-)

Ja, alive abfragen ist eine gute Idee und die queue dazu, die so lange wartet bis alive gesehen wird. Dann ist das mit dem Wiederholen auch nicht mehr so wichtig, wenn auch in manchen Fällen vielleicht noch notwendig.
Aber wenn mal alive und die queue funktionieren sollte man schon die meisten Aktionen empfangen.
Würde keine externen Dienste einbinden, wieder nur mehr Fehleranfälligkeit. Höchstens optional, optional ist ja alles immer gut. :-)

Wiederholung könnte so aussehen:
if alive, nachricht senden...
if xyz sek keine antwort obwohl alive, Nachricht wiederholen.
xyz Sek sollte in der app einstellbar sein.

Denke das sollte eine ausreichende konfiguration für ein Wiederholen sein. Viel besser wird man wohl kaum testen können, ob die NAchricht verloren gegangen ist oder nicht.


Könnten eigentlich noch andere events vom Handy abgefangen und an fhem getriggert werden? Licht und Beschleunigungssensor - Näherungssensor etc? Oder sogar eingehende Anrufe? Das wäre genial!
Der Gipfel wäre SMS Texte an FHEM zu triggern ;-)

So genug Wünsche...
Bin sicher du notierst ja alles und schaust was machbar ist. ;-)
Danke nochmal für die tolle app!
Martin

Dirk

ZitatKönnten eigentlich noch andere events vom Handy abgefangen und an fhem getriggert werden? Licht und Beschleunigungssensor - Näherungssensor etc? Oder sogar eingehende Anrufe? Das wäre genial!
Der Gipfel wäre SMS Texte an FHEM zu triggern ;-)
Das sollte alles Möglich sein. Location/Gps währ noch eine Idee. Z.b. zu schalten von Aktionen wenn das Handy an bestimmten Koordinaten ist. Das geht zwar alles auch mit Dritt-Apps ich habe aber auch lieber alles in einer APP.

Leider lässt Android derzeit von Haus aus keine selektive Berechtigungsauswahl beim installieren von APPs zu. Gerade für die Auswertung von SMS und Anrufen muss man die APP-Berechtigungen entsprechend weitgehend anfordern. Zumindest ich bringe, APPs die zu viele Rechte wollen, erstmal etwas Misstrauen entgegen.
Ich nehme das aber auf alle Fälle mit auf die Liste.

Gruß
Dirk