feat: update ota config to new format
This commit is contained in:
parent
2eff076d5b
commit
cf920b3e0d
|
@ -18,16 +18,16 @@ esphome:
|
|||
on_boot:
|
||||
- priority: 600
|
||||
then:
|
||||
- light.addressable_set: { id: status_led, red: 0%, green: 0%, blue: 100% }
|
||||
- light.turn_on: { id: status_led, red: 0%, green: 0%, blue: 100% }
|
||||
- priority: -100
|
||||
then:
|
||||
- if:
|
||||
condition:
|
||||
switch.is_on: mlock_${name_of_board}_switch
|
||||
then:
|
||||
- light.addressable_set: { id: status_led, red: 0%, green: 100%, blue: 0% }
|
||||
- light.turn_on: { id: status_led, red: 0%, green: 100%, blue: 0% }
|
||||
else:
|
||||
- light.addressable_set: { id: status_led, red: 100%, green: 0%, blue: 0% }
|
||||
- light.turn_on: { id: status_led, red: 100%, green: 0%, blue: 0% }
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
|
@ -37,6 +37,7 @@ api:
|
|||
key: $api_enckey
|
||||
|
||||
ota:
|
||||
- platform: esphome
|
||||
password: $ota_password
|
||||
|
||||
wifi:
|
||||
|
@ -65,6 +66,7 @@ http_request:
|
|||
useragent: esphome
|
||||
timeout: 2s
|
||||
id: http_request_data
|
||||
verify_ssl: false
|
||||
|
||||
globals:
|
||||
- id: my_token
|
||||
|
@ -81,7 +83,7 @@ rc522_spi:
|
|||
cs_pin: GPIO15
|
||||
on_tag:
|
||||
then:
|
||||
- light.addressable_set:
|
||||
- light.turn_on:
|
||||
id: status_led
|
||||
red: 100%
|
||||
green: 100%
|
||||
|
@ -97,13 +99,13 @@ rc522_spi:
|
|||
json:
|
||||
role_id: $vault_role_id
|
||||
secret_id: $vault_secret_id
|
||||
verify_ssl: false
|
||||
on_response:
|
||||
# fetch token from response, store into my_token
|
||||
then:
|
||||
- lambda: |-
|
||||
json::parse_json(id(http_request_data).get_string(), [](JsonObject root) {
|
||||
json::parse_json(body, [](JsonObject root) -> bool {
|
||||
id(my_token) = (const char*) root["auth"]["client_token"];
|
||||
return true;
|
||||
});
|
||||
# use the token to get json of scanned tag from vault
|
||||
- http_request.get:
|
||||
|
@ -111,16 +113,16 @@ rc522_spi:
|
|||
return ((std::string) "https://vault.ctdo.de/v1/maschinenlock/" + id(my_tag));
|
||||
headers:
|
||||
X-Vault-Token: !lambda return id(my_token).c_str();
|
||||
verify_ssl: false
|
||||
on_response:
|
||||
then:
|
||||
- if:
|
||||
condition:
|
||||
lambda: 'return status_code == 200;'
|
||||
lambda: 'return response->status_code == 200;'
|
||||
then: # when found, check if machine is allowed, turn on output or blink LED red
|
||||
- lambda: |-
|
||||
json::parse_json(id(http_request_data).get_string(), [](JsonObject root) {
|
||||
json::parse_json(body, [](JsonObject root) -> bool {
|
||||
id(may_switch_output) = root["data"]["mlock-$name_of_board"];
|
||||
return true;
|
||||
});
|
||||
- if:
|
||||
condition:
|
||||
|
@ -150,25 +152,25 @@ rc522_spi:
|
|||
- repeat:
|
||||
count: 3
|
||||
then:
|
||||
- light.addressable_set: { id: status_led, red: 100%, green: 0%, blue: 0% }
|
||||
- light.turn_on: { id: status_led, red: 100%, green: 0%, blue: 0% }
|
||||
- delay: 0.1s
|
||||
- light.addressable_set: { id: status_led, red: 0%, green: 0%, blue: 0% }
|
||||
- light.turn_on: { id: status_led, red: 0%, green: 0%, blue: 0% }
|
||||
- delay: 0.1s
|
||||
else: # vault returns 404 on missing/unknown Tag so blink LED
|
||||
- repeat:
|
||||
count: 3
|
||||
then:
|
||||
- light.addressable_set: { id: status_led, red: 100%, green: 0%, blue: 0% }
|
||||
- light.turn_on: { id: status_led, red: 100%, green: 0%, blue: 0% }
|
||||
- delay: 0.5s
|
||||
- light.addressable_set: { id: status_led, red: 0%, green: 0%, blue: 0% }
|
||||
- light.turn_on: { id: status_led, red: 0%, green: 0%, blue: 0% }
|
||||
- delay: 0.5s
|
||||
- if: # return LED to switch state before
|
||||
condition:
|
||||
switch.is_on: mlock_${name_of_board}_switch
|
||||
then:
|
||||
- light.addressable_set: { id: status_led, red: 0%, green: 100%, blue: 0% }
|
||||
- light.turn_on: { id: status_led, red: 0%, green: 100%, blue: 0% }
|
||||
else:
|
||||
- light.addressable_set: { id: status_led, red: 100%, green: 0%, blue: 0% }
|
||||
- light.turn_on: { id: status_led, red: 100%, green: 0%, blue: 0% }
|
||||
|
||||
# switch component for the output state
|
||||
switch:
|
||||
|
@ -188,7 +190,7 @@ binary_sensor:
|
|||
id: ${name_of_board}gpio_input_ausschalter
|
||||
on_press:
|
||||
- switch.turn_off: mlock_${name_of_board}_switch
|
||||
- light.addressable_set: { id: status_led, red: 100%, green: 0%, blue: 0% }
|
||||
- light.turn_on: { id: status_led, red: 100%, green: 0%, blue: 0% }
|
||||
|
||||
# a template sensor for showing the current switch state (read only)
|
||||
- platform: template
|
||||
|
@ -205,7 +207,7 @@ button:
|
|||
id: ${name_of_board}_btn_ausschalter
|
||||
on_press:
|
||||
- switch.turn_off: mlock_${name_of_board}_switch
|
||||
- light.addressable_set: { id: status_led, red: 100%, green: 0%, blue: 0% }
|
||||
- light.turn_on: { id: status_led, red: 100%, green: 0%, blue: 0% }
|
||||
|
||||
light:
|
||||
- platform: neopixelbus
|
||||
|
|
Loading…
Reference in New Issue