setreading wird nicht automatisch auf der Webseite aktualisiert

Begonnen von steffus, 13 März 2019, 08:22:12

Vorheriges Thema - Nächstes Thema

steffus

Ich möchte gerne einen Dummy mit einem setreading versehen, leider aktualisiert dieser Dummy dieses setreading nicht sofort, sondern erst nachdem ich die Webseite neu geladen habe. Woran kann das liegen oder ist das bei einem setreading normal?


([DY_Licht:"^on$"]) (
setreading DY_Licht status on
)
DOELSEIF ([DY_Licht:"^off$"]) (
setreading DY_Licht status off
)

DeeSPe

Die Glaskugel sagt es könnte an "event-on-change-reading" liegen.
Aber ohne ein list des dummy ist das nur Hellsehen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

KernSani

Setreading erzeugt meines Wissens kein Event. Mit ReadingList/SetList arbeiten sollte funktionieren


Kurz, weil mobil
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

DeeSPe

Zitat von: KernSani am 13 März 2019, 10:33:14
Setreading erzeugt meines Wissens kein Event.

Falsch, "setreading" erzeugt sehr wohl ein Event.
Dagegen erzeugt "setstate" kein Event.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

KernSani

Zitat von: DeeSPe am 13 März 2019, 10:43:16
Falsch, "setreading" erzeugt sehr wohl ein Event.
Dagegen erzeugt "setstate" kein Event.

Gruß
Dan

Stimmt... Sorry habe ich durcheinandergebracht... https://fhem.de/commandref_DE.html#setreading
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

steffus

Es ist egal ob ein event-on-change-reading .* oder event-on-update-reading .* gesetzt wurde, erst nach einem Neuladen der Seite wird es angezeigt.

Beta-User

Schau mal in die commandref zu setreading:

Achtung: setreading generiert kein Event für ein Gerät X, falls es aus einem notify für Gerät X aufgerufen wurde. In so einem Fall könnte man auf "sleep 0.1; setreading X Y Z" ausweichen.
Leider kann ich nicht sagen, ob sich DOIF an der Stelle wie notify verhält, da ich dieses Modul nicht nutze.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Otto123

Hi,

ist das nicht eher dies hier?
Zitatlongpoll [0|1|websocket]
Falls gesetzt, FHEMWEB benachrichtigt den Browser, wenn Gerätestatuus, Readings or Attribute sich ändern, ein Neuladen der Seite ist nicht notwendig. Zum deaktivieren 0 verwenden.
Falls websocket spezifiziert ist, läuft die Benachrichtigung des Browsers über dieses Verfahren sonst über HTTP longpoll. Achtung: ältere Browser haben keine websocket Implementierung.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

steffus

#9
longpoll steht bei mir auf Websocket. Auch wenn ich es auf 1 stelle, ändert sich nichts. Der Wert des readings verändert sich erst nach einem Neuladen. Der State ändert sich sofort.

Otto123

Moin,

ZitatDer Wert des readings verändert sich erst nach einem Neuladen. Der State ändert sich sofort.
ich meine das gibt es, bestimmte Werte in der Webansicht werden aktualisiert und andere nicht.
Ich meine, da gab es mal eine Aussage von Rudi. Ich habe die gestern bloß nicht gefunden.

Aber bei einem Dummy ändern sich bei mir die Werte mit einem setreading sofort, funktioniert das, wenn du das setreading in einem anderen Browserfenster absetzt?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

czcbe

Offensichtlich ist Tabletui (FTUI) im Einsatz, daher könnte sich die Frage stellen, ob es sich um ein grundsätzliches Refresh-Problem handelt?
Das trat in meinem System auf, bevor ich überall im HTML-Code von FTUI die class="prefetch" entfernt habe.
Danach aktualisierte alles wieder korrekt auf der Website.

FHEM 5.9 (alles auf Win) mit TabletUI | Win2012R2 | Lubuntu 18.04 | Load-Balancing/Failover 4xFHEM | cygwin | nanoCUL 433 | Harmony Hub | IT Funksteckdosen | Squeezebox-Server (LMS) | Kodi | Sprachsteuerung | Webcams | Wetteransage | Telegram Bot | Presence | Winconnect-Powershell

steffus

Ja, ich benutze Tablet UI. Allerdings wird der Wert auch nicht in der FHEM Oberfläche verändert. 

DeeSPe

Zitat von: steffus am 14 März 2019, 11:09:56
Ja, ich benutze Tablet UI. Allerdings wird der Wert auch nicht in der FHEM Oberfläche verändert.

Da zu den beschriebenen Problemlösungen noch keine Antwort von Dir kam, hier noch einmal entsprechende Zitate:

Zitat von: Beta-User am 13 März 2019, 12:15:23
Schau mal in die commandref zu setreading:

Achtung: setreading generiert kein Event für ein Gerät X, falls es aus einem notify für Gerät X aufgerufen wurde. In so einem Fall könnte man auf "sleep 0.1; setreading X Y Z" ausweichen.
Leider kann ich nicht sagen, ob sich DOIF an der Stelle wie notify verhält, da ich dieses Modul nicht nutze.

Zitat von: frank am 13 März 2019, 12:19:31
als userreading sollte es auch funktionieren.

Zum Vorschlag von Frank, hier mal ein getesteter und funktionierender Test-dummy:
defmod d dummy
attr d setList on off
attr d userReadings status:on|off {ReadingsVal($name,"state","")}


Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe