C’est parfait merci @golfvert ça fonctionne!!
voici la version finale:
- platform: rest
method: put
resource: https://api.oklyn.fr/public/v1/device/my/aux
name: "electrolyse 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:xxxx
J’ai mis la variable ‹ is_on_template › car la ‹ value_template › n’est pas valide pour un switch,
Je me suis appuyé sur la valeur de « aux » sinon le décalage de la mise a jour du statut laissait le temps au switch de rebasculer en « inactif »
et j’ai ajouter un Scan si jamais je change le statut a sans passer par home assistant
Bonne nuit et encore merci
Zigfou
Novembre 5, 2023, 6:02
13
Bonjour,
En copiant ta solution ma partie « aux » ne fonctionne pas.
As tu effectué des changement depuis ?
SAlut @Zigfou
Dis m’en un peu plus sur ton problème!
je n’ai pas retouché au code depuis 2ans et tout fonctionne très bien.
on est d’accord qu’il faut changer le X-API-TOKEN par ton token perso !
As tu réussi a configurer le reste de l’api Oklyn ?(filtration, PH, temp air/eau)
Zigfou
Novembre 6, 2023, 11:54
15
Oui bien sur, les sensor sont OK mais la partie auxiliaire ne fonctionne pas.
# Mesure Ph Piscine
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/1xx/data/ph
method: GET
name: "Ph Piscine"
unique_id: binary_sensor.ph piscine
scan_interval: 60
value_template: '{{ value_json.value }}'
headers:
X-API-TOKEN: Xxx
# Mesure air Piscine
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/1xx/data/air
method: GET
name: "Air Piscine"
unique_id: binary_sensor.air piscine
scan_interval: 60
value_template: '{{ value_json.value }}'
headers:
X-API-TOKEN: Xxx
# Mesure Eau Piscine
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/1xx/data/water
method: GET
name: "Eau Piscine"
unique_id: binary_sensor.eau piscine
scan_interval: 60
value_template: '{{ value_json.value }}'
headers:
X-API-TOKEN: Xxx
# Mesure redox
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/1xx/data/orp
method: GET
name: "redox Piscine"
unique_id: binary_sensor.redox piscine
scan_interval: 60
value_template: '{{ value_json.value }}'
headers:
X-API-TOKEN: Xxx
Zigfou
Novembre 6, 2023, 12:03
16
N’étant pas programmeur, j’utlise les infos et les recherches des autres et pour le coup, je suis aussi preneur pour la partie pompe.
@Zigfou
pour l’aux il s’agit de créer un switch, est ce que tu a mis ton code au bon endroit?
pour la pompe voici mon morceau de code qui me permet de changer le mode:
rest_command:
pompe_on:
url: "https://api.oklyn.fr/public/v1/device/my/pump"
method: put
payload: '{ "pump": "on"}'
headers:
content-type: "application/json"
X-API-TOKEN: XXX
pompe_off:
url: "https://api.oklyn.fr/public/v1/device/my/pump"
method: put
payload: '{ "pump": "off"}'
headers:
content-type: "application/json"
X-API-TOKEN: XXX
pompe_auto:
url: "https://api.oklyn.fr/public/v1/device/my/pump"
method: put
payload: '{ "pump": "auto"}'
headers:
content-type: "application/json"
X-API-TOKEN: XXX
j’en profite pour te mette tout les sensors que j’ai crées
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/my/data/ph
name: "PH Piscine"
scan_interval: 600
value_template: '{{value_json["value_raw"]}}'
headers:
content-type: "application/json"
X-API-TOKEN: XXX
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/my/data/orp
name: "RedOx Piscine"
scan_interval: 600
value_template: '{{value_json["value_raw"]}}'
headers:
content-type: "application/json"
X-API-TOKEN: XXX
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/my/data/water
name: "Temp Piscine"
device_class: temperature
scan_interval: 600
value_template: '{{value_json["value_raw"]}}'
headers:
content-type: "application/json"
X-API-TOKEN: XXX
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/my/pump
name: "mode pompe piscine "
scan_interval: 600
value_template: '{{value_json["pump"]}}'
headers:
content-type: "application/json"
X-API-TOKEN: XXX
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/my/data/ph
name: "statut PH Piscine"
scan_interval: 600
value_template: '{{value_json["status"]}}'
headers:
content-type: "application/json"
X-API-TOKEN: XXX
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/my/data/orp
name: "statut Red Ox Piscine"
scan_interval: 600
value_template: '{{value_json["status"]}}'
headers:
content-type: "application/json"
X-API-TOKEN: XXX
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/my/pump
name: "statut pompe piscine"
scan_interval: 600
value_template: '{{value_json["status"]}}'
headers:
content-type: "application/json"
X-API-TOKEN: XXX
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/my/aux
name: "statut aux"
scan_interval: 600
value_template: '{{value_json["aux"]}}'
headers:
content-type: "application/json"
X-API-TOKEN: XXX
en esperant que ça t’aide
1 « J'aime »
Zigfou
Novembre 6, 2023, 7:31
18
Un GRAND merci pour ton aide, et également pour tes sensors.J’ai rajouter des id uniques et tout est nickel.
Pour la pompe, j’arrive à créer mes bouton on, off et auto.Mais visiblement je ne sais pas ou placer la commande pour l’auxiliaire.J’ai toujours ce problème de configuration yaml qui ne fonctionne pas.
J’ai essayé dans, le fichier conf yaml et dans celui que j’ai crée command_line_yaml
Zigfou
Novembre 7, 2023, 7:54
19
Voilà la commande qui fonctionne chez moi pour allumer la prise auxiliaire, qui chez moi est l’éclairage de la piscine.
switch:
- platform: rest
method: put
resource: https://api.oklyn.fr/public/v1/device/my/aux
name: "Lumiere piscine"
unique_id: binary_sensor.Lumiere piscine
body_on: '{"aux": "on"}'
body_off: '{"aux": "off"}'
is_on_template: "{{ value_json.is_active }}"
headers:
Content-Type: application/json
X-API-TOKEN:
X-Custom-Header: '{{ states("input_text.the_custom_header") }}'
verify_ssl: true
1 « J'aime »
Top donc c’est bon tout fonctionne!?
Zigfou
Novembre 8, 2023, 8:09
21
Oui, tout fonctionne, je te remercie énormément pour ton aide.
Salut a tous , je suis de retours sur HA
j’avais suivi ta premiere integration pour la commande aux, qui marché a l’epoque mais plus maintenant,
si je reprend ton dernier code :
switch:
- platform: rest
method: put
resource: https://api.oklyn.fr/public/v1/device/my/aux
name: "Lumiere piscine"
unique_id: binary_sensor.Lumiere piscine
body_on: '{"aux": "on"}'
body_off: '{"aux": "off"}'
is_on_template: "{{ value_json.is_active }}"
headers:
Content-Type: application/json
X-API-TOKEN:
X-Custom-Header: '{{ states("input_text.the_custom_header") }}'
verify_ssl: true
Ca fonctionne mais je n’ai pas le retour d’état comme quoi la lumière est bien allumé , contrairement a avant, chez vous aussi ?
Si je commence a comprendre le probleme bient du Is-on-template qui ne pointe pas au bonne endroit, j’ai cette erreur dans les logs
Template variable warning: 'dict object' has no attribute 'is_active' when rendering '{{ value_json.is_active }}'
Zigfou
Février 11, 2024, 1:20
23
Bonjour,
le retour d’état fonctionne mais il est un peu long.
Zigfou
Février 11, 2024, 1:24
24
finalement non ça ne fonctionne plus, va falloir faire une recherche.
Avec le temps qui fait chez moi, je ne l’ai pas utiliser depuis la mise en route de cette commande
Moi j’utilise l’aux pour l’électrolyse donc je me fiche un peu du délais, mais pour une lumière ça doit être casse pied!
De souvenir dans mes automatisations, quelques secondes après avoir fait un « put » je fais un Scan des sensors pour mettre à jour l’état
1 « J'aime »
En fait j’utilise des scripts
J’édite mon message j’ai trouvé la solutionswitch template , les is_on_template ne sont pas bon dans vos modèle
Comme on a des sensor pour le statut de " aux " il faut indiquer ceci par exemple pour le retours d’état de Aux
#Statut Aux
- platform: rest
resource: https://api.oklyn.fr/public/v1/device/my/aux
name: "statut aux"
unique_id: sensor.statut_aux_piscine
scan_interval: 60
value_template: '{{value_json["aux"]}}'
headers:
content-type: "application/json"
X-API-TOKEN: xxxxxxxxxxxxxxxxxxxxxx
# Lumiere piscine
- platform: rest
method: put
resource: https://api.oklyn.fr/public/v1/device/my/aux
name: "Lumiere piscine"
unique_id: binary_sensor.Lumiere_piscine
body_on: '{"aux": "on"}'
body_off: '{"aux": "off"}'
is_on_template: "{{ is_state('sensor.statut_aux', 'on') }}"
headers:
Content-Type: application/json
X-API-TOKEN: nxxxxxxxxxxxxxxxx
X-Custom-Header: '{{ states("input_text.the_custom_header") }}'
verify_ssl: true
Ce qui permet, après les 60sec de rafraichissement du : sensor.statut_aux_piscine
le basculement du retours d’etat du switch. Meme si il est actionné depuis l’application oklyn,
Pour un retours d’etat plus rapide, il suffit de modifier le scan_interval:
du sensor.statut_aux_piscine
1 « J'aime »
Zigfou
Février 13, 2024, 7:08
28
Bonjour,
Je viens de tester rapidement avant de partir au travail. Le retour d’état est super rapide mais par contre le comportement du switch dans ha est bizarre (normal dans l’appli oklyn)
c’est a dire le comportement bizarre ?
Zigfou
Février 13, 2024, 7:29
30
Lorsque je clique dessus, Il s’éteint et se rallume 1 min après dans ha, mais il est allumé dans l’appli oklyn
Je viens de me pencher sur mon problème.
Lors de la création d’entité j’avais choisi commutateur au lieu de Lumière.
1 « J'aime »