Hallo zusammen,
ich habe länger daran gearbeitet einen Taster in Tablet UI zu integrieren, der mir dauerhaft den Status der Lampe die er schalten soll, anzeigt. Letztlich habe ich das gelöst in dem ich statt einem Push Button nun den Data-type Symbol verwende. Code und Erklärung siehe unten.
Nun meine Frage: Die Statusänderung am Symbol und auch bei anderen Symbolen dauert ab Zustandsänderung ca. 1-3 Sekunden. Woran könnte das liegen und wie kann ich das beschleunigen (longpoll ist auf websocket gesetzt)?
Kann hier evtl jemand weiterhelfen?
Danke schon mal und VG
Florian
<div data-size="300%"
data-type="symbol"
data-device="KG_H_L_status"
data-states='["on", "off"]'
data-icons='["fa-lightbulb","fa-lightbulb"]'
data-colors='["#deb018","#e6e4df"]'
onclick="ftui.setFhemStatus('set KG_H_L_tast trigger')"></div>
<div data-type="label" class="">Heizung</div>
KG_H_L_status ist ein Dummy der den Status des Lichtes in der Heizung anzeigt (Netzwerkausgang Logo), KG_H_L_tast ist der Taster welcher in FHEM definiert ist und den Netzwerkeingang der Logo triggert.
Klappt wunderbar, lediglich die Statusänderung dauert immer zwischen 1 und 3 Sekunden.
Hallo,
probier mal ob das schneller ist
<div data-type="switch"
data-device="Schalter_VR"
data-set-states='["off","on"]'
data-states='["on","off"]'
data-icons='["oa-light_light_dim_100","oa-light_light"]'
data-colors='["#ffff00","white"]'
data-background-colors='["#3d5c5c","#3d5c5c"]'
class="nocache"
></div>
Gruß
Eisix
Hallo,
erstmal danke für die Rückmeldung. Ein Switch hilft mir nicht. Evtl habe ich das auch blöd formuliert. Hier nochmal was ich brauche:
Ich habe in der Logo Netzwerkeingänge definiert, welche 0,1s getigert werden sollen. Die Logo Schaltet dann den Ausgang auf 1. Parallel gibts ja auch noch physische Taster. Die Logik selbst steckt also in der Logo. Was ich brauche: Im Prinzip nen Push Button, dessen Beleuchtung allerdings abhängig des Reading des Netzwerkausgangs der Logo sein muss. Das hat aber nicht geklappt. Switch passt garnicht, nur mit dem work around mit dem Symbol hat es geklappt.
Und seit dem ists etwas träge mit der Aktualisierung ;)
VG
Florian
Zitat von: Eisix am 07 April 2021, 11:03:03
Hallo,
probier mal ob das schneller ist
<div data-type="switch"
data-device="Schalter_VR"
data-set-states='["off","on"]'
data-states='["on","off"]'
data-icons='["oa-light_light_dim_100","oa-light_light"]'
data-colors='["#ffff00","white"]'
data-background-colors='["#3d5c5c","#3d5c5c"]'
class="nocache"
></div>
Gruß
Eisix
Bin mir immer noch nicht ganz sicher ob ich verstanden habe was du erreichen willst aber ich nehme an du möchtest den Zustand von A anzeigen und B schalten!?
Das geht mit switch, aber ob das schneller ist kann ich dir nicht sagen.
<div data-type="switch" class="narrow" data-device="Garage_unten" data-states='["open","closed"]' data-cmd="set GaragenMotor_unten A0" data-icons='["oa-fts_garage_door_10","oa-fts_garage_door_100"]' data-colors='["#fc5b20","#21a000"]' data-background-icons='["",""]' ></div>
Garage_unten ist bei mir ein Kontaktschalter
GaragenMotor_unten A0 ist ein Aktor der den Motor ansteuert.
Gruß
Eisix
Hi,
sorry für die Verwirrung. Ich habe in FHEM ein Device namens KG_H_L_tast heißt. Triggerlänge 0,1s. Das ist der Taster für das Licht in der Heizung.
Löse ich das in TabletUI mit einem Push Button triggert dieser bei jeder Betätigung den Netzwerkeingang der Logo. Licht geht jeweils ein und aus. Der Angezeigte Zustand entspricht dem State von KG_H_L_tast. Ob das licht an oder aus ist, zeigt der Button also nicht an.
Dafür habe ich den Dummy KG_H_L_status in FHEMdefiniert. Diese liest den Netzwerkausgang der Logo aus und ändert seinen State je nachdem ob das Licht nun brennt oder nicht.
Was ich will: Getriggert werden soll KG_H_L_tast aber der State von KG_H_L_status soll den Zustand anzeigen. Und das ging mit push nicht. Switch geht wegen meiner Konfiguration nicht....
Ich hoffe jetzt ist es klar ;)?
VG
Florian
Zitat von: Eisix am 07 April 2021, 11:52:44
Bin mir immer noch nicht ganz sicher ob ich verstanden habe was du erreichen willst aber ich nehme an du möchtest den Zustand von A anzeigen und B schalten!?
Das geht mit switch, aber ob das schneller ist kann ich dir nicht sagen.
<div data-type="switch" class="narrow" data-device="Garage_unten" data-states='["open","closed"]' data-cmd="set GaragenMotor_unten A0" data-icons='["oa-fts_garage_door_10","oa-fts_garage_door_100"]' data-colors='["#fc5b20","#21a000"]' data-background-icons='["",""]' ></div>
Garage_unten ist bei mir ein Kontaktschalter
GaragenMotor_unten A0 ist ein Aktor der den Motor ansteuert.
Gruß
Eisix
ZitatIch habe in FHEM ein Device namens KG_H_L_tast heißt.
Vielleicht hilft der Typ des Device (Homematic, zigbee...)?
Hi,
wie sieht das mit dem Status von KG_H_L_status in FHEMWEB aus? Zeigt sich die Änderung dort sofort?
Von wegen switch: Das, was Eisix gezeigt hat, ist im Prinzip dasselbe wie das, was Du mit symbol machst. Nur dass man bei switch halt das FHEM-Kommando direkt angeben kann. Meiner Meinung nach wäre das schon einen Versuch wert.
Gruß,
Thorsten
Zitat von: rabehd am 07 April 2021, 16:29:17
Vielleicht hilft der Typ des Device (Homematic, zigbee...)?
Ist ein S7_DWrite
Zitat von: Thorsten Pferdekaemper am 07 April 2021, 21:17:38
Hi,
wie sieht das mit dem Status von KG_H_L_status in FHEMWEB aus? Zeigt sich die Änderung dort sofort?
Von wegen switch: Das, was Eisix gezeigt hat, ist im Prinzip dasselbe wie das, was Du mit symbol machst. Nur dass man bei switch halt das FHEM-Kommando direkt angeben kann. Meiner Meinung nach wäre das schon einen Versuch wert.
Gruß,
Thorsten
Also der Hinweis zu FHEMWEB war schon mal hilfreich, da sich FHEMWEB und TabletUI gleichzeitig ändern, dh die Verzögerung kommt dann wohl nicht durch die Oberfläche.....
Zum Switch: Tut mir leid ich verstehe es einfach nicht ;) Ein Switch hat doch immer den Zustand 1 oder 0 oder kann ein Switch auch triggern? Könntest du mir ggf das Beispiel mit meinen beiden Devices zeigen...
<div data-size="300%"
data-type="switch"
data-device="KG_H_L_status"
data-states='["on", "off"]'
data-icons='["fa-lightbulb","fa-lightbulb"]'
data-colors='["#deb018","#e6e4df"]'
data-cmd="set KG_H_L_tast trigger"
></div>
Gruß
Eisix
Zitat von: FlorianSenne am 08 April 2021, 18:15:36
Also der Hinweis zu FHEMWEB war schon mal hilfreich, da sich FHEMWEB und TabletUI gleichzeitig ändern, dh die Verzögerung kommt dann wohl nicht durch die Oberfläche.....
Naja, FHEMWEB macht unter Umständen auch nichts anderes als FTUI. Der Browser macht halt irgendeine Art Longpoll oder hat einen Websocket. Allerdings ist FHEMWEB da in der Regel sehr stabil. D.h. ich würde eher vermuten, dass das Problem dieser Mechanismus ist:
Zitat
Dummy KG_H_L_status in FHEMdefiniert. Diese liest den Netzwerkausgang der Logo aus
Wie passiert das denn genau? Ein Dummy kann ja erstmal nichts, also hast Du da wahrscheinlich irgendein Coding, dass die Logo pollt?
Gruß,
Thorsten
Hallo zusammen,
aaaalso, erstmal herzlichen Dank für den Code zum Switch. Der funktioniert wunderbar und wie er soll. Hat natürlich den Vorteil das die Anzeige deutlich flotter ist .... ich bin begeistert..... verstehen muss ich ihn noch im Detail ;)
Bzgl der Anzeige habe ich mich unklar ausgedrückt. Ich habe für jede Lampe ein S7-DRead angelegt, welches den Status direkt anzeigt. Das dauert allerdings etwas bis der tatsächliche Status angezeigt wird. Liegt das evtl am Übertragunsweg logo-->FHEM?
VG
Florian
Zitat von: FlorianSenne am 09 April 2021, 11:38:59
aaaalso, erstmal herzlichen Dank für den Code zum Switch. Der funktioniert wunderbar und wie er soll. Hat natürlich den Vorteil das die Anzeige deutlich flotter ist .... ich bin begeistert..... verstehen muss ich ihn noch im Detail ;)
Ich muss ehrlich sagen, dass ich auch nicht verstehe, warum das eine schneller als das andere sein soll. Vielleicht kann Eisix mal was dazu sagen?
Zitat
Bzgl der Anzeige habe ich mich unklar ausgedrückt. Ich habe für jede Lampe ein S7-DRead angelegt, welches den Status direkt anzeigt. Das dauert allerdings etwas bis der tatsächliche Status angezeigt wird. Liegt das evtl am Übertragunsweg logo-->FHEM?
Hier steht was dazu: https://wiki.fhem.de/wiki/S7#Funktionsprinzip
Zitat
Das Modul liest in festen Zeitabständen die Konfiguration der Clientmodule S7_ARead, S7_AWrite, S7_DRead und D7_DWrite für jede konfigurierte SPS ein. Per Voreinstellung wird jede Sekunde geprüft, ob ein Speicherblock zu lesen ist.
Soweit ich das verstehe, kann also tatsächlich bis zu einer Sekunde (bei Voreinstellung) vergehen, bis das Modul versucht, einen neuen Zustand zu lesen.
Gruß,
Thorsten
Zitat von: Thorsten Pferdekaemper am 10 April 2021, 15:05:45
Ich muss ehrlich sagen, dass ich auch nicht verstehe, warum das eine schneller als das andere sein soll. Vielleicht kann Eisix mal was dazu sagen?
Hier steht was dazu: https://wiki.fhem.de/wiki/S7#FunktionsprinzipSoweit ich das verstehe, kann also tatsächlich bis zu einer Sekunde (bei Voreinstellung) vergehen, bis das Modul versucht, einen neuen Zustand zu lesen.
Gruß,
Thorsten
Treffer! Das Intervall wars....ich hatte das bei allen SPSen auf 2s stehen...kein Wunder, nun hab Ichs auf 0,5s abgeändert und nun gehts flott...wieder ein Sternchen aus dem Weg geräumt :)
Danke und VG
Florian
Hallo,
Zitat von: Thorsten Pferdekaemper am 10 April 2021, 15:05:45
Ich muss ehrlich sagen, dass ich auch nicht verstehe, warum das eine schneller als das andere sein soll. Vielleicht kann Eisix mal was dazu sagen?
Ich habe keine Ahnung warum es schneller ist. Wenn ich vermuten soll ohne in den Code zu schauen würde ich sagen der switch lügt und zeigt erst lokal im Browser den neuen Status an obwohl der in fhem noch garnicht geschaltet ist und nimmt erst danach den korrekten Status von fhem.
Solange es ja jetzt mit den Änderungen in der Logo funktioniert ist ja alles OK.
Gruß
Eisix