Sensor inclinacion Xiaomi

## ## ¡¡¡¡¡¡¡¡¡¡¡¡LEER ANTES DE UTILIZAR!!!!!!!!!!!!!! ## ## ## Este código sirve para obtener uno de los 3 valores númericos de los sensores de coordination_158d0002bxxxxx de los sensores de vibracion xiaomi ## ## Problema: ## Por defecto Home assistant reporta el valor de un sensor coordination_158d0002bxxxxx del siguiente modo «311,-11,1198» cada uno de ## los números hace referencia a uno de los tres ejes del sensor. Pero Home assistant lo reporta como un String ## y no como un número. Un String en porgramación es todo aquello que no sea un número, es decir, palabras) esto presenta un problema ## y es que no se puede utilizar el sensor para hacer operaciones del tipo por encima/debajo de esta cifra haz… y encima la aleatoriedad ## del sensor y los valores de los estados de los ejes lo hacen imposible para programación. ## ____________________________________________________________________________________________________________________________________________________________________ ## El código se puede resumir del siguiente modo: ## 1º se crea la variable con:// | {% set var_sensor_sentado = ## 2º se apunta al estado del sensor:// | states.sensor.coordination_158d0002b14481.state ## 3º se divide el estado en base aquellos valores que se encuentran entre comas, se crearan 3 valores:// | .split(«,») ## 4º como tenemos 3 valores ejemplo «311,-11,1198» podemos apuntar* al que queramos con la siguiente linea:// | [0] ## 5º se filtra el valor como un integrer (un numero sin decimal) | |int %} ## ## una vez ya tenemos ese valor podemos utilizarlo como un sensor de plantilla/ template sensor ## ¡¡¡¡¡¡IMPORTANTE PARA APUNTAR AL PRIMER VALOR UTILIZA [0], PARA EL SEGUNDO [1] PARA EL TERCERO [2]!!!!!!!!!!!!! ## EJEMPLO: ## ## Entidad | Estado ## ___________________________________|________________________________________________ ## sensor.coordination_158d0002bxxxxx 311,-11,1198 ## ## si utilizamos [0] el valor que obtenemos es = 311 ## si utilizamos [1] el valor que obtenemos es = -11 ## si utilizamos [2] el valor que obtenemos es = 1198 ## ## ## ## ¿CÓMO UTILIZARLO PARA SENSOR DE PRESENCIA Y SABER SI HAY ALGUIEN SENTANDO? ## Los sensores de coordinacion incluidos dentro de los sensores xiaomi son bastantes precisos, eso quiere decir que se pueden utilizar perfectamente para saber si alguien ## está sentado, tan solo con uno de los valores de los ángulos. Introduce el sensor por debajo de la funda de tu asiento o respaldo y apunta sus valores cuando estas sentado ## y cuando estás de pie, con suerte el número presentará variaciones muy extremas, por ejemplo, pasará de 20 estando de pie a 311 estando sentado. ## Cuando tengas unos cuantos valores tan solo debes indicar el punto de activación o límite (tresshold en inglés) en /value_template: /icon_template: ## ## sistuye el código por tu límite %- if var_sensor_sentado > 150 -% ## ejemplo: %- if var_sensor_sentado > 50 -% ## ## ¿POR QUÉ FUNCIONA? ## Cuando te sientas, tu peso ejerce presión hacia abajo, si pones el sensor en un extremo del asiento el sensor se inclinará unos milimetros siendo reportado en homeassistant. ## ## CONSEJOS: ## Ponlo en un extremo, elije el valor que presente los cambios más drásticos, tambien te sirve como sensor de inclinación, comparte es gratis. sensor: – platform: template sensors: nombre_sensor: value_template: >- {% set var_sensor_sentado = states.sensor.coordination_158d0002bXXXXX.state.split(«,»)[0] |int %} {%- if var_sensor_sentado > 150 -%} sentado {%- else -%} vacio {%- endif -%} icon_template: >- {% set var_sensor_sentado = states.sensor.coordination_158d0002bXXXXX.state.split(«,»)[0] |int %} {%- if var_sensor_sentado > 150 -%} mdi:seat-recline-normal {%- else -%} mdi:transit-transfer {%- endif -%}

https://foro.domoticaencasa.es/viewtopic.php?t=48

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *