Neue Fullscreen Browser APP für Android (WebViewControl)

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

Vorheriges Thema - Nächstes Thema

Phil__

ZitatZitat von: Phil__ am Heute um 11:24:39
Habe aber immer noch das Problem das sich die APP nach einer gewissen Zeit selbst beendet, Display bleibt an.
Hat das noch wer?
Nutz du ausschließlich longpoll?
Der Android-Browser und auch der Webview hat hier ein Speicherproblem, so dass durch ein ausschließliches Nachladen von Daten per Longpoll die App dann irgendwann beendet wird.
Workaround:
Den Reresh von FHEM setzen. 10 min. oder so. Ggf. auch länger.

Was meinst du mit Longpol und wie stelle ich das ein?
Bitte entschuldige meine Unwissenheit...

Wie setze ich den Refresh von Fhem?

Viele Grüsse
Server: Intel DH77EB + Core i3-2120 mit Ubuntu Server 14.04
Backup: Beaglebone Black
Homematic: HM-LAN-Adapter, HM-CC-RT-DN, HM-CC-TC, HM-LC-SW1-PL2, HM-SEC-RHS, HM-SEC-SC, HM-TC-IT-WM-W-EU, HM-WDS10-TH-O
Weitere: Denon-AVR, PhilipsTV, PhilipsHue, Raspi+XBMC
Nexus 7 (WebViewControl + FTUI)

Dirk

Zitat von: aeronaut am 18 April 2014, 13:29:57
Ja, gerootet mit 4.3.1 (Cyanogen 10.2.0).
Das könnte es sein.
Zumindest alle meine ungerooteten Geräte akzeptieren keine selbst erstellten Zertifikate im Webview

ZitatIst der Quellcode für die App auch verfügbar?
Aktuell nicht.

Zitat von: Phil__ am 18 April 2014, 13:36:09
Was meinst du mit Longpol und wie stelle ich das ein?
Schau mal in deine FHEM-Konfiguration nach FHEMWEB
http://fhem.de/commandref_DE.html#longpoll
http://fhem.de/commandref_DE.html#refresh

Gruß
Dirk

Phil__

#572
Zitat von: Dirk am 18 April 2014, 13:39:10
Schau mal in deine FHEM-Konfiguration nach FHEMWEB
http://fhem.de/commandref_DE.html#longpoll
http://fhem.de/commandref_DE.html#refresh

Gruß
Dirk

define WEB FHEMWEB 8083 global
attr WEB HTTPS 1
attr WEB hiddenroom DashboardRoom
attr WEB iconPath default:fhemSVG:openautomation

define WEBphone FHEMWEB 8084 global
attr WEBphone HTTPS 1
attr WEBphone hiddenroom DashboardRoom
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet HTTPS 1
attr WEBtablet hiddenroom DashboardRoom
attr WEBtablet stylesheetPrefix ios7


Das ist meine FHEMWEB Konfiguration.
Habe das jetzt so versanden das durch ein ausschließliches laden durch Longpoll der Fehler auftritt und man zwischendurch zB. alle 10 min ein refresh einbauen soll um den Fehler zu beheben?
Was muss ich da eintragen?
zB.:
attr WEB refresh 10
Server: Intel DH77EB + Core i3-2120 mit Ubuntu Server 14.04
Backup: Beaglebone Black
Homematic: HM-LAN-Adapter, HM-CC-RT-DN, HM-CC-TC, HM-LC-SW1-PL2, HM-SEC-RHS, HM-SEC-SC, HM-TC-IT-WM-W-EU, HM-WDS10-TH-O
Weitere: Denon-AVR, PhilipsTV, PhilipsHue, Raspi+XBMC
Nexus 7 (WebViewControl + FTUI)

Dirk

Zitat von: Phil__ am 18 April 2014, 13:51:51
Das ist meine FHEMWEB Konfiguration, was muss ich da machen?

Longpoll ist standartmäßig aktiviert.
Füge das mal noch ein

