FHEMswitch - Android Widgets

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

Vorheriges Thema - Nächstes Thema

RockFan

Danke erstmal für die schnelle Rückmeldung.

Das Ergebnis der Abfrage ist:


root@bananapi ~ # apt-cache policy libc6
libc6:
  Installiert:           2.13-38+deb7u8
  Installationskandidat: 2.13-38+deb7u8
  Versionstabelle:
*** 2.13-38+deb7u8 0
        500 http://ftp.de.debian.org/debian/ wheezy/main armhf Packages
        500 http://security.debian.org/ wheezy/updates/main armhf Packages
        100 /var/lib/dpkg/status


Die Version ist dann wohl zu alt. Und nun?

Ich habe vorhin gesehen, dass es für Bananian mittlerweile eine 8er (Jessie) gibt. Soll ich das mal ausprobieren?
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

Werner Schäffer

Zitat von: RockFan am 09 Januar 2016, 19:17:36

Die Version ist dann wohl zu alt. Und nun?

Ich habe vorhin gesehen, dass es für Bananian mittlerweile eine 8er (Jessie) gibt. Soll ich das mal ausprobieren?

Ja mach das, das wollte ich auch vorschlagen. Als Anleitung schau z.B. hier:

https://www.canox.net/2015/03/pi-debian-wheezy-auf-jessie-aktualisieren/

Ich habe das auch schon gemacht und meine Banane hatte keine Probleme nach dem dist-upgrade.

Aber:
bei so einem dist-upgrade kann auch vieles schief gehen und manche Dinge funktionieren anschließend nicht mehr.
Du musst du selbst entscheiden ob du dieses Risiko eingehen willst.

Mein Empfehlung:

Versuchs

RockFan

Bin Deiner Empfehlung gefolgt. Das hat auch soweit ganz gut funktioniert. FHEM scheint auch wie vorher zu laufen. Das Versionsproblem mit libc6 hat sich auch gelöst.

Am Ziel bin ich aber noch nicht, denn es bleibt leider noch ein Versionsproblem mit libstdc++6:


root@bananapi ~ # apt-cache policy libc6
libc6:
  Installiert:           2.19-18+deb8u1
  Installationskandidat: 2.19-18+deb8u1
  Versionstabelle:
*** 2.19-18+deb8u1 0
        500 http://ftp.de.debian.org/debian/ jessie/main armhf Packages
        100 /var/lib/dpkg/status
root@bananapi ~ # apt-get install -y nodejs
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder Incoming noch nicht verlassen haben.
Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
nodejs : Hängt ab von: libstdc++6 (>= 5.2) aber 4.9.2-10 soll installiert werden
E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte Pakete.


Mit

apt-cache policy libstdc++6

komme ich zum Ergebnis

libstdc++6:
  Installiert:           4.9.2-10
  Installationskandidat: 4.9.2-10
  Versionstabelle:
*** 4.9.2-10 0
        500 http://ftp.de.debian.org/debian/ jessie/main armhf Packages
        100 /var/lib/dpkg/status


Wie bekomme ich nun diese Bibliothek noch auf die benötigte Version?
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

RockFan

Hallo nochmal  ;)

