fhem.js - websocket connection to fhem via node.js proxy

Begonnen von Werner Schäffer, 13 Februar 2015, 21:53:55

Vorheriges Thema - Nächstes Thema

HansDampfHH

Okay, das hier ist der Terminal-Output:


MAX EG.wz.WT mode: auto
MAX EG.wz.WT battery: ok
MAX EG.wz.WT displayActualTemperature: 1
MAX EG.wz.WT temperature: 22.9
MAX EG.wz.WT desiredTemperature: 22.5
MAX EG.wz.WT 22.5 °C
MAX EG.wz.WT MAXLAN_initialized: 1
MAX EG.wz.WT MAXLAN_error: 0
MAX EG.wz.WT MAXLAN_errorInCommand:
MAX EG.wz.WT MAXLAN_valid: 1
MAX EG.wz.WT MAXLAN_isAnswer: 0


Die Temperatur ist dabei, aber kannst du mir verraten wie ich da ran komme?
Die Information steht in fhem eigentlich unter STATE.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

Werner Schäffer

Ubs - ich musste gerade feststellen dass die Doku auf Github nicht ganz den neuesten Stand wiederspiegelt.

Deshalb versuch mal den Tag:

getAllDevicesOnChange

Du bekommst dann einen JSON-String bei jeder Änderung. Allerdings: bei mir dauerte das 5 Sekunden bis eine  JSON-Änderung kam.


HansDampfHH

Okay, danke dafür. Damit kann ich arbeiten.
Allerdings kommt der Response nach Aufruf auf meinem Intel NUC umgehend.
Von daher alles super !
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

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.

roman1528

Moin.

Feine Sache das... Wollte das mal fix auf meinen RasPi schmeißen und wie sollte es auch anders sein funktioniert gar nichts.

Ich habe mich haarklein an deine Installationsanleitung gehalten. Ich kann allerdings den Server nicht starten....

root@FHEM:/usr/bin# fhem.js
bash: /usr/bin/fhem.js: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden


Bekomme bei der Installation von fhem.js auch diese Warnmeldung:
npm WARN optional dep failed, continuing fsevents@1.0.7

Was mach ich denn bitte wieder falsch?

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

Werner Schäffer

Zitat von: roman1528 am 03 Februar 2016, 17:59:26
...

root@FHEM:/usr/bin# fhem.js
bash: /usr/bin/fhem.js: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden

autsch: wieder mal beim ftp-Upload nicht mit Option "Text" übertragen. Sorry
Es wird demnächst eine Version 2.1.7 geben

Zitat
Bekomme bei der Installation von fhem.js auch diese Warnmeldung:
npm WARN optional dep failed, continuing fsevents@1.0.7

Diese Warnung kann ignoriert werden.

roman1528

Zitat von: Werner Schäffer am 03 Februar 2016, 18:05:47
autsch: wieder mal beim ftp-Upload nicht mit Option "Text" übertragen. Sorry
Es wird demnächst eine Version 2.1.7 geben

Danke schon mal :)
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

roman1528

Ich habe heute aus Spaß nochmal ein Update gemacht und konnt jetzt die fhem.js starten.

Allerdings schmiert in der gleichen Millisekunde FHEM vollständig ab. da hilft auch kein "service fhem restart" da muss dann schon ein "reboot" her!
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

Werner Schäffer

Zitat von: roman1528 am 05 Februar 2016, 13:02:47
Ich habe heute aus Spaß nochmal ein Update gemacht und konnt jetzt die fhem.js starten.

Allerdings schmiert in der gleichen Millisekunde FHEM vollständig ab. da hilft auch kein "service fhem restart" da muss dann schon ein "reboot" her!

auweia! Sagt /var/log/fhem.js.log irgendetwas?

Welche node.js Version benutzt du (node -v)? Wenn du noch eine alte 0.x Version hast musst du erst mal einen Upgrade auf 4.x machen.

Falls du eine Version größer 4.x hast, deinstalliere mal fhem.js komplett (sichere evtl. vorher deine params.js):

npm uninstall -g fhem.js

Dann schau ob in /usr/lib/node_modules das Verzeichnis fhem.js ganz weg ist. Ist auch in allen User-Verzeichnissen kein lib/fhem.js mehr vorhanden?

Dann mach eine Neuinstallation mit den Anweisungen auf https://github.com/winne27/fhem.js

roman1528

#69
Zitat von: Werner Schäffer am 05 Februar 2016, 13:38:10
auweia! Sagt /var/log/fhem.js.log irgendetwas?

