NEWS
Betatest ioBroker.icloud 0.2.x
-
@Krys
v2.0.6
versuche es mal - ich kann es halt nicht testen, weil ich fifo2 eingestellt habe. -
v2.1.0
sollte das gewünschte feature enthalten - ist nur kurz angetestet -
v2.1.0
sollte das gewünschte feature enthalten - ist nur kurz angetestet@ticaki Ich hab mir das am WE auch angeschaut - sieht gut aus.
Leider habe ich auch eine Bug gefunden, sowie eine Frage:
- warum sind im
nativedes Kanalsremindersämtliche Reminder vorhanden - auch die die dann nicht in Objekte verwandelt werden - insbesondere auch die als 'erledigt' markierten ? Das sind bei mir mal eben 500 kb Daten, aus denen ca. 8 Objekte werden (nicht erledigte Reminder)
Der Bug bezieht sich auch genau auf diese Daten - das JSON wird leider nicht sauber
sanatized- ich hab da einen ungültigen String drin bekommen, der dazu geführt hat das das Backup mit kryptischer Meldung nicht funktioniert hat.Als Text kann ich das was da war nicht posten, deswegen leider als screenshot:

VSCode sagt zu dem Charakter:
The character U+2028 " " could be confused with the ASClI character U+0020 " ", which is more common in source code., Im Objekt-Editor des Admin wird daraus ein.- der rot hinterlegt wird.A.
- warum sind im
-
Ich splite deine Frage mal:
Wieso sind die daten im native gespeichert - damit man über sendTo befehle darauf zugreifen kann.
Wieso nicht als Objekte - ich habe ca. 5000 Kontakte, wenn die alle anlegt werden, wird der Ordner beim Aufklappen unbenutzbar und ich will auch keine geschätzt 50000 Datenpunkte für die Kontakte verschwenden.Wieso ist das auch bei Erinnerungen so - weil ich das verhalten a) kopiert habe und b) man ja auch vielleicht einen erledigte Aufgabe wieder anschalten will - das Apple die jedoch für immer behält war mir nicht so wirklich klar.
Mal abgesehen von dem Bug, willst du das anders haben?
EDIT:
Ist schon etwas her, daher weiß ich den grund nicht mehr 100% aber ich glaube mich zu erinnern das ich damit auch meine alten Aufgaben aufräumen wollte per skript oder per Adapter wenn ich das mehr getestet habe. Ich fange aber erst jetzt an den adapter wirklich für mehr zu nutzen als Standortdaten -
Ich splite deine Frage mal:
Wieso sind die daten im native gespeichert - damit man über sendTo befehle darauf zugreifen kann.
Wieso nicht als Objekte - ich habe ca. 5000 Kontakte, wenn die alle anlegt werden, wird der Ordner beim Aufklappen unbenutzbar und ich will auch keine geschätzt 50000 Datenpunkte für die Kontakte verschwenden.Wieso ist das auch bei Erinnerungen so - weil ich das verhalten a) kopiert habe und b) man ja auch vielleicht einen erledigte Aufgabe wieder anschalten will - das Apple die jedoch für immer behält war mir nicht so wirklich klar.
Mal abgesehen von dem Bug, willst du das anders haben?
EDIT:
Ist schon etwas her, daher weiß ich den grund nicht mehr 100% aber ich glaube mich zu erinnern das ich damit auch meine alten Aufgaben aufräumen wollte per skript oder per Adapter wenn ich das mehr getestet habe. Ich fange aber erst jetzt an den adapter wirklich für mehr zu nutzen als StandortdatenIch splite deine Frage mal:
Wieso sind die daten im native gespeichert - damit man über sendTo befehle darauf zugreifen kann.
Wieso nicht als Objekte - ich habe ca. 5000 Kontakte, wenn die alle anlegt werden, wird der Ordner beim Aufklappen unbenutzbar und ich will auch keine geschätzt 50000 Datenpunkte für die Kontakte verschwenden.Wieso ist das auch bei Erinnerungen so - weil ich das verhalten a) kopiert habe und b) man ja auch vielleicht einen erledigte Aufgabe wieder anschalten will - das Apple die jedoch für immer behält war mir nicht so wirklich klar.
Mal abgesehen von dem Bug, willst du das anders haben?
Danke für die Rückmeldung.
Ich wollte es erst einmal verstehen. Dabei hast du bereits deutlich geholfen. Generell anders haben will ich es nicht unbedingt, wobei ich es trotzdem für unglücklich halte so grosse Datenmengen unter
nativezu halten - da sind sie für die meiste Nutzer erst einmal unsichtbar.Der Zugriff darauf via
sendTowar mir unbekannt - kannst du mich auf eine Doku verweisen wo das beschrieben ist (oder kurz beschreiben wie man drauf zugreift) ?Ansonsten wäre es ggf. interessant das nachhalten aller Informationen zum Durchsuchen durch einen Schalter deaktivierbar zu machen. Auch könnte darüber nachgedacht werden das ganze JSON nicht im
nativedesFolders(z.Bsp. Reminder, Contacts), sondern als eigenen State in diesem Folder zu hinterlegen. Dann ist es zumindest Sichtbar.Gibt es dazu weitere Meinungen ? (Nur weil ich das so besser fände muss das nicht geändert werden :) )
A.
Edit - immer diese Schreibfehler. -
ein riesiges Json in einem Datenpunkt hat bei mir schon zu einer diashow geführt - daher mache ich das auch nicht gerrne.
Die SendTo sachen hatte ich doch mal verlinkt - die deutsche doku ist sehr umfangreich.
https://github.com/ticaki/ioBroker.icloud/blob/main/README_GERMAN.md#schritt-1--erinnerungslisten-abrufensendTo('icloud.0', 'getReminderLists', {}, (result) => { if (result.success) { // result.lists = [ // { listId: "List/A1B2-...", title: "Einkaufen", color: "#FF0000", count: 3 }, // { listId: "List/C3D4-...", title: "Arbeit", color: "#0000FF", count: 1 }, // ] result.lists.forEach(list => { console.log(list.title + ' -> listId: ' + list.listId); }); } else { console.error(result.error); } }); -
2.1.2 (2026-09-15)
- (ticaki) fixed: when Apple requires the account holder to accept updated iCloud terms and conditions (
termsUpdateNeeded; Find My answersHTTP 450although the session is valid), the adapter stops with a clear error message — accept the terms at icloud.com or on an Apple device and start the instance again — instead of re-authenticating in an endless loop - (ticaki) fixed: a session recovery now performs a real re-login — session token and cookies are dropped, the trust token is kept so no new MFA is required — and backs off (10 s, 1 min, 5 min, 15 min, 30 min) when it keeps failing, instead of re-validating the same session token every 10 s
- (ticaki) new: option "Accept updated iCloud terms automatically" (off by default) — when Apple flags the account with
termsUpdateNeeded, the adapter fetches the current terms version via/getTerms, confirms it via/repairDoneand re-runsaccountLogin, the way pyicloud'saccept_termsdoes; enabling it means agreeing to Apple's terms without reading them - (ticaki) fixed: a failed refresh during startup no longer reports "iCloud connection established"
2.1.1 (2026-09-15)
- (ticaki) fixed: the adapter crashed with
UNCAUGHT_EXCEPTION(unhandled promise rejectionHTTP 450) when Find My rejected the session — the Find My service started a second, unmonitoredrefresh()in its constructor in parallel to the adapter's own call; the adapter's error handling and session recovery now apply - (ticaki) fixed: reminders text containing U+2028/U+2029 line separators or control characters is normalised before being stored
- (ticaki) fixed: when Apple requires the account holder to accept updated iCloud terms and conditions (
-
@ticaki danke für den Adapter.
Ich würde ihn gern verwenden, aber ich bekomme den 2FA Login nicht hin. Der ButtonSMS Code anfordernergibt zwar die MeldungSMS-Code angefordert — prüfen Sie Ihr Gerätaber es kommt dort nichts an.
ein normaler Login per Browser funktioniert und gibt mir diesen Code, allerdings nicht als SMS sondern als push-Nachricht.
Ich finde in meinem Apple-Account auch keine Möglichkeit, eine andere Authenticator-App einzurichten....
Wie könnte ich das Problem angehen?
Viele Grüße
Christoph
PS: wäre der Adapter mit einem App-spezifischen Passwort denkbar, siehe https://support.apple.com/en-us/102654 ?PPS: im Log sehe ich nur:
icloud.0 2026-09-21 13:03:08.929 debug authenticate() returned — status: MfaRequested icloud.0 2026-09-21 13:03:08.929 debug iCloud status is now: MfaRequested icloud.0 2026-09-21 13:03:08.929 warn MFA required — enter the 6-digit Apple code into state mfa.code icloud.0 2026-09-21 13:03:08.929 debug [icloud.js] State changed to: MfaRequested icloud.0 2026-09-21 13:03:08.929 debug [icloud.js] [auth] PUT verify/trusteddevice → 405: icloud.0 2026-09-21 13:03:08.750 debug [icloud.js] [auth] PUT /appleauth/auth/verify/trusteddevice — requesting device push icloud.0 2026-09-21 13:03:08.750 debug [icloud.js] [auth] Trusted phone: id=2, nonFTEU=true, pushMode=sms icloud.0 2026-09-21 13:03:08.749 debug [icloud.js] [auth] GET /appleauth/auth → 200: { "phoneNumberVerification" : { "success" : 0, "trustedPhoneNumbers" : [ { "nonFTEU" : true, "numberWithDialCode" : "+49 •••• •••••31", "obfuscatedNumber" : "•••• •••••31", "lastTwoDigits" : "31", "pushMode" : "sms", "id" : 2 }, { "nonFTEU" : false, "numberWithDialCode" : "+49 •••• •••••65", "obfuscatedNumber" : "•••• •••••65", "lastTwoDigits" : "65", "pushMode" : "sms", "id" : 1 } ], "securityCode" : { "length" : 6, "tooManyCodesSent" : false, "tooManyCodesValidated" : false, "securityCodeLocked" : false, "securityCodeCooldown" : false }, "authenticationType" : "hsa2", "recoveryUrl" : "https://iforgot.apple.com/phone/add?prs_account_nm=cwinkler%40vme.de&autoSubmitAccount=true&appId=142", "cantUsePhoneNumberUrl" : "https://iforgot.apple.com/iforgot/phone/add?context=cantuse&prs_account_nm=cwinkler%40vme.de&autoSubmitAccount=true&appId=142", "recoveryWebUrl" : "https://iforgot.apple.com/password/verify/appleid?prs_account_nm=cwinkler%40vme.de&autoSubmitAccount=true&appId=142", "repairPhoneNumberUrl" : "https://gsa.apple.com/appleid/account/manage/repair/verify/phone", "repairPhoneNumberWebUrl" : "https://appleid.apple.com/widget/account/repair?#!repair", "noTrustedDevices" : false, "aboutTwoFactorAuthenticationUrl" : "https://support.apple.com/kb/HT204921", "twoFactorVerificationSupportUrl" : "https://support.apple.com/HT208072", "hasRecoveryKey" : true, "supportsRecoveryKey" : false, "autoVerified" : false, "showAutoVerificationUI" : false, "supportsCustodianRecovery" : false, "hideSendSMSCodeOption" : false, "smsSpeedbumpEnabled" : false, "supervisedChangePasswordFlow" : false, "enableNonFTEU" : true, "content" : { "enterCodeDescription" : "Enter the verification code sent to your Apple devices.", "sendCodeDescription" : "Apple can send another verification code to your other Apple devices.", "resendCodeLink" : "Resend code to devices", "canNotGetCodeLink" : "Can’t get to your devices?", "canNotGetCodeTitle" : "Can’t get to your devices?" }, "managedAccount" : false, "restrictedAccount" : false, "supportsRecovery" : true, "trustedPhoneNumber" : { "nonFTEU" : true, "numberWithDialCode" : "+49 •••• •••••31", "obfuscatedNumber" : "•••• •••••31", "lastTwoDigits" : "31", "pushMode" : "sms", "id" : 2 }, "hsa2Account" : true, "successful" : false, "clientActionCancel" : false, "actionValidationSuccessful" : false }, "apnsTopic" : "com.apple.idmsauthwidget", "apnsEnvironment" : "prod", "webSocketUrl" : "websocket.push.apple.com" } icloud.0 2026-09-21 13:03:08.486 debug [icloud.js] [auth] GET /appleauth/auth — fetching auth options icloud.0 2026-09-21 13:03:08.485 debug [icloud.js] [auth] accountLogin 200 — hsaTrustedBrowser=false, hsaChallengeRequired=true, requiresMfa=true icloud.0 2026-09-21 13:03:08.481 debug [icloud.js] [auth] accountLogin (post-409) status: 200 icloud.0 2026-09-21 13:03:08.481 debug [icloud.js] [authStore] Session saved to disk icloud.0 2026-09-21 13:03:08.480 debug [icloud.js] [authStore] Cookie jar saved to disk icloud.0 2026-09-21 13:03:07.707 debug [icloud.js] [auth] POST https://setup.icloud.com/setup/ws/1/accountLogin (accountLogin) icloud.0 2026-09-21 13:03:07.707 debug [icloud.js] [auth] accountLogin body: {"accountCountryCode":"DEU","dsWebAuthToken":"(set)","extended_login":true,"trustToken":"(empty)"} icloud.0 2026-09-21 13:03:07.706 debug [icloud.js] [auth] 409 body: { "authType" : "hsa2" } icloud.0 2026-09-21 13:03:07.703 debug [icloud.js] [authStore] Session saved to disk icloud.0 2026-09-21 13:03:07.702 debug [icloud.js] [auth] signin response headers: {"cache-control":"no-store","connection":"keep-alive","content-encoding":"gzip","content-language":"en-US-x-lvariant-USA","content-security-policy":"default-src 'self' ; child-src blob: ; connect-src 'self' https://www.apple.com https://appleid.cdn-apple.com https://webcourier.sandbox.push.apple.com https://xp-qa.apple.com wss://websocket.push.apple.com ; font-src 'self' https://www.apple.com https://appleid.cdn-apple.com https://idmsa.apple.com https://gsa.apple.com https://idmsa.apple.com.cn https://signin.apple.com ; frame-src 'self' https://appleid.apple.com https://gsa.apple.com https://account.apple.com ; img-src 'self' https://www.apple.com https://appleid.cdn-apple.com https://*.mzstatic.com data: https://*.apple.com https://*.icloud.com https://*.icloud-content.com https://*.icloud.com.cn https://*.icloud-content.com.cn ; media-src data: ; object-src 'none' ; script-src 'self' https://www.apple.com https://appleid.cdn-apple.com https://idmsa.apple.com https://gsa.apple.com https://idmsa.apple.com.cn https://signin.apple.com ; style-src 'unsafe-inline' 'self' https://www.apple.com https://appleid.cdn-apple.com https://idmsa.apple.com https://gsa.apple.com https://idmsa.apple.com.cn https://signin.apple.com ;","content-type":"application/json;charset=UTF-8","date":"Mon, 21 Sep 2026 11:03:07 GMT","location":"/auth","referrer-policy":"origin","scnt":"AAAA-jc3NTE5NUU0RTM0NzJGNUQ1Q0M2OUUxNjEyNjkyQTA1QzAwQTkyNDE3ODdCRDAzRTAzNjU2Nzg3M0VGMURGOTk5NzlGQjg1M0U0QjAxNDdFOTBEMEI4NzMyQUI5QUI4MDAxQTMxODU0NzBDNTM1MjczMTY2MzE1RjJEQkJGRjUzN0MyMUZGM0I1NEU3N0VCRjZEMkE4QUM4RkQ0OTU4QzcyREMxODcxRjcyN0I2MDUzMDFGMTE5RjUxODJFMTE3RDdDNTg4RjEwRTk4RDY5OUYwMUMwRjg1MkIzMjAyMTk4MDQ0OEYzQTBBQTIzREFFNXw5AAABoMOwAowcsAch6_-zbteT2Eu9ox52lsgotL5hTOxvQDn0obP1zx9Huc4JVGw3ABRyoVLF1PXw4dge9CmklXtxCiJ33jMj1GGDSAjLE2Gb0sBakLGXUA","server":"Apple","set-cookie":"acn01=lQ1I4DYprzIafrs9tUfgg7eHxE5BPBEAFHKhaIg6Vg==; Max-Age=31536000; Expires=Tue, 21 Sep 2027 11:03:07 GMT; Domain=apple.com; Path=/; Secure; HttpOnly","strict-transport-security":"max-age=31536000; includeSubDomains; preload","transfer-encoding":"chunked","vary":"accept-encoding","x-apple-auth-attributes":"m7qOXXSvC13WfEqGROEnU6Y53Bx+PohFLv55PZ4gtJWwbWU1xJF+U1VyEiUuLjzVvVLOVFVj366D4oHfsEmYwE13kNmcwSGRZ5kkyYUtlxbZL6Fp7vLgawp7IvSZRVBQAt5IIrkhHj5eoXnmRhoTFa21Co+F3v27pXcZ7ZzsDTi/3IxFIL9n49XnXE3x2me2O5YfZVw0o9omyS27CXR0i26I+u7EjCCAyZiUGR2OkeyTQIxn9NpC5zGSfOkSmhYuYzJul2AqASXKsRlCUpeiYdVq6U0AFHKhaJCGaw==","x-apple-i-request-id":"06726aa6-b5ac-11f1-ac06-cd6251c8a800","x-apple-id-account-country":"DEU","x-apple-id-session-id":"775195E4E3472F5D5CC69E1612692A05C00A9241787BD03E036567873EF1DF99979FB853E4B0147E90D0B8732AB9AB8001A3185470C535273166315F2DBBFF537C21FF3B54E77EBF6D2A8AC8FD4958C72DC1871F727B605301F119F5182E117D7C588F10E98D699F01C0F852B32021980448F3A0AA23DAE5","x-apple-session-token":"fomQJQIzcaarIqMoAMyLvdPOnUV80YRUI77I7dl9m3Sxn8iB/4xV4d7MSvrpnZbd8Ezny83eoI0Nt/AvRZlLtSyWGcwTxsCxZWhL8mgJPVZLAcPF13X6bKSYI5yIaWcltlWhwbgpnaivRxTeHgf+8wf0zgISGh2PbvSIk4yKrWsFwOZGvTC8ffoxSBIy/r149JcPTxcBn2CAvxaBk1TikxZMygzPYArjCI/wYRVUBtGuepv875/8mUWoIutWbEqy78+ZoDq1+YyNxfmeF3xvpin+oAFrQVe2PRvKkCCw6Qaluy/84tExYuXfXQUBsYF6hRhf5NzVR08yQQrsk1TDO9map4eDLDMni42BFYiDR7gHhjMp/1g3ZYXLgBibUh/enDxKEV56lwjxaddohiHkyWv/3DbRr7TSA0vs/SO1tjT2PPjL3LjG1aGIvF1GnRVtS7yFBqjHLgierIZO5fmuSjJfEYOj2rlyHCbaBdcBtTH7HdjE06jxiUz8Ozn29r+xhQYhQ+S5WsOKFmCNtjQ1+wNkHPLCbYWTjrd8ZBzHzVpD7COCkTf8G8utDrn9ZlRAa+iP5jGQPQ3wfEHUkSSEq98yM5FXh72ZdkEdUy3mFjupMPrEEbHF+EtbweMwDWbJKAlDquPOzxUUlE+hgdooHue8eOoCUz0awKATgdZBVbYmbRz2h2uWxTfTorAUHII+sGWydhHYN7fs2/ebVE2qH1lT+n888ddFfiEhEQinTorNfd0P3RrAVupAKWEnFNY/5qhOOSm3FzClzyNix829RvyNVv/s1iY1R5C42efCymDKBwZuylB/7Vh7Cqu5vB07WkAu7HiGUuF8eDByhAxsg8AuQbMeXjgRE44msoODwEVVdufmnQNFwTubxKD8oxZr0rvdZ83I3YPi4es4TVpk7bdm206nojUNOvdoHTY9GUZfknTiF5qYoTJ3ej2HK/yGENarN5AmEc2HOkL4HJrsHaeYHxzqBUmt1JuWxvaXJZu7DM0yP9zCJH9z6KPLM/tPnDDuCdiJ8TCysdSCUe/T5TPXABRyoWiRpfg=","x-apple-twosv-trust-eligible":"true","x-buildversion":"R16","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"} icloud.0 2026-09-21 13:03:07.699 debug [icloud.js] [auth] signin response status: 409 icloud.0 2026-09-21 13:03:07.155 debug [icloud.js] [auth] signin → POST https://idmsa.apple.com/appleauth/auth/signin/complete?isRememberMeEnabled=true icloud.0 2026-09-21 13:03:07.111 debug [icloud.js] [auth] SRP init response status: 200 icloud.0 2026-09-21 13:03:06.468 debug [icloud.js] [auth] SRP init → POST https://idmsa.apple.com/appleauth/auth/signin/init icloud.0 2026-09-21 13:03:06.424 debug [icloud.js] [auth] Session token invalid (HTTP 421) — doing full signin icloud.0 2026-09-21 13:03:05.677 debug [icloud.js] [auth] Validating existing session token... icloud.0 2026-09-21 13:03:05.677 debug iCloud auth started — credentials submitted, waiting for response icloud.0 2026-09-21 13:03:05.677 debug [icloud.js] State changed to: Started icloud.0 2026-09-21 13:03:05.677 debug [icloud.js] [authStore] No legacy trust-token file found icloud.0 2026-09-21 13:03:05.677 debug [icloud.js] [authStore] Cookie jar loaded from disk icloud.0 2026-09-21 13:03:05.665 debug [icloud.js] [authStore] Session loaded from disk icloud.0 2026-09-21 13:03:05.664 debug Calling icloud.authenticate() icloud.0 2026-09-21 13:03:05.664 debug Using data directory: /opt/iobroker/iobroker-data/icloud.0 icloud.0 2026-09-21 13:03:05.663 debug Subscribed to mfa.code icloud.0 2026-09-21 13:03:05.662 debug State cache pre-populated with 12 entries icloud.0 2026-09-21 13:03:05.602 debug Objects created/verified icloud.0 2026-09-21 13:03:05.600 debug Extending object account.storage.family with {"type":"channel","common":{"name":"Family Storage"},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.598 debug Extending object account.storage.byMedia with {"type":"channel","common":{"name":"Storage by Media Type"},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.595 debug Extending object account.storage.paidQuota with {"type":"state","common":{"name":"Paid Quota","type":"boolean","role":"indicator","read":true,"write":false},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.593 debug Extending object account.storage.almostFull with {"type":"state","common":{"name":"Almost Full","type":"boolean","role":"indicator.alarm","read":true,"write":false},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.591 debug Extending object account.storage.overQuota with {"type":"state","common":{"name":"Over Quota","type":"boolean","role":"indicator.alarm","read":true,"write":false},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.588 debug Extending object account.storage.usedPercent with {"type":"state","common":{"name":"Used Percent","type":"number","role":"value","read":true,"write":false,"unit":"%"},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.586 debug Extending object account.storage.availableMB with {"type":"state","common":{"name":"Available Storage","type":"number","role":"value","read":true,"write":false,"unit":"MB"},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.583 debug Extending object account.storage.totalMB with {"type":"state","common":{"name":"Total Storage","type":"number","role":"value","read":true,"write":false,"unit":"MB"},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.581 debug Extending object account.storage.usedMB with {"type":"state","common":{"name":"Used Storage","type":"number","role":"value","read":true,"write":false,"unit":"MB"},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.579 debug Extending object account.storage with {"type":"channel","common":{"name":"Storage"},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.576 debug Extending object mfa.securityKeyStatus with {"type":"state","common":{"name":"Security-key login status","type":"string","role":"text","read":true,"write":false,"def":""},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.572 debug Extending object mfa.securityKeySupported with {"type":"state","common":{"name":"Security-key login supported on this host","type":"boolean","role":"indicator","read":true,"write":false,"def":false},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.570 debug Extending object mfa.useSecurityKey with {"type":"state","common":{"name":"Authenticate with security key (set to true)","type":"boolean","role":"button","read":true,"write":true,"def":false},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.567 debug Extending object mfa.requestSmsCode with {"type":"state","common":{"name":"Request MFA code via SMS (set to true)","type":"boolean","role":"button","read":true,"write":true,"def":false},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.561 debug Extending object mfa.required with {"type":"state","common":{"name":"MFA Required","type":"boolean","role":"indicator","read":true,"write":false,"def":false},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.558 debug Extending object mfa.code with {"type":"state","common":{"name":"MFA Code (enter 6-digit code here)","type":"string","role":"text","read":true,"write":true,"def":""},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.554 debug Extending object mfa with {"type":"channel","common":{"name":"Multi-Factor Authentication"},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.550 debug Extending object account.countryCode with {"type":"state","common":{"name":"Country Code","type":"string","role":"text","read":true,"write":false,"def":""},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.545 debug Extending object account.appleId with {"type":"state","common":{"name":"Apple ID","type":"string","role":"text","read":true,"write":false,"def":""},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.522 debug Extending object account.lastName with {"type":"state","common":{"name":"Last Name","type":"string","role":"text","read":true,"write":false,"def":""},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.506 debug Extending object account.firstName with {"type":"state","common":{"name":"First Name","type":"string","role":"text","read":true,"write":false,"def":""},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.462 debug Extending object account.fullName with {"type":"state","common":{"name":"Full Name","type":"string","role":"text","read":true,"write":false,"def":""},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.459 debug Extending object account with {"type":"channel","common":{"name":"Account Information"},"native":{}} (previous: none) icloud.0 2026-09-21 13:03:05.458 debug Config OK — username: cwinkler@vme.de, password: ********** icloud.0 2026-09-21 13:03:05.404 debug onReady called icloud.0 2026-09-21 13:03:05.396 info starting. Version 2.1.2 in /opt/iobroker/node_modules/iobroker.icloud, node: v22.23.2, js-controller: 7.2.3 -
die KI Meckert das da zeilen fehlen
PUT /appleauth/auth/verify/phone — payload … und SMS request → <status>oder kann es sein dass du auf dem falschen gerät geguckt hast?
Zwei Nummern, Adapter nimmt blind trustedPhoneNumber → id=2 (•••31). Die zweite (id=1, •••65) wird von _parseAuthOptions (index.ts:707-717) verworfen.Heißt die sms wird an die nummer die auf 31 endet gesendet.
-
die KI Meckert das da zeilen fehlen
PUT /appleauth/auth/verify/phone — payload … und SMS request → <status>oder kann es sein dass du auf dem falschen gerät geguckt hast?
Zwei Nummern, Adapter nimmt blind trustedPhoneNumber → id=2 (•••31). Die zweite (id=1, •••65) wird von _parseAuthOptions (index.ts:707-717) verworfen.Heißt die sms wird an die nummer die auf 31 endet gesendet.
PUT /appleauth/auth/verify/phone — payload … und SMS request → <status>
oder kann es sein dass du auf dem falschen gerät geguckt hast?
Zwei Nummern, Adapter nimmt blind trustedPhoneNumber → id=2 (•••31). Die zweite (id=1, •••65) wird von _parseAuthOptions (index.ts:707-717) verworfen.
Heißt die sms wird an die nummer die auf 31 endet gesendet.
Hmm, meine Nummer mit der ID 1 wäre richtig. Die andere Nummer ist nur ein Fallback, die ich nicht aktiv habe. prüfe ich aber mal.
Warum nimmt es denn die mit ID 2?die Zeile mit put->405 (also "Method Not Allowed")sieht auch irgendwie ungesund aus.
PS: ein zweiter SMS request, ohne Adapter-Neustart bringt mir immer "SMS request failed (HTTP 401)"
[edit]
Nachtrag: mit der anderen Nummer klappt es dann, aber die Frage bleibt, warum ID 2...
icloud.0 2026-09-21 20:31:10.337 info iCloud connection established successfully icloud.0 2026-09-21 20:31:10.336 info FindMy ready — 9 device(s): 9 own, 0 family, 0 accessories; 4/9 with location icloud.0 2026-09-21 20:31:07.072 info Geocoder (nominatim): first successful reverse geocode — "Ziegelhüttenweg 20, Frankfurt am Main" (cache: 1 entries) icloud.0 2026-09-21 20:31:05.324 info Geocoder: system country code resolved to 'de' — country will be omitted from location names for devices in this country. icloud.0 2026-09-21 20:31:04.911 info Geocoder: using system language 'de' for localized address names. icloud.0 2026-09-21 20:31:04.908 info Geocoder (nominatim): configuration valid, server URL: https://nominatim.openstreetmap.org icloud.0 2026-09-21 20:31:04.908 info Available iCloud services (31): account, archivews, calendar, ckdatabasews, cksharews, contacts, contactsweb, developerapi, docws, drivews, findme, geows, iwmb, iworkexportws, iworkthumbnailws, keyvalue, mail, mcc, mccgateway, mpp, notes, photos, photosupload, premiummailsettings, push, reminders, settings, sharedlibrary, sharedstreams, ubiquity, uploadimagews icloud.0 2026-09-21 20:31:04.907 info Country: DEU, Locale: de-de_DE icloud.0 2026-09-21 20:31:04.906 info Logged in as: Christoph W***(****) icloud.0 2026-09-21 20:31:02.131 warn [icloud.js] Trusting device -
Gute Frage - wie schon geschrieben, der adapter ist komplett von der AI geschrieben - ich hab da genau 1 Zeile code drin selbst geschrieben - und die Details sind dann so gelöst wie die AI das geraten hat. Obwohl sie einen anderen "Adapter" als Vorlage hatte.
Als ich das auth am gehen hatte, hab ich da nicht weiter gemacht. Bei mir gehts halt. Aber jetzt weiß ich das es dort ein Problem gibt und beauftrage eine lösung.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden