Plugin Ioscloud- Beta

Fil pour le suivi du plugin ioscloud

Version béta devrait être dispo demain

Fonctionnelle chez moi

Pour ceux qui veulent tester

  • telecharger la beta
  • mettre à jour les dépendances
  • créer un équipement type compte
  • remplir adresse et passe icloud et enregistrer

image

  • cliquer ensuite sur authentification , vous allez recevoir le code sur votre device.
  • rentrer le code dans la zone de texte , cliquer sur envoyer le code et attendre la fin de l’auth et de la création des équipements
3 « J'aime »

Nouvelle version beta dispo

Version stable toujours KO tant que pas de retour

Bien lire la doc la doc

Pour ceux qui la teste possible de me faire un retour si la double authentification au moins et autres fonctions ne posent pas de soucis via un post avec le tag du plugin

Merci

Hello, je viens de tester,tous c’est bien passer au début il a réussi à me trouver des appareils mais depuis j’ai le message en boucle sur mon jeedom erreur authentification timieout en rouge qui pop en bas de mon écran

mets en debug et donne les logs en mp si donnèes sensible

Tu peux mettre à jour la dernière beta et me die ce qu’il en est ?

regarde un post un peu plus haut il y a un lien

Bonjour. Depuis la mise à jour c’est beaucoup mieux. Merci

Ok merci du retour

Je laisse un peu en beta puis si problème dans la gestion fais mois signe

Attention au reboot cela peut engendrer une obligation de renouveler la session

Hello

Version bêta
L’installation semble bien se passer, cependant il y a un problème


