New FHEM Tablet UI

Begonnen von setstate, 22 Februar 2015, 23:37:24

Vorheriges Thema - Nächstes Thema

nesges

Zitat von: StefanD am 22 Juni 2015, 16:28:47
Beim ersten Versuch eine Tablet UI Instanz unter nginx zum Laufen zu bekommen, ist mir aufgefallen, dass nicht alle Zugriffe in das Tablet UI Verzeichnis erfolgen, sondern auch in parallel liegende der FHEM Installation. Da die nginx Instanz logischerweise auf einem anderen Port läuft, laufen diese Anfragen gegen die Wand.

Ich hab's unter Apache laufen - eben so, wie in der Demo ;) Dazu musst du nur das Meta-Tag "fhemweb_url" entsprechend setzen:

<meta name="fhemweb_url" content="http:///host:port/fhem">

nesges

Zitat von: mc-hollin am 22 Juni 2015, 22:30:05
Gibt es eigentlich schon eine Möglichkeit eine Zeitschaltuhr zu realisieren?
Also ein Einschaltbefehl zu einer bestimmten Uhrzeit und für eine festgelegte Zeit.
In FHEM habe ich folgendes definiert:
define PoolpumpeMorgensStart at *06:30:00 set EG_Aussen_Steckdose on-for-timer 7200
Dies würde ich gerne über FTUI anzeigen und steuern.
Oder wäre das schon mit dem widget_setTimer möglich?
Hier fehlt mir nur noch die Laufzeit.

Mit settimer könntest du das umsetzen, indem du ein notify auf das Timer-Device setzt. Die Laufzeit müsste aber tatsächlich aus einer zweiten Quelle kommen. IOW: Nee, was fertiges gibt's mW nicht, es liesse sich aber aus mehreren Komponenten zusammen setzen.

wolfram


Zitat von: setstate am 23 Juni 2015, 02:06:17
Was spricht gegen das Volume Widget? Man kann dort die Ticks auch wie beim Thermostat enger machen.

<div data-type="volume" data-device='dummy1'
        data-tickstep='4'
        class="big" ></div>


Hallo setstate,
danke für Deine Antwort.
Ich bin zum Volume-Widget zum Thermostat gewechselt, da ich die Funktion von verschiedenen Farben (grün = Lautstärke ok, gelb = Lautstärke noch gut, rot = zu laut) versuche unterzubringen. Darüber hinaus kann ich, soweit ich das aus dem Wiki entnehme auch beim Volume kein "bigger" oder ähnliches verwenden um es größer zu bekommen, oder verstehe ich die Dokumentation falsch?

Danke und LG
wolf

mc-hollin

Zitat von: nesges am 23 Juni 2015, 10:00:03
Mit settimer könntest du das umsetzen, indem du ein notify auf das Timer-Device setzt. Die Laufzeit müsste aber tatsächlich aus einer zweiten Quelle kommen. IOW: Nee, was fertiges gibt's mW nicht, es liesse sich aber aus mehreren Komponenten zusammen setzen.
Ok danke.
Dann ist das mein nächster Schritt  8)

setstate

Zitat von: wolfram am 23 Juni 2015, 10:27:58
Hallo setstate,
danke für Deine Antwort.
Ich bin zum Volume-Widget zum Thermostat gewechselt, da ich die Funktion von verschiedenen Farben (grün = Lautstärke ok, gelb = Lautstärke noch gut, rot = zu laut) versuche unterzubringen. Darüber hinaus kann ich, soweit ich das aus dem Wiki entnehme auch beim Volume kein "bigger" oder ähnliches verwenden um es größer zu bekommen, oder verstehe ich die Dokumentation falsch?

Danke und LG
wolf
Das Thermostat wird die gleichen Classed haben, wie Volume. Ist schon geändert, aber noch im Test bei mir.

SirUli

Zitat von: StefanD am 22 Juni 2015, 16:28:47
Hallo zusammen,

hat jemand das FHEM Tablet UI schon auf einen anderen Webserver ausgelagert? Damit meine ich nicht die Demoinstallation von ngres, sondern schon eine im "produktiven" Zusammenspiel mit FHEM.

Ich habs bei mir auf nginx laufen:

server {
        listen [::]:80 ipv6only=off;

        root                                    /var/www/tabletui;

        server_name                             _;

        location ~ \.php$ {
               include snippets/fastcgi-php.conf;

               # With php5-fpm:
               fastcgi_pass unix:/var/run/php5-fpm.sock;
        }

        location /fhem {
                proxy_pass http://localhost:8083/fhem;
                proxy_redirect off;
                proxy_buffering off;
        }

        location /pgm2 {
                alias                           /opt/fhem/www/pgm2;
        }

        location /fhem-tablet-ui {
                alias                           /opt/fhem/www/tablet;
                index                           index.html index.htm index.php;
        }

        location / {
                index                           index.html index.htm index.php;
                try_files                       $uri $uri/ /index.php;
        }
}[/quote]

Ich generiere mein Frontend wie nesges via php aus dem Verzeichnis /var/www/tabletui, daher die PHP-Config - diese kannst du natürlich weglassen wenn du html verwendest.

Vielleicht hilfts dir weiter :)

nightstorm99

Hallo,

ich hätte noch Idee zum Homestatus Widget.
Kann man dieses nicht Abhängig von einem Device readonly schalten.
Ich möchte einen Manuell/Automatik Modus integrieren, wenn dieses auf Manuell steht
kann man den HomeStatus (nutze es auf für Scene/Jalousien usw..) bedienen, ansonsten
ist dieser für eingaben gesperrt.
Man könnte das ganze über ein Dummy und Notify auch umlenken, erst in Dummy und prüfen ob Manuell und so,
aber direkt im Widget wäre die Elegantere Lösung!

Was haltet ihr davon?

Danke und Gruß
Denny

chris1284

Zitat von: nesges am 23 Juni 2015, 09:55:32
Ich hab's unter Apache laufen - eben so, wie in der Demo ;) Dazu musst du nur das Meta-Tag "fhemweb_url" entsprechend setzen:

<meta name="fhemweb_url" content="http:///host:port/fhem">

könntest du das häher beschreiben? evtl siteconfig und index.hmtl/php? ich habe den tabletui ordner nach /var/www geschoben, die seite im apache eingerichtet und den meta-tag auc die fhemweb_url gesetzt. es iwrd baer nicht angezeigt (weil ich denke die verweise auch die stylesheet und scripte nicht passen).

der fhem webserver macht bei mir nur probleme (tablet ui muss 2x geladen werdne damit der inhalt vollständig ist, änderungen an der seite benötigen ein löschen des browsercaches usw usw) und ich wollte schaune ob es über apache sauberer läuft

nightstorm99

Zitat von: chris1284 am 23 Juni 2015, 13:40:44
könntest du das häher beschreiben? evtl siteconfig und index.hmtl/php? ich habe den tabletui ordner nach /var/www geschoben, die seite im apache eingerichtet und den meta-tag auc die fhemweb_url gesetzt. es iwrd baer nicht angezeigt (weil ich denke die verweise auch die stylesheet und scripte nicht passen).

der fhem webserver macht bei mir nur probleme (tablet ui muss 2x geladen werdne damit der inhalt vollständig ist, änderungen an der seite benötigen ein löschen des browsercaches usw usw) und ich wollte schaune ob es über apache sauberer läuft

Die gleichen Probleme habe ich auch.
Werde heute Nachmittag auch auf Apache wechseln, denke das HTTPSRV hier einige Probleme macht und nicht alle Scripte sauben zurück gibt.

Vielleicht sollten wir hierzu einen neuen Thread auf machen?!?


nesges

Unter http://forum.fhem.de/index.php/topic,36063.msg289077/topicseen.html#msg289077 hatte ich mal aufgeschrieben, wie man die Live-Demo selbst betreiben kann. Das wesentliche sind wahrscheinlich die beschriebenen Symlinks. Kommt ihr damit klar?

chris1284

#2020
eigentlich kann doch nur dies relevant sein
ln -s /opt/fhem/www/pgm2/ .
und der meta-tag oder?

geht das nicht auch ohne die ganze demo-installation? einfach den Tablet-ui ordner aus /opt/fhem/www nach /var/www/ kopieren, tag rein packen und symlink zu dem fhem/www und gut ist geht wohl nicht oder

chris1284

#2021
Ich habe soweit alles hinbekommen bis auf die abfrage der fhem-daten.
ich habe tablet ui + inhalte von /opt/fhem/www in einen ordner unter /var/www geschoben und die pfade angepasst. nun steht in der konsole
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf http://srv01.fritz.box:8083/fhem?cmd=list+iPhone%2Cs4ani%2Cout_sen_th+STATE&XHR=1&_=1435086959733. (Grund: CORS-Kopfzeile 'Access-Control-Allow-Origin' fehlt). <unbekannt>
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf http://srv01.fritz.box:8083/fhem?cmd=list+iPhone%2Cs4ani%2Cout_sen_th+temperature&XHR=1&_=1435086959734. (Grund: CORS-Kopfzeile 'Access-Control-Allow-Origin' fehlt). <unbekannt>
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf http://srv01.fritz.box:8083/fhem?cmd=list+iPhone%2Cs4ani%2Cout_sen_th+humidity&XHR=1&_=1435086959735. (Grund: CORS-Kopfzeile 'Access-Control-Allow-Origin' fehlt). <unbekannt>
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf http://srv01.fritz.box:8083/fhem?cmd=list+iPhone%2Cs4ani%2Cout_sen_th+STATE&XHR=1&_=1435086959736. (Grund: CORS-Kopfzeile 'Access-Control-Allow-Origin' fehlt). <unbekannt>
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf http://srv01.fritz.box:8083/fhem?cmd=list+iPhone%2Cs4ani%2Cout_sen_th+undefined&XHR=1&_=1435086959737. (Grund: CORS-Kopfzeile 'Access-Control-Allow-Origin' fehlt).


könnt ihr damit was anfangen?

EDIT: attr WEB CORS 1 war die lösung und es läuft über den apache wesentlich geschmeidiger

tomster

Zitat von: setstate am 18 April 2015, 00:04:31
Image Widget ist jetzt angepasst. Damit kann es auch mit der FTUI Version 1.4 wieder genutzt werden.

Zusätzlich kann jetzt auch das Update Intervall pro Bild vorgeben, wenn man ein Image per data-url eingebunden hat. Mit data-refresh legt man das Refresh-Intervall in Sekunden fest. Default für data-refresh ist 900 Sekunden (15Minuten).
[/code]

Kann es sein, dass da noch ein Käfer im System ist?

Ich habe Mal testweise meine Kamera von MJPEG auf "Einzelbild" umgestellt und im widget_image.js das Default-Intervall auf 30 Sekunden gestellt (nicht per <data-refresh>!).
Ergebnis: Es wird zwar gelegentlich refresht, aber keineswegs in festen Intervallen.

Erstes Laden der Seite:
Bild von 13:06:07

Automatischer Refresh:
Bild von 13:06:37

Nächster Refresh:
Bild von 13:07:37

Nächster Refresh:
Bild von 13:09:07

Nächster Refresh:
Bild von 13:10:37

Nächster Refresh:
Bild von 13:15:06

Nächster Refresh:
Bild von 13:15:36

Nächster Refresh:
Bild von 13:17:06

Nächster Refresh:
Bild von 13:18:36

Nächster Refresh:
Bild von 13:20:06

Nächster Refresh:
Bild von 13:20:36

Nächster Refresh:
Bild von 13:21:36

Nächster Refresh:
Bild von 13:24:06

Nächster Refresh:
Bild von 13:30:35
....

idansch

Das Bild wird angezeigt. Nur mit dem Refresh will es nicht so gehen. Das Bild wird nicht alle x Sekunden neu geholt. Komme nicht weiter.

<li data-row="1" data-col="2" data-sizex="3" data-sizey="2">
     <header>TOM</header>
     <div data-type="image"
     data-size="95%"
     data-url="http://192.168.109.27/tmpfs/snap.jpg?usr=XXX&pwd=XXX&resolution=64&rate=0"
data-refresh="5">
</div>
</li>



Gibt es eine Lösung für dieses "Problem"?
Raspberry PI3 mit Stretch-Raspbian | CUL V3 868Mhz | RFXtrx 433Mhz | ...

bjoernbo

Warum nimmst du eigentlich nicht das aktuelle "Live-Bild"?
Ich lasse mir das aktuelle Live-Bild einblenden und kann zudem die Kamera sogar steuern.
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -