FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: nesges am 10 April 2015, 10:30:25

Titel: [FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 10 April 2015, 10:30:25
Im Repository Widgets-for-fhem-tablet-ui (https://github.com/nesges/Widgets-for-fhem-tablet-ui) stelle ich einige zusätzliche Widgets für fhem-tablet-ui (https://github.com/knowthelist/fhem-tablet-ui/) (Thread im Forum (http://forum.fhem.de/index.php/topic,34233.msg265505.html#msg265505)) zur Verfügung. Aktuell enthält es die Widgets:


Installation:

1. Fhem
Der Update-Mechanismus von Fhem wird unterstützt. Mit folgendem Befehl in der Fhem-Eingabe werden die Widgets installiert/upgedatet:
update all https://raw.githubusercontent.com/nesges/Widgets-for-fhem-tablet-ui/master/controls_widgets-for-fhem-tablet-ui.txt

In New FHEM Tablet UI#968 (http://forum.fhem.de/index.php/topic,34233.msg287146.html#msg287146) ist eine Möglichkeit zur Implementierung von Updatebenachrichtigungen beschrieben.

2. Nicht Fhem
Wird FTUI ausserhalb von Fhem betrieben, sollte das Github-Repository geclont werden:
git clone https://github.com/nesges/Widgets-for-fhem-tablet-ui.git

Ich empfehle in dieser Konstellation die Widgets ins js-Verzeichnis von fhem-tablet-ui-js zu symlinken:
cd <fhem-tablet-ui>/www/tablet/js/
ln -s <Widgets-for-fhem/tablet-ui>/www/tablet/js/*.js .



Testing:

Das Repository enthält ein Verzeichnis "testing" das in Entwicklung befindliche Widgets und Testversionen enthält. Diese Widgets können gerne ausprobiert werden, ihr solltet allerdings nicht davon ausgehen, dass sie ohne weiteres funktionieren. Sie werden daher idR auch nicht supported.


Näheres ist im Repository dokumentiert (https://github.com/nesges/Widgets-for-fhem-tablet-ui). Fragen und Diskussionen dazu bitte hier.



Demos

Viele Demos anderer Anwender werden im Repository Github: fhem-ftui-user-demos (https://github.com/ovibox/fhem-ftui-user-demos) gesammelt. Diskussion dazu in diesem Thread im Forum (http://forum.fhem.de/index.php?topic=37378.msg296510#msg296510).
Titel: Antw:[FHEM-TABLET-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 10 April 2015, 10:32:23
Änderungen an wind_direction:

widget_wind_direction (https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/js/widget_wind_direction.js) versucht in der neusten Version auch das Reading "wind_speed" auszuwerten. Ist es vorhanden und hat den Wert "0" wird im Textfeld in der Mitte "-" angezeigt. Ist es nicht vorhanden ändert sich nichts (Anzeige "N"). Ausserdem wurde das Standardreading für die Windrichtung von "STATE" auf "wind_direction" (Standard im Modul Weather (http://fhem.de/commandref.html#Weather)) geändert und das Attribut "data-get" in "data-direction" umbenannt ("data-get" kann weiterhin verwendet werden). Neu sind die beiden Attribute "data-speed" für das Reading mit der Windgeschwindigkeit (Default "wind_speed"; "data-part" wird nicht auf dieses Reading angewendet) und das Attribut "data-calm" für die Anzeige für Windstille (Default: "-").

Ich habe versucht die Änderungen abwärtskompatibel zu halten, d.h. es sollten keine Änderungen im HTML Code notwendig sein. Ausnahme: Falls STATE ausgewertet wird, muss das jetzt explizit als data-direction="STATE" angegeben werden.

Todo: Bei Windstille sollte der grafische Richtungsanzeiger nicht angezeigt werden. Ich bin vorerst daran gescheitert den Wert "speed" in die Funktion drawDial zu übernehmen.

Update 14:14: Neue Version mit Bugfix (Zeiger wurde nicht gedreht) verfügbar
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 11 April 2015, 16:23:58
Neues Widget: settimer

Controll zum Anzeigen/Einstellen einer Uhrzeit. Die Einstellung der Uhrzeit wird mit zwei Knob-Elementen vorgenommen (links Stunde, rechts Minute) und mit dem oberen Button abgesendet. Dazu werden Stunde und Uhrzeit mit Doppelpunkt verbunden und ggf. mit führender Null versehen (9+13 = 09:13). Der untere Button sendet ein "off" Kommando.

<div data-type="settimer"
    data-device="WECKER"></div>


Liest und sendet die Uhrzeit aus STATE des Device WECKER.

<div data-type="settimer"
    data-device="WECKER"
    data-reading="time">


Liest und sendet die Uhrzeit aus dem Reading "time" des Device WECKER.

Weiterführende Doku unter Widgets-for-fhem-tablet-ui#settimer (https://github.com/nesges/Widgets-for-fhem-tablet-ui#settimer). Download unter widget_settimer.js (https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/js/widget_settimer.js).

PS: Die veröffentlichte Version ist noch in einem sehr frühen Stadium. Änderungen sind sehr wahrscheinlich, Anregungen dazu sind sehr willkommen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 11 April 2015, 16:35:24
Nice:-)
Wichtig wäre vllt. noch mo-fr, mo-so oder ein bestimmter Tag. Nicht an Feiertagen...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: hotwebnet am 11 April 2015, 20:55:09
Hallo, super mit dem Wecker....bekomme es aber im moment noch nicht so 100% hin.....
deine Code habe ich genommen wie die Ihn geschrieben hast, aber dann bekomme ich so ein Bild.....
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 12 April 2015, 00:28:28
Zitat von: setstate am 11 April 2015, 16:35:24
Wichtig wäre vllt. noch mo-fr, mo-so oder ein bestimmter Tag. Nicht an Feiertagen...

Könnte ich mir als von settimer abgeleitetes Widget vorstellen, das einen WeekdayTimer bedient. "Nicht an Feiertagen" dürfte herausfordernd werden; die Abhängigkeiten zu anderen fhem-Komponenten (holiday/Calendar) sind da für meinen Geschmack zu speziell und individuell für ein generisches Widget. Aber mal schauen :)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 12 April 2015, 00:35:29
Zitat von: hotwebnet am 11 April 2015, 20:55:09
deine Code habe ich genommen wie die Ihn geschrieben hast, aber dann bekomme ich so ein Bild.....

Daran ist eigentlich alles richtig. Du hast das Widget nur in einen zu großen Container gesteckt, es breitet sich standardmässig bis zu beiden Rändern aus. D.h.: Nimm einen kleineren Container oder beschränke die Größe per CSS (Abschnitt "Styling" in der Doku (https://github.com/nesges/Widgets-for-fhem-tablet-ui#settimer)). "NaN" = "Not a Number" steht da, weil du bei einem unitialisierten Dummy auf den Set-Button gedrückt hast ohne einen Wert auszuwählen. Sollte verschwinden, sobald du eine Uhrzeit speicherst.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 12 April 2015, 01:10:48
Zitat von: nesges am 12 April 2015, 00:35:29
es breitet sich standardmässig bis zu beiden Rändern aus

Ich habe grade diesbez. noch eine Änderung eingecheckt: Das Widget hat jetzt eine Standardbreite von 380px. Das alte Verhalten kann mit data-width="auto" wieder hergestellt werden. Mit data-width="#" wird das Widget auf eine Breite von # Pixeln gesetzt. Ausserdem habe ich einige Standardmargins hinzugefügt, die die Knobs und Buttons von den Rändern absetzen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Phil__ am 13 April 2015, 14:41:13
Zitat von: hotwebnet am 11 April 2015, 20:55:09
Hallo, super mit dem Wecker....bekomme es aber im moment noch nicht so 100% hin.....
deine Code habe ich genommen wie die Ihn geschrieben hast, aber dann bekomme ich so ein Bild.....

Hallo hotwebnet,

Oh, waow!
Dein Screenshot sieht ja klasse aus!
Wärst du evtl bereit den Quellcode dazu hier zu posten oder mir per PN zukommen zu lassen?
Bin da nicht ganz so fit und ein solches Bsp wäre klasse!

Viele Grüße
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 13 April 2015, 19:34:17
Servus!

Gibt es irgendeinen speziellen Trick, um das Wind-Direction-Widget zur Zusammenarbeit mit einer Homematic Wetterstation WDS-100 zu bewegen? Irgendwie bekomm ich's nicht hin...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 13 April 2015, 19:45:17
Zitat von: tomster am 13 April 2015, 19:34:17
Gibt es irgendeinen speziellen Trick, um das Wind-Direction-Widget zur Zusammenarbeit mit einer Homematic Wetterstation WDS-100 zu bewegen? Irgendwie bekomm ich's nicht hin...

Ich kenne die WDS-100 nicht, aber wenn sie zumindest ein direction-Reading in Grad oder als Text liefert, dann sollte es keine Probleme geben. Woran hängt's denn?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 13 April 2015, 19:53:01
Ich vermute daran, dass ich folgendes Reading vom Device in FHEM bekomme:

state        T: 8.2 H: 55 W: 21.2 R: 56.64 IR: 0 WD: 310 WDR: 67.5 S: 174 B: 9

Ich kann zwar das JS des Widgets nicht lesen, vermute aber, dass das Widget nur eine 3-stellige Zahl erwartet und nicht noch weiteres Gesumms nach dem WD: 310
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 13 April 2015, 19:58:25
Der Wert ist ja dreistellig, das passt schon. Du hast per data-part angegeben, an welcher Stelle der Windrichtungswert zu finden ist? Deine Definition müsste in etwa so aussehen:

<div data-type="wind_direction"
    data-device="WDS100"
    data-reading="STATE"
    data-part="12"></div>


Die Windgeschwindigkeit bekommt man in der aktuellen Implementierung nicht aus dem STATE raus, weil data-part dafür nicht implementiert ist. Könnte ich aber noch einbauen, wenn's grundsätzlich läuft.

Update: Ich hab die Änderung für speed-part kurzerhand in der neuen Version (https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/js/widget_wind_direction.js) eingebaut. Du kannst jetzt direction-part und speed-part verwenden.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 13 April 2015, 20:15:30
Hab gerade alles zwischen 10 und 23 durchprobiert mit dem data-part. Leider kein Erfolg
Ich dachte, dass es so hinhauen müsste. Tut's aber auch nicht...

<div data-type="wind_direction" data-device="Wetterstation" data-reading="STATE" direction-part="WD: " data-speed="wind_speed" speed-part="W: " data-calm="~" data-tickstep="3" data-size="120" class="cell">

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 13 April 2015, 20:55:39
Sorry, data-reading war Blödsinn, ich sollte meine eigene Doku lesen: https://github.com/nesges/Widgets-for-fhem-tablet-ui#wind_direction
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 14 April 2015, 12:08:58
Wie wird denn nun direction-part korrekt angegeben?
Nach 3-stelligen Werten nach einer Angabe wie z.B. "WD:" oder muss ich die Stellenplatzierung der eingelesenen Zahlenwerte in Form von "12" (=Beginn ab 12. Stelle) angeben? Letzteres variert ja immer, je nach der Höhe der vorausgehenden Werte...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 14 April 2015, 12:59:02
Zitat von: tomster am 14 April 2015, 12:08:58
Nach 3-stelligen Werten nach einer Angabe wie z.B. "WD:" oder muss ich die Stellenplatzierung der eingelesenen Zahlenwerte in Form von "12" (=Beginn ab 12. Stelle) angeben? Letzteres variert ja immer, je nach der Höhe der vorausgehenden Werte...

Wenn's variiert musst du für direction-part/speed-part einen Regex wie in https://github.com/knowthelist/fhem-tablet-ui angerissen, angeben. Hab ich selbst noch nicht verwendet, sollte aber so funktionieren:

<div data-type="wind_direction"
    data-device="Wetterstation"
    data-direction="STATE"
    data-direction-part=".*?WD: (\d+).*"
    data-speed="STATE"
    data-speed-part=".*?W: (\d+).*"
></div>
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 14 April 2015, 13:26:31
OK, regex. Verstanden.
Mit Deinen Angaben bekomme ich jetzt wenigstens schon mal ein "ERR" im Speedfenster. Danke!

--edit--

Hab die Regex's nochmal überprüft. Korrekterweise müssten sie wohl für Wind ".*?WD: (\d+).*" und für Wind-Speed ".*?W: (\d+\.\d+).*" lauten. Leider gibt mir das Widget trotzdem einen Error beim Windspeed, die Grananzeige der Windrichtung passt. Kann das Widget evtl. keine punkt-separierten Kommazahlen?

Hier zur Vollständigkeit mein Code für eine Homematic Wetterstation:

<div data-type="wind_direction" data-device="HM-WDS100" data-direction="STATE" data-direction-part=".*?WD: (\d+).*" data-speed="STATE" data-speed-part=".*?W: (\d+\.\d+).*" data-calm="-" data-tickstep="4" data-size="120" class="cell"></div>
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 14 April 2015, 13:47:05
Zitat von: tomster am 14 April 2015, 13:26:31
Hab die Regex's nochmal überprüft. Korrekterweise müssten sie wohl für Wind ".*?WD: (\d+).*" und für Wind-Speed ".*?D: (\d+\.\d+).*" lauten. Leider gibt mir das Widget trotzdem einen Error beim Windspeed und eine 0°-Anzeige bei der Windrichtung.

Einen "D:"-Wert sehe ich in deinem Beispiel gar nicht, sicher dass das so stimmt? Wenn du nicht sicher bist, dass der Wert der richtig ist, dann lass ihn erstmal einfach weg. wind_direction funktioniert auch ohne speed. speed wird nur gebraucht um Windstille anzuzeigen bzw. "Windstille mit Winrichtung N" von "Windrichtung N" zu unterscheiden.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 14 April 2015, 13:52:34
Ich meinte natürlich W: nicht D:

Hab's oben ausgebessert und meine Code hinzugefügt.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 14 April 2015, 13:58:46
Wäre es nicht auch schmuck, wenn im Kreis eine Anzeige mit Winddirection/Speed stehen würde? So à la
       235°
         5
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 14 April 2015, 14:24:30
Zitat von: tomster am 14 April 2015, 13:58:46
Wäre es nicht auch schmuck, wenn im Kreis eine Anzeige mit Winddirection/Speed stehen würde? So à la
       235°
         5

Die Idee hatte ich schonmal drin, aber für meinen Geschmack war das Widget damit zu sehr überladen. Sinnvoll unterzubringen wäre das nur in der 150px Version, und da kann man sich auch ein label Widget per CSS drüber schieben. Was ich bisher gesehen habe, wird das Widget aber eher in der 100px Größe (class small) verwendet und da ist schlicht kein Platz.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 14 April 2015, 14:29:24
Änderung am Widget button:

Die Attribute data-oncolor und data-offcolor sind ab sofort deprecated. Im Kontext der anderen Button-Widgets (push, symbol, switch..) war die Definition der Attribute unlogisch. Statt dessen sollte man die standardisierten Attribute data-on-background-color und data-off-background-color  verwenden. Die aktuellste Version (https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/js/widget_button.js) zeigt daher eine Warnmeldung in der Javascript-Console an:

ZitatAttributes data-color/data-offcolor are deprecated in widget "button" on http://wopr/tui/room/index.php url: buero.php use any of data-on-color, data-off-color, data-on-background-color, data-off-background-color instead

Bitte passt euren Button Code entsprechend an. Aktuell funktionieren die beiden Attribute noch, sie werden aber in einer zukünftigen Version entfernt werden.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Phil__ am 14 April 2015, 16:34:36
Habe eine Frage zum Button-Widget,

wenn ich den Button mit data-url wie folgt konfiguriere, komme ich immer nur auf die Standart Fhem Startseite und nicht auf das Ziel meines Links.
<div style="font-size:30px; color:rgb(96, 0, 0);" data-type="button" data-color="#aa6900" data-url="heating.html" data-icon="fa-fire" class="cell small"></div>

Nur bei folgender definition funktiniert es.
Wor kann das liegen, bzw. ist das richtig so?
Meine Files (heating.html) liegen im selben Ordner wie die index.html (www/tablet/.)

<div style="font-size:30px; color:rgb(96, 0, 0);" data-type="button" data-color="#aa6900" data-url="https://192.168.50.200:8083/fhem/tablet/heating.html" data-icon="fa-fire" class="cell small"></div>

Viele Grüße
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 14 April 2015, 16:47:50
Zitat von: Phil__ am 14 April 2015, 16:34:36wenn ich den Button mit data-url wie folgt konfiguriere, komme ich immer nur auf die Standart Fhem Startseite und nicht auf das Ziel meines Links.

HTTPSRV, das Modul mit dem fhem-tablet-ui in Fhem eingebunden wird, verhält sich leider ein bisschen seltsam: Da (in der Standardkonfiguration) die aufgerufene Seite nicht auf einen Slash endet ("tablet" und nicht "tablet/") wird der Teil des URLs einfach ersetzt, statt einen Slash zu ergänzen und das Ziel daran anzuhängen. Abhilfe schafft eine Korrektur der HTTPSRV-Definition:

define tablet_ui HTTPSRV tablet/ ./www/tablet Tablet Frontend

War bisher nicht aufgefallen, danke für den Hinweis! :)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 15 April 2015, 00:41:16
Weitere Änderung am Widget button:

Das Attribut fhem-cmd musste bisher urlencoded angegeben werden. Das ist ab sofort nicht mehr notwendig. Wo vorher "%7Bpizzatimer%28%22TIMER1%22%2C+300%29%7D" notiert wurde, muss jetzt "{pizzatimer("TIMER1",+300)}" notiert werden. Das Widget enthält für einen Übergangszeitraum eine Prüfung, ob die Angabe urlencoded ist. Falls ja, wird sie decoded und eine Warnung wie die folgende in der Javascript-Konsole ausgegeben:

Zitatwidget_button: urlencoding the target of fhem-cmd is deprecated. decoding %7Bpizzatimer%28%22TIMER1%22%2C+300%29%7D to {pizzatimer("TIMER1",+300)}

https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/js/widget_button.js
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 15 April 2015, 17:42:55
Nochmal kurz zum Wind-Widget in Verbindung mit einer Homematic-Wetterstation HM-WDS100-C6-O:

Mit dieser Angabe werden windDirection und windSpeed auch im Widget angezeigt:

<div data-type="wind_direction" data-device="Wetterstation" data-direction="windDirection" data-speed="windSpeed" data-calm="~" data-tickstep="4" data-size="120" class="cell"></div>


Was ich allerdings noch nicht geschafft habe ist die Anzeige ein einer textlichen Gradangabe an Stelle der Sektoralangabe, obwohl die Werte jedoch in Gradform vorliegen.
Mach ich was falsch, oder ist das schlichtweg nicht eingebaut?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 15 April 2015, 20:03:33
Zitat von: tomster am 15 April 2015, 17:42:55
Was ich allerdings noch nicht geschafft habe ist die Anzeige ein einer textlichen Gradangabe an Stelle der Sektoralangabe, obwohl die Werte jedoch in Gradform vorliegen.
Mach ich was falsch, oder ist das schlichtweg nicht eingebaut?

Es war sogar das Gegenteil eingebaut :) Ein numerischer Wert wurde bisher immer in die Sektoralangabe umgewandelt, weil ich davon ausging, dass niemand die Gradzahlen haben möchte. Ich habe grade eine neue Version eingecheckt, in der das per data-display-numeric="true" umschaltbar ist.

https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/js/widget_wind_direction.js
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 15 April 2015, 20:45:57
Danke! Du bist echt schneller als die Feuerwehr. Und ich bin anscheinend genau das Gegenteil Deiner Vorstellung von breiter Masse ;-)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 16 April 2015, 22:37:02
Anpassung an FTUI 1.4 / Unterstützung des Fhem-Updatemechanismus

Mit der Version 1.4 des Fhem Tablet UI (http://forum.fhem.de/index.php/topic,34233.msg286637.html#msg286637) sind einige Interna geändert worden, die sich zum Teil auch in den Widgets nieder schlagen. Daher müssen diese nach dem Update auf FTUI 1.4 ebenfalls aktualisiert werden. Um Updates in Zukunft zu erleichtern, wird jetzt auch der Fhem-Updatemechanismus unterstützt. Dazu mussten innerhalb des Repositorys einige Änderungen vorgenommen werden:

1.) Fertige Widgets befinden sich jetzt im Verzeichnis www/tablet bzw. im Unterverzeichnis js. Nur Widgets die in diesem Verzeichnis liegen, werden durch den Fhem Updatemechanismus geladen.
2.) Unfertige Widgets bzw. experimentelle Versionen befinden sich im Verzeichnis testing. Diese Versionen werden generell nicht für einen produktiven Einsatz empfohlen und werden auch nicht supported.
3.) Demos befinden sich im Verzeichnis demo

Innerhalb von Fhem kann die Installation bzw. das Update der Widgets mit folgendem Kommando gestartet werden:

update all https://raw.githubusercontent.com/nesges/Widgets-for-fhem-tablet-ui/master/controls_widgets-for-fhem-tablet-ui.txt

Ggf. kommt es beim ersten Update zu Kollisionen mit früher von Hand angelegten Versionen der Widgets. Bitte verschiebt oder löscht die alten Dateien zunächst.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: chris1284 am 19 April 2015, 19:59:33
ich aktualisiere ja auch deine widget immer mit. läuft auch soweit.
allerdings muss ich immer (wenn nötigt) das weather widget in zeile 305 auf
var fhem = $("meta[name='fhemweb_url']").attr("content") || "../"; ändern und weiss nicht wo der unterschied zu deinem system liegt das der pfad nicht passt bei mir... hast du eine idee?
ohne die änderung bekomm ich kleinklima nicht gezeigt da der pfad nicht stimmt

und noch eine frage: wie kann ich die kleinklima bilder in der größe anpassen?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 19 April 2015, 20:29:02
Zitat von: chris1284 am 19 April 2015, 19:59:33
var fhem = $("meta[name='fhemweb_url']").attr("content") || "../"; ändern und weiss nicht wo der unterschied zu deinem system liegt das der pfad nicht passt bei mir... hast du eine idee?

Ich frag mich vor allem wo der Unterschied zu fhem-tablet-ui.js Zeile 216, 250 und 333 ist - da wird der Fhem-Pfad exakt auf die gleiche Weise bestimmt. Wie sieht deine Verzeichnisstruktur aus, gib mir mal bitte deine konkreten Pfade für:

1.) Wo liegt Fhem? (Standard: /opt/fhem/)
2.) Wo liegt Fhem Tablet UI? (Standard: /opt/fhem/www/tablet/)
3.) Wo liegen die kleinklima-Images? (Standard: /opt/fhem/www/images/default/weather/)

Darüber hinaus:

4.) Wie wird FTUI gestartet, also wie sieht der URL aus? (Standard: http://host:8083/fhem/tablet/)
5.) Wie sieht der URL für das normale Fhem-UI aus? (Standard: http://host:8083/fhem)

Und kopier bitte den <head> Bereich deines HTML-Files. Ansonsten fällt mir grade nichts ein, das man prüfen könnte.

Zitatund noch eine frage: wie kann ich die kleinklima bilder in der größe anpassen?

Du kannst das <div> per CSS vergrößern/verkleinern. zB in aussen.html (https://github.com/nesges/TabletUI-Demo-WOPR/blob/master/html/room/aussen.html) Zeile 164ff findest du ein Beispiel dafür. Das Image selbst strebt wegen style="width:100%" immer danach das <div> (in der Breite) komplett auszufüllen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: chris1284 am 19 April 2015, 20:57:43
Zitat1.) Wo liegt Fhem? (Standard: /opt/fhem/)
/opt/fhem
Zitat2.) Wo liegt Fhem Tablet UI? (Standard: /opt/fhem/www/tablet/)
/opt/fhem/www/tablet
Zitat3.) Wo liegen die kleinklima-Images? (Standard: /opt/fhem/www/images/default/weather/)
/opt/fhem/www/images/default/weather
Zitat4.) Wie wird FTUI gestartet, also wie sieht der URL aus? (Standard: http://host:8083/fhem/tablet/)
http://srv01.fritz.box:8083/fhem/tablet/index1.html
Zitat5.) Wie sieht der URL für das normale Fhem-UI aus? (Standard: http://host:8083/fhem)
http://srv01.fritz.box:8083/fhem

ZitatUnd kopier bitte den <head> Bereich deines HTML-Files. Ansonsten fällt mir grade nichts ein, das man prüfen könnte.

<!DOCTYPE html>
<html>
<head>
<title>FHEM</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_base_width" content="116">
<meta name="widget_base_height" content="131">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="debug" content="0"> <!-- 1=output to console;0=not output -->

<link rel="stylesheet" href="/fhem/tablet/lib/jquery.gridster.min.css" />
<link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui_lite.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/font-awesome.min.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/openautomation.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/fhemSVG.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/jquery.toast.min.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/powerange.min.css" />

<script type="text/javascript" src="/fhem/pgm2/jquery.min.js"></script>
    <script type="text/javascript" src="/fhem/tablet/lib/jquery.knob.mod.min.js"></script>
<script type="text/javascript" src="/fhem/tablet/lib/jquery.toast.min.js"></script>
<script type="text/javascript" src="/fhem/tablet/lib/jquery.circlemenu.js"></script>
<script type="text/javascript" src="/fhem/tablet/lib/powerange.min.js"></script>
<script type="text/javascript" src="/fhem/tablet/lib/jquery.gridster.min.js"></script>
    <script type="text/javascript" src="/fhem/tablet/lib/fa-multi-button.min.js"></script>
<script type="text/javascript" src="/fhem/tablet/js/fhem-tablet-ui.js"></script>

<!-- Enable this lines for usage with WebViewControl --><!--
<script type="text/javascript" src="/fhem/pgm2/cordova-2.3.0.js"></script>
<script type="text/javascript" src="/fhem/js/webviewcontrol.js"></script>
<script type="text/javascript">var wvcDevices = {'12345': 'Tablet'}; var wvcUserCssFile="webviewcontrol.css"</script>
--><!-- End for WebViewControl -->
</head>

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 19 April 2015, 22:01:14
Danke für die Infos! Ich glaub ich hab's: Ändere mal die Zeile in widget_weather.js in:

var fhem = $("meta[name='fhemweb_url']").attr("content") || "/fhem/";

Damit sollte's funktionieren. FHEMWEB macht komische Sachen. Der relative Pfad wird bei http://srv01.fritz.box:8083/fhem/tablet/index1.html und http://srv01.fritz.box:8083/fhem/tablet intern unterschiedlich gesetzt. Bei .../fhem/tablet/index.html ist der interne Pfad .../fhem/tablet/, bei .../fhem/tablet ist er /fhem/. Daher passt die relative Angabe ../fhem nur, wenn man http://srv01.fritz.box:8083/fhem/tablet aufruft. Apache macht diesen Fehler nicht, daher ist's mir nie aufgefallen. Die absolute Pfadangabe /fhem/ sollte in allen Standardinstallationen passen. Wenn du das bestätigen kannst, werd ich die Änderung für widget_weather.js und fhem-tablet-ui.js vornehmen. Dass es dort trotzdem funktioniert liegt auch wieder an FHEMWEBs komischem Verhalten: http://srv01.fritz.box:8083/fhem/fhem?cmd=list%20.* wird genauso funktionieren wie http://srv01.fritz.box:8083/fhem/bli/bla/blo/fhem?cmd=list%20.*
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: chris1284 am 20 April 2015, 06:32:11
var fhem = $("meta[name='fhemweb_url']").attr("content") || "/fhem/";

geht!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: chris1284 am 22 April 2015, 19:25:20
im updates ist es noch nicht oder?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 22 April 2015, 19:33:50
Zitat von: chris1284 am 22 April 2015, 19:25:20
im updates ist es noch nicht oder?

Nee, ich fürchte ich hab setstate mit pull request geflooded und nen deadlock verursacht - iow: müsste bald kommen
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 22 April 2015, 19:57:33
Zitat von: nesges am 22 April 2015, 19:33:50
Nee, ich fürchte ich hab setstate mit pull request geflooded und nen deadlock verursacht - iow: müsste bald kommen

Kommt noch  :)
Ich wollte heute morgen alle abarbeiten, aber an einer Stelle hin es noch bei mir. Muss ich mir erst noch ansehen. Geduld ...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 22 April 2015, 20:16:30
Zitat von: setstate am 22 April 2015, 19:57:33
Geduld ...

Jojo, kein Thema :)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 24 April 2015, 00:32:45
Neue Widget: iframe

Widget zum Einbinden externer Inhalte in einem Iframe. Vor der Anzeige des Iframes wird geprüft, ob die externe Seite erreichbar ist (HEAD Request). Während der Prüfung wird ein rotierendes Spinner-Icon angezeigt. Konnte die Seite geladen werden, wird der Iframe eingeblendet, ansonsten ein Error-Symbol.

<div data-type="iframe"
    data-src="http://server.intranet/externer/inhalt.html"
    data-fill="yes"
></div>


Dokumentation unter https://github.com/nesges/Widgets-for-fhem-tablet-ui#iframe
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 24 April 2015, 16:35:42
Der Code ist eine Augenweide!!!

Ein Musterbeispiel für Übersichtlichkeit plus Funktionalität.
Gefällt mir sehr gut.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 24 April 2015, 17:21:50
Nu hör aber auf ;) Danke!

Ich habe noch ein weiteres Attribut "data-check-src" eingeführt. Um dessen Funktion zu erklären, muss ich ein wenig ausholen.

Die Same Origin Policy hat mir gestern doch noch einiges an Kopfzerbrechen bereitet. SOP bedeutet kurz gefasst: Ein Dienst wird auf einen XMLHTTPRequest ("Ajax") nicht ohne weiteres eine Antwort liefern, wenn der Request durch einen Browser ausgelöst wurde, der eine Seite eines anderen Servers aufgerufen hat.  Man kann das zwar im Dienst zulassen, aber insbesondere die KODI Weboberfläche "Chorus" hat das nicht implementiert. Die naheliegendste Lösung dafür wäre die Weboberfläche per Apache Reverseproxy vom fhem-Server ausliefern zu lassen, allerdings habe ich's nicht hinbekommen den Reverseproxy so zu implementieren, dass dann auch noch KODIs JSONRPC funktioniert:

<Location /kodi/mcp>
            RequestHeader set Authorization "Basic bliblablo"
            ProxyPass http://192.168.178.34:80
            ProxyPassReverse http://192.168.178.34:80
            Order deny,allow
            Allow from all
</Location>


D.h. mein fhem-Server liefert zwar jetzt unter der Adresse /kodi/mcp/ einen Zugang zum KODI Webinterface, der ist nur nicht benutzbar. Für die Verfügbarkeitsprüfung reicht das allerdings aus. Daher habe ich jetzt die Iframes für die Chorus-Integration folgendermassen umgesetzt:

<div data-type="iframe"
            data-check-src="/kodi/mcp/addons/webinterface.chorus/"
            data-src="http://bli:bla@192.168.178.34:80/addons/webinterface.chorus/"
            data-fill="yes"></div>


/kodi/mcp/addons/webinterface.chorus/ wird geprüft, und wenn verfügbar wird ein Iframe mit http://bli:bla@192.168.178.34:80/addons/webinterface.chorus/ erzeugt. Das ist in meinen Augen ein dreckiger Hack, aber ich werde ihn solange benutzen müssen, bis mir mal jemand Apache Reverseproxy richtig erklärt ;)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 24 April 2015, 18:00:32
muss ich nur das iframe-Widget ins js Verzeichnis legen oder muss in der html-Datei noch ein Verweis hinterlegt werden? Ich frage weil mir nichts angezeigt wird.In der Konsole bekomme ich nur die Meldung:
ZitatSynchrone XMLHttpRequests am Haupt-Thread sollte nicht mehr verwendet werden, weil es nachteilige Effekte für das Erlebnis der Endbenutzer hat. Für weitere Hilfe siehe http://xhr.spec.whatwg.org/
... aber das hat ja nichts mit dem Widget zu tun.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 25 April 2015, 01:15:37
Zitat von: bjoernbo am 24 April 2015, 18:00:32
muss ich nur das iframe-Widget ins js Verzeichnis legen oder muss in der html-Datei noch ein Verweis hinterlegt werden?

Nein, kein weiterer Verweis. Ganz standardmässig ins JS-Verzeichnis damit, bzw. per Fhem-Update beziehen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Hermann am 25 April 2015, 18:40:14
Hallo,
Ist es möglich mit dem widget iframe eine webcam anzeigen zu lassen ? Ich hab auf einen 2´ten Raspi zu Testzwecken "motion" mit ner Webcam laufen. Die wollte ich per iframe anzeigen lassen.
Mit  data-src="http://192.168.2.5:8081" wollte ich das ganze einbinden. Klappt aber so nicht :-( Wo liegt mein Denkfehler oder geht das ganze gar nicht ?
Hermann
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 25 April 2015, 19:31:09
ja ist möglich! Ich habe auf meinem UI gleich 4 Stück. Nebenbei kann ich diese auch steuern.
Anbei der Code.

Zitat<!--  F O S C A M  S T E U E R U N G -->
    <script type="text/javascript">

   //******* Edit This *******
        var chrUser = 'admin' //User name
        var chrPassword = 'XXXXXX' //Password
        var chrURL = '192.xxx.xxx.xxx:PORT' // do not include "http://" in this line
    //****** End of User Editing ******
function doCam1(arg, chrType) {   
            if(document.getElementById('ifrResult1')){
                if(chrType == 1){       chrCGI = 'decoder_control'
               
                }else if(chrType == 3){ chrCGI = 'snapshot'
                }else if(chrType == 4){ chrCGI = 'set_alarm'
                }else if(chrType == 9){ chrCGI = 'reboot'
                }else{                  chrCGI = 'camera_control'
                }
             document.getElementById('ifrResult1').src='http://'+chrURL+'/'+chrCGI+'.cgi?user='+chrUser+'&amp;pwd='+chrPassword+'&amp;'+arg;
            }
        }
    </script>   

<li data-row="3" data-col="3" data-sizex="4" data-sizey="3"> <!-- 928*655 -->
    <header>KAMERA</header>
    <div class="container">
        <div class="center">   
            <div class="cell">Ben</div>
                <div type="label" class="cell"><img src="http://xxx.xxx.xxx.xxx:[PORT]/videostream.cgi?user=xxxxx&pwd=xxxxxxx" height="320" wight="350" border="0">
                </img src></div>
        </div>
            <div class="ontop">
                <div class="cell circlemenu wider">
                    <ul class="menu keepopen">               
                        <li><div data-type="push" onclick="doCam1('command=1',1)" data-icon="fa-stop"></div></li>
                        <li><div data-type="push" onclick="doCam1('command=0',1)" data-icon="fa-arrow-up"></div></li>
                        <li><div data-type="push" onclick="doCam1('command=4',1)" data-icon="fa-arrow-right"></div></li>
                        <li><div data-type="push" onclick="doCam1('command=2',1)" data-icon="fa-arrow-down"></div></li>
                        <li><div data-type="push" onclick="doCam1('command=6',1)" data-icon="fa-arrow-left"></div></li>
                    </ul>
                </div>
            </div>
        </div>
            <iframe  id="ifrResult1" name="ifrResult1" style="border:1pt;width:1px;height:1px;"></iframe>
            <iframe  id="ifrResult" name="ifrResult" style="border:1pt;width:1px;height:1px;"></iframe>
       </div>
   </div>
</li>
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 26 April 2015, 02:25:32
Zitat von: Hermann am 25 April 2015, 18:40:14
Ist es möglich mit dem widget iframe eine webcam anzeigen zu lassen ? Ich hab auf einen 2´ten Raspi zu Testzwecken "motion" mit ner Webcam laufen. Die wollte ich per iframe anzeigen lassen.
Mit  data-src="http://192.168.2.5:8081" wollte ich das ganze einbinden. Klappt aber so nicht :-( Wo liegt mein Denkfehler oder geht das ganze gar nicht ?

Grundsätzlich möglich ist es schon, problematisch ist wahrscheinlich die Same Origin Policy. Hast du Fehlermeldungen in der JS-Konsole?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 27 April 2015, 13:56:05
widget_iframe kann jetzt ein Fhem-Device überwachen und bei einer Zustandsänderung sich selbst aktualisieren. Dazu gibt es drei neue Attribute:

data-device
Name eines Fhem-Devices das überwacht werden soll. Bei Zustandsänderung kann ein Refresh des Widgets ausgelöst werden. Default: nicht gesetzt

data-get
Name eines Readings eines Fhem-Devices das überwacht werden soll. Bei Zustandsänderung kann ein Refresh des Widgets ausgelöst werden. Default: STATE

data-get-refresh
Wert des überwachten Zustands (siehe device/get) der einen Refresh des Widgets auslösen soll. Ist get-refresh nicht gesetzt, löst jede Zustandsänderung einen Refresh aus. Default: nicht gesetzt
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 28 April 2015, 17:54:44
hey nesges,

ich habe dein iframe-Widget ins JS Verzeichnis kopiert und folgenden Code verbaut:

Zitat<li data-row="1" data-col="2" data-sizex="8" data-sizey="5"> <!-- 928*655 -->
    <header>Fernsehprogramm</header>
        <div data-type="iframe"
    data-src="http://192.168.178.60:5900/ajax/multiepg2"
    data-icon-spinner="fa-spinner fa-spin"
    data-color-spinner="#aa6900"
    data-icon-error="fa-frown-o"
    data-color-error="#505050"
    data-scrolling="yes"
    data-timeout="3000">
</div>
      </li>

leider bleibt der Container leer und es wird nichts angezeigt, Egal welche externe Quelle ich angebe. Wo liegt mein Denkfehler?

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 28 April 2015, 17:56:38
Zitat von: bjoernbo am 28 April 2015, 17:54:44
leider bleibt der Container leer und es wird nichts angezeigt, Egal welche externe Quelle ich angebe. Wo liegt mein Denkfehler?

Gibt's eine Fehlermeldung in der JS-Konsole?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 28 April 2015, 18:01:37
negativ! keine Fehlermeldung!

mit folgendem Code funtzt es

Zitat.......
<header>Fernsehprogramm</header>
    <iframe src="http://192.168.178.60:5900/ajax/multiepg2"></iframe>
      </li>

dadurch verwende ich allerdings nicht das Widget. Mit dieser Variante habe ich aber auch kein Problem.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 28 April 2015, 20:09:23
Zitat von: bjoernbo am 28 April 2015, 17:54:44
leider bleibt der Container leer und es wird nichts angezeigt

Gar nichts? Mindestens das drehende Spinner Icon sollte angezeigt werden. Ich habe grade eine neue Version eingecheckt, die das Attribut data-check einführt. Versuch mal bitte mit data-check="true" und data-check="false". Mit "false" verzichtet das Widget auf die Verfügbarkeitsprüfung und hat nur noch die Reload-Funktion.

https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/www/tablet/js/widget_iframe.js
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 30 April 2015, 17:14:51
Neues Widget im "testing": widget_clicksound (https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/testing/widget_clicksound.js)

<div data-type="clicksound"
        data-sound="ion-button-tiny"
        data-volume="200"
        data-bind-to="[data-type=button]"></div>


Das Widget selbst ist nicht sichtbar. Es bindet das Abspielen eines Sounds an Click-Events von Elementen, die über den Selektor im Attribut data-bind-to gefunden werden. D.h. damit erreicht man, dass beim klicken/berühren eines Elementes ein Sound abgespielt wird.

Attribute:

data-sound: Name des abszuspielenenden Sounds. Die Sounds der Library ion.sound (http://ionden.com/a/plugins/ion.sound/en.html) werden mit ausgeliefert und können mit dem Prefix "ion-" und ihrem Namen gesetzt werden. Bindstriche werden dabei in Unterstriche konvertiert. zB: data-sound="ion-camera-flashing" lädt den Sound "camery_flashing" aus der ion-Library. Wird das Prefix "ion-" nicht verwendet, wird data-sound als Pfad zu einer Datei auf dem Webserver interpretiert. Die Dateiendung (.mp3, .ogg...) muss nicht angegeben werden. zB: data-sound="../sound/button" spielt die Datei "button.mp3" aus dem Verzeichnis "../sound/" ab. Bevorzugt der Browser ein anderes Format, wird versucht eine Datei "button.(anderesformat)" zu laden.

data-volume: Lautstärke zwischen 0 und 100 (%). In manchen Browsern werden auch Werte über 100 akzeptiert, die Original-Lautstärke wird dann entsprechend angehoben.

data-length: Abspiellänge in Milisekunden. Default: 200

data-bind-play-to: jQuery-Selektor, der die Elemente angibt, die den Sound abspielen sollen, wenn sie geklickt werden. Um zB alle Buttons, die nicht class="readonly" gesetzt haben auszuwählen gibt man data-bind-to="[data-type=button]:not(.readonly),[data-type=switch]:not(.readonly),[data-type=push]:not(.readonly)" an. Zur Vereinfachung der Konfiguration gibt es einige Spezialselektoren:
Beispiel: data-bind-play-to="+buttons,+circlemenu"

data-bind-to: Kurzform von data-bind-play-to

data-bind-pause-to: Wie data-bind-play-to, startet aber kein Abspielen, sondern pausiert es. Evtl. Interessant bei Sounddateien mit längerer Spieldauer


Installation:

Das Widget ist noch in der Testphase und wird deshalb noch nicht per Fhem-Update ausgeliefert. Es muss manuell installiert werden. Dazu widget_clicksound (https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/testing/widget_clicksound.js) ins "js" Verzeichnis kopieren und das gesamte Verzeichnis ion.sound (https://github.com/nesges/Widgets-for-fhem-tablet-ui/tree/master/testing/lib/ion.sound) unterhalb von "lib" anlegen.

Bekannte Probleme:

Unter iOS und Android können Sounds im Browser nicht ohne Userinteraktion ausgelöst werden. Ausgenommen davon ist nur der über einen Homescreen-Button gestartete Fullscreen-Modus.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 06 Mai 2015, 11:28:38
Das Widget clicksound wird jetzt standardmässig mit dem Fhem-Update-Mechanismus ausgeliefert.

Die Dokumentation befindet sich im Wiki (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/clicksound) und die Livedemo (http://fhem.nesg.es/demo) zeigt wie's sich anhört.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Mitch am 06 Mai 2015, 17:51:32
Hallo,

habe das neue Sound-Widget gerade getestet, aber leider bleibt es stumm  :-\

Folgendes habe ich in die index.html:

script type="text/javascript" src="/fhem/tablet/js/widget_clicksound.js"></script>

<div data-type="clicksound"
    data-sound='["ion-button-tiny","ion-bell-ring","ion-tap"]'
    data-volume='[200,300,400]'
    data-bind-to='["+switch","+knob","+slider"]'></div>


und dann z.B. mit diesem Switch getestet:

<div data-type="switch" data-device="CUL_HM_FlurOben" class="cell"></div>
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 06 Mai 2015, 18:23:04
Mach aus "+switch" mal "+button". "+switch" gibt es nicht. Wenn du nur switches binden willst, dann gib als Selektor [data-type=switch] an.

Den "<script>"-Teil musst du übrigens nicht ins HTML packen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Mitch am 06 Mai 2015, 18:29:53
Oh sorry, der +switch war noch vom testen drinnen.
Habe auch +button getestet, aber auch da bleibt es stumm  :-\

Wo genau muss denn das stehen in der html und muss ich am Device selber noch etwas machen?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 06 Mai 2015, 19:19:45
Wie hast du's installiert? Per Fhem-Update oder von Hand?
Ist das Verzeichnis <fhemdir>/www/tablet/lib/ion.sound/ vorhanden?
Gibt es Fehler in der JS-Konsole?


Im HTML brauchst du - wenn alles passt - nur.. ach, jetzt seh ich's. Fehler in der Doku: Das Attribut "volume" nimmt kein Array, an der Stelle müsste "length" stehen. So ist's richtig:

<div data-type="clicksound"
    data-sound='["ion-button-tiny","ion-bell-ring","ion-tap"]'
    data-length='[200,300,400]'
    data-bind-to='["+button","+knob","+slider"]'></div>
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Mitch am 06 Mai 2015, 22:14:02
Habe per Update installiert.

Auch mit Deinen Änderungen keinen Ton?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 06 Mai 2015, 22:46:07
Zitat von: Mitch am 06 Mai 2015, 22:14:02
Habe per Update installiert.
Auch mit Deinen Änderungen keinen Ton?

Das ion.sound-Verzeichnis ist da und es gibt keine Fehler in der JS-Konsole?

Es gibt ein bekanntes Problem auf iOS und Android:

Zitat von: nesges am 30 April 2015, 17:14:51
Bekannte Probleme:
Unter iOS und Android können Sounds im Browser nicht ohne Userinteraktion ausgelöst werden. Ausgenommen davon ist nur der über einen Homescreen-Button gestartete Fullscreen-Modus.

Liegt's evtl. daran? Welche Browser hast du versucht?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Mitch am 06 Mai 2015, 22:48:25
Sound Verzeichnis ist da.
Fehler muss ich morgen mal schauen.

Browser ist Safari auf Mac.
In deiner Demo kommt der Sound.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Mitch am 07 Mai 2015, 16:07:46
So, hier mal die Warnungen (gelb):

[Warning] No sources for "tap" sound :(
[Warning] No sources for "button_tiny" sound :(
[Warning] No sources for "bell_ring" sound :(


und Fehler (rot):

[Error] Deprecated attempt to access property 'userAgent' on a non-Navigator object.
_draw (jquery.knob.mod.min.js, line 1)
run (jquery.knob.mod.min.js, line 1)
(anonyme Funktion) (jquery.knob.mod.min.js, line 1)
each (jquery.min.js, line 2)
each (jquery.min.js, line 2)
knob (jquery.knob.mod.min.js, line 1)
(anonyme Funktion)
each (jquery.min.js, line 2)
each (jquery.min.js, line 2)
init
(anonyme Funktion) (fhem-tablet-ui.js, line 39)
j (jquery.min.js, line 2)
fireWith (jquery.min.js, line 2)
x (jquery.min.js, line 4)
b (jquery.min.js, line 4)
[Error] SyntaxError: Invalid regular expression: missing terminating ] for character class
RegExp (fhem-tablet-ui.js, line 532)
indexOfRegex (fhem-tablet-ui.js, line 532)
indexOfGeneric (fhem-tablet-ui.js, line 515)
(anonyme Funktion)
each (jquery.min.js, line 2)
each (jquery.min.js, line 2)
update
(anonyme Funktion) (fhem-tablet-ui.js, line 59)
each (jquery.min.js, line 2)
update (fhem-tablet-ui.js, line 57)
(anonyme Funktion) (fhem-tablet-ui.js, line 378)
j (jquery.min.js, line 2)
fireWith (jquery.min.js, line 2)
x (jquery.min.js, line 4)
b (jquery.min.js, line 4)
[Error] SyntaxError: Invalid regular expression: missing terminating ] for character class
RegExp (fhem-tablet-ui.js, line 532)
indexOfRegex (fhem-tablet-ui.js, line 532)
indexOfGeneric (fhem-tablet-ui.js, line 515)
(anonyme Funktion)
each (jquery.min.js, line 2)
each (jquery.min.js, line 2)
update
(anonyme Funktion) (fhem-tablet-ui.js, line 59)
each (jquery.min.js, line 2)
update (fhem-tablet-ui.js, line 57)
(anonyme Funktion) (fhem-tablet-ui.js, line 378)
j (jquery.min.js, line 2)
fireWith (jquery.min.js, line 2)
x (jquery.min.js, line 4)
b (jquery.min.js, line 4)
[Error] Deprecated attempt to access property 'userAgent' on a non-Navigator object.
_draw (jquery.knob.mod.min.js, line 1)
i (jquery.knob.mod.min.js, line 1)
dispatch (jquery.min.js, line 3)
handle (jquery.min.js, line 3)
trigger (jquery.min.js, line 3)
(anonyme Funktion) (jquery.min.js, line 3)
each (jquery.min.js, line 2)
each (jquery.min.js, line 2)
trigger (jquery.min.js, line 3)
(anonyme Funktion)
each (jquery.min.js, line 2)
each (jquery.min.js, line 2)
update
(anonyme Funktion) (fhem-tablet-ui.js, line 59)
each (jquery.min.js, line 2)
update (fhem-tablet-ui.js, line 57)
(anonyme Funktion) (fhem-tablet-ui.js, line 378)
j (jquery.min.js, line 2)
fireWith (jquery.min.js, line 2)
x (jquery.min.js, line 4)
b (jquery.min.js, line 4)
[Error] Deprecated attempt to access property 'userAgent' on a non-Navigator object.
_draw (jquery.knob.mod.min.js, line 1)
i (jquery.knob.mod.min.js, line 1)
dispatch (jquery.min.js, line 3)
handle (jquery.min.js, line 3)
trigger (jquery.min.js, line 3)
(anonyme Funktion) (jquery.min.js, line 3)
each (jquery.min.js, line 2)
each (jquery.min.js, line 2)
trigger (jquery.min.js, line 3)
(anonyme Funktion)
each (jquery.min.js, line 2)
each (jquery.min.js, line 2)
update
(anonyme Funktion) (fhem-tablet-ui.js, line 59)
each (jquery.min.js, line 2)
update (fhem-tablet-ui.js, line 57)
(anonyme Funktion) (fhem-tablet-ui.js, line 326)
[Error] Deprecated attempt to access property 'userAgent' on a non-Navigator object.
_draw (jquery.knob.mod.min.js, line 1)
val (jquery.knob.mod.min.js, line 1)
(anonyme Funktion) (jquery.knob.mod.min.js, line 1)
dispatch (jquery.min.js, line 3)
handle (jquery.min.js, line 3)
trigger (jquery.min.js, line 3)
(anonyme Funktion) (jquery.min.js, line 3)
each (jquery.min.js, line 2)
each (jquery.min.js, line 2)
trigger (jquery.min.js, line 3)
(anonyme Funktion)
each (jquery.min.js, line 2)
each (jquery.min.js, line 2)
update
(anonyme Funktion) (fhem-tablet-ui.js, line 59)
each (jquery.min.js, line 2)
update (fhem-tablet-ui.js, line 57)
(anonyme Funktion) (fhem-tablet-ui.js, line 326)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 07 Mai 2015, 17:05:39
Die Warnungen legen nahe, dass die Dateien

www/tablet/lib/ion.sound/sounds/tap.aac
www/tablet/lib/ion.sound/sounds/tap.ogg
www/tablet/lib/ion.sound/sounds/tap.mp3
etc.

nicht vorhanden sind. Bitte einmal prüfen. Die Error sehen aber so aus, als ob du ein generelles Javascript Problem hättest. Erstell bitte eine minimale HTML-Testseite, die nur einen Button oder Switch und das clicksound Widget enthält.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Nobby1805 am 09 Mai 2015, 16:40:42
hi nesgen,

ich habe jetzt mal testweise bei 2 Temperaturen dein Widget klimatrend hinzugefügt  ... im Prinzip alles auf Default gelassen bis auf den Bezug auf die Quellen

Bei der 1. Temp wird ein Pfeil nach oben angezeigt und wenn ich dort mit den Cursor draufgehe wird "1h: +0.1" angezeigt .. also OK
Bei der 2. Temp werden allerdings 2 Pfeile nach oben angezeigt obwohl der Tooltip auch hier richtigerweise "1h: +0.1" anzeigt

Edit: ich habe es jetzt für alle Temperaturen und Luftfeuchten erweitert ... alle Anzeigen der Temperatur von den Thermostaten sind falsch  :(

<div data-type="klimatrend" data-device="Innen_Climate" data-get="statMeasured-tempTendency" class="big"></div>

Edit2: Es liegt an deiner Methode den Defaultwert der Highmark-Grenze für Temperatur bzw. Humidity automatisch zu setzen ... bei den HM-Thermostaten kommt, zumindest im Channel Climate den ich verwende,  der String "temperature" nicht vor und da der Else-Zweig fehlt bleibt Highmark dann 0 ... Highmark beim Aufruf angegeben -> klappt
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 09 Mai 2015, 22:35:24
Zitat von: Nobby1805 am 09 Mai 2015, 16:40:42
Edit2: Es liegt an deiner Methode den Defaultwert der Highmark-Grenze für Temperatur bzw. Humidity automatisch zu setzen ... bei den HM-Thermostaten kommt, zumindest im Channel Climate den ich verwende,  der String "temperature" nicht vor und da der Else-Zweig fehlt bleibt Highmark dann 0 ... Highmark beim Aufruf angegeben -> klappt

highmark mit 0 zu initialisieren ist dann nicht so geschickt. Ich checke eine neue Version ein, die zwei Dinge ändert: highmark wird mit 99 initialisiert. Der Regex für Temperaturwerte ist von /temperature/i in /temp/i geändert. Damit sollten die meisten Fälle abgefangen sein und zumindest kein falsches highmark angenommen werden. Zusätzlich habe ich die Doku um Hinweise wie Temperatur- und Humiditywerte erkannt werden ergänzt. Das macht's dem nächsten vielleicht einfacher. Danke für den Hinweis!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 11 Mai 2015, 13:09:08
Neues Widget: multistatebutton

multistatebutton ist eine Variante des push-Widgets das den set-Befehl abhängig vom aktuellen Status ändert. So kann zum Beispiel zwischen drei Status rundgeschaltet werden:

<div data-type="multistatebutton"
    data-device="KODI"
    data-get="repeat"
    data-get-on='["off","one","all"]'
    data-set='["repeat one","repeat all","repeat off"]'
    data-set-default="repeat off"
    data-icons='["fa-long-arrow-right","nesges-repeat-one","nesges-repeat"]'
    data-on-background-color='#339999'
    class="cell"></div>


Im Unterschied zu anderen Button-Widgets gibt es kein set-off Attribut, sondern ein set-Attribut, das ein Array von Werten annimmt, das zum Array des get-Attributes korrespondiert. Um auf Zwischenzustände (zB Klick während Initalisierung) und unvorhergesehene Status zu reagieren gibt es das Attribut set-default. Ansonsten unterscheidet sich multistate nur in den Default-Werten von anderen Buttons.

Weitere Beispiele und Dokumentation: multistatebutton im Wiki (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/multistatebutton)

Das Widget wird ab sofort regulär per Update ausgeliefert.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 11 Mai 2015, 20:12:28
Neues Widget: joinedlabel

joinedlabel verbindet mehrere Readings zu einem Feld

<div data-type="joinedlabel"
    data-device="MCP"
    data-get='["artist","album","name"]'
    data-glue=' - '></div>


Zeigt die drei Readings MCP:artist, MCP:album und MCP:name durch einen Bindestrich getrennt an. Das Widget ist auch in der Lage Readings aus unterschiedlichen Devices zusammen anzuzeigen. Allerdings habe ich selbst dafür noch keinen praktischen Nutzen gefunden :)

Dokumentation und weitere Beispiele (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/joinedlabel)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 11 Mai 2015, 20:15:40
Neues Widget: mpdnowplaying

mpdnowplaying zeigt Titelinformationen eines per MPD-Modul angebundenen Music Player Daemon an.

<div data-type="mpdnowplaying"
    data-device="MPD"></div>


Zeigt name, artist, album, track und title mit Bindestrichen getrennt an.

Dokumentation und Hinweise zum Umgang mit MPDs spezieller Art Readings zu aktualisieren (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/mpdnowplaying)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 11 Mai 2015, 20:42:30
Das ist sehr gut!
Ich will demnächst mal Mopidy auf den Banana Pi installieren, das passt ja :-)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 11 Mai 2015, 23:54:20
Zitat von: setstate am 11 Mai 2015, 20:42:30
Ich will demnächst mal Mopidy auf den Banana Pi installieren, das passt ja :-)

Dann immer her mit den Featurewünschen! ;)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 12 Mai 2015, 17:57:18
Hallo,

ich bekomme die Clicksounds leider nicht ans laufen. Alles installiert via update. Scheinbar werden die Sounds nicht gefunden, sind aber da.

Woran kann es liegen?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 12 Mai 2015, 19:25:13
Zitat von: update71 am 12 Mai 2015, 17:57:18
ich bekomme die Clicksounds leider nicht ans laufen. Alles installiert via update. Scheinbar werden die Sounds nicht gefunden, sind aber da.

In welchem Browser? Evtl. auf einem Mobilgerät (iOS, Android)? Und funktioniert's in der Live-Demo (http://fhem.nesg.es/demo/)?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 12 Mai 2015, 19:48:06
Live Demo geht ... Safari auf OSX (mit Chrome gehts auch nicht)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 12 Mai 2015, 21:03:09
Mach mal bitte ein Update der Widgets und leg dir dann die https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/demo/soundcheck.html ins tablet-Verzeichnis. Der angezeigte Push-Button und das Label sollten Click-Geräusche machen und in der JS-Konsole sollten jetzt Zeilen in der Art auftauchen:

Loaded plugin: widget_clicksound
ion load
ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/button_tiny.mp3?1431456923741
ion load
ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/water_droplet_3.mp3?1431456923742

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 12 Mai 2015, 21:16:30
Update gemacht ... Dateicode in test.html (im tablet root) eingefügt ... kein Ton
Plugin dir: /fhem/tablet/js
fhem-tablet-ui.js:113 Filename: test.html
fhem-tablet-ui.js:169 Collecting required readings
fhem-tablet-ui.js:184 Request readings from FHEM
jquery.min.js:4 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
fhem-tablet-ui.js:36 Loaded plugin: widget_clicksound
VM135:7 ion load
VM135:7 ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/button_tiny.mp3?1431458059943
VM135:7 ion load
VM135:7 ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/water_droplet_3.mp3?1431458059944
fhem-tablet-ui.js:36 Loaded plugin: widget_label
fhem-tablet-ui.js:36 Loaded plugin: widget_push
(program):7 ion load
(program):7 ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/button_tiny.ogg?1431458060001
(program):7 ion load
(program):7 ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/water_droplet_3.ogg?1431458060002
(program):7 ion load
(program):7 ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/water_droplet_3.mp4?1431458060078
(program):7 ion load
(program):7 ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/button_tiny.mp4?1431458060079
(program):7 ion load
(program):7 ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/water_droplet_3.aac?1431458060095
(program):7 ion load
(program):7 ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/button_tiny.aac?1431458060112
(program):7 ion load
(program):7 ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/water_droplet_3.wav?1431458060114
(program):7 ion load
(program):7 ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/button_tiny.wav?1431458060137
(program):2 No sources for "water_droplet_3" sound :(
(program):2 No sources for "button_tiny" sound :(
fhem-tablet-ui.js:259 start longpoll
fhem-tablet-ui.js:229 send to FHEM: set   
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 12 Mai 2015, 22:11:16
Ok, es werden also tatsächlich alle Dateiendungen versucht und können offenbar nicht geladen werden. Evtl. Dateirechte? Wobei das Fhem Update die für sich selbst passend anlegen sollte. Trotzdem bitte einmal:

ls -la www/tablet/lib/ion.sound/sounds

Was sagt dein Browser, wenn du direkt die Adresse eines Soundfile eingibst? zB:

http://<host:port>/fhem/tablet/js/../lib/ion.sound/sounds/button_tiny.mp3?1431458059943
und
http://<host:port>/fhem/tablet/lib/ion.sound/sounds/button_tiny.mp3

Ist im Fhem Logfile evtl. ein Hinweis zu finden?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 13 Mai 2015, 06:34:07
reicht "r" zum abspielen?
Ist bei allen Dateien so, hab jetzt nur mal einen Teil "geknipst".
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 13 Mai 2015, 06:47:07
ich hab jetzt mal die Rechte auf 777 gesetzt ... immer noch kein Ton (no source ...)
Unexpected CSS token: :
fhem-tablet-ui.js:109Plugin dir: /fhem/tablet/js
fhem-tablet-ui.js:113Filename: test.html
fhem-tablet-ui.js:169Collecting required readings
fhem-tablet-ui.js:184Request readings from FHEM
fhem-tablet-ui.js:36Loaded plugin: widget_clicksound
jquery.min.js:2:3244ion load
jquery.min.js:2:3244ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/button_tiny.mp3?1431492254483
jquery.min.js:2:3244ion load
jquery.min.js:2:3244ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/water_droplet_3.mp3?1431492254484
fhem-tablet-ui.js:36Loaded plugin: widget_label
fhem-tablet-ui.js:36Loaded plugin: widget_push
ion load
ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/button_tiny.ogg?1431492254553
ion load
ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/water_droplet_3.ogg?1431492254553
ion load
ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/button_tiny.mp4?1431492254574
ion load
ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/water_droplet_3.mp4?1431492254605
ion load
ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/button_tiny.aac?1431492254632
ion load
ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/water_droplet_3.aac?1431492254632
ion load
ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/button_tiny.wav?1431492254654
ion load
ion-url: /fhem/tablet/js/../lib/ion.sound/sounds/water_droplet_3.wav?1431492254655
No sources for "button_tiny" sound :(
No sources for "water_droplet_3" sound :(
fhem-tablet-ui.js:259start longpoll
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 13 Mai 2015, 06:51:48
müsste das hier ion-url: /fhem/tablet/js/ nicht heissen: ion-url: /fhem/www/tablet/js/ ?

Du hast in deiner Testumgebung wohl andere Pfade :)
hab die <script> Pfade mal angepasst von:
<script type="text/javascript" src="/fhem/pgm2/jquery.min.js"></script>
nach
<script type="text/javascript" src="/fhem/www/pgm2/jquery.min.js"></script>
jetzt gehts :)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 13 Mai 2015, 08:13:33
Das mit den Pfaden ist mir auch schon aufgefallen als ich die Icons von IcoMoon einbinden wollte.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 13 Mai 2015, 09:24:19
Zitat von: update71 am 13 Mai 2015, 06:51:48
Du hast in deiner Testumgebung wohl andere Pfade :)
hab die <script> Pfade mal angepasst von:
<script type="text/javascript" src="/fhem/pgm2/jquery.min.js"></script>
nach
<script type="text/javascript" src="/fhem/www/pgm2/jquery.min.js"></script>
jetzt gehts :)

Super, dass es jetzt geht! Ich hatte nicht mehr viele Ideen! ;) Aber dass mit den Pfaden verstehe ich nicht. Das "www" sollte da eigentlich nicht rein. Wenn du mal mit den Demo-Skripten im Hauptrepository vergleichst, wird dort nie "www" eingefügt. Hast du die Pfade in deinen HTML-Files generell auf "www" stehen? Wie sehen die Definition des HTTPSRV Devices und das Hauptverzeichnis der FTUI-Installation aus? Ich gehe davon aus, dass folgendes gesetzt ist:

<script type="text/javascript" src="/fhem/pgm2/jquery.min.js"></script>
define tablet_ui HTTPSRV tablet/ ./www/tablet Tablet Frontend
/opt/fhem/www/tablet bzw. <fhemhauptverzeichnis>/www/tablet


Davon abgesehen: Ging dann überhaupt irgendwas? Wenn der Pfad zu JQuery nicht passt, dürfte eigentlich gar nichts funktionieren und alle Pfade ausserhalb der HTML-Files sind relativ gesetzt.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 13 Mai 2015, 11:07:10
define tablet_ui HTTPSRV tablet ./www/tablet Tablet Frontend


Und so sieht meine index.html im <head> aus
<title>FHEM-HC</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_base_width" content="116">
<meta name="widget_base_height" content="131">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="debug" content="0"> <!-- 1=output to console;0=not output -->

<link rel="stylesheet" href="/fhem/www/tablet/lib/jquery.gridster.min.css" />
<link rel="stylesheet" href="/fhem/www/tablet/css/fhem-tablet-ui.css" />
<link rel="stylesheet" href="/fhem/www/tablet/lib/font-awesome.min.css" />
<link rel="stylesheet" href="/fhem/www/tablet/lib/jquery.toast.min.css" />
<link rel="stylesheet" href="/fhem/www/tablet/lib/powerange.min.css" />


<script type="text/javascript" src="/fhem/www/pgm2/jquery.min.js"></script>
        <script type="text/javascript" src="/fhem/www/tablet/lib/jquery.knob.mod.min.js"></script>
<script type="text/javascript" src="/fhem/www/tablet/lib/jquery.toast.min.js"></script>
<script type="text/javascript" src="/fhem/www/tablet/lib/jquery.circlemenu.js"></script>
<script type="text/javascript" src="/fhem/www/tablet/lib/powerange.min.js"></script>
<script type="text/javascript" src="/fhem/www/tablet/lib/jquery.gridster.min.js"></script>
        <script type="text/javascript" src="/fhem/www/tablet/lib/fa-multi-button.min.js"></script>
<script type="text/javascript" src="/fhem/www/tablet/js/fhem-tablet-ui.js"></script>

<!-- Enable this lines for usage with WebViewControl --><!--
<script type="text/javascript" src="/fhem/pgm2/cordova-2.3.0.js"></script>
<script type="text/javascript" src="/fhem/js/webviewcontrol.js"></script>
<script type="text/javascript">var wvcDevices = {'12345': 'Tablet'}; var wvcUserCssFile="webviewcontrol.css"</script>
--><!-- End for WebViewControl -->



Es lief auch ohne www/ alles, nur eben die Sounds nicht ... muss ich noch was grade ziehen? Wie man meinem Post vom Sonntag (im Nachbarthread) entnehmen kann bin ich NOOB :P
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 13 Mai 2015, 11:52:38
Zitat von: update71 am 13 Mai 2015, 11:07:10
define tablet_ui HTTPSRV tablet ./www/tablet Tablet Frontend

Da ist der Fehler :) Es muss

define tablet_ui HTTPSRV tablet/ ./www/tablet Tablet Frontend

lauten, mit abschliessendem Slash hinter tablet. Das ist leider immer wieder ein Problem mit HTTPSRV. Ein bisschen Hintergrund dazu gibt's in FAQ: Warum führen mich Links auf andere Seiten zurück zu FHEMWEB? (http://www.fhemwiki.de/wiki/FHEM_Tablet_UI/FAQ#Warum_f.C3.BChren_mich_Links_auf_andere_Seiten_zur.C3.BCck_zu_FHEMWEB.3F)

Ich werde mal sehen ob ich's im Widget abfangen kann, ohne ion.sound zu verändern.

PS: nimm das "www" dann wieder raus. Das funktioniert nur, weil HTTPSRV so "gnädig" ist, ist aber eigentlich falsch.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 13 Mai 2015, 12:29:38
Ich hab das jetzt mal so gemacht wie du beschrieben hast define tablet_ui HTTPSRV tablet/ ./www/tablet Tablet Frontend
Jetzt bekomme ich aber eine leere Seite wenn ich auf "tablet frontend" klicke. Gebe ich die index.html mit an dann funktioniert es ...
Irgendwie der Wurm drin hier ^^


Im Wiki ist bei der Installationsanleitung der / übrigens nicht angegeben! Auf der Projektseite schon :)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 13 Mai 2015, 14:20:24
Zitat von: update71 am 13 Mai 2015, 12:29:38
Ich hab das jetzt mal so gemacht wie du beschrieben hast define tablet_ui HTTPSRV tablet/ ./www/tablet Tablet Frontend
Jetzt bekomme ich aber eine leere Seite wenn ich auf "tablet frontend" klicke. Gebe ich die index.html mit an dann funktioniert es ...
Irgendwie der Wurm drin hier ^^

Ok, kA wieso das bisher niemandem aufgefallen ist, aber es ist reproduzierbar (ich benutze HTTPSRV selbst normalerweise nicht). Probier mal bitte:

define TABLETUI HTTPSRV tablet/index.html ./www/tablet Tablet Frontend

Wenn das ohne Einschränkungen funktioniert übernehme ich's in die Doku und ins Wiki.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 13 Mai 2015, 14:41:40
Hallo, danke für deine schnelle Hilfe. Ja, es sieht jetzt gut aus. Funktioniert alles inkl. Sound.

Langsam werd ich warm mit der UI ... aber ich hab noch viel zu lernen  ::)

Kann ich Fragen zum Thermostat und zum Circlemenu hier posten oder soll`s in den anderen Thread?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 13 Mai 2015, 14:54:42
Zitat von: update71 am 13 Mai 2015, 14:41:40
Hallo, danke für deine schnelle Hilfe. Ja, es sieht jetzt gut aus. Funktioniert alles inkl. Sound.

Vielen Dank für's ausprobieren!

ZitatKann ich Fragen zum Thermostat und zum Circlemenu hier posten oder soll`s in den anderen Thread?

Die gehören in den Hauptthread, da lesen auch mehr Leute mit.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 15 Mai 2015, 13:29:12
Was war denn der Grund nun, dass die Sounds nicht abgespielt wurden?

habe
Zitat<script type="text/javascript" src="/fhem/www/tablet/js/widget_clicksound.js"></script>
eingebunden und folgendes Beispiel definiert.

Zitat
<div data-type="clicksound"
     data-sound="ion-button-tiny"
     data-bind-to="[data-type=button]"
     data-length="500"
    >
</div>

Kein Sound. In deiner Demo-Umgebung wird mir jedoch der Sound abgespielt.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 15 Mai 2015, 13:35:19
viegener hat in http://forum.fhem.de/index.php/topic,34233.msg294249/topicseen.html#msg294249 festgestellt, dass bei der vorgeschlagenen Verwendung von HTTPSRV für FTUI, in bestimmten Fällen nicht HTTPSRV sondern FHEMWEB zur Auslieferung benutzt wird. Dadurch kommt das manchmal unerwartete Verhalten zustande. Für das clicksound-Problem hat es gereicht noch "index.html" an die HTTPSRV-Definition anzuhängen (siehe 3 Posts weiter oben).

Leider ist das überhaupt nicht intuitiv und kaum nochvollziehbar, von daher suche ich noch nach einer besseren Lösung.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 15 Mai 2015, 14:00:56
ok. Das mit der Verzeichnisanpassung habe ich durchgeführt. Danach hat es bei mir die Seite zerschossen und habe es Rückgängig gemacht. Ich probiere einfach mal weiter aus bis ich es zum Laufen bekomme  8)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 15 Mai 2015, 18:02:44
ZitatFür das clicksound-Problem hat es gereicht noch "index.html" an die HTTPSRV-Definition anzuhängen (siehe 3 Posts weiter oben).
der / im define hatte auch gelangt :) ... Man konnte nur nicht per Klick aus FHEMWEB auf die Tablet UI (kam ne leere weisse Seite)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 16 Mai 2015, 08:05:31
Habe mir nun mal die Konsolenausgabe angeschaut:
ZitatDer an decodeAudioData übergebene Puffer enthält einen ungültigen Inhaltstyp. kueche.html
GET
http://192.168.178.51:8083/fhem/tablet/lib/ion.sound/sounds/button_tiny.ogg [HTTP/1.1 200 OK 14ms]
Der an decodeAudioData übergebene Puffer enthält einen ungültigen Inhaltstyp. kueche.html
GET
http://192.168.178.51:8083/fhem/tablet/lib/ion.sound/sounds/button_tiny.mp4 [HTTP/1.1 200 OK 195ms]
Der an decodeAudioData übergebene Puffer enthält einen ungültigen Inhaltstyp. kueche.html
GET
http://192.168.178.51:8083/fhem/tablet/lib/ion.sound/sounds/button_tiny.aac [HTTP/1.1 200 OK 14ms]
Der an decodeAudioData übergebene Puffer enthält einen ungültigen Inhaltstyp. kueche.html
GET
http://192.168.178.51:8083/fhem/tablet/lib/ion.sound/sounds/button_tiny.wav [HTTP/1.1 200 OK 13ms]
Der an decodeAudioData übergebene Puffer enthält einen ungültigen Inhaltstyp. kueche.html
GET
http://192.168.178.51:8083/fhem/ [HTTP/1.1 200 OK]
EncodingError: The given encoding is not supported.

Kannst Du damit was anfangen?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 17 Mai 2015, 23:38:10
Zitat von: bjoernbo am 16 Mai 2015, 08:05:31
Habe mir nun mal die Konsolenausgabe angeschaut:
Kannst Du damit was anfangen?

Gib mir dazu bitte etwas Kontext:

1.) HTTPSRV Definition
2.) clicksound-HTML
3.) weitere Meldungen in der Konsole?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 19 Mai 2015, 00:54:57
testing: itunes_artwork

Für die Mutigen (aka: das Widget ist noch so gut wie ungetestet) gibt es jetzt im testing-Verzeichnis das neue Widget itunes_artwork (https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/testing/widget_itunes_artwork.js). Es benötigt eine frisch aktualisierte Installation (sowohl FTUI als auch Widgets auf neuestem Stand).

Das Widget nimmt ein Array von Readings im data-get Attribut als Suchstring für die iTunes-API und zeigt das erste gefundene Album-Cover an. Der erste Screenshot wurde mit diesem HTML erzeugt:

       <div data-type="itunes_artwork"
                data-device="MPD_WOPR"
                data-get='["now_artist","now_album","now_title"]'></div>
       
        <div data-type="mpdnowplaying"
                data-device="MPD_WOPR"
                data-get='["now_artist","now_album","now_title"]'></div>


Für den zweiten habe ich das Widget als Hintergrund für die MPD-Steuerung gesetzt. Folgender HTML-Code:

<div data-type="itunes_artwork"
            data-device="MPD_WOPR"
            data-get='["now_artist","now_album","now_title"]'
            data-opacity="0.2"
            data-size=400
            style="position:absolute;top:20px;left:-10px;"></div>


Es werden alle Attribute des image-Widgets unterstützt, mit der Einschränkung, dass height, width und size nicht unterschiedlich sein können (-> nur size setzen reicht). Zusätzlich gibt es die Attribute media (default: music) und entity (default: song), die unter https://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html näher erläutert werden.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 19 Mai 2015, 11:13:20
Hier übrigens noch eine mMn bessere Lösung für das clicksound-Problem:

Zitat von: nesges am 15 Mai 2015, 16:54:11
Ich denke das ist die Erklärung für die verschiedenen Probleme mit relativen Pfaden, die ich bisher HTTPSRV zugeschrieben habe. Zuletzt mit dem clicksound-Widget, das wahrscheinlich bei niemandem mit einer Standardinstallation läuft (zumindest habe ich noch keine positive Rückmeldung). Wenn ich das HTTPSRV Define auf

define TABLETUI HTTPSRV ftui ./www/tablet Tablet-UI

ändere, treten die bisher bekannten Probleme nicht auf. Ich denke wir sollten das statt der bisherigen Definition in den Standard aufnehmen. https://github.com/knowthelist/fhem-tablet-ui/pull/90 wäre damit auch obsolet.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 19 Mai 2015, 12:50:03
Zitat
       <div data-type="itunes_artwork"
                data-device="MPD_WOPR"
                data-get='["now_artist","now_album","now_title"]'></div>
Cover Art funktioniert bei mir nicht. Es erscheint nur "img". Braucht das Widget noch irgendetwas zusätzliches?
Zitat
        <div data-type="mpdnowplaying"
                data-device="MPD_WOPR"
                data-get='["now_artist","now_album","now_title"]'></div>
Das zeigt mir alles brav an.

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 19 Mai 2015, 13:04:01
Das Widget ist eigenständig, es braucht nur ein aktuelles widget_image.js (im Standard enthalten). Ich werde heute abend ein paar Debug-Ausgaben einbauen, dann kann man sinnvoll nach Fehlern suchen. Es gibt natürlich auch den eher unwahrscheinlichen Fall, dass iTunes den gespielten Titel nicht kennt - was zeigt mpdnowplaying denn an? Bzw. wie lauten die Einzelwerte für now_artist, now_album und now_title?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 19 Mai 2015, 13:13:43
Ich habe Deine now-Subs wieder entfernt, weil's mir zuviele Fehlermeldungen rausgehauen hat. Drum hab ich logischerweise im Widget nur '["artist","album","title"]' angegeben.
Hier der Output von 2 Webradios:

Bei Radio Gong 96,3 wird <artist> mit dem Titel gefüllt und <title> mit dem Interpreten. <album> wird bei mir anscheinend mit dem Inhalt von <name> befüllt.
Bei Antenne Bayern wird <artist>, <title> korrekt gefüllt, <artist> enthält wieder die <name>-Ausgabe

--edit--
Bei "zusätliches" dachte ich eigentlich eher an irgendwelche Pakete...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 19 Mai 2015, 13:29:58
Zitat von: tomster am 19 Mai 2015, 13:13:43
Bei Radio Gong 96,3 wird <artist> mit dem Titel gefüllt und <title> mit dem Interpreten. <album> wird bei mir anscheinend mit dem Inhalt von <name> befüllt.
Bei Antenne Bayern wird <artist>, <title> korrekt gefüllt, <artist> enthält wieder die <name>-Ausgabe

Konkrete Werte bitte :) Es geht darum zu checken, ob a) dein Radio sinnvolle Werte liefert und b) diese in iTunes zu finden sind. Wenn artist "Antenne Bayern" liefert bzw album "Radio Gong 96,3" enthält findet iTunes wahrscheinlich nichts. Für Webradios kann es evtl. sinnvoll sein eine Option für Einzelabfragen der Werte an iTunes einzubauen. Die Wahrscheinlichkeit von false positives wird dadurch nur eben drastisch höher.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 19 Mai 2015, 13:37:54
Konkret? Bitte!

<artist> Robin Schulz
<title>  Sun Goes Down
<name> ANTENNE BAYERN

<artist>Use Somebody
<title> KINGS OF LEON
<name> Gong 96,3 powered by www.nci.de

und testweise auch noch Rock Antenne hinterhergeschoben:

<artist>Noel Gallagher's High Flying Birds
<title>Riverman (Radio Edit)
<name>ROCK ANTENNE
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 19 Mai 2015, 14:26:17
Danke. Hier mal das, was das Widget aufgrund der Daten an iTunes schickt (ein Klick auf den Link zeigt iTunes Antwort im Detail):

https://itunes.apple.com/search?media=music&entity=song&term=Robin Schulz Sun Goes Down ANTENNE BAYERN (https://itunes.apple.com/search?media=music&entity=song&term=Robin%20Schulz%20Sun%20Goes%20Down%20ANTENNE%20BAYERN)

iTunes sagt: kenn ich nicht

https://itunes.apple.com/search?media=music&entity=song&term=Noel Gallagher's High Flying Birds Riverman (Radio Edit) (https://itunes.apple.com/search?media=music&entity=song&term=Noel%20Gallagher's%20High%20Flying%20Birds%20Riverman%20(Radio%20Edit))

iTunes sagt: kenn ich nicht. Nimmt man "(Radio Edit)" raus, findet iTunes das richtige Ergebnis (https://itunes.apple.com/search?media=music&entity=song&term=Noel%20Gallagher's%20High%20Flying%20Birds%20Riverman)

https://itunes.apple.com/search?media=music&entity=song&term=Use Somebody KINGS OF LEON (https://itunes.apple.com/search?media=music&entity=song&term=Use%20Somebody%20KINGS%20OF%20LEON)

Das Feld "name" wird nicht mit rein genommen, daher sind die Daten "sauber" und die Abfrage liefert ein Ergebnis aus dem das Widget das richtige Artwork extrahieren kann. http://is3.mzstatic.com/image/pf/us/r30/Features/48/c1/1b/dj.eunilvua.100x100-75.jpg sollte angezeigt werden.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 19 Mai 2015, 14:38:07
Hmm, warum übergibst Du denn den kompletten String und "zerhackst" ihn nicht und setzt ihn mit "+" wieder zusammen?

Ein
https://itunes.apple.com/search?media=music&entity=song&term=Robin+Schulz+Sun+Goes+Down

liefert nämlich sehr wohl ein Resultat...

--edit--
OK,
https://itunes.apple.com/search?media=music&entity=song&term=Robin%20Schulz%20Sun%20Goes%20Down
tät's auch...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 19 Mai 2015, 14:43:44
Ha! Mit

data-get='["artist","title"]'

habe ich nun mein erstes Cover angezeigt bekommen!
Gut, "Nirvana - Smells like teen spirit " dürfte auch iTunes kennen ;-)

Dass iTunes aber "Alles Neu PETER FOX" nicht kennt wundert mich dann aber doch arg...

Kannst Du noch ein Default-Bild einbauen, das angezeigt wird, wenn kein Resultat von iTunes zurückgeliefert wird? Würd's optisch ein bissl "runder" und nicht gar so nackig machen...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 20 Mai 2015, 07:47:39
Update itunes_artwork:

iTunes liefert bei mir zurzeit oft keine Anwort auf Anfragen. Ich habe es allerdings auch versehentlich heute morgen mit Anfragen geflutet. Evlt. ist das also nur ein Schutzmechanismus, der mir ggü. grade misstrauisch ist. Werde ich weiter evaluieren. Solltet ihr ähnliches bemerken, bitte ich um Hinweise.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 20 Mai 2015, 10:14:36
Find nur ich die geänderte Datei nicht oder hast Du sie noch gar nicht hochgeladen?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 20 Mai 2015, 10:53:31
So, hab's eingebaut. Die Banane ist gut!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 20 Mai 2015, 10:58:35
Zitat von: tomster am 20 Mai 2015, 10:14:36
Find nur ich die geänderte Datei nicht oder hast Du sie noch gar nicht hochgeladen?

Heute morgen wohl den commit vergessen. Ist jetzt eingecheckt.

Zitat von: tomster am 20 Mai 2015, 10:53:31
So, hab's eingebaut. Die Banane ist gut!

Als nächstes wird in Ruhepausen automatisch das passende Lied dazu gespielt ;)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 20 Mai 2015, 11:05:23
Kann es sein, dass das Script bei JEDEM Update/ poll von von artist/title in MPD erneut bei iTunes anfragt; sprich von dem upgedateten Readings getriggert wird?
Das erzeugt aber ganz schön Traffic. Zudem wohl auch Anfragen mehrmals gesendet werden...

itunes_artwork update ["artist", "title"] ["ANTENNE BAYERN", "Nachrichten"]  jquery.... > eval (Zeile 111)
itunes_artwork itunes.start ["ANTENNE BAYERN", "Nachrichten"]  jquery.... > eval (Zeile 42)
itunes_artwork update ["artist", "title"] ["ANTENNE BAYERN", "Nachrichten"]  jquery.... > eval (Zeile 111)
itunes_artwork itunes.start ["ANTENNE BAYERN", "Nachrichten"]  jquery.... > eval (Zeile 42)
itunes_artwork update ["artist", "title"] ["ANTENNE BAYERN", "Nachrichten"]  jquery.... > eval (Zeile 111)
itunes_artwork itunes.start ["ANTENNE BAYERN", "Nachrichten"]  jquery.... > eval (Zeile 42)
itunes_artwork update ["artist", "title"] ["ANTENNE BAYERN", "Nachrichten"]  jquery.... > eval (Zeile 111)
itunes_artwork itunes.start ["ANTENNE BAYERN", "Nachrichten"]  jquery.... > eval (Zeile 42)
3
itunes_artwork itunes.artwork http://is4.mzstatic.com/image/pf/us/r30/Music/v4/a3/3f/af/a33faf31-22ff-b889-893f-341abca73733/9008798104321_cover.220x220-75.jpg  jquery.... > eval (Zeile 72)
itunes_artwork itunes.results -  jquery.... > eval (Zeile 77)
itunes_artwork itunes.start ["ANTENNE BAYERN"]  jquery.... > eval (Zeile 42)
itunes_artwork itunes.results -  jquery.... > eval (Zeile 77)
itunes_artwork itunes.start ["ANTENNE BAYERN"]  jquery.... > eval (Zeile 42)
itunes_artwork itunes.artwork http://is4.mzstatic.com/image/pf/us/r30/Music/v4/a3/3f/af/a33faf31-22ff-b889-893f-341abca73733/9008798104321_cover.220x220-75.jpg  jquery.... > eval (Zeile 72)
itunes_artwork itunes.results -  jquery.... > eval (Zeile 77)
itunes_artwork itunes.start ["ANTENNE BAYERN"]  jquery.... > eval (Zeile 42)
itunes_artwork itunes.results -  jquery.... > eval (Zeile 77)
itunes_artwork itunes.start ["ANTENNE BAYERN"]  jquery.... > eval (Zeile 42)
4
itunes_artwork itunes.artwork http://is4.mzstatic.com/image/pf/us/r30/Music/v4/a3/3f/af/a33faf31-22ff-b889-893f-341abca73733/9008798104321_cover.220x220-75.jpg  jquery.... > eval (Zeile 72)
itunes_artwork update ["artist", "title"] ["ANTENNE BAYERN", "Nachrichten"]  jquery.... > eval (Zeile 111)
itunes_artwork itunes.start ["ANTENNE BAYERN", "Nachrichten"]  jquery.... > eval (Zeile 42)
itunes_artwork update ["artist", "title"] ["ANTENNE BAYERN", "Nachrichten"]  jquery.... > eval (Zeile 111)
itunes_artwork itunes.start ["ANTENNE BAYERN", "Nachrichten"]  jquery.... > eval (Zeile 42)
itunes_artwork update ["artist", "title"] ["ANTENNE BAYERN", "Wir lieben Bayern, wir lieben die Hits"]  jquery.... > eval (Zeile 111)
itunes_artwork itunes.start ["ANTENNE BAYERN", "Wir lieben Bayern, wir lieben die Hits"]  jquery.... > eval (Zeile 42)
itunes_artwork update ["artist", "title"] ["ANTENNE BAYERN", "Wir lieben Bayern, wir lieben die Hits"]  jquery.... > eval (Zeile 111)
itunes_artwork itunes.start ["ANTENNE BAYERN", "Wir lieben Bayern, wir lieben die Hits"]  jquery.... > eval (Zeile 42)
itunes_artwork itunes.results -  jquery.... > eval (Zeile 77)
itunes_artwork itunes.start ["ANTENNE BAYERN"]  jquery.... > eval (Zeile 42)
itunes_artwork itunes.results -  jquery.... > eval (Zeile 77)
itunes_artwork itunes.start ["ANTENNE BAYERN"]  jquery.... > eval (Zeile 42)
itunes_artwork itunes.results -  jquery.... > eval (Zeile 77)
itunes_artwork itunes.start ["ANTENNE BAYERN"]  jquery.... > eval (Zeile 42)
itunes_artwork itunes.results -  jquery.... > eval (Zeile 77)
itunes_artwork itunes.start ["ANTENNE BAYERN"]  jquery.... > eval (Zeile 42)
4
itunes_artwork itunes.artwork http://is4.mzstatic.com/image/pf/us/r30/Music/v4/a3/3f/af/a33faf31-22ff-b889-893f-341abca73733/9008798104321_cover.220x220-75.jpg
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 20 Mai 2015, 11:15:44
Zitat von: tomster am 20 Mai 2015, 11:05:23
Kann es sein, dass das Script bei JEDEM Update/ poll von von artist/title in MPD erneut bei iTunes anfragt; sprich von dem upgedateten Readings getriggert wird?

Ja, natürlich.

Die mehrfachen Anfragen für's gleiche Update sollten allerdings nicht sein, da suche ich noch nach der Ursache.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 20 Mai 2015, 11:33:27
Zitat von: nesges am 20 Mai 2015, 11:15:44
Ja, natürlich.

Die mehrfachen Anfragen für's gleiche Update sollten allerdings nicht sein, da suche ich noch nach der Ursache.

Sorry hatte mich ungenau ausgedrückt. Klar ist natürlich, dass eine Reading-Änderung das Script triggert. Was auch sonst? ;-)
Ich wollte damit sagen, dass eben innerhalb eines Songs die Readings vielleicht 3-4 Mal mit gleichem Inhalt von MPD "upgedated" werden. Das Script führt dann jedes Mal eine Anfrage bei iTunes durch. Zudem eben noch bis zu 4 Mal hintereinander. Das da der Herr iTunes vielleicht irgendwann sauer wird, könnt ich verstehen...

Mal noch so als Idee:
Derzeit holt das Script die Cover ja in der im Script angegebenen size (default, glaub ich 150x150px). Wäre es - gerade im Zeitalter von Displays mit was-weiß-ich-wieviel-hundert-DPI - nicht eventuell sinnvoll die Cover in höherer Auflösung runterzuladen und diese dann nur angezeigt auf die gewünschte Größe zu reduzieren?
Klar, der Unterschied der Dateigröße ist nicht zu verachten:
150x150 ~  5 KB
500x500 ~ 40KB

Aber was sind Bytes gegen Ästhetik... ;-)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 20 Mai 2015, 11:49:33
Noch was:

Das Script wird anscheinend auch getriggert, wenn der MPD "auf Stop" ist und zumindest laut FHEMWeb der Timestamp der artist,title-Readings NICHT geändert wird. Damit wird auch im Leerlauf (wieder 4 Mal) eine Anfrage bei iTunes gestartet. Welches Event triggert denn das Script genau?
--edit--
Ach, da steht ja ein elem.data('refresh',    elem.data('refresh')    || 15*60); im Script...

Könnte hier auch Sinn machen, einfach ein weiteres Default-Bild bei state=stop einzubauen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: mc-hollin am 20 Mai 2015, 12:03:06
Hallo Nesges,
kann man eigentlich auch den Wochentag aus dem widget_clock über data-format direkt heraus bekommen?
Über den Parametr "w" bekomme ich nur die Zahl.
Ich hab, weil ich es nicht anders wusste, das Widget erweitert.

var ArrayTage = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
d['w'] = ArrayTage[now.getDay()];


Ist natürlich bei Udates doof.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 20 Mai 2015, 12:53:43
Zitat von: mc-hollin am 20 Mai 2015, 12:03:06
Hallo Nesges,
kann man eigentlich auch den Wochentag aus dem widget_clock über data-format direkt heraus bekommen?
Über den Parametr "w" bekomme ich nur die Zahl.
Ich hab, weil ich es nicht anders wusste, das Widget erweitert.

var ArrayTage = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
d['w'] = ArrayTage[now.getDay()];


Fände ich auch eine gute Idee, habs bei mir in die index im head so eingebaut:
<script type="text/javascript" language="JavaScript">
    var DatumAktuell = new Date();
    var WochenTagAktuell = DatumAktuell.getDay();
    var ArrayTage = new Array ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
    function TagText (Zahl) { return ArrayTage[Zahl]; } var TagName = TagText(WochenTagAktuell);
</script>

und an der benötigten Stelle so reingenommen:
<div class="cell large">
    <script type="text/javascript">document.write(TagName)</script>   
    </div>


Stört bei updates dann nicht :)

Gruss
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 20 Mai 2015, 13:01:22
Zitat von: tomster am 20 Mai 2015, 11:33:27
Ich wollte damit sagen, dass eben innerhalb eines Songs die Readings vielleicht 3-4 Mal mit gleichem Inhalt von MPD "upgedated" werden. Das Script führt dann jedes Mal eine Anfrage bei iTunes durch.

Das kann das Widget nur schwer verhindern (geht, wird aber unnötig aufwändig). Aber man bekommt das mit event-on-change-reading (http://fhem.de/commandref.html#readingFnAttributes) in den Griff.

ZitatDerzeit holt das Script die Cover ja in der im Script angegebenen size (default, glaub ich 150x150px). Wäre es - gerade im Zeitalter von Displays mit was-weiß-ich-wieviel-hundert-DPI - nicht eventuell sinnvoll die Cover in höherer Auflösung runterzuladen und diese dann nur angezeigt auf die gewünschte Größe zu reduzieren?

Das Artwork wird jetzt schon in genau der eingestellten Größe geholt. Den "größten" Artwork-URL den iTunes liefert hat die Größe 100x100. Das ersetze ich durch size x size und iTunes liefert das Bild entsprechend aufgelöst.

ZitatWelches Event triggert denn das Script genau?

Im moment noch jedes. Das ist wahrscheinlich auch der Grund für die mehrfachen Abfragen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 20 Mai 2015, 13:10:04
Zitat
Das kann das Widget nur schwer verhindern (geht, wird aber unnötig aufwändig). Aber man bekommt das mit event-on-change-reading (http://fhem.de/commandref.html#readingFnAttributes) in den Griff.

Wieso? (Hier redet sich nun der Java-DAU leicht, zugegeben) Ein simpler Vergleich am Anfang vom Script "ist-update-string = vorheriger String" täte doch den Trick, oder? Zu event-on-change: Das glaub ich nicht, da sich ja das Reading von z.B. artist und title im Stop-Fall gar nicht ändert. Sogar der Time-Stamp in FHEMWeb bleibt gleich. Trotzdem wird ge-retriggert... Es muss also etwas anderes sein, das Dein Script triggert...

ZitatDas Artwork wird jetzt schon in genau der eingestellten Größe geholt. Den "größten" Artwork-URL den iTunes liefert hat die Größe 100x100. Das ersetze ich durch size x size und iTunes liefert das Bild entsprechend aufgelöst.
Nö, man kann (zumindest bei den paar von mir versuchten) auch ein 1000x1000 dahintersetzen und es kommt ein ziiiiiemlich großes Cover zurück.Wenn ich nun z.B. besagtes 1000px-Bild hole und es dann nur angezeigt (<img width="150" height="150">) auf die gewünschte Große bringen würde, ist die Auflösung auf Displays entsprechend detaillierter als bei einem 150px-Bild...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 20 Mai 2015, 13:10:13
Zitat von: mc-hollin am 20 Mai 2015, 12:03:06
kann man eigentlich auch den Wochentag aus dem widget_clock über data-format direkt heraus bekommen?

Bisher nicht, ist aber ne gute Idee. Ich baue den ganzen Wochentag als "l" (kleines L), gekürzt auf drei Buchstaben als "D" ein.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 20 Mai 2015, 13:16:45
Zitat von: nesges am 20 Mai 2015, 13:10:13
Bisher nicht, ist aber ne gute Idee. Ich baue den ganzen Wochentag als "l" (kleines L), gekürzt auf drei Buchstaben als "D" ein.

Super, danke. Könntest du es auch mit 2 Buchstaben variabel gestalten? Einmal abgekürzt und einmal komplett?
:)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 20 Mai 2015, 21:11:37
widget_multistatebutton:

Ich habe meinen Button wie folgt definiert:

<div data-type="multistatebutton"
                data-device="Denon"
                data-get="currentStatus"
                data-set='["mute on","mute off"]'
                data-background-icon="-"
                data-get-on='["disconnected","off","mute on","[0-9]|[1-9][0-9]"]'
                data-icons='["fa-music warn","fa-music","fa-music fa-blink","fa-music warn"]'
                data-on-colors='["#505050","#505050","#aa6900","#aa6900"]'
                class="small"></div>


Dahinter steckt das selbstangelegte userReading "currentStatus". Dieses fasst mit diesem Script

set Denon userReadings currentStatus:(state|power|mute|volume) {((ReadingsVal("Denon","state",0) eq "opened")?((ReadingsVal("Denon","power",0) eq "on")? ((ReadingsVal("Denon","mute",0) eq "off")?(ReadingsVal("Denon","volume","")):"mute on"):"off"):"disconnected")}

sämtliche Device-readings zustandsabhängig in einem userReading zusammen, um die Stati eben in einem Widget anzeigen zu können.

Die Anzeige des Widgets funktioniert einwandfrei. Nur die data-set-Funktion mag nicht so recht wie ich es will. Das "mute on" geht noch, doch dann kommt das Widget durcheinander. Das liegt vermutlich daran, dass es aus Sicht des Widgets keine Rückmeldung nach "mute off" erhält. Ein erneuter Klick triggert nämlich wieder ein "set Denon mute on" an Stelle des eigentlich zu sendenden "set Denon mute off".
Hat jemand eine Idee hierzu?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 20 Mai 2015, 21:35:05
Was sagt der Eventmonitor bei mute on/mute off?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 20 Mai 2015, 21:47:07
Es macht genau was es sagt, dass es macht: 2 x "set Denon mute on"

Wenn ich (wenn am Gerät "mute off" ist) vom Widget klicke, wird ein "mute on" gesetzt:

2015-05-20 21:39:31 DENON_AVR Denon mute on


Möchte ich dann "mute off" setzen, wird wieder ein "mute on" geschickt:

2015-05-20 21:40:42 DENON_AVR Denon mute on

Dabei geht currentStatus auch ganz brav sofort auf "mute on" und das Icon im Widget wechselt auch brav. Nur bekommt das anscheinend die toggle-Logik im Widget nicht mit...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 20 Mai 2015, 22:05:53
Es geht sogar noch genauer (1.Click):
2015-05-20 22:02:05 DENON_AVR Denon mute on
2015-05-20 22:02:05 DENON_AVR Denon mute: on
2015-05-20 22:02:05 DENON_AVR Denon currentStatus: mute on


2. Click: wie gehabt.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 20 Mai 2015, 22:06:58
Dein data-set ist nicht vollständig. Da das ein undefinierter Zustand ist, wird bei allen Zuständen ohne Zuordnung der erste Befehl aus dem set-Array gesendet:

disconnected     -> mute on
off              -> mute off
mute on          -> ?  -> mute on
[0-9]|[1-9][0-9] -> ?  -> mute on


mute off hast du im data-get-on nicht definiert und data-set-default hast du nicht gesetzt, dann stellt sich das gleiche Problem wie oben und es wird ebenfalls der erste Befehl aus dem set-Array gesendet.

Siehe Wiki: multistatebutton (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/multistatebutton)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 20 Mai 2015, 22:14:48
Das mit dem data-set hab ich gesehen, bzw. bewusst so gemacht, da ich dachte, dass die Logik zunächst den ersten Befehl aus dem array nimmt.
In meinem Fall "mute on". Nachdem dabei auch currentStatus auf "mute on" gesetzt wird, dachte ich, dass das Widget damit versteht, dass als nächster Befehl "mute off" zu setzen sei. Auch wenn danach natürlich das Widget "in der Luft hängt", weil ja kein Status "mute off" definiert ist, hatte ich gehofft, dass dann wieder die Logik nach dem ersten Befehl im Array greift: -> "mute on".

Mit data-set_default="mute on" geht gar nüscht...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 20 Mai 2015, 22:29:16
Könnte aber sein, dass das Widget durcheinanderkommt, weil es ja set mute of an das Device-Reading "mute" geschickt hat. Zurück kommt aber "mute off" vom userReading currentStatus...

--edit--
Ahh, jetzt hab ich das Wiki erst gesehen. Damit wird mein Fehler klar. Ich bin davon ausgegangen, dass das set-array stupide round-robin abgearbeitet wird...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 20 Mai 2015, 23:49:19
Zitat von: nesges am 20 Mai 2015, 13:10:13
Bisher nicht, ist aber ne gute Idee. Ich baue den ganzen Wochentag als "l" (kleines L), gekürzt auf drei Buchstaben als "D" ein.

Update clock:

Folgende Formate sind hinzugefügt worden:

Die Formate l, D, F und M werden standardmässig mit deutschen Namen ersetzt. In den Attributen data-days und data-months können Arrays für die Werte der Tage bzw. Monate angegeben werden. Alternativ kann das Keyword "english" für englische Tages/Monatsbezeichnungen verwendet werden. Die Länge von D und M kann durch die Attribute data-shortday-length bzw data-shortmonth-length bestimmt werden. Der Default ist jeweils 3.

Siehe auch Wiki: clock (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/clock)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 20 Mai 2015, 23:54:39
Zitat von: tomster am 20 Mai 2015, 13:10:04
Nö, man kann (zumindest bei den paar von mir versuchten) auch ein 1000x1000 dahintersetzen und es kommt ein ziiiiiemlich großes Cover zurück.Wenn ich nun z.B. besagtes 1000px-Bild hole und es dann nur angezeigt (<img width="150" height="150">) auf die gewünschte Große bringen würde, ist die Auflösung auf Displays entsprechend detaillierter als bei einem 150px-Bild...

Ich habe eine neues Attribut data-pxratio eingebaut, das beim holen der Grafik mit data-size multipliziert wird. Default ist 1, für Retina-Displays sind Werte zwischen 1.3 und 2 wahrscheinlich ideal. Bitte einmal testen.

Uninteressante Events werden jetzt ignoriert, die Anzahl der iTunes-Abfragen sollte signifikant sinken.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 21 Mai 2015, 01:26:34
Herr Nesges, Chapeau!
Hab zwar kein Retina-Display, werde mir aber morgen eins besorgen und Testen, Testen, Testen!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 21 Mai 2015, 01:47:43
Ich kann immer noch Zwischendrin-Reloads feststellen,

muss aber morgen in der Früh noch Mal genauer nachsehen was diese verursacht. Halt mir schon ein Auge zu heute. Pixel-Overflow? Alter? Uff, zum Glück nur die Uhrzeit ;-)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 21 Mai 2015, 01:59:53
Zitat von: nesges am 20 Mai 2015, 23:54:39
Ich habe eine neues Attribut data-pxratio eingebaut, das beim holen der Grafik mit data-size multipliziert wird. Default ist 1, für Retina-Displays sind Werte zwischen 1.3 und 2 wahrscheinlich ideal. Bitte einmal testen.

Hallo Thomas,

mach das automatisch, dann müssen nicht so viele data-* benutzt werden!
Im Thermostat Widget mache ich das bei den Canvas Fonts

Die Funktion 'window.devicePixelRatio' liefert genau diesen 1,2,3x Faktor
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Phil__ am 21 Mai 2015, 08:27:47
Hallo an alle,

der User-Demo Thread und das zugehörige Git stehen bereit.
Ich hoffe auf rege Beteiligung!

http://forum.fhem.de/index.php?topic=37378.msg296510#msg296510 (http://forum.fhem.de/index.php?topic=37378.msg296510#msg296510)

https://github.com/ovibox/fhem-ftui-user-demos (https://github.com/ovibox/fhem-ftui-user-demos)


@nesges:
Könntest du die beiden Seiten im Startpost und in deinem Git verlinken?!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 21 Mai 2015, 09:08:19
Zitat von: setstate am 21 Mai 2015, 01:59:53
Die Funktion 'window.devicePixelRatio' liefert genau diesen 1,2,3x Faktor

Perfekt, Danke! :)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 21 Mai 2015, 09:21:23
Zitat von: Phil__ am 21 Mai 2015, 08:27:47
@nesges:
Könntest du die beiden Seiten im Startpost und in deinem Git verlinken?!

Erledigt :)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 21 Mai 2015, 12:08:44
So, hab's Mal ein bisschen laufen lassen:


11:07:30.187 "itunes_artwork" "update" Array [ "artist", "title" ] Array [ "Nobody To Love", "SIGMA" ] jquery.min.js line 2 > eval:129:20
11:07:30.191 "itunes_artwork" "itunes.start" Array [ "Nobody To Love", "SIGMA" ] jquery.min.js line 2 > eval:43:8
11:07:30.208 "itunes_artwork" "update" Array [ "artist", "title" ] Array [ "Nobody To Love", "SIGMA" ] jquery.min.js line 2 > eval:129:20
11:07:30.211 "itunes_artwork" "itunes.start" Array [ "Nobody To Love", "SIGMA" ] jquery.min.js line 2 > eval:43:8
11:07:30.707 "itunes_artwork" "itunes.artwork" "http://is3.mzstatic.com/image/pf/us/r30/Music4/v4/76/dc/69/76dc69b5-e320-2d18-4396-09525a803764/UMG_cvrart_00602547023940_01_RGB72_1500x1500_14UMGIM36666.396x396-75.jpg" jquery.min.js line 2 > eval:74:24
11:07:30.723 "itunes_artwork" "update" Array [ "artist", "title" ] Array [ "King", "SIGMA" ] jquery.min.js line 2 > eval:129:20
11:07:30.726 "itunes_artwork" "itunes.start" Array [ "King", "SIGMA" ] jquery.min.js line 2 > eval:43:8
11:07:30.733 "itunes_artwork" "update" Array [ "artist", "title" ] Array [ "King", "YEARS &amp; YEARS" ] jquery.min.js line 2 > eval:129:20
11:07:30.735 "itunes_artwork" "itunes.start" Array [ "King", "YEARS &amp; YEARS" ] jquery.min.js line 2 > eval:43:8
11:07:30.995 "itunes_artwork" "itunes.artwork" "http://is3.mzstatic.com/image/pf/us/r30/Music4/v4/76/dc/69/76dc69b5-e320-2d18-4396-09525a803764/UMG_cvrart_00602547023940_01_RGB72_1500x1500_14UMGIM36666.396x396-75.jpg" jquery.min.js line 2 > eval:74:24
11:07:31.020 "itunes_artwork" "itunes.results" "-" jquery.min.js line 2 > eval:79:20
11:07:31.022 "itunes_artwork" "itunes.start" Array [ "King" ] jquery.min.js line 2 > eval:43:8
11:07:31.140 "itunes_artwork" "itunes.artwork" "http://is1.mzstatic.com/image/pf/us/r30/Music/8e/bd/93/mzi.pixecwjy.396x396-75.jpg" jquery.min.js line 2 > eval:74:24
11:07:31.987 "itunes_artwork" "itunes.artwork" "http://is2.mzstatic.com/image/pf/us/r30/Music1/v4/7e/22/02/7e2202dc-de2c-1502-b313-b1bfb324a3a5/UMG_cvrart_00602547371881_01_RGB72_1500x1500_15UMGIM23337.396x396-75.jpg" jquery.min.js line 2 > eval:74:24
11:07:45.669 "idx" 1 "20.3" jquery.min.js line 2 > eval:49:20
11:07:45.672 "idx" 0 "19" jquery.min.js line 2 > eval:49:20
11:08:00.395 "itunes_artwork" "update" Array [ "artist", "title" ] Array [ "King", "YEARS &amp; YEARS" ] jquery.min.js line 2 > eval:129:20
11:08:00.398 "itunes_artwork" "itunes.start" Array [ "King", "YEARS &amp; YEARS" ] jquery.min.js line 2 > eval:43:8
11:08:00.403 "itunes_artwork" "update" Array [ "artist", "title" ] Array [ "King", "YEARS &amp; YEARS" ] jquery.min.js line 2 > eval:129:20
11:08:00.405 "itunes_artwork" "itunes.start" Array [ "King", "YEARS &amp; YEARS" ] jquery.min.js line 2 > eval:43:8
11:08:00.623 "itunes_artwork" "itunes.results" "-" jquery.min.js line 2 > eval:79:20
11:08:00.624 "itunes_artwork" "itunes.start" Array [ "King" ] jquery.min.js line 2 > eval:43:8
11:08:00.728 "itunes_artwork" "itunes.results" "-" jquery.min.js line 2 > eval:79:20
11:08:00.728 "itunes_artwork" "itunes.start" Array [ "King" ] jquery.min.js line 2 > eval:43:8
11:08:01.561 "itunes_artwork" "itunes.artwork" "http://is2.mzstatic.com/image/pf/us/r30/Music1/v4/7e/22/02/7e2202dc-de2c-1502-b313-b1bfb324a3a5/UMG_cvrart_00602547371881_01_RGB72_1500x1500_15UMGIM23337.396x396-75.jpg" jquery.min.js line 2 > eval:74:24
11:08:30.463 "itunes_artwork" "update" Array [ "artist", "title" ] Array [ "King", "YEARS &amp; YEARS" ] jquery.min.js line 2 > eval:129:20
11:08:30.465 "itunes_artwork" "itunes.start" Array [ "King", "YEARS &amp; YEARS" ] jquery.min.js line 2 > eval:43:8
11:08:30.471 "itunes_artwork" "update" Array [ "artist", "title" ] Array [ "King", "YEARS &amp; YEARS" ] jquery.min.js line 2 > eval:129:20
11:08:30.474 "itunes_artwork" "itunes.start" Array [ "King", "YEARS &amp; YEARS" ] jquery.min.js line 2 > eval:43:8
11:08:30.729 "itunes_artwork" "itunes.results" "-" jquery.min.js line 2 > eval:79:20
11:08:30.730 "itunes_artwork" "itunes.start" Array [ "King" ] jquery.min.js line 2 > eval:43:8
11:08:30.749 "itunes_artwork" "itunes.results" "-" jquery.min.js line 2 > eval:79:20
11:08:30.749 "itunes_artwork" "itunes.start" Array [ "King" ] jquery.min.js line 2 > eval:43:8
11:08:31.580 "itunes_artwork" "itunes.artwork" "http://is2.mzstatic.com/image/pf/us/r30/Music1/v4/7e/22/02/7e2202dc-de2c-1502-b313-b1bfb324a3a5/UMG_cvrart_00602547371881_01_RGB72_1500x1500_15UMGIM23337.396x396-75.jpg"

Das Script fragt alle 30 Sekunden bei iTunes an.
Das von Dir vorgeschlagene

attr MPD event-on-change-reading title,artist,name

bringt aber komplette Ruhe in die Anfragen. Nun wird wirklich nur noch mit iTunes gesprochen, wenn sich der gespielte Song ändert.

11:25:31.425 "itunes_artwork" "update" Array [ "artist", "title" ] Array [ "Headlights", "CALVIN HARRIS FEAT. HAIM" ] jquery.min.js line 2 > eval:129:20
11:25:31.429 "itunes_artwork" "itunes.start" Array [ "Headlights", "CALVIN HARRIS FEAT. HAIM" ] jquery.min.js line 2 > eval:43:8
11:25:31.448 "itunes_artwork" "update" Array [ "artist", "title" ] Array [ "Headlights", "ROBIN SCHULZ FEAT. ILSEY" ] jquery.min.js line 2 > eval:129:20
11:25:31.451 "itunes_artwork" "itunes.start" Array [ "Headlights", "ROBIN SCHULZ FEAT. ILSEY" ] jquery.min.js line 2 > eval:43:8
11:25:31.939 "itunes_artwork" "itunes.results" "-" jquery.min.js line 2 > eval:79:20
11:25:31.940 "itunes_artwork" "itunes.start" Array [ "Headlights" ] jquery.min.js line 2 > eval:43:8
11:25:32.184 "itunes_artwork" "itunes.artwork" "http://is2.mzstatic.com/image/pf/us/r30/Music5/v4/fc/7d/e5/fc7de58d-0955-4997-5eea-b1854e22dc3c/dj.gnqatncu.396x396-75.jpg" jquery.min.js line 2 > eval:74:24
11:25:32.441 "itunes_artwork" "itunes.artwork" "http://is2.mzstatic.com/image/pf/us/r30/Music4/v4/b7/90/4e/b7904ea4-9db7-268e-5544-bc24d1af0f2c/UMG_cvrart_00602537542703_01_RGB72_1500x1500_13UAEIM06078.396x396-75.jpg" jquery.min.js line 2 > eval:74:24
11:27:31.417 "idx" 1 "20.2" jquery.min.js line 2 > eval:49:20
11:27:31.419 "idx" 0 "19" jquery.min.js line 2 > eval:49:20
11:29:11.585 "itunes_artwork" "update" Array [ "artist", "title" ] Array [ "So Sick", "ROBIN SCHULZ FEAT. ILSEY" ] jquery.min.js line 2 > eval:129:20
11:29:11.589 "itunes_artwork" "itunes.start" Array [ "So Sick", "ROBIN SCHULZ FEAT. ILSEY" ] jquery.min.js line 2 > eval:43:8
11:29:11.597 "itunes_artwork" "update" Array [ "artist", "title" ] Array [ "So Sick", "NE-YO" ] jquery.min.js line 2 > eval:129:20
11:29:11.600 "itunes_artwork" "itunes.start" Array [ "So Sick", "NE-YO" ] jquery.min.js line 2 > eval:43:8
11:29:12.110 "itunes_artwork" "itunes.results" "-" jquery.min.js line 2 > eval:79:20
11:29:12.111 "itunes_artwork" "itunes.start" Array [ "So Sick" ] jquery.min.js line 2 > eval:43:8
11:29:12.353 "itunes_artwork" "itunes.artwork" "http://is4.mzstatic.com/image/pf/us/r30/Music/bc/da/be/mzi.eghupvbb.396x396-75.jpg" jquery.min.js line 2 > eval:74:24


Vielen Dank für dieses Widget!
Jetzt noch ein Bildchen, wenn MPD quasi ausgeschalten ist (vielleicht so ähnlich wie das angehängte Bild) und/oder einen Spinner wenn es nach einem Cover sucht...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 21 Mai 2015, 13:10:07
Wie macht ihr das mit dem Auslesen der Playlists beim MPD Modul?
Vielleicht habt ihr mein Post im MPD Thread gelesen? Das Modul crashed ja klp. wenn man mit UserReadings arbeitet. Als Workaround könnte man ja mit einem Dummy arbeiten, um die Playlist zu besorgen. Dann müsste das select Widget aber mit zwei devices umgehen können.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 21 Mai 2015, 13:25:08
Was genau meinst Du mit "playlist auslesen"?

Ich hatte nesges Script für now_name, etc. und playlists eingebaut, bekomme dann aber dauernd den "socketclose: Bad file descriptor"-Error im MPD. Drum hab ich es wieder ausgebaut, ohne das Reading "playlists" zu löschen. Also hab ich noch ein Reading, auf das das select-Widget zugreifen kann.

Mein Vorschlag war eigentlich (ohne das ich wissen würde, ob MPD die aktuell-gespielte Playlist überhaupt irgendwo ausgibt), dass man nesges playlists-Script so abändert, dass die Playlist-Sortierung immer die aktuell gespielte als 1. im array ausgibt. Damit würde im Select-Widget die aktuelle immer angezeigt und man kann die anderen dann im Dropdown wählen. Getriggert würde das Script dann vermutlich über ein "mpd_event change playlist" werden  müssen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 21 Mai 2015, 13:32:12
Zitat von: setstate am 21 Mai 2015, 13:10:07
Wie macht ihr das mit dem Auslesen der Playlists beim MPD Modul? Vielleicht habt ihr mein Post im MPD Thread gelesen? Das Modul crashed ja klp. wenn man mit UserReadings arbeitet.

Das Modul crasht leider beim Versuch "get playlists" in ein Userreading zu packen und liefert wegen des Doppelpunkte-Problems bei mir ohnehin nichts brauchbares. Da ich's selbst nicht brauche, hab ich das aber nicht weiter verfolgt. Grundsätzlich kann man aber Userreadings in MPD verwenden, die now_-Readings verursachen (hier) keine Probleme.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Phil__ am 21 Mai 2015, 13:35:59
Hallo,

ich habe folgendes vor:
Einen Button erstellen der auf eine url verweist, der aber in Abhängigkeit eines Fhem dummys ein "warn-Symbol" mit anzeigt.
Habe folgendes probiert, was aber nicht zum Erfolg führte. Das Warning wird zwar angezeigt, aber ich werde nicht auf einen Link weiter geleitet sondern setze den Zustand meines Fhem dummys.
Kann mir jemand helfen?

<div data-type="multistatebutton"
                data-device="Muellalert"
                data-get="state"
data-url="muell.html"
                data-get-on='["on","off"]'
                data-icons='["fa-trash warn","fa-trash"]'
                data-on-colors='["#505050","#505050"]'
                class="cell small"></div>
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 21 Mai 2015, 14:08:18
Zitat von: nesges am 21 Mai 2015, 13:32:12
Das Modul crasht leider beim Versuch "get playlists" in ein Userreading zu packen und liefert wegen des Doppelpunkte-Problems bei mir ohnehin nichts brauchbares. Da ich's selbst nicht brauche, hab ich das aber nicht weiter verfolgt. Grundsätzlich kann man aber Userreadings in MPD verwenden, die now_-Readings verursachen (hier) keine Probleme.

Hmm, bei mir crasht nix...
Ich kenn mich zwar nicht wirklich gut mit userReadings aus, aber ein

attr userReading playlists_test:() {fhem("get Wohnzimmer.MPD playlists")}


Legt brav ein userReading playlists_test an, welches auch befüllt wird. Es steht halt dann

Wohnzimmer.MPD playlists: Bayern1 AntenneBayern RockAntenne Radio2Day RadioGong

im Reading. Wie man das nun aber noch :-separiert ausgibt muss ich erst noch googlen...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 21 Mai 2015, 14:29:29
Mmmm. Muss ich nochmal sehen, was das bei mir ist. Ich bekomme auch den Socket Fehler.
Das MPD Protokoll hat auch noch den Mangel, dass es die aktuelle laufende Playlist nicht beim Namen kennt. Die müsste man selber ermitteln per hashvalue aus den Infos die der MPD Server ansonsten im Status mitliefert. Ich will spotify nutzen, da sind Playlists schon wichtig.
Ansonsten muss ich mit LMS (Squeezebox) beschäftigen. Das wollte ich aber vermeiden, das ist mir zu proprietär. Ansonsten muss eben Sonos ins Haus.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Phil__ am 21 Mai 2015, 14:52:23
Zitat von: Phil__ am 21 Mai 2015, 13:35:59
Hallo,

ich habe folgendes vor:
Einen Button erstellen der auf eine url verweist, der aber in Abhängigkeit eines Fhem dummys ein "warn-Symbol" mit anzeigt.
Habe folgendes probiert, was aber nicht zum Erfolg führte. Das Warning wird zwar angezeigt, aber ich werde nicht auf einen Link weiter geleitet sondern setze den Zustand meines Fhem dummys.
Kann mir jemand helfen?

<div data-type="multistatebutton"
                data-device="Muellalert"
                data-get="state"
data-url="muell.html"
                data-get-on='["on","off"]'
                data-icons='["fa-trash warn","fa-trash"]'
                data-on-colors='["#505050","#505050"]'
                class="cell small"></div>


1.) Mit dem Multistatebutton bekomme ich es nicht hin, ist es damit überhaupt möglich?

2.) Mir würde noch "Pagetab" einfallen... Damit müsste es doch grundsätzlich funktionieren? Aber wie bekomme ich das das icon so hin das es aussieht wie ein button (mit dem orangen Hintergrund)?

<div data-type="pagetab" data-device="Muellalert"
        data-get-on='["off","on"]'
        data-icons='["fa-trash","fa-trash warn"]'
        data-url="muell.html" class="cell"></div>
</div>


??

Grüße
Phil__
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 21 Mai 2015, 15:22:00
Unsere Button-Landschaft ist ein wenig wirr geworden, höchste Zeit für eine Konsolidierung...

Der einzige Button, der URLs direkt ansteuern kann ist der "button". Der konnte aktuell aber nicht das warn-Overlay anzeigen. Ich hab's daher grade implementiert, nach einem Update sollte folgendes möglich sein:

    <div data-type="button"
                data-device="TEST"
                data-url="muell.html"
                data-get-on='["on","off"]'
                data-icons='["fa-trash warn","fa-trash"]'
                data-on-colors='["#505050","#505050"]'
                class="cell small"></div>
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Phil__ am 21 Mai 2015, 15:36:14
Hallo nesges,

Wahnsinn.... Super Danke!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 21 Mai 2015, 17:37:25
Frage:
Was haltet ihr davon, wenn das Cover Art Widget Titel- oder Interpretenzusätze, die in Klammern stehen, also meist (Remixe) aus dem Übergabestring an iTunes herausschneiden würde? Damit würde man wohl bessere Treffer erzielen (weil nämlich überhaupt etwas gefunden wird) als mit Übergabe.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 21 Mai 2015, 17:39:41
Zitat von: setstate am 21 Mai 2015, 14:29:29
Mmmm. Muss ich nochmal sehen, was das bei mir ist. Ich bekomme auch den Socket Fehler.

Ja, himmiharrgottmargot! Jetzt hab ich auch den Socketfehler wieder. Wo kommt denn der jetzt plötzlich her?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 21 Mai 2015, 18:47:11
 ;D

Leider gibts noch kein Feedback vom MPD Modul Maintainer
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Haecksler am 21 Mai 2015, 18:51:06
Hallo nesges,
sehe ich das richtig aus tripush wurde multistatebutton?

Gruß,
Haecksler
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 21 Mai 2015, 20:16:41
Hey nesges! Dein itunes_artwork ist cool! Hast Du zufällig ein SynologyNAS im Einsatz und könntest ein ähnliches widget für DS_Audio erstellen ?  ;D ;D ;D ;D
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 21 Mai 2015, 21:11:41
Ja, tripush ist multistatebutton.

DS_Audio sagt mir leider nichts.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: dancatt am 22 Mai 2015, 07:59:25
Moin,

ist eine Integration von GoogleMusic auch in Planung?
Vielen Dank.

Gruß Daniel
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 22 Mai 2015, 08:13:56
DS Audio von Synology:  https://help.synology.com/dsm/?section=AudioStation&version=5.4&link=audiosource.html (https://help.synology.com/dsm/?section=AudioStation&version=5.4&link=audiosource.html)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 22 Mai 2015, 09:16:38
Dem itunes_artwork Widget ist es übrigens vollkommen egal, was für ein Player ihm die Titelinformationen liefert. Ich hab's bei mir für MPD, KODI und Winamp eingerichtet. Das Widget steuert ja nicht den Player, sondern holt nur das Coverimage anhand frei definierbarer Readings. Da die iTunes-Bibliothek eine der größten ist und eine solide API bietet, wird sie benutzt - an der Stelle könnte auch Amazon, last.fm oder ein anderer Service mit Coverimages stehen.

Wenn die Fragen nach DS Audio und GoogleMusic also darauf abzielen, ob das itunes_artwork Widget für diese Dienste Coverimages holen könnte: Ja!

Was für die beiden evtl. fehlt ist eine Fhem-Schnittstelle wie das MPD-Modul oder XBMC-Modul; also eine generelle Fhem-Integration. Das sind vollkommen andere Baustellen an die ich mich derzeit nicht ranwagen werde. Ob es bereits etwas gibt, oder ob etablierte Module dafür benutzt werden könnten (Winamp steuere ich zB mit Eventghost und HTTPMOD), weiss ich leider nicht.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 22 Mai 2015, 10:01:41
Zitat von: tomster am 21 Mai 2015, 17:37:25
Was haltet ihr davon, wenn das Cover Art Widget Titel- oder Interpretenzusätze, die in Klammern stehen, also meist (Remixe) aus dem Übergabestring an iTunes herausschneiden würde? Damit würde man wohl bessere Treffer erzielen (weil nämlich überhaupt etwas gefunden wird) als mit Übergabe.

Ich habe dafür zwei Optionen eingebaut:

data-stripbrackets true/false, Default: false. Löscht alle geklammerten Inhalte aus allen Readings. "Geklammert" ist alles in ({[<>]})
data-stripregex regex, Default: "". Löscht alle Matches des regulären Ausdrucks "regex". Achtung: Regex-Notation ohne Slashes, also ".*" statt "/.*/"
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 22 Mai 2015, 10:14:46
Vielen Dank nesges für die gute Arbeit.
Ich habe gestern iTunes Cover und die Titel Infos Labels beim mir eingerichtet. Funktioniert super und auf Anhieb wunderbar.
Mit data-mask könnte man auch schön die Anzeige der Titelinformationen formatieren.
Ich habe auch beim MPD die updates auf die Readings Titel, Artist, Album und aber auch state begrenzt.

State deswegen, damit der multistatebutton zwischen Play und Pause hin und her toggeln kann.
Dadurch wird aber auch das Cover wieder neu geholt und flackert kurz. Kannst du noch im Coverimage Widget einbauen, dass, wenn sich alle drei Attribute nicht geändert haben, nicht neu geladen wird. Oder, um refresh zu ermöglichen, ein Vergleich - neues Bild mit aktuellem Bild. Dann würde beim Pausedrücken nichts flackern.

Vielen Dank und ein schönes Pfingsten.


Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 22 Mai 2015, 10:25:41
Irgendwie mag das Widget seit Deinem Code-Update von gestern nicht mehr so richtig.

Wenn MPD gestoppt war und wieder auf play geht, bekommt das Widget das nicht so Recht mit. Die textliche Artist-/Titelanzeige (mpdnowplaying) schon und zeigt gleich brav an, aber das Image wird nicht aktualisiert. Es bleibt "img" stehen (Mal abgesehen davon, dass mir die stop, unknown, loading images gar nicht angezeigt werden...)

10:21:22.169 "idx" 0 "11.3" jquery.min.js line 2 > eval:49:20
10:21:35.452 "itunes_artwork" "stopped" undefined null jquery.min.js line 2 > eval:110:16
10:21:35.461 "itunes_artwork" "stopped" "STATE" "stop" jquery.min.js line 2 > eval:110:16
10:21:35.466 "itunes_artwork" "stopped" undefined null jquery.min.js line 2 > eval:110:16
10:21:35.472 "itunes_artwork" "stopped" "STATE" "stop"

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 22 Mai 2015, 10:45:41
Sorry, irgendwie hab ich bei mir einen Wurm drin...

Mal mein letztes Posting vorerst nicht beachten. Irgendwas stimmt an der switch-Logik meiner Start-Stop-Tasten nicht mehr. Die togglen nun beide zwischen "play/stop" und "!on". Komisch. Gab's da irgendwo ein Update, das ich übersehen habe?
Das hier war doch der richtige Code, oder?

<div data-type="switch"
                data-device="Wohnzimmer.MPD"
                data-get-on="stop"
                data-get-off="!on"
                data-icon="fa-stop"
                data-background-icon="-"
                data-set-on="stop"
                data-on-color="#aa6900"
                data-off-color="#505050"
                class="inline">
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 22 Mai 2015, 11:20:04
:-D DS-Audio bruache ich gar nicht :-D
Da meine Musik über KODI läuft, und KODI an das NAS gebunden ist kann ich da einfach kodinowplaying verwenden!
Frage: nesges, wie hast du das KODI integiert? Ich bin mir nicht sicher ob ich die Frage schonmal gestellt habe. Ist dein KODI ein "seperates"-Davice welches du in FHEM anghelegt hast, oder kann ich irgendwo direkt die IP-Adresse zum KODI hinterlegen? erledigt!
=> http://fhem.de/commandref.html#XBMC
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 22 Mai 2015, 12:06:23
Hallo Tomster,
Mit dem multistatebutton geht das Play/Pause toggeln besser. Ich poste heute Abend mal meine Codes.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 22 Mai 2015, 12:15:23
Mit dem letzten Update habe ich versucht das "Flackern" bei Pause->Play->Pause und einen Reload bei Stop->Play  unter einen Hut zu bekommen. Ich hoffe ich hab dabei nichts kaputt gemacht ;) Neu/Umbenannt sind die dafür benötigten Attribute:

data-playstatus="<reading>", Default: STATE. Reading in dem der Playstatus des Players zu finden ist.
data-playstatus-stop="<value>", Default: "stop". Wert für den Playstatus Stop.

Die Defaults passen für MPD, müssen für diesen Player daher nicht gesetzt werden.

Die Standard-Images werden bereits per Fhem-Update-Mechanismus ausgeliefert und stehen nach einem Update im Verzeichnis www/tablet/images zur Verfügung. Können aber auch nach wie vor mit den Attributen data-loadingimg, -stoppedimg, -notfoundimg üebrschrieben werden.

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 22 Mai 2015, 12:55:49
Hat eigentlich jemand schon Erfahrung mit dem PiCore-Squeezebox-Client gemacht?
https://sites.google.com/site/picoreplayer/home

Irgendwie gefällt mir die Idee, dass das komplette System aus dem RAM läuft...
Auch wenn ich vom Logitech Media Server bislang nur gehört habe, dass er ein Koloss sein soll, wär's vielleicht eine Überlegung wert. Gerade hinsichtlich einer funktionierenden Multi-Room-Lösung.

Muss Mal googlen, ob's für tiny-core auch eine MPD/pulseaudio/etc-Lösung gibt...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 22 Mai 2015, 13:27:56
Ja, soll gehen. In einer der letzten Ct's ging es um raspberry und eine Boombox. Da hat der Autor auf Basis von PiCore einen MPD Server aufgebaut. Vorteil: einfach ausschalten ohne Datenverlust.
Beim LMS sehe ich auch nur beim Thema Multi-Room die Vorteile. Aber sonst gibt's da wenige gute Open Source Projekte dazu.
Ich hatte den Download wieder abgebrochen. > 50mb für den Server will ich mir nicht antun. Weil ich auch keine Infos bekommen habe, ob das binär Paket zum BananaPi kompatibel ist.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 23 Mai 2015, 03:00:26
@nesges: Danke, das Flackern ist weg

Hier mein HTML Code zum MPD-Player

<li data-row="1" data-col="2" data-sizex="4" data-sizey="5">
     <header>MUSIC-SERVER</header>
     <div data-type="itunes_artwork"
              data-device="MPD1"
              data-get='["artist","album","title"]'
              class="top-space">
     </div>
     <div data-type="mpdnowplaying"
              data-device="MPD1"
              data-mask='[<span class="bold">$2</span><br>][<span class="thin large">$5</span><br>$3]'>
      </div>
      <div class="wider">
      <div data-type="push" data-device="MPD1"
           data-icon="fa-step-backward" data-background-icon="-"
           data-set-on="previous" class="inline">
      </div>
      <div data-type="multistatebutton"
             data-device="MPD1"
             data-get-on='["play","pause","stop"]'
             data-set='["pause","play"]'
             data-set-default="play"
             data-background-icon="fa-circle-thin"
             data-background-color="#555"
             data-color="#555"
             data-icons='["fa-pause","fa-play","fa-play"]'
             class="big">
      </div>
      <div data-type="push" data-device="MPD1"
           data-icon="fa-step-forward" data-background-icon="-"
           data-set-on="next" class="inline">
      </div>
  </div>
</li>
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 23 Mai 2015, 11:48:32
Danke! Werd's später Mal bei mir hineinwurschteln.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 25 Mai 2015, 02:21:19
joinedlabel (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/joinedlabel), mpdnowplaying (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/mpdnowplaying) und "label" kennen jetzt den neuen Parameter data-substitution mit dem eine Regex-Subsitution in der Notation s/regex/subst/modifier auf den Wert angewendet werden kann.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Risiko am 25 Mai 2015, 09:56:35
Super Sache. Wird genutzt und funktioniert.

Risiko
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Risiko am 25 Mai 2015, 19:27:09
Zitat von: nesges am 20 Mai 2015, 23:49:19
Update clock:

  • l (kleines L): Wochentag

Zur Info.
Produziert ne Menge Fehler im Consolen-Log
"136VM12283:91 Uncaught TypeError: Cannot read property '0' of undefined"  in Z: 91 d['l'] = f.elem.data('days')[(d['N']-1)];

Risiko.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 25 Mai 2015, 19:40:42
ich hätte da mal eine Anregung für ein "Küchen"-Widget bzw. "Einkaufs"-Widget.  ;D

Vor ungefähr einem halben Jahr, als ich mit FHEM angefangen habe, habe ich mal ein UI gesehen in welchem die Rede davon war, Lebensmittel über den Barcode zu erfassen. Jedesmal wenn z.B. die Milch leer war, hat man den Barcode mit der Frontkamera abfotografiert und es wurde dann 1l Milch auf einen "virtuellen" Einkaufszettel gepackt. Ich habe allerdings diese Seite nicht mehr wiedergefunden. Erst als mich meine Frau heute mal darauf angesprochen hat und meinte, dass das mit der Hausautomation ein Super-Sache geworden kam dann die Frage/Aussage..."Wäre doch toll wenn man jetzt noch unseren Einkaufszettel darüber befallen könnte!"

Ich gebe die Frage mal an die tüchtigen Entwickler  8)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 25 Mai 2015, 21:12:06
Zitat von: Risiko am 25 Mai 2015, 19:27:09
Produziert ne Menge Fehler im Consolen-Log
"136VM12283:91 Uncaught TypeError: Cannot read property '0' of undefined"  in Z: 91 d['l'] = f.elem.data('days')[(d['N']-1)];

Könnte ein einfacher Cast-Fehler sein, wobei ich dann eine andere Meldung erwarten würde. In welcher Konfiguration treten die Fehler auf?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 26 Mai 2015, 13:15:54
Servus nesges,

seh ich das richtig, dass Du im mpdnowplaying die auszulesenden Readings "hardgecoded" hast? Im artwork-Widget kann ich ja die auszulesenden Readings im "data-get"-Parameter explizit angeben. Beim mpdnowplaying funktioniert das nicht. Oder mach ich ebbs falsch?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 26 Mai 2015, 13:28:40
Nein, die sind konfigurierbar. Siehe mpdnowplaying (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/mpdnowplaying).
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 26 Mai 2015, 13:43:42
Danke, des geht hier alles so schnell, da komm ich in meinem Alter nimma mit...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 26 Mai 2015, 14:06:21
Zitat von: setstate am 22 Mai 2015, 13:27:56
Ja, soll gehen. In einer der letzten Ct's ging es um raspberry und eine Boombox. Da hat der Autor auf Basis von PiCore einen MPD Server aufgebaut. Vorteil: einfach ausschalten ohne Datenverlust.
Beim LMS sehe ich auch nur beim Thema Multi-Room die Vorteile. Aber sonst gibt's da wenige gute Open Source Projekte dazu.
Ich hatte den Download wieder abgebrochen. > 50mb für den Server will ich mir nicht antun. Weil ich auch keine Infos bekommen habe, ob das binär Paket zum BananaPi kompatibel ist.

Ich hab mir gestern einmal spasseshalber auf einem Raspberry Pi "Squeezeplug" und auf einem Zweiten den "piCorePlayer" installiert. Bin ehrlich gesagt fast ein bisschen begeistert...
Klar, Squeezeplug, bzw. Max2Play ist ein bisschen gewöhnungsbedürftig (Lizenz für Plugins, etc.) und ein ziemlicher Moloch. Aber sogar auf meinem Pi B+ läuft der Server halbwegs anständig. Und Multiroom bislang "wia a Glöckerl" - ganz ohne Lizenz. Nach sowas hab ich gesucht. Einfach 2-3 Switch-Widgets in's UI und man kann einzelne Räume dazu- oder wegsyncen. So zumindest bislang die Vorstellung. Werd ich die Tage noch ein bissl spielen damit.
Und das Squeezebox-Modul hält sich (im Vergleich zu dem MPD-Modul) an die Multimedia-Richtlinien, bzw. wirft alle möglichen (nützlichen) Readings aus (Stichwort: currentPaylistName).
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 26 Mai 2015, 17:24:32
Servus nesges, ach, ich sag jetzt einfach Thomas, weil es mir irgendwie widerstrebt jemanden mit dem Nachnamen anzureden...

Ich wurschtel gerade daran, meine Squeezeplayer in's UI zu bekommen. Dabei ist mir aufgefallen, dass der LMS oft ein wunderbares Default-Icon des jeweils abgespielten Webradiosenders innerhalb eines Readings "coverarturl" bereitstellt.
Das reading schaut dann z.B. so aus:

http://www.mysqueezebox.com/public/imageproxy?u=http%3A%2F%2Fcdn-radiotime-logos.tunein.com%2Fs33339q.png&h=200&w=200

Das wäre doch nett, wenn Dein widget_itunes_artwork dieses Icon als "notfoundimg" benutzen würde. Wie müsste man das denn in's widget einbauen?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Risiko am 26 Mai 2015, 20:54:48
Zitat von: nesges am 25 Mai 2015, 21:12:06
Könnte ein einfacher Cast-Fehler sein, wobei ich dann eine andere Meldung erwarten würde. In welcher Konfiguration treten die Fehler auf?
Habe das widget zweimal. Weiß jetzt nicht welche Konfiguration der Übeltäter ist. Evtl beide.

<div data-type="clock" data-format="H:i:s" class="cell big"></div>
<div data-type="clock" data-format="d.m.y" class="cell"></div>


Nach einem Update jetzt folgende Meldung:
"Uncaught TypeError: Cannot read property '1' of undefined" trotzdem noch in Zeile 91:

Risiko.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: update71 am 26 Mai 2015, 21:11:56
Zitat von: Risiko am 26 Mai 2015, 20:54:48
Habe das widget zweimal. Weiß jetzt nicht welche Konfiguration der Übeltäter ist. Evtl beide.

<div data-type="clock" data-format="H:i:s" class="cell big"></div>
<div data-type="clock" data-format="d.m.y" class="cell"></div>


Risiko.
Hab ich auch so, wenn ich die Sekunden wegnehme sind die Fehler weg. Vielleicht hilft euch das.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 26 Mai 2015, 23:42:48
Ich habe grade eine Kleinigkeit geändert, evtl. war das schon die Ursache. Bitte einmal testen.
Kann's bei mir in Chrome leider nicht nachvollziehen, in welchem Browser tritt der Fehler bei euch auf?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 27 Mai 2015, 13:25:06
Zitat von: tomster am 26 Mai 2015, 17:24:32
Servus nesges, ach, ich sag jetzt einfach Thomas, weil es mir irgendwie widerstrebt jemanden mit dem Nachnamen anzureden...

Nichts für ungut, mir geht's genau anders rum.

ZitatIch wurschtel gerade daran, meine Squeezeplayer in's UI zu bekommen. Dabei ist mir aufgefallen, dass der LMS oft ein wunderbares Default-Icon des jeweils abgespielten Webradiosenders innerhalb eines Readings "coverarturl" bereitstellt.
Das reading schaut dann z.B. so aus:

http://www.mysqueezebox.com/public/imageproxy?u=http%3A%2F%2Fcdn-radiotime-logos.tunein.com%2Fs33339q.png&h=200&w=200

Das wäre doch nett, wenn Dein widget_itunes_artwork dieses Icon als "notfoundimg" benutzen würde. Wie müsste man das denn in's widget einbauen?

Das klingt trivial, ist es aber im moment noch nicht. Ich werde mal sehen, dass ich die Funktion "jederzeit beliebiges Device:Reading lesen" generalisiere. Im joinedlabel mache ich bereits etwas ähnliches.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 27 Mai 2015, 13:28:07
Zitat
Nichts für ungut, mir geht's genau anders rum.
Ich richt da aber ganz nach Dir.

ZitatDas klingt trivial, ist es aber im moment noch nicht. Ich werde mal sehen, dass ich die Funktion "jederzeit beliebiges Device:Reading lesen" generalisiere. Im joinedlabel mache ich bereits etwas ähnliches.

Vielen Dank! Ich hab's nämlich nicht hinbekommen (wurschtel mich aber bei Javascript nur durch trial'n'error durch, ohne diese Fremdsprache auch nur ansatzweise zu kennen...)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 27 Mai 2015, 21:04:30
Update settimer:

Das Widget gibt die CSS-Klasse "large" jetzt auch an die knob-Elemente weiter und vergrößert sich insgesamt um 150%.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 28 Mai 2015, 00:09:54
Update: Die Widgets itunes_artwork (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/itunes_artwork), reload (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/reload) und javascript (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/javascript) sind jetzt in der normalen Auslieferung per Fhem-Update enthalten.

Das Widget joinedlabel (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/joinedlabel) ist intern umgebaut worden, nach aussen sollten sich keine Änderungen zeigen. Aber wichtig: Vorher fhem-tablet-ui updaten, es braucht die aktuellste Version. Davon ist mpdnowplaying (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/mpdnowplaying) ebenfalls betroffen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Risiko am 28 Mai 2015, 19:58:56
Zitat von: nesges am 26 Mai 2015, 23:42:48
Ich habe grade eine Kleinigkeit geändert, evtl. war das schon die Ursache. Bitte einmal testen.
Kann's bei mir in Chrome leider nicht nachvollziehen, in welchem Browser tritt der Fehler bei euch auf?
Hallo nesges,

leider keine Besserung.
Es liegt meiner Meinung nach auch nicht an der Konvertierung in eine Zahl, sondern weil das Array nicht definiert ist.

Verwende auch Chrome (Linux, 43.0.2357.65 (64-bit))

Risiko
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 28 Mai 2015, 20:37:47
Kannst du bitte einmal ab Zeile 100 einfügen:

console.log('clock', 'days', f.elem.data('days'));
console.log('clock', 'months', f.elem.data('months'));
console.log('clock', 'd', d);


Und mir die Ausgabe schicken? Die d-Zeile bitte expandieren, so dass die Array-Werte sichtbar sind.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Risiko am 30 Mai 2015, 16:16:01
Hallo nesges,

hier die Log's


clock days Array[7]
VM6171:101 clock months Array[12]
VM6171:102 clock d Array[0]
VM6171:100 clock days Array[7]
VM6171:101 clock months Array[12]
VM6171:102 clock d Array[0]

clock d Array[0]A: "PM"D: "Sam"F: "Mai"G: 15H: 15M: "Mai"N: 6O: -2S: "th"U: 1432994081Y: 2015a: "pm"d: 30g: 3h: "03"i: 54j: 30l: "Samstag"length: 0m: "05"n: 5s: 41u: "0487"w: 6y: 15__proto__: Array[0]


Ich habe zusätzlich console.log('clock', 'days', f.elem.data('days')); auch in Zeile 71 eingefügt und erhalte im Log

clock days undefined


Da das widget ja funktioniert, gibt es vermutlich zwei Zustände
1. IO -- Log wie oben, Array bekannt\definiert
2. Fehler - Log aus Zeile 71 - array nicht bekannt\definiert

Als Workaround habe ich daraufhin in Zeile 71

if(f.elem.data('days') == null) {return; }


eingebaut. Damit sind die Fehlermeldungen weg.

Risiko.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Phil__ am 01 Juni 2015, 07:57:27
Hallo,

kann es sein das es im imageset "kleinklima" kein icon für den Zustand "klar" gibt?

Grüße
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 01 Juni 2015, 10:05:52
Zitat von: Phil__ am 01 Juni 2015, 07:57:27
kann es sein das es im imageset "kleinklima" kein icon für den Zustand "klar" gibt?

dafür wird sunny.png verwendet
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Phil__ am 01 Juni 2015, 21:18:39
Zitat von: nesges am 01 Juni 2015, 10:05:52
dafür wird sunny.png verwendet
Bei mir wird dann nur dieses zerbrochene "File-Symbol" angezeigt.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Juni 2015, 09:50:50
Warum das Bild bei dir fehlt, kann ich nicht sagen. Vielleicht ein fehlgeschlagenes Fhem-Update. Sind die anderen denn alle da? Zeig mal bitte ein ls -la im Verzeichnis <fhem>/www/images/default/weather (ich hoffe ich hab den Pfad richtig im Kopf, sonst bitte suchen)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Phil__ am 02 Juni 2015, 09:53:55
Zitat von: nesges am 02 Juni 2015, 09:50:50
Warum das Bild bei dir fehlt, kann ich nicht sagen. Vielleicht ein fehlgeschlagenes Fhem-Update. Sind die anderen denn alle da? Zeig mal bitte ein ls -la im Verzeichnis <fhem>/www/images/default/weather (ich hoffe ich hab den Pfad richtig im Kopf, sonst bitte suchen)

hier bitte!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Juni 2015, 09:57:55
Ok, sunny.png ist vorhanden, lesbar und sieht nicht kaputt aus. Lass dir mal den URL des "kaputten" Bildes anzeigen (zB in Chrome: RMB, "Bild in neuem Tab anzeigen"'). Vielleicht gibt's da noch nen Mapping-Fehler.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Phil__ am 02 Juni 2015, 10:08:20
Die url des kapuuten Bildes ("klar")
http://192.168.50.200:8086/fhem/images/default/weather/undefined

Die url eines intakten Bildes (zB "wolkig")
http://192.168.50.200:8086/fhem/images/default/weather/mostlycloudy.png
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Juni 2015, 10:41:05
Ein Proplanta-Device?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Phil__ am 02 Juni 2015, 10:44:18
ja!

define Prop_Wetter_LGN PROPLANTA Langen+(Hessen)
attr Prop_Wetter_LGN room Wettervorhersage


<li data-row="4" data-col="5" data-sizex="1" data-sizey="2">
<div class="container weather">
<header>Abends</header>
<table width="100%">
<tr>
<td rowspan="5" style="text-align:center;vertical-align:top">
<div data-type="weather"
data-device="Prop_Wetter_LGN"
data-get="fc1_weatherEvening"
data-imageset="kleinklima"
style="width:100px"></div>
<br>
<div data-type="label"
data-device="Prop_Wetter_LGN"
data-get="fc1_weatherEvening"></div>
<br>
Temp: <div data-type="label"
data-device="Prop_Wetter_LGN"
data-get="fc1_temp21"
data-limits="[-50,-30,40]"
data-colors='["#9999ff","#aa6900","#ff0000"]'
data-unit=" °C"
class="inline"></div>
/ <div data-type="label"
data-device="Prop_Wetter_LGN"
data-get="fc1_temp18"
data-limits="[-50,-30,40]"
data-colors='["#9999ff","#aa6900","#ff0000"]'
data-unit=" °C"
class="inline"></div>
</td>
</tr>
</table>
</div>
</li>
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Juni 2015, 10:47:53
Ok, da war der Zustand "klar" noch nicht bekannt (wie wahrscheinlich noch weitere). "klar" scheint das nächtliche "sonnig" zu sein, werde es auf "sunny_night" mappen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Phil__ am 02 Juni 2015, 10:48:40
Zitat von: nesges am 02 Juni 2015, 10:47:53
Ok, da war der Zustand "klar" noch nicht bekannt (wie wahrscheinlich noch weitere). "klar" scheint das nächtliche "sonnig" zu sein, werde es auf "sunny_night" mappen.

Super, danke!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 02 Juni 2015, 14:20:18
Zitat von: tomster am 02 Juni 2015, 10:16:00
So, nun bin ich endlich hinter die Mimik der Synchronisation unter SqueezePlayern gestiegen. Und daraus entsteht auch Mal wieder ein kleines Problem:
Szenario:
Beispielhafte 2 Squeezeplayer (WZ.Player, OG.Player). Dass man ja auch bei mehreren Playern jeden Player mit jedem syncen könnte, lass ich jetzt Mal weg, weil bei 5 Playern eine für den Durchschnittsuser schier unbewältigbare Logikmatrix entstünde... ;-)

Von daher habe ich mich entschieden einen Master zu haben, auf den dann alle Player syncen.
Um Zweiteren (Slave) mit dem Ersten (Master) zu syncen muss folgender Befehl abgesetzt werden:
set WZ.Player sync OG.Player
Soweit, so gut. Das lässt sich innerhalb des UI ziemlich simpel umsetzen. Wenn ich nun aber das Slave-Device wieder unsyncen will, dann kommt die Krux. Das wird nämlich mit:
set OG.Player unsync WZ.Player
also "andersrumer" Logik erreicht. Hat da jemand eine Idee zur Lösung für ein set-array für ein Switch/Multistate/[hier beliebigen Widgetnamen einsetzen]-Widget ohne eine Vielzahl entsprechender dummies einrichten zu müssen?

Was haltet Ihr von folgender Idee?

Wenn man innerhalb von Widgets den "get-reading"-Teil vom "set-reading"-Teil entkoppeln würde, dann wäre das Widget doch insgesamt flexibler, oder?
Soll meinen:
Gibt man innerhalb von "data-set" das anzusprechende Device explizit an, dann wird der Befehl an dieses Device geschickt (auch wenn es abweichend vom innerhalb "data-device" definierten ist). Setzt man keinen expliziten Eintrag, dann wird das innerhalb "data-device" gesetzte Default device genommen.
Beispiel: multistatebutton

<div data-type="multistatebutton"
       data-device="Device_1"
       data-get-on='["on","off","unknown","uninteresting"]'
       data-icons='["fa-bolt", "fa-power-off", "fa-question", "fa-ban"]'
       data-colors='["green", "red", "orange", "blue"]'
       data-background-colors='["red", "green", "blue", "orange"]'
       data-set='["set Device_2 XYZ","on","C","D"]'
       data-set-default='X'>
</div>

Dabei würde bei Status "on" der zugehörige "Befehl" (XYZ)  and ein anderes Device (Device_2) gehen als in "data-device" definiert. Der Befehl für Status "off" hingegen ginge an das Default-Device. Meinungen?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Juni 2015, 14:43:45
Einer der wenigen Punkte, die mich an Fhem massiv nerven ist diese inkonsistente Logik zwischen verschiedenen Modulen. Das ursprüngliche Problem ist ja der seltsame Ansatz, den das Squeezebox-Modul da fährt. Ich denke da sollte man ansetzen, andere Frontends werden das gleiche Problem haben. Ich möchte mich da auch ungern anpassen, man lässt sich leicht verleiten Inkonsistenzen einzubauen, wenn man auf Inkonsistenzen reagiert (hat jemand "button" gesagt?).

Das voraus geschickt...

Das müsste eigentlich schon jetzt (dreckig) lösbar sein, indem du im set-Array mit Semikolon ala Little Bobby Tables arbeitest:

data-set='[";set Device_2 XYZ","on","C","D"]'

(bin grade nicht sicher, ob ; oder ;; )

Über eine saubere Lösung für unabhängige Fhem-Kommandos sollte man aber gesondert nachdenken.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 02 Juni 2015, 15:03:29
Zitat von: nesges am 02 Juni 2015, 14:43:45
data-set='[";set Device_2 XYZ","on","C","D"]'

(bin grade nicht sicher, ob ; oder ;; )

Haut leider nicht hin...

Ich gebe Dir Recht mit den unterschiedlichen FHEM-Konventionen. Aber die Trennung könnte auch für andere Szenarien wunderbar zu Gebrauchen sein. Und wenn es nur Befehle an unterschiedliche Devices in Abhängigkeit von Wertebereichen wäre. Auch wenn mir grad nix einfällt, wofür das gut wär ;-)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: viegener am 02 Juni 2015, 15:26:20
Ich habe bei mir eine Anzeige der aktuellen Songtexte zum gerade gespielten Song realisiert, dazu gibt es auch eine Erweiterung im iframe um ein Reading von einem Device als URL zu verwenden. Dabei wird der Inhalt des Readings nicht angezeigt sondern als URL für den iFrame verwendet.

Das ganze ist realisiert für SONOS, sollte sich aber leicht anpassen lassen, wenn man aktuellen Titel und Artist verfügbar hat in einem Device.


<li data-row="1" data-col="5" data-sizex="7" data-sizey="4">
<div class="container cell">
        <div data-type="iframe"
            data-value-url=true
            data-device="Sonos_Wohnzimmer"
            data-get="currentLyricsUrl"
            data-check=false
            data-fill="no"
            data-height="500"
            data-width="580"
            data-icon-error="fa-frown-o"
            data-scrolling="yes"
            data-timeout="3000">
        </div>     
</div>
</li>


Dazu habe ich weiteres userReading zu eineme SONOS-Device hinzugefügt, der aus anderen Readings im Device einen URL bastelt:

attr Sonos_Wohnzimmer userReadings currentLyricsUrl { getLyricsUrl( "Sonos_Wohnzimmer" );;;; }

Und hier ist der zugehörige Inhalt in 99_myUtils.pm:


##############################################
# Get URL for Lyrics based on Device name
#
sub getLyricsUrl($) {

  my ($devicename) = @_;
 
  my $url = "http://lyrics.wikia.com/";

  my $artist = ReadingsVal($devicename, "currentArtist", "");
  my $title = ReadingsVal($devicename, "currentTitle", "");
 
  $url = $url . urlEncode( $artist ) . ":" . urlEncode( $title ). "#mw-content-text";
 
  return $url;
}




Das hinzufügen von "#mw-content-text" am Ende des URLs habe ich durch Anschauen von einigen lyrics-wikia-Seiten gefunden.

Ich habe keine einfache Lösung gefunden nur den eigentlich Songtext einzubinden, denn die Anbieter müssen aus Lizenzierungsgründen einigen Aufwand treiben um zu verhindern, dass nur der Content abgegriffen wird und somit ist nur das Einbinden der gesamten WebSeite korrekt.

Vielleicht hilft es ja jemandem ...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Juni 2015, 19:58:01
Zitat von: tomster am 02 Juni 2015, 15:03:29
Haut leider nicht hin...

Hat dann aber eine andere Ursache.

Grade noch getestet: Ein Semikolon ist richtig. Für Fhem sind das zwei voneinander getrennte Befehle, die unabhängig voneinander ausgeführt werden. Der erste wird verworfen, weil er ungültig ist. Der zweite macht das was du haben willst. Kann man auch sehr schön im Eventmonitor beobachten.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Juni 2015, 19:59:14
Zitat von: viegener am 02 Juni 2015, 15:26:20
Ich habe keine einfache Lösung gefunden nur den eigentlich Songtext einzubinden, denn die Anbieter müssen aus Lizenzierungsgründen einigen Aufwand treiben um zu verhindern, dass nur der Content abgegriffen wird und somit ist nur das Einbinden der gesamten WebSeite korrekt.

Aus dem Grund hatte ich das nicht mehr weiter verfolgt. Ist aber ne schöne Lösung, danke!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Juni 2015, 20:03:20
Zitat von: Risiko am 30 Mai 2015, 16:16:01
Als Workaround habe ich daraufhin in Zeile 71

if(f.elem.data('days') == null) {return; }


eingebaut. Damit sind die Fehlermeldungen weg.

Aber vermutlich wird ab und zu mal eine Sekunde übersprungen, richtig? Entweder stehe ich bei diesem Problem tierisch auf dem Schlauch, oder das ist eine Race Condition wegen der globalen "base". Die habe ich in der letzten Version entfernt. Bitte mal damit testen, danke.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Juni 2015, 20:11:29
Zitat von: nesges am 27 Mai 2015, 13:25:06
Ich werde mal sehen, dass ich die Funktion "jederzeit beliebiges Device:Reading lesen" generalisiere. Im joinedlabel mache ich bereits etwas ähnliches.

Das ist mittlerweile passiert. Im itunes_artwork kann data-notfoundimg auf ein Reading eines anderen Devices gesetzt werden, zB:

<div data-type="itunes_artwork"
            data-device="MPD"
            data-notfoundimg='TEST:notfoundimg'></div>


In diesem Reading wird ein URL zu einem Bild erwartet, das anstelle des normalen notfoundimg angezeigt wird.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 02 Juni 2015, 20:20:39
Zitat von: nesges am 02 Juni 2015, 20:11:29
<div data-type="itunes_artwork"
            data-device="MPD"
            data-notfoundimg='TEST:notfoundimg'></div>


You da maaaan!

Übrigens funktioniert das Semikolon doch! Ich hatte bei meinem Test-Player einen Config-Fehler. Die anderen funktionieren alle!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 03 Juni 2015, 11:42:06
Ich habe gerade eine meiner Seite etwas umgebaut, und dabei bei einem Multistatebutton ein (mir bislang unbekanntes) Phänomen beobachtet.
Beim Klick auf den Button wird kurzfristig das Layout total verschoben (siehe beigefügtes Video).
Ich kann beim besten Willen keinen Fehler in meinem Code entdecken.

<div class="inline">
                <div data-type="label" class="small">Heizmodus</div>
                <div data-type="multistatebutton"
                data-device="Wohnzimmer.Wandthermostat"
                data-get="controlMode"
                data-icons='["oa-sani_heating_manual","oa-sani_heating_automatic"]'
                data-get-on='["manual","auto"]'
                data-set='["controlMode auto","controlMode manual"]'
                data-background-icon="-"
                data-on-color="#aa6900"
                class="cell small narrow"></div>
        </div>


Liegt das vielleicht an der Execution/Response Time des set-Befehls? Im Event Monitor konnte ich beobachten, dass ein "set <device> controlMode manual" eine ganze Litanei an Events hervorruft:

2015-06-03 11:34:05 CUL_HM Wohnzimmer.Wandthermostat controlMode: set_manual
2015-06-03 11:34:06 CUL_HM CUL_HM_HM_TC_IT_WM_W_EU_123456 CMDs_pending
2015-06-03 11:34:06 CUL_HM Wohnzimmer.Wandthermostat set_controlMode manual
2015-06-03 11:34:06 CUL_HM CUL_HM_HM_TC_IT_WM_W_EU_123456 desired-temp: 19.0
2015-06-03 11:34:06 CUL_HM CUL_HM_HM_TC_IT_WM_W_EU_123456 CMDs_done
2015-06-03 11:34:06 CUL_HM Wohnzimmer.Wandthermostat battery: ok
2015-06-03 11:34:06 CUL_HM Wohnzimmer.Wandthermostat boostTime: -
2015-06-03 11:34:06 CUL_HM Wohnzimmer.Wandthermostat commReporting: off
2015-06-03 11:34:06 CUL_HM Wohnzimmer.Wandthermostat controlMode: manual
2015-06-03 11:34:06 CUL_HM Wohnzimmer.Wandthermostat desired-temp: 19.0
2015-06-03 11:34:06 CUL_HM Wohnzimmer.Wandthermostat T: 22.0 desired: 19.0
2015-06-03 11:34:06 CUL_HM Wohnzimmer.Wandthermostat winOpenReporting: off
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 03 Juni 2015, 13:51:30
Die Ausführungs- und Antwortzeiten sollten den Widgets vollkommen egal sein. Der Effekt sieht eher so aus, als würden CSS-Werte verändert oder Elemente eingefügt. Poste mal die vollständige HTML-Seite, evtl. kann man's reproduzieren.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 03 Juni 2015, 14:08:34
Klingt zwar einerseits plausibel, andererseits habe ich eigentlich den gleichen (Abschnitts-)Code auf der selben Seite noch einmal verbaut (nur mit anderen Widgets).
Im Anhang die index.html und die erdgeschoss.html.

Die in der index.html verlinkte custom-includes.css enthält nur den notwendigen Code für die "wackelnde" Waschmaschine im (nicht übersandten footer.html), sonst nix. openautomation-custom.css existiert gar nicht mehr. Ist wohl noch ein Rudiment früherer Bastelei...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: CoolTux am 04 Juni 2015, 10:04:24
Hallo nesges

Ich verwende Dein settimer Widget in Verbindung mit dem wakeuptimer des RESIDENTS Modules. Soweit alles schick. Musste nur aus "OFF" im RESIDENTS Modul ein "off" machen.
Aber eine kleine Bitte hätte ich. Ich bräuchte einen 3. Knopf um ein WakeUpProgramm zu Stoppen. Dieser Knopf sollte bitte 3 Zustände darstellen können. Einmal off in Rot, dann running in blau und alle anderen Zustände in grün. Denkst Du das wäre machbar?

LG
Leon
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: CoolTux am 04 Juni 2015, 10:22:06
Kleine Korrektur, 2 Zustände reichen. Das "off" wird mir ja schon angezeigt. Also wäre ja nur ein "running" get-on und ein ".*" get-off. So habe ich das aktuell mit einem zusätzlichen switch Widget gemacht. sieht aber nicht so schön aus wie ich finde.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 05 Juni 2015, 09:21:57
Einen zusätzlichen, optionalen "Running" Zustand für den Off-Button könnte ich mir vorstellen. Ich schau's mir mal an!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: uniqueck am 05 Juni 2015, 09:22:01
Hallo nesges, ist es eigentlich möglich bei circle menu ein warn anzuzeigen? Und dann beim aufgeklappten Zustand auch bei der entsprechenden verlinkten unterseite, als bei dem icon was dann dehin routet?

Also kann die css class warn benutzt werden sowohl beim circle als auch bei den kinder icons?

Gruß Constantin
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 05 Juni 2015, 09:30:34
Am symbol-Widget ist "warn" keine CSS Klasse, sondern ein Zusatz zum Icon. Das Circlemenu zeigt die Widgets so an wie sie definiert sind, von daher: Klar, du musst dein Circlemenu nur mit Symbol-Widgets bauen.

PS: Die Frage gehört eigentlich in den Haupt-Thread (http://forum.fhem.de/index.php/topic,34233.0.html)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: CoolTux am 05 Juni 2015, 09:38:33
Zitat von: nesges am 05 Juni 2015, 09:21:57
Einen zusätzlichen, optionalen "Running" Zustand für den Off-Button könnte ich mir vorstellen. Ich schau's mir mal an!

Eigentlich geht es nur darum den running Status dar zu stellen und mit dem Button ein STOP zu setzen.
Falls nicht bekannt kleines Intergrundwissen. Befindet sich der Weckmodus am laufen ist das ROOMMATE Device im asleep. Nach ablauf schaltet er das ROOMMATE Device in den awoken. Nun komt es hin und wieder vor das ich vorher wach werde. Der Wecker ist dann running, hat aber noch nicht das wakupprogramm ausgeführt. Wenn man jetzt Den Wecker STOPT wird das wakeupprogramm nicht ausgeführt, das ROOMMATE geht aber auf awoken und führt das awoken Script aus was ich verwende.

wakupscript = Sonnenaufgangsimulation im Schlafzimmer / wird nicht benötigt wenn ich wach bin
awokenscript = Licht an im Bad und Wohnzimmer / sollte bitte bei dunkelheit gemacht werden

;D
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 05 Juni 2015, 11:27:41
D.h. du brauchst die Möglichkeit einen Zustand abhängig von einem Reading eines anderen Devices anzuzeigen, richtig? Und der Zustand könnte als ebenfalls einstellbare Hintergrundfarbe des Power-Off-Buttons dargestellt werden, aber die Funktion des Buttons soll bleiben wie sie ist, richtig?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: CoolTux am 05 Juni 2015, 11:45:59
Anderes Device NEIN. Das Device ist das selbe. Wenn Du das über den Power OFF Button machst dann mit verschiedenen Farben.

Beispiel wie es bei mir in FHEM WEB läuft

STATE = off   /  Button ROT
STATE= running / Button blau
STATE = .* / also alles andere Grün

Mögliche SET's wären STOP und OFF (schon vorhanden)
Dabei wäre gut wenn STOP nur geht wenn reading running ist und OFF nur wenn Reading !running

Das Device ist jeweils immer rr_wakeuptimer
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: uniqueck am 06 Juni 2015, 01:57:47
Danke für die Antwort ich war felsenfest der Meinung das Widget stammte von dir. Mit der css Klasse habe ich mich dann vertan aber trotzdem danke. Werde es mal umsetzen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 07 Juni 2015, 10:24:38
Update settimer:

Das settimer-Widget (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/settimer) hat jetzt die Möglichkeit einen "running"-Status (Wecker aktiv) anzuzeigen. Dazu sind vier neue Attribute eingeführt worden:

running-get
Reading das anzeigt, ob das Weckprogramm aktiv ist. Default: STATE

running-get-on
Wert, der anzeigt, ob das Weckprogramm aktiv ist. Default: running

running-blink
Soll der Off-Button bei aktivem Weckprogramm blinken? Default: true

running-color
Farbe des Off-Buttons bei aktivem Weckprogramm. Default: #0069aa
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Risiko am 07 Juni 2015, 10:48:44
Hallo nesges,

erstmal vielen vielen Dank für die Mühe.

Zitat von: nesges am 02 Juni 2015, 20:03:20
Aber vermutlich wird ab und zu mal eine Sekunde übersprungen, richtig?
Nein. Konnte ich nicht beobachten.

Zitat von: nesges am 02 Juni 2015, 20:03:20
Entweder stehe ich bei diesem Problem tierisch auf dem Schlauch, oder das ist eine Race Condition wegen der globalen "base". Die habe ich in der letzten Version entfernt. Bitte mal damit testen, danke.
Die Änderungen haben leider an dem Problem nichts geändert. Ich habe zwei clock-widgets und pro Sekunde  kommen auch zwei Fehlermeldungen hinzu.
Erklären kann ich das auch nicht. Habe den Workaround wieder eingebaut.
Mir scheint es so, als wenn die Funktion f - also die Intervalfunktion doppelt initialisiert wird. Im Code kann ich aber auch kein Fehler sehen.

Risiko.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 07 Juni 2015, 11:03:46
Ok, dann gebe ich an der Stelle auf. Ich hab deinen Workarround grade eingebaut und eingecheckt; danke auch für's dran bleiben!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: CoolTux am 07 Juni 2015, 22:48:39
Hallo Nesges

Vielen lieben Dank für Deine Mühe. Ich schaue mir das ganze Morgen mal in Ruhe an.


Grüße
Leon
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: CoolTux am 08 Juni 2015, 07:00:45
So ich konnte das ganze mal testen. Ich sage nur Suuuuuuper. Genau so wie ich es mir vorgestellt habe. Eine kleine Anmerkung bleibt noch. Und zwar das Weckprogramm running ist dann kann es vor kommen das ich es mal stopen möchte. Erklärung hatte ich ja schon mal gegeben. Ein kurzer Test zeigte mir das wenn ich den unteren Knopf drücke und wärend das Weckprogramm running ist er mir ein OFF macht. Was ich benötige wäre ein "stop" wärend des runnings.


LG
Leon
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 08 Juni 2015, 19:45:24
Ok, habe grade data-running-set-off eingebaut. Wird defaultmässig mit dem Wert von data-set-off (bzw. data-off) belegt.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: CoolTux am 08 Juni 2015, 20:30:31
Man das flutcht ja. Sollte Dir da wohl mal einen Ausgeben. Komme mir vor als wäre ich der einzige der das so benutzt   ::) :D

Daaaaaanke

Teste gleich mal
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: CoolTux am 08 Juni 2015, 20:56:40
Kleines Update. Alles schick. Ist einfach toll.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 08 Juni 2015, 21:00:46
Zitat von: CoolTux am 08 Juni 2015, 20:30:31
Sollte Dir da wohl mal einen Ausgeben.

Gerne! Meine Amazon-Wunschzettel sind leicht zu finden ;)

ZitatKomme mir vor als wäre ich der einzige der das so benutzt   ::) :D

Bei guten Ideen findet sich immer noch ein zweiter. Ich werde meinem Wecker auf jeden Fall auch noch ein Running-Reading verpassen. Einfach weil's chick ist.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: CoolTux am 08 Juni 2015, 21:16:20
 ;D

FHEM und Co machen schon viel Spaß und bringen zu meist eine Erleichterung ins Haus.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nightstorm99 am 22 Juni 2015, 08:02:37
Hallo,

gestern gab es ein Update vom statistics Modul und jetzt
habe ich auf einmal keine Werte mehr im KlimaTrend Widget.

Ist das bei euch auch so?
Die readings in FHEM sind aber alle da und werden aktualisiert.

Danke und Gruß
Denny
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 22 Juni 2015, 09:19:33
Ich hab grade erst upgedatet und kann keinen Fehler feststellen. Wie äussert sich das Problem denn bei dir genau? Zeig mal die Ausgabe von list für dein statistics-Modul und für eins der Devices mit Statistiken.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nightstorm99 am 22 Juni 2015, 11:22:11
Zitat von: nesges am 22 Juni 2015, 09:19:33
Ich hab grade erst upgedatet und kann keinen Fehler feststellen. Wie äussert sich das Problem denn bei dir genau? Zeig mal die Ausgabe von list für dein statistics-Modul und für eins der Devices mit Statistiken.

Hier mein Temperatursensor:
CODE       7
   CUL_0_MSGCNT 41
   CUL_0_RAWMSG K61833162
   CUL_0_RSSI -79.5
   CUL_0_TIME 2015-06-22 11:24:00
   DEF        7
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     41
   NAME       au.Aussentemperatur
   NR         74
   STATE      T: 18.3  H: 62.3
   TYPE       CUL_WS
   corr1      0
   corr2      0
   corr3      0
   corr4      0
   Readings:
     2015-06-22 11:24:00   DEVFAMILY       WS300
     2015-06-22 11:24:00   DEVTYPE         S300TH
     2015-06-22 11:24:00   humidity        62.3
     2015-06-18 14:21:11   statHumidityDay Min: 50.3 Avg: 58.6 Max: 58.6 (since: 2015-06-18_14:21:09 )
     2015-06-18 14:21:11   statHumidityMonth Min: 50.3 Avg: 58.6 Max: 58.6 (since: 2015-06-18_14:21:09 )
     2015-06-22 10:59:55   statHumidityTendency 1h: -6.5 2h: -10.9 3h: -12.7 6h: -12.2
     2015-06-18 14:21:11   statHumidityYear Min: 50.3 Avg: 58.6 Max: 58.6 (since: 2015-06-18_14:21:09 )
     2015-06-18 14:21:11   statTemperatureDay Min: 22.4 Avg: 22.4 Max: 22.8 (since: 2015-06-18_14:21:09 )
     2015-06-18 14:21:11   statTemperatureMonth Min: 22.4 Avg: 22.4 Max: 22.8 (since: 2015-06-18_14:21:09 )
     2015-06-22 10:59:55   statTemperatureTendency 1h: +1.7 2h: +3.3 3h: +4.4 6h: +4.9
     2015-06-18 14:21:11   statTemperatureYear Min: 22.4 Avg: 22.4 Max: 22.8 (since: 2015-06-18_14:21:09 )
     2015-06-22 11:24:00   state           T: 18.3  H: 62.3
     2015-06-22 11:24:00   temperature     18.3
   Helper:
     _98_statistics stat_aussen
Attributes:
   alias      Aussen
   group      Temperatur
   icon       temp_outside
   model      S300TH
   room       Aussen


Hier meine statitstic dazu:
Internals:
   DEF        au.Aussentemperatur
   DEV_REGEXP au.Aussentemperatur
   NAME       stat_aussen
   NR         208
   NTFY_ORDER 10-stat_aussen
   PREFIX     stat
   STATE      Updated stats for: au.Aussentemperatur
   TYPE       statistics
   Readings:
     2015-06-22 07:30:00   monitoredDevicesCUL_WS au.Aussentemperatur
     2015-06-22 10:59:55   nextPeriodChangeCalc 2015-06-22 11:59:55
     2015-06-22 11:32:42   state           Updated stats for: au.Aussentemperatur
   Fhem:
     modulVersion $Date: 2015-06-20 14:55:28 +0200 (Sat, 20 Jun 2015) $
Attributes:
   ignoreDefaultAssignments 1
   tendencyReadings temperature,humidity


Was mir noch ein fällt, ich habe gestern noch 7 weitere Statistiken angelegt von meinen anderen Sensoren.
Könnte es auch damit zusammen hängen?
Könnte ich alle auch in ein statitstics stecken?

Danke und Gruß
Denny
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 23 Juni 2015, 10:03:57
Zitat von: nightstorm99 am 22 Juni 2015, 11:22:11
Was mir noch ein fällt, ich habe gestern noch 7 weitere Statistiken angelegt von meinen anderen Sensoren.
Könnte es auch damit zusammen hängen?
Könnte ich alle auch in ein statitstics stecken?

Das könnte tatsächlich die Ursache für "Irritationen" sein. "statistics" scheint auf einen Single-Betrieb ausgelegt zu sein, evtl. überschreiben sich deine statistics-Instanzen, so dass nur die zuletzt definierte gewinnt. Ist zwar nur eine Mutmassung, aber versuche mal sie zusammen zu fassen. Du kannst die Devices mit Pipe getrennt angeben. So sieht's zB bei mir aus:

define STATISTICS statistics W_HUMID|K_HUMID|B_THERMO|S_THERMO|A_HUMID|BAD_HUMID|KUEHL_THERMO
attr STATISTICS ignoreDefaultAssignments 1
attr STATISTICS room hidden
attr STATISTICS tendencyReadings temperature,humidity
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nightstorm99 am 23 Juni 2015, 12:40:22
Zitat von: nesges am 23 Juni 2015, 10:03:57
Das könnte tatsächlich die Ursache für "Irritationen" sein. "statistics" scheint auf einen Single-Betrieb ausgelegt zu sein, evtl. überschreiben sich deine statistics-Instanzen, so dass nur die zuletzt definierte gewinnt. Ist zwar nur eine Mutmassung, aber versuche mal sie zusammen zu fassen. Du kannst die Devices mit Pipe getrennt angeben. So sieht's zB bei mir aus:

define STATISTICS statistics W_HUMID|K_HUMID|B_THERMO|S_THERMO|A_HUMID|BAD_HUMID|KUEHL_THERMO
attr STATISTICS ignoreDefaultAssignments 1
attr STATISTICS room hidden
attr STATISTICS tendencyReadings temperature,humidity


Hallo nesges,

vielen Dank erstmal.
Habe jetzt alle Statistics gelöscht und alle readings dazu und ein neues angelegt, wo alle Sensoren drin sind.
Mal schauen ob es geht.

Gruß
Denny
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: idansch am 23 Juni 2015, 15:05:45
Ich würde gerne über Widget Image ein Refresh meine INSTAR CAM einbinden.

<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>


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.

ZitatEs gibt das Image Widget, das erwartet eine Image URL per Reading. Wir können dieses Widget aber leicht erweitern, sodass eine URL fest vorgegeben werden kann und ein Refresh Intervall per Data Attribut..
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 24 Juni 2015, 09:24:20
Sieht vom Widget-Code Ok aus, aber ich kenne das Widget nicht sehr gut. Stell deine Frage am besten im Hauptthread: http://forum.fhem.de/index.php/topic,34233.0.html
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 24 Juni 2015, 09:42:32
Zitat von: idansch am 23 Juni 2015, 15:05:45
Ich würde gerne über Widget Image ein Refresh meine INSTAR CAM einbinden.

Hast Du schon Mal probiert einen MJPEG-Stream einzubauen? Dann wäre das Bild "live".
Probier Mal:
<li data-row="1" data-col="2" data-sizex="3" data-sizey="2">
     <header>TOM</header>
     <div data-type="image"
         data-url="http://192.168.109.27/cgi-bin/hi3510/mjpegstream.cgi?-chn=11&-usr=XXX&-pwd=XXX">
</div>
</li>

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: idansch am 24 Juni 2015, 11:19:20
Das habe ich schon einmal so gemacht. Möchte die "Belastung" vermeiden da ich 3 Cam´s am laufen habe.

Zitat<div type="label" class="cell"><img src="http://192.168.109.27/cgi-bin/hi3510/mjpegstream.cgi?-chn=12&-usr=xxx&pwd=xxx" height="123" wight="138" border="1"></img src></div>.

Deshalb meine Frage mit den Bilder.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 24 Juni 2015, 11:42:57
Ok, verstanden (Hab ich mir fast gedacht...).
Ich hab gerade auch einmal versucht meine Webcam mittels <data-refresh> zu refreshen. Geht bei mir ebenfalls nicht.
Da scheint die Refresh-Funktion nicht zu greifen.
Ich glaub es wär wirklich sinnvoll den Bug im Tablet UI Hauptthread zu posten...

--edit--
Hab jetzt nochmal ein bissl nachgeforscht.
Dazu habe ich in der widget_image.js das Default-Intervall von 15*60 (also 15 Minuten) auf 30 (Sekunden) herabgesetzt.
Es funktioniert, aber ziemlich unzuverlässig/ nicht in strikten 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
....
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 24 Juni 2015, 16:05:40
Ich könnte mir vorstellen, dass es ein simples Caching-Problem ist. Dem könnte man durch anhängen eines Timestamps an den URL beikommen, das müsst aber im Image-Widget implementiert werden. Ist keine große Sache, lohnt sich aber nur, wenn's auch was bringt. Evtl. schau ich's mir später mal genauer an, aber wie gesagt: Im Hauptthread ists besser aufgehoben :)
Titel: Antw:[FHEM-Tablet-UI] weather-Widget
Beitrag von: fstefan1960 am 06 August 2015, 07:12:10
Hallo,

es wäre klasse, wenn im weather-Modul der Abschnitt openweather ergänzt werden könnte:

        // OPENWEATHER (wetter.com) (incomplete)
        'leichter Schnee - Schauer' :   'chance_of_snow.png',
        'leichter Schnee-Regen' :       'rainsnow.png',
        'm\u00e4\u00dfiger Schneefall' :'chance_of_snow.png',
        'leichter Regen' :              'drizzle.png',
        'leicht bew\u00f6lkt' :         'partly_cloudy.png',
        "Regen - Schauer":                 'chance_of_rain.png',

so bei Zeile 150.

Aktuell überschreibt jedes Update mir die Definitionen. Danke!

Klasse Arbeit!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 10 August 2015, 15:02:51
Ich bin grade noch im Umzug, schaue mir das aber an, sobald ich Zeit habe.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: danieljo am 13 September 2015, 21:12:53
Zitat von: nesges am 11 April 2015, 16:23:58
Neues Widget: settimer

Controll zum Anzeigen/Einstellen einer Uhrzeit. Die Einstellung der Uhrzeit wird mit zwei Knob-Elementen vorgenommen (links Stunde, rechts Minute) und mit dem oberen Button abgesendet. Dazu werden Stunde und Uhrzeit mit Doppelpunkt verbunden und ggf. mit führender Null versehen (9+13 = 09:13). Der untere Button sendet ein "off" Kommando.

<div data-type="settimer"
    data-device="WECKER"></div>


Liest und sendet die Uhrzeit aus STATE des Device WECKER.

<div data-type="settimer"
    data-device="WECKER"
    data-reading="time">


Liest und sendet die Uhrzeit aus dem Reading "time" des Device WECKER.

Weiterführende Doku unter Widgets-for-fhem-tablet-ui#settimer (https://github.com/nesges/Widgets-for-fhem-tablet-ui#settimer). Download unter widget_settimer.js (https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/js/widget_settimer.js).

PS: Die veröffentlichte Version ist noch in einem sehr frühen Stadium. Änderungen sind sehr wahrscheinlich, Anregungen dazu sind sehr willkommen.

Wird das widget nochmal angepasst?
Ich eine "Device" folgendermaßen definiert:


*20:30:00 set Wohnzimmer_Licht_Deckenfluter on


Im STATE steht folgendes:

Next: 20:30:00

Somit erkennt das Widget den STATE falsch.

Somit steht im Widget für die Stunde -> Next und für die Minute steht ->20

MFG, Daniel Joachims
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 14 September 2015, 12:16:07
Zitat von: danieljo am 13 September 2015, 21:12:53
Ich eine "Device" folgendermaßen definiert:


*20:30:00 set Wohnzimmer_Licht_Deckenfluter on

Das ist kein Device, sondern ein Set-Befehl. Hast du settimer auf Wohnzimmer_Licht_Deckenfluter konfiguriert? Was ist das für ein Device?

ZitatIm STATE steht folgendes:

Next: 20:30:00

Wo kommt der Wert denn her? Damit kann settimer auf jeden Fall nicht arbeiten. Evtl. ist es für dich sinnvoller settimer auf einen Dummy zu konfigurieren und den als Proxy für dein echtes Device zu konfigurieren.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: danieljo am 14 September 2015, 20:45:58
Ahh okey mein Fehler :-X Sorry.

Das Device ist ein "at"

define Wohnzimmer_Licht_Deckenfluter_AN_ABENDS at *20:30:00 set Wohnzimmer_Licht_Deckenfluter on

Dann geht es wohl damit nicht.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 18 September 2015, 22:27:26
Solltest du damit nicht weiter gekommen sein: Definiere dir einen Dummy und hänge ein notify dran:

define WECKER dummy
[...]

define WECKER_setTime notify WECKER:.* { if("$EVENT" =~ /^(\d\d:\d\d|off)$/) { wecker($NAME) } }
attr WECKER_setTime room hidden


Die Perl-Funktion "wecker" legst du selbst an; sie "stellt den Wecker", legt also zum Beispiel einen at-Job zur eingestellten Uhrzeit an. Ich hänge meine Funktion an, aber das ist sehr individuell - viel wirst du davon wahrscheinlich nicht übernehmen können, aber vielleicht bringt's dich auf die richtige Idee.

sub wecker(;$) {
    my $device = shift || 'WECKER';
    my $alarmtime = Value($device);

    # delete old at-jobs
    my @at = split ' ', ReadingsVal($device, 'atjobs', '');
    foreach my $a (@at) {
        fhem("delete $a") if Value($a);
    }
    fhem("setreading ".$device." atjobs none");
   
    # reset running status
    fhem("setreading $device running no");
   
    if($alarmtime ne "off") {
        my $activationtime = TU_Get_Decrement($alarmtime.":00", "00:20:00");
        fhem("setreading ".$device." activationtime ".$activationtime);
       
        my $atjob = fhem_at($activationtime, "IF ( [ATHOME] ) ( { wecker_activate('$device') } )");
        fhem("setreading ".$device." atjobs ".$atjob);
       
        if(ReadingsVal($device, 'sendtohandy', 'no') eq 'yes') {
            autoremote(AttrVal($device, 'autoremote', ''), 'Wecker=:='.Value($device));
        }
    } else {
        fhem('set '.AttrVal($device, 'wakeuplight', '').' off');
        fhem('set '.AttrVal($device, 'radio', '').' stop');
    }
}

sub wecker_activate(;$) {
    my $device = shift || 'WECKER';
   
    # soll 20 min vor der Weckzeit gestartet werden
   
    if(Value('ATHOME')) {
        my $wakeuplight = AttrVal($device, 'wakeuplight', '');
        my $radio_device = AttrVal($device, 'radio', '');
        my $radio_server = AttrVal($radio_device, 'presence', '');
        my $radio_power = AttrVal($radio_device, 'powersupply', '');
       
        my @at;
       
        fhem("setreading $device running running");
       
        # T-20: WakeUpLight starten
        wakeuplight($wakeuplight);
       
        # T-5: Radio booten; zur Sicherheit mehrfach checken
        push @at, fhem_at("+00:15:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:16:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:17:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:18:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:19:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
       
        # T-0: Radio fadein
        push @at, fhem_at("+00:20:00", "IF ( [".$device."] ne 'off' ) ( {mpd_fadein('".$radio_device."', 'stream:".ReadingsVal($radio_device,'station','dlf')."') } )");
        # T-0: Uhrzeitansage
        push @at, fhem_at("+00:20:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."','Guten Morgen! Es ist {TIME}, du wolltest geweckt werden.') } )");
        # T-0: Alarmanlage aus
        push @at, fhem_at("+00:20:00", "IF ( [".$device."] ne 'off' ) ( set OPT_ALARM 0 )");
       
        # T+10: Zeitansage
        push @at, fhem_at("+00:30:00", "IF ( [".$device."] ne 'off' ) ( { goodmorning('".$radio_server."') } )");
        # T+20: Zeitansage
        push @at, fhem_at("+00:40:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."', 'Es ist {TIME}. Hier sind die aktuellen Nachrichten: '.ReadingsVal('DLFNACHRICHTEN', 'schlagzeilen', '')) } )");
        # T+30: Zeitansage
        push @at, fhem_at("+00:50:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."', '{TIME}') } )");
        # T+40: Zeitansage
        push @at, fhem_at("+01:00:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."', '{TIME}. Das war die letzte Ansage. Ich gebe auf. Schlaf gut') } )");
       
        # T+45: Licht aus
        push @at, fhem_at("+01:05:00", "set ".$wakeuplight." off");
        # T+45: Wecker off
        push @at, fhem_at("+01:10:00", "set $device off");
       
        # T+60: Radio stop
        push @at, fhem_at("+01:20:00", "set ".$radio_device." stop");
        # T+65: Radio shutdown
        # push @at, fhem_at("+01:25:00", "{ sshcmd('".$radio_server."', 'shutdown -h now') }");
       
        # reset running status
        push @at, fhem_at("+01:20:00", "setreading $device running no");
       
        fhem("setreading ".$device." atjobs ".join(' ', @at));
    }
}


Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 18 September 2015, 23:11:10
Neues Widget: svgplot

<div data-type="svgplot"
        data-device="SVG_DBLOG1_KUECHE_300x300"
        data-gplotfile="SVG_DBLOG1_KUECHE_300x300"
        data-logdevice="DBLOG1"
        data-logfile="CURRENT"
        data-refresh="300"></div>


Zeigt einen Fhem-SVG-Plot als Grafik an. Doku unter https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/svgplot
Titel: Antw:[FHEM-Tablet-UI] weather-Widget
Beitrag von: nesges am 19 September 2015, 01:24:17
Zitat von: fstefan1960 am 06 August 2015, 07:12:10
es wäre klasse, wenn im weather-Modul der Abschnitt openweather ergänzt werden könnte:

Die beiden neuen Zeilen sind im aktuellen FTUI-Update enthalten (weather gehört zum FTUI Standard Repository).
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: danieljo am 19 September 2015, 19:50:13
Zitat von: nesges am 18 September 2015, 22:27:26
Solltest du damit nicht weiter gekommen sein: Definiere dir einen Dummy und hänge ein notify dran:

define WECKER dummy
[...]

define WECKER_setTime notify WECKER:.* { if("$EVENT" =~ /^(\d\d:\d\d|off)$/) { wecker($NAME) } }
attr WECKER_setTime room hidden


Die Perl-Funktion "wecker" legst du selbst an; sie "stellt den Wecker", legt also zum Beispiel einen at-Job zur eingestellten Uhrzeit an. Ich hänge meine Funktion an, aber das ist sehr individuell - viel wirst du davon wahrscheinlich nicht übernehmen können, aber vielleicht bringt's dich auf die richtige Idee.

sub wecker(;$) {
    my $device = shift || 'WECKER';
    my $alarmtime = Value($device);

    # delete old at-jobs
    my @at = split ' ', ReadingsVal($device, 'atjobs', '');
    foreach my $a (@at) {
        fhem("delete $a") if Value($a);
    }
    fhem("setreading ".$device." atjobs none");
   
    # reset running status
    fhem("setreading $device running no");
   
    if($alarmtime ne "off") {
        my $activationtime = TU_Get_Decrement($alarmtime.":00", "00:20:00");
        fhem("setreading ".$device." activationtime ".$activationtime);
       
        my $atjob = fhem_at($activationtime, "IF ( [ATHOME] ) ( { wecker_activate('$device') } )");
        fhem("setreading ".$device." atjobs ".$atjob);
       
        if(ReadingsVal($device, 'sendtohandy', 'no') eq 'yes') {
            autoremote(AttrVal($device, 'autoremote', ''), 'Wecker=:='.Value($device));
        }
    } else {
        fhem('set '.AttrVal($device, 'wakeuplight', '').' off');
        fhem('set '.AttrVal($device, 'radio', '').' stop');
    }
}

sub wecker_activate(;$) {
    my $device = shift || 'WECKER';
   
    # soll 20 min vor der Weckzeit gestartet werden
   
    if(Value('ATHOME')) {
        my $wakeuplight = AttrVal($device, 'wakeuplight', '');
        my $radio_device = AttrVal($device, 'radio', '');
        my $radio_server = AttrVal($radio_device, 'presence', '');
        my $radio_power = AttrVal($radio_device, 'powersupply', '');
       
        my @at;
       
        fhem("setreading $device running running");
       
        # T-20: WakeUpLight starten
        wakeuplight($wakeuplight);
       
        # T-5: Radio booten; zur Sicherheit mehrfach checken
        push @at, fhem_at("+00:15:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:16:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:17:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:18:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
        push @at, fhem_at("+00:19:00", "IF ( [".$device."] ne 'off' and [".$radio_server."] ne 'present' ) ( set ".$radio_power." on )");
       
        # T-0: Radio fadein
        push @at, fhem_at("+00:20:00", "IF ( [".$device."] ne 'off' ) ( {mpd_fadein('".$radio_device."', 'stream:".ReadingsVal($radio_device,'station','dlf')."') } )");
        # T-0: Uhrzeitansage
        push @at, fhem_at("+00:20:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."','Guten Morgen! Es ist {TIME}, du wolltest geweckt werden.') } )");
        # T-0: Alarmanlage aus
        push @at, fhem_at("+00:20:00", "IF ( [".$device."] ne 'off' ) ( set OPT_ALARM 0 )");
       
        # T+10: Zeitansage
        push @at, fhem_at("+00:30:00", "IF ( [".$device."] ne 'off' ) ( { goodmorning('".$radio_server."') } )");
        # T+20: Zeitansage
        push @at, fhem_at("+00:40:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."', 'Es ist {TIME}. Hier sind die aktuellen Nachrichten: '.ReadingsVal('DLFNACHRICHTEN', 'schlagzeilen', '')) } )");
        # T+30: Zeitansage
        push @at, fhem_at("+00:50:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."', '{TIME}') } )");
        # T+40: Zeitansage
        push @at, fhem_at("+01:00:00", "IF ( [".$device."] ne 'off' ) ( { say('".$radio_server."', '{TIME}. Das war die letzte Ansage. Ich gebe auf. Schlaf gut') } )");
       
        # T+45: Licht aus
        push @at, fhem_at("+01:05:00", "set ".$wakeuplight." off");
        # T+45: Wecker off
        push @at, fhem_at("+01:10:00", "set $device off");
       
        # T+60: Radio stop
        push @at, fhem_at("+01:20:00", "set ".$radio_device." stop");
        # T+65: Radio shutdown
        # push @at, fhem_at("+01:25:00", "{ sshcmd('".$radio_server."', 'shutdown -h now') }");
       
        # reset running status
        push @at, fhem_at("+01:20:00", "setreading $device running no");
       
        fhem("setreading ".$device." atjobs ".join(' ', @at));
    }
}


Nein ich habe da noch nicht  dran weitergemacht. Aber der Tipp mit dem "notify" und "dummy" könnte klappen ic hwerde da mal die Tage was probieren! Vielen Dank für den Tipp nesges. Achja und tolles neues Widget mit dem SVG-Plot. Auch das werde ich mal probieren aber erstmal ein paar andere Probleme mit Tablet UI aus dem Weg räumen.

MFG, Daniel Joachims
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Raven am 20 September 2015, 08:52:37
Perfekt! Danke! Danke!

Ich habe schon gesucht, aber nicht wirklich nicht fündig geworden: Welches CSS-File aus dem FHEM-Verzeichnis muss ich bitte anpassen, um weiße Bezeichnungen zu erhalten. Und natürlich so, daß über das FHEM-Frontend nach wie vor die Bezeichnungen schwarz bleiben. Danke vorab.

Zitat von: nesges am 18 September 2015, 23:11:10
Neues Widget: svgplot

<div data-type="svgplot"
        data-device="SVG_DBLOG1_KUECHE_300x300"
        data-gplotfile="SVG_DBLOG1_KUECHE_300x300"
        data-logdevice="DBLOG1"
        data-logfile="CURRENT"
        data-refresh="300"></div>


Zeigt einen Fhem-SVG-Plot als Grafik an. Doku unter https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/svgplot
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 20 September 2015, 10:19:11
Der SVG-Style wird in www/pgm2/*svg_style.css konfiguriert. Das Prefix für's CSS-File ist als Attribut "stylesheetPrefix" an der FHEMWEB Instanz festgelegt, also zB "attr WEB stylesheetPrefix dark" -> www/pgm2/darksvg_style.css. Für Änderungen am besten kopieren und ein eigenes Prefix setzen, damit's nicht beim Fhem-Update überschrieben wird.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Raven am 20 September 2015, 11:00:34
Wunderbar! Dankeschön!
Zitat von: nesges am 20 September 2015, 10:19:11
Der SVG-Style wird in www/pgm2/*svg_style.css konfiguriert. Das Prefix für's CSS-File ist als Attribut "stylesheetPrefix" an der FHEMWEB Instanz festgelegt, also zB "attr WEB stylesheetPrefix dark" -> www/pgm2/darksvg_style.css. Für Änderungen am besten kopieren und ein eigenes Prefix setzen, damit's nicht beim Fhem-Update überschrieben wird.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Schlimbo am 27 September 2015, 18:23:31
Hallo Zusammen,

Probiere gerade das Widget "itunes_artwork" einzubinde.
Das Widget soll die Daten von KODI bekommen (Device Type: XBMC)


<li data-row="1" data-col="1" data-sizex="3" data-sizey="3">
        <header>KODI COVER</header>
<div data-type="itunes_artwork"
    data-device="raspbmc"
    data-get='["currentArtist","currentAlbum","currentTitle"]'></div>
</li>



Bekomme aber Kein Cover Angezeigt, mach ich hier noch etwas falsch?

Ausgabe der Browser Konsole:
"2015-09-27 17:52:40 / raspbmc / currentArtist / Future" fhem-tablet-ui.min.js:1
"label" "value" "Future" "substitution" "" jquery.min.js line 2 > eval:44
"itunes_artwork" "playstatus" "STATE" "play all" jquery.min.js line 2 > eval:141
"update done for device:raspbmc parameter:currentArtist" fhem-tablet-ui.min.js:1
"2015-09-27 17:52:40 / raspbmc / currentAlbum / Hip Hop TXL Vol 38" fhem-tablet-ui.min.js:1
"label" "value" "Hip Hop TXL Vol 38" "substitution" "" jquery.min.js line 2 > eval:44
"itunes_artwork" "playstatus" "STATE" "play all" jquery.min.js line 2 > eval:141
"itunes_artwork" "ignoring" "currentAlbum" true true jquery.min.js line 2 > eval:216
"update done for device:raspbmc parameter:currentAlbum" fhem-tablet-ui.min.js:1
"2015-09-27 17:52:40 / raspbmc / currentTitle / I Won (feat. Kanye West)" fhem-tablet-ui.min.js:1
"label" "value" "I Won (feat. Kanye West)" "substitution" "" jquery.min.js line 2 > eval:44
"itunes_artwork" "playstatus" "STATE" "play all" jquery.min.js line 2 > eval:141
"itunes_artwork" "ignoring" "currentTitle" true true jquery.min.js line 2 > eval:216
"update done for device:raspbmc parameter:currentTitle" fhem-tablet-ui.min.js:1
"itunes_artwork" "update" Array [ "currentArtist", "currentAlbum", "currentTitle" ] Array [ "Future", "Hip Hop TXL Vol 38", "I Won (feat. Kanye West)" ] jquery.min.js line 2 > eval:208
"itunes_artwork" "itunes.start" Array [ "Future", "Hip Hop TXL Vol 38", "I Won (feat. Kanye West)" ] jquery.min.js line 2 > eval:58
GET https://itunes.apple.com/search [HTTP/1.1 200 OK 287ms]
"itunes_artwork" "itunes.results" "-" jquery.min.js line 2 > eval:98
"itunes_artwork" "itunes.start" Array [ "Future", "Hip Hop TXL Vol 38" ] jquery.min.js line 2 > eval:58
GET https://itunes.apple.com/search [HTTP/1.1 200 OK 295ms]
"itunes_artwork" "itunes.results" "-" jquery.min.js line 2 > eval:98
"itunes_artwork" "itunes.start" Array [ "Future" ] jquery.min.js line 2 > eval:58
GET https://itunes.apple.com/search [HTTP/1.1 200 OK 619ms]
"itunes_artwork" "itunes.artwork" "http://is2.mzstatic.com/image/thumb/Music7/v4/d8/fd/1e/d8fd1e71-ee8d-526b-52a3-bcf215228975/886445328530.jpg/NaNxNaNbb-85.jpg"


Der Itunes Server gibt also eine URL zurück z.B.: http://is2.mzstatic.com/image/thumb/Music7/v4/d8/fd/1e/d8fd1e71-ee8d-526b-52a3-bcf215228975/886445328530.jpg/NaNxNaNbb-85.jpg
beim Aufruf dieser URL bekomme ich aber nur "404: Not Found" zurück

Auch das Load und Stop Bild wird nicht angezeigt.

Kann hier jemand helfen?

Gruß Schlimbo

Edit:
Beim refresh der Seite ist mir gerade noch die Fehlermeldung "TypeError: $(...).attr(...) is undefined" aufgefallen:

"Loaded plugin: widget_itunes_artwork" fhem-tablet-ui.min.js:1
"itunes_artwork" "init_attr" "currentArtist" jquery.min.js line 2 > eval:19
"itunes_artwork" "init_attr" "currentAlbum" jquery.min.js line 2 > eval:19
"itunes_artwork" "init_attr" "currentTitle" jquery.min.js line 2 > eval:19
TypeError: $(...).attr(...) is undefined jquery.min.js line 2 > eval:28

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 28 September 2015, 14:29:57
Anscheinend funktioniert die Berechnung der Pixelratiosize bei dir nicht. In was für einem Browser auf was für einem Gerät hast du's versucht?

Folgendes passiert:

1. Anfrage an Itunes: https://itunes.apple.com/search?media=music&entity=song&term=Future%20Hip%20Hop%20TXL%20Vol%2038%20I%20Won%20(feat.%20Kanye%20West)
Kein Ergebnis

2. Anfrage an Itunes:  https://itunes.apple.com/search?media=music&entity=song&term=Future%20Hip%20Hop%20TXL%20Vol%2038
Kein Ergebnis

3. Anfrage an Itunes:  https://itunes.apple.com/search?media=music&entity=song&term=Future
Ergebnis: http://is2.mzstatic.com/image/thumb/Music7/v4/d8/fd/1e/d8fd1e71-ee8d-526b-52a3-bcf215228975/886445328530.jpg/100x100bb-85.jpg

"100x100" wird durch Pixelratio * data-size (Default: 100px) ersetzt, aber offenbar ist bei dir window.devicePixelRatio undefiniert, daher wird mit "NaN" ersetzt und das Ergebnis ist:

http://is2.mzstatic.com/image/thumb/Music7/v4/d8/fd/1e/d8fd1e71-ee8d-526b-52a3-bcf215228975/886445328530.jpg/NaNxNaNbb-85.jpg

Ich habe grade einen Workarround dafür commited, nach einem Update solltest du ein Bild sehen. Allerdings wirst du für den speziellen Song u.U. enttäuscht sein, da iTunes mit dem vollen Suchstring "Future Hip Hop TXL Vol 38 I Won (feat. Kanye West)" nichts findet, wird das erste Ergebnis für "Future" angezeigt. In diesem speziellen Fall kennt iTunes nämlich das Album "Hip Hop TXL Vol 38" nicht. Wenn du viele Kompilationalben hast, würde ich empfehlen die Attributreihenfolge in data-get entsprechend umzustellen:

data-get='["currentArtist","currentTitle","currentAlbum"]'
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Schlimbo am 29 September 2015, 16:58:43
Hallo nesges,

Danke für deine Antwort.

Ich habe es auf einen Android Tablet mit Dolphin, Firefox und Standard Browser Probiert, auch mit Firefox auf meinen Desktop Rechner bekomme ich kein Cover Angezeigt.

Ich habe das Update eingespielt, bekomme aber immer noch ungültige Links mit "NaN".
Setzt ich die Größe manuell mit "data-size" bekomme ich einen funktionierenden Link, ein Bild bekomme ich aber dennoch nicht angezeigt.
Zum Testen, ob ich überhaupt Bilder Angezeigt bekomme, habe ich den von Itunes erhaltenen Link in ein Image-Widget eingebunden, damit bekomme ich das Bild im Browser angezeigt.

Auch das Load und Stop Bild bekomme ich nicht angezeigt.

Hier die Ausgabe der Konsole:
"Plugin dir: /fhem/tablet/js" fhem-tablet-ui.min.js:1
"Filename: " fhem-tablet-ui.min.js:1
"Collecting required readings" fhem-tablet-ui.min.js:1
"Request readings from FHEM" fhem-tablet-ui.min.js:1
Synchrone XMLHttpRequests am Haupt-Thread sollte nicht mehr verwendet werden, weil es nachteilige Effekte für das Erlebnis der Endbenutzer hat. Für weitere Hilfe siehe http://xhr.spec.whatwg.org/ jquery.min.js:4
"Loaded plugin: widget_image" fhem-tablet-ui.min.js:1
"Loaded plugin: widget_itunes_artwork" fhem-tablet-ui.min.js:1
"itunes_artwork" "init_attr" "currentArtist" jquery.min.js line 2 > eval:19
"itunes_artwork" "init_attr" "currentAlbum" jquery.min.js line 2 > eval:19
"itunes_artwork" "init_attr" "currentTitle" jquery.min.js line 2 > eval:19
TypeError: $(...).attr(...) is undefined jquery.min.js line 2 > eval:28
"Loaded plugin: widget_label" fhem-tablet-ui.min.js:1
"label" "value" "2Pac" "substitution" "" jquery.min.js line 2 > eval:44
"label" "value" "All Eyez On Me" "substitution" "" jquery.min.js line 2 > eval:44
"label" "value" "Skandalouz" "substitution" "" jquery.min.js line 2 > eval:44
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"label" "value" "2Pac" "substitution" "" jquery.min.js line 2 > eval:44
"update done for device:raspbmc parameter:currentArtist" fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"itunes_artwork" "ignoring" "currentAlbum" true true jquery.min.js line 2 > eval:221
"label" "value" "All Eyez On Me" "substitution" "" jquery.min.js line 2 > eval:44
"update done for device:raspbmc parameter:currentAlbum" fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"itunes_artwork" "ignoring" "currentTitle" true true jquery.min.js line 2 > eval:221
"label" "value" "No More Pain" "substitution" "" jquery.min.js line 2 > eval:44
"update done for device:raspbmc parameter:currentTitle" fhem-tablet-ui.min.js:1
"itunes_artwork" "update" Array [ "currentArtist", "currentAlbum", "currentTitle" ] Array [ "2Pac", "All Eyez On Me", "No More Pain" ] jquery.min.js line 2 > eval:213
"itunes_artwork" "itunes.start" Array [ "2Pac", "All Eyez On Me", "No More Pain" ] jquery.min.js line 2 > eval:58
"itunes_artwork" "itunes.artwork" "http://is2.mzstatic.com/image/thumb/Music/4f/49/20/dj.lbjggise.jpg/400x400bb-85.jpg" jquery.min.js line 2 > eval:97
"start longpoll" fhem-tablet-ui.min.js:1
"2015-09-29 16:54:15 / raspbmc / currentTitle / " fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"update done for device:raspbmc parameter:currentTitle" fhem-tablet-ui.min.js:1
"2015-09-29 16:54:15 / raspbmc / currentAlbum / " fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"itunes_artwork" "ignoring" "currentAlbum" true true jquery.min.js line 2 > eval:221
"update done for device:raspbmc parameter:currentAlbum" fhem-tablet-ui.min.js:1
"2015-09-29 16:54:15 / raspbmc / currentArtist / " fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"itunes_artwork" "ignoring" "currentArtist" true true jquery.min.js line 2 > eval:221
"update done for device:raspbmc parameter:currentArtist" fhem-tablet-ui.min.js:1
"2015-09-29 16:54:15 / raspbmc / currentArtist / 2Pac" fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"label" "value" "2Pac" "substitution" "" jquery.min.js line 2 > eval:44
"update done for device:raspbmc parameter:currentArtist" fhem-tablet-ui.min.js:1
"2015-09-29 16:54:15 / raspbmc / currentAlbum / All Eyez On Me" fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"itunes_artwork" "ignoring" "currentAlbum" true true jquery.min.js line 2 > eval:221
"label" "value" "All Eyez On Me" "substitution" "" jquery.min.js line 2 > eval:44
"update done for device:raspbmc parameter:currentAlbum" fhem-tablet-ui.min.js:1
"2015-09-29 16:54:15 / raspbmc / currentTitle / 2 Of Amerikaz Most Wanted" fhem-tablet-ui.min.js:1
"itunes_artwork" "playstatus" "STATE" "opened" jquery.min.js line 2 > eval:146
"itunes_artwork" "ignoring" "currentTitle" true true jquery.min.js line 2 > eval:221
"label" "value" "2 Of Amerikaz Most Wanted" "substitution" "" jquery.min.js line 2 > eval:44
"update done for device:raspbmc parameter:currentTitle" fhem-tablet-ui.min.js:1
"itunes_artwork" "update" Array [ "currentArtist", "currentAlbum", "currentTitle" ] Array [ "2Pac", "All Eyez On Me", "2 Of Amerikaz Most Wanted" ] jquery.min.js line 2 > eval:213
"itunes_artwork" "itunes.start" Array [ "2Pac", "All Eyez On Me", "2 Of Amerikaz Most Wanted" ] jquery.min.js line 2 > eval:58
GET https://itunes.apple.com/search [HTTP/1.1 200 OK 350ms]
"itunes_artwork" "itunes.artwork" "http://is1.mzstatic.com/image/thumb/Music/41/5c/ac/dj.jiruxewe.jpg/400x400bb-85.jpg" jquery.min.js line 2 > eval:97


Gruß Schlimbo
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Syntaxterror am 07 Oktober 2015, 21:44:24
Hallo,

da ich 2 Raspis über fhem2fhem betreibe, will ich gern z.B. das Widget thermostat verwenden, dabei aber die Daten des entfernten fhem-Servers anzeigen.
Wie kann ich dies bei data-device eintragen, mit <https://192.168.100.2:8083..../Heizung_Clima> wird ja wohl nicht funktionieren.

Hat einer eine Idee?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: skuggy am 08 Oktober 2015, 14:07:02
Hallo zusammen,

ist es möglich anstatt runden Icon´s eckige im Button Widget anzeigen zu lassen?

z.B. mit background-icon = fa-square

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: danieljo am 08 Oktober 2015, 19:45:15
Zitat von: Syntaxterror am 07 Oktober 2015, 21:44:24
Hallo,

da ich 2 Raspis über fhem2fhem betreibe, will ich gern z.B. das Widget thermostat verwenden, dabei aber die Daten des entfernten fhem-Servers anzeigen.
Wie kann ich dies bei data-device eintragen, mit <https://192.168.100.2:8083..../Heizung_Clima> wird ja wohl nicht funktionieren.

Hat einer eine Idee?

Das Problem habe ich bei mir bereits gelöst.

Du musst die Daten erstmal in FHEM selber in eine Art Dummy Device oder Readingsgroup bringen das geht mittels FHEM2FHEM, RFEHEM, notifies. Ich habe ebenfalls 2 Raspberry Pi2 einen als "Zentrale" der andere hängt im Aquarium Unterschrank und steuert Aquarium Heizung und Licht.

So kann ich vom Master aus mittels FHEM die Soll-Temperatur; Ist-Temperatur sehen und auch die Soll-Temperatur setzen. Sollte die Verbindung unterbrechen oder der Master abschmieren arbeitet der Slave immernoch als eigene Instanz anhand der letzten gesetzten Soll-Temperatur. Sollte man am Slave die Temperatur setzen wird dies auch auf dem Master übernommen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Syntaxterror am 08 Oktober 2015, 20:48:46
Danke für den Tipp, aber genauso hab ich das auch zu laufen, 2 Rpis, fhem2fhem, RFHEM.
Ich will aber Tablet-UI mit z.B. HM-CC-RT-DN einsetzen und diese sehen und steuern können, als wären sie am Hauptraspi. Da die Regler mehr als nur eine Variable liefern, weiß ich nicht, wie ich das mit den dummys/notifys machen soll. (mode, temp, clima-team, weather usw.)

Grüße ins Forum
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: danieljo am 09 Oktober 2015, 19:08:52
Zitat von: Syntaxterror am 08 Oktober 2015, 20:48:46
Danke für den Tipp, aber genauso hab ich das auch zu laufen, 2 Rpis, fhem2fhem, RFHEM.
Ich will aber Tablet-UI mit z.B. HM-CC-RT-DN einsetzen und diese sehen und steuern können, als wären sie am Hauptraspi. Da die Regler mehr als nur eine Variable liefern, weiß ich nicht, wie ich das mit den dummys/notifys machen soll. (mode, temp, clima-team, weather usw.)

Grüße ins Forum

Unterstützt HM-CC-RT-DN den "RAW" Modus oder gehts nur über den "LOG" Modus in FHEM2FHEM? Beim RAW Modus kannst du ja auf dem Device zugreifen so als wäre er direkt am Haupt RPI Angeschlossen. Meine Geräte kann ich leider nur im "LOG" Modus ermitteln.

Andernfalls legst du dir einen "Dummy" HM-CC-RT-DN an und dann musst du mittels notice jeden einzelnen Wert  den du haben willst einzeln an den Dummy senden. Ist halt etwas aufwendiger. Sprich für "mode" ein notice; für "temp" ein notice usw.....
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Gunther am 14 Oktober 2015, 00:25:48
Ich möchte gerne den Homestatus auf dem Startbildschirm anzeigen und ändern können.

Ich habe 4 dummys:
haus_Status_1_Zuhause
haus_Status_2_Schlafen
haus_Status_3_KurzWeg und
haus_Status_4_LangeWeg

Folgenden Code habe ich aus dem Wiki:

Zitat<!-- <li data-row="2" data-col="5" data-sizex="2" data-sizey="2">
        <header>Anwesenheit</header>
<div data-type="homestatus" data-device='dummy1'
       data-get-on='["1","2","3","4"]'
       data-alias='["Home","Night","Away","Holiday"]'
       data-icons='["fa-home","fa-bed","fa-car","fa-suitcase"]'>
</div>
</li>-->

Was ist denn nun bei mir
1.) data-device (dummy1)
2.) data-get-on und
3.) data-alias

Hoffe, ich brauche nun nicht eine einzelne Variable "homestatus", der 1,2,3,4 zugewiesen wird. Dann müsste ich ziemlich viel ändern in meiner cfg.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Syntaxterror am 03 November 2015, 21:08:05
also ich habs jetzt komplett geändert und hier mit bin ich voll zufieden:

Ein Rpi mit CUL, 1-W usw., der zweite Rpi am LAN, dort dran 433MHz am GPIO und der zweite CUL am USB über ser2net virtuell am Haupr-Rpi. Für den Haupt-Pi sieht das so aus, als wäre der zweite CUL direkt dran. So überbrücke ich wunderbar große Distanzen. Die 433 MHz-Geschichte läuft über RFEHM, da die sowieso nur unidirektional läuft.
Fürs Aquarium reichts allemal. Alles was sicherer laufen soll, mache ich dann über HM.

Mit der Konfiguration kann ich endlich alle Devices auf der Tablet-UI anzeigen und auch steuern, egal wie weit weg.
Da ich die vCCU nutze, teilt sich das System gut auf und sollte ein CUL nicht erreichbar sein, übernimmt der andere, sofern in Reichweite. Bei mobilen Geräten gehts nach Feldstärke, je nachdem, wer näher dran ist.

Nun suche ich nur noch eine Lösung die Temperatureinstellungen für die RT´s über die Tablet-UI zu machen. Sollte grafisch auch für Frauen machbar sein. Allerdings bin ich mir nicht sicher, ob die Temp-Listen dann in den RT geschrieben werden sollten. Die Dinger machen dabei immer wieder Probleme.

Gibts vielleicht schon eine Lösung zum Einstellen der Temperaturkurven?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 04 November 2015, 07:38:09
Zitat von: Syntaxterror am 03 November 2015, 21:08:05

Nun suche ich nur noch eine Lösung die Temperatureinstellungen für die RT´s über die Tablet-UI zu machen. Sollte grafisch auch für Frauen machbar sein. Allerdings bin ich mir nicht sicher, ob die Temp-Listen dann in den RT geschrieben werden sollten. Die Dinger machen dabei immer wieder Probleme.

Gibts vielleicht schon eine Lösung zum Einstellen der Temperaturkurven?

Sehr gut passend für FTUI wäre diese Lösung von Zach Richard: http://www.zachrichard.com/blog/thermostat-ui-concept-using-css-jquery-slider/ (http://www.zachrichard.com/blog/thermostat-ui-concept-using-css-jquery-slider/)

Jetzt muss es nur noch freiwillige Programmierer geben, der das in ein FTUI-Widget giessen und es müsste ein FHEM-Modul dafür entwickelt werden, was die Daten entgegen nimmt und die Regler-HW befüttert. Denn der UI Teil sollte relativ frei von Bussiness-Logik bleiben und für alle Regler-Hersteller nutzbar sein.

Nachtrag: Ich glaube das FHEM Modul gibt es schon: Heating_Control . Dann brauchen wir nur noch das Heating_Scheduler Widget für FTUI.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 04 November 2015, 07:56:51
Eine etwas andere Lösung zur Steuerung der Badtemperatur, habe ich für meine Frau mit einem zweistufigen at-Timer auf FHEM Seite und zwei Datetimepicker-Widgets auf FTUI Seite realisiert.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: roman1528 am 04 November 2015, 09:45:07
Zitat von: setstate am 04 November 2015, 07:56:51
Eine etwas andere Lösung zur Steuerung der Badtemperatur, habe ich für meine Frau mit einem zweistufigen at-Timer auf FHEM Seite und zwei Datetimepicker-Widgets auf FTUI Seite realisiert.

Kannst du mir dafür mal den / die codes geben? sowas suche ich nämlich noch nur hab ich noch nicht begriffen wie ich zeiten und was auch immer in einen befehl verpacken kann.

danke schon mal
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Risiko am 04 November 2015, 19:43:40
Zitat von: setstate am 04 November 2015, 07:38:09
Sehr gut passend für FTUI wäre diese Lösung von Zach Richard: http://www.zachrichard.com/blog/thermostat-ui-concept-using-css-jquery-slider/ (http://www.zachrichard.com/blog/thermostat-ui-concept-using-css-jquery-slider/)

Nachtrag: Ich glaube das FHEM Modul gibt es schon: Heating_Control . Dann brauchen wir nur noch das Heating_Scheduler Widget für FTUI.
So was fehlt mir auch noch.
Meiner Meinung nach ist Heating_Control nicht das passende Modul. Man bräuchte meiner Meinung nach ein Modul, welches die Wochenprofile unterschiedlicher Hardware (HM, MAX, etc.) in ein allgemeines Format für die GUI wandelt und unterschiedliche Profile (Sommer, Winter, Ferien, etc.) verwalten kann.
Hatte mich mal mit einer GUI (FHEMWEB) für MAX-Wochenprofile beschäftigt: http://forum.fhem.de/index.php/topic,32390.msg247936.html#msg247936
Leider ging es aus Zeitmangel nicht weiter.  Mit Unterstützung, könnte man hier evtl. was passendes entwickeln.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 07 November 2015, 08:15:11
Zitat von: roman1528 am 04 November 2015, 09:45:07
Kannst du mir dafür mal den / die codes geben? sowas suche ich nämlich noch nur hab ich noch nicht begriffen wie ich zeiten und was auch immer in einen befehl verpacken kann.

danke schon mal

Hier nun mein Code dazu:
FTUI

        <li data-row="1" data-col="2" data-sizex="9" data-sizey="3">
        <header>TIMER</header>
            <div class="inline large darker thin cell" >Bad warm ab:</div>
            <div data-type="datetimepicker" data-device="BeforeGettingUp"
              data-get="TIMESPEC" data-set-value="*$v" data-cmd="modify"
              data-step="15"
              data-datepicker="false" data-format="H:i"
              class="inline bigger thin orange cell"></div>
            <div class="inline large darker thin cell" >für:</div>
            <div data-type="datetimepicker" data-device="BeforeGettingUp"
                   data-get="onfortimer"
                   data-cmd="setreading"
                   data-set="onfortimer"
                   data-step="15"
                   data-datepicker="false" data-format="H:i"
                   class="inline bigger thin orange cell"></div>
            <div class="inline large darker thin cell" >Stunden</div>
            <div data-type="checkbox" data-device='BeforeGettingUp'
               data-get-on="!off" data-get-off="inactive"
               data-set-on="active" data-set-off="inactive"
               class="inline left-space-3x"></div>
        </li>


und die Definition des at in der fhem.cfg

define BeforeGettingUp at *05:15 {\
  if ( !($we) && Value("HomeStatus")<3 ) {\
      SetHeizungGettingup();;\
      my $onfortimer = ReadingsVal("BeforeGettingUp","onfortimer","01:00");;\
      fhem("define AfterGettingUp at +".$onfortimer.":00 {\
         if( Value('HomeStatus')<3 ) {\
           if(\$hour > 8 && \$hour < 24) {\
             SetHeizungPresent();;;;\
           } else {\
             SetHeizungNormal();;;;\
           }\
         }\
      }");;\
  }\
}


Zur Erklärung:
Wenn das at "BeforeGettingUp" triggert, wird, wenn es ein Wochentag ist !($we) und jemand Zuhause ist Value("HomeStatus")<3, die Heizung auf die definierten Werte laut Funktion in 99_myUtils.pm gesetzt.
Gleichzeitig wird auch ein neues temporäres at "AfterGettingUp" angelegt, was nach einer festgelegten Zeit, die Heizungswerte wieder auf die normalerweise gültigen Werte zu dieser Zeit setzt. Die Dauer speichere ich mir in einem Userreading "onfortimer" des at "BeforeGettingUp".
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Gunther am 07 November 2015, 16:28:37
Kann mir einer von Euch einen Denkanstoss für den Homestatus geben?
Muss ich hier umbauen oder kann ich meine bestehenden Definitionen bestehen lassen?

Zitat von: Gunther am 14 Oktober 2015, 00:25:48
Ich möchte gerne den Homestatus auf dem Startbildschirm anzeigen und ändern können.

Ich habe 4 dummys:
haus_Status_1_Zuhause
haus_Status_2_Schlafen
haus_Status_3_KurzWeg und
haus_Status_4_LangeWeg

Folgenden Code habe ich aus dem Wiki:

Was ist denn nun bei mir
1.) data-device (dummy1)
2.) data-get-on und
3.) data-alias

Hoffe, ich brauche nun nicht eine einzelne Variable "homestatus", der 1,2,3,4 zugewiesen wird. Dann müsste ich ziemlich viel ändern in meiner cfg.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 07 November 2015, 18:18:35
Hallo Gunther,
für das Homestatus Widget braucht man nur ein Dummy. Wenn du deine einzelnen Dummy Devices nutzen willst, müsste man ein weiteres Dummy und 5x Notify nehmen.
Oder du nimmst einzelne Buttons auf dem Tablet.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Gunther am 09 November 2015, 23:39:34
Danke. Hast Du einen Link zur Einrichtung des Homestatus? Ich habe anscheinend eine unpassende Lösung nachgebaut.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 10 November 2015, 00:05:10
Zitat von: Gunther am 09 November 2015, 23:39:34
Danke. Hast Du einen Link zur Einrichtung des Homestatus? Ich habe anscheinend eine unpassende Lösung nachgebaut.

full blown solution:
http://fhem.de/commandref_DE.html#RESIDENTS

oder einfachen per
define HomeStatus dummy

Nutzung siehe in einer früheren Version von Zuhause-Status:
http://www.fhemwiki.de/w/index.php?title=Zuhause-Status&oldid=4594
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Gunther am 10 November 2015, 07:12:01
Danke.

Nach der vereinfachten Variante habe ich das ja aufgebaut und damit das Problem, dass ich eben nicht einen sondern 4 Dummies habe. Das Homewidget lässt aber nur einen zu.
Oder stehe ich auf der Leitung?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 10 November 2015, 08:06:56
Moin Gunther,

in der Zuhause-Status Lösung aus dem Wiki wird nur ein Dummy "Homestatus" als zentraler Speicherpunkt benutzt:
define HomeStatus dummy

Weiter wir ein Mehrfach-Wandtaster benutzt, wobei 4 Tasten für den Zuhause-Status benutzt werden und jeweils in den Dummy "Homestatus" speichern:
define KurzWeg notify whg_HomeStat3 set HomeStatus 3;

Wenn Taste "whg_HomeStat3" gedrückt, dann "set Homestatus 3"

Das FTUI Homestatus Widget schaut dann auf den Dummy und bekommt auch den Wert 3 von Homestatus.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Gunther am 10 November 2015, 08:40:03
Ahh, ok. Glaube ich habe das dann ungeschickt aufgebaut. Habe leider 4 Dummies und für das Schalten über meine alte statische Oberfläche nochmal 4:

#####################################################################
####    Homestatus
####    angeregt durch http://www.fhemwiki.de/wiki/Zuhause-Status
####    zum Schalten der Devices nach unterschiedlichen Anwesenheiten
####    Definition der Zustände
#####################################################################

define haus_Status_1_Zuhause dummy
attr haus_Status_1_Zuhause room Haus
attr haus_Status_1_Zuhause sortby 01
attr haus_Status_1_Zuhause webCmd state
#attr haus_Status_1_Zuhause setList state:on,off

define haus_Status_2_Schlafen dummy
attr haus_Status_2_Schlafen room Haus
attr haus_Status_2_Schlafen sortby 02
attr haus_Status_2_Schlafen webCmd state
#attr haus_Status_2_Schlafen setList state:on,off

define haus_Status_3_KurzWeg dummy
attr haus_Status_3_KurzWeg room Haus
attr haus_Status_3_KurzWeg sortby 03
attr haus_Status_3_KurzWeg webCmd state
#attr haus_Status_3_KurzWeg setList state:on,off

define haus_Status_4_LangeWeg dummy
attr haus_Status_4_LangeWeg room Haus
attr haus_Status_4_LangeWeg sortby 04
attr haus_Status_4_LangeWeg webCmd state
#attr haus_Status_4_LangeWeg setList state:on,off

define haus_Status_5_Gaeste dummy
attr haus_Status_5_Gaeste room Haus
attr haus_Status_5_Gaeste sortby 05
attr haus_Status_5_Gaeste webCmd state
#attr haus_Status_5_Gaeste setList state:on,off

#####################################################################
####    Homestatus
####    zum Schalten der Devices nach unterschiedlichen Anwesenheiten
####    Zuordnung zu Schaltern auf der Weboberfläche
#####################################################################

define haus_Status_1_Zuhause_web dummy
attr haus_Status_1_Zuhause_web room Haus
attr haus_Status_1_Zuhause_web setList state:on,off
attr haus_Status_1_Zuhause_web sortby 06
attr haus_Status_1_Zuhause_web webCmd state

define haus_Status_2_Schlafen_web dummy
attr haus_Status_2_Schlafen_web room Haus
attr haus_Status_2_Schlafen_web setList state:on,off
attr haus_Status_2_Schlafen_web sortby 07
attr haus_Status_2_Schlafen_web webCmd state

define haus_Status_3_KurzWeg_web dummy
attr haus_Status_3_KurzWeg_web room Haus
attr haus_Status_3_KurzWeg_web setList state:on,off
attr haus_Status_3_KurzWeg_web sortby 08
attr haus_Status_3_KurzWeg_web webCmd state

define haus_Status_4_LangeWeg_web dummy
attr haus_Status_4_LangeWeg_web room Haus
attr haus_Status_4_LangeWeg_web setList state:on,off
attr haus_Status_4_LangeWeg_web sortby 09
attr haus_Status_4_LangeWeg_web webCmd state

define haus_Status_5_Gaeste_web dummy
attr haus_Status_5_Gaeste_web room Haus
attr haus_Status_5_Gaeste_web setList state:on,off
attr haus_Status_5_Gaeste_web sortby 10
attr haus_Status_5_Gaeste_web webCmd state

define haus_Status_1_Zuhause_web_an notify haus_Status_1_Zuhause_web:on set haus_Status_1_Zuhause on;;set haus_Status_2_Schlafen off;;set haus_Status_3_KurzWeg off;;set haus_Status_4_LangeWeg off;;set haus_Status_2_Schlafen_web off;;set haus_Status_3_KurzWeg_web off;;set haus_Status_4_LangeWeg_web off
attr haus_Status_1_Zuhause_web_an room Haus

define haus_Status_2_Schlafen_web_an notify haus_Status_2_Schlafen_web:on set haus_Status_1_Zuhause off;;set haus_Status_2_Schlafen on;;set haus_Status_3_KurzWeg off;;set haus_Status_4_LangeWeg off;;set haus_Status_1_Zuhause_web off;;set haus_Status_3_KurzWeg_web off;;set haus_Status_4_LangeWeg_web off
attr haus_Status_2_Schlafen_web_an room Haus

define haus_Status_3_KurzWeg_web_an notify haus_Status_3_KurzWeg_web:on set haus_Status_1_Zuhause off;;set haus_Status_2_Schlafen off;;set haus_Status_3_KurzWeg on;;set haus_Status_4_LangeWeg off;;set haus_Status_1_Zuhause_web off;;set haus_Status_2_Schlafen_web off;;set haus_Status_4_LangeWeg_web off
attr haus_Status_3_KurzWeg_web_an room Haus

define haus_Status_4_LangeWeg_web_an notify haus_Status_4_LangeWeg_web:on set haus_Status_1_Zuhause off;;set haus_Status_2_Schlafen off;;set haus_Status_3_KurzWeg off;;set haus_Status_4_LangeWeg on;;set haus_Status_1_Zuhause_web off;;set haus_Status_2_Schlafen_web off;;set haus_Status_3_KurzWeg_web off
attr haus_Status_4_LangeWeg_web_an room Haus

define haus_Status_5_Gaeste_web_an notify haus_Status_5_Gaeste_web:on set haus_Status_5_Gaeste on
attr haus_Status_5_Gaeste_web_an room Haus


Dann arbeite ich mit Lightszene
#####################################################################
####    Homestatus
####    zum Schalten der Devices nach unterschiedlichen Anwesenheiten
####    Modul Lightscene zum Verwerten der unterschiedlichen Status
#####################################################################

# LightScene Kino: Definition der zu behandelnden Geräte
define LS_eg_ki LightScene eg_ki_Stehlampe g4_eg_ki_Leinwand eg_ki_Wandthermostat_Climate eg_ki_Leuchtkasten_1m_links eg_ki_Leuchtkasten_1m_mitte eg_ki_Leuchtkasten_1m_rechts eg_ki_Leuchtkasten_1m_panorama Onkyo_Receiver VUDuo2
attr LS_eg_ki room Kino

# LightScene Heizung: Definition der zu behandelnden Geräte
# Heizung: Definition der Viesmann-Heizung Zirkulationspumpe und angeschlossenen Heizkörper
define LS_heizung LightScene k_WW_Zirkulationspumpe_Sw Viessmann eg_ki_Wandthermostat_Climate eg_ku_Wandthermostat_Climate eg_bz_wandthermostat_Climate eg_az_Heizung k_foto_heizung og_gr_Heizung eg_wc_Heizung og_gz_Heizung og_az_Heizung og_sz_Heizung k_wr_Heizung
attr LS_heizung room Heizungsraum

#####################################################################
####    Homestatus
####    zum Schalten der Devices nach unterschiedlichen Anwesenheiten
####    Modul Lightscene Zuordnung der Status
#####################################################################
# Zuordnung LightScene Kino (Sceneänderung aufgrund von Haus-Statusänderung)
define LS_eg_ki_Zuordnung_haus_Status_1_Zuhause notify haus_Status_1_Zuhause:on set LS_eg_ki scene haus_Status_1_Zuhause
define LS_eg_ki_Zuordnung_haus_Status_2_Schlafen notify haus_Status_2_Schlafen:on set LS_eg_ki scene haus_Status_2_Schlafen
define LS_eg_ki_Zuordnung_haus_Status_3_KurzWeg notify haus_Status_3_KurzWeg:on set LS_eg_ki scene haus_Status_3_KurzWeg
define LS_eg_ki_Zuordnung_haus_Status_4_LangeWeg notify haus_Status_4_LangeWeg:on set LS_eg_ki scene haus_Status_4_LangeWeg

# Zuordnung LightScene Heizung (Sceneänderung aufgrund von Haus-Statusänderung)
define LS_heizung_Zuordnung_haus_Status_1_Zuhause notify haus_Status_1_Zuhause:on set LS_heizung scene haus_Status_1_Zuhause
define LS_heizung_Zuordnung_haus_Status_2_Schlafen notify haus_Status_2_Schlafen:on set LS_heizung scene haus_Status_2_Schlafen
define LS_heizung_Zuordnung_haus_Status_3_KurzWeg notify haus_Status_3_KurzWeg:on set LS_heizung scene haus_Status_3_KurzWeg
define LS_heizung_Zuordnung_haus_Status_4_LangeWeg notify haus_Status_4_LangeWeg:on set LS_heizung scene haus_Status_4_LangeWeg


Habe vor knapp einem Jahr angefangen und habe dann aufgrund Zeitmangel die Geschichte nicht "zuende" geführt. Kann ich mit einem einfachen Eingriff umstellen auf einen Dummy oder ist es besser komplett neu aufzubauen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 10 November 2015, 09:21:51
Wenn du viel Zeit und Lust hast, würde ich das Thema neu aufsetzen, alles etwas verschlanken.

Man kann aber auch erst einmal versuchen einen zusätzlichen Homestatus Dummy einbauen.

Also ein

define HomeStatus dummy
anlegen und deine notifies erweitern:

define haus_Status_3_KurzWeg_web_an notify haus_Status_3_KurzWeg_web:on set haus_Status_1_Zuhause off;;set haus_Status_2_Schlafen off;;set haus_Status_3_KurzWeg on;;set haus_Status_4_LangeWeg off;;set haus_Status_1_Zuhause_web off;;set haus_Status_2_Schlafen_web off;;set haus_Status_4_LangeWeg_web off;;set Homestatus 3


Und neue notifies für die andere Richtung Homestatus -> haus_Status_3_KurzWeg_web
Das bläht das Ganze zwar noch mehr auf, geht aber schneller, weil es mehr Tipparbeit ist statt neues Konzept ausdenken.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: roman1528 am 10 November 2015, 13:19:57
Moin.
Erstmal natürlich ein fettes Danke @blackbluegl für das Highchart Widget und @setstate für die Einbindung. Echt schick!

Habe nur nen kleines Problem... Abgesehen davon, dass eine Doku für die ganzen elems gut wäre  8)

Mein Highchart stellt die 4:cpu_temp nicht richtig dar. Siehe Anhang... Alle Daten werden im Minutentakt gelogt. Aber die Darstellung der 4:cpu_temp springt zwischendrin auf den ebenfalls dargestellten und gelogten 4:cpu_temp_stat (min-Wert) weshalb auch die Darstellung der "line" nicht korrekt ist. Ist das schon aufgefallen oder bekannt?

<div data-type="highchart"
data-device="rpi_sys"
data-logdevice="FileLog_sysmon"
data-columnspec="4:cpu_temp 4:cpu_temp_stat 5:cpu_temp_stat"
data-linenames="act,min,max"
data-linetypes="line,line,line"
data-minvalue="25"
data-maxvalue="60"
data-height="0"
data-title=""
data-xunit="Heute"
data-yunit="°C"
data-tooltip="{series.name} <b>{point.y:,.1f}</b> °C of CPU"
data-tickInterval="5"
data-tickAmount="8"
                 style="width:1050px;height:650px;">
</div>
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 10 November 2015, 13:56:39
Zitat von: roman1528 am 10 November 2015, 13:19:57
Moin.
Erstmal natürlich ein fettes Danke @blackbluegl für das Highchart Widget und @setstate für die Einbindung. Echt schick!

Habe nur nen kleines Problem... Abgesehen davon, dass eine Doku für die ganzen elems gut wäre  8)


@blackbluegl & @eki: währt ihr noch so nett und fügt einen kleinen Abschnitt ins WIKI (http://www.fhemwiki.de/wiki/FHEM_Tablet_UI) für die Charts ein?!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: eki am 11 November 2015, 11:27:26
Im Wiki ist jetzt auch das chart widget beschrieben.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 11 November 2015, 12:06:16
Wunderbar, vielen Dank.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Schnabelowski am 18 November 2015, 08:48:53
Moyn,
hab  irgenwie ein Problem mit  dem "button" Widget...

Wenn ich die  Definition wie im Wiki beschrieben  setze ,wird  der "button" nicht  sichtbar ... aber als  "switch" deklariert schon und  die Verlinkung  funktioniert auch ???

<div data-type="button" data-icon="fa-cloud" data-off-background-color="blue" data-url="wetter.html"></div>

<div data-type="switch" data-icon="fa-cloud" data-off-background-color="blue" data-url="wetter.html"></div>

woran kann es liegen?

Gruß
Peter
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 18 November 2015, 08:59:51
Zum Button findest du hier eine Antwort:

http://forum.fhem.de/index.php/topic,34233.msg358401.html#msg358401 (http://forum.fhem.de/index.php/topic,34233.msg358401.html#msg358401)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Schnabelowski am 18 November 2015, 09:11:04
Sorry, dumm von mir. Hab  das irgenwie  übersehen.
Danke
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Schnabelowski am 18 November 2015, 19:02:21
Noch ne Frage...

versuche  gerade mittels  highchart Widgets im großen Container   drei  Charts Verschiedene  Thermostaten darzustellen ,jedoch scheitere ich die alle  zusammen  zu bekommen.  Data-height und  data-width leider  ohne  funktion.

      <li data-row="1" data-col="2" data-sizex="8" data-sizey="9">

            <header>Charts</header>
            <div id="ram-container"
                 data-type="highchart"
                 data-device="wz_termostat"
                 data-logdevice="FileLog_wz_termostat"
                 data-columnspec="4:wz_termostat.desired-temp 4:wz_termostat.measured-temp 4:wz_termostat.batteryLevel"
                 data-linenames="soll,ist,Battery"
                 data-linenames="soll,ist,Battery"
                 data-linetypes="line,line,line"
                 data-minvalue="0"
                 data-maxvalue="25"
                 data-width="100"
                 data-height="100"
                 data-title="WOHNZIMMER"
                 data-xunit="Heute"
                 data-yunit="°C"
                 data-tooltip="{series.name} <b>{point.y:,.0f}</b> MB of RAM"
                 data-tickInterval="1800000"
                 data-tickAmount="10" >
            </div>
         <div id="ram-container"
                 data-type="highchart"
                 data-device="jan_termostat"
                 data-logdevice="FileLog_jan_termostat"
                 data-columnspec="4:jan_termostat.desired-temp 4:jan_termostat.measured-temp 4:jan_termostat.batteryLevel"
                 data-linenames="soll,ist,Battery"
                 data-linetypes="line,line,line"
                 data-minvalue="0"
                 data-maxvalue="30"
                 data-width="100"
                 data-height="100"
                 data-title="JAN"
                 data-xunit="Heute"
                 data-yunit="°C"
                 data-tooltip="{series.name} <b>{point.y:,.0f}</b> MB of RAM"
                 data-tickInterval="1800000"
                 data-tickAmount="10" >
              </div>

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Morrino am 18 November 2015, 20:59:51
Hallo,

finde das chart widget echt nice. Tolle Arbeit.

Habe damit aber leider ein kleines Problem. Und zwar gibt es in meinem LogFile zwei ähnliche Werte. Einmal "consumption" und dann noch "consumptionTotal".

Allerdings werden mit
data-columnspec='["4:power","4:consumption"]'
beide Werte abwechselnd verwendet.

Mache ich hier etwas falsch?

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Nobby1805 am 18 November 2015, 23:30:12
der Suchbegriff ist ein regEx, consumption^T findet nur consumption ohne ein T dahinter

Edit: viele Wege führen bei RegEx zum Ziel ... aber genau dieser wohl eher nicht :-[ versuche consumption[^T] oder auch consumption\b
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Morrino am 19 November 2015, 18:47:57
Zitat von: Nobby1805 am 18 November 2015, 23:30:12
der Suchbegriff ist ein regEx, consumption^T findet nur consumption ohne ein T dahinter

Edit: viele Wege führen bei RegEx zum Ziel ... aber genau dieser wohl eher nicht :-[ versuche consumption[^T] oder auch consumption\b

Hi,

mit consumption[^T] fubktioniert es.

Vielen dank
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: danieljo am 20 November 2015, 19:03:04
Besteht eine Möglichkeit den Farbkreis für das Thermostat Widget so zu modifizieren das ich den Farbkreis von rot über grün wieder zu rot darstellen kann.

Normalerweise kann ich ja nur den Start und End Wert für die Farbe angeben dazwischen wird ja automatisch interpoliert.

Hintergrund ist folgender das ich gerne den pH-Wert im Bereich von 4 - 10 Darstellen möchte. Was ja kein Problem ist. Allerdingsm möchte ich das bei pH 4 = rot ; pH = grün ; pH = rot dargestellt wird.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Schlimbo am 21 November 2015, 00:23:14
Hallo,
habe immer noch das Problem, dass bei mir das Widget "itunes_artwork" nicht funktioniert siehe: http://forum.fhem.de/index.php/topic,36122.msg338277.html#msg338277 (http://forum.fhem.de/index.php/topic,36122.msg338277.html#msg338277)

In der Javascript-Konsole bekomme ich folgende Fehler Meldung:
TypeError: $(...).attr(...) is undefined jquery.min.js line 2 > eval:28

Habe mir jetzt die Datei "widget_itunes_artwork.js" angeschaut:
26|
27|        // dir for standard images
28|        var dir = $('script[src$="fhem-tablet-ui.js"]').attr('src').replace(/(.*\/).*/, '$1');

wie es aussieht gibt es bei mir Probleme den Pfad aufzulösen.
habe nun Zeile 28 so abgeändert:
28|       var dir = "/opt/fhem/www/tablet/js/";
und nun bekomme ich auch ein Cover angezeigt :-)

Die Standart Bilder für LOADING,STOP und UNKNOWN funktionieren aber trotzedem nicht, evtl. stimmt hier noch etwas mit meinem absoluten Pfad Angabe nicht.
dir + '../images/loading.svg');
dir + '../images/stop.svg');
dir + '../images/unknown.svg');


Da ich das Widget nicht über ein "MPD" Device, sondern über "XBMC" mit Daten versorge,
funktioniert bei mir der Playstatus nicht, im Modul wird das Reading "STATE" auf "stop" ausgewertet:
22|        // reading and reading-value that say "Player has stopped"
23|       elem.data('get-playstatus',             elem.data('get-playstatus')         || 'STATE');
24|        elem.data('get-playstatus-stop',        elem.data('get-playstatus-stopp')   || 'stop');
25|        readings[elem.data('get-playstatus')] = true;

XBMC nutzt aber das Reading "playStatus" und dies wird bei stop auf "stopped" gesetzt.
Ändere ich den Code auf das XBMC Reading, funktioniert auch der Playstatus:
22|        // reading and reading-value that say "Player has stopped"
23|       elem.data('get-playstatus',             elem.data('get-playstatus')         || 'playStatus');
24|        elem.data('get-playstatus-stop',        elem.data('get-playstatus-stopp')   || 'stopped');
25|        readings[elem.data('get-playstatus')] = true;


der Versuch den Playstatus von außen zu versorgen hat leider nicht geklappt:
<div data-type="itunes_artwork"
    data-device="raspbmc"
                data-get='["currentArtist","currentAlbum","currentTitle"]'
date-get-playstatus="playStatus"
date-get-playstatus-stopp="stopped"
                data-size=400
data-stoppedimg="http://..........stop.png"
</li>


Nutzt das "itunes_artwork" Widget sonnst noch jemand mit XBMC? Und Funktioniert es bei euch ohne Probleme?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 24 November 2015, 15:40:56
Zitat von: Schlimbo am 21 November 2015, 00:23:14
Habe mir jetzt die Datei "widget_itunes_artwork.js" angeschaut:
26|
27|        // dir for standard images
28|        var dir = $('script[src$="fhem-tablet-ui.js"]').attr('src').replace(/(.*\/).*/, '$1');

wie es aussieht gibt es bei mir Probleme den Pfad aufzulösen.
habe nun Zeile 28 so abgeändert:
28|       var dir = "/opt/fhem/www/tablet/js/";
und nun bekomme ich auch ein Cover angezeigt :-)

Wie sieht denn die zugehörige HTML-Zeile bei dir aus? Diese hier wird gesucht: <script src="....fhem-tablet-ui.js"...>
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Schlimbo am 24 November 2015, 19:24:17
Hallo nesges,

danke für den Hinweis,
habe gerade gesehen, dass es "<script src="....fhem-tablet-ui.js"...>" in meiner index.html gar nicht gibt.
Hatte den Code einfach aus der "Beispiel" index.html übernommen:

</body>
    <script type="text/javascript" src="/fhem/pgm2/jquery.min.js"></script>
    <script type="text/javascript" src="/fhem/tablet/lib/jquery.toast.min.js"></script>
    <script type="text/javascript" src="/fhem/tablet/lib/jquery.gridster.min.js"></script>
    <script type="text/javascript" src="/fhem/tablet/js/fhem-tablet-ui.min.js"></script>

    <!-- Remove this line to enable for usage with WebViewControl
    <script type="text/javascript" src="/fhem/pgm2/cordova-2.3.0.js"></script>
    <script type="text/javascript" src="/fhem/pgm2/webviewcontrol.js"></script>
    <script type="text/javascript">var wvcDevices = {'12345': 'Tablet'}; var wvcUserCssFile="webviewcontrol.css"</script>
    End for WebViewControl -->
</html>


FHEM läuft bei mir auf einen Raspberry Pi im Pfad /opt/fhem.
Muss ich hier jetzt alle Pfadangaben auf /opt/fhem/www/... ändern?

Habe die Zeile:
  <script type="text/javascript" src="/fhem/tablet/js/fhem-tablet-ui.min.js"></script>
in
  <script type="text/javascript" src="/fhem/tablet/js/fhem-tablet-ui.js"></script>
umbenannt jetzt geht es.

Was ist denn der unterschied zwischen "fhem-tablet-ui.min.js" und "fhem-tablet-ui.js"?
Hatte zuerst beide aktiviert, dann waren einige Widgets doppelt vorhanden.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Morrino am 24 November 2015, 21:42:14
Hi,

habe nocheinmal eine Frage bzgl. dem neuen Chart Widget. Kann es sein das an der y-Achse nur ganze Zahlen möglich sind?

Mit "data-maxvalue="1.4" funktioniert das leider nicht. Wollte damit den Spritpreisverlauf darstellen und da ist die Achse von 1€ bis 2€ etwas zu ungenau.

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 25 November 2015, 09:54:49
Zitat von: Schlimbo am 24 November 2015, 19:24:17
FHEM läuft bei mir auf einen Raspberry Pi im Pfad /opt/fhem.
Muss ich hier jetzt alle Pfadangaben auf /opt/fhem/www/... ändern?

Im HTML sind Pfade relativ zum Document-Root des Webservers anzugeben, der lokale Pfad wäre an der Stelle falsch. "/fhem" sollte schon stimmen, wenn's so funktioniert, dann bitte nicht ändern.

ZitatHabe die Zeile:
  <script type="text/javascript" src="/fhem/tablet/js/fhem-tablet-ui.min.js"></script>
in
  <script type="text/javascript" src="/fhem/tablet/js/fhem-tablet-ui.js"></script>
umbenannt jetzt geht es.

Ok, wunderbar :)

ZitatWas ist denn der unterschied zwischen "fhem-tablet-ui.min.js" und "fhem-tablet-ui.js"?

Die .min-Variante ist eine "Minified"-Version der anderen. Das bedeutet, dass aus der .min alle "unnötigen" Zeichen rausgeworfen sind. Also Zeilenumbrüche, Einrückungen etc. Das macht man um die Dateien möglichst klein zu halten. Das Widget hat nicht beachtet, dass es eine Minified-Version geben könnte, da muss ich noch nachbessern. Verwende bitte vorerst die normale Version statt der .min.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: cfs am 25 Januar 2016, 22:07:18
'naben zusammen,

ich werde noch verrückt. Ich versuche gerade den datetimepicker im Tablet UI einzubinden. Habe den heruntergeladen und reinkopiert (www\pgm2\). Im fhem frontend ist der auch voll nutzbar. Nur im Tablet UI bekomme ich nichts. Was mache ich falsch?
    <div data-type="datetimepicker" data-device="dummy1" class="inline large thin orange"></div>

Ich bekomme keinerlei Ausgabe, außer ggf. voran und nachgestellter Objekte (Texte). Muss ich noch irgendwo anders was hineinkopieren oder konfiguieren?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 25 Januar 2016, 22:38:10
Zitat von: cfs am 25 Januar 2016, 22:07:18
'naben zusammen,

ich werde noch verrückt. Ich versuche gerade den datetimepicker im Tablet UI einzubinden. Habe den heruntergeladen und reinkopiert (www\pgm2\). Im fhem frontend ist der auch voll nutzbar. Nur im Tablet UI bekomme ich nichts. Was mache ich falsch?
    <div data-type="datetimepicker" data-device="dummy1" class="inline large thin orange"></div>

Ich bekomme keinerlei Ausgabe, außer ggf. voran und nachgestellter Objekte (Texte). Muss ich noch irgendwo anders was hineinkopieren oder konfiguieren?

Der FTUI Datetimepicker Widget braucht noch externe Libs: lib/jquery.datetimepicker.js + Stylesheet

Am besten man benutzt "update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt" zum Installieren
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: cfs am 26 Januar 2016, 13:24:09
 :-\
Alles da, das update hatte ich auch gemacht, dann nur zurück genommen weil er mir die font's irgendwie 'weggeworfen' hat. Zumindest hatte ich die fa Symbole dann nicht mehr. Hab dann zurück gesichert und die folgenden Dateien manuell kopiert:

lib\jquery.datetimepicker.css
lib\jquery.datetimepicker.js
js\widget_datetimepicker.js


Leider aber lässt er mich noch immer nicht.
Plugin dir: /fhem/tablet/js fhem-tablet-ui.js:122:1
Filename: index_heating.html fhem-tablet-ui.js:126:1
FHEM dir: /fhem/ fhem-tablet-ui.js:129:1
Collecting required readings fhem-tablet-ui.js:237:1
Synchrone XMLHttpRequests am Haupt-Thread sollte nicht mehr verwendet werden, weil es nachteilige Effekte für das Erlebnis der Endbenutzer hat. Für weitere Hilfe siehe http://xhr.spec.whatwg.org/ jquery.min.js:4:25327
Loaded plugin: widget_checkbox fhem-tablet-ui.js:62:18
Loaded plugin: widget_datetimepicker fhem-tablet-ui.js:62:18
Loaded plugin: widget_symbol fhem-tablet-ui.js:62:18
thermo dev:CUL_HM_HM_TC_IT_WM_W_EU_334F66_Climate par:STATE change:clima.temp jquery.min.js line 2 > eval:226:1
...


Irgendwie komme weiß ich nicht so recht woran es liegt. Im Debug kann ich auch nix wirklich erkennen.

Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 01 Februar 2016, 21:51:51
Neues Widget: countdown

Zeigt einen animierten Countdown zu einer Zielzeit an. Die Zielzeit wird aus einem Reading gelesen.

<div data-type="countdown"
    data-device="TIMER1"
    data-readymessage="ENDE"
    data-readyclass="blink"
    data-resettimeout="5000"
    data-resetmessage="-"
    data-interval="1000">


Zeigt die verbleibende Zeit bis zum Wert von TIMER1 als Countdown an. Der Countdown wird alle 1000ms aktualisiert. Nach Ablauf der Zeit wird 5000ms lang der Text "ENDE" angezeigt und die CSS-Klasse "blink" zugefügt. Danach wird "-" angezeigt.

Doku auf github (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/countdown)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 02 Februar 2016, 15:52:02
Hallo nesges,

schön wieder Aktivitäten von dir im Widgets-for-fhem-tablet-ui zu sehen ...

Eine kleine Sache ist mir Aufgefallen:
Dein Reading für data-get ist nur im Update dabei, wenn zufällig ein anderes Widget den Readingnamen in die Collection reingebracht hat. Es fehlt noch ein
elem.addReading('get');
in der init_attr Funktion.

Grüße
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: wkarl am 02 Februar 2016, 17:52:46
Hallo nesges,

geht das auch für readings? Z.B. data-device="DEVICE:reading"

ciao walter

Zitat von: nesges am 01 Februar 2016, 21:51:51
Neues Widget: countdown

Zeigt einen animierten Countdown zu einer Zielzeit an. Die Zielzeit wird aus einem Reading gelesen.

<div data-type="countdown"
    data-device="TIMER1"
    data-readymessage="ENDE"
    data-readyclass="blink"
    data-resettimeout="5000"
    data-resetmessage="-"
    data-interval="1000">


Zeigt die verbleibende Zeit bis zum Wert von TIMER1 als Countdown an. Der Countdown wird alle 1000ms aktualisiert. Nach Ablauf der Zeit wird 5000ms lang der Text "ENDE" angezeigt und die CSS-Klasse "blink" zugefügt. Danach wird "-" angezeigt.

Doku auf github (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/countdown)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Helmi55 am 02 Februar 2016, 19:29:27
Hallo nesges
danke für das SVG Plot Modul.
Leider konnte ich auf Github nichts bezüglich der Beschriftung finden?

Wie kann ich das bitte lösen - Danke
Helmut
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Februar 2016, 20:38:33
Zitat von: setstate am 02 Februar 2016, 15:52:02
schön wieder Aktivitäten von dir im Widgets-for-fhem-tablet-ui zu sehen ...

Danke! Ich brauchte mal wieder was, was es noch nicht gab ;-)

ZitatEine kleine Sache ist mir Aufgefallen:
Dein Reading für data-get ist nur im Update dabei, wenn zufällig ein anderes Widget den Readingnamen in die Collection reingebracht hat. Es fehlt noch ein
elem.addReading('get');
in der init_attr Funktion.

Wird das nicht mehr implizit gemacht? Dann müsste ich wahrscheinlich noch ein paar der anderen Widgets anpassen.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Februar 2016, 20:40:04
Zitat von: wkarl am 02 Februar 2016, 17:52:46
geht das auch für readings? Z.B. data-device="DEVICE:reading"

Ja, das geht mit den Standard-Attributen, also:

data-device="DEVICE"
data-get="reading"


Hab's in der Doku jetzt auch ergänzt (ich glaube das fehlt in der Doku zu einigen der anderen Widgets auch, ist aber überall so implementiert)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Februar 2016, 20:41:13
Zitat von: Helmi55 am 02 Februar 2016, 19:29:27
Leider konnte ich auf Github nichts bezüglich der Beschriftung finden?
Wie kann ich das bitte lösen - Danke

Was denn?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Helmi55 am 02 Februar 2016, 21:13:49
Die Beschriftung des Plots
Links, Rechts oben und unten (Grad, Name des Sensors usw.)
Ist momentan in schwarz - hätte die Schrift gerne in weiß??
data-color="white"
        data-class="cell white"

So funktioniert nicht?
Danke für deine Hilfe
Gruß
Helmut
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 02 Februar 2016, 21:46:25
Das svgplot-Widget ist in dem Sinne "dumm": es nimmt nur das SVG und zeigt es an.

Du müsstest das SVG also bereits beim erzeugen so ändern, dass es passt. Evtl. ist auch was direkt per CSS möglich, aber da kenne ich mich nicht mit aus.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Helmi55 am 03 Februar 2016, 15:24:29
Ok Danke
so habe ich es gelöst - Danke ans Forum

http://forum.fhem.de/index.php?topic=48656.msg403240#msg403240

Gruß
Helmut
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: tomster am 15 Februar 2016, 15:39:31
Zitat von: nesges am 22 Mai 2015, 10:01:41
Ich habe dafür zwei Optionen eingebaut:

data-stripbrackets true/false, Default: false. Löscht alle geklammerten Inhalte aus allen Readings. "Geklammert" ist alles in ({[<>]})
data-stripregex regex, Default: "". Löscht alle Matches des regulären Ausdrucks "regex". Achtung: Regex-Notation ohne Slashes, also ".*" statt "/.*/"

Servus nesges!

Hab grad einmal wieder ein bissl an meinem FTUI-Code gebastelt. Beim iTunes-Widget hast du ja obige Optionen eingebaut. Kann es sein, dass mpdnowplaying das data-stripregex (noch) nicht versteht? Ich bilde mir zwar ein, dass ich das in irgendeiner früheren Version Mal benutzt hatte, aber Stand: heute geht es wohl nicht (mehr) - kann aber auch sein, dass meine Erinnerung nicht mehr geht... ;-)
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: dadoc am 18 Februar 2016, 23:12:05
Hi nesges,
ich bin eifriger Nutzer des iframe Widgets. Seit Neuestem (seit ich auf Apache umgestellt habe) macht der data-check-src-Trick Probleme, aber merkwüdigerweise nur im iOS Safari auf dem iPad, nicht aber in Firefox, Chrome usw. - da funktioniert es immer noch.

