FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: united-networking am 21 Februar 2017, 17:39:13

Titel: [GELÖST] Longpoll aktualisiert Reading nicht?
Beitrag von: united-networking am 21 Februar 2017, 17:39:13
Hallo,

bin am Ende meines Lateins im Tablet-UI (mit aktivem Longpoll (websocket)):

Ich habe einen Dummy, der per Circlemenu einen von 3 Werten bekommt:
    <div data-type="circlemenu" data-direction="bottom" data-circle-radius="128" class="cell
        <ul class="menu">
          <li>
            <div data-type="label" class="top-narrow">Bewohner:</div>
            <div data-type="symbol"
                    data-device='dy_HausStatus'
                    data-color="SeaGreen"
                    data-get-on='["Daheim","Abwesend","Urlaub"]'
                    data-icons='["oa-status_available","oa-status_away_1","oa-scene_swimming
                    class="big top-narrow">
            </div>
            <div data-type="label" data-device='dy_HausStatus' class="top-narrow"></div>
          </li>
          <li><div data-type="push" data-device="dy_HausStatus".
               data-off-color="White" data-on-color="White"
               data-set-on="Daheim" data-icon="oa-status_available"></div>
              <div data-type="label">Daheim</div>
          </li>
          <li><div data-type="push" data-device="dy_HausStatus".
               data-off-color="White" data-on-color="White"
               data-set-on="Abwesend" data-icon="oa-status_away_1"></div>
              <div data-type="label">Abwesend</div></li>
          <li><div data-type="push" data-device="dy_HausStatus".
               data-off-color="White" data-on-color="White"
               data-set-on="Urlaub" data-icon="oa-scene_swimming"></div>
              <div data-type="label">Urlaub</div></li>
        </ul>
    </div>


In FHEM lauert ein Notify-skript auf diese Statusänderungen und tut ein paar Sachen:
dy_HausStatus
{Log 1, "Bewohner jetzt: $EVENT"};
{fhem("attr Thermostat.*_Clima tempListTmpl $EVENT")};
set hm tempListG restore;
{fhem('set Time_HS '.strftime('heute %H:%M:%S', localtime))};
set Aktor1 toggle


vor Allem einen zum neuen Status passenden Heizplan in den tempListTempl setzen und die Thermostaten damit umkonfigurieren sowie zur Kontrolle in einem weiteren Dummy einen Zeitstempel davon setzen.

Soweit klappt das auch, dy_HausStatus und Time_HS werden gesetzt und die Thermostat-Eigenschaften auch.

Jetzt sollte im Tablet-UI das Resultat auch angezeigt werden:
...
        <div data-type="label" class="top-narrow">Thermostat 1</div>
        <div data-type="label".
                data-device="Thermostat1_Clima".
                data-get="tempTmplSet"
                data-refresh="10"
                data-pre-text="Heizplan:&nbsp;"
                class="small top-space"></div>
...
    <div class="cell top-space-2x">
        <div data-type="label".
                data-device="Time_HS".
                data-pre-text="Letze &Auml;nderung: "
                class="small"></div>
    </div>
...


Leider wird nach einer neuen Auswahl zwar dy_HausStatus und Time_HS aktualisiert, der Heizplan Thermostat1_Clima:tempTemplSet aber nicht:
send to FHEM: set dy_HausStatus Abwesend  fhem-tablet-ui.js:1590:13
update done for "Time_HS:STATE"  fhem-tablet-ui.js:1590:13
update done for "s_Wz_Lampen:STATE"  fhem-tablet-ui.js:1590:13
update done for "Aktor1:STATE"  fhem-tablet-ui.js:1590:13
update done for "dy_HausStatus:STATE"  fhem-tablet-ui.js:1590:13
update done for "s_Wz_Lampen:STATE"  fhem-tablet-ui.js:1590:13
update done for "Aktor1:STATE"


