Aprende a integrar tu pecera en Home Assistant, para automatizar el cuidado de tus peces y tener todo el control en tu panel.
Índice
¿Cómo puedes automatizar tu pecera?
Antes de nada, veamos qué puedes esperar tras integrar tu pecera en Home Assistant con estas ideas:
- Control de la temperatura del agua. El control de este parámetro es básico para la superviviencia de tus peces, ya que cada especie tiene un rango óptimo de temperatura. Si el agua está demasiado fría, su metabolismo se ralentiza y pueden enfermar. Si está demasiado caliente, consumen más oxígeno, se estresan y su esperanza de vida se acorta.
- Control del PH. Tan importante como la temperatura, porque influye directamente en la química del agua y la salud de los peces. Cada especie tiene un rango de pH en el que vive de forma natural (si está fuera de ese rango los peces son más propensos a enfermedades). Además, los cambios bruscos de pH son muy dañinos porque aunque un pez tolere un rango amplio, puede no soportar variaciones rápidas.
- Dosificación automatizada de la comida, para identificar cuándo han comido y que los peces no se te mueran de hambre!
- Control de la pecera desde una tarjeta personalizada, con todos los datos y controles anteriores.
Control de temperatura del agua
Para este fin vamos a utilizar el termómetro inteligente Sonoff SNZB-02DL con sonda y pantalla LCD, ideal para monitorear la temperatura en entornos exigentes gracias a su certificación IP65. Puesto que se trata de un sensor Zigbee, lo vamos podemos integrar fácilmente en HA con Zigbee2MQTT.
Este sensor realiza una lectura bastante precisa, funciona a pilas, tiene un cable de 1,5 metros y, personalmente, encuentro que tiene un diseño limpio que encaja en cualquier espacio técnico. Por todo ello también es apto para otros usos (bañeras de bebés, piscinas, neveras, laboratorios…).


Control del PH
El pH de la pecera lo medimos para conocer la calidad del agua. Según la especie de peces que tengas, debe de estar comprendido en un valor entre 0-14 (lo que realmente estamos realizando es una medición de protones de hidrógenos). Este tipo de sensor es algo mas complejo, ya que utiliza escalas logarítmicas, con un electrodo en su interior y su propio liquido de referencia (en este caso hemos usado esta sonda de pH).
El controlador ha sido creado desde cero con una placa ESP32 y programado en Arduino (podéis ver un tutorial completo aquí). Con este podemos realizar las calibraciones oportunas (porque, como todo sensor, tiende a desviarse).
La integración en Home Assistant se realiza mediante MQTT, enviando el dato del pH por nuestro servidor. Adicionalmente tenemos que crear el siguiente sensor en HA:
sensor:
– name: "Temperature_ph"
state_topic: "sensor/temp"
suggested_display_precision: 1
unit_of_measurement: "°C"
value_template: "{{ value_json.temperature }}"


Dosificación automatizada de la comida
Para dosificar automáticamente la comida de nuestros peces vamos a utilizar un «tornillo sin fin», que puedes integrar en HA a través de Tuya. Este expone una entidad de tipo ‘switch’ (un interruptor) que podemos encender para alimentar a nuestros peces.

Con esta entidad he creado una automatización muy sencilla que a ciertas horas (que controlo desde dos ayudantes de tipo «Fecha/hora») enciende la iluminación del acuario (que también controlo con una tira LED y un enchufe inteligente) durante 2 minutos, y el tornillo dosificador de comida durante 1 segundo.
alias: Alimentación de los peces
description: ""
triggers:
- trigger: time
at: input_datetime.dardecomerpeces_1
id: Comida de la mañana
- trigger: time
at: input_datetime.dardecomerpeces_2
id: Comida de la tarde
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- Comida de la mañana
- Comida de la tarde
sequence:
- sequence:
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.acuario_iluminacion
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.acuario_alimentacion
- delay:
hours: 0
minutes: 0
seconds: 1
milliseconds: 10
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.acuario_alimentacion
- delay:
hours: 0
minutes: 0
seconds: 25
milliseconds: 0
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.acuario_iluminacion
- data:
message: Los peces han *comido* 🐟.
title: 🟢*INFORMACION*🟢
action: notify.ha_y_yo
mode: single
Como curiosidad, puesto que he colocado la sonda de pH muy cerca del tornillo de alimentación y esta aumenta su valor cuando los peces están alrededor, puedo saber el momento preciso en el que están comiendo.

