Update EcowittExportCommand.php

ci
This commit is contained in:
Jeremias Wolff
2023-05-29 09:32:08 +02:00
committed by GitHub
parent 9f3685349d
commit 2899d38167

View File

@@ -55,6 +55,7 @@ class EcowittExportCommand extends Command
if (empty($this->ecowitt_account) || empty($this->ecowitt_passphrase)) {
$this->error('Ecowitt Username or passphrase required!');
return 1;
}
@@ -66,7 +67,6 @@ class EcowittExportCommand extends Command
$this->endDate = Carbon::parse($this->argument('endDate'))->endOfDay();
$device_ids->each(function ($deviceId) use ($session_id) {
$startDate = $this->startDate->clone();
$endDate = $this->endDate->clone();
// declare output variable
@@ -91,7 +91,7 @@ class EcowittExportCommand extends Command
$ecowitt = $response->json();
$this->times = data_get($ecowitt,'times',[]);
$this->times = data_get($ecowitt, 'times', []);
// Temperature in C
$this->debug('fetch outdoor temp');
@@ -124,11 +124,13 @@ class EcowittExportCommand extends Command
// uv
$this->debug('collecting: uv');
$uvi = $this->getData($ecowitt, 'list.so_uv.list.uv');
//replace empty values with 0
foreach ($uvi as $key => $value) {
if(empty($value)) $uvi[$key] = "0";
}
if (empty($value)) {
$uvi[$key] = '0';
}
}
// rainrate in mm/hr b
$this->debug('collecting: rainrate in mm/hr b');
@@ -184,10 +186,9 @@ class EcowittExportCommand extends Command
$outputData[] = $tmp;
}
$startDate = $startDate->addDay()->startOfDay();
} while ( $startDate->lte($endDate) );
$this->export(getcwd() . "/ecowitt_{$deviceId}.csv", $outputData);
} while ($startDate->lte($endDate));
$this->export(getcwd()."/ecowitt_{$deviceId}.csv", $outputData);
});
}
@@ -196,6 +197,7 @@ class EcowittExportCommand extends Command
return collect(data_get($stack, $key))
->mapWithKeys(function ($value, $idx) {
$dateTime = data_get($this->times, $idx);
return [$dateTime => $value ?: null];
});
}
@@ -234,7 +236,7 @@ class EcowittExportCommand extends Command
->asForm()
->post('https://webapi.www.ecowitt.net/index/get_devices', [
'uid' => '',
'type' => 1
'type' => 1,
]);
$devices = collect(data_get($deviceResponse->json(), 'device_list'));
@@ -249,12 +251,13 @@ class EcowittExportCommand extends Command
* @param string $fileName
* @param array $data
*/
protected function export(string $fileName, array $data) {
if(isset($data['0'])){
protected function export(string $fileName, array $data)
{
if (isset($data['0'])) {
$fp = fopen($fileName, 'w+');
fputs($fp, implode(',',array_keys($data['0'])) . "\n");
foreach($data AS $values){
fputs($fp, implode(',', $values) . "\n");
fwrite($fp, implode(',', array_keys($data['0']))."\n");
foreach ($data as $values) {
fwrite($fp, implode(',', $values)."\n");
}
fclose($fp);
}
@@ -266,14 +269,11 @@ class EcowittExportCommand extends Command
*/
protected function debug(string $msg, ...$args)
{
if ($this->option('debug')) {
$this->info($msg);
if (!empty($args)) {
if (! empty($args)) {
dump($args);
}
}
}
}