Auch nach >6min. Warten und zahlreichen health checks wie --------- start healthCheck --------------  fhem-tablet-ui.js:1239:13
now: Date 2017-02-21T16:25:46.046Z  fhem-tablet-ui.js:1240:13
FTUI version: 2.6.4  fhem-tablet-ui.js:1241:13
Longpoll: true  fhem-tablet-ui.js:1242:13
Longpoll type: websocket  fhem-tablet-ui.js:1243:13
Longpoll objects there: true  fhem-tablet-ui.js:1244:13
Longpoll curent line: 0  fhem-tablet-ui.js:1245:13
Longpoll last event before: 9 second(s)  fhem-tablet-ui.js:1246:13
Longpoll last reading uodate before: 17 second(s)  fhem-tablet-ui.js:1247:13
Shortpoll interval: 900  fhem-tablet-ui.js:1248:13
Shortpoll last run before: 6 minute(s) 44 second(s)  fhem-tablet-ui.js:1249:13
FHEM dev/par count: 613  fhem-tablet-ui.js:1250:13
FTUI known devices count: 19  fhem-tablet-ui.js:1251:13
Page length: 35397  fhem-tablet-ui.js:1252:13
Widgets count: 68  fhem-tablet-ui.js:1253:13
--------- end healthCheck ---------------
blieb das so.

Zuletzt dachte ich es ginge um STATEs ggü. Readings, aber die sonstigen Readings der Thermostaten wurden ja zwischendrin auch aktualisiert: update done for "Thermostat2_Clima:ValvePosition"  fhem-tablet-ui.js:1590:13
update done for "Thermostat2_Clima:desired-temp"  fhem-tablet-ui.js:1590:13
update done for "Thermostat2_Clima:measured-temp"  fhem-tablet-ui.js:1590:13
update done for "Thermostat1_Clima:ValvePosition"  fhem-tablet-ui.js:1590:13
update done for "Thermostat1_Clima:desired-temp"  fhem-tablet-ui.js:1590:13
update done for "Thermostat1_Clima:measured-temp"  fhem-tablet-ui.js:1590:13


Erst mit dem nächsten Shortpoll 900s später passierte auch für die Heizpläne der Update:start shortpoll  fhem-tablet-ui.js:1590:13
get jsonlist2: Timer gestartetfhem-tablet-ui.js:693
start shortpoll in (ms):900000  fhem-tablet-ui.js:1590:13
get jsonlist2: 160.5msfhem-tablet-ui.js:709
read jsonlist2: Timer gestartetfhem-tablet-ui.js:710
shortpoll: fhemJSON.Results.length=19  fhem-tablet-ui.js:1590:13
update done for "Thermostat1_Clima:tempTmplSet"  fhem-tablet-ui.js:1590:13
update done for "Thermostat2_Clima:tempTmplSet"  fhem-tablet-ui.js:1590:13
shortPoll - Done  fhem-tablet-ui.js:1590:13
read jsonlist2: 72.21msfhem-tablet-ui.js:793


Hat jemand Ideen was ich falsch mache oder wo man noch "unter der Haube" nach Details schauen könnte?
Vielen Dank!
Titel: Antw:Longpoll aktualisiert Reading nicht?
Beitrag von: united-networking am 21 Februar 2017, 17:44:35
Hi,

epischer Fußschuß:
tempListTempl setzen und auf Änderung in tempTemplSet warten. Passiert ja irgendwann, aber ist wohl ein Fall von Äpfel und Birnen.

Bitte fürs erste ignoriern...
Titel: Antw:Longpoll aktualisiert Reading nicht?
Beitrag von: united-networking am 21 Februar 2017, 18:05:33
Hi,

jepp, das wars. Sowie in der Notify-Regel ...
{fhem("setreading Thermostat.*_Clima tempTmplSet $EVENT")}
...
stand, klappte auch die Aktualisierung durch Longpoll.

Erledigt durch genaueres Hinkucken... ach ja.