Hi all,
I’m integrating Jeedom with Home Assistant and I’ve hit an API authorisation problem that I can’t solve from the UI.
Setup
Jeedom running on: 192.168.1.252:9080
Home Assistant running on the same Synology (also 192.168.1.252)
Ajax Systems plugin installed and working in Jeedom
A Jeedom scenario with ID 6 disarms my Ajax alarm correctly when launched from the Jeedom UI
A Jeedom scenario with ID 7 is for stamping a variable, also works fine from Jeedom UI
What I’m trying to do
From Home Assistant I’m calling Jeedom’s API with a REST command:
rest_command:
jeedom_doorbird_disarm:
url: « http://192.168.1.252:9080/core/api/jeeApi.php?apikey=MY_MAIN_JEEDOM_API_KEY&type=scenario&id=6&action=start »
method: GET
When I open this URL from my PC browser on the LAN, the scenario runs correctly and Ajax disarms.
But when Home Assistant calls the same URL, Jeedom returns this payload:
content: « You are not authorized to perform this action, IP : 192.168.1.252 »
status: 200
So Jeedom is clearly checking the client IP and blocking the call, even though the request comes from the same box (Synology / 192.168.1.252).
What I’ve already checked
In Settings → System → Configuration → APIs:
The main “API key” (first row) is set to API access: Enabled
TTS API access and Pro API access are also set to Enabled
“Disallow api methods (regexp)” is empty
“Only allow api methods (regexp)” is empty
The Ajax Systems plugin API key at the bottom is Enabled, Restricted unchecked
(I’m not using this key, I’m using the main core API key in the URL)
In Settings → System → Configuration → Security:
I don’t see any obvious field for “Authorized IPs” or “IP whitelist”, nothing that looks like an API IP filter.
Summary of the issue
Calling jeeApi.php from a browser on my PC works.
Calling exactly the same URL from Home Assistant (on 192.168.1.252) gives:
“You are not authorized to perform this action, IP : 192.168.1.252”
I cannot find in the Jeedom UI where to allow or whitelist this IP for the core API.
My questions
-
Where in current Jeedom versions is the IP filtering for the core API configured?
-
How can I explicitly allow 192.168.1.252 (or the whole 192.168.1.0/24 LAN) to call core/api/jeeApi.php with the main API key?
-
Is there any other setting (plugin, security, nginx/apache config) that could cause jeeApi.php to reject a request with that message even when API access is set to Enabled?
Any guidance or screenshots showing where to add this IP in the UI would be hugely appreciated.
Thanks in advance!