FHEM Forum

FHEM => Mobile Devices => Thema gestartet von: the ratman am 10 Mai 2017, 10:32:30

Titel: [fully - android browser] text von handys/tablets versenden
Beitrag von: the ratman am 10 Mai 2017, 10:32:30
hiho,

ich frage mich, ob das problem schon wer gelöst hat:
ich habe ein textfeld in einem doif, das den eingegebenen text an div. wlan-boxen versendet. das funzt soweit wunderbar.
allerdings passiert nach der texteingabe und dem absenden von nem androidhandy/tablet 0. das doif kriegt den text nicht mit.
teste ich das ganze vom pc aus und/oder per teamviewer ist das versenden kein problem.
irgendwie scheint mir da die android-tastatur (getestet mit orig. google, samsung und ner kauftastatur) schuld zu sein.

kennt das wer, gibts da ne lösung?

nachtrag:
ha! es liegt am browser - mit dem android-firefox gehts mit fully leider nicht
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: aloz77 am 11 Mai 2017, 10:42:19
Bei allen Web-Problemen in Fully stellen sich die gleichen Fragen (da Fully hier eigentlich nur die Android Webview nutzt und kaum etwas beeinflussen kann):

Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: the ratman am 11 Mai 2017, 10:59:57
alle geräte am neuesten stand, keines unter android 5 - alle bis auf 1 tablet originale os.
webview natürlich auch aktuell

fully --> geht nicht
crome --> geht nicht
firefox --> geht

gut, firefox bringt ja ne eig. engine mit, somit wirds wohl am webview liegen, nehm ich mal aufgrund deiner infos an.
sehr ärgerlich ...
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: aloz77 am 11 Mai 2017, 19:43:48
Dann ist das Bild eindeutig. Der HTML/JS-Code ist nicht mit Chromium, wie es in Webview und in Chrome zum Einsatz kommt, kompatibel. Frag die Entwickler des Moduls, ob sie das nicht fixen wollen.
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: the ratman am 11 Mai 2017, 19:50:36
o.k.
das wäre in dem fall dann wohl damian mit seinem doif.
der arme verflucht mich sicher schon *g*
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: Per am 12 Mai 2017, 11:44:25
Zitat von: aloz77 am 11 Mai 2017, 19:43:48Der HTML/JS-Code ist nicht mit Chromium [...] kompatibel.
Zitat von: the ratman am 11 Mai 2017, 19:50:36das wäre in dem fall dann wohl damian mit seinem doif.
DOIF ist Perl, nix HTML/JS. Da hast du wohl das falsche Modul erwischt.
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: rudolfkoenig am 12 Mai 2017, 11:55:22
Was genau heisst:
Zitatdas den eingegebenen text an div. wlan-boxen versendet.
Kannst du das bitte genauer beschreiben _und_ die Stelle auf einem Screenshot zeigen?
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: the ratman am 12 Mai 2017, 12:19:59
ich poste mal los:

das ist mal das (funktionierende) doif:Internals:
   DEF        ([Durchsage_miniLaerm:Text] ne "eingeben")

(
setreading Durchsage_Container cstate [DLNA_d5a619f4804c:state];
setreading Durchsage_Container stream [DLNA_d5a619f4804c:stream];
set DLNA_d5a619f4804c speak "[Durchsage_miniLaerm:Text]"
)
(
IF ([Durchsage_Container:cstate] eq "playing") (set DLNA_d5a619f4804c stream [Durchsage_Container:stream]) ELSE (set DLNA_d5a619f4804c stop);
setreading Durchsage_miniLaerm Text eingeben;
)

DOELSE
   NAME       Durchsage_miniLaerm
   NR         261
   NTFY_ORDER 50-Durchsage_miniLaerm
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2017-05-12 11:06:30   Device          Durchsage_miniLaerm
     2017-05-12 11:06:45   Text            eingeben
     2017-05-12 11:06:45   cmd             1.2
     2017-05-12 11:06:45   cmd_event       Durchsage_miniLaerm
     2017-05-12 11:06:45   cmd_nr          1
     2017-05-12 11:06:45   cmd_seqnr       2
     2017-05-12 11:06:30   e_Durchsage_miniLaerm_Text achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad
     2017-05-12 11:06:45   state           cmd_1
     2017-05-05 11:58:25   text            eingeben
     2017-05-12 11:06:45   wait_timer      no timer
   Condition:
     0          ReadingValDoIf($hash,'Durchsage_miniLaerm','Text') ne "eingeben"
   Devices:
     0           Durchsage_miniLaerm
     all         Durchsage_miniLaerm
   Do:
     0:
       0           setreading Durchsage_Container cstate [DLNA_d5a619f4804c:state]; setreading Durchsage_Container stream [DLNA_d5a619f4804c:stream]; set DLNA_d5a619f4804c speak "[Durchsage_miniLaerm:Text]"
       1           IF ([Durchsage_Container:cstate] eq "playing") (set DLNA_d5a619f4804c stream [Durchsage_Container:stream]) ELSE (set DLNA_d5a619f4804c stop); setreading Durchsage_miniLaerm Text eingeben;
     1:
       0
   Helper:
     event      Text: achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad,Device: Durchsage_miniLaerm,e_Durchsage_miniLaerm_Text: achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad
     globalinit 1
     last_timer 0
     sleepdevice Durchsage_miniLaerm
     sleepsubtimer -1
     sleeptimer -1
     timerdev   Durchsage_miniLaerm
     timerevent Text: achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad,Device: Durchsage_miniLaerm,e_Durchsage_miniLaerm_Text: achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad
     triggerDev Durchsage_miniLaerm
     timerevents:
       Text: achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad
       Device: Durchsage_miniLaerm
       e_Durchsage_miniLaerm_Text: achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad
       cmd_nr: 1
       cmd_seqnr: 1
       cmd: 1.1
       cmd_event: Durchsage_miniLaerm
       cmd_1_1
       wait_timer: 12.05.2017 11:06:45 cmd_1_2 Durchsage_miniLaerm
     timereventsState:
       Text: achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad
       Device: Durchsage_miniLaerm
       e_Durchsage_miniLaerm_Text: achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad
       cmd_nr: 1
       cmd_seqnr: 1
       cmd: 1.1
       cmd_event: Durchsage_miniLaerm
       cmd_1_1
       wait_timer: 12.05.2017 11:06:45 cmd_1_2 Durchsage_miniLaerm
     triggerEvents:
       Text: achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad
       Device: Durchsage_miniLaerm
       e_Durchsage_miniLaerm_Text: achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad
       cmd_nr: 1
       cmd_seqnr: 1
       cmd: 1.1
       cmd_event: Durchsage_miniLaerm
       cmd_1_1
       wait_timer: 12.05.2017 11:06:45 cmd_1_2 Durchsage_miniLaerm
     triggerEventsState:
       Text: achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad
       Device: Durchsage_miniLaerm
       e_Durchsage_miniLaerm_Text: achtung hausinformation - die temperatur im treibhaus stieg ueber 35 grad
       cmd_nr: 1
       cmd_seqnr: 1
       cmd: 1.1
       cmd_event: Durchsage_miniLaerm
       cmd_1_1
       wait_timer: 12.05.2017 11:06:45 cmd_1_2 Durchsage_miniLaerm
   Internals:
   Itimer:
   Readings:
     0           Durchsage_miniLaerm:Text
     all         Durchsage_miniLaerm:Text
   Regexp:
     0:
     All:
   State:
     State:
   Trigger:
Attributes:
   DbLogExclude .*
   do         always
   fp_Quer    596,1207,7,Durchsage_miniLaerm,
   fp_ratPlan_Handy2 1701,10,7,Durchsage_miniLaerm,
   group      Helferchen
   icon       helper_doif
   readingList Text
   room       MultiMedia
   setList    Text:textField
   wait       0,15
   webCmd     Text
es gibt also einfach ein textfeld, dass in dem fall wie im anhang aussieht. dieses textfeld funzt auch wunderbar auch am floorplan - nur halt nicht unter android mit meinem geliebten fully browser und, wie getestet, auch nicht unter crome. generell gehts aber auch unter android - weil der firefox gibt brav den eingegeben text weiter.
was dann passiert ist simpel: das doif schaut, was gerade am laufen ist, speichert ein paar parameter in nen dummy, spielt den text als tts an die gewünschte box und stellt dann wieder per dummy den alten zustand in meinen wlan-boxen her.
was das problem angeht: aloz77 wird sicher recht haben, dass googles webview sch(uld/eiße) ist.
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: aloz77 am 12 Mai 2017, 21:19:13
Zitat von: Per am 12 Mai 2017, 11:44:25
DOIF ist Perl, nix HTML/JS. Da hast du wohl das falsche Modul erwischt.

Mag sein, dass DOIF Perl ist. Nur Perl an sich verursacht keine solchen Browser-Inkompatibilitäten. Das tut meistens HTML/JS, welches von irgendwo generiert kommt.
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: aloz77 am 12 Mai 2017, 21:26:42
Zitat von: the ratman am 12 Mai 2017, 12:19:59
was das problem angeht: aloz77 wird sicher recht haben, dass googles webview sch(uld/eiße) ist.

Das würde ich nicht unterschreiben. Blink/Chromium ist eine schnelle und solide Webengine. Probleme solcher Art, dass irgendwas in Firefox funktioniert und in Chrome oder Android Webview nicht, sind eher sehr selten bei gepflegten Webseiten.
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: Per am 12 Mai 2017, 21:35:56
Zitat von: aloz77 am 12 Mai 2017, 21:19:13
Mag sein, dass DOIF Perl ist. Nur Perl an sich verursacht keine solchen Browser-Inkompatibilitäten. Das tut meistens HTML/JS, welches von irgendwo generiert kommt.
Eben.
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: the ratman am 12 Mai 2017, 22:13:09
ich will ja ned nerven - aber was tu ich jetzt?
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: fiedel am 13 Mai 2017, 09:57:24
Wenn ich an solche Grenzen stoße (meistens eher vorher) fange ich an zu experimentieren: DOIF nutze ich not at all  ;) also entweder mal mit Notify, Dummy usw. das Ganze neu aufbauen, oder das Absetzten der Nachrichten direkt aus der Befehlszeile heraus (ohne Logik) versuchen. Am Ende solltest du herausbekommen haben, an welcher Übergabestelle es genau hängt. Dann hast du entweder die Lösung schon selbst gefunden, oder weißt nun genau wen du rattig machen musst...  ;D
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: the ratman am 13 Mai 2017, 10:22:59
ja, da soße ich an meine grenzen *g*

dummy ist das selbe problem - ich würd also mal sagen: problem nr. 1: textfeld (in egal was) in verbindung mit fully und anderen browsern, die webview nutzen.
das doif hatte ich auch schon mal rausgenommen, wäre aber egal, weil ohne das ganze wenig sinn macht. ich nutze das auch für automatisierte durchsagen und der WAF sagt: wenn nach z.b. durchsagen nicht wieder genau ihre musik kommt, ist der beitragsersteller in großer todesgefahr *g*.

schuld wäre in meinen augen also google - ich glaube aber, die hören eher auf nen sack reis, als mich.
drum hoffte ich eig. auch auf den ersteller von fully, vor allem schon deswegen, weil der mann sich als extrem flott und einfallsreich erwiesen hat, wenns um probleme ging ...
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: rudolfkoenig am 14 Mai 2017, 22:00:32
Zitatja, da soße ich an meine grenzen *g*
Ich habe auch keine Soße, wie ich das loesen soll.

Uebrigens ist auch der "normale" Chrome davon betroffen. Das <input> Tag wird bei einem textField von fhemweb-eigenen JavaScript generiert, es sitzt in einem <form>, fuer mich schaut alles richtig aus.
Ich habe die Vermutung, dass WebKit das Return in einem dynamisch erzeugten <input> innerhalb eines Forms nicht beruecksichtigt. Falls jemand eine Idee fuer eine Loesung hat, her damit.
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: the ratman am 15 Mai 2017, 08:14:09
könnte man die soße nicht zum probieren mal mit nem sende-button versehen, sobald ein bestimmter browser erkannt wird?
also so richtig oldschool ... dann könnts ja nur mehr am javascript liegen, sollte das funzen.
Titel: Antw:[fully - android browser] text von handys/tablets versenden
Beitrag von: aloz77 am 23 Mai 2017, 16:45:00
Zitat von: the ratman am 13 Mai 2017, 10:22:59
drum hoffte ich eig. auch auf den ersteller von fully, vor allem schon deswegen, weil der mann sich als extrem flott und einfallsreich erwiesen hat, wenns um probleme ging ...

Da muss ich leider enttäuschen. Solche Sachen sind in der Webview vergraben, da hat Fully nichts zu sagen.