Ich bin mittlerweile auf einen Post hier im Forum gestoßen (http://forum.fhem.de/index.php/topic,32652.msg382408.html#msg382408), der mich tatsächlich über die grundlegende Installations- bzw. Versiondproblematik hinweggebracht hat  :)

Seltsamerweise landen bei mir aber alle Installationen über npm im Verzeichnis /root/local/lib/node_modules/. Somit kann ich aber immerhin node server.js im Verzeichnis /root/local/lib/node_modules/fhem.js ausführen.

Mein erster Versuch mit FHEMSwitch (auf einem LG G3 mit Lollipop) läd immerhin alle FHEM Komponenten in die Übersicht. Versuchsweise habe ich dann mal 2 Schalter angehakt und als Widget auf die Oberfläche gebracht. Diese werden auch angezeigt. Aber machen kann ich damit leider nichts. Ich bekomme aber auch eine Fehlermeldung in der Shell-Ausgabe:


root@bananapi ~/local/lib/node_modules/fhem.js # node server.js
17.01.2016 16:29:13 listen for http requests disabled
17.01.2016 16:29:13 Server started: without SSL
17.01.2016 16:29:13 start connection to fhem server
17.01.2016 16:29:13 connected to fhem server for listen on changed values
17.01.2016 16:29:35 client connected
17.01.2016 16:30:46 disconnected: client namespace disconnect
17.01.2016 16:31:21 client connected
17.01.2016 16:31:29 disconnected: client namespace disconnect
17.01.2016 16:31:34 client connected
Missing error handler on `socket`.
TypeError: socket.rooms.indexOf is not a function
    at Socket.<anonymous> (/root/local/lib/node_modules/fhem.js/server.js:138:23)
    at emitOne (events.js:77:13)
    at Socket.emit (events.js:169:7)
    at Socket.onevent (/root/local/lib/node_modules/fhem.js/node_modules/socket.io/lib/socket.js:335:8)
    at Socket.onpacket (/root/local/lib/node_modules/fhem.js/node_modules/socket.io/lib/socket.js:295:12)
    at Client.ondecoded (/root/local/lib/node_modules/fhem.js/node_modules/socket.io/lib/client.js:193:14)
    at Decoder.Emitter.emit (/root/local/lib/node_modules/fhem.js/node_modules/component-emitter/index.js:134:20)
    at Decoder.add (/root/local/lib/node_modules/fhem.js/node_modules/socket.io-parser/index.js:247:12)
    at Client.ondata (/root/local/lib/node_modules/fhem.js/node_modules/socket.io/lib/client.js:175:18)
    at emitOne (events.js:77:13)
17.01.2016 16:31:34 disconnected: client error


Parallel habe ich mich dann auch noch an der Geschichte mit forever versucht. Mit meinen bescheidenen Kenntnissen darüber habe ich mir nach ersten Fehlschlägen gedacht, dass es an den Verzeichnissen scheitert und habe in der /etc/init.d/fhem.js mal die Aufrufpfade für fhem.js und forever auf /root/local/lib/node_modules/fhem.js/bin bzw. /root/local/lib/node_modules/forever/bin angepasst. Das hat mich aber leider nicht wirklich weiter gebracht:

root@bananapi ~ # service fhem.js start
Job for fhem.js.service failed. See 'systemctl status fhem.js.service' and 'journalctl -xn' for details.
1 root@bananapi ~ # systemctl status fhem.js.service                                                :(
● fhem.js.service - LSB: fhem.js init.d example
   Loaded: loaded (/etc/init.d/fhem.js)
   Active: failed (Result: exit-code) since So 2016-01-17 16:03:59 CET; 7s ago
  Process: 823 ExecStart=/etc/init.d/fhem.js start (code=exited, status=127)

Jan 17 16:03:58 bananapi fhem.js[823]: /etc/init.d/fhem.js: Zeile 16: //export: Datei oder Verze...nden
Jan 17 16:03:58 bananapi fhem.js[823]: Starting fhem.js node instance:
Jan 17 16:03:58 bananapi fhem.js[823]: /root/local/lib/node_modules/fhem.js/bin/fhem.js: Zeile 3...den.
Jan 17 16:03:59 bananapi systemd[1]: fhem.js.service: control process exited, code=exited status=127
Jan 17 16:03:59 bananapi systemd[1]: Failed to start LSB: fhem.js init.d example.
Jan 17 16:03:59 bananapi systemd[1]: Unit fhem.js.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.


Für Tipps von den Linux-Experten wäre ich natürlich sehr dankbar. Aber bitte keine Hektik; ich habe oft auch tagelang keine Zeit zum rumprobieren  ::)
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

Phili

#109
Hi,

ich hab das Problem das mir die App alles auslesen kann aber sobald ich das widget speichere wird mir nur der Name des Gerätes auf dem Screen angezeigt.

(http://www2.pic-upload.de/thumb/29512907/Screenshot_20160122-215042.png)
(http://www2.pic-upload.de/thumb/29512876/Screenshot_20160122-215102.png)

Hat jemand eine Idee?

gadget

Hallo Phili,

habe app und fhem.js heute auch mal zum Ausprobieren installiert und habe das gleiche Problem.

Im log steht

Missing error handler on `socket`.
TypeError: socket.rooms.indexOf is not a function
    at Socket.<anonymous> (/usr/lib/node_modules/fhem.js/server.js:138:23)
    at emitOne (events.js:77:13)
    at Socket.emit (events.js:169:7)
    at Socket.onevent (/usr/lib/node_modules/fhem.js/node_modules/socket.io/lib/socket.js:335:8)
    at Socket.onpacket (/usr/lib/node_modules/fhem.js/node_modules/socket.io/lib/socket.js:295:12)
    at Client.ondecoded (/usr/lib/node_modules/fhem.js/node_modules/socket.io/lib/client.js:193:14)
    at Decoder.Emitter.emit (/usr/lib/node_modules/fhem.js/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
    at Decoder.add (/usr/lib/node_modules/fhem.js/node_modules/socket.io/node_modules/socket.io-parser/index.js:247:12)
    at Client.ondata (/usr/lib/node_modules/fhem.js/node_modules/socket.io/lib/client.js:175:18)
    at emitOne (events.js:77:13)


Bin auch etwas ratlos.

Grüße, gadget

Tueftler1983

Habe auch viele Probleme mit dem Widget.
Entweder es wird garni angezeigt oder ein Fenster das keine Verbindung zum Server besteht oder es wird alles angezeigt aber der Status stimmt nicht bzw ist grau und läßt sich nix schalten.
Anbei ein paar screenshots

Werner Schäffer

Zitat von: RockFan am 17 Januar 2016, 16:58:31
...

Seltsamerweise landen bei mir aber alle Installationen über npm im Verzeichnis /root/local/lib/node_modules/. Somit kann ich aber immerhin node server.js im Verzeichnis /root/local/lib/node_modules/fhem.js ausführen.

...

npm installiert per default immer in das Home-Verzeichnis des angemeldeten Benutzers. Um eine globale Installation in /usr/lib/node_modules zu gewährleisten muss die Option -g angegeben werden.

npm install -g wasauchimmer

Werner Schäffer

#113
Es sind hier in letzter Zeit einige Fehler aufgelaufen. Ich arbeite zur Zeit an einer neuen Version der App. Es werden neuere Bibliotheken für die Kommunikation zum Server (websockets) benutzt, bereits bekannte Fehler ausgemerzt und alles was ich hier lese versuche ich zu berücksichtigen.

Eine neue Version kommt in wenigen Tagen.


Tueftler1983

Das hört sich super an Werner denn eigentlich bin ich ein Riesen Fan von deiner app/widget

Werner Schäffer

Zitat von: Phili am 22 Januar 2016, 22:03:14
Hi,

ich hab das Problem das mir die App alles auslesen kann aber sobald ich das widget speichere wird mir nur der Name des Gerätes auf dem Screen angezeigt.

(http://www2.pic-upload.de/thumb/29512907/Screenshot_20160122-215042.png)
(http://www2.pic-upload.de/thumb/29512876/Screenshot_20160122-215102.png)

Hat jemand eine Idee?

Schon mal versucht das Widget zu vergrößern. Dazu so lange auf das Widget drücken bis es beweglich wird. Dann loslassen und es erscheinen vier weiße Kreise mit denen man die Größe verändern kann.


hyper2910

Zitat von: Phili am 22 Januar 2016, 22:03:14
Hi,

ich hab das Problem das mir die App alles auslesen kann aber sobald ich das widget speichere wird mir nur der Name des Gerätes auf dem Screen angezeigt.

(http://www2.pic-upload.de/thumb/29512907/Screenshot_20160122-215042.png)
(http://www2.pic-upload.de/thumb/29512876/Screenshot_20160122-215102.png)ein


Du hast doch nur Messwerte ausgewählt, du müsstest unter Schalter auch etwas wählen können, ähnliches Problem habe ich auch, bei mir werden nicht alle Schalter angezeigt!


Hat jemand eine Idee?
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

Werner Schäffer

#118
Geht in Antwort #115 vielleicht etwas unter:

Falls das Widget irgendwie abgeschnitten erscheint:

Schon mal versucht das Widget zu vergrößern. Dazu so lange auf das Widget drücken bis es beweglich wird. Dann loslassen und es erscheinen vier weiße Kreise mit denen man die Größe verändern kann.


Werner Schäffer

Es gibt eine neue Version 2.1.6 von fhem.js:

- kleinere Bugfixes
- übertrages Datenvolumen bei gewissen Abfragen etwas reduziert

Den Update kann man installieren mit dem Shell command

npm update -g fhem.js


Wer irgendwelche Bugs entdeckt bitte hier oder auf https://github.com/winne27/fhem.js/issues berichten.

Eine neue Version des Widgets erscheint diese Woche noch in GooglePlay.