fronthem / smartVISU nextgen driver

Begonnen von herrmannj, 06 April 2015, 12:58:52

Vorheriges Thema - Nächstes Thema

herrmannj

Hallo @all,

dieser thread dient der Weiterentwicklung des fronthem / smartVISU drivers.

Was bisher geschah:

HCS hat die Entwicklung eines dedizierten smartVISU drivers für fhem übernommen und beachtliche Ergebnisse erzielt ! Vielen Dank !

Der von HCS geschriebene driver enthält bereits jetzt zahlreiche sehr bedeutende Verbesserungen gegenüber den original drivern:

der driver behandelt stand-by und Netzwerkunterbrechnungen
die Geschwindigkeit ist um Zehnerpotenzen schneller gegenüber den original drivern (mehrere hundert GAD pro Sekunde)
Plus, Plus.

wiki: http://www.fhemwiki.de/wiki/Installation_Fronthem

Der Treiber besteht aus diesen beiden Files:
https://github.com/herrmannj/smartvisu-cleaninstall/blob/master/driver/io_fhem.js
https://github.com/herrmannj/smartvisu-cleaninstall/blob/master/driver/io_fhem.min.js
Hier liegt die jeweils aktuelle "offizielle" Version.

Um den Treiber zu aktualisiern, müssen diese beiden Dateien in das smartvisu/driver/ Verzeichnis der SmartVISU Installation kopiert werden

Um zu prüfen, welche Version vom Treiber man aktuell verwendet, kann man im Browser die Konsole öffnen und nach einem page reload diesen Log-Eintrag suchen:

    [io.fhem]: init [V1.10] (address= ...

In diesem Beispiel ist es Version 1.10

 
vg
jörg

HCS

Fortsetzung aus dem alten thread: das basic.shifter / icon.battery Problem beginne ich zu verstehen und werde nach einer Lösung suchen.

Falls noch jemand ein offenes Treiber-Topic kennt, dann bitte einfach (noch-)mal hier reinschrieben, ich glaube ich habe den Überblick verloren  :-[

HCS

Treiber V1.10
Anbei und im cleaninstall repository
Behebt das basic.shifter / icon.* Problem

ws

HCS: Danke für das Update.

Es wäre vielleicht leichter für den "ungeübten" User, wenn man im Eröffnungs-thread die Links zur Respository und Wiki platzieren würde.... (nur so als Vorschlag ;) )

Grüße
ws

...und jetzt gleich mal testen :)

fhainz

basic.shifer/icon.battery funktioniert wieder. Danke!

Joker

Zitat von: ws am 07 April 2015, 22:38:01
HCS
Es wäre vielleicht leichter für den "ungeübten" User, wenn man im Eröffnungs-thread die Links zur Respository und Wiki platzieren würde.... (nur so als Vorschlag ;) )

Fände ich auch gut!

Habe den Treiber auch mal ne Weile ausprobiert. Er hat auch sehr gut funktioniert, aber jetzt gerade habe ich eine Situation wo auf keinem meiner Geräte (ein Mac, ein iPad, ein Android-Tablet) noch Werte ans SV geliefert werden. Im FHEM Log finde ich sowas:

2015.04.07 22:49:36 1: myfronthem: thread ws closed for unknown reason
2015.04.07 22:49:36 3: myfronthem: client myWallTablet: forced disconnect
2015.04.07 22:49:45 1: myfronthem myWallTablet want send but isnt a sender
2015.04.07 22:50:04 1: myfronthem myWallTablet want send but isnt a sender
2015.04.07 22:50:04 1: myfronthem myWallTablet want send but isnt a sender


Das "myfronthem myWallTablet want send but isnt a sender" kommt scheinbar dauernd immer wieder (das Device ist mein Android-Tablet).

Eine Idee was das sein könnte? Mit dem alten Treiber hatte ich sowas nicht. Kann ich irgendwelche Infos liefern um das einzugrenzen?

herrmannj

Hi,

ist definitiv unabhängig vom driver. Mach mal einen fhem neustart - dann gehts wieder. Welche fronthem version ?

vg
jörg

Joker

Zitat von: herrmannj am 07 April 2015, 23:55:41ist definitiv unabhängig vom driver.
Ok, ist mir nur da jetzt im Zusammenhang aufgefallen, weil ich bisher seit ich SV/fronthem nutze kein solches Problem hatte, erst seit ich heute von Driver 1.08 auf 1.10 gewechselt bin- kann aber natürlich Zufall sein.

ZitatMach mal einen fhem neustart - dann gehts wieder. Welche fronthem version ?
Yepp geht wieder- fronthem sollte aktuell sein, ein update bringt mir jedenfalls nichts neues.

herrmannj

schau mal bitte was "version" für fronthem ausgibt

vg
jörg

Joker

# $Id: 01_fronthem.pm 21 2015-02-13 20:25:09Z. herrmannj $
# $Id: 31_fronthemDevice.pm 21 2015-02-13 20:25:09Z. herrmannj $


Bin dann erstmal weg für heut  ;)

HCS

Zitat von: ws am 07 April 2015, 22:38:01Es wäre vielleicht leichter für den "ungeübten" User, wenn man im Eröffnungs-thread die Links zur Respository und Wiki platzieren würde.... (nur so als Vorschlag ;) )
Kann ich leider nicht, da ich nicht der Ersteller bin.

wiki: http://www.fhemwiki.de/wiki/Installation_Fronthem

Der Treiber besteht aus diesen beiden Files:
https://github.com/herrmannj/smartvisu-cleaninstall/blob/master/driver/io_fhem.js
https://github.com/herrmannj/smartvisu-cleaninstall/blob/master/driver/io_fhem.min.js
Hier liegt die jeweils aktuelle "offizielle" Version.

Um den Treiber zu aktualisiern, müssen diese beiden Dateien in das smartvisu/driver/ Verzeichnis der SmartVISU Installation kopiert werden

Um zu prüfen, welche Version vom Treiber man aktuell verwendet, kann man im Browser die Konsole öffnen und nach einem page reload diesen Log-Eintrag suchen:
Zitat[io.fhem]: init [V1.10] (address= ...
In diesem Beispiel ist es Version 1.10

herrmannj


ws

Danke :)

Habt Ihr eigentlich in der Configuration Pagecache auf ON oder auf OFF stehen?
Wahrscheinlich hat das nichts mit dem Driver zu tun..., oder?

herrmannj

nö, hats nicht. Während Du in sv die Seiten anpasst auf off (und in sv den cache löschen!). Im Noramlbetrieb auf "on"- dann werden die templates compiliert gespeichert. Ist schneller.

vg
jörg

ws

Alles klar. So mache ich das.
Danke
ws

Jojo11

Hallo,

ich nutze fronthem seit Beginn und wollte nun mal auf den neuen Treiber umstellen, da ich von der Beschreibung so angetan war (Geschwindigkeit etc.). Habe die beiden Dateien mit ausreichend Rechten versehen und den Treiber in SV ausgewählt. Aber leider funktioniert er bei mir nicht. Es werden keine Werte angezeigt. Das Einzige, was mir aufgefallen ist: Die icons oben links (das Haus, die Zahnräder usw.) sind nun kleiner. Port 2121 habe ich gelassen und auch die IP ist identisch zum Domotiga-Treiber. Das device scheint disconnected zu sein, die gads sehe ich aber (wahrscheinlich noch von vorher?). Cache habe ich gelöscht. Habe ich etwas übersehen?

schöne Grüße
Jo

fidel

Eigentlich nicht.
Unter sv driver ip, die ip des Systems auf dem fhem läuft einstellen. Gegebenenfalls auch mal die ip deines Gerätes mit dem du zugreifen willst mit der des fronthemDevice checken.
Aktuelle Version des Treibers ist 1.10
Fhem 5.6 auf Cubietruck,CUL,CUL_TCM97001,FritzBox7390,HMLAN,CUL_HM_HM_OU-16LED,CUL_HM_HM_SEC_SC,CUL_HM_HM_LC_SW4,CUL_HM_HM_RT_DN,HUEBridge,HUEDevice,Panstick,Panstamp (binouts,rgddriver mit dht22),PHTV,Yamaha-AVR,Withings,ELV-IPS, etc...

HCS

Was sagt denn die Konsole vom Browser?

Zitat von: Jojo11 am 13 April 2015, 12:55:30Die icons oben links (das Haus, die Zahnräder usw.) sind nun kleiner.
Das kann der Treiber fast unmöglich bewirken.

Jojo11

Hallo,

die Konsole sagt das hier (ich hoffe, das ist der input, den Du meinst):

Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead jquery-2.0.3.min.js:1:0
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead jquery.mobile-1.3.2.min.js:7:0
SyntaxError: expected expression, got '<' io_fhem.js:4:0
getPreventDefault() sollte nicht mehr verwendet werden. Verwenden Sie stattdessen defaultPrevented. jquery-2.0.3.min.js:5:0
ReferenceError: io is not defined index.php:45:1
Leerer String an getElementById() übergeben. jquery.mobile-1.3.2.min.js:6:0
"[animation.prepare]" animation.js:39:1
"[animation.redraw]" animation.js:46:1


