added stop command and button
This commit is contained in:
@@ -130,6 +130,7 @@ button | lambda method | description
|
||||
-----------|--------------------------------|---------------------------
|
||||
raise | `id(my_desk).raise()` | raise desk by one step (~14mm)
|
||||
lower | `id(my_desk).raise()` | lower desk by one step (~14mm)
|
||||
stop | `id(my_desk).stop()` | stop movement of desk
|
||||
position1 | `id(my_desk).goto_position(1)` | move to 1st stored height
|
||||
position2 | `id(my_desk).goto_position(2)` | move to 2nd stored height
|
||||
position3 | `id(my_desk).goto_position(3)` | move to 3rd stored height
|
||||
|
||||
@@ -16,6 +16,9 @@ JiecangDeskButton = jiecang_desk_controller_ns.class_('JiecangDeskButton', butto
|
||||
CONF_SENSORS = "sensors"
|
||||
CONF_BUTTONS = "buttons"
|
||||
CONF_UNIT = "unit"
|
||||
CONF_RAISE = "raise"
|
||||
CONF_LOWER = "lower"
|
||||
CONF_STOP = "stop"
|
||||
CONF_HEIGHT_MIN = "height_min"
|
||||
CONF_HEIGHT_MAX = "height_max"
|
||||
CONF_HEIGHT_PCT = "height_pct"
|
||||
@@ -23,17 +26,16 @@ CONF_POSITION1 = "position1"
|
||||
CONF_POSITION2 = "position2"
|
||||
CONF_POSITION3 = "position3"
|
||||
CONF_POSITION4 = "position4"
|
||||
CONF_RAISE = "raise"
|
||||
CONF_LOWER = "lower"
|
||||
|
||||
|
||||
button_constants = {}
|
||||
button_constants[CONF_RAISE] = 0
|
||||
button_constants[CONF_LOWER] = 1
|
||||
button_constants[CONF_POSITION1] = 2
|
||||
button_constants[CONF_POSITION2] = 3
|
||||
button_constants[CONF_POSITION3] = 4
|
||||
button_constants[CONF_POSITION4] = 5
|
||||
button_constants[CONF_STOP] = 2
|
||||
button_constants[CONF_POSITION1] = 3
|
||||
button_constants[CONF_POSITION2] = 4
|
||||
button_constants[CONF_POSITION3] = 5
|
||||
button_constants[CONF_POSITION4] = 6
|
||||
|
||||
CONFIG_SCHEMA = cv.COMPONENT_SCHEMA.extend({
|
||||
cv.GenerateID(): cv.declare_id(JiecangDeskController),
|
||||
@@ -77,6 +79,7 @@ CONFIG_SCHEMA = cv.COMPONENT_SCHEMA.extend({
|
||||
cv.Optional(CONF_BUTTONS): cv.Schema({
|
||||
cv.Optional(CONF_RAISE): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_LOWER): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_STOP): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_POSITION1): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_POSITION2): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_POSITION3): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
|
||||
@@ -146,6 +146,10 @@ namespace esphome {
|
||||
send_simple_command(0x02);
|
||||
}
|
||||
|
||||
void JiecangDeskController::stop() {
|
||||
send_simple_command(0x2B);
|
||||
}
|
||||
|
||||
void JiecangDeskController::goto_position(int pos) {
|
||||
switch (pos) {
|
||||
case 1:
|
||||
@@ -184,6 +188,9 @@ namespace esphome {
|
||||
case BUTTON_LOWER:
|
||||
lower();
|
||||
break;
|
||||
case BUTTON_STOP:
|
||||
stop();
|
||||
break;
|
||||
case BUTTON_POSITION1:
|
||||
goto_position(1);
|
||||
break;
|
||||
|
||||
@@ -10,10 +10,11 @@
|
||||
|
||||
#define BUTTON_RAISE 0
|
||||
#define BUTTON_LOWER 1
|
||||
#define BUTTON_POSITION1 2
|
||||
#define BUTTON_POSITION2 3
|
||||
#define BUTTON_POSITION3 4
|
||||
#define BUTTON_POSITION4 5
|
||||
#define BUTTON_STOP 2
|
||||
#define BUTTON_POSITION1 3
|
||||
#define BUTTON_POSITION2 4
|
||||
#define BUTTON_POSITION3 5
|
||||
#define BUTTON_POSITION4 6
|
||||
|
||||
namespace esphome {
|
||||
namespace jiecang_desk_controller {
|
||||
@@ -48,6 +49,7 @@ namespace esphome {
|
||||
|
||||
void raise();
|
||||
void lower();
|
||||
void stop();
|
||||
void goto_position(int pos);
|
||||
|
||||
void request_physical_limits();
|
||||
|
||||
Reference in New Issue
Block a user