05.02.2016 13:00:04 listen for http requests disabled
05.02.2016 13:00:04 Server started: without SSL
05.02.2016 13:00:05 start connection to fhem server
05.02.2016 13:00:05 error: telnet connection failed - retry in 10 secs


TelNet Port ist eingestellt. TelNet ist in FHEM aktiv und es nur das globalpassword attribut gesetzt (kein Passwort für local).

Zitat von: Werner Schäffer am 05 Februar 2016, 13:38:10
Welche node.js Version benutzt du (node -v)? Wenn du noch eine alte 0.x Version hast musst du erst mal einen Upgrade auf 4.x machen.

v4.2.6

Zitat von: Werner Schäffer am 05 Februar 2016, 13:38:10
Falls du eine Version größer 4.x hast, deinstalliere mal fhem.js komplett (sichere evtl. vorher deine params.js):
npm uninstall -g fhem.js
Dann schau ob in /usr/lib/node_modules das Verzeichnis fhem.js ganz weg ist. Ist auch in allen User-Verzeichnissen kein lib/fhem.js mehr vorhanden?
Dann mach eine Neuinstallation mit den Anweisungen auf https://github.com/winne27/fhem.js

Das mache ich jetzt mal...

Und das hier sagt FHEM:

SSL_cert_file ./certs/server-cert.pem does not exist at /usr/share/perl5/IO/Socket/SSL.pm line 2009.


SSL ist allerdings deaktiviert.
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

roman1528

#70
Neuinstallation war erfolgreich. fhem.js konnt ich starten.

Dafür scheint nirgends eine params.js zu existieren... außer ein Symlink der zu /usr/lib/node_modules/fhem.js/params.js leitet welches wiederum ein Symlink ist, der nach /etc/fhem.js/params.js leitet  :-\
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

Werner Schäffer

Lösche mal alle Symlinks in /etc/fhem.js

und für dann nochmals

sudo /usr/lib/node_modules/fhem.js/bin/postinstall

aus.

roman1528

#72
Zitat von: Werner Schäffer am 05 Februar 2016, 14:13:08
Lösche mal alle Symlinks in /etc/fhem.js
und für dann nochmals
sudo /usr/lib/node_modules/fhem.js/bin/postinstall
aus.
Ja das hat geklappt... jetzt hat er zumindest wieder eine params.js
nach einem reboot wird brav fhem.js gestartet.... irgendwann kommt dann FHEM online und es dauert keine 5 Sekunden ist FHEM wieder tot...
Im fhem.js log findet sich nichts außergewöhnliches...


Ich blöder Idiot ich... In FHEM war TelNet als SSL konfiguriert.... maaan.

Aber... Jetzt ist es erstmal zum testen alles ohne SSL.... trotzdem bekommt fhem.js keine Verbindung zu FHEM.
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

Werner Schäffer

Was passiert eigentlich wenn du fhem.js deaktivierst und nur fhem startest und dann

telnet localhost 7072
list

eingibst?

roman1528

#74
Zitat von: Werner Schäffer am 05 Februar 2016, 15:01:12
Was passiert eigentlich wenn du fhem.js deaktivierst und nur fhem startest und dann
telnet localhost 7072
list

eingibst?


pi@FHEM ~ $ telnet localhost 7072
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
list

Type list <name> for detailed info.

Global:
  global               (<no definition>)

CUL:
  cul_433              (Initialized)
  cul_868              (Initialized)
  cul_MAX              (Initialized)

RPII2C:
  i2c_bus1             (Ok)

FHEMWEB:
  WEB                  (Initialized)
  WEB_192.168.1.18_60527 (Connected)
  WEB_192.168.1.18_60533 (Connected)
  WEB_192.168.1.18_60687 (Connected)
  WEB_192.168.1.27_48028 (Connected)
  WEB_192.168.1.27_48030 (Connected)
  WEB_192.168.1.27_48036 (Connected)
  WEB_192.168.1.27_48037 (Connected)
  WEB_192.168.1.27_48038 (Connected)
  WEB_192.168.1.27_48039 (Connected)

HTTPSRV:
  MOBILEUI             (MOBILEUI)
  TABLETUI             (TABLETUI)

IT:
  IT_00F0FFF100        (off)
  IT_00F0FFFF01        (off)
  IT_00F0FFFF10        (off)

und so weiter.....


läuft also.

Wenn ich jetzt fhem.js starte bekommt er eine Verbindung.

Beim reboot braucht FHEM zu lange um zu starten. fhem.js bricht nach 6 verbindungsversuchen ab.... jetzt ham wirs
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik