New FHEM Tablet UI

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

Vorheriges Thema - Nächstes Thema

setstate

Zitat von: MichaelT am 13 Dezember 2015, 15:05:49
Hallo setstate,

bekommt man eigentlich mit dem select-widget hin, dass pro Eintrag ein ganzer Befehl gesendet wird?
Beispiel:

In der ComboBox steht z.B.
<div data-type="select" ... data-items='["1Live","WDR2","Vest"]'></div>

Bei Auswahl 1Live wird z.B. "set Bad stream http://www.wdr.de/wdrlive/media/einslive.m3u" geschickt.

Gruß
Michael

Ich würde es so machen:

<div data-type="select"
                     data-device="Bad"
                     data-alias='["EinsLive","RadioEins","Puls"]'
                     data-items='["http://www.wdr.de/wdrlive/media/einslive.m3u","http://radioeins.de/stream","http://streams.br-online.de/jugend-radio_2.m3u"]'
                     data-get="stream" data-set="stream" class="" ></div>

MichaelT

Zitat von: setstate am 15 Dezember 2015, 17:59:03
Ich würde es so machen:

<div data-type="select"
                     data-device="Bad"
                     data-alias='["EinsLive","RadioEins","Puls"]'
                     data-items='["http://www.wdr.de/wdrlive/media/einslive.m3u","http://radioeins.de/stream","http://streams.br-online.de/jugend-radio_2.m3u"]'
                     data-get="stream" data-set="stream" class="" ></div>

Klasse, probier ich mal.
Gruss
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

chris1284

Zitat von: chris1284 am 14 Dezember 2015, 21:58:59
kann ich in einem widget prüfen ob ein reading vorhanden ist oder nicht? ich habe es bisher nicht selbst lösen können:
ich will zb wenn reading x (oder auch a_count genannt) nicht im device ist einen default wert setzen um so evtl alte werte zu verwerfen.

beispiel:
beim init des widget ist das reading a_count da und hat den wert 1. bei späterne updates gibt es das reading nicht mehr. in dem fall scheint die ui den alten wert, wo es das reading noch gab, einfach beizubehalten statt zb mit NULL zu ersetzen.
ideen  ???  ?

mrbreil

Welche Version von Font Awesome nutzt Tablet UI? Weiß jemand wie man das einsehen kann?

setstate

Zitat von: chris1284 am 16 Dezember 2015, 07:47:51
ideen  ???  ?

Das ist realisierbar mit dem Konzept von FTUI. Die Device->Readings->Values werden eventgetrieben (kpl. Liste angefordert - Refresh, oder Änderung passiert - Longpoll) beim Änderungen (Zeitstempeländerung, Wertänderung) in einem großen Objekt abgelegt und als Updateevent an alle Widgets geschickt. Nicht vorhandene Readings lösen kein Event aus.
Das müsste jedes Widget selbst per Timerabfrage zyklisch bei FHEM anfragen, das ist aber nicht vorgesehen.

roman1528

Zitat von: chris1284 am 16 Dezember 2015, 07:47:51
ideen  ???  ?

Da hatte ich mal eine Anfängerfrage bezüglich DOIF... Hatte das gleiche Problem... weil a_count nicht immer existiert... Habe das dann so gelöst wie es hier gemacht wurde.

http://forum.fhem.de/index.php/topic,43885.msg365907.html#msg365907
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

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

chris1284

#3291
kann ich die values von vorhandenen readings in der tui manuell ersetzen (leider wird ja beim löschen des readings kein event ausgelöst)?
ich würde dann immer: wert löschen -> neu einlesen -> wenn wert in fhem (also reading da) ausgabe des wertes, wenn kein wert oder mein manuell gesetzter dann ausgabe deafault text

@roman: ich habe ür mich, ohne das ich den link kannte, etwas ähnliches bereits eingebaut.
bei meinem at wird der rückgabewerte von acount nach holen der alerts geprüft und wenn halt nix kommt acount auf 0 gesetzt.
schade das man so eine krücke verwenden muss, deswegen versuch ich es im widget zu lösen, so muss niemand frickeln. auf mithilfe vom modulerschaffer braucht man ja leider nicht zu hoffen

roman1528

Zitat von: mrbreil am 16 Dezember 2015, 09:02:10
Welche Version von Font Awesome nutzt Tablet UI? Weiß jemand wie man das einsehen kann?

Müsste noch auf 4.4 sein... die Icons von 4.5 gehen (noch) nicht. die aus 4.4 allerdings schon^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

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

setstate

Zitat von: chris1284 am 16 Dezember 2015, 09:25:31
kann ich die values von vorhandenen readings in der tui manuell ersetzen (leider wird ja beim löschen des readings kein event ausgelöst)?
ich würde dann immer: wert löschen -> neu einlesen -> wenn wert in fhem (also reading da) ausgabe des wertes, wenn kein wert oder mein manuell gesetzter dann ausgabe deafault text

Setzen: deviceStates.<DEVICE>.<READING>.val = "myWert" oder deviceStates.<DEVICE>.<READING>.date = "MyValidDate"
zum Beispiel: deviceStates.THSensorWZ.temperature.date="2015-12-16 10:17:39" oder deviceStates.THSensorWZ.temperature.val="29"

und danach plugins.update("THSensorWZ","temperature"); rufen

chris1284

das <DEVICE> kann man nicht durch eine variable ersetzen oder?


var device = $(this).data('device');
deviceStates.device.temperature.val="0"

setstate

Zitat von: chris1284 am 16 Dezember 2015, 10:32:38
das <DEVICE> kann man nicht durch eine variable ersetzen oder?


var device = $(this).data('device');
deviceStates.device.temperature.val="0"


So gehts auch

deviceStates["THSensorWZ"].temperature.val="0"


oder mit Variable


var device = $(this).data('device');
deviceStates[device].temperature.val="0"


netbus

setstate,
ich möchte gerne einen float (label) auf 2 Nachkommastellen begrenzen.
Im Javascript gibt es die Möglichkeit ".toFixed(2);"
Wie mache ich es mit ftui? Akutell hat nämlich mein Label 8 Nachommaestellen.
Mein Code
<div style="font-size:20px" data-type="label" data-device="Gasverbrauch" data-get="countsPerDay" data-limits='[0,250,375]' data-colors='["#33cc33","#ffff00","#FF0000"]' data-unit=" Euro" data-substitution="trim()*0.004" class="cell"></div>

setstate

Zitat von: netbus am 16 Dezember 2015, 15:28:07
setstate,
ich möchte gerne einen float (label) auf 2 Nachkommastellen begrenzen.
Im Javascript gibt es die Möglichkeit ".toFixed(2);"
Wie mache ich es mit ftui? Akutell hat nämlich mein Label 8 Nachommaestellen.
Mein Code
<div style="font-size:20px" data-type="label" data-device="Gasverbrauch" data-get="countsPerDay" data-limits='[0,250,375]' data-colors='["#33cc33","#ffff00","#FF0000"]' data-unit=" Euro" data-substitution="trim()*0.004" class="cell"></div>

data-fix="2"

EpicMinister

Ich bin Momentan daran eine Türklingel in fhem zu realisieren. Diel Türklingelerkennung funktioniert soweit auch, allerdings würde ich gerne sobald jm. klingelt Mein Tablet an der Wand angehen lassen (windows tablet) und bei der Tablet ui ein Popup aufgehen lassen(hier wird das Kamerabild der Haustür angezeigt).
Wäre schön wenn jm. eine Lösung wüsste oder auch nur eine idee hat.
Ich denke alles wird mich einen Schritt weiter bringen:)
Danke schonmal im vorraus:))

SirUli

Ich würde AMAD dazu verwenden, soll das angeblich können ;) Ansonsten nehme ich Tasker + AutoRemote

Sorry hatte überlesen, dass du ein Windows Tablet hast?