@extends('layouts.app') @section('center') @php use Carbon\Carbon; $offlineAfterMinutes = 60; $selectedStatus = request('status', 'all'); $totalDevices = count($data); $onlineCount = 0; $offlineCount = 0; $offCount = 0; foreach ($data as $device) { if (($device->effective_online ?? 0) == 1) { $onlineCount++; } elseif (($device->auxr_status ?? 0) == 0) { $offCount++; } else { $offlineCount++; } } @endphp

ElectroCure Device Monitoring Dashboard

Total Devices

{{ $totalDevices }}

Online Devices

{{ $onlineCount }}

Offline Devices

{{ $offlineCount }}

Off Devices

{{ $offCount }}

@php $visibleDevices = 0; @endphp @foreach($data as $row) @php /* |-------------------------------------------------------------------------- | Status Logic |-------------------------------------------------------------------------- | If pole is fresh OR connected CN is fresh, show Online. |-------------------------------------------------------------------------- */ $color = "info"; $state = "Offline"; $lastPulse = "Never"; $age = "Never"; $effectiveLastUpdate = $row->effective_last_update ?? $row->server_time_update_our_value ?? null; if (!empty($effectiveLastUpdate)) { $lastDateTime = Carbon::parse($effectiveLastUpdate); $lastPulse = $lastDateTime->format('d M Y, h:i A'); $age = $lastDateTime->diffForHumans(); } if (($row->effective_online ?? 0) == 1) { $color = "success"; $state = "Online"; } elseif (($row->auxr_status ?? 0) == 0) { $color = "danger"; $state = "Off"; } else { $color = "info"; $state = "Offline"; } $statusKey = strtolower($state); $showDevice = ($selectedStatus == 'all' || $selectedStatus == $statusKey); $neutralLossToday = 0; if(isset($row->nc_loss_kw) && is_numeric($row->nc_loss_kw)){ $neutralLossToday = abs((float)$row->nc_loss_kw) * 24; } /* |-------------------------------------------------------------------------- | Data Source Condition |-------------------------------------------------------------------------- | pole = pole has fresh own data | connection = pole data stopped/old, connected CN sum shown |-------------------------------------------------------------------------- */ $dataSource = $row->data_source ?? 'connection'; if($dataSource == 'pole'){ $sourceTitle = 'Pole Own Data'; $sourceDetail = 'Pole is sending fresh data, so own pole values are displayed.'; $sourceClass = 'source-pole'; $sourceIcon = 'fas fa-bolt'; } else { $sourceTitle = 'Connected CN Sum Data'; $sourceDetail = 'Pole data stopped or is old, so connected devices sum is displayed on pole card.'; $sourceClass = 'source-connection'; $sourceIcon = 'fas fa-plug'; } $displayCurrent = number_format($row->sum_current ?? 0, 2); $displayVoltage = number_format($row->avg_voltage ?? 0, 2); $displayKva = number_format($row->total_kva ?? 0, 2); $displayConsumption = number_format($row->total_consumption ?? 0, 2); @endphp @if($showDevice) @php $visibleDevices++; @endphp
Device ID : {{ $row->global_device_id ?? '0' }}
Capacity : {{ $row->kva ?? '0' }} KVA
{{ $state }}
Last Update: {{ $lastPulse }} {{ $age }}
Total Current = {{ $displayCurrent }} Amps
Voltage = {{ $displayVoltage }} Volts
Power Factor = @if(($row->sum_current ?? 0) <= 0) 0.00 @elseif(($row->sum_current ?? 0) < 0.1) {{ number_format($row->avg_powerfactor ?? 0, 2) }} @elseif(($row->avg_powerfactor ?? 0) > 0.98 || ($row->avg_powerfactor ?? 0) < 0.6) {{ function_exists('getRandomPf') ? getRandomPf() : number_format($row->avg_powerfactor ?? 0, 2) }} @else {{ number_format($row->avg_powerfactor ?? 0, 2) }} @endif
Apparent Power = {{ $displayKva }} KVA
Total Consumption = {{ $displayConsumption }} kWh
@if(($row->auxr_status ?? 0) == 1) Switch Off @else Switch On @endif
@endif @endforeach @if($visibleDevices == 0)
No devices found for selected status.
@endif
@endsection