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