mirror of https://github.com/arendst/Tasmota.git
Fix Berry hue_bridge (#18459)
This commit is contained in:
parent
9f77cfd890
commit
b235dffb29
|
@ -44,9 +44,9 @@ extern void ls_set_reachable(class LightStateClass* l, int32_t pow); BE_FUNC_CTY
|
||||||
|
|
||||||
extern void ls_signal_change(void) {} BE_FUNC_CTYPE_DECLARE(ls_signal_change, "", ".");
|
extern void ls_signal_change(void) {} BE_FUNC_CTYPE_DECLARE(ls_signal_change, "", ".");
|
||||||
|
|
||||||
extern int32_t ls_gamma8(int32_t val); BE_FUNC_CTYPE_DECLARE(ls_gamma8, "i", "-i")
|
extern int32_t ls_gamma8(int32_t val); BE_FUNC_CTYPE_DECLARE(ls_gamma8, "i", "i")
|
||||||
extern int32_t ls_gamma10(int32_t val); BE_FUNC_CTYPE_DECLARE(ls_gamma10, "i", "-i")
|
extern int32_t ls_gamma10(int32_t val); BE_FUNC_CTYPE_DECLARE(ls_gamma10, "i", "i")
|
||||||
extern int32_t ls_rev_gamma10(int32_t val); BE_FUNC_CTYPE_DECLARE(ls_rev_gamma10, "i", "-i")
|
extern int32_t ls_rev_gamma10(int32_t val); BE_FUNC_CTYPE_DECLARE(ls_rev_gamma10, "i", "i")
|
||||||
|
|
||||||
// moved to constants array
|
// moved to constants array
|
||||||
const be_const_member_t light_state_members[] = {
|
const be_const_member_t light_state_members[] = {
|
||||||
|
@ -112,9 +112,9 @@ class be_class_light_state (scope: global, name: light_state) {
|
||||||
|
|
||||||
signal_change, ctype_func(ls_signal_change)
|
signal_change, ctype_func(ls_signal_change)
|
||||||
|
|
||||||
gamma8, ctype_func(ls_gamma8)
|
gamma8, static_ctype_func(ls_gamma8)
|
||||||
gamma10, ctype_func(ls_gamma10)
|
gamma10, static_ctype_func(ls_gamma10)
|
||||||
reverse_gamma10, ctype_func(ls_rev_gamma10)
|
reverse_gamma10, static_ctype_func(ls_rev_gamma10)
|
||||||
}
|
}
|
||||||
@const_object_info_end */
|
@const_object_info_end */
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ hue_bridge.init = def (m)
|
||||||
if !manuf manuf = "Tasmota" end
|
if !manuf manuf = "Tasmota" end
|
||||||
|
|
||||||
self.lights[id] = { 'light': light, 'name':name, 'model': str(model), 'manuf':str(manuf) }
|
self.lights[id] = { 'light': light, 'name':name, 'model': str(model), 'manuf':str(manuf) }
|
||||||
light
|
return light
|
||||||
end
|
end
|
||||||
|
|
||||||
def remove_light(id)
|
def remove_light(id)
|
||||||
|
|
|
@ -171,7 +171,7 @@ be_local_closure(hue_bridge_monad_add_light, /* name */
|
||||||
0x7C200200, // 0027 CALL R8 1
|
0x7C200200, // 0027 CALL R8 1
|
||||||
0x981E1A08, // 0028 SETIDX R7 K13 R8
|
0x981E1A08, // 0028 SETIDX R7 K13 R8
|
||||||
0x98180207, // 0029 SETIDX R6 R1 R7
|
0x98180207, // 0029 SETIDX R6 R1 R7
|
||||||
0x80000000, // 002A RET 0
|
0x80040400, // 002A RET 1 R2
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
|
@ -72,7 +72,7 @@ be_local_closure(AXP192_get_bat_power, /* name */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[ 2]) { /* constants */
|
( &(const bvalue[ 2]) { /* constants */
|
||||||
/* K0 */ be_nested_str(read24),
|
/* K0 */ be_nested_str(read24),
|
||||||
/* K1 */ be_const_real_hex(0x3A102DE0),
|
/* K1 */ be_const_real_hex(0x3A102DE1),
|
||||||
}),
|
}),
|
||||||
&be_const_str_get_bat_power,
|
&be_const_str_get_bat_power,
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
|
|
|
@ -172,7 +172,7 @@ be_local_closure(AXP202_get_bat_power, /* name */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[ 2]) { /* constants */
|
( &(const bvalue[ 2]) { /* constants */
|
||||||
/* K0 */ be_nested_str(read24),
|
/* K0 */ be_nested_str(read24),
|
||||||
/* K1 */ be_const_real_hex(0x3A102DE0),
|
/* K1 */ be_const_real_hex(0x3A102DE1),
|
||||||
}),
|
}),
|
||||||
&be_const_str_get_bat_power,
|
&be_const_str_get_bat_power,
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
|
|
|
@ -17,13 +17,13 @@ assert(l.power == false)
|
||||||
l.set_power(true)
|
l.set_power(true)
|
||||||
assert(l.power == true)
|
assert(l.power == true)
|
||||||
|
|
||||||
import hue_ntv
|
# import hue_ntv
|
||||||
print(l._p)
|
# print(l._p)
|
||||||
print(hue_ntv.light_state(l))
|
# print(hue_ntv.light_state(l))
|
||||||
|
|
||||||
print(hue_ntv.full_state(3, l, "aaa", "bbb", "ccc"))
|
|
||||||
|
|
||||||
|
# print(hue_ntv.full_state(3, l, "aaa", "bbb", "ccc"))
|
||||||
|
|
||||||
|
import hue_bridge
|
||||||
hue_bridge.add_light(10, l, "Synthetic Light", "V1", "DeadParrot")
|
hue_bridge.add_light(10, l, "Synthetic Light", "V1", "DeadParrot")
|
||||||
|
|
||||||
l1 = light_state(light_state.DIMMER)
|
l1 = light_state(light_state.DIMMER)
|
||||||
|
|
|
@ -36,11 +36,6 @@ assert(l.ct == 400)
|
||||||
|
|
||||||
assert(l.mode_ct)
|
assert(l.mode_ct)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# assert(l.x == 0.215944)
|
# assert(l.x == 0.215944)
|
||||||
# assert(l.y == 0.700957)
|
# assert(l.y == 0.700957)
|
||||||
|
|
||||||
|
@ -69,7 +64,22 @@ c.set_xy(0.422, 0.548)
|
||||||
l = light_state(light_state.RGBCT)
|
l = light_state(light_state.RGBCT)
|
||||||
|
|
||||||
l.set_rgb(30,40,90)
|
l.set_rgb(30,40,90)
|
||||||
assert(str(l.get()) == "{'mode_ct': false, 'hue': 230, 'rgb': '1E285A', 'bri': 90, 'channels': [30, 40, 90, 0, 0], 'mode_rgb': true, 'sat': 170}")
|
assert(str(l.get()) == "{'rgb': '1E285A', 'hue': 230, 'type': 5, 'power': false, 'bri': 90, 'mode_rgb': true, 'sat': 170, 'mode_ct': false, 'channels': [30, 40, 90, 0, 0]}")
|
||||||
|
|
||||||
l.set_ct(340)
|
l.set_ct(340)
|
||||||
assert(str(l.get()) == "{'bri': 90, 'ct': 340, 'mode_ct': true, 'mode_rgb': false, 'channels': [0, 0, 0, 42, 48]}")
|
assert(str(l.get()) == "{'mode_ct': true, 'ct': 340, 'channels': [0, 0, 0, 42, 48], 'bri': 90, 'type': 5, 'mode_rgb': false, 'power': false}")
|
||||||
|
|
||||||
|
# gamma functions
|
||||||
|
assert(light_state.gamma8(0) == 0)
|
||||||
|
assert(light_state.gamma8(100) == 20)
|
||||||
|
assert(light_state.gamma8(255) == 255)
|
||||||
|
|
||||||
|
assert(light_state.gamma10(0) == 0)
|
||||||
|
assert(light_state.gamma10(100) == 7)
|
||||||
|
assert(light_state.gamma10(255) == 25)
|
||||||
|
assert(light_state.gamma10(1023) == 1023)
|
||||||
|
|
||||||
|
assert(light_state.reverse_gamma10(0) == 0)
|
||||||
|
assert(light_state.reverse_gamma10(7) == 107)
|
||||||
|
assert(light_state.reverse_gamma10(25) == 253)
|
||||||
|
assert(light_state.reverse_gamma10(1023) == 1023)
|
||||||
|
|
Loading…
Reference in New Issue