Bonjour à tous,
Pour les geek qui aime tout domotiser, j’ai trouvé un tuto pour domotiser le distributeur à chat Petoneer Nutri.
Il faut flasher la puce TYEW3S. J’ai réalisé la modification aujourd’hui, cela reste assez simple. Pour le flash j’ai utilisé le programme ESPHOME sous windows donc j’ai ajouté la configuration sous esphome pour générer le firmware et ensuite flasher le distributeur sous windows.
Le distributeur permet donc avec des automatisations de distribuer automatiquement les croquettes et également recevoir les notifications en fonction du status du distributeur quand il manque des croquettes, quand il y a une erreur du distributeur ou si l’appareil est vide.
Achat en France livraison en 48h.
esphome:
name: petoneer_nutri
platform: ESP8266
board: esp01_1m
on_boot:
priority: -10
then:
- script.execute: detection
wifi:
ssid: !secret ssid
password: !secret wpa2
fast_connect: true
captive_portal:
logger:
api:
ota:
status_led:
pin:
number: 4
Commutateur de broche de distribution d’ alimentation
switch:
- platform: gpio
pin:
number: 5
inverted: true
id: petoneer_nutri_feed_button
Lorsqu’il est déclenché, attendez 5 secondes, et si pendant 5 secondes, gpio14 est éteint. state, puis définissez le statut « Alimentation réussie »
on_turn_on:
then:
- delay: 5s
- if:
condition:
for:
time: 5s
condition:
binary_sensor.is_off: petoneer_nutri_feed_status
then:
- logger.log: "Alimentation réussie"
- text_sensor.template.publish:
id: petoneer_nutri_status
state: "Alimentation réussie"
Nous attendons 10 secondes, et si l’état est « Niveau d’alimentation faible », mettez à jour le statut sur « Alimentation réussie »
- delay: 10s
- if:
condition:
- text_sensor.state:
id: petoneer_nutri_status
state: "Niveau d'alimentation faible"
then:
- logger.log: "Alimentation réussie avec un niveau d'alimentation faible"
- text_sensor.template.publish:
id: petoneer_nutri_status
state: "Alimentation réussie"
Bouton de distribution d’alimentation de l’interface utilisateur, allume la broche gpio5 pendant 150 ms puis s’éteint
- platform: template
name: "petoneer_nutri_feed"
icon: "mdi:cat"
turn_on_action:
- switch.turn_on: petoneer_nutri_feed_button
- delay: 150ms
- switch.turn_off: petoneer_nutri_feed_button
Buzzer relay
- platform: gpio
pin:
number: 16
inverted: true
id: petoneer_nutri_buzzer
name: petoneer_nutri_buzzer
icon: "mdi:volume-high"
Suivi de l’état
binary_sensor:
- platform: gpio
pin:
number: 14
inverted: true
id: petoneer_nutri_feed_status
Lorsqu’il est déclenché dans la plage de 990-1100ms, le statut « Niveau d’alimentation faible »
on_click:
- min_length: 990ms
max_length: 1100ms
then:
- if:
condition:
not:
- text_sensor.state:
id: petoneer_nutri_status
state: "Niveau d'alimentation faible"
then:
- logger.log: "Niveau d'alimentation faible"
- text_sensor.template.publish:
id: petoneer_nutri_status
state: "Niveau d'alimentation faible"
Lorsqu’il est déclenché dans la plage 1400-3100ms, l’état" Erreur de livraison d’alimentation "
- min_length: 1400ms
max_length: 3100ms
then:
- logger.log: "Erreur de livraison d'alimentation"
- text_sensor.template.publish:
id: petoneer_nutri_status
state: "Erreur de livraison d'alimentation"
Exécuter un script de détection pour suivre l’état
on_state:
then:
- delay: 5s
- script.execute: detection
Text status sensor for UI HA
text_sensor:
- platform: template
name: "petoneer_nutri_status"
icon: "mdi:information-outline"
id: petoneer_nutri_status
Script de suivi de l’état basé sur le script gpio14
script:
- id: detection
then:
- if:
condition:
for:
time: 5s
condition:
binary_sensor.is_off: petoneer_nutri_feed_status
then:
- logger.log: "Status OK"
- text_sensor.template.publish:
id: petoneer_nutri_status
state: "OK"
- if:
condition:
for:
time: 5s
condition:
binary_sensor.is_on: petoneer_nutri_feed_status
then:
- logger.log: "Alimentation, erreur"
- text_sensor.template.publish:
id: petoneer_nutri_status
state: "Alimentation, erreur"