attr WEBtablet refresh 600

Das sorgt dafür dass die aktuelle FHEM-Seite nach 600 Sekunden neu geladen wird.
Die Zeit kannst du ggf. erhöhen. Das musst du ausprobieren.

ext23

ZitatWenn du das "richtige" Sleep benutzt, dann blockiert das auch nicht.

Mhh doch den Ablauf meines Notify ;-) Aber das sleep hilft auch nicht. Ich habe das auf 4 Sekunden und trotzdem sagt der nichts, ich sehe es jetzt nur im state das er es zumindest versucht hat zu sagen ... Und jetzt 7 Sekunden zu warten ist nicht der Hit.

Ich werde das so umbauen das der Sprachtext zusammengebaut wird und dann in einem Zug der ganze Satz gesprochen wird. Ist nur blöd das ich das dann erst am Ende machen kann und die Sprachausgabe ja auch ein paar Sekunden auf sich warten lässt bis es los geht.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Phil__

Zitat von: Dirk am 18 April 2014, 13:56:57
Longpoll ist standartmäßig aktiviert.
Füge das mal noch ein

attr WEBtablet refresh 600

Das sorgt dafür dass die aktuelle FHEM-Seite nach 600 Sekunden neu geladen wird.
Die Zeit kannst du ggf. erhöhen. Das musst du ausprobieren.

Super, das hat geholfen! Läuft jetzt seit 45 min.... Danke!

Gesendet von meinem Nexus 5 mit Tapatalk

Server: Intel DH77EB + Core i3-2120 mit Ubuntu Server 14.04
Backup: Beaglebone Black
Homematic: HM-LAN-Adapter, HM-CC-RT-DN, HM-CC-TC, HM-LC-SW1-PL2, HM-SEC-RHS, HM-SEC-SC, HM-TC-IT-WM-W-EU, HM-WDS10-TH-O
Weitere: Denon-AVR, PhilipsTV, PhilipsHue, Raspi+XBMC
Nexus 7 (WebViewControl + FTUI)

AHA1805

#576
Hallo Dirk,

habe gerade in einem anderen Thread gepostet http://forum.fhem.de/index.php/topic,20444.msg161073.html#msg161073

Wenn ich
define webviewnote webViewControl 12345
definiere funktioniert mein
codemirror Editor nicht mehr.

Kennst Du das Problem, bzw. wie kann das zusammenhängen?
Beißt sich deine Javascript Implementierung mit dem des codemirror ?
Auszug aus dem Commandref
JavaScripts
Leerzeichen getrennte Liste von JavaScript Dateien, die geladen werden. Die Dateinamen sind relativ zum www Verzeichnis anzugeben.
Für jede Datei wird ein zusätzliches Attribut angelegt, damit der Benutzer dem Skript Parameter weiterreichen kann.
Bei diesem Attributnamen werden Verzeichnisname und fhem_ Präfix entfernt und Param als Suffix hinzugefügt. Beispiel:
    attr WEB JavaScripts codemirror/fhem_codemirror.js
    attr WEB codemirrorParam { "theme":"blackboard", "lineNumbers":true }


Vielleicht könntest du bitte mal darüber schauen ich verstehe leider von Javascript nicht so viel.
Gruß und Danke
Hannes
AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

yogiflop

Zitat von: Dirk am 04 Juni 2013, 18:54:51
Hi Tobias,

die Info hab ich vorhin tatsächlich unterschlagen.
Die App erzeugt für alle angebotenen Ereignisse entsprechende Events im Javascript. Also auch z.B. bei Änderung des Batteriestatus. Die entsprechende Javascript-Funktion setzt dann per Ajax einen Call zu FHEMWEB ab, der dann ausgewertet wird und in einem entsprechenden Reading mit FHEM-Event endet.

Gruß
Dirk

Hallo Dirk,

