Closed palazzem closed 7 months ago
Ciao @nickbolero! Ho spostato la conversazione visto che anche altri potrebbero essere interessati all'argomento. Dunque questa libreria non offre una soluzione per integrare e-connect tramite Homebridge/HomeKit poiche` accede direttamente ai servizi web di e-connect per pilotare il sistema di allarme tramite le loro API (non pubbliche quindi soggette a modifiche).
Sfortunatamente non sono un esperto di Homebridge/HomeKit non avendo mai creato una integrazione per la domotica Apple, tuttavia posso investigare nei prossimi giorni e verificare se e` possibile e quanto tempo potrebbe volerci.
Tu per caso hai altri esempi di servizi che sono supportati sia da Home Assistant che dalla domotica Apple? Un tuo aiuto/feedback da utilizzatore finale potrebbe aiutarmi a velocizzare i task sopra indicati. Grazie in anticipo!
Tu per caso hai altri esempi di servizi che sono supportati sia da Home Assistant che dalla domotica Apple? Un tuo aiuto/feedback da utilizzatore finale potrebbe aiutarmi a velocizzare i task sopra indicati. Grazie in anticipo!
Posso postarti come esempio questo del servizio di Lg: Home Bridge: https://github.com/nVuln/homebridge-lg-thinq#readme Home Assistant: https://github.com/ollo69/ha-smartthinq-sensors
Sfortunatamente non sono un esperto di Homebridge/HomeKit non avendo mai creato una integrazione per la domotica Apple, tuttavia posso investigare nei prossimi giorni e verificare se e` possibile e quanto tempo potrebbe volerci.
Per prove o altro posso fare io da test.
Ciao @palazzem novità per l’integrazione di Homebridge? Sei riuscito a capire se è fattibile? Poi volevo chiederti se sapevi dirmi come fare per impostare il pin automatico di inserimento/disinserimento nell’ integrazione di Home Assistant. Visto che lo stavo provando, esponendo poi tutte l’entità su HomeKit con l’integrazione apposita. Infatti ho postato anche sul canale ufficiale di Home Assistant quello dove si parla della tua integrazione, la richiesta di come inserire il pin in automatico.
Ciao @nickbolero ! Purtroppo non avrò modo di guardarci prima di questo fine settimana. Ho visto il tuo post e da quel che ho visto sembra che tu sia riuscito ad usare la mia integrazione completa per Home Assistant (HA).
Per quanto riguarda la tua domanda, ho sempre suggerito di evitare di registrare il PIN dell'allarme in HA in quanto a quel punto la sicurezza dell'allarme risiede nella sicurezza dell'installazione di HA. Detto questo e presa consapevolezza che se qualcuno accede ad HA può disattivare il tuo allarme senza conoscere il PIN, puoi implementare uno script da UI che attiva e disattiva l'allarme usando un PIN di default. I passi sono i seguenti:
A quel punto, dalla dashboard di HA, puoi aggiungere il pulsante in una qualsiasi tab. Cliccandolo esegue l'azione senza richiederti di inserire il PIN.
Potrei essere stato leggermente inaccurato a causa della traduzione in italiano, ma chiedimi pure se qualcosa non va!
Oltre a questo avrei due domande:
- Se non ho capito male, immagino che stai utilizzando Homebridge per tutti i tuoi dispositivi con integrazione per Homekit, mentre utilizzi Home Assistant solo per e-connect vista la mancata integrazione. E` corretto?
Si utilizzo Homebridge per quei dispositivi che non sono nativamente compatibili con HomeKit. E stavo cercando di utilizzare Home Assistant per esporre e-connect.
- Vuoi inserire il PIN in automatico per una questione di semplicità, oppure perché è presente una limitazione nell'integrazione (e.g. il pannello dell'inserimento del PIN non funziona)?
No, la limitazione ce l’ho quando, una volta esposto tutte le entità di e-connect tra cui anche il pannello allarme che appare in HomeKit. Quando provo ad inserire uno stato, tipo Allarme Notte: non mi chiede da HomeKit di inserire il pin ma prova solo ad inserire quello stato, infatti quando lancio il comando vedo che su HomeAssistant il pannello allarmi si anima come se avessi premuto solo il tasto Allarme Notte senza inserire il pin. Da HomeAssistant se metto il codice e poi premo sullo stato che voglio inserire funziona tutto. Per questo, ti avevo chiesto come fare per inserire in automatico il codice. La limitazione ce l ho su HomeKit.
Rimuovi pure la tua email, ti contatto in privato tra oggi e domani cosi` vedo se posso esserti di aiuto!
Ciao @palazzem voglio aggiornarti sulle prove che ho fatto:
Perdonami, è che per l'appunto non sono un esperto di Homekit o della domotica Apple quindi non mi rendo conto di cosa sia atteso o meno! Quindi se ho capito bene, ti vengono esposti tutti gli stati, ma non appena metti uno stato (esempio notte), allora viene correttamente lanciata la richiesta di attivazione ma, poiché il PIN non è inserito e non c'è modo di inserirlo, la richiesta fallisce e quindi non funziona.
Quello che dici è corretto ma non so bene come mai non vedi il pannello dell'allarme da Homekit nonostante l'entità venga correttamente esposta. Infatti, nella mia integrazione, il pannello di allarme è già creato e presente come entità (codice).
In teoria dovresti fare come dici te, ma temo che tra fare un pannello manuale o utilizzare quello offerto dalla mia integrazione non faccia molta differenza (se non vedi uno forse non ti farà vedere nemmeno l'altro?).
Giusto per fare una prova che però non ti consiglio di tenere attiva:
custom_components/econnect_alarm/alarm_control_panel.py
con un qualsiasi editor di testo. Va bene lo stesso che usi per scrivere le configurazioni di Home Assistant.code=None
in code=<IL_TUO_CODICE>
(non postare mai screenshot qua con il tuo codice presente).Per fare un esempio, questa funzione:
@set_device_state(STATE_ALARM_DISARMING)
async def async_alarm_disarm(self, code=None):
"""Send disarm command."""
await self.hass.async_add_executor_job(self._device.disarm, code)
deve diventare:
@set_device_state(STATE_ALARM_DISARMING)
async def async_alarm_disarm(self, code=123456): # ho cambiato solo questa parte, 123456 deve essere sostituito con il tuo codice numerico
"""Send disarm command."""
await self.hass.async_add_executor_job(self._device.disarm, code)
Fai questo cambio in tutte le funzioni dove vedi code=None
, poi dimmi cosa succede in Homekit e quanto sei distante da quello che vorresti ottenere.
Ah dimenticavo:
Quello che dici è corretto ma non so bene come mai non vedi il pannello dell'allarme da Homekit nonostante l'entità venga correttamente esposta. Infatti, nella mia integrazione, il pannello di allarme è già creato e presente come entità (codice).
No, forse mi sono spiegato male. Allora il tuo pannello come anche quello che stavo cercando di creare in manuale. Vengono esposti e funzionano tranquillamente. O per meglio dire quando provo ad inserire uno di quei stati (Su HomeKit) che ti ho fatto lo screen. Il pannello su home assistant vedo che reagisce. Cioè in poche parole è come se io da HomeAssistant premessi solo il tasto Attiva Notte senza codice, per tanto non succede niente. Per questo ti avevo chiesto un modo tale che quando premo sul pannello di homeAssistant inserisci esempio: Attiva Notte si inserisca senza chiedere il codice. Cosa che succede realmente quando espongo il pannello su homekit e provo da li, ma senza risultato Perchè non viene inserito il codice in automatico alla pressione di quel tasto.
Fai questo cambio in tutte le funzioni dove vedi
code=None
, poi dimmi cosa succede in Homekit e quanto sei distante da quello che vorresti ottenere.
Ho fatto la modifica che mi hai segnalato ma dopo il riavvio home Assistant mi ha dato questi errori. Se vedi nel log il codice 12345 l'ho cambiato io per oscurarlo. home-assistant_2023-04-22T13-41-19.385Z.log e sul pannello dopo questa modifica sono scomparsi i tasti per iserire gli stati.
Ah giusto perdonami, la modifica richiede i doppi apici (" "
) quindi partendo dall'esempio che ti ho fatto, deve diventare (sempre su tutte le funzioni):
@set_device_state(STATE_ALARM_DISARMING)
async def async_alarm_disarm(self, code="123456"): # Basta aggiungere " "
"""Send disarm command."""
await self.hass.async_add_executor_job(self._device.disarm, code)
Ok adesso ci siamo funziona cosi!! L'unica cosa non capisco perchè sul Allarm Pannel anche quando attivo notte come stato attivo mi vede sempre Allarme Fuori Casa.
Non dovrebbe mostrarmi la dicitura attiva Allarme Notte?
Volevo segnalarti che la tua integrazione manca l'iconcina di e-connect
Per il discorso dello stato errato dell'inserimento hai idee? Pensi sia fattibile avere questa integrazione direttamente in homebridge? Ti posto alcune integrazioni generiche di allarme per homebridge: https://github.com/vectronic/homebridge-alarm-panel https://github.com/MiguelRipoll23/homebridge-securitysystem
Perfetto! Per ora puoi lasciare così. Magari modifico l'integrazione in modo che dalla pagina di configurazione si possa inserire un codice di default. Così potrai fare tutto da interfaccia grafica senza modificare il codice direttamente.
Per quanto riguarda la dicitura, mi ricordo che ho avuto qualche limitazione in quello che HA mi forniva. Tuttavia, sono oramai passati 2 anni, quindi è il momento giusto per ricontrollare e vedere se posso migliorare il cambio di dicitura!
Per ricapitolare, ammesso che domani abbia tempo, posso integrare il tuo feedback:
A parte questi tre elementi, ora riesci ad utilizzare correttamente l'integrazione o hai notato altre cose che ti impediscono di utilizzarla?
Terminate queste modifiche, posso verificare la difficoltà nell'avere questa integrazione per Homebridge.
3. Aggiungere l'icona di E-connect (pensavo di mettere questa, che ne dici?).
Si, questa va benissimo.
A parte questi tre elementi, ora riesci ad utilizzare correttamente l'integrazione o hai notato altre cose che ti impediscono di utilizzarla?
Si adesso per quello che devo fare va più che bene. Anche perché alla fine a me serve solo inserire lo stato Notte e Fuori Casa. Infatti volevo chiederti se cancello la parte di codice per l’ inserimento In Casa pensi che funziona lo stesso? Visto che su HomeKit mi espone anche questo tasto dell’ Allarm Pannel?
A me serve vedere solo: Notte-Fuori Casa e Non Attivo per disinserirli.
Aspetto buone notizie per Homebridge.
Spero che quando approfondirai, saprai dirmi se su homekit è possibile mettere il codice (manuale) dall’ Allarm Pannel da HomeKit.
Ciao @palazzem novità? So che sicuramente sei stato impegnato. Spero di sentirti presto 😉
Ciao @nickbolero ! Purtroppo sono stato fuori l'altra settimana e per lavoro sarofuori anche questa. Posso darti qualche aggiornamento meta
settimana prossima quando torno!
Per quanto riguarda la tua domanda, se non ricordo male, l'alarm panel di Home Assistant espone l'opzione se il codice e la funzione e` definita. Pertanto se cancelli questa parte del codice dovrebbe disattivarla completamente.
Ti tengo aggiornato per la settimana prossima! A presto e fammi sapere se incontri altri problemi o bug con questa integrazione!
Per quanto riguarda la tua domanda, se non ricordo male, l'alarm panel di Home Assistant espone l'opzione se il codice e la funzione e` definita. Pertanto se cancelli questa parte del codice dovrebbe disattivarla completamente.
ok faccio qualche prova e ti faccio sapere.
Ti tengo aggiornato per la settimana prossima! A presto e fammi sapere se incontri altri problemi o bug con questa integrazione!
Aspetto tue notizie riguardo:
Ok adesso ci siamo funziona cosi!! L'unica cosa non capisco perchè sul Pannello di Allarme anche quando attivo notte come stato attivo mi vede sempre Allarme Fuori Casa.
2. Verificare se ci sono limitazioni sulla dicitura Allarme Fuori Casa / Notte, ed in caso sistemare il bug.
This is now supported by the main Home Assistant Integration: https://github.com/palazzem/ha-econnect-alarm#homekit-integration.
Closing as it seems resolved at least for who is using Home Assistant.
From @nickbolero:
Translation: