You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 9870829
Browse filesBrowse the repository at this point in the historyBrowse files
autoupdate=false items follow what the device reports back
a tile on a vetoed item now clears as soon as the device answers, even when the
answer changes nothing, instead of showing what you sent until a reload. a notice
says when the device reports the opposite of the command, and sliders and color
controls on those items no longer hide changes made elsewhere. e2e-floorplan waits
for a real bulb to finish fading before it measures the glow.
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
# neohab
7
7
8
8
A modern UI for [openHAB](https://www.openhab.org/).
9
-
Modern web dashboards with mobile devices and tablets as first class citizens, built and configured entirely in the browser. **Status:** stable, latest release **1.36.0**. A community project, not an official openHAB UI.
9
+
Modern web dashboards with mobile devices and tablets as first class citizens, built and configured entirely in the browser. **Status:** stable, latest release **1.37.0**. A community project, not an official openHAB UI.
ok('it starts on the state the server reports',start?.on===true&&start.asking===false,JSON.stringify(start))
956
986
957
987
awaitna.click('.nh-switch')
958
988
awaitsleep(700)
959
989
constafterOff=awaitread()
960
-
ok('pressing it sends the alternate command',sent.filter(Boolean).slice(-1)[0]==='OFF',JSON.stringify(sent))
990
+
ok('pressing it sends the alternate command',lastSent()==='OFF',JSON.stringify(sent))
961
991
ok('the server posts no state for it at all',(awaitreadState(NOAUTO))==='ON',awaitreadState(NOAUTO))
962
992
ok('but the tile shows what was asked for',afterOff?.on===false,JSON.stringify(afterOff))
963
993
ok('and says it is unconfirmed rather than claiming it',afterOff?.asking===true,JSON.stringify(afterOff))
964
994
965
-
// past SETTLE_MS, which is what the old hold would have expired at
995
+
// a device that never answers: past SETTLE_MS, and past the time an answer is given to settle
966
996
awaitsleep(5000)
967
997
constheld=awaitread()
968
-
ok('it still shows it after the settle window, because nothing can arrive to settle to',held?.on===false&&held.asking===true,JSON.stringify(held))
998
+
ok('with no answer at all it still shows what was asked for, because nothing can arrive to settle to',held?.on===false&&held.asking===true,JSON.stringify(held))
969
999
970
1000
awaitna.click('.nh-switch')
971
1001
awaitsleep(700)
972
-
ok('so pressing again sends the other command instead of repeating',sent.filter(Boolean).slice(-1)[0]==='ON',JSON.stringify(sent.filter(Boolean).slice(-3)))
1002
+
ok('so pressing again sends the other command instead of repeating',lastSent()==='ON',JSON.stringify(sent.filter(Boolean).slice(-3)))
973
1003
974
-
// a real state update is the one thing that wins
1004
+
// told ON, the device reports the ON the item already had: no change, so only an update says so
1005
+
awaitputState(NOAUTO,'ON')
1006
+
awaitsleep(1200)
1007
+
constagreed=awaitread()
1008
+
ok('an answer that changes nothing still ends the wait',agreed?.on===true&&agreed.asking===false,JSON.stringify(agreed))
1009
+
1010
+
// what CHATAIGNE did before its link was fixed: told OFF, it reported ON
1011
+
awaitna.click('.nh-switch')
1012
+
awaitsleep(700)
1013
+
ok('pressing it again sends OFF',lastSent()==='OFF',JSON.stringify(sent.filter(Boolean).slice(-3)))
1014
+
awaitputState(NOAUTO,'ON')
1015
+
awaitsleep(1200)
1016
+
constrefused=awaitread()
1017
+
ok('when the device answers the opposite, the tile shows the answer, not the request',refused?.on===true&&refused.asking===false,JSON.stringify(refused))
1018
+
constrefusal=`Sent OFF to ${NOAUTO}, but it reported ON`
1019
+
letseen=false
1020
+
for(leti=0;i<40&&!seen;i++){
1021
+
seen=(awaittoasts()).includes(refusal)
1022
+
if(!seen)awaitsleep(250)
1023
+
}
1024
+
ok('and a notice says the device answered the opposite',seen,JSON.stringify(awaittoasts()))
1025
+
1026
+
// a real change still wins, and an answer that agrees is not reported
1027
+
awaitna.click('.nh-switch')
1028
+
awaitsleep(700)
1029
+
ok('from ON, a press sends OFF',lastSent()==='OFF',JSON.stringify(sent.filter(Boolean).slice(-3)))
975
1030
awaitputState(NOAUTO,'OFF')
976
1031
awaitsleep(1500)
977
1032
constconfirmed=awaitread()
978
1033
ok('a state the server does post wins and clears the mark',confirmed?.on===false&&confirmed.asking===false,JSON.stringify(confirmed))
0 commit comments