FHEMswitch - Android Widgets

Begonnen von Werner Schäffer, 01 Mai 2015, 18:08:09

Vorheriges Thema - Nächstes Thema

Werner Schäffer

In deinem ersten Log wurde eine Abruch der telnet-Verbindung dokumentiert,
in deinem nächsten log war dies nicht mehr der Fall

verwuch mal dieser Diskrepanz auf den Grund zu gehen.

... und Android x.y spielt für fhem.js überhaupt keine Rolle

Credo

Ich habe nachher einfach eine alte Sicherung der fhem.cfg wiederhergestellt.

Danach ist mir dann der Beitrag bezüglich Android 9 ins Auge gefallen.
Daraufhin habe ich dann ein anderes Gerät ausprobiert und es funktionierte.

Leider kann ich das nicht mehr im Detail rekonstruieren.  :-\

MichaelT

Bei mir war es auch so, Umstellung auf Android 9. Geht nicht mehr.
Gruß michael
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

Werner Schäffer

es wäre schön wenn du beschreiben könntest was "es geht nicht mehr" im Detail bedeutet.

Ich habe kein Android 9 Gerät zur Hand und kann da nichts testen. Zudem habe ich gerade nicht die Muße mich mit diesem Problem zu beschäftigen, da ich anderweitig ziemlich eingespannt bin.

Zum Hintergrund:

fhemSwitch ist ja ein Widget, dass permanent aktiv ist, da es auf Befehle wartet und auf Statusänderungen reagieren muss. Mit jeder neuen Android Version werden die Möglichkeiten solcher interaktiven Widgets immer weiter eingeschränkt und man muss bei jeder Version immer wieder etwas drehen, damit sie noch funktionieren. Warum von Google dies gemacht wird hat meiner Ansicht nach zwei Gründe (es gibt sicher noch viel mehr):



  • nachvollziehbar - es wurde damit Schindluder getrieben von dubiosen Apps
  • Marketingsprech - "durch Optimierungen in blabla haben wir eine deutlich längere Akkulaufzeit erreicht" - eine Optimierung die teils auf Kosten interaktiver Apps geht, die eben permanent Strom verbrauchen, manche mehr, manche weniger, aber eben ständig. Also werden von Release zu Release immer mehr Hürden in den Weg gelegt um diese "Stromfresser" zu eliminieren



Credo

Bei mir wurde beim starten von fhemswitch unter WLan "Null" angezeigt. Ich konnte mich daraufhin nicht mit fhem verbinden. (Fehlermeldung, ist der Server online etc.)

Werner Schäffer

Für alle die Probleme haben mit Android 9 und fhemSwitch:

kann jemand mal genauer beschreiben, was "geht nicht" bedeutet?


MichaelT

Hallo Werner,
ich versuche dir genauere infos zu geben. Melde mich am Donnerstag da ich aktuell unterwegs bin.
Habe ich debugausgaben im smartphone?
Bis dann
Michael
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

MichaelT

Hallo Werner,

kurze Rückmeldung:

Aktuell in Betrieb
- S7 Android 8.0.0
- S8 Android 9.0.0

Wenn ich mit dem S7 Verbindung aufbaue, funktioniert alles:
03.05.2019 09:44:07 client connected: Widget, SM-G930F, Android 8.0.0, App 4.1.1
03.05.2019 09:44:07 emit authenticated cause no auth needed
03.05.2019 09:44:08 get value for EG_KUE_LaSchr
03.05.2019 09:44:08 [object Object]
03.05.2019 09:44:08 request for getValueOnChange EG_KUE_LaSchr


Wenn ich mit dem S8 eine Verbindung aufbaue, sehe ich im Log keinerlei Ausgaben! FHEMswitch sagt sofort

Es ist ein Fehler aufgetreten
Keine Verbindung zum fehm.js Server möglich:
....


Die Verbindungseinstellungen sind bei beiden Geräten gleich.
Deshalb meine Frage, kann ich in FHEMswitch etwas debuggen?


Gruß
Michael

Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

Werner Schäffer

#293
Danke für diese Beschreibung der Probleme. Aber da habe ich gleich noch Fragen dazu:

- das tritt auf wenn du die Konfiguration startest, deine Zugangsdaten eingibst und dann auf "FHEM einlesen" klickst?
- was steht da bei "augenblickliches WLAN ..." auf dem Konfigschirm?
- hast du in den Einstellungen "Standort" deaktiviert. Wenn ja, dann aktivier das mal und ruf FHEMswitch neu auf (also vorher beenden)

Zu deiner Frage wegen debugging:

- es gibt Abbruchmeldungen, die automatisch erzeugt werden und für den Owner der App einsehbar sind. Man sieht dort die Java-Fehlermeldung, die Version von Android und App und auch das Modell des Gerätes auf dem dies passiert ist. (Google Datenkrake gibt auch ausgewählte Infos an die App-Owner weiter). Nur das von dir beschriebene Problem ist kein Abbruch, sondern ... was auch immer. Deshalb steht da nichts.

- natürlich gibt es auch sehr professionelle Möglichkeiten des Debuggings. Dazu braucht man aber physischen Zugang zu einem Gerät, das mit Kabel an eine Rechner angeschlossen ist, auf dem Android Studio, die Entwicklungsumgebung für Android, installiert ist und man braucht den Sourcecode einschließlich der krypto-Signaturen für diese App.  (Vermutlich gibt es auch noch irgendewelche Hackerlösungen oder was auch immer was mir nicht bekannt ist)

- es gibt in Android Studio auch Emulatoren für alle möglichen Geräte und Android Versionen mit denen man auch Android 9 testen könnte. Aber erstens ist das meist ein Performance-Alptraum und zweitens funktionieren die, zumindest nach meinem letzen Wissensstand, nur auf Intel-Prozessoren und nicht auf AMD-Prozessoren. Mein Arbeitsrechner hat nun mal AMD. Ich habe auch noch ein Notebook mit Intel, aber bis das Android-Debug fähig wäre, vergeht mindestens ein Tag.  Zur Zeit gibt es diesen Tag nicht.



MichaelT

Zitat von: Werner Schäffer am 03 Mai 2019, 20:12:47
- das tritt auf wenn du die Konfiguration startest, deine Zugangsdaten eingibst und dann auf "FHEM einlesen" klickst?
- was steht da bei "augenblickliches WLAN ..." auf dem Konfigschirm?
- hast du in den Einstellungen "Standort" deaktiviert. Wenn ja, dann aktivier das mal und ruf FHEMswitch neu auf (also vorher beenden)


  • Ja, es kommt sofort wenn ich ein Widget platzieren will und die Verbindung konfigurieren muss.
  • Hier steht tatsächlich (null), ist mir nicht aufgefallen.
  • Standort ist aktiv! Habe mal nach weiteren Berechtigungen geschaut, sind aber keine außer "Speicher" notwendig. Unter "Standort/App-Berechtigungen/Standort" sieht man kein FHEMswitch (ggf. weil es ein widget ist)

Mit dem Debugging meinte ich nicht so hochkompliziert, sondern ggf. ein Logfile ähnlich fhem.js mit debug=2.

Gruß und danke für die schnelle Reaktion
Michael


Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

Werner Schäffer

Danke für die Infos - es ist jetzt klar dass FHEMswitch keinen Zugang zu den WLAN-Infos bekommt. Diese Null wurde auch schon von Credo gemeldet, das bietet mir zumindest einen Ansatzpunkt für die Problemlösung.

Tueftler1983

Hallo,
Heute Nacht Update auf Android 9 erhalten seid dem mit dem Huawei mate 20 Lite keine Verbindung zum FHEM.switch Server mehr möglich.

Werner Schäffer

Bei Android 9 muss für den Zugriff auf WLAN-Infos (fhemswitch benötigt die) das Rechte Standortabfrage aktiviert sein. Unter Einstellungen -> Sicherheit -> Standort muss dies generell aktiviert sein und unter Umständen auch nochmals unter Berechtigungen für fhemswitch direkt nochmals aktivieren.

Tueftler1983

Hallo Werner,
Der generelle Standort Zugriff ist aktiviert, in der Liste der Apps die darauf zugreifen ist FhemSwitch nicht aufgeführt.

Auch wenn ich in Einstellungen/Apps/Apps/FhemSwitch/Berechtigungen gucke wird da nichts angezeigt von Standortabfrage oder so auch wenn ich in weitere Berechtigungen gucke nicht. Siehe Screenshots.

Was kann ich noch tun?

Werner Schäffer

Ich habe ja leider nur ein Android 8. Dort gibt es unter
Konfiguration -> Apps & Benschrichtigungen -> Berechtigungen
eine Liste in der auch Standort steht. Klickt man da drauf kann man einzelene Apss zuweisen.