Tarjeta personalizada
Después de integrar tu pecera en Home Assistant, no puede faltar una tarjeta para presentar la información en el panel ‘lovelace’. En mi caso he creado una imagen al estilo Pixar y un diseño basado en las tarjetas de habitación.
A continuación te dejo el resultado y el código completo del ejemplo, para los que he utilizado las tarjetas de Stack in Card, Card Mod y Mushroom Cards.

type: grid
cards:
- type: heading
heading_style: title
- type: custom:stack-in-card
card_mod:
style: |
ha-card {
background-position: center;
background-size: cover;
--primary-text-color: #ffffff;
background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.7)), url('/local/imagenes/aquario.jpg');
background-position: center;
background-size: cover;
--primary-text-color: white;
height: 150px;
width: 100%;
shadow-box: none;
}
cards:
- type: custom:mushroom-template-card
primary: Aquario
secondary: "{{ states('sensor.sensor_temperatura_aquario_temperature') }}%"
icon: ""
card_mod:
style: |
ha-card {
border: 0px;
--card-primary-font-size: 1.8rem;
--card-secondary-font-size: 1.2rem;
margin-bottom: px;
shadow-box: none;
}
tap_action:
action: none
- type: custom:mushroom-template-card
layout: horizontal
primary: ""
secondary: ""
icon: mdi:fishbowl-outline
icon_color: white
tap_action:
action: null
navigation_path: null
card_mod:
style: |
ha-card {
border: 0px;
--icon-size: 80px;
margin-left: -25px;
margin-bottom: 0px;
margin-top: 0px;
}
mushroom-badge-icon {
margin-right: 2px;
margin-top: 10px;
--badge-icon-size: 15px;
--badge-size: 20px;
box-shadow: none;
}
badge_icon: >
{% if (states('sensor.higrometro_lab_mst_xiaomi_humedad') | int) >= 60
%} mdi:water {% elif
(states('sensor.higrometro_lab_mst_xiaomi_temperatura') | int) >= 26
%} mdi:fire {% elif
(states('sensor.higrometro_lab_mst_xiaomi_temperatura') | int) <= 18
%} mdi:snowflake {% endif %}
badge_color: >
{% if (states('sensor.higrometro_lab_mst_xiaomi_humedad') | int) >= 60
%} blue
{% elif (states('sensor.higrometro_lab_mst_xiaomi_temperatura') | int)
>= 26 %} red
{% elif (states('sensor.higrometro_lab_mst_xiaomi_temperatura') | int)
<= 18 %} blue
{% endif %}
- type: custom:stack-in-card
card_mod:
style: |
ha-card {
background: transparent!important;
margin-top: -165px;
margin-left: auto;
margin-right: -43px;
width: 65%;
border: 0px;
box-shadow: none;
}
cards:
- type: grid
square: false
columns: 3
card_mod:
style: |
ha-card {
border: 0px;
margin-left: 0px;
margin-bottom: 0px;
margin-top: 200px;
box-shadow: none;
}
cards:
- type: custom:mushroom-template-card
primary: ""
secondary: ""
layout: vertical
icon: mdi:lightbulb-on-10
entity: switch.luz_aquario
icon_color: >
{% if (states('switch.luz_aquario')) == 'on' %} yellow {%
endif %}
card_mod:
style: |
ha-card {
border: 0px;
--icon-size: 40px;
margin: -10px!important;
}
- graph: line
type: sensor
entity: sensor.ph
detail: 2
icon: mdi:ph
theme: noctis
hours_to_show: 1
- show_name: true
show_icon: true
type: button
entity: switch.comedero_peces_switch_1
icon: mdi:fish
theme: noctis
- type: tile
entity: input_datetime.dardecomerpeces_1
- type: tile
features_position: bottom
vertical: false
entity: input_datetime.dardecomerpeces_2
BONUS: Accesorios impresos en 3D
Si tienes una impresora 3D, puedes crear tus propios accesorios para decorar tu pecera o descárgarlos de internet. Yo he impreso este barril y un limpiador de algas 😊