ich hätte genau dazu auch eine Frage und habe in der Suche nichts gefunden.
ich habe sowohl in FHEM als auch in WVC die ID definiert etc. nun möchte ich aber, das der Powerstate auch an FHEM übermittelt wird, wenn ich eine andere Webseite damit anzeige. Die Standardseite bei mir ist ein normale Webseite von der aus ich zu bestimmten Seite weiterklicken kann, unter anderem auch zum Dashboard von FHEM. Da wird mir dann auch direkt der PowerState angezeigt, gehe ich wieder zurück oder auf eine andere Seite, bleibt der letzte Status bestehen und wird nicht mehr aktualisiert.

Es geht darum, dass das Netzteil in Abhängigkeit des PowerState geschaltet wird.

gruß
Marc

CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

Thomas_Homepilot

Hallo Dirk,

ich würde mir auch eine Funktion unabhängig von der angezeigten Webseite wünschen. Eventuell ist es aber mit wenig Aufwand möglich, die Funktion (bzw. Kommunikation mit FHEM) sicherzustellen, wenn die FHEM-Seite in einem Frame eines Framsets ähnlich http://www.fhemwiki.de/wiki/Grundriss_mit_fhem-buttons aufgerufen wird. Dann könnte man diesen Frame bis zur Unsichtbarkeit verkleinern und hätte so die Verbindung zu FHEM aufrecht erhalten.
Leider findet jedoch keine Kommunikation zwischen APP und FHEM statt, wenn die FHEM-Seite in einem Frame (beliebiger Größe) aufgerufen wird, und das, obwohl Longpoll einwandfrei funktioniert.

Gruß
Thomas
Rock64, RasPi mit AddOn-Board
Devices: Homematic, LaCrosse, SMLUSB, OneWire, Viessmann, Dect200, ZWave, PCA301, Zigbee

Dirk

Zitat von: AHA1805 am 21 April 2014, 01:38:17
Wenn ich
define webviewnote webViewControl 12345
definiere funktioniert mein
codemirror Editor nicht mehr.

Kennst Du das Problem, bzw. wie kann das zusammenhängen?
Noch nicht, muss ich mir mal ansehen was da kollidiert.

@yogiflop und @Thomas_Homepilot,
Die Kommunikation der App mit FHEM oder auch anderen Webservices geschieht derzeit ausschließlich über den Webview. Also die aktuelle angezeigte Webseite.
Alle Events wie auch Batteriestatus können per Javascript ausgewertet werden.
Somit muss in euren Seiten "nur" ein entsprechendes Javascript eingebaut werden was die Events verarbeitet und dann an FHEM z.B. per AJAX weiterleitet.

In einer späteren Version werde ich einen zusätzlichen Kommunikationskanal einbauen, der auch ohne den Webview funktioniert.

Gruß
Dirk

yogiflop

Zitat von: Dirk am 22 April 2014, 16:51:59
Noch nicht, muss ich mir mal ansehen was da kollidiert.

@yogiflop und @Thomas_Homepilot,
Die Kommunikation der App mit FHEM oder auch anderen Webservices geschieht derzeit ausschließlich über den Webview. Also die aktuelle angezeigte Webseite.
Alle Events wie auch Batteriestatus können per Javascript ausgewertet werden.
Somit muss in euren Seiten "nur" ein entsprechendes Javascript eingebaut werden was die Events verarbeitet und dann an FHEM z.B. per AJAX weiterleitet.

In einer späteren Version werde ich einen zusätzlichen Kommunikationskanal einbauen, der auch ohne den Webview funktioniert.

Gruß
Dirk


Du hast Ers mit "nur" glaube ich schon sehr treffend formuliert. Wie aufwendig ist es für jemanden so etwas einzurichten ?? Ich bin wohl in der Lage ein Script einzufügen, habe allerdings keinerlei Ahnung wie ich da anfangen muss.

gruß
Marc
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

AHA1805

Zitat von: Dirk am 22 April 2014, 16:51:59
Noch nicht, muss ich mir mal ansehen was da kollidiert.

