Mon problème
Bonjour,
J’ai changer d’installation de ADGuard que j’avais en Addon sur HA. Je l’ai installé sur mon NAS ( DS214+ ) sans docker. J’utilise l’installation AdGuardHome_linux_armv7 et j’ai planifié une tache qui le lance a chaque démarrage.
J’ai ensuite installer l’intégration Adguard sur HA, pour récupérer les stats et protection activer.
Comme je n’est plus ADGuard sur HA, je voudrais récupérer la version de ADGuard pour la comparer avec l’entité du github et me faire un Template pour m’alerter d’une nouvelle maj.
On peut voir la version de ADguard sur l’intégration de HA:
Mais je ne trouve aucun sensor qui aurait l’information ( même dans les attributs ).
Mon entité github:
Directrement sur la page de Adguard ( par l’ip local ):
Connaissez vous une solution pour récupérer la version de ADGuard, soit par l’intégration ou par l’application sur le NAS ?
System Information
version
core-2024.3.1
installation_type
Home Assistant OS
dev
false
hassio
true
docker
true
user
root
virtualenv
false
python_version
3.12.2
os_name
Linux
os_version
6.1.73-haos-raspi
arch
aarch64
timezone
Europe/Paris
config_dir
/config
Home Assistant Community Store
GitHub API
ok
GitHub Content
ok
GitHub Web
ok
GitHub API Calls Remaining
4996
Installed Version
1.34.0
Stage
running
Available Repositories
1426
Downloaded Repositories
79
Home Assistant Cloud
logged_in
false
can_reach_cert_server
ok
can_reach_cloud_auth
ok
can_reach_cloud
ok
Home Assistant Supervisor
host_os
Home Assistant OS 12.0
update_channel
stable
supervisor_version
supervisor-2024.03.0
agent_version
1.6.0
docker_version
24.0.7
disk_total
109.3 GB
disk_used
16.3 GB
healthy
true
supported
true
board
rpi4-64
supervisor_api
ok
version_api
ok
installed_addons
Samba share (12.3.1), Terminal & SSH (9.10.0), File editor (5.8.0), pigpio (1.5.2), Mosquitto broker (6.4.0), Zigbee2MQTT (1.36.0-1), Home Assistant Google Drive Backup (0.112.1), ESPHome (2024.3.0), NGINX Home Assistant SSL proxy (3.9.0), MyElectricalData (0.12.0), openWakeWord (1.10.0), Piper (1.5.0), vosk (1.6.0), porcupine (1.1.0), Let’s Encrypt (5.0.15)
Dashboards
dashboards
4
resources
55
views
29
mode
storage
Recorder
oldest_recorder_run
19 mars 2024 à 15:45
current_recorder_run
21 mars 2024 à 06:51
estimated_db_size
260.21 MiB
database_engine
sqlite
database_version
3.44.2
Spotify
api_endpoint_reachable
ok
Xiaomi Gateway 3
Xiaomi Miot Auto
component_version
0.7.17
can_reach_server
ok
can_reach_spec
ok
logged_accounts
0
total_devices
0
Herbs
Mars 22, 2024, 9:11
2
Salut @WarC0zes
Avec l’url de ton instance adguard + /control/status
genre :
http://192.168.0.x/control/status
Tu récupères un json :
{"version":"v0.107.46","language":"fr","dns_addresses":["127.0.0.1","::1","10.0.2.100","fd00::4c9b:d3ff:fefc:66ca","fe80::4c9b:d3ff:fefc:66ca%tap0"],"dns_port":53,"http_port":80,"protection_disabled_duration":0,"protection_enabled":true,"dhcp_available":true,"running":true}
La suite, je pense que tu devrais t’en sortir
[EDIT] faudra prévoir l’authent quand même
1 « J'aime »
Salut @Herbs ,
toujours au top
{
"version": "v0.107.46",
"language": "fr",
"dns_addresses": [
"127.0.0.1",
"::1",
"192.168.1.2"
],
Allez je m’attaque a la suite.
Merci
1 « J'aime »
Avec un sensor rest, j’ai bon ?
sensor:
- platform: rest
resource: http://xxxx:xxxxx@192.168.1.2:xxx/control/status
name: "AdGuard Version"
value_template: "{{ value_json.version }}"
Herbs
Mars 22, 2024, 9:33
6
Tu peux essayer de voir si ça passe comme ça.
Mais je pense qu’il va te manquer des trucs sur l’authent
En tout cas, c’est une bonne piste !!!
Herbs
Mars 22, 2024, 10:45
7
@WarC0zes alors tu t’en sors ?
@WarC0zes dis oui car je suis l’histoire
Oui, je viens juste de fini et tester si c’est bon.
Je crois que j’y suis arrivé
J’ai configurer le rest sensor comme telle et c’est bon.
- platform: rest
name: "ADGuard Version"
unique_id: adguard_version
resource: http://192.168.1.2:xxxx/control/status
username: !secret useradguard
password: !secret passadguard
authentication: basic
headers:
User-Agent: homeassistant
Content-Type: application/json
verify_ssl: false
value_template: "{{ value_json.version }}"
je sais pas si l’option scan_interval
est toujours fonctionelle ?
1 « J'aime »
Herbs
Mars 22, 2024, 11:09
11
Le hic, c’est qu’elle n’est plus dans la liste des variables dans la doc « rest sensor » .
Mais qu’on la retrouve dans les exemples de cette même doc.
Et qu’on la voit dans la doc « rest »
Bref, je dirai que ça doit fonctionner, mais le fait que tu poses la question et la doc me mettent le doute
Et oui, comme toi j’ai remarquer pareil, c’est pas en option, mais ta des exemples avec.
Et comme c’est une option qui disparait sur pas mal d’autre intégration, j’ai un doute.
Je laisse sans
Après juste un template qui compare les versions , ca doit suffire pour me faire une entité update?
edit:
je vais faire comme ça:
{% if states('sensor.adguard_version') == states('sensor.adguardteam_adguardhome_derniere_balise') %}
off
{% else %}
on
{% endif %}
Voila, j’ai refait mon icone adguard
Edit2:
more-info presque comme une vrai entité update .
1 « J'aime »
Herbs
Mars 22, 2024, 11:59
14
Donc le « scan_interval » fonctionne.
J’ai mon Adguard derrière mon reverse proxy, donc en checkant les logs :
Sans « scan interval » dans la définition du sensor, poll toutes les 30 secondes (valeur par défault) :
herbs [22/Mar/2024:12:10:45 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:11:15 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:11:45 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:12:15 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:12:45 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:13:15 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:13:45 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:14:15 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:14:45 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:15:15 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:15:45 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
Avec « scan interval » à 120 secondes, bah ça poll toutes les 2 minutes :
herbs [22/Mar/2024:12:27:42 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:29:42 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:31:42 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:33:42 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:35:42 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:37:42 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:39:42 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:41:42 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:43:42 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:45:42 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
herbs [22/Mar/2024:12:47:42 +0100] TLSv1.3 "GET /control/status HTTP/1.1" 200 219 "-" "HomeAssistant/2024.3.1 httpx/0.27.0 Python/3.12" "-"
1 « J'aime »
Bonjour @WarC0zes ,
Comme toi, j’ai une instance séparé de AdGuard, j’ai essayé ton code, mais j’ai une erreur :
Error loading /config/configuration.yaml: mapping values are not allowed here
in "/config/integrations/../entities/rest_commands/adguard_version.yaml", line 2, column 7
c’est a mettre dans sensor.yaml.
montre ton adguard_version.yaml ?
J’ai une configuration en yaml séparé…
Je te l’envoie tout à l’heure, je suis en extérieur pour le moment et pas devant un pc
1 « J'aime »
Re @WarC0zes
alors voici ce que j’ai mis dans le adguard_version.yaml dans le dossier sensors
platform: rest
name: "ADGuard Version"
unique_id: adguard_version
resource: http://192.168.120.253:80/control/status
username: !secret adguard_user
password: !secret adguard_passaword
authentication: basic
headers:
User-Agent: homeassistant
Content-Type: application/json
verify_ssl: false
value_template: "{{ value_json.version }}"
adguard_user et adguard_passaword sont définis dans mon fichier secret avec leurs autres homologues !
PS: j’ai tenté avec et sans le 80 après l’adresse de AdGuard mais pareille
j’utilise la méthode des packages.
dans mon configuration.yaml:
homeassistant:
packages: !include_dir_named packages
dans mon fichier sensor.yaml, /config/packages/sensor.yaml:
sensor:
- platform: rest
name: "ADGuard Version"
unique_id: adguard_version
resource: http://192.168.1.2:30xx/control/status
username: !secret useradguard
password: !secret passadguard
authentication: basic
headers:
User-Agent: homeassistant
Content-Type: application/json
verify_ssl: false
value_template: "{{ value_json.version }}"
scan_interval: 3600
merci,
j’ai réussi à faire fonctionner ton code en le mettant dans mon dossier packages !
bizarre…
bon il me reste à choper la version en ligne