IOT Device Monitoring
A downloadable tool for Android
IOT Device Monitoring is an android app to monitor bluetooth iot devices from the web. It currently supports Bluetti products (Ac200max, probably also others models having the same protocol). Monitoring has 1 minute frequency and extracts the following information:
- battery_percent
- grid_charge_power
- dc_input_power
- dc_output_power
- ac_output_power
In case of battery less than 30% it sends an email to the user private address. Click on email icon to activate the feature and remember to flag the email as not spam in your email server.
AC output can be automatically switched on\off according to user defined battery theresholds. Click on AI icon to activate the feature.
It is still a prototype, it is not guarantee the complete operation in all situations, all responsibilities for damages resulting from its use are declined, use it at your risk. For security reasons the app can only read data, it can not issue commands to the device.
Requirements:
- Android v.5
- Bluetooth active on device
- Internet connection active on device
- Location permission active on the device
How to install and use the app:
- Install the apk from this site (enable the possibility to install app from external sources in your android device)
- Set the location permission for this app in android device: Go to the Settings menu > Security and location > Geolocation, tap the App-level permissions item and move the switch to ON to activate access to the GPS. (Close and restart the app)
- In the app:
- Click button "Scan" and identify your Bluetti device (make a note of the product code)
- Click button "Connect" and wait for the confirmation message. Sometimes it is necessary to retry the connection + times before it is established (place the device near the Bluetti station).
- Click button "Server Mode" to start remote monitoring.
- Leave the android device with the screen active (to prevent it from putting the application to sleep), decrease the screen brightness to minimum.
- For android TV box or similar devices having limited location service download the AndroidTVFix version of the app.
Monitoring:
Use the following address in the web browser, first modify the DEVICE_ID parameter relating to your device, (AC200M2236006098676 is mine) the value can be traced during the discovery phase in the app.
- Dashboard wint update frequency 1 min: https://mywebservice.altervista.org/php/MonitoringDevices/dashboard.php?DEVICE_I...
- Dashboard wint update frequency 1 hour: https://mywebservice.altervista.org/php/MonitoringDevices/dashboard.php?TIME=HOU...
- Dashboard wint update frequency 1 day: https://mywebservice.altervista.org/php/MonitoringDevices/dashboard.php?TIME=DAY...
Mqtt service integration:
- Server: 8738f15451114662bfdb775aaf62d13e.s2.eu.hivemq.cloud
- Port: 5000 (SSL attivo)
- User: iotuser
Pwd: iotpasswd - Topic: IOT/AC200M2236006098676 (parametro DEVICE_ID
Mqtt message format:
{"ac_out":num_value, "batt":num_value, "dc_ip":num_value, "dc_out":num_value, "fd_pow":num_value, "grd_pow":num_value}
---------------------------------------------------------------------------------------------------
TRADUZIONE ITALIANA
---------------------------------------------------------------------------------------------------
IOT Device Monitoring è un app per dispositivi Android in grado di monitorare dal web dispositivi con interfaccia bluetooth. Al momento supporta i prodotti Bluetti (Ac200max). Il monitoraggio avviene con frequenza di 1 minuto ed estrae le seguenti informazioni:
- battery_percent
- grid_charge_power
- dc_input_power
- dc_output_power
- ac_output_power
In caso la batteria scenda sotto 30% manda una email all'indirizzo privato dell'utente. Clicca sull'icona email per attivare questa feature e ricorda di impostare il mittente come non spam nel proprio server di posta.
AC output puo' essere automaticamente acceso\spento a seconda delle soglie definite dall'utente. Clicca sull'icona AI per attivare questa feature.
E' ancora un prototipo, non si garantisce il funzionamento in tutte le situazioni e si declina ogni responsabilità relative a danni conseguenti dall'utilizzo della stessa.
Requisiti:
- Android versione 5 o superiore
- Bluetooth attivo sul dispositivo
- Connessione ad Internet attiva sul dispositivo
- Permesso di rilevamento posizione attivo sul dispositivo
Istruzioni:
- Installare l'app dal presente sito
- Impostare permesso di rilevamento posizione del dispositivo android: Accedi al menu Impostazioni > Sicurezza e posizione > Geolocalizzazione, fai tap sulla voce Autorizzazioni a livello di app e sposta su ON gli interruttori relativi alle applicazioni per le quali vuoi attivare l’accesso al GPS. (Chiudere e riavviare l'app)
- Nell'app:
- Cliccare il pulsante "Scan" e individuare il proprio dispositivo Bluetti (prendere nota del codice del prodotto)
- Cliccare pulsante "Connect" e attendere il messaggio di conferma, in caso positivo verrà abilitato il pulsante "Server Mode". Alle volte è necessario riprovare la connessione + volte prima che venga stabilita, in caso negativo posizionare il dispositivo + vicino alla stazione Bluetti.
- Cliccare il pulsante "Server Mode".
- Lasciare il dispositivo android con lo schermo attivo (per evitare che metta in standby l'applicazione), diminuire al minimo la luminosità dello schermo.
- In caso di android TV box o simili dispositivi con limitati servizi di location utilizzare la versione AndroidTVFix.
Monitoraggio:
Per il monitoraggio utilizzare il seguente indirizzo nel browser web, prima modificare il parametro DEVICE_ID relativo al proprio dispositivo, (AC200M2236006098676 è il mio) il valore puo' essere rintracciato da quanto visualizzato nell'app in fase di discovery.
- Dashboard con aggiornamento al minuto: https://mywebservice.altervista.org/php/MonitoringDevices/dashboard.php?DEVICE_ID=AC200M2236006098676
- Dashboard con dati aggregati per ora: https://mywebservice.altervista.org/php/MonitoringDevices/dashboard.php?TIME=HOUR&DEVICE_ID=AC200M2236006098676
- Dashboard con dati aggregati per giorno: https://mywebservice.altervista.org/php/MonitoringDevices/dashboard.php?TIME=DAY&DEVICE_ID=AC200M2236006098676
Problemi noti:
- Dopo circa 24h di monitoraggio l'applicazione legge dati corrotti e lo notifica sul display. Il problema potrebbe essere dovuto alla cache del bluetooth, non è noto se si verifica su tutti i modelli di telefono android o versioni specifiche di sistema operativo. Per risolvere basta chiudere l'app e ricaricarla.
- In alcuni casi si è riscontrata una disconnessione improvvisa dal device monitorato riportando errore 257. L'app non riesce a ristabilire la connessione ne in automatico ne manualmente. Per risolvere basta chiudere l'app e ricaricarla.
Integrazione con servizio Mqtt:
- Server: 8738f15451114662bfdb775aaf62d13e.s2.eu.hivemq.cloud
- Port: 5000 (SSL attivo)
- User: iotuser
- Pwd: iotpasswd
- Topic: IOT/AC200M2236006098676 (parametro DEVICE_ID relativo al proprio dispositivo)
Il formato del campo testo presente in ogni messaggio mqtt:
{"ac_out":num_value, "batt":num_value, "dc_ip":num_value, "dc_out":num_value, "fd_pow":num_value, "grd_pow":num_value}
Download
Click download now to get access to the following files: