L'accès au ressources de Domoticz sans credentials renvoie normalement une erreur:
Code : Tout sélectionner
wget http://192.168.0.<DZ>:8080/json.htm?type=devices&filter=all&used=true&order=Name
=> KO: 401 Unauthorized.
J'ai créé un user
mydomoathome dans domoticz (avec tous les droits possibles!). Si on passe le user/pwd dans l'URL, ça marche bien. Donc pas de problème côté domoticz avec un compte de service.
Code : Tout sélectionner
wget http://mydomoathome:********@192.168.0.<DZ>:8080/json.htm?type=devices&filter=all&used=true&order=Name
=> OK
L'autre option, sur un réseau local non ouvert, est de ne pas utiliser de compte; mais autoriser des requêtes venant d'une IP locale à accéder aux ressources de domoticz. Pour tester:
Domoticz > Settings > Local Networks (no username/password) et on ajoute l'IP du serveur MDAH
192.168.0.<MDAH>. La même requête retourne alors bien les données des devices.
Code : Tout sélectionner
wget http://192.168.0.<DZ>:8080/json.htm?type=devices&filter=all&used=true&order=Name
=> OK
Côté domoticz, tout roule!
Maintenant, test de l'authentification côté MDAH...
- 1er cas: On conserve l'IP du serveur MDAH dans Domoticz > Settings > Local Networks pour ne pas utiliser d'authentification. Configuration de /etc/mydomoathome/config.json ... puis un sudo service mydomoathome stop && sudo service mydomoathome start et test de MDAH en local. J'ai bien toutes mes données.
Code : Tout sélectionner
{
"app_name": "MyDomoAtHome",
"auth": null,
"tempmode": "C",
"domoticz": {
"ssl": false,
"host": "192.168.0.<DZ>",
"port": "8080",
"path": "/",
"auth": null
},
"port": "3002",
"passcode": ""
}
- 2nd cas: On supprime dans Domoticz > Settings > Local Networks l'IP du serveur MDAH. Puis on reconfigure MDAH dans /etc/mydomoathome/config.json ... puis un sudo service mydomoathome stop && sudo service mydomoathome start et test de MDAH en local.
Code : Tout sélectionner
{
"app_name": "MyDomoAtHome",
"auth": null,
"tempmode": "C",
"domoticz": {
"ssl": false,
"host": "192.168.0.<DZ>",
"port": "8080",
"path": "/",
"auth": { "username": "mydomoathome", "password": "******" }
},
"port": "3002",
"passcode": ""
}
Code : Tout sélectionner
wget http://127.0.0.1:3002/devices
--2020-01-10 20:28:10-- http://127.0.0.1:3002/devices
Connecting to 127.0.0.1:3002... failed: Connection refused.
=> KO
Pourtant d'après le code de MDAH (
https://github.com/empierre/MyDomoAtHom ... js/mdah.js), c'est bien ce qu'est sencé faire la fonction getURL...
Code : Tout sélectionner
function getURL() {
var protocole = nconf.get('domoticz:ssl') === true ? 'https' : 'http';
var host = nconf.get('domoticz:host')||'127.0.0.1';
var port = nconf.get('domoticz:port')||process.env.DOMO_PORT||'8080';
var path = nconf.get('domoticz:path')||'/';
var oldpath = nconf.get('domo_path');
var cmd = "json.htm";
// In case of AUTH Basic authentication
var secure = false;
if (nconf.get('domoticz:auth') && nconf.get('domoticz:auth:username') && nconf.get('domoticz:auth:password')) {
var secure = nconf.get('domoticz:auth:username') + ":" + nconf.get('domoticz:auth:password') + "@";
}
- 3ème cas (au cas où): On supprime dans Domoticz > Settings > Local Networks l'IP du serveur MDAH. Puis on reconfigure MDAH dans /etc/mydomoathome/config.json ... puis un sudo service mydomoathome stop && sudo service mydomoathome start et test de MDAH en local avec cette fois-ci.
Code : Tout sélectionner
{
"app_name": "MyDomoAtHome",
"auth": null,
"tempmode": "C",
"domoticz": {
"ssl": false,
"host": "mydomoathome:*****@192.168.0.<DZ>",
"port": "8080",
"path": "/",
"auth": null
},
"port": "3002",
"passcode": ""
}
Code : Tout sélectionner
wget http://127.0.0.1:3002/devices
--2020-01-10 21:00:39-- http://127.0.0.1:3002/devices
Connecting to 127.0.0.1:3002... failed: Connection refused.
=> KO
Bref, je ne sais pas non plus comment passer des credentials domoticz à MDAH 
Perso, j'ai pris la solution de contournement qui est de mettre l'IP du serveur MDAH dans la config domoticz;
cas #1. Pas d'authentification nécessaire. Ça marche.
PS: Pour la question qui est de filtrer les devices dans un user, pk pas. Mais à mon avis tu n'y gagneras pas tant que ça. Essaie, et dit-nous ce que ça donne

PS2: Si tu utilises le 8080 de domoticz, normalement tu n'est pas en SSL. laisse false.
PS3: Idem pour le path. A moins d'avoir bidouillé le serveur web ou utiliser un dossier comme racine domoticz, laisse le / par défaut.