Bzgl. der icons anbei mal zwei screenshots. Ich habe ausschließlich den Treiber geändert. Ist absolut reproduzierbar.

schöne Grüße
Jo

HCS

Schalt mal den SV page cache aus und mach das SV/temp Verzeichnis leer und dann einen relaod der page

Jojo11

Zitat von: HCS am 13 April 2015, 13:38:32
Schalt mal den SV page cache aus und mach das SV/temp Verzeichnis leer und dann einen relaod der page

Den cache habe ich ohnehin deaktiviert. Gelöscht hatte ich das temp-Verzeichnis auch schon. Bringt aber alles nichts. Wenn ich jetzt mit dem fhem-Treiber die Seiten aufrufe, füllt sich allerdings das cache-Verzeichnis auch nicht wieder (bis auf diese einzelne Datei vom Yahoo-Wetter).

schöne Grüße
Jo

HCS

Seltsam.

ZitatSyntaxError: expected expression, got '<' io_fhem.js:4:0
Verstehe ich gerade komplett nicht, was das zu bedeuten hat.

Kannst Du die io_fhem.js mal mit einem Editor öffnen und schauen, ob das nach "normalem" Quellcode aussieht oder ob sie defekt wirkt?
Ist Dein SV auf .js oder .min.js konfiguriert?

Jojo11

Zitat von: HCS am 13 April 2015, 13:54:12
Seltsam.
Verstehe ich gerade komplett nicht, was das zu bedeuten hat.

Kannst Du die io_fhem.js mal mit einem Editor öffnen und schauen, ob das nach "normalem" Quellcode aussieht oder ob sie defekt wirkt?
Ist Dein SV auf .js oder .min.js konfiguriert?

Ich glaube jetzt kommen wir der Sache näher. Die fhem.js sieht in Ordnung aus, aber die min.js enthält anscheinend Zeilen, die länger als 4096 Zeichen sind (Ausgabe von Kate). Habe sie mal angehängt.

Aber: Wo stelle ich denn ein, welche ich verwenden möchte?

schöne Grüße
Jo

herrmannj

lösch mal die *.min und kopier die .js als .min.js. Nicht minifien, nur kopieren.

vg
jörg

Jojo11

Zitat von: herrmannj am 13 April 2015, 14:14:22
lösch mal die *.min und kopier die .js als .min.js. Nicht minifien, nur kopieren.

vg
jörg

Ok, hab die .js in .min.js um benannt und die andere Datei gelöscht. Geht trotzdem nicht. Auf dem Handy übrigens auch nicht. Aber die icons sind auf dem Handy auch kleiner (sieht aber besser aus).

schöne Grüße
Jo

HCS

Was hast Du denn da als Treiber hingelegt? Der Inhalt der von Dir angehängten Datei ist etwas völlig anderes, als ein Treiber!

Jetzt wird mir auch die Fehlermeldung mit Spitze Klammer in Ziele 4 klar.
Lade die beiden Files nochmal runter und schau den Inhalt an.

die io_fhm.js muss so anfangen:
//noinspection JSUnusedGlobalSymbols
/**
* -----------------------------------------------------------------------------
* @package     smartVISU / FHEM
* @author      HCS, original version by Martin Gleiß
* @copyright   2015
* @license     GPL [http://www.gnu.de]
* -----------------------------------------------------------------------------
*
* This driver has enhancements for using smartVISU with FHEM
*/

var io = {


Und die io_fhem.min.js so:
var io={logLevel:1,alertExceptions:false,offline:false,measureGADs:false

Von beiden nur der Anfang hier dargestellt.

Jojo11

#26
Mmh, dann ist wohl beim download was falsch gelaufen. Sah ein wenig wüst aus, aber ich will je den code nicht kritisieren  ::)
Ich versuche es nochmal. Evtl. sollte man nicht gleich das Ziel speichern unter  :o

schöne Grüße
Jo

Nachtrag: Jetzt geht's. Läuft echt schneller :) Sorry nochmal.

HCS

Zitat von: Jojo11 am 13 April 2015, 15:27:39Sah ein wenig wüst aus, aber ich will je den code nicht kritisieren  ::)
Den code kannst Du ruhig kritisieren, der ist von GitHub  ;D
Das ist der html code der GitHub Seite, die Du vor Dir hattest.

Das hier runterladen, und dann aus dem ZIP den Treiber in Dein SV kopieren.
https://github.com/herrmannj/smartvisu-cleaninstall/archive/master.zip