********************************************************
*             Installation des dépendances             *
********************************************************
***** Commande: sudo apt-get update **********
Hit:1 http://deb.debian.org/debian bullseye InRelease
Hit:2 http://deb.debian.org/debian-security bullseye-security InRelease
Hit:3 http://deb.debian.org/debian bullseye-updates InRelease
Get:4 https://deb.nodesource.com/node_20.x nodistro InRelease [12.1 kB]
Get:5 https://deb.nodesource.com/node_20.x nodistro/main amd64 Packages [13.7 kB]
Fetched 25.8 kB in 1s (21.6 kB/s)
Reading package lists...
***** Commande: sudo apt-get install -y python3 python3-venv python3-pip **********
Reading package lists...
Building dependency tree...
Reading state information...
python3 is already the newest version (3.9.2-3).
python3-venv is already the newest version (3.9.2-3).
python3-pip is already the newest version (20.3.4-4+deb11u2).
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
***** Création du virtualenv: /var/www/html/plugins/ioscloud/resources/.venv **********
***** Mise à jour pip/setuptools/wheel dans le venv **********
Requirement already satisfied: pip in /var/www/html/plugins/ioscloud/resources/.venv/lib/python3.9/site-packages (20.3.4)
Collecting pip
Using cached pip-26.0.1-py3-none-any.whl (1.8 MB)
Requirement already satisfied: setuptools in /var/www/html/plugins/ioscloud/resources/.venv/lib/python3.9/site-packages (44.1.1)
Collecting setuptools
Using cached setuptools-82.0.0-py3-none-any.whl (1.0 MB)
Collecting wheel
Using cached wheel-0.46.3-py3-none-any.whl (30 kB)
Collecting packaging>=24.0
Using cached packaging-26.0-py3-none-any.whl (74 kB)
Installing collected packages: packaging, wheel, setuptools, pip
Attempting uninstall: setuptools
Found existing installation: setuptools 44.1.1
Uninstalling setuptools-44.1.1:
Successfully uninstalled setuptools-44.1.1
Attempting uninstall: pip
Found existing installation: pip 20.3.4
Uninstalling pip-20.3.4:
Successfully uninstalled pip-20.3.4
Successfully installed packaging-26.0 pip-26.0.1 setuptools-82.0.0 wheel-0.46.3
***** Installation icloudpy dans le venv **********
Collecting icloudpy
Using cached icloudpy-0.8.0-py3-none-any.whl.metadata (12 kB)
Collecting requests==2.32.4 (from icloudpy)
Using cached requests-2.32.4-py3-none-any.whl.metadata (4.9 kB)
Collecting keyring==25.6.0 (from icloudpy)
Using cached keyring-25.6.0-py3-none-any.whl.metadata (20 kB)
Collecting keyrings.alt==5.0.2 (from icloudpy)
Using cached keyrings.alt-5.0.2-py3-none-any.whl.metadata (3.6 kB)
Collecting click==8.1.8 (from icloudpy)
Using cached click-8.1.8-py3-none-any.whl.metadata (2.3 kB)
Collecting srp==1.0.22 (from icloudpy)
Using cached srp-1.0.22-py3-none-any.whl.metadata (1.9 kB)
Collecting tzlocal==5.2 (from icloudpy)
Using cached tzlocal-5.2-py3-none-any.whl.metadata (7.8 kB)
Collecting pytz==2024.2 (from icloudpy)
Using cached pytz-2024.2-py2.py3-none-any.whl.metadata (22 kB)
Collecting certifi==2024.12.14 (from icloudpy)
Using cached certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)
Collecting SecretStorage>=3.2 (from keyring==25.6.0->icloudpy)
Using cached SecretStorage-3.3.3-py3-none-any.whl.metadata (4.0 kB)
Collecting jeepney>=0.4.2 (from keyring==25.6.0->icloudpy)
Using cached jeepney-0.9.0-py3-none-any.whl.metadata (1.2 kB)
Collecting importlib_metadata>=4.11.4 (from keyring==25.6.0->icloudpy)
Using cached importlib_metadata-8.7.1-py3-none-any.whl.metadata (4.7 kB)
Collecting jaraco.classes (from keyring==25.6.0->icloudpy)
Using cached jaraco.classes-3.4.0-py3-none-any.whl.metadata (2.6 kB)
Collecting jaraco.functools (from keyring==25.6.0->icloudpy)
Using cached jaraco_functools-4.4.0-py3-none-any.whl.metadata (3.0 kB)
Collecting jaraco.context (from keyring==25.6.0->icloudpy)
Using cached jaraco_context-6.1.0-py3-none-any.whl.metadata (4.3 kB)
Collecting charset_normalizer<4,>=2 (from requests==2.32.4->icloudpy)
Using cached charset_normalizer-3.4.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (37 kB)
Collecting idna<4,>=2.5 (from requests==2.32.4->icloudpy)
Using cached idna-3.11-py3-none-any.whl.metadata (8.4 kB)
Collecting urllib3<3,>=1.21.1 (from requests==2.32.4->icloudpy)
Using cached urllib3-2.6.3-py3-none-any.whl.metadata (6.9 kB)
Collecting six (from srp==1.0.22->icloudpy)
Using cached six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting zipp>=3.20 (from importlib_metadata>=4.11.4->keyring==25.6.0->icloudpy)
Using cached zipp-3.23.0-py3-none-any.whl.metadata (3.6 kB)
Collecting cryptography>=2.0 (from SecretStorage>=3.2->keyring==25.6.0->icloudpy)
Using cached cryptography-46.0.5-cp38-abi3-manylinux_2_28_x86_64.whl.metadata (5.7 kB)
Collecting cffi>=2.0.0 (from cryptography>=2.0->SecretStorage>=3.2->keyring==25.6.0->icloudpy)
Using cached cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.6 kB)
Collecting typing-extensions>=4.13.2 (from cryptography>=2.0->SecretStorage>=3.2->keyring==25.6.0->icloudpy)
Using cached typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
Collecting pycparser (from cffi>=2.0.0->cryptography>=2.0->SecretStorage>=3.2->keyring==25.6.0->icloudpy)
Using cached pycparser-2.23-py3-none-any.whl.metadata (993 bytes)
Collecting more-itertools (from jaraco.classes->keyring==25.6.0->icloudpy)
Using cached more_itertools-10.8.0-py3-none-any.whl.metadata (39 kB)
Collecting backports.tarfile (from jaraco.context->keyring==25.6.0->icloudpy)
Using cached backports.tarfile-1.2.0-py3-none-any.whl.metadata (2.0 kB)
Using cached icloudpy-0.8.0-py3-none-any.whl (33 kB)
Using cached certifi-2024.12.14-py3-none-any.whl (164 kB)
Using cached click-8.1.8-py3-none-any.whl (98 kB)
Using cached keyring-25.6.0-py3-none-any.whl (39 kB)
Using cached keyrings.alt-5.0.2-py3-none-any.whl (17 kB)
Using cached pytz-2024.2-py2.py3-none-any.whl (508 kB)
Using cached requests-2.32.4-py3-none-any.whl (64 kB)
Using cached srp-1.0.22-py3-none-any.whl (25 kB)
Using cached tzlocal-5.2-py3-none-any.whl (17 kB)
Using cached charset_normalizer-3.4.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (153 kB)
Using cached idna-3.11-py3-none-any.whl (71 kB)
Using cached urllib3-2.6.3-py3-none-any.whl (131 kB)
Using cached importlib_metadata-8.7.1-py3-none-any.whl (27 kB)
Using cached jeepney-0.9.0-py3-none-any.whl (49 kB)
Using cached SecretStorage-3.3.3-py3-none-any.whl (15 kB)
Using cached cryptography-46.0.5-cp38-abi3-manylinux_2_28_x86_64.whl (4.5 MB)
Using cached cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (216 kB)
Using cached typing_extensions-4.15.0-py3-none-any.whl (44 kB)
Using cached zipp-3.23.0-py3-none-any.whl (10 kB)
Using cached jaraco.classes-3.4.0-py3-none-any.whl (6.8 kB)
Using cached jaraco_context-6.1.0-py3-none-any.whl (7.1 kB)
Using cached backports.tarfile-1.2.0-py3-none-any.whl (30 kB)
Using cached jaraco_functools-4.4.0-py3-none-any.whl (10 kB)
Using cached more_itertools-10.8.0-py3-none-any.whl (69 kB)
Using cached pycparser-2.23-py3-none-any.whl (118 kB)
Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
Installing collected packages: pytz, zipp, urllib3, tzlocal, typing-extensions, six, pycparser, more-itertools, jeepney, idna, click, charset_normalizer, certifi, backports.tarfile, srp, requests, jaraco.functools, jaraco.context, jaraco.classes, importlib_metadata, cffi, keyrings.alt, cryptography, SecretStorage, keyring, icloudpy
Successfully installed SecretStorage-3.3.3 backports.tarfile-1.2.0 certifi-2024.12.14 cffi-2.0.0 charset_normalizer-3.4.4 click-8.1.8 cryptography-46.0.5 icloudpy-0.8.0 idna-3.11 importlib_metadata-8.7.1 jaraco.classes-3.4.0 jaraco.context-6.1.0 jaraco.functools-4.4.0 jeepney-0.9.0 keyring-25.6.0 keyrings.alt-5.0.2 more-itertools-10.8.0 pycparser-2.23 pytz-2024.2 requests-2.32.4 six-1.17.0 srp-1.0.22 typing-extensions-4.15.0 tzlocal-5.2 urllib3-2.6.3 zipp-3.23.0
********************************************************
*             Installation terminée                    *
********************************************************


