title: Why is ACTION_BATTERY_LOW not triggering Broadcast receiver when attempting to analyze premature phone shutdown event?
body: <p>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</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      package="c.cjg.sdwn"&gt;
  
      &lt;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"&gt;
          &lt;receiver android:name=".ActReceiver" android:enabled="true" android:exported="true" &gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.ACTION_BOOT_COMPLETED" /&gt;
                  &lt;action android:name="android.intent.action.ACTION_BATTERY_CHANGED" /&gt;
                  &lt;action android:name="android.intent.action.ACTION_BATTERY_LOW" /&gt;
                  &lt;action android:name="android.intent.action.ACTION_POWER_CONNECTED" /&gt;
                  &lt;action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" /&gt;
                  &lt;action android:name="android.intent.action.ACTION_POWER_USAGE_SUMMARY" /&gt;
                  &lt;action android:name="android.intent.action.ACTION_SHUTDOWN" /&gt;
              &lt;/intent-filter&gt;
          &lt;/receiver&gt;
          &lt;activity android:name=".MainActivity"&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MAIN" /&gt;
                  &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
              &lt;/intent-filter&gt;
          &lt;/activity&gt;
      &lt;/application&gt;
  
  &lt;/manifest&gt;
  </code></pre>
  
  <p>MainActivity.java is</p>
  
  <pre><code>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);
      }
  }
  </code></pre>
  
  <p>And to catch the broadcasts the ActReceiver.java is</p>
  
  <pre><code>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");
      }
  }
  </code></pre>
  
  <p>and activity_main.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;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"&gt;
  
      &lt;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" /&gt;
  
      &lt;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" /&gt;
  
  &lt;/androidx.constraintlayout.widget.ConstraintLayout&gt;
  </code></pre>
  
  <p>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:</p>
  
  <pre><code>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
  </code></pre>