Integration de API du contrôleur de piscine Oklyn

Mon problème

Bonjour a tous, j’essaye d’integrée les mesures et les commande posible par mon boitier qui controle ma piscine : OKLYN,

Je suis complètement débutant,
J’ai trouvé leur doc pour leur API : API - Aide & Support Oklyn

Apres quelque cherche j’ai compris qu’il fallait editer le fichier configuration.yaml, je me suis servi du Tuto pour commencé par de bonne base :

# Loads default set of integrations. Do not remove.
default_config:

# Text to speech
tts:
  - platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

frontend:
  
  
  themes: !include_dir_merge_named themes

sensor: !include sensors.yaml

Puis créer donc un fichier sensors.yaml avec les info de l’api et l’aide de RESTful Sensor - Home Assistant

# Mesure Ph Piscine
- platform: rest
  resource: https://api.oklyn.fr/public/v1/device/my/data/ph
  method: GET
  name: "Ph Piscine"
  scan_interval: 60
  headers:
    X-API-TOKEN: xxxxx
    
# Mesure air Piscine
- platform: rest
  resource: https://api.oklyn.fr/public/v1/device/my/data/air
  method: GET
  name: "Air Piscine"
  scan_interval: 60
  headers:
    X-API-TOKEN: xxxxx
    
# Mesure Eau Piscine
- platform: rest
  resource: https://api.oklyn.fr/public/v1/device/my/data/water
  method: GET
  name: "Eau Piscine"
  scan_interval: 60
  headers:
    X-API-TOKEN: xxxx
    
 # Mesure redox
- platform: rest
  resource: https://api.oklyn.fr/public/v1/device/my/data/orp
  name: "redox Piscine"
  scan_interval: 60
  headers:
    X-API-TOKEN: xxxx

Apres redemarage j’ai bien les info qui remonte mais brutcomme leur doc en une ligne qui ne permet pas de l’integré par la suite sur le dashboard



Je souhaiterais si une personne a un peu de temps pour m’aider a ne prendre en compte déjà que les info utile a savoir ce qu’il y dans " value "

et dans un deuxième temps utilisé la commande PUT, affin de pilote avec un bouton switch l’auxiliaire en on / OFF, et la pompe en On / auto / Off

Ma configuration


Home Assistant 2022.8.6
Supervisor 2022.08.3
Operating System 8.4
Interface utilisateur : 20220802.0 - latest
Virtualbox


Je m’auto répond pour ma première question pour avoir la " value" :
value_template: '{{ value_json.value }}'

# Mesure Ph Piscine
- platform: rest
  resource: https://api.oklyn.fr/public/v1/device/my/data/ph
  method: GET
  name: "Ph Piscine"
  scan_interval: 60
  value_template: '{{ value_json.value }}'
  headers:
    X-API-TOKEN: OPgaFqHAsuknOjV/v4fu1hhXnwg=
    
# Mesure air Piscine
- platform: rest
  resource: https://api.oklyn.fr/public/v1/device/my/data/air
  method: GET
  name: "Air Piscine"
  scan_interval: 60
  value_template: '{{ value_json.value }}'
  headers:
    X-API-TOKEN: OPgaFqHAsuknOjV/v4fu1hhXnwg=
    
# Mesure Eau Piscine
- platform: rest
  resource: https://api.oklyn.fr/public/v1/device/my/data/water
  method: GET
  name: "Eau Piscine"
  scan_interval: 60
  value_template: '{{ value_json.value }}'
  headers:
    X-API-TOKEN: OPgaFqHAsuknOjV/v4fu1hhXnwg=
    
 # Mesure redox
- platform: rest
  resource: https://api.oklyn.fr/public/v1/device/my/data/orp
  name: "redox Piscine"
  scan_interval: 60
  value_template: '{{ value_json.value }}'
  headers:
    X-API-TOKEN: OPgaFqHAsuknOjV/v4fu1hhXnwg=

Reste crée les commande PUT , ON / OFF auxiliére et ON/AUTO/OFF pompe
je trouve pas comment faire

Est ce que tu as regardé cette doc ? Ça a l’air de permettre de faire des PUT sur une API Reste comme tu le souhaites.

En cherchant sur le forum je vois que tu n’es pas le premier d’ailleurs a essayer de faire ça…

En tout cas je ne connaissais pas Oklyn (quel nom !) donc merci pour la découverte…

1 « J'aime »

merci je test ca, j’etais tombé dessus mais je comprenais pas ou mettre sont bloc maintenant je comprend.

c’est ok pour un switch on / off :

# Switch On / Off auxiliere 1
- platform: rest
  method: put
  resource: https://api.oklyn.fr/public/v1/device/my/aux
  name: "lumiére piscine"
  body_on: '{ "aux": "on"}'
  body_off: '{ "aux": "off"}'
  scan_interval: 600
  is_on_template: >-
    {% if value_json.aux == "on" %} True
    {% else %} False
    {% endif %}
  headers:
    content-type: "application/json"
    X-API-TOKEN: xxxxx

Reste pour le mode : on / auto / off je suis preneur d’une piste :slight_smile:

1 « J'aime »

J’ai pas encore assez d’expérience pour te guider plus mais je vois que d’autres essayent un Input_select et de l’automatisme après.

Si ça peut t’aider…

Bonjour
Dans quel dossier tu a mis le bloc
Merci

Bonjour, il me reste à intégrer le bouton auxiliaire et ceux de la pompe. Est-il possible d’avoir un exemple yaml et l’emplacement du dossier ?

is_on_template: >-
    {% if value_json.aux == "on" %} True
    {% else %} False
    {% endif %}

Cette partie là ne fonctionne plus, ou du moins pas chez moi.
HA ne veux rien savoir et refuse de redémarrer

The system cannot restart because the configuration is not valid: Invalid config for [binary_sensor.rest]: extra keys not allowed @ data['body_off']. Got '{ "aux": "off"}' extra keys not allowed @ data['body_on']. Got '{ "aux": "on"}' extra keys not allowed @ data['is_on_template']. Got '{% if value_json.aux == "on" %} True {% else %} False {% endif %}' value must be one of ['GET', 'POST'] for dictionary value @ data['method']. Got 'put'. (See ?, line ?). 

Pour le coup j’ai trouvé ma réponse ici Problème d'état switch RESTful - #18 par Zigfou.
Pour ceux qui auront besoin, vous avez toutes les informations nécessaires.
Merci à vous, vos demandes et réponses m’ont permis de trouver une solution pour tout faire fonctionner