Avez-vous une maison connectée ?

titoum

OPTC:970342646
Moi j'aimerais contrôler un afficheur led avec un esp32 mais suis une bille.
1744531706915.png

2 shell script + des sensors...je fetch toutes les 5' et refresh du token toutes les 20'.
je vais voir si ca tient 2-3h

par contre, je n'arrive pas à intégrer cela direct dans HA
 

titoum

OPTC:970342646
si jamais pour l'intégration de hyponcloud / hypon.cloud ou de truc similaire:

configuration.yaml
# getting my hyponCloud info
shell_command:
get_hypontoken: /bin/bash /config/scripts/HyponCloudToken.sh
get_hypondata: /bin/bash /config/scripts/HyponCloudGetData.sh

le fichier HyponCloudToken.sh
echo 'make some safety net'
touch /config/scripts/token.txt

echo 'be sure all is clean before fetching!'
rm /config/scripts/token.txt

echo 'getting our nice token'
json=$(curl 'https://api.hypon.cloud/v2/login' -d "username=xxx&password=xxx")

echo 'clean it up'
token=$(echo $json | sed "s/{.*\"token\":\"\([^\"]*\).*}/\1/g")
echo $token > /config/scripts/token.txt
echo $token

le fichier HyponCloudGetData.sh
echo 'make some safety net'
touch /config/scripts/myStats.json

echo 'be sure all is clean before fetching!'
rm /config/scripts/myStats.json

echo 'retrieving my lovely token'
token=$( cat /config/scripts/token.txt )


stats=$(curl "https://api.hypon.cloud/v2/plant/list2?page=1&page_size=10&refresh=true" -H "accept: application/json" -H "authorization: Bearer $token")

echo $stats > /config/scripts/myStats.json
sed -i 's/{"data":\[//' /config/scripts/myStats.json
sed -i 's/[]].*$//' /config/scripts/myStats.json

chmod 777 /config/scripts/myStats.json

j'ai du faire un sed sur les data parce qu'on avait pas juste le payload en retour.

puis faut ajouter les automations pour appeler les scripts.

1744548219225.png

je fais toutes les heures pour le token et toutes les minutes pour les data.
le trigger est actif de 07-22h :D

et on fini par les sensors dans le fichier command_line.yaml
- sensor:
name: "PV today"
unit_of_measurement: "kW"
command: 'cat /config/scripts/myStats.json'
value_template: "{{ value_json['e_today'] }}"
device_class: power
state_class: measurement
scan_interval: 60

- sensor:
name: "PV total"
unit_of_measurement: "kW"
command: 'cat /config/scripts/myStats.json'
value_template: "{{ value_json['e_total'] }}"
device_class: power
state_class: measurement
scan_interval: 60

- sensor:
name: "PV power"
unit_of_measurement: "kW"
command: 'cat /config/scripts/myStats.json'
value_template: "{{ value_json['power'] }}"
device_class: power
state_class: measurement
scan_interval: 60


une fois que j'ai trouvé pour avoir access au site.
le reste c'était plus des chipotteries.
 

Groszours

Elite
Haut