FHEMswitch - Android Widgets

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

Vorheriges Thema - Nächstes Thema

Werner Schäffer

Was steht im Logfile von fhem.js? ( /var/log/fhem.js.log )

raimundl

Hallo,
danke für die rasche Antwort:

Das file  /var/log/fhem.js.log ist ellenlang und eigentlich steht immer dasselbe:

Error: Cannot find module 'mysql'
    at Function.Module._resolveFilename (module.js:472:15)
    at Function.Module._load (module.js:420:25)
    at Module.require (module.js:500:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/usr/lib/node_modules/fhem.js/readdb.js:1:77)
    at Module._compile (module.js:573:32)
    at Object.Module._extensions..js (module.js:582:10)
    at Module.load (module.js:490:32)
    at tryModuleLoad (module.js:449:12)
    at Function.Module._load (module.js:441:3)
error: Forever detected script exited with code: 1
error: Script restart attempt #12609
module.js:474
    throw err;
    ^

Error: Cannot find module 'mysql'
    at Function.Module._resolveFilename (module.js:472:15)
    at Function.Module._load (module.js:420:25)
    at Module.require (module.js:500:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/usr/lib/node_modules/fhem.js/readdb.js:1:77)
    at Module._compile (module.js:573:32)
    at Object.Module._extensions..js (module.js:582:10)
    at Module.load (module.js:490:32)
    at tryModuleLoad (module.js:449:12)
    at Function.Module._load (module.js:441:3)
error: Forever detected script exited with code: 1
error: Script restart attempt #12835


LG
Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....

Werner Schäffer

Leider habe ich da einen Bug in fhem.js feststellen müssen. Es gibt aber bereits einen Bugfix. Die neueste (2.4.6) Version von fhem.js installieren mit:

npm update -g fhem.js

Auch hier bitte Output des obigen Befehls  beachten.( Es muss noch das Script postinstall ausgeführt werden.)
Bitte berichten ob es damit funktioniert.


raimundl

Hallo!

Ja, danke - funktionierte damit auf Anhieb!!!

Bin jetzt am einrichten, wobei ich noch Probleme mit "autostart" habe:

pi@RPi2BJessie:~ $ sudo update-rc.d fhem.js enable
update-rc.d: error: no runlevel symlinks to modify, aborting!
pi@RPi2BJessie:~ $ sudo update-rc.d fhem.js defaults
insserv: script fhem.js is not an executable regular file, skipped!


LG
Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....

Werner Schäffer

versuch mal folgendes:

cd /etc/init.d
ls -l fhem.js


schau ob fhem.js das Execute-Recht hat. Wenn, nein dann mit

chmod +x fhem.js


erteilen

raimundl

Zitat von: Paul Guijt am 29 April 2016, 13:07:43
Hallo Werner und andere,

Ich habe schon die Lösung gefunden.

$ sudo update-rc.d fhem.js defaults
und dann
$ sudo update-rc.d fhem.js enable

macht fhem.js wieder startend bei system boot.

Freundliche Gruße,
Paul

Damit und executive Rechte funktioniert nun Autostart auch.

Danke nochmals, bis zur nächsten Frage!

LG
Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....

raimundl

Hallo Werner,

kann man auch über DYNDNS zugreifen (natürlich entsprechende Portfreigabe: http://xxxx.dyndns.org:8086)?

Danke und LG

Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....

Tueftler1983

#157
Ja das geht ohne Probleme nutze ich auch. Voraussetzung ist natürlich das man vom Provider eine echte IP4 Adresse hat und kein dual stack

Werner Schäffer

#158
Zitat von: raimundl am 24 November 2016, 10:45:46
kann man auch über DYNDNS zugreifen (natürlich entsprechende Portfreigabe: http://xxxx.dyndns.org:8086)?

Dem steht nichts entgegen, aber man sollte folgendes bedenken:

1. mit http bei dyndns werden Daten unverschlüsselt übertragen, auch das Passwort bei der Anmeldung!
2. das Passwort steht auf dem Gerät in einer versteckten Datei, die normalerweise nur von der App selbst gelesen werden kann. Wobei es vermutlich genügend Hacks gibt um an diese Daten zu kommen.

Also:
1. Bei http Zugang kann eine "Man in the middle attac" ganz leicht dein Passwort lesen.
2. bei https hast du immer noch einen offenen Port auf dem der Zugang durch ein Passwort geschützt ist. Dieses Passwort kann aber durch Hacks unter Umständen verloren gehen.
3. https mit einem self-signed certificate funktioniert nicht, da socketio da nicht mitmacht. (socketio ist sowohl auf dem Client als auch auf dem Server für die Kommunikation zuständig.
4. Es ist wohl möglich mit einem Zertifikat von letsencrypt auch einen Dyndns Host zu schützen. Da muss man aber ein wenig frickeln.
5. Ich betreibe einen eigenen Webserver und habe mir dort ein eigenes dyndns installiert. Damit bekomme ich mit einem letsencrypt Zertifikat eine verschlüsselte Verbindung hin.

Tueftler1983

Hallo Werner,
Kannst du zu Punkt 5 nähere Infos geben?
Geht das auch direkt auf dem RPI auf dem FHEM und fhem.js läuft?
Wie richtet man es ein?

Denke damit wäre der Zugriff auf FHEM selber ja auch über https geschützt oder?

Werner Schäffer

Für ein eigenes dyndns brauchst du einen eigenen Server der mit fester IP-Adresse im Internet erreichbar ist. Es geht nicht mit dem RPI der im Hausnetz hinter einer dynamischen IP hängt. Da beißt sich die Katze in den Schwanz.

Tueftler1983

Ich bin Business Kunde bei Unitymedia und kann anstelle meiner Dynamischen IP auch bis zu 3 Festen IPs haben das sollte also kein Hindernis darstellen.

Werner Schäffer

#162
Die Lösungen 4 und 5 unterscheiden sich was letsencrypt betrifft eigentlich nicht.

Bei einem eigenen dyndns-Server, wie in 5, braucht man nicht nur einen Server mit fester IP-Adresse, sondern auch noch eine Domain über die man die Kontrolle hat, d.h. einen authoritative DNS-Server für diese Domain auf den man Zugriff hat.

Für die Konfiguration eines Zertifikates von letsencrypt für eine Domain auf einem Server mit dynamischer IP mache ich demnächst mal ein kleines Howto. Versprechen kann ich das aber nicht 100%ig. Aber installier schon mal die Software von letsencrypt und auch den Webserver nginx. Es würde auch mit dem Apache funktionieren, aber ich kann es nur mit nginx beschreiben, weil ich es eben damit gemacht habe.

Werner Schäffer

Demnächst gibt es eine neue Version von FHEMswitch. Eine Beta-Version davon gibt es bereits beim Google Store unter

https://play.google.com/apps/testing/de.fehngarten.fhemswitch

Ich freue mich über jede Rückmeldung an werner@schaeffer.net .

Was ist neu:
! bis zu vier Widgets können erzeugt und individuell konfiguriert werden.


Tueftler1983