data-type="iframe"
data-src="http://192.168.50.14/query?getbouquetchannel&Free%20Tv"
data-check-src="http://192.168.50.24:8083"
data-fill="yes"


oder

data-type="iframe"
data-src="http://www.tvspielfilm.de/tv-programm/sendungen/jetzt.html"
data-check-src="http://192.168.50.24:8083"
data-fill="yes"


Fällt Dir dazu vielleicht etwas ein?
Grüße
Martin
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bmwfan am 18 März 2016, 19:01:49
Hallo,

ich verwende das wind_direction widget mit einer Wetterstation HM-WDS100-C6-O und dem rain- und statistics-Modul. Das Einbinden hat sehr gut funktioniert. Die Wetterstation liefert die Windrichtung in Grad. Bei der Anzeige der Windrichtung im Widget erscheint aber nur eine Tilte (für Windstille), jedoch keine Richtungsanzeige. Die Messwerte des Sensors:
2016-03-18 18:56:25   state           T: 8.7 H: 57 W: 0 R: 5.015 IR: 0 WD: 65 WDR: 45 S: 249 B: 9
     2016-03-18 18:56:25   sunshine        249
     2016-03-18 18:56:25   temperature     8.7
     2016-03-18 18:56:25   windDirRange    45
     2016-03-18 18:56:25   windDirection   65
     2016-03-18 18:56:25   windSpeed       15


Meine Konfiguration des Widgets:
<header class="headerTransparent">WINDRICHTUNG</header>
<div data-type="wind_direction"
data-device="Ga_UmweltSen"
data-direction="windDirection"
data-speed="windspeed"
data-calm="~"
data-size="120"
data-tickstep="30"
data-angleoffset="0"
class=""
style="padding-top:7px;">
</div>
<div class="top-space">
<div data-type="label"
class="inline medium">Wind:
</div>
<div data-type="label"
data-device="Ga_UmweltSen"
data-get="windSpeed"
data-unit=" km/h"
data-limits="[0, 19, 28, 38, 49, 74, 102, 117]"
data-colors='["#ffffff","#dddddd","#aa6900","#aa6900","#ff9999","#ff6666","#ff3333","#ff0000"]'
style="display:inline"
class="big inline" >
</div>
</div>


Ich hätte die Windrichtung gerne nicht in Grad sondern in Richtungen angezeigt.

1: Hat jemand eine Idee, warum gar nichts angezeigt wird?
2: Wie kann ich Grad in Richtung umrechnen.
3: Wie kann ich den state vom String in seine Einzelwerte zerlegen und diese Werte mit widgets ausgeben? Ich habe mal ein Beispiel von Betateilchen als Perl-Code gefunden, finde es aber nicht mehr und meine Perl-Kenntnisse reichen hierzu nicht aus.

Gruß Jürgen
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Jojo11 am 19 März 2016, 15:22:17
Hallo,

zu dem widget "wind-direction" hätte ich auch eine Frage:
Wie kann ich die Farbe des Richtungsindikators ändern? Bisher habe ich das nur direkt in der widget_wind_direction.js geschafft, was ich aber vermeiden möchte.

schöne Grüße
Jo
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Jojo11 am 21 März 2016, 10:25:27
Hallo,

ich habe leider noch ein Detail, bei dem ich nicht weiter komme  :-\
Ich setze ein vertikales circlemenu ein und würde gerne die Hintergrundfarbe bzw. diesen abgerundeten Rahmen ändern/entfernen. Der Code, mit dem ich rumprobiere ist:

<div data-type="circlemenu" data-border="square" data-item-width="60" data-item-height="60" data-circle-radius="60" data-direction="vertical" class="circlemenu keepopen" style="background:#191919;">
        <ul>
          <li>
            <div data-type="symbol" data-icon="fa-bars" class="inline" style="background:#191919;margin:0px;padding:0px;"></div>
          </li>
          <li><div data-type="link" data-color="blue" data-url="#link1.html" style="background:#191919;">LINK1</div></li>
          <li><div data-type="link" data-color="blue" data-url="#link2.html">LINK2</div></li>
        </ul>
      </div>

Ergebnis s. screenshot. Das hellere Grau würde ich gerne ändern, finde aber die richtigen css-Parameter nicht.

schöne Grüße
Jo
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 21 März 2016, 10:55:59
So kann man die Farben ändern:


<div data-type="circlemenu" data-border="square" data-direction="vertical" class="circlemenu keepopen">
<ul>
  <li>
    <div data-type="symbol" data-icon="fa-bars" data-off-background-color="green" data-background-icon="fa-square" class="inline"></div>
  </li>
  <li><div data-type="link" data-color="blue" data-url="#link1.html" data-background-color="yellow">LINK1</div></li>
  <li><div data-type="link" data-color="blue" data-url="#link2.html" data-background-color="yellow">LINK2</div></li>
</ul>
</div>


Beim Symbol braucht es ein Background-Icon, was man färben kann. Null kann man beim Symbol nicht farblich ändern.

Bitte gewöhnt euch nicht an, im HTML Code Style Attribute zu benutzen! Auch wenn einige Beispiele von Usern das beinhalten, es kommt sehr sehr unschönes HTML dabei raus. Es ist zwar auf die Schnelle bequem, aber besser ist es mit class und id zu arbeiten und dann im CSS definieren, welches Style diese Elemente bekommen sollen. Farben und einige andere Eigenschaften von Widgets sind per data-* Attribute änderbar. Wenn eine bestimmte wichtige Eigenschaft fehlt, können wir das bestimmt noch erweitern.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Jojo11 am 21 März 2016, 13:44:16
Hallo,

ich gelobe Besserung  ::)
Eigentlich bin ich gerade auch nur am testen, weswegen ich direkt im html mit styles arbeite.
Allerdings funktioniert Deine Korrektur auch nicht 100%ig.
Um das grüne Hintergrund-icon ist immer noch dieser hellgraue Bereich, der sich nicht färben lässt. Dieser Bereich ist von den Abmessungen so wie die beiden gelben Bereiche. Scheint so, als würde das gelbe icon ihn nicht 100% überdecken. Kann man diesen Hintergrund komplett ausblenden?

schöne Grüße
Jo

Nachtrag: Ich glaub ich hab's gefunden:

.gridster ul li {
    background-color:XXX
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bmwfan am 21 März 2016, 21:18:27
Verwendet niemand das Wind_Direktion widget?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: CoolTux am 21 März 2016, 21:21:57
Doch ich, wieso?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Jojo11 am 21 März 2016, 21:55:05
Ich auch. Bin immer noch auf der Sucher nach einer Möglichkeit, die Farben unkompliziert zu ändern (das Orange der Richtungsanzeige z.B.)  ::)

schöne Grüße
Jo
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bmwfan am 25 März 2016, 18:15:49
@CoolTux
Da ich angenommen hatte, dass diejenigen die das widget nutzen auch dieselben Probleme haben und einen Tip geben können.

Gruß Jürgen
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Freeride am 13 November 2016, 07:56:40
Ich hab das gleiche Problem, dass die Windrichtung nicht mehr angezeigt wird. Gibt es eine Lösung für dieses Problem?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 13 November 2016, 10:39:25
Das Widget Wind_Direction funktioniert grundsätzlich.
Wir können den Fehler nur finden, wenn du uns deinen Code zeigst und die Readings des Devices ("list MyDevice")
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: stefanru am 06 Januar 2017, 16:38:48
Hi,

wer wartet das Tablet UI Weather Widget?

Ich hätte da einen Wunsch.
Meine WS 3080 / 1080 läuft mit pywws und mit FHEM anbindung mit dem Modul WS3600.

pywws kann den Wetter Trend schon als ZambrettiCode zurückgeben.
Es ist also keine Konvertierung mehr nätig für die Meteocons.

Somit habe ich mir das widget_weather.js erweitert für meteoconsdirect:
Im HTML:
<div data-type="weather" device-type="CODE" data-device="meineWetterstation" data-get="Forecast-Code" data-imageset="meteoconsdirect" style="font-size:300%"></div>

Im JS:
beim translate:
if (device_type == 'CODE') {
translate = false;
}

bei der Ausgabe:
} else if (elem.data('imageset') == "meteoconsdirect") {
   elem.attr('data-icon', val);               
}

Wer kann das einpflegen?

Gruß,
Stefan
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 06 Januar 2017, 16:56:03
Mache ich. Wenn ich es vergessen sollte, bitte wieder erinnern.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: stefanru am 06 Januar 2017, 17:46:42
Super!
Danke!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: chris1284 am 06 Januar 2017, 17:54:00
hi setstate, kannst du bitte die aktuelle version calview einchecken, DANKE!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: theophilou85 am 17 Januar 2017, 00:29:44
Hallo nesges

Bekomme bei dem settimer-Widget immer die Fehlermeldung: "widget_settimer.js:5 SyntaxError: Unexpected token <". Irgend eine Idee?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 17 Januar 2017, 00:55:23
User nesges ist seit Monaten hier nicht mehr aktiv. Deshalb darfst du das settimer Widget auch nicht von seinem Repository laden, sondern die angepasste Variante aus dem FTUI Github.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: nesges am 17 Januar 2017, 09:54:50
Japp, sorry, hab die Widgets nie für die neue Tablet-UI-Version angepasst. Ich mach da mal nen Hinweis ans Repository...
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: stefanru am 17 Januar 2017, 10:17:22
Hätte ne kleine Frage zum settimer.
Ist es möglich nur den Set Knopf (Uhr) anzuzeigen und den Ein/Aus Knopf nicht?

Gruß,
Stefan
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 17 Januar 2017, 10:47:47
da musst du in deine user-css folgendes eintragen

.widget_settimer_off {display: none !important;}

oder direkt in das HTML Doc im Header

<style> .widget_settimer_off {display: none !important;}</style>
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: stefanru am 17 Januar 2017, 11:06:58
Super Danke!
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: theophilou85 am 17 Januar 2017, 22:08:26
Hatte den settimer aus der FTUI. Jetzt habe ich das ganze js,css,fonts,lib ersetzt und es läuft. Allerdings bekomme ich sporadisch, ohne Änderungen an der index.html: widget_volume.js:228
ReferenceError: Modul_knob is not defined

Wenn ich dann einige Male mit F5 refreshe klappt es wieder.

Ist es außerdem möglich, dass sich der obere Button (widget_settimer_set) grau färbt wenn der Wecker auf "off" steht? Würde doch Sinn machen oder?

Und zu guter letzt würde ich das Widget gerne noch kleiner machen, class="small" oder data-height="40", führten leider nicht zum Erfolg.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: stefanru am 17 Januar 2017, 22:38:41
Leider hat das mit .widget_settimer_off {display: none !important;} nicht geklappt.
Weder in einer user CSS noch im Header der HTML mit <style> .widget_settimer_off {display: none !important;}</style>

Woran könnte das liegen?

Das Problem von theophilou85 kann ich auch bestätigen...

Gruß und Danke,
Stefan
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: setstate am 18 Januar 2017, 07:10:54
Zitat von: theophilou85 am 17 Januar 2017, 22:08:26

ReferenceError: Modul_knob is not defined

Wenn ich dann einige Male mit F5 refreshe klappt es wieder.


Da kann ich noch etwas optimieren
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: stefanru am 22 Januar 2017, 00:22:41
Hi setstate,

will nicht nerven.
Denkst du noch an meine meteoconsdirect?
Ist etwas nervig nach jedem update das js wieder austauschen zu müssen.

Danke und viele Grüße,
Stefan
Titel: Windrichtung bei Windstille
Beitrag von: Ulm32b am 23 Januar 2017, 10:29:28
Hallo Leute, hier kommt wieder ein Luxusproblem:  8)

Heute liefert Proplanta die Windgeschwindigkeit 0 und die Windrichtung 90 [Grad]. Im Windrichtungswidget wird die Windrichtung "0" [=90 Grad] "korrekt" angezeigt. Treffender wäre wohl aber das (im Code definierte!) Zeichen für data-calm. Dieses Zeichen erscheint aber nicht.
<div class="top-space-2x" data-type="wind_direction"
    data-device="WetterProplanta"
    data-direction="windDir"
    data-speed="wind"
    data-calm="-"
    data-size="50"
    data-tickstep="45"
    data-angleoffset="0"></div>
<div data-type="label" data-device="WetterProplanta" data-get="wind" data-unit="km/h" data-fix="0" class="large"></div>

Und wenn das funktioniert, hätte ich noch einen weitergehenden Vorschlag: Ein Grenzwert, ab dessen Unterschreiten keine Windrichtung angezeigt wird, also so etwas wie data-calm-limit. Eine Windgeschwindigkeit von z.B. unter 5 km/h bezeichnen die Wetterfrösche ja auch gerne als "Umlaufende Winde".

P.S. Mir ist bekannt, dass der Urheber dieses sehr schönen Widgets nicht mehr Hand anlegt. Aber vielleicht findet sich jemand, der sich damit auskennt.
Titel: wind_direction
Beitrag von: Ulm32b am 10 Februar 2017, 18:32:51
Luxusproblem hin oder her: Wenn in Kürze die neue Doku für das Widget wind_direction geschrieben wird (das dürfte nicht allzu schwierig sein), sollten die ausgelobten Eigenschaften auch zutreffen. Noch im Raume steht die Frage, ob meine obige Feststellung (Sonderzeichen data_calm für Windstille wird nicht angezeigt) reproduzierbar ist und was daraus ggf. folgt.

Kann im ersten Schritt bitte jemand den Sachverhalt nachvollziehen?
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: sinus61 am 11 Februar 2017, 13:46:07
Ja, ist bei mir auch so. Keine Ahnung wie lange schon. Ich hab mal kurz in den Code geschaut, aber auf den ersten Blick nicht gefunden woran es liegen könnte. Ich hab aber eh vor das Widget bei mir durch ein Symbol Widget mit den Weather Icons zu ersetzen, das ist auch aus etwas Entfernung besser erkennbar.
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: bjoernbo am 13 Februar 2017, 18:44:29
ZitatWenn in Kürze die neue Doku für das Widget wind_direction geschrieben wird (das dürfte nicht allzu schwierig sein), sollten die ausgelobten Eigenschaften auch zutreffen.

Nur mal zur Info. Das o.g. Modul "wind_direction" wurde seinerzeit von nesges ins Leben gerufen. Deine Ansage liest sich ziemlich scharf. Wenn Du es besser kannst, darfst du es gerne anpassen und nebenbei auch die Doku aktualisieren, dass dürfte nicht allzu schwierig sein :-D
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: stefanru am 24 Februar 2017, 15:50:15
Hi Setstate,

du hattest mir den meteoconsdirect eingebaut.
Ich habe mitlerweile festgestellt das der ZambrettiCode nicht einfach dem Meteocons entspricht.
Beide verwenden zwar A-Z und Sonderzeichen sind aber nicht 1 zu 1 mappbar.

Ich habe ein Mapping erstellt. Leider habe ich es nicht so gut ins weather js widget code. Irgendwie wollte er mit meinem Mapping das nur ein Buchstabe enthält nicht mit dem mapped.replace(/^:/, '') ersetzen.

Hier mal mein mapping und meine Coding anpassungen.

Mapping für Meteocons:
var meteoconsmap = {
        // Zambretti
        'A': 'B',
        'B': 'B',
        'C': 'H',
        'D': 'H',
        'E': '3',
        'F': '3',
        'G': 'N',
        'H': 'N',
        'I': '5',
        'J': '5',
        'K': 'Y',
        'L': 'Y',
        'M': '%',
        'N': '%',
        'O': 'Q',
        'P': 'Q',
        'Q': '7',
        'R': '7',
        'S': '7',
        'T': 'R',
        'U': 'R',
        'V': 'R',
        'W': '8',
        'X': '8',
        'Y': 'T',
        'Z': '!',
        .....


Im mapping unten:
....
else {
                        mapped = meteoconsmap[mapped.replace(/^:/, '')];
                        console.log('mapped:',mapped);
                        if (typeof mapped == 'undefined') {
                         mapped = typeof translation == "undefined" ? val : translation;
                         mapped = meteoconsmap[mapped.replace(/ /, '')];
                         console.log('mapped1:',mapped);
                         }
                       
                        elem.attr('data-icon', mapped);
                    }
......


Würdest du das übernehmen? Eventuell braucht man die Sonderlogik im zweiten Block nicht wenn man versteht warum das mapping nicht geklappt hat.

Gruß,
Stefan
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: devil77 am 27 März 2017, 10:03:22
Hallo,
auch wenn es schon eine Weile alt ist wollte ich doch mal versuchen deine unten aufgeführte Lösung umzusetzen.
Kannst Du mir dazu noch deinen Code aus der 99_myUtils.pm zur Verfügung stellen?
Schon mal vielen Dank im Voraus!

Zitat von: setstate am 07 November 2015, 08:15:11
Hier nun mein Code dazu:
FTUI

        <li data-row="1" data-col="2" data-sizex="9" data-sizey="3">
        <header>TIMER</header>
            <div class="inline large darker thin cell" >Bad warm ab:</div>
            <div data-type="datetimepicker" data-device="BeforeGettingUp"
              data-get="TIMESPEC" data-set-value="*$v" data-cmd="modify"
              data-step="15"
              data-datepicker="false" data-format="H:i"
              class="inline bigger thin orange cell"></div>
            <div class="inline large darker thin cell" >für:</div>
            <div data-type="datetimepicker" data-device="BeforeGettingUp"
                   data-get="onfortimer"
                   data-cmd="setreading"
                   data-set="onfortimer"
                   data-step="15"
                   data-datepicker="false" data-format="H:i"
                   class="inline bigger thin orange cell"></div>
            <div class="inline large darker thin cell" >Stunden</div>
            <div data-type="checkbox" data-device='BeforeGettingUp'
               data-get-on="!off" data-get-off="inactive"
               data-set-on="active" data-set-off="inactive"
               class="inline left-space-3x"></div>
        </li>


und die Definition des at in der fhem.cfg

define BeforeGettingUp at *05:15 {\
  if ( !($we) && Value("HomeStatus")<3 ) {\
      SetHeizungGettingup();;\
      my $onfortimer = ReadingsVal("BeforeGettingUp","onfortimer","01:00");;\
      fhem("define AfterGettingUp at +".$onfortimer.":00 {\
         if( Value('HomeStatus')<3 ) {\
           if(\$hour > 8 && \$hour < 24) {\
             SetHeizungPresent();;;;\
           } else {\
             SetHeizungNormal();;;;\
           }\
         }\
      }");;\
  }\
}


Zur Erklärung:
Wenn das at "BeforeGettingUp" triggert, wird, wenn es ein Wochentag ist !($we) und jemand Zuhause ist Value("HomeStatus")<3, die Heizung auf die definierten Werte laut Funktion in 99_myUtils.pm gesetzt.
Gleichzeitig wird auch ein neues temporäres at "AfterGettingUp" angelegt, was nach einer festgelegten Zeit, die Heizungswerte wieder auf die normalerweise gültigen Werte zu dieser Zeit setzt. Die Dauer speichere ich mir in einem Userreading "onfortimer" des at "BeforeGettingUp".
Titel: Antw:[FHEM-Tablet-UI] Widgets for fhem-tablet-ui
Beitrag von: Ampheus am 31 März 2017, 23:02:33
Verstehe ich das richtig, dass das Clock Widget nur die lokale am FHEM Server eingestellte Uhrzeit anzeigen kann? Gibt es einen Weg auch eine andere Zeitzone anzuzeigen? Ich würde gern bei meiner Abwesenheit eine (je nach Reiseziel) einstellbare Uhr anzeigen lassen.

Danke.

Gruß
Thomas.