Questa guida spiega come migrare e ripristinare i seguenti dati dal legacy LinknLink App:
- Scene
- Collegamenti o automazioni
I dati verranno migrati alle seguenti funzionalità della nuova app:
- Scene di nuvole
- Automazioni cloud
Durante la migrazione, Codex si connette al servizio MCP fornito da LinknLink App, legge i dati legacy e li ricostruisce utilizzando i dispositivi e le entità disponibili nella famiglia attuale.
I dati legacy non vengono eliminati per impostazione predefinita, quindi puoi eseguire il rollback se necessario.
1. Cosa ti serve prima della migrazione
Preparare i seguenti tre parametri di connessione:
| Parametro | Esempio | Dove trovarlo |
|---|---|---|
| Indirizzo IP | 192.168.58.121 |
Controlla la pagina delle impostazioni del telefono per l'IP della rete locale del servizio MCP |
| Porto | 39282 |
La porta del servizio MCP; l'impostazione predefinita corrente è 39282
|
| Gettone | Una stringa UUID | LinknLink App → Impostazioni AI Agent → copia l'ultimo Token mostrato in fondo alla pagina |
Un token di solito si presenta così:
xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Non utilizzare il token di esempio in questa guida. Devi copiare il Token visualizzato nella tua App.
2. Assicurati che Codex e il tuo telefono possano comunicare
Il computer che esegue Codex deve essere in grado di raggiungere il dispositivo che esegue LinknLink App.
La configurazione più semplice è:
- Il telefono e il computer sono connessi alla stessa rete Wi-Fi.
- Il tuo telefono non è passato ai dati mobili.
- Il tuo computer non è connesso a una VPN che isola la rete locale.
- Sul router non è abilitato l'isolamento della rete ospite o l'isolamento client.
Ad esempio:
IP del computer: 192.168.58.20
IP MCP dell'app: 192.168.58.121
Entrambi gli indirizzi sono sul 192.168.58.x sottorete, quindi di solito dovrebbero essere in grado di comunicare direttamente.
Se l'app visualizza:
10.0.0.232
ma il computer sta utilizzando:
192.168.58.x
i due dispositivi potrebbero trovarsi su sottoreti diverse. Codex potrebbe non essere in grado di connettersi a meno che il router non sia stato configurato per instradare il traffico tra tali sottoreti.
Non inserire l'IP del router, l'IP del gateway o un indirizzo IP pubblico. È necessario utilizzare l'IP del servizio MCP mostrato nella pagina delle impostazioni dell'agente AI.
3. Completa la richiesta di migrazione per il Codex
Copia il seguente prompt nel Codex e sostituisci l'indirizzo IP, la porta e il token con i tuoi valori.
Utilizzare il servizio MCP fornito da LinknLink App per
migrare le scene e i collegamenti dell'app legacy nella famiglia attuale
alle scene cloud e alle automazioni cloud nella nuova app.
Dettagli connessione MCP:
- IP: sostituiscilo con l'IP mostrato nella pagina delle impostazioni
- Porto: 39282
- Gettone: sostituiscilo con l'ultimo gettone mostrato in fondo
la pagina delle impostazioni dell'agente AI
Segui esattamente questo procedimento:
1. Configurare LinknLink come server MCP HTTP streaming remoto.
2. Utilizzare il seguente endpoint MCP:
http://IP:PORT/mcp
3. Utilizzare il token fornito per l'autenticazione del token al portatore.
4. Eseguire l'MCP inizializza l'handshake e leggere gli strumenti/l'elenco per confermare
che la connessione funzioni.
5. Leggi le informazioni attuali sulla famiglia.
6. Leggi gli elenchi completi di dispositivi ed entità per la famiglia corrente.
7. Leggere le capacità e lo stato attuale di ogni Entità richiesta
per la migrazione.
8. Leggi i dati della scena legacy.
9. Leggere il collegamento legacy o i dati di automazione.
10. Leggi le scene cloud e le automazioni cloud esistenti per prevenire
duplicati.
11. Crea mappature da DID di dispositivi legacy, endpointId e legacy
dagli ID di scena agli ID di entità correnti e ai nuovi ID di scena Cloud.
12. Non copiare direttamente gli ID dispositivo legacy. Ricostruisci azioni e
si attiva utilizzando gli ID entità che effettivamente esistono nella famiglia corrente.
13. Migrare prima le scene cloud e registrare i nuovi ID scena cloud.
14. Quindi migrare le automazioni cloud che fanno riferimento alle scene, utilizzando il file
nuovi ID scena cloud. Se il server espande una scena in Entity
azioni, è possibile utilizzare anche le azioni estese basate sulle Entità attuali.
15. Chiama validate_scene per ogni nuova scena.
16. Chiama validate_automation per ogni nuova automazione.
17. Crea un elemento solo dopo aver superato la convalida.
18. Conservare il nome originale, l'ora, i giorni feriali, le condizioni di attivazione,
azioni del dispositivo, testo di notifica, temperatura, modalità, velocità della ventola,
e ritardi.
19. Se un dispositivo legacy non esiste più, non indovinare la mappatura.
Elenca le informazioni sul dispositivo legacy e i possibili candidati dell'entità,
e spiegare perché non è possibile eseguire la migrazione dell'elemento in modo sicuro.
20. Non eliminare scene o collegamenti legacy.
21. Non eseguire nuove scene o automazioni, perché così facendo
potrebbe controllare dispositivi reali.
22. Dopo la creazione, leggi le scene cloud e le automazioni cloud
di nuovo e verificarne i conteggi, i nomi, gli stati abilitati, i trigger,
e azioni.
23. Nella relazione finale, includere:
- Il numero di scene legacy trovate
- Il numero di collegamenti legacy trovati
- Il numero di scene cloud create
- Il numero di automazioni cloud create
- Gli ID entità correnti utilizzati da ciascun elemento migrato
- Eventuali elementi di cui non è stato possibile eseguire la migrazione e i motivi specifici
- Se i dati legacy sono stati conservati
Esegui direttamente la migrazione. Non fornire solo istruzioni.
Non ripetere il token completo nella risposta finale.
Dopo aver inserito i dettagli, l'inizio dovrebbe assomigliare a questo:
Dettagli connessione MCP:
- IP: 192.168.58.121
- Porto: 39282
- Gettone: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
4. Cosa farà il Codice
4.1 Stabilire la connessione MCP
Codex si connetterà all'MCP LinknLink utilizzando:
http://YOUR_IP:39282/mcp
Il token verrà utilizzato per l'autenticazione.
Dopo una connessione riuscita, Codex dovrebbe identificare un server simile a:
linknlink-skill-mcp-server
4.2 Leggere i dati legacy
Il Codice reciterà:
- L'elenco delle scene legacy
- Dettagli della scena legacy
- L'elenco dei collegamenti legacy
- Dettagli del collegamento legacy
I dati legacy possono contenere identificatori e valori come:
sceneId
ruleid
endpointId
ha fatto
gatewayDid
Codici IR
Nomi delle proprietà dei dispositivi legacy
Questi identificatori potrebbero non funzionare direttamente nella nuova app.
4.3 Leggere i dispositivi e le entità della famiglia attuale
Il Codex leggerà le Entità nella famiglia corrente, ad esempio:
luce.xxxxx
clima.xxxxx
sensore_binario.xxxxx
evento.xxxxx
meteo.forecast_home
Nuove scene e automazioni dovrebbero utilizzare queste entità attualmente disponibili quando possibile.
Ad esempio, i dati legacy potrebbero contenere solo:
fatto: 01385886d8828d16dc78ac9d74ceca8e
L'entità attuale corrispondente potrebbe essere:
clima.01385886d8828d16dc78ac9d74ceca8e
Il Codex dovrebbe utilizzare l'ID entità corrente durante la creazione dei nuovi dati.
4.4 Creare scene prima delle automazioni
Se un collegamento legacy fa riferimento a una scena legacy, Codex deve prima creare la scena cloud.
Ad esempio:
ID scena legacy: 3008322404328373708
Nuovo ID scena nuvola: 8845c067a6744467b8e073863f35cda6
L'automazione dovrebbe quindi fare riferimento al nuovo ID scena cloud anziché all'ID scena legacy.
4.5 Convalida prima della creazione
Ogni elemento deve essere convalidato utilizzando:
validate_scene
oppure:
validate_automazione
Il Codex dovrebbe salvare un elemento solo quando la convalida restituisce:
valido: vero
e non ci sono errori critici.
5. Come verificare la migrazione
Apri il nuovo LinknLink App e controlla le seguenti sezioni.
Scene di nuvole
Conferma che:
- Il nome della scena è corretto.
- Viene utilizzato il dispositivo corretto.
- Le azioni sono corrette.
- I parametri come temperatura, modalità operativa e velocità della ventola sono completi.
- La scena utilizza dispositivi della famiglia attuale.
Automazioni cloud
Conferma che:
- Il nome dell'automazione è corretto.
- L'automazione è abilitata.
- L'ora di attivazione è corretta.
- Le impostazioni dei giorni feriali sono corrette.
- Le condizioni di attivazione del dispositivo sono corrette.
- I messaggi di notifica sono corretti.
- Le scene di riferimento sono nuove scene cloud.
- Le azioni del dispositivo utilizzano gli ID entità correnti.
Non eliminare immediatamente i dati legacy. Osserva le nuove automazioni per diversi giorni e verifica che si attivino correttamente prima di decidere se rimuovere i record legacy.
6. Risoluzione dei problemi
6.1 L'IP risponde al ping, ma la porta scade
Gli errori tipici includono:
Impossibile connettersi
Connessione scaduta
Controllare quanto segue:
- Il servizio MCP di AI Agent è in esecuzione?
- La porta è impostata su
39282? - L'App è ancora in esecuzione?
- Il firewall del sistema consente l'accesso alla rete locale?
- Il servizio MCP è in ascolto su un indirizzo di rete locale anziché solo
127.0.0.1?
6.2 L'IP non risponde al ping
Le cause comuni includono:
- L'indirizzo IP non è corretto.
- È stato inserito l'IP del router invece dell'IP del telefono.
- L'indirizzo IP del telefono è cambiato.
- Il telefono e il computer sono connessi a reti Wi-Fi diverse.
- Un dispositivo è connesso a una rete ospite.
- Una VPN ha cambiato il routing del computer.
Apri nuovamente la pagina delle impostazioni di AI Agent e copia l'indirizzo IP attualmente visualizzato.
6.3 MCP si connette, ma il token non è valido
Apri nuovamente la pagina delle impostazioni dell'agente AI:
- Scorri fino alla fine della pagina.
- Trova l'ultimo gettone.
- Tocca nuovamente il pulsante Copia.
- Assicurati che il valore copiato non contenga spazi o interruzioni di riga.
- Fornisci il nuovo token al Codex.
6.4 Il Codex segnala che un dispositivo non esiste
Il DID o endpointId utilizzato dall'app legacy potrebbe non controllare più direttamente il dispositivo.
Chiedi al Codex di:
- Leggere gli elenchi correnti di dispositivi ed entità.
- Abbina i dispositivi utilizzando DID, nome, stanza e tipo di dispositivo.
- Interrogare le capacità delle entità candidate.
- Ricostruisci l'elemento utilizzando l'ID entità corrente.
- Interrompi la migrazione dell'elemento se non è possibile trovare alcuna corrispondenza univoca.
Il Codex non dovrebbe mai indovinare una mappatura incerta del dispositivo.
6.5 Dopo la migrazione vengono visualizzati dati duplicati
Ciò può verificarsi quando esiste già una scena cloud o una automazione cloud corrispondente.
Prima di creare qualsiasi cosa, Codex dovrebbe:
- Leggere i dati cloud esistenti.
- Confronta nomi, trigger e azioni.
- Salta i record che sono già identici.
- Segnala elementi con nomi corrispondenti ma contenuti diversi invece di sovrascriverli automaticamente.
6.6 Le automazioni meteorologiche non possono essere migrate
L'app legacy può utilizzare codici meteo numerici, mentre la nuova app può utilizzare stati di entità meteorologiche come:
nevoso
piovoso
nuvoloso
soleggiato
Chiedi al Codex di ricostruire il grilletto utilizzando la corrente tempo Entità invece di copiare direttamente il codice meteorologico numerico legacy.
7. Raccomandazioni sulla sicurezza
- Tratta il token come una credenziale di accesso MCP. Non pubblicarlo in chat di gruppo, forum o documenti pubblici.
- Non includere il token completo nel rapporto sulla migrazione.
- Se un token è stato condiviso pubblicamente, rigeneralo nell'app dopo la migrazione.
- Non eliminare i dati legacy durante la migrazione iniziale.
- Non consentire al Codex di eseguire scene durante la migrazione iniziale. In caso contrario, dispositivi come condizionatori d'aria, serrature o luci potrebbero essere controllati inaspettatamente.
- Esamina manualmente le automazioni che coinvolgono dispositivi sensibili alla sicurezza come serrature, sistemi di allarme e valvole prima di abilitarle.
Seguendo questo processo, Codex può completare la connessione, la lettura dei dati, la mappatura dei dispositivi, la convalida, la creazione e la verifica finale in un unico flusso di lavoro, evitando la pratica non sicura di copiare gli ID dei dispositivi legacy direttamente nei nuovi dati.