[2026-03-05 22:21:54] INFO  : Début d'activation du plugin
[2026-03-05 22:21:55] INFO  : Info sur le démon : {"launchable_message":"","launchable":"nok","state":"nok","log":"nok","auto":0}
[2026-03-05 22:21:55] DEBUG  : Lancement de : /var/www/html/core/class/../../core/php/jeePlugin.php  plugin_id=ioscloud function=install callInstallFunction=1
[2026-03-05 22:21:56] DEBUG  : icloudpy non installé ou import impossible : Erreur sur sudo '/usr/bin/python3' -c 'import icloudpy; print("OK")' 2>&1 valeur retournée : 1. Détails : Traceback (most recent call last):   File "<string>", line 1, in <module> ModuleNotFoundError: No module named 'icloudpy'
[2026-03-05 22:21:56] DEBUG  : icloudpy non installé ou import impossible : Erreur sur sudo '/usr/bin/python3' -c 'import icloudpy; print("OK")' 2>&1 valeur retournée : 1. Détails : Traceback (most recent call last):   File "<string>", line 1, in <module> ModuleNotFoundError: No module named 'icloudpy'
[2026-03-05 22:24:46] ERROR  : Missing apple_id field
[2026-03-05 22:24:46] ERROR  : iCloud login failed: ('Invalid authentication token.', ICloudPyAPIResponseException('Missing apple_id field'))
[2026-03-05 22:24:46] ERROR  : Calling jeedom failed (set_devices)
[2026-03-05 22:25:52] ERROR  : Missing apple_id field
[2026-03-05 22:25:52] ERROR  : iCloud login failed: ('Invalid authentication token.', ICloudPyAPIResponseException('Missing apple_id field'))
[2026-03-05 22:25:52] ERROR  : Calling jeedom failed (set_devices)
[2026-03-05 22:27:08] ERROR  : Missing apple_id field
[2026-03-05 22:27:08] ERROR  : iCloud login failed: ('Invalid authentication token.', ICloudPyAPIResponseException('Missing apple_id field'))
[2026-03-05 22:27:08] ERROR  : Calling jeedom failed (set_devices)
[2026-03-05 22:28:27] ERROR  : Missing apple_id field
[2026-03-05 22:28:27] ERROR  : iCloud login failed: ('Invalid authentication token.', ICloudPyAPIResponseException('Missing apple_id field'))
[2026-03-05 22:28:27] ERROR  : Calling jeedom failed (set_devices)


Démarrage authentification… Connexion iCloud lancée… Identification lancée Erreur : Aucun appareil reçu depuis le script python

Essaie avec la nouvelle beta , j’ai essayé de corriger et pour voir les logs en debug

hello,

[2026-03-06 10:20:53] DEBUG  : Create commande
[2026-03-06 10:20:53] DEBUG  : Session absente
[2026-03-06 10:20:53] DEBUG  : Python venv utilisé: /var/www/html/plugins/ioscloud/core/class/../../resources/.venv/bin/python
[2026-03-06 10:20:53] DEBUG  : Python sélectionné (createCommand): /var/www/html/plugins/ioscloud/core/class/../../resources/.venv/bin/python
[2026-03-06 10:20:53] DEBUG  : Using session file /var/www/html/plugins/ioscloud/data/icloudpy_session/2084/didier3Licloudcom.session
[2026-03-06 10:20:53] INFO  : Session file does not exist
[2026-03-06 10:20:53] DEBUG  : Authenticating as didier.3L@icloud.com
[2026-03-06 10:20:53] DEBUG  : POST https://idmsa.apple.com/appleauth/auth/signin/init {"a": "xxxxxxxxxx==", "accountName": "didier.3L@icloud.com", "protocols": ["s2k", "s2k_fo"]}
[2026-03-06 10:20:53] DEBUG  : Starting new HTTPS connection (1): idmsa.apple.com:443
[2026-03-06 10:20:54] DEBUG  : https://idmsa.apple.com:443 "POST /appleauth/auth/signin/init HTTP/1.1" 200 None
[2026-03-06 10:20:54] DEBUG  : Saved session data to file
[2026-03-06 10:20:54] DEBUG  : Cookies saved to /var/www/html/plugins/ioscloud/data/icloudpy_session/2084/didier3Licloudcom
[2026-03-06 10:20:54] DEBUG  : {'iteration': 1679, 'salt': 'xxxxxxxxx==', 'protocol': 's2k_fo', 'b': 'R/xxxxxxxxxxx==', 'c': 'xxxxxxxxxx:RNO'}
[2026-03-06 10:20:54] DEBUG  : POST https://idmsa.apple.com/appleauth/auth/signin/complete {"accountName": "didier.3L@icloud.com", "c": "xxxxxxxxxx:RNO", "m1": "xxxxxxxxxxx=", "m2": "xxxxxxxxxx=", "rememberMe": true, "trustTokens": []}
[2026-03-06 10:20:54] DEBUG  : https://idmsa.apple.com:443 "POST /appleauth/auth/signin/complete?isRememberMeEnabled=true HTTP/1.1" 401 None
[2026-03-06 10:20:54] DEBUG  : Saved session data to file
[2026-03-06 10:20:54] DEBUG  : Cookies saved to /var/www/html/plugins/ioscloud/data/icloudpy_session/2084/didier3Licloudcom
[2026-03-06 10:20:54] DEBUG  : {'serviceErrors': [{'code': '-20283', 'message': 'Check the account information you entered and try again.', 'suppressDismissal': False}]}
[2026-03-06 10:20:54] DEBUG  : POST https://setup.icloud.com/setup/ws/1/accountLogin {"accountCountryCode": null, "dsWebAuthToken": null, "extended_login": true, "trustToken": ""}
[2026-03-06 10:20:54] DEBUG  : Starting new HTTPS connection (1): setup.icloud.com:443
[2026-03-06 10:20:54] DEBUG  : https://setup.icloud.com:443 "POST /setup/ws/1/accountLogin HTTP/1.1" 400 50
[2026-03-06 10:20:54] DEBUG  : Saved session data to file
[2026-03-06 10:20:54] DEBUG  : Cookies saved to /var/www/html/plugins/ioscloud/data/icloudpy_session/2084/didier3Licloudcom
[2026-03-06 10:20:54] DEBUG  : {'success': False, 'error': 'Missing apple_id field'}
[2026-03-06 10:20:54] ERROR  : Missing apple_id field
[2026-03-06 10:20:54] ERROR  : iCloud login failed: ('Invalid authentication token.', ICloudPyAPIResponseException('Missing apple_id field'))
[2026-03-06 10:20:54] DEBUG  : Send devices to jeedom (set_devices)
[2026-03-06 10:20:54] DEBUG  : Send to jeedom : {'action': 'set_devices', 'devices': '[{"id_cloud": "2084"}]'}
[2026-03-06 10:20:54] DEBUG  : Starting new HTTP connection (1): 192.168.1.242:80
[2026-03-06 10:20:54] DEBUG  : http://192.168.1.242:80 "POST /plugins/ioscloud/core/php/ioscloud.php?apikey=xxxxxxxxx HTTP/1.1" 200 27
[2026-03-06 10:20:54] DEBUG  : Status Code : 200
[2026-03-06 10:20:54] DEBUG  : Jeedom reply : {'success': False, 'value': 0}
[2026-03-06 10:20:54] ERROR  : Calling jeedom failed (set_devices)

Kapture 2026-03-06 at 17.21.45

Si tu fais renouveler la session?

Même problème

Tu peux essayer de t’identifier sur le site icloud déjà avec ton navigateur avec la double authentification . S’il te propose une maj et des nouvelles conditions d’utilisation valide

Hello,
Je me suis connecté à iCloud avec mail et mdp.
J’ai bien reçu une double authentification

Par contre pour le plugin, même problème

Pas essayé car ca a fonctionné sans chez moi. A tester