I am successfully catching ACTION_POWER_CONNECTED ACTION_POWER_DISCONNECTED ACTION_SHUTDOWN but ACTION_BATTERY_CHANGED and ACTION_BATTERY_LOW are not triggering. I am investigating why a battery charge sometimes above 60% still suddenly does a shutdown. Hoping to identify who triggered a shutdown and why. I am considering "battery memory" syndrome. Device is a ZTE Blade X Max which is API 25 for Android 7.1.1 with battery spec of 3400 mah Developing on Android Studio 3.5.3 Build #AI-191.8026.42.35.6010548, built on November 15, 2019 JRE: 1.8.0_202-release-1483-b03 amd64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o Windows 10 10.0
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="c.cjg.sdwn">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
tools:ignore="GoogleAppIndexingWarning"
android:theme="@style/AppTheme"
android:fullBackupContent="@xml/backup_descriptor">
<receiver android:name=".ActReceiver" android:enabled="true" android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.ACTION_BOOT_COMPLETED" />
<action android:name="android.intent.action.ACTION_BATTERY_CHANGED" />
<action android:name="android.intent.action.ACTION_BATTERY_LOW" />
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
<action android:name="android.intent.action.ACTION_POWER_USAGE_SUMMARY" />
<action android:name="android.intent.action.ACTION_SHUTDOWN" />
</intent-filter>
</receiver>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
MainActivity.java is
package c.cjg.sdwn;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.util.Log;
import android.view.View;
import android.widget.ScrollView;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
String fname;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
fname=this.getFilesDir().toString()+"/reclog";
FileReader fr;
BufferedReader br;
String inbuf = null;
setContentView(R.layout.activity_main);
TextView tv = findViewById(R.id.scrv);
try {
StringBuilder output = new StringBuilder();
fr = new FileReader(fname);
br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
output.append(line).append(System.getProperty("line.separator"));
}
inbuf = output.toString();
} catch (IOException e) {
e.printStackTrace();
Log.d("FAIL,","Read prev log");
return;
}
/* if ((inbuf==null)||(inbuf.equals("")))
inbuf = "no data"; */
tv.setMovementMethod(new ScrollingMovementMethod());
tv.setText(inbuf);
}
public void resButton(View view) {
File file = new File(fname);
if (file.exists()) file.delete();
TextView tv = findViewById(R.id.scrv);
tv.setText("");
setContentView(R.layout.activity_main);
}
}
And to catch the broadcasts the ActReceiver.java is
package c.cjg.sdwn;
import androidx.appcompat.app.AppCompatActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.BatteryManager;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.Objects;
public class ActReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String actionStr = intent.getAction();
// if(Intent.ACTION_SHUTDOWN.equals(actionStr)){}
String fname = context.getFilesDir().toString()+"/reclog";
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = context.registerReceiver(null, ifilter);
// String stat = batteryStatus.getStringExtra(BatteryManager.EXTRA_STATUS);
// EXTRA_HEALTH EXTRA_STATUS get always null
int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
int evolt = batteryStatus.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);
float volts = (float)evolt/1000;
float batteryPct = level * 100 / (float)scale;
FileWriter fw = null;
File file = new File(fname);
try {fw = new FileWriter(file.getAbsoluteFile(),true);}
catch (IOException e) { Log.d("fail","FileWriter");}
BufferedWriter bw = new BufferedWriter(Objects.requireNonNull(fw));
try {
bw.write(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(Calendar.getInstance().getTime())
+String.format(Locale.getDefault(),",%4.3f,%d,%3d,%s%n",volts,level,scale,actionStr.substring(22)));
bw.close();
} catch (IOException e) { Log.d("fail","write");}
Log.d("Success","Success");
}
}
and activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/resButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="resButton"
android:text="Delete logfile"
app:layout_constraintBottom_toTopOf="@id/scrv"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/scrv"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/resButton" />
</androidx.constraintlayout.widget.ConstraintLayout>
I have heard rumors of a quirk (bug) in the OS which may be involved but is reportedly hard to isolate... Any ideas on how to search system information (like task manager) to identify where the shutdown is started? Also, can the shutdown be cancelled or aborted? My Output file data:
12/24/2019 00:06:06,4.374,55,100,ACTION_POWER_CONNECTED
12/24/2019 00:06:11,4.405,56,100,ACTION_POWER_DISCONNECTED
12/24/2019 06:58:58,3.065,0,100,ACTION_SHUTDOWN
12/24/2019 07:57:42,4.222,97,100,ACTION_POWER_DISCONNECTED
12/24/2019 07:57:44,3.760,97,100,ACTION_POWER_CONNECTED
12/24/2019 07:57:52,4.406,97,100,ACTION_POWER_DISCONNECTED
12/24/2019 07:57:53,4.406,97,100,ACTION_POWER_CONNECTED
12/24/2019 08:00:41,4.230,97,100,ACTION_POWER_DISCONNECTED
12/24/2019 08:00:43,4.230,97,100,ACTION_POWER_CONNECTED
12/24/2019 08:00:57,4.243,97,100,ACTION_POWER_DISCONNECTED
12/24/2019 08:00:58,4.243,97,100,ACTION_POWER_CONNECTED
12/24/2019 08:02:14,4.232,98,100,ACTION_POWER_DISCONNECTED
12/24/2019 08:02:15,4.232,98,100,ACTION_POWER_CONNECTED
12/24/2019 08:02:30,4.407,98,100,ACTION_POWER_DISCONNECTED
12/24/2019 08:02:30,4.407,98,100,ACTION_POWER_CONNECTED
12/24/2019 08:03:50,4.407,98,100,ACTION_POWER_DISCONNECTED
12/24/2019 08:03:51,4.407,98,100,ACTION_POWER_CONNECTED
12/24/2019 08:03:57,4.406,98,100,ACTION_POWER_DISCONNECTED
12/24/2019 08:03:58,4.406,98,100,ACTION_POWER_CONNECTED
12/24/2019 08:07:15,4.232,99,100,ACTION_POWER_DISCONNECTED
12/24/2019 08:07:15,4.232,99,100,ACTION_POWER_CONNECTED
12/24/2019 08:07:27,4.405,99,100,ACTION_POWER_DISCONNECTED
12/24/2019 08:07:31,4.406,99,100,ACTION_POWER_CONNECTED
12/24/2019 08:10:15,4.240,99,100,ACTION_POWER_DISCONNECTED
12/24/2019 08:10:16,4.205,99,100,ACTION_POWER_CONNECTED
12/24/2019 08:10:30,4.406,99,100,ACTION_POWER_DISCONNECTED
12/24/2019 08:10:31,4.406,99,100,ACTION_POWER_CONNECTED
12/24/2019 08:54:21,4.246,100,100,ACTION_POWER_DISCONNECTED
12/24/2019 09:55:36,3.171,0,100,ACTION_SHUTDOWN
12/24/2019 10:21:50,4.340,72,100,ACTION_POWER_DISCONNECTED
12/24/2019 10:21:52,4.340,72,100,ACTION_POWER_CONNECTED
12/24/2019 10:24:14,4.407,75,100,ACTION_POWER_DISCONNECTED
12/24/2019 11:49:31,3.068,0,100,ACTION_SHUTDOWN
12/24/2019 12:46:06,4.198,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 12:46:06,4.198,95,100,ACTION_POWER_CONNECTED
12/24/2019 12:46:18,4.405,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 12:46:22,4.406,95,100,ACTION_POWER_CONNECTED
12/24/2019 12:58:32,4.405,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 12:58:33,4.405,94,100,ACTION_POWER_CONNECTED
12/24/2019 12:58:48,4.352,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 12:58:51,4.352,94,100,ACTION_POWER_CONNECTED
12/24/2019 13:01:42,4.405,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 13:01:43,4.405,94,100,ACTION_POWER_CONNECTED
12/24/2019 13:01:53,4.406,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 13:01:55,4.406,94,100,ACTION_POWER_CONNECTED
12/24/2019 13:02:12,4.405,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 15:08:13,3.114,0,100,ACTION_SHUTDOWN
12/24/2019 15:16:53,4.397,78,100,ACTION_POWER_DISCONNECTED
12/24/2019 15:16:53,4.397,78,100,ACTION_POWER_CONNECTED
12/24/2019 15:16:58,4.397,78,100,ACTION_POWER_DISCONNECTED
12/24/2019 15:16:58,4.397,78,100,ACTION_POWER_CONNECTED
12/24/2019 15:20:59,4.407,82,100,ACTION_POWER_DISCONNECTED
12/24/2019 19:18:38,3.115,0,100,ACTION_SHUTDOWN
12/24/2019 19:45:23,4.405,86,100,ACTION_POWER_DISCONNECTED
12/24/2019 20:18:25,3.169,0,100,ACTION_SHUTDOWN
12/24/2019 20:58:57,4.163,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 20:58:58,4.163,94,100,ACTION_POWER_CONNECTED
12/24/2019 20:59:09,4.398,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 20:59:09,4.407,94,100,ACTION_POWER_CONNECTED
12/24/2019 21:19:07,4.188,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 21:19:09,3.919,95,100,ACTION_POWER_CONNECTED
12/24/2019 21:19:19,4.406,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 21:19:23,4.406,95,100,ACTION_POWER_CONNECTED
12/24/2019 21:25:33,4.186,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 21:25:34,4.186,94,100,ACTION_POWER_CONNECTED
12/24/2019 21:25:45,4.406,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 21:25:49,4.406,94,100,ACTION_POWER_CONNECTED
12/24/2019 21:36:25,4.180,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 21:36:26,4.180,94,100,ACTION_POWER_CONNECTED
12/24/2019 21:36:41,4.406,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 21:36:41,4.406,94,100,ACTION_POWER_CONNECTED
12/24/2019 21:45:16,4.221,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 21:45:17,4.221,94,100,ACTION_POWER_CONNECTED
12/24/2019 21:45:28,4.208,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 21:45:31,4.406,94,100,ACTION_POWER_CONNECTED
12/24/2019 21:48:56,4.181,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 21:48:57,4.181,93,100,ACTION_POWER_CONNECTED
12/24/2019 21:49:11,4.247,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 21:49:11,4.247,94,100,ACTION_POWER_CONNECTED
12/24/2019 21:56:31,4.181,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 21:56:32,4.181,94,100,ACTION_POWER_CONNECTED
12/24/2019 21:56:46,4.198,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 21:56:46,4.253,94,100,ACTION_POWER_CONNECTED
12/24/2019 22:00:04,4.406,93,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:00:10,4.406,93,100,ACTION_POWER_CONNECTED
12/24/2019 22:00:17,3.563,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:00:18,3.563,94,100,ACTION_POWER_CONNECTED
12/24/2019 22:00:33,4.203,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:00:33,4.203,94,100,ACTION_POWER_CONNECTED
12/24/2019 22:00:45,4.247,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:00:49,4.080,94,100,ACTION_POWER_CONNECTED
12/24/2019 22:01:02,4.197,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:01:03,4.197,94,100,ACTION_POWER_CONNECTED
12/24/2019 22:01:18,3.807,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:01:18,3.807,94,100,ACTION_POWER_CONNECTED
12/24/2019 22:01:34,4.201,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:01:34,4.201,94,100,ACTION_POWER_CONNECTED
12/24/2019 22:01:45,4.249,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:01:46,4.063,94,100,ACTION_POWER_CONNECTED
12/24/2019 22:02:02,4.200,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:02:03,4.200,94,100,ACTION_POWER_CONNECTED
12/24/2019 22:02:18,4.213,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:02:18,4.213,94,100,ACTION_POWER_CONNECTED
12/24/2019 22:02:34,4.406,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:02:34,4.406,94,100,ACTION_POWER_CONNECTED
12/24/2019 22:02:45,4.251,94,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:02:46,4.251,94,100,ACTION_POWER_CONNECTED
12/24/2019 22:03:02,4.201,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:03:03,4.201,95,100,ACTION_POWER_CONNECTED
12/24/2019 22:03:18,4.214,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:03:18,4.214,95,100,ACTION_POWER_CONNECTED
12/24/2019 22:03:34,4.201,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:03:34,4.201,95,100,ACTION_POWER_CONNECTED
12/24/2019 22:03:45,4.250,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:03:46,4.034,95,100,ACTION_POWER_CONNECTED
12/24/2019 22:04:02,4.203,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:04:03,4.203,95,100,ACTION_POWER_CONNECTED
12/24/2019 22:04:18,4.406,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:04:18,4.406,95,100,ACTION_POWER_CONNECTED
12/24/2019 22:04:34,4.206,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:04:34,4.206,95,100,ACTION_POWER_CONNECTED
12/24/2019 22:04:46,4.216,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:04:50,4.277,95,100,ACTION_POWER_CONNECTED
12/24/2019 22:05:02,4.203,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:05:04,4.203,95,100,ACTION_POWER_CONNECTED
12/24/2019 22:05:18,4.406,95,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:05:20,4.406,95,100,ACTION_POWER_CONNECTED
12/24/2019 22:05:36,4.208,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:05:36,4.208,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:05:46,4.406,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:05:47,4.253,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:06:03,4.213,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:06:04,3.980,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:06:18,4.406,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:06:18,4.406,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:06:34,4.207,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:06:35,4.207,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:06:46,4.254,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:06:47,4.254,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:07:03,4.214,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:07:04,3.953,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:07:19,4.406,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:07:19,4.406,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:07:34,4.209,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:07:35,4.209,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:07:46,4.255,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:07:50,4.255,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:08:03,4.216,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:08:04,3.821,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:08:19,3.936,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:08:19,3.936,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:08:35,4.210,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:08:35,4.210,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:08:46,4.231,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:08:47,4.221,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:09:03,4.216,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:09:04,3.819,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:09:19,4.016,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:09:19,4.016,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:09:35,4.212,96,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:09:35,4.212,96,100,ACTION_POWER_CONNECTED
12/24/2019 22:09:46,4.406,97,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:09:47,4.256,97,100,ACTION_POWER_CONNECTED
12/24/2019 22:10:04,4.211,97,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:10:05,4.211,97,100,ACTION_POWER_CONNECTED
12/24/2019 22:10:16,4.406,97,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:10:17,4.406,97,100,ACTION_POWER_CONNECTED
12/24/2019 22:10:34,4.220,97,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:10:35,4.220,97,100,ACTION_POWER_CONNECTED
12/24/2019 22:10:46,4.406,97,100,ACTION_POWER_DISCONNECTED
12/24/2019 22:10:50,4.078,97,100,ACTION_POWER_CONNECTED
12/24/2019 22:10:57,4.206,97,100,ACTION_POWER_DISCONNECTED
12/25/2019 08:14:35,3.116,74,100,ACTION_POWER_DISCONNECTED
12/25/2019 08:14:36,3.116,74,100,ACTION_POWER_CONNECTED
12/25/2019 08:14:42,3.116,74,100,ACTION_POWER_DISCONNECTED
12/25/2019 08:14:42,3.116,74,100,ACTION_POWER_CONNECTED
12/25/2019 08:14:45,3.116,74,100,ACTION_POWER_DISCONNECTED
12/25/2019 08:58:42,3.165,0,100,ACTION_SHUTDOWN
12/25/2019 08:58:46,4.285,42,100,ACTION_POWER_CONNECTED
12/25/2019 09:02:40,4.407,66,100,ACTION_POWER_DISCONNECTED
12/25/2019 09:02:44,3.814,66,100,ACTION_POWER_CONNECTED
12/25/2019 09:02:57,4.149,66,100,ACTION_POWER_DISCONNECTED
12/25/2019 09:02:57,4.149,66,100,ACTION_POWER_CONNECTED
12/25/2019 09:28:32,4.405,90,100,ACTION_POWER_DISCONNECTED
12/25/2019 10:37:08,4.333,59,100,ACTION_POWER_CONNECTED
12/25/2019 10:37:17,4.405,59,100,ACTION_POWER_DISCONNECTED
12/25/2019 10:37:19,4.405,59,100,ACTION_POWER_CONNECTED
12/25/2019 10:45:52,4.405,67,100,ACTION_POWER_DISCONNECTED
12/25/2019 10:48:34,3.862,67,100,ACTION_POWER_CONNECTED
12/25/2019 10:48:43,4.405,68,100,ACTION_POWER_DISCONNECTED
12/25/2019 10:48:44,4.405,68,100,ACTION_POWER_CONNECTED
12/25/2019 10:53:28,4.407,73,100,ACTION_POWER_DISCONNECTED
12/25/2019 10:58:39,3.854,64,100,ACTION_POWER_CONNECTED
12/25/2019 10:58:50,4.407,66,100,ACTION_POWER_DISCONNECTED
12/25/2019 10:58:51,4.407,66,100,ACTION_POWER_CONNECTED
12/25/2019 11:12:21,4.405,80,100,ACTION_POWER_DISCONNECTED
12/25/2019 11:54:57,3.125,0,100,ACTION_SHUTDOWN
12/25/2019 12:24:03,4.206,93,100,ACTION_POWER_DISCONNECTED
12/25/2019 12:24:04,4.227,93,100,ACTION_POWER_CONNECTED
12/25/2019 12:24:14,4.405,93,100,ACTION_POWER_DISCONNECTED
12/25/2019 12:24:15,4.405,93,100,ACTION_POWER_CONNECTED
12/25/2019 12:44:47,4.176,93,100,ACTION_POWER_DISCONNECTED
12/25/2019 12:44:48,4.176,93,100,ACTION_POWER_CONNECTED
12/25/2019 12:45:00,4.407,93,100,ACTION_POWER_DISCONNECTED
12/25/2019 12:45:01,4.406,93,100,ACTION_POWER_CONNECTED
12/25/2019 12:45:50,4.383,93,100,ACTION_POWER_DISCONNECTED
12/25/2019 12:45:52,4.383,93,100,ACTION_POWER_CONNECTED
12/25/2019 12:46:01,4.406,93,100,ACTION_POWER_DISCONNECTED
12/25/2019 12:46:02,4.405,93,100,ACTION_POWER_CONNECTED
12/25/2019 12:48:08,4.196,93,100,ACTION_POWER_DISCONNECTED
12/25/2019 12:48:08,4.196,93,100,ACTION_POWER_CONNECTED
12/25/2019 12:48:23,4.048,93,100,ACTION_POWER_DISCONNECTED
12/25/2019 12:48:23,4.048,93,100,ACTION_POWER_CONNECTED
12/25/2019 12:52:13,4.192,93,100,ACTION_POWER_DISCONNECTED
12/25/2019 12:52:14,4.192,93,100,ACTION_POWER_CONNECTED
12/25/2019 12:52:28,4.406,93,100,ACTION_POWER_DISCONNECTED
12/25/2019 12:52:29,4.406,93,100,ACTION_POWER_CONNECTED
12/25/2019 12:55:47,4.186,93,100,ACTION_POWER_DISCONNECTED
12/25/2019 13:22:23,3.071,0,100,ACTION_SHUTDOWN
12/25/2019 14:13:48,3.945,97,100,ACTION_POWER_DISCONNECTED
12/25/2019 14:13:48,3.945,97,100,ACTION_POWER_CONNECTED
12/25/2019 14:13:56,4.407,98,100,ACTION_POWER_DISCONNECTED
12/25/2019 14:13:57,4.407,98,100,ACTION_POWER_CONNECTED
12/25/2019 14:14:46,4.407,98,100,ACTION_POWER_DISCONNECTED
12/25/2019 23:43:30,3.140,0,100,ACTION_SHUTDOWN
12/25/2019 23:48:11,3.426,63,100,ACTION_POWER_DISCONNECTED
12/26/2019 01:10:01,4.405,91,100,ACTION_POWER_DISCONNECTED
12/26/2019 05:11:07,3.996,0,100,ACTION_SHUTDOWN
12/26/2019 07:05:45,4.406,79,100,ACTION_POWER_DISCONNECTED
12/26/2019 07:05:48,4.406,79,100,ACTION_POWER_CONNECTED
12/26/2019 07:05:58,4.406,79,100,ACTION_POWER_DISCONNECTED
12/26/2019 07:05:58,4.406,79,100,ACTION_POWER_CONNECTED
12/26/2019 07:06:04,4.406,79,100,ACTION_POWER_DISCONNECTED
12/26/2019 07:06:04,4.406,79,100,ACTION_POWER_CONNECTED
12/26/2019 07:06:07,4.406,80,100,ACTION_POWER_DISCONNECTED
12/26/2019 07:06:08,4.405,80,100,ACTION_POWER_CONNECTED
12/26/2019 07:07:00,4.405,82,100,ACTION_POWER_DISCONNECTED
12/26/2019 09:48:12,3.071,0,100,ACTION_SHUTDOWN
12/26/2019 09:48:19,4.113,35,100,ACTION_POWER_CONNECTED
12/26/2019 09:48:29,4.406,36,100,ACTION_POWER_DISCONNECTED
12/26/2019 09:54:53,4.407,64,100,ACTION_POWER_DISCONNECTED
12/26/2019 11:17:09,3.039,0,100,ACTION_SHUTDOWN
12/26/2019 13:28:39,4.406,71,100,ACTION_POWER_DISCONNECTED
12/26/2019 13:28:42,3.524,71,100,ACTION_POWER_CONNECTED
12/26/2019 13:28:53,4.406,71,100,ACTION_POWER_DISCONNECTED
12/26/2019 13:28:54,4.406,71,100,ACTION_POWER_CONNECTED
12/26/2019 13:34:09,4.405,77,100,ACTION_POWER_DISCONNECTED
12/26/2019 13:36:55,3.585,71,100,ACTION_POWER_CONNECTED
12/26/2019 13:37:06,4.406,71,100,ACTION_POWER_DISCONNECTED
12/26/2019 13:37:07,4.406,71,100,ACTION_POWER_CONNECTED
12/26/2019 13:51:31,4.405,82,100,ACTION_POWER_DISCONNECTED
12/26/2019 14:02:45,3.520,65,100,ACTION_POWER_CONNECTED
12/26/2019 14:05:08,4.139,66,100,ACTION_POWER_DISCONNECTED
12/26/2019 14:05:17,3.668,66,100,ACTION_POWER_CONNECTED
12/26/2019 14:05:44,4.175,66,100,ACTION_POWER_DISCONNECTED
12/26/2019 15:05:55,3.046,0,100,ACTION_SHUTDOWN
12/26/2019 15:18:46,4.407,61,100,ACTION_POWER_DISCONNECTED
12/26/2019 15:18:48,4.407,61,100,ACTION_POWER_CONNECTED
12/26/2019 15:18:56,4.407,61,100,ACTION_POWER_DISCONNECTED
12/26/2019 15:18:59,4.407,61,100,ACTION_POWER_CONNECTED
12/26/2019 15:19:44,4.407,62,100,ACTION_POWER_DISCONNECTED
12/26/2019 16:34:52,3.072,0,100,ACTION_SHUTDOWN
12/26/2019 16:35:20,4.404,42,100,ACTION_POWER_CONNECTED
12/26/2019 16:38:24,4.407,63,100,ACTION_POWER_DISCONNECTED
12/26/2019 16:38:25,4.407,63,100,ACTION_POWER_CONNECTED
12/26/2019 16:38:29,4.407,63,100,ACTION_POWER_DISCONNECTED
12/26/2019 16:38:29,4.407,63,100,ACTION_POWER_CONNECTED
12/26/2019 16:51:53,4.407,76,100,ACTION_POWER_DISCONNECTED
12/26/2019 19:25:40,3.288,0,100,ACTION_SHUTDOWN
12/26/2019 19:25:55,4.385,43,100,ACTION_POWER_CONNECTED
12/26/2019 19:38:13,4.405,65,100,ACTION_POWER_DISCONNECTED
12/27/2019 00:58:04,2.897,0,100,ACTION_SHUTDOWN
12/27/2019 04:43:24,4.406,70,100,ACTION_POWER_DISCONNECTED
12/27/2019 04:43:32,3.118,69,100,ACTION_POWER_CONNECTED
12/27/2019 04:43:35,3.129,0,100,ACTION_SHUTDOWN
12/27/2019 04:43:36,3.129,0,100,ACTION_POWER_DISCONNECTED
12/27/2019 04:43:37,3.008,0,100,ACTION_POWER_CONNECTED
12/27/2019 04:43:43,3.008,0,100,ACTION_POWER_DISCONNECTED
12/27/2019 07:44:31,4.407,71,100,ACTION_POWER_DISCONNECTED
12/27/2019 07:44:33,4.407,71,100,ACTION_POWER_CONNECTED
12/27/2019 07:44:37,4.407,71,100,ACTION_POWER_DISCONNECTED
12/27/2019 07:44:38,4.407,71,100,ACTION_POWER_CONNECTED
12/27/2019 07:46:55,4.405,73,100,ACTION_POWER_DISCONNECTED
12/27/2019 08:20:00,3.482,31,100,ACTION_POWER_CONNECTED