[2023.2] Erreur Deprecated RType (devices) for API request.
[2023.2] Erreur Deprecated RType (devices) for API request.
Bonjour à tous,
J'ai fait un updatrelease pour passer en 2023.2 (car j'avais un message en pop up à chaque connexion) et je me retrouve avec tous mes scripts en erreur qui remontent :
[WebServer] Deprecated RType (devices) for API request. Handled via fallback (getdevices), please use correct API Command! (127.0.0.1)
J'ai bien vu le post https://www.domoticz.com/forum/viewtopic.php?t=40415 positionné dans "Les problèmes remontés" du post viewtopic.php?p=114494&hilit=%5BWebServ ... es#p114494
...mais malheureusement l'application des solutions proposées ne résout rien (changement de /json.htm?type=devices pas /json.htm?type=command¶m=getdevices), surement parce que j'utilise beaucoup d'API pour chercher plein de type d'infos et que je n'ai pas que cette partie à modifier. etc.
Je viens de voir les évolutions dans la nouvelle version de la doc API anglaise, il faut que je reprenne tout je pense...
Est-ce que quelqu'un a réussi à résoudre ces difficultés ou est-il possible de revenir facilement dans la release 2023.1 ?
En tout cas c'est très gênant qu'une mise à jour modifie profondément la manière d'utiliser les APIs...
Merci d'avance !
J'ai fait un updatrelease pour passer en 2023.2 (car j'avais un message en pop up à chaque connexion) et je me retrouve avec tous mes scripts en erreur qui remontent :
[WebServer] Deprecated RType (devices) for API request. Handled via fallback (getdevices), please use correct API Command! (127.0.0.1)
J'ai bien vu le post https://www.domoticz.com/forum/viewtopic.php?t=40415 positionné dans "Les problèmes remontés" du post viewtopic.php?p=114494&hilit=%5BWebServ ... es#p114494
...mais malheureusement l'application des solutions proposées ne résout rien (changement de /json.htm?type=devices pas /json.htm?type=command¶m=getdevices), surement parce que j'utilise beaucoup d'API pour chercher plein de type d'infos et que je n'ai pas que cette partie à modifier. etc.
Je viens de voir les évolutions dans la nouvelle version de la doc API anglaise, il faut que je reprenne tout je pense...
Est-ce que quelqu'un a réussi à résoudre ces difficultés ou est-il possible de revenir facilement dans la release 2023.1 ?
En tout cas c'est très gênant qu'une mise à jour modifie profondément la manière d'utiliser les APIs...
Merci d'avance !
Dernière modification par vinchz31 le 23 juil. 2023, 22:16, modifié 1 fois.
Re: [2023.2] Erreur Deprecated RType (devices) for API request.
Le sujet n'aura pas mis longtemps à sortir
Revenir à la 2023.1 ... Tu as fait une sauvegarde avant de faire la mise à jour ??
Tout le monde aura des difficultés différentes, car nos systèmes sont tous différents. J'ai été confronté au problème avec la béta. Je dirai qu'il faut regarder les choses dans l'ordre :
D'où mon indication plus haut de faire les mises à jour des plugins avant de faire la mise à jour 2023.2 de DomoticZ.
Revenir à la 2023.1 ... Tu as fait une sauvegarde avant de faire la mise à jour ??
Tout le monde aura des difficultés différentes, car nos systèmes sont tous différents. J'ai été confronté au problème avec la béta. Je dirai qu'il faut regarder les choses dans l'ordre :
- Est-ce que les erreurs sont liées à des plugins ?
- Est-ce que les erreurs sont liées à des scripts ?
- Est-ce que les erreurs sont liées à des objets ?
- Est-ce que les erreurs sont liées à des widgets ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: [Résolu] - [2023.2] Erreur Deprecated RType (devices) for API request.
Bonsoir Keros,
Merci pour ton retour.
Bon après 2 bonnes heures à reprendre tous mes scripts (Php, C, etc.), et en corrigeant tous les appels API, j'ai fini par m'en sortir. J'étais déjà dans la dernière version de Zigbee Domoticz donc pas de souci de ce côté là...
Plus d'erreur ce soir mais quand même un peu galère pour mettre à niveau.
Pour ceux qui rencontre le problème, il faut aller sur la doc de l'API Domoticz Anglaise :
https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's
Puis rechercher sur la page "From Beta 15326, 1-jun-2023" qui permet d'identifier tous les appels API ayant évolué (parmi les 40 ayant évolué dans cette nouvelle version).
Exemples :
/json.htm?type=devices&rid=IDX
devient
/json.htm?type=command¶m=getdevices&rid=IDX
/json.htm?type=devices&filter=all&used=true&order=Name
devient
/json.htm?type=command¶m=getdevices&filter=all&used=true&order=Name
/json.htm?type=devices&used=true&displayhidden=1
devient
/json.htm?type=command¶m=getdevices&used=true&displayhidden=1
Etc...
A partir de là, il faut corriger tous les scripts pour modifier les appels APIs en conséquence.
Très bonne soirée à tous.
Merci pour ton retour.
Bon après 2 bonnes heures à reprendre tous mes scripts (Php, C, etc.), et en corrigeant tous les appels API, j'ai fini par m'en sortir. J'étais déjà dans la dernière version de Zigbee Domoticz donc pas de souci de ce côté là...
Plus d'erreur ce soir mais quand même un peu galère pour mettre à niveau.
Pour ceux qui rencontre le problème, il faut aller sur la doc de l'API Domoticz Anglaise :
https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's
Puis rechercher sur la page "From Beta 15326, 1-jun-2023" qui permet d'identifier tous les appels API ayant évolué (parmi les 40 ayant évolué dans cette nouvelle version).
Exemples :
/json.htm?type=devices&rid=IDX
devient
/json.htm?type=command¶m=getdevices&rid=IDX
/json.htm?type=devices&filter=all&used=true&order=Name
devient
/json.htm?type=command¶m=getdevices&filter=all&used=true&order=Name
/json.htm?type=devices&used=true&displayhidden=1
devient
/json.htm?type=command¶m=getdevices&used=true&displayhidden=1
Etc...
A partir de là, il faut corriger tous les scripts pour modifier les appels APIs en conséquence.
Très bonne soirée à tous.
Re: [2023.2] Erreur Deprecated RType (devices) for API request.
Bonjour à tous,
C'est vraiment le Bazard à chaque changement de version, ça devient dramatique !!!!
Je vais finir par ne plus faire aucune mise à jour, ce qui n'est pas la meilleure chose.
J'ai un paquet de routines python qui toutes utilisent JSON, ça va être très amusant à tout corriger d'autant que j'en ai qui sont inaccessibles. Elles sont dans une maison secondaire derrière un routeur 4G qui est inaccessible dans ce sens.
Où est l'intérêt de ce type de changement ?!?!
C'est vraiment le Bazard à chaque changement de version, ça devient dramatique !!!!
Je vais finir par ne plus faire aucune mise à jour, ce qui n'est pas la meilleure chose.
J'ai un paquet de routines python qui toutes utilisent JSON, ça va être très amusant à tout corriger d'autant que j'en ai qui sont inaccessibles. Elles sont dans une maison secondaire derrière un routeur 4G qui est inaccessible dans ce sens.
Où est l'intérêt de ce type de changement ?!?!
Re: [2023.2] Erreur Deprecated RType (devices) for API request.
Hello,
Je ne comprends pas pour ma part. A priori j'utilisais les nouvelles spécifs depuis au moins la 2021.1 ?
Je cherche une explication...
En fait c'est dans mes boutons "Action On et Action Off. C'est peut-être différent...
Je ne comprends pas pour ma part. A priori j'utilisais les nouvelles spécifs depuis au moins la 2021.1 ?
Je cherche une explication...
En fait c'est dans mes boutons "Action On et Action Off. C'est peut-être différent...
Domoticz 2025.2 @ Debian 12 on AZW Green G2. Processeur : Intel Celeron N5095A Mémoire : 8 Go
HDD WD Red 500Go M.2 SATA
RFXCOM - RFXtrx433 USB 433.92MHz Transceiver Version: Pro XL1
RFXCOM - RFXtrx433 ethernet (inactif)
CONBEE II USB Zigbee4Domoticz
HDD WD Red 500Go M.2 SATA
RFXCOM - RFXtrx433 USB 433.92MHz Transceiver Version: Pro XL1
RFXCOM - RFXtrx433 ethernet (inactif)
CONBEE II USB Zigbee4Domoticz
Re: [2023.2] Erreur Deprecated RType (devices) for API request.
Bonjour,
J'ai également le message warning mais tout fonctionne correctement. Mais bon pour l'avenir autant passer à la nouvelle façon de faire (même si moi aussi ça m'arrange pas plus que ça ...)
Par contre si j'utilise la nouvelle méthode j'ai une erreur.
Exemple de script pour avoir la liste des devices avec infos :
Je reçois une erreur type "attempt to index a nil value (global 'devices')"
Si j'utilise handle = io.popen("curl '" .. ServeurDomoticz .. "/json.htm?type=devices&order=name'") j'ai bien la liste des devices !
Je dois donc avoir un problème dans la table retournée par la nouvelle fonction.
Quand je passe par un browser j'ai le même résultat avec les deux url !
Mon niveau dans ce domaine est très basic.
Quelqu'un a une idée ?
Merci,
Jean-Charles
J'ai également le message warning mais tout fonctionne correctement. Mais bon pour l'avenir autant passer à la nouvelle façon de faire (même si moi aussi ça m'arrange pas plus que ça ...)
Par contre si j'utilise la nouvelle méthode j'ai une erreur.
Exemple de script pour avoir la liste des devices avec infos :
Code : Tout sélectionner
-- Configuration
ServeurDomoticz = "http://LUA:Lxxxxxxx@localhost:8080" -- Adresse serveur Domoticz avec user/password
json = (loadfile "/home/jcb/domoticz/scripts/lua/JSON.lua")() -- Fichier JSON pour récup des appareils et infos Domoticz
commandArray = {}
-- Get a list of all devices
handle = io.popen("curl '" .. ServeurDomoticz .. "/json.htm?type=command¶m=getdevices&order=Name")
devicesJson = handle:read('*all')
handle:close()
devices = json:decode(devicesJson)
-- Pour chaque appareil de Domoticz
for i,device in ipairs(devices.result) do
if device.Name ~= 'Unknown' then print ( device.Name ) end
end
return commandArraySi j'utilise handle = io.popen("curl '" .. ServeurDomoticz .. "/json.htm?type=devices&order=name'") j'ai bien la liste des devices !
Je dois donc avoir un problème dans la table retournée par la nouvelle fonction.
Quand je passe par un browser j'ai le même résultat avec les deux url !
Mon niveau dans ce domaine est très basic.
Quelqu'un a une idée ?
Merci,
Jean-Charles
Dernière modification par Keros le 25 juil. 2023, 12:35, modifié 1 fois.
Raison : Ajout des balises code
Raison : Ajout des balises code
NUC en Debian 13 via Proxmox
Beaucoup de SonOff flashé Tasmota (en Wifi)
RF Link - Stations Netatmo
Box Somfy Connexoon pour volets Vélux et stores Somfy
... et pour combiner le tout, plein de script LUA pour automatiser la maison
Beaucoup de SonOff flashé Tasmota (en Wifi)
RF Link - Stations Netatmo
Box Somfy Connexoon pour volets Vélux et stores Somfy
... et pour combiner le tout, plein de script LUA pour automatiser la maison
Re: [2023.2] Erreur Deprecated RType (devices) for API request.
J'avais toujours le message d'erreur 'Erreur Deprecated RType (devices) ... ' après avoir corrigé mes script LUA. En revanche il n'y avait plus de messages dans la log quand j'arrêtais Homebridge.
Le problème venait des plugins homebridge-edomoticz et homebridge-domoticz-selector-switch dans Homebrigde.
- Pour le plugin homebridge-edomoticz, le fichier 'homebridge-edomoticz/lib/domoticz.js' a bien été mis à jour dans le repo guthub pour utiliser les appels API avec la syntaxe correcte mais aucune mise à jour n'était proposée dans l'interface graphique Homebridge. Je suppose parce que la version était inchangée.
Le problème a été résolu en remplaçant le fichier domoticz.js dans /var/lib/homebridge/node_modules/homebridge-edomoticz sur mon système par celui mis à jour trouvé dans le dépôt github homebridge-edomoticz.
- Pour le plugin homebridge-domoticz-selector-switch (plus maintenu), j'ai modifié la syntaxe des appels à l'API JSON dans le fichier index.js pour utiliser le bon format.
Si ça peut aider.
Le problème venait des plugins homebridge-edomoticz et homebridge-domoticz-selector-switch dans Homebrigde.
- Pour le plugin homebridge-edomoticz, le fichier 'homebridge-edomoticz/lib/domoticz.js' a bien été mis à jour dans le repo guthub pour utiliser les appels API avec la syntaxe correcte mais aucune mise à jour n'était proposée dans l'interface graphique Homebridge. Je suppose parce que la version était inchangée.
Le problème a été résolu en remplaçant le fichier domoticz.js dans /var/lib/homebridge/node_modules/homebridge-edomoticz sur mon système par celui mis à jour trouvé dans le dépôt github homebridge-edomoticz.
- Pour le plugin homebridge-domoticz-selector-switch (plus maintenu), j'ai modifié la syntaxe des appels à l'API JSON dans le fichier index.js pour utiliser le bon format.
Si ça peut aider.
Re: [2023.2] Erreur Deprecated RType (devices) for API request.
@jcb2
Tu peux essayer avec ça.
Tu peux essayer avec ça.
Code : Tout sélectionner
-- Configuration
ServeurDomoticz = "http://LUA:Lxxxxxxx@localhost:8080" -- Adresse serveur Domoticz avec user/password
json = (loadfile "/home/jcb/domoticz/scripts/lua/JSON.lua")() -- Fichier JSON pour récup des appareils et infos Domoticz
commandArray = {}
-- param=getdevices: Retourne les info des devices, order=Name ne marche pas.
local cmd = "curl '" .. ServeurDomoticz .. "/json.htm?type=command¶m=getdevices'"
-- param=devices_list: Retourne peu d'info sur les devices. Le tri par nom est par défaut.
-- local cmd = "curl '" .. ServeurDomoticz .. "/json.htm?type=command¶m=devices_list&order=Name'"
print("cmd = " .. cmd)
local config = assert(io.popen(cmd))
local devicesJson = config:read('*all')
config:close()
Devices = json:decode(devicesJson)
for i,Device in pairs(Devices.result) do
-- print à utiliser pour param=getdevices.
print(i .. " - Device.Name = " .. Device.Name .. " - Device.idx = " .. Device.idx)
-- print à utiliser pour param=devices_list.
-- print(i .. " - Device.name = " .. Device.name .. " - Device.idx = " .. Device.idx)
end
return commandArrayRe: [2023.2] Erreur Deprecated RType (devices) for API request.
Salut à tous,
J'ai aussi le problème, je pense que ca vient du fichier modules.lua, car quand je le supprime, l'erreur ne revient pas.
J'ai essayé de changé les lignes json, mais toujours autant d'erreur... j'ai du en louper ou je sais pas.
Vous savez pas si il y a une maj de ce fichier quelque part ?
J'ai aussi le problème, je pense que ca vient du fichier modules.lua, car quand je le supprime, l'erreur ne revient pas.
J'ai essayé de changé les lignes json, mais toujours autant d'erreur... j'ai du en louper ou je sais pas.
Vous savez pas si il y a une maj de ce fichier quelque part ?
Re: [2023.2] Erreur Deprecated RType (devices) for API request.
Je n'ai pas vu de maj. C'était Vil1driver qui l'avait créé et partagé, mais il n'est plus sur le forum et même sont Github n'a reçu aucune mise à jour depuis 1 an.
Fais un Ctrl + F dans le fichier pour rechercher la syntaxe et essaye de tout remplacer.
Fais un Ctrl + F dans le fichier pour rechercher la syntaxe et essaye de tout remplacer.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos