0, 'value' => 0, 'notification_iden' => ''); if (!is_array($picontrolUpdate)) setConfig('cron:updateCheck.picontrol', time()); else { if ($lastPush['picontrol']['value'] < $picontrolUpdate['versioncode'] && $lastPush['picontrol']['time']+21600 < time()) { setConfig('cron:updateCheck.picontrol', time()-86400); $curl = new cURL('https://api.pushbullet.com/v2/pushes', HTTP_POST); $curl->addHeader(array('Authorization: Bearer '.$token, 'Content-Type: application/json')); $curl->setParameterRaw(json_encode(array('type' => 'note', 'title' => 'Pi Control | '._t('Aktualisierung verfügbar'), 'body' => _t('Pi Control Version %s steht ab sofort für dein Pi Control "%s" zum herunterladen bereit.', $picontrolUpdate['version'], getConfig('main:main.label', 'Raspberry Pi'))))); $curl->execute(); // Reduziere Traffic, da selbst bei Fehler erst wieder nach 21600 Sek. geprüft wird $lastPush['picontrol']['time'] = time(); if ($curl->getResult($data) == JSON_ERROR_NONE) { if (!isset($data['error'])) { $lastPush['picontrol']['value'] = $picontrolUpdate['versioncode']; $lastPush['picontrol']['notification_iden'] = $return['iden']; } } } } } if (getConfig('main:notificationPB.cpuTemperatureEnabled', 'false') == 'true') { $temp = rpi_getCoreTemprature(); if (!isset($lastPush['cpu_temp'])) $lastPush['cpu_temp'] = array('time' => 0, 'value' => 0, 'notification_iden' => ''); if ($temp > getConfig('main:notificationPB.cpuTemperatureMaximum', 65) && $lastPush['cpu_temp']['value'] < ($temp + 5) && $lastPush['cpu_temp']['time']+300 < time()) { $curl = new cURL('https://api.pushbullet.com/v2/pushes', HTTP_POST); $curl->addHeader(array('Authorization: Bearer '.$token, 'Content-Type: application/json')); $curl->setParameterRaw(json_encode(array('type' => 'note', 'title' => 'Pi Control | '._t('Temperaturüberschreitung'), 'body' => _t('Dein Pi Control "%s" meldet eine erhöhte Temperatur der CPU von %s °C.', getConfig('main:main.label', 'Raspberry Pi'), $temp)))); $curl->execute(); if ($curl->getResult($data) == JSON_ERROR_NONE) { if (!isset($data['error'])) { $lastPush['cpu_temp']['time'] = time(); $lastPush['cpu_temp']['value'] = $temp; $lastPush['cpu_temp']['notification_iden'] = $data['iden']; } } } elseif (getConfig('main:notificationPB.cpuTemperatureMaximum', 65) > $temp) $lastPush['cpu_temp']['value'] = 0; } if (getConfig('main:notificationPB.memoryUsedEnabled', 'false') == 'true') { $memory = rpi_getMemoryInfo(); $percent = $memory[count($memory)-1]['percent']; if (!isset($lastPush['memory'])) $lastPush['memory'] = array('time' => 0, 'value' => 0, 'notification_iden' => ''); if (getConfig('main:notificationPB.memoryUsedLimit', 80) < $percent && $lastPush['memory']['value'] < ((100 - $percent) / 10 + $percent) && $lastPush['memory']['time']+3600 < time()) { $curl = new cURL('https://api.pushbullet.com/v2/pushes', HTTP_POST); $curl->addHeader(array('Authorization: Bearer '.$token, 'Content-Type: application/json')); $curl->setParameterRaw(json_encode(array('type' => 'note', 'title' => 'Pi Control | '._t('Speicherverbrauch'), 'body' => _t('Dein Pi Control "%s" meldet einen Speicherverbrauch von %d%%.', getConfig('main:main.label', 'Raspberry Pi'), $percent)))); $curl->execute(); if ($curl->getResult($data) == JSON_ERROR_NONE) { if (!isset($data['error'])) { $lastPush['memory']['time'] = time(); $lastPush['memory']['value'] = $percent; $lastPush['memory']['notification_iden'] = $data['iden']; } } } elseif (getConfig('main:notificationPB.memoryUsedLimit', 80) > $percent) $lastPush['memory']['value'] = 0; } setConfig('main:notificationPB.lastPush', htmlspecialchars(json_encode($lastPush))); } ?>