Hallo Dirk

Danke schon mal, dass du dich dem Thema annehmen willst.
Der Browser ist wirklich spitze.

Gruß Hannes

Gesendet von Unterwegs mit Tapatalk 4

AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

Gunther

#582
EDIT: Habe eine andere App getestet und mein Tablet verhält sich leider genauso. Mist!

EDIT 2: Habe nun in diesem Browser hier den initial Zoom auf 100 gestellt und im Standard-Browser unter den Browser Settings "Open pages in Overview" ausgestellt. Nun klappt es!

Hallo Dirk,

ich habe mir Deinen Browser runtergeladen, da ich über folgenden Thread darauf aufmerksam geworden bin:
http://forum.fhem.de/index.php/topic,21846.msg159025.html

Ich habe nun einige Zeit gesessen um mir ein Frondend für FHEM zu basteln. Ganz einfach mit HTML. Die Raumsituation sieht kann in der angehängten ZIP-Struktur angeschaut werden.

Nun habe ich folgendes Problem:
Ich nutze ein Tablet von Denver mit 800x480 Pixel. Für diese habe ich mir die Maße meiner Buttons ausgerechnet. Da ich in der Breite 6 und in der Höhe 8 Buttons haben möchte, haben diese eine Größe von 133,33x55,25 Pixeln. Ich nutze *.svg-Dateien für die Buttons in meiner HTML-Struktur.

Wenn ich nun die Seite panel.html als Startseite öffne, wird diese auf dem Panel zu klein dargestellt. Erst nach dem Drehen des Pads in Hochkant und zurück in Quer sieht das gut aus.
EIn Klick auf einen Button lädt eine neue Seite und verkleinert wieder. Das ist natürlich nicht im Sinne des Erfinders.

Nun interessiert mich natürlich, ob das an meinem Tablet, an der App oder an der Seite liegt (was ich mir nicht vorstellen kann).

Wie verhält sich die Seite bei Euch?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

MaJu

@ext23 & Dirk:
Auch ich habe das Problem, dass bei mehreren kurz hintereinander geschickten Sprach-Ausgaben nur die erste ausgeführt wird. Mit "sleep" kann ich hier nicht arbeiten.

Der Einsatz: Im Flur hängt ein Tablet mit WebViewControl. Sobald die Wohnungstür aufgemacht wird, soll mittels notify geprüft werden, ob vergessen wurde Fenster zu schließen. Dies soll dann angesagt werden, so hört man die Info noch, bevor die Tür vollständig offen ist. Dabei soll aber auch das Zimmer genannt werden, in dem das Fenster offen ist. Bei einem offenen Fenster ist das super, es wird angesagt "Achtung! Fenster im Wohnzimmer ist noch offen". Aber sobald auch ein anderes Fenster geöffnet ist, wird beispielsweise die Ansage zum Schlafzimmerfenster von der App ignoriert.
Würde ich hier ein sleep vor die Ansagen setzen, würden sie erst losgehen wenn man die Wohnung schon fast verlassen hat. Auch würden sie dann wieder alle gleichzeitig starten und damit alle nach der ersten ignoriert.

Welche Möglichkeit gibt es, dass die ttsSay-Aufträge nacheinander abgearbeitet werden?
Erlebnisreiche Grüße aus Leipzig!

Dirk

Zitat von: MaJu am 23 April 2014, 23:52:03
Welche Möglichkeit gibt es, dass die ttsSay-Aufträge nacheinander abgearbeitet werden?
Außer ein Verzögern der Sprachausgaben mit einem Sleep aktuell wohl keine.
Ich habe hier aber mal ein neues Issue aufgemacht:
https://github.com/kc-GitHub/WebViewControl/issues/43

Ich werde für die Sprachausgabe eine Warteschlange einbauen. So dass alle abgeschickten Texte in einer Queue gesammelt werden und nach Beendigung der vorhergehenden Sprachausgabe abgespielt werden.

Gruß
Dirk