diff --git a/front/devices.php b/front/devices.php index 4e261d9b..cffa4980 100755 --- a/front/devices.php +++ b/front/devices.php @@ -545,24 +545,24 @@ function getDevicesList (status) { }; function handleLoadingDialog() - { - $.get('api/app_state.json?nocache=' + Date.now(), function(appState) { - - console.log(appState["showSpinner"]) - if(appState["showSpinner"]) - { - showSpinner("settings_old") +{ + $.get('api/app_state.json?nocache=' + Date.now(), function(appState) { + + console.log(appState["showSpinner"]) + if(appState["showSpinner"]) + { + showSpinner("settings_old") - setTimeout("handleLoadingDialog()", 1000); + setTimeout("handleLoadingDialog()", 1000); - } else - { - hideSpinner() - } + } else + { + hideSpinner() + } - }) + }) - } +} diff --git a/front/js/handle_version.js b/front/js/handle_version.js index f8947fc5..4699da36 100755 --- a/front/js/handle_version.js +++ b/front/js/handle_version.js @@ -1,80 +1,51 @@ -function handleVersion(){ +//-------------------------------------------------------------- +// Handle the UI changes to show or hide notifications about a new version +function versionUpdateUI(){ - release_timestamp = getCookie("release_timestamp") + isNewVersion = getCookie("isNewVersion") - if(release_timestamp != "") - { + console.log(isNewVersion) - build_timestamp = parseInt($('#version').attr("data-build-time").match( /\d+/g ).join('')) - - // if the release_timestamp is older by 10 min or more as the build timestamp then there is a new release available - if(release_timestamp > build_timestamp + 600 ) - { - console.log("New release!") - // handling the navigation menu icon - $('#version').attr("class", $('#version').attr("class").replace("myhidden", "")) - - maintenanceDiv = $('#new-version-text') - } - else{ - console.log("All up-to-date!") - - maintenanceDiv = $('#current-version-text') - } - - // handling the maintenance section message - if(emptyArr.includes(maintenanceDiv) == false && $(maintenanceDiv).length != 0) - { - $(maintenanceDiv).attr("class", $(maintenanceDiv).attr("class").replace("myhidden", "")) - } - } - - } - - //-------------------------------------------------------------- - - function getVersion() + // if the release_timestamp is older by 10 min or more as the build timestamp then there is a new release available + if(isNewVersion != "false") { - release_timestamp = getCookie("release_timestamp") + console.log("New release!") + // handling the navigation menu icon + $('#version').attr("class", $('#version').attr("class").replace("myhidden", "")) - release_timestampNum = Number(release_timestamp) + maintenanceDiv = $('#new-version-text') + } + else{ + console.log("All up-to-date!") - // logging - console.log(`Latest release in cookie: ${new Date(release_timestampNum*1000)}`) - - // no cached value available - if(release_timestamp == "") - { - $.get('https://api.github.com/repos/jokob-sk/Pi.Alert/releases').done(function(response) { - // Handle successful response - var releases = response; - - console.log(response) - - if(releases.length > 0) - { - - release_datetime = releases[0].published_at; // get latest release - release_timestamp = new Date(release_datetime).getTime() / 1000; - - // cache value - setCookie("release_timestamp", release_timestamp, 30); - - handleVersion(); - } - - }).fail(function(jqXHR, textStatus, errorThrown) { - - $('.version').append(`
Github API: ${errorThrown} (${jqXHR.status}), ${jqXHR.responseJSON.message}
`) - - }); - } else - { - // cache is available, just call the handler - handleVersion() - } + maintenanceDiv = $('#current-version-text') } + // handling the maintenance section message + if(emptyArr.includes(maintenanceDiv) == false && $(maintenanceDiv).length != 0) + { + $(maintenanceDiv).attr("class", $(maintenanceDiv).attr("class").replace("myhidden", "")) + } + +} + +//-------------------------------------------------------------- +// Checks if a new version is available via the global app_state.json +function checkIfNewVersionAvailable() +{ + $.get('api/app_state.json?nocache=' + Date.now(), function(appState) { + + console.log(appState["isNewVersionChecked"]) + console.log(appState["isNewVersion"]) + + // cache value + setCookie("isNewVersion", appState["isNewVersion"], 30); + setCookie("isNewVersionChecked", appState["isNewVersionChecked"], 30); + + versionUpdateUI(); + + }) +} // handle the dispaly of the NEW icon -getVersion() \ No newline at end of file +checkIfNewVersionAvailable() \ No newline at end of file diff --git a/front/maintenance.php b/front/maintenance.php index 94ebf11e..4b9f754a 100755 --- a/front/maintenance.php +++ b/front/maintenance.php @@ -174,6 +174,12 @@ $db->close(); +pialert_front.log file.",
- "DevDetail_Nmap_Scans": "Manual Nmap Scans",
- "DevDetail_Nmap_Scans_desc": "Here you can execute manual NMAP scans. You can also schedule regular automatic NMAP scans via the Services & Ports (NMAP) plugin. Head to Settings to find out more",
- "BackDevDetail_Actions_Title_Run": "Run action",
- "BackDevDetail_Actions_Not_Registered": "Action not registered: ",
- "BackDevDetail_Actions_Ask_Run": "Do you want to execute the action?",
- "BackDevDetail_Tools_WOL_okay": "The command was executed.",
- "BackDevDetail_Tools_WOL_error": "The command was NOT executed.",
- "DevDetail_Tools_WOL_noti": "Wake-on-LAN",
- "DevDetail_Tools_WOL_noti_text": "The Wake-on-LAN command is sent to the broadcast address. If the target is not in the subnet/vlan of Pi.Alert, the target device will not respond.",
- "DevDetail_Tools_WOL": "Send Wol command to ",
- "DevDetail_WOL_Title": " Wake-on-LAN",
- "DevDetail_Run_Actions_Title": " Run action on device",
- "DevDetail_Run_Actions_Tooltip": "Run an action on the current device from the dropdown list.",
- "DevDetail_Copy_Device_Title": " Copy details from device",
- "DevDetail_Copy_Device_Tooltip": "Copy details from device from the dropdown list. Everything on this page will be overwritten",
- "BackDevDetail_Copy_Title": "Copy details",
- "BackDevDetail_Copy_Ask": "Copy details from device from the dropdown list (Everything on this page will be overwritten)?",
- "Maintenance_Title": "Maintenance tools",
- "Maintenance_version": "App updates",
- "Maintenance_new_version": "π A new version is available. Check out the release notes.",
- "Maintenance_current_version": "You are up-to-date. Check out what I am working on.",
- "Maintenance_built_on": "Built on",
- "Maintenance_database_path": "Database-Path",
- "Maintenance_database_size": "Database-Size",
- "Maintenance_database_rows": "Table (Rows)",
- "Maintenance_database_lastmod": "Last Modification",
- "Maintenance_database_backup": "DB Backups",
- "Maintenance_database_backup_found": "backups were found",
- "Maintenance_database_backup_total": "total disk usage",
- "Maintenance_arp_status": "Scan Status",
- "Maintenance_arp_status_off": "is currently disabled",
- "Maintenance_arp_status_on": "scan(s) currently running",
- "Maintenance_themeselector_lable": "Select Skin",
- "Maintenance_themeselector_empty": "Choose a Skin",
- "Maintenance_themeselector_apply": "Apply",
- "Maintenance_themeselector_text": "The change takes place on the server side, so it affects all devices in use.",
- "Maintenance_lang_selector_lable": "Select Language",
- "Maintenance_lang_selector_empty": "Choose Language",
- "Maintenance_lang_en_us": "English (US)",
- "Maintenance_lang_de_de": "German (DE)",
- "Maintenance_lang_es_es": "Spanish (ES)",
- "Maintenance_lang_selector_text": "The change takes place on the client side, so it affects only the current browser.",
- "Maintenance_lang_selector_apply": "Apply",
- "Maintenance_Status": "Status",
- "Maintenance_Tools_Tab_Settings": "Settings",
- "Maintenance_Tools_Tab_UISettings": "UI Settings",
- "Maintenance_Tools_Tab_Tools": "Tools",
- "Maintenance_Tools_Tab_BackupRestore": "Backup / Restore",
- "Maintenance_Tools_Tab_Logging": "Logs",
- "Maintenance_Tool_displayed_columns_text": "Change the visibility and order of the columns in the Devices page. (The drag-and-drop is a bit clunky, but for now workable, not a common task - will not fix for now (tried for like 3h - happy for someone to submit a PR :) )).",
- "Maintenance_Tool_order_columns_text": "",
- "Maintenance_Tool_darkmode": "Toggle Modes (Dark/Light)",
- "Maintenance_Tool_drag_me": "Drag me to reorder columns.",
- "Maintenance_Tool_check_visible": "Uncheck to hide column.",
- "Maintenance_Tool_darkmode_text": "Toggle between dark mode and light mode. If the switch does not work properly, try to clear the browser cache. The change takes place on the server side, so it affects all devices in use.",
- "Maintenance_Tool_darkmode_noti": "Toggle Modes",
- "Maintenance_Tool_darkmode_noti_text": "After the theme switch, the page tries to reload itself to activate the change. If necessary, the cache must be cleared.",
- "Maintenance_Tool_arpscansw": "Toggle arp-Scan (on/off)",
- "Maintenance_Tool_arpscansw_text": "Switching the arp-scan on or off. When the scan has been switched off it remains off until it is activated again. Active scans are not canceled.",
- "Maintenance_Tool_arpscansw_noti": "Toggle arp-Scan on or off",
- "Maintenance_Tool_arpscansw_noti_text": "When the scan has been switched off it remains off until it is activated again.",
- "Maintenance_Tool_del_empty_macs": "Delete Devices with empty MACs",
- "Maintenance_Tool_del_empty_macs_text": "Before using this function, please make a backup. The deletion cannot be undone. All devices without MAC will be deleted from the database.",
- "Maintenance_Tool_del_empty_macs_noti": "Delete Devices",
- "Maintenance_Tool_del_empty_macs_noti_text": "Are you sure you want to delete all devices with empty MAC addresses?your pialert url/php/server/devices.php?action=ExportCSV",
- "Maintenance_Tool_ExportCSV_noti": "CSV Export",
- "Maintenance_Tool_ExportCSV_noti_text": "Are you sure you want to generate a CSV file?",
- "Maintenance_Tool_ImportCSV": "CSV Import",
- "Maintenance_Tool_ImportCSV_text": "Before using this function, please make a backup. Import a CSV (comma separated value) file containing the list of Devices including the Network relationships between Network Nodes and connected devices. To do that place the CSV file named devices.csv into your /config folder.",
- "Maintenance_Tool_ImportCSV_noti": "CSV Import",
- "Maintenance_Tool_ImportCSV_noti_text": "Are you sure you want to import the CSV file? This will completely overwrite the devices in your database.",
- "BackDevices_Arpscan_disabled": "Arp-Scan Disabled",
- "BackDevices_Arpscan_enabled": "Arp-Scan Enabled",
- "BackDevices_darkmode_disabled": "Darkmode Disabled",
- "BackDevices_darkmode_enabled": "Darkmode Enabled",
- "BackDevices_Restore_CopError": "The original database could not be saved.",
- "BackDevices_Restore_okay": "Restore executed successfully.",
- "BackDevices_Restore_Failed": "Restore Failed. Please restore the backup manually.",
- "BackDevices_Backup_CopError": "The original database could not be saved.",
- "BackDevices_Backup_okay": "The backup executed successfully with the new archive",
- "BackDevices_Backup_Failed": "The backup executed partially successfully. The archive could not be created or is empty.",
- "BackDevices_DBTools_DelDev_a": "Device deleted successfully",
- "BackDevices_DBTools_DelDev_b": "Devices deleted successfully",
- "BackDevices_DBTools_DelEvents": "Events deleted successfully",
- "BackDevices_DBTools_DelEventsError": "Error deleting Events",
- "BackDevices_DBTools_DelDevError_a": "Error deleting Device",
- "BackDevices_DBTools_DelDevError_b": "Error deleting Devices",
- "BackDevices_DBTools_UpdDev": "Device updated successfully",
- "BackDevices_DBTools_UpdDevError": "Error updating device",
- "BackDevices_DBTools_Upgrade": "Database upgraded successfully",
- "BackDevices_DBTools_UpgradeError": "Database upgrade failed",
- "BackDevices_DBTools_Purge": "The oldest backups were deleted",
- "BackDevices_DBTools_ImportCSV": "The devices from the CSV file were imported successfully.",
- "BackDevices_DBTools_ImportCSVError": "The CSV file could not be imported. Make sure the format is correct.",
- "BackDevices_DBTools_ImportCSVMissing": "The CSV file could not be found under /config/devices.csv.",
- "BackDevices_Device_UpdDevError": "Error updating devices, try later. The database is probably locked due to an ongoing task.",
- "Network_Title": "Network overview",
- "Network_ManageDevices": "Manage Devices",
- "Network_ManageAdd": "Add Device",
- "Network_ManageAssign": "Assign",
- "Network_ManageUnassign": "Unassign",
- "Network_ManageEdit": "Update Device",
- "Network_ManageDel": "Delete Device",
- "Network_ManageAdd_Name": "Device Name",
- "Network_ManageAdd_Name_text": "Name without special characters",
- "Network_ManageAdd_Type": "Device Type",
- "Network_ManageAdd_Type_text": "-- Select Type --",
- "Network_ManageAdd_Port": "Port Count",
- "Network_ManageAdd_Port_text": "leave blank for wifi and powerline",
- "Network_ManageAdd_Submit": "Add Device",
- "Network_ManageEdit_ID": "Device to update",
- "Network_ManageEdit_ID_text": "-- Select Device for editing --",
- "Network_ManageEdit_Name": "New Device Name",
- "Network_ManageEdit_Name_text": "Name without special characters",
- "Network_ManageEdit_Type": "New Device Type",
- "Network_ManageEdit_Type_text": "-- Select Type --",
- "Network_ManageEdit_Port": " New Port Count",
- "Network_ManageEdit_Port_text": "leave blank for wifi and powerline",
- "Network_ManageEdit_Submit": "Save Changes",
- "Network_ManageDel_Name": "Device to delete",
- "Network_ManageDel_Name_text": "-- Select Device --",
- "Network_ManageDel_Submit": "Delete",
- "Network_Table_State": "State",
- "Network_Table_Hostname": "Hostname",
- "Network_Table_IP": "IP",
- "Network_UnassignedDevices": "Unassigned devices",
- "Network_Assign": "Connect to the above Network node",
- "Network_Connected": "Connected devices",
- "Network_ManageLeaf": "Manage assignment",
- "Network_Node": "Network node",
- "Network_Node_Name": "Node name",
- "Network_Parent": "Parent network device",
- "Network_NoAssignedDevices": "This network node does not have any assigned devices (leaf nodes). Assign one from bellow or go to the Details tab of any device in Devices, and assign it to a network Node (MAC) and Port there.",
- "HelpFAQ_Title": "Help / FAQ",
- "HelpFAQ_Cat_General": "General",
- "HelpFAQ_Cat_Detail": "Details",
- "HelpFAQ_Cat_General_100_head": "The clock on the top right and the times of the events/presence are not correct (time difference).",
- "HelpFAQ_Cat_General_100_text_a": "On your PC the following time zone is set for the PHP environment:",
- "HelpFAQ_Cat_General_100_text_b": "If this is not the timezone you are in, you should change the timezone in the PHP configuration file. You can find it in this directory:",
- "HelpFAQ_Cat_General_100_text_c": "Search in this file for the entry \"date.timezone\", remove the leading \";\" if necessary and enter the desired timezone. A list with the supported timezones can be found here (Link)",
- "HelpFAQ_Cat_General_101_head": "My network seems to slow down, streaming \"freezes\".",
- "HelpFAQ_Cat_General_101_text": "It may well be that low-powered devices reach their performance limits with the way Pi.Alert detects new devices on the network. This is amplified even more, if these devices communicate with the network via WLAN. Solutions here would be to switch to a wired connection if possible or, if the device is only to be used for a limited period of time, to use the arp scan. pause the arp scan on the maintenance page.",
- "HelpFAQ_Cat_General_102_head": "I get the message that the database is read only.",
- "HelpFAQ_Cat_General_102_text": "Check in the Pi.Alert directory if the database folder (db) has been assigned the correct permissions:pialert.db file (/home/pi/pialert/db/pialert.db (see Examples for details)./home/pi/pialert/front/log.docker exec pialert chown -R www-data:www-data /home/pi/pialert/db/pialert.db.NETWORK_DEVICE_TYPES setting.",
- "HelpFAQ_Cat_Detail_300_text_b": "designates the port number where the currently edited device is connected to this network device. Read this guide for more info.",
- "HelpFAQ_Cat_Detail_301_head_a": "When is scanning now? At ",
- "HelpFAQ_Cat_Detail_301_head_b": " says 1min but the graph shows 5min intervals.",
- "HelpFAQ_Cat_Detail_301_text": "The time interval between the scans is defined by the \"Cronjob\", which is set to 5min by default. The designation \"1min\" refers to the expected duration of the scan. Depending on the network configuration, this time may vary. To edit the cronjob, you can use the following command in the terminal/console crontab -eand change the interval.",
- "HelpFAQ_Cat_Detail_302_head_a": "What means ",
- "HelpFAQ_Cat_Detail_302_head_b": "and why can not I select that?",
- "HelpFAQ_Cat_Detail_302_text": "Some modern devices generate random MAC addresses for privacy reasons, which can no longer be associated with any manufacturer and which change again with each new connection. Pi.Alert detects if it is such a random MAC address and activates this \"field\" automatically. To disable this behavior you have to look in your device how to disable MAC address randomization.",
- "HelpFAQ_Cat_Detail_303_head": "What is Nmap and what is it for?",
- "HelpFAQ_Cat_Detail_303_text": "Nmap is a network scanner with multiple capabilities.finished below. Check the error log if you didn not get the expected result. pialert.conf file.PIHOLE_RUNPiHole integration settings. The arp-scan time itself depends on the number of IP addresses to check so set this up carefully with the appropriate network mask and interface. Check the subnets documentation for help on setting up VLANs, what VLANs are supported, or how to figure out the network mask and your interface.",
- "LOG_LEVEL_name": "Print additional logging",
- "LOG_LEVEL_description": "This setting will enable more verbose logging. Useful for debugging events writing into the database.",
- "TIMEZONE_name": "Time zone",
- "TIMEZONE_description": "Time zone to display stats correctly. Find your time zone here.",
- "ENABLE_PLUGINS_name": "Enable Plugins",
- "ENABLE_PLUGINS_description": "Enables the plugins functionality. Loading plugins requires more hardware resources so you might want to disable them on low-powered system.",
- "PLUGINS_KEEP_HIST_name": "Plugins History",
- "PLUGINS_KEEP_HIST_description": "How many entries of Plugins History scan results should be kept (globally, not device specific!).",
- "PIALERT_WEB_PROTECTION_name": "Enable login",
- "PIALERT_WEB_PROTECTION_description": "When enabled a login dialog is displayed. Read below carefully if you get locked out of your instance.",
- "PIALERT_WEB_PASSWORD_name": "Login password",
- "PIALERT_WEB_PASSWORD_description": "The default password is 123456. To change the password run /home/pi/pialert/back/pialert-cli in the container or use the SETPWD_RUN Set password plugin.",
- "INCLUDED_SECTIONS_name": "Notify on",
- "INCLUDED_SECTIONS_description": "Specifies which events trigger notifications. Remove the event type(s) you do not want to get notified on. This setting overrides device-specific settings in the UI. (CTRL + Click to select/deselect).",
- "DAYS_TO_KEEP_EVENTS_name": "Delete events older than",
- "DAYS_TO_KEEP_EVENTS_description": "This is a maintenance setting. This specifies the number of days worth of event entries that will be kept. All older events will be deleted periodically. Also applies on Plugin Events History.",
- "HRS_TO_KEEP_NEWDEV_name": "Keep new devices for",
- "HRS_TO_KEEP_NEWDEV_description": "This is a maintenance setting. If enabled (0 is disabled), devices marked as New Device will be deleted if their First Session time was older than the specified hours in this setting. Use this setting if you want to auto-delete New Devices after X hours.",
- "REPORT_DASHBOARD_URL_name": "Pi.Alert URL",
- "REPORT_DASHBOARD_URL_description": "This URL is used as the base for generating links in the emails. Enter full URL starting with http:// including the port number (no trailig slash /).",
- "DIG_GET_IP_ARG_name": "Internet IP discovery",
- "DIG_GET_IP_ARG_description": "Change the dig utility arguments if you have issues resolving your Internet IP. Arguments are added at the end of the following command: dig +short .",
- "NETWORK_DEVICE_TYPES_name": "Network device types",
- "NETWORK_DEVICE_TYPES_description": "Which device types are allowed to be used as network devices in the Network view. The device type has to match exactly the Type setting on a specific device in Device details. Do not remove existing types, only add new ones.",
- "UI_LANG_name": "UI Language",
- "UI_LANG_description": "Select the preferred UI language.",
- "UI_PRESENCE_name": "Show in presence chart",
- "UI_PRESENCE_description": "Select what statuses should be shown in the Device presence over time chart in the Devices page. (CTRL + Click to select/deselect)",
- "Email_display_name": "Email",
- "Email_icon": "",
- "REPORT_MAIL_name": "Enable email",
- "REPORT_MAIL_description": "If enabled an email is sent out with a list of changes you nove subscribed to. Please also fill out all remaining settings related to the SMTP setup below. If facing issues, set LOG_LEVEL to debug and check the error log.",
- "SMTP_SERVER_name": "SMTP server URL",
- "SMTP_SERVER_description": "The SMTP server host URL. For example smtp-relay.sendinblue.com. To use Gmail as an SMTP server follow this guide",
- "SMTP_PORT_name": "SMTP server PORT",
- "SMTP_PORT_description": "Port number used for the SMTP connection. Set to 0 if you do not want to use a port when connecting to the SMTP server.",
- "SMTP_SKIP_LOGIN_name": "Skip authentication",
- "SMTP_SKIP_LOGIN_description": "Do not use authentication when connecting to the SMTP server.",
- "SMTP_USER_name": "SMTP user",
- "SMTP_USER_description": "The user name used to login into the SMTP server (sometimes a full email address).",
- "SMTP_PASS_name": "SMTP password",
- "SMTP_PASS_description": "The SMTP server password. ",
- "SMTP_SKIP_TLS_name": "Do not use TLS",
- "SMTP_SKIP_TLS_description": "Disable TLS when connecting to your SMTP server.",
- "SMTP_FORCE_SSL_name": "Force SSL",
- "SMTP_FORCE_SSL_description": "Force SSL when connecting to your SMTP server.",
- "SYSTEM_TITLE": "System Information",
- "REPORT_TO_name": "Send email to",
- "REPORT_TO_description": "Email address to which the notification will be send to.",
- "REPORT_FROM_name": "Email subject",
- "REPORT_FROM_description": "Notification email subject line. Some SMTP servers need this to be an email.",
- "Webhooks_display_name": "Webhooks",
- "Webhooks_icon": "",
- "REPORT_WEBHOOK_name": "Enable Webhooks",
- "REPORT_WEBHOOK_description": "Enable webhooks for notifications. Webhooks help you to connect to a lot of 3rd party tools, such as IFTTT, Zapier or n8n to name a few. Check out this simple n8n guide here to get started. If enabled, configure related settings below.",
- "WEBHOOK_URL_name": "Target URL",
- "WEBHOOK_URL_description": "Target URL starting with http:// or https://.",
- "WEBHOOK_PAYLOAD_name": "Payload type",
- "WEBHOOK_PAYLOAD_description": "The Webhook payload data format for the body > attachments > text attribute in the payload json. See an example of the payload here. (e.g.: for discord use text)",
- "WEBHOOK_REQUEST_METHOD_name": "Request method",
- "WEBHOOK_REQUEST_METHOD_description": "The HTTP request method to be used for the webhook call.",
- "WEBHOOK_SIZE_name": "Max payload size",
- "WEBHOOK_SIZE_description": "The maximum size of the webhook payload as number of characters in the passed string. If above limit, it will be truncated and a (text was truncated) message is appended.",
- "WEBHOOK_SECRET_name": "HMAC Secret",
- "WEBHOOK_SECRET_description": "When set, use this secret to generate the SHA256-HMAC hex digest value of the request body, which will be passed as the X-Webhook-Signature header to the request. You can find more informations here.",
- "Apprise_display_name": "Apprise",
- "Apprise_icon": "",
- "REPORT_APPRISE_name": "Enable Apprise",
- "REPORT_APPRISE_description": "Enable sending notifications via Apprise.",
- "APPRISE_HOST_name": "Apprise host URL",
- "APPRISE_HOST_description": "Apprise host URL starting with http:// or https://. (do not forget to include /notify at the end)",
- "APPRISE_URL_name": "Apprise notification URL",
- "APPRISE_URL_description": "Apprise notification target URL. For example for Telegram it would be tgram://{bot_token}/{chat_id}.",
- "APPRISE_SIZE_name": "Max payload size",
- "APPRISE_SIZE_description": "The maximum size of the apprise payload as number of characters in the passed string. If above limit, it will be truncated and a (text was truncated) message is appended.",
- "NTFY_display_name": "NTFY",
- "NTFY_icon": "",
- "REPORT_NTFY_name": "Enable NTFY",
- "REPORT_NTFY_description": "Enable sending notifications via NTFY.",
- "NTFY_HOST_name": "NTFY host URL",
- "NTFY_HOST_description": "NTFY host URL starting with http:// or https://. You can use the hosted instance on https://ntfy.sh by simply entering https://ntfy.sh.",
- "NTFY_TOPIC_name": "NTFY topic",
- "NTFY_TOPIC_description": "Your secret topic.",
- "NTFY_USER_name": "NTFY user",
- "NTFY_USER_description": "Enter user if you need (host) an instance with enabled authetication.",
- "NTFY_PASSWORD_name": "NTFY password",
- "NTFY_PASSWORD_description": "Enter password if you need (host) an instance with enabled authetication.",
- "PUSHSAFER_display_name": "Pushsafer",
- "PUSHSAFER_icon": "",
- "REPORT_PUSHSAFER_name": "Enable Pushsafer",
- "REPORT_PUSHSAFER_description": "Enable sending notifications via Pushsafer.",
- "PUSHSAFER_TOKEN_name": "Pushsafer token",
- "PUSHSAFER_TOKEN_description": "Your secret Pushsafer API key (token).",
- "APPRISE_PAYLOAD_name": "Payload type",
- "APPRISE_PAYLOAD_description": "Select the payoad type sent to Apprise. For example html works well with emails, text with chat apps, such as Telegram.",
- "MQTT_display_name": "MQTT",
- "MQTT_icon": "",
- "REPORT_TITLE": "Report",
- "REPORT_ERROR": "The page you are looking for is temporarily unavailable, please try again after a few seconds",
- "REPORT_MQTT_name": "Enable MQTT",
- "REPORT_MQTT_description": "Enable sending notifications via MQTT to your Home Assistance instance.",
- "MQTT_BROKER_name": "MQTT broker URL",
- "MQTT_BROKER_description": "MQTT host URL (do not include http:// or https://).",
- "MQTT_PORT_name": "MQTT broker port",
- "MQTT_PORT_description": "Port number where the broker is listening. Usually 1883.",
- "MQTT_USER_name": "MQTT user",
- "MQTT_USER_description": "User name used to login into your MQTT broker instance.",
- "MQTT_PASSWORD_name": "MQTT password",
- "MQTT_PASSWORD_description": "Password used to login into your MQTT broker instance.",
- "MQTT_QOS_name": "MQTT Quality of Service",
- "MQTT_QOS_description": "Quality of service setting for MQTT message sending. 0 - Low quality to 2 - High quality. The higher the quality the longer the delay.",
- "MQTT_DELAY_SEC_name": "MQTT delay per device",
- "MQTT_DELAY_SEC_description": "A little hack - delay adding to the queue in case the process is restarted and previous publish processes aborted (it takes ~2s to update a sensor config on the broker). Tested with 2-3 seconds of delay. This delay is only applied when devices are created (during the first notification loop). It doesn not affect subsequent scans or notifications.",
- "API_display_name": "API",
- "API_icon": "",
- "API_CUSTOM_SQL_name": "Custom endpoint",
- "API_CUSTOM_SQL_description": "You can specify a custom SQL query which will generate a JSON file and then expose it via the table_custom_endpoint.json file endpoint.",
- "Speedtest_Results": "Speedtest Results",
- "Systeminfo_General": "General",
- "Systeminfo_General_Full_Date": "Full Date:",
- "Systeminfo_General_Date": "Date:",
- "Systeminfo_General_Date2": "Date2:",
- "Systeminfo_General_TimeZone": "Timezone:",
- "Systeminfo_This_Client": "This Client",
- "Systeminfo_Client_User_Agent": "User Agent:",
- "Systeminfo_Client_Resolution": "Browser Resolution:",
- "Systeminfo_CPU": "CPU",
- "Systeminfo_CPU_Vendor": "CPU Vendor:",
- "Systeminfo_CPU_Name": "CPU Name:",
- "Systeminfo_CPU_Cores": "CPU Cores:",
- "Systeminfo_CPU_Speed": "CPU Speed:",
- "Systeminfo_CPU_Temp": "CPU Temp:",
- "Systeminfo_Memory": "Memory",
- "Systeminfo_Memory_Usage": "Memory usage:",
- "Systeminfo_Memory_Usage_Percent": "Memory %:",
- "Systeminfo_Memory_Total_Memory": "Total memory:",
- "Systeminfo_Motherboard": "Motherboard",
- "Systeminfo_Motherboard_BIOS": "BIOS:",
- "Systeminfo_Motherboard_BIOS_Date": "BIOS date:",
- "Systeminfo_Motherboard_BIOS_Vendor": "BIOS vendor:",
- "Systeminfo_Motherboard_Manufactured": "Manufactured by:",
- "Systeminfo_Motherboard_Name": "Name:",
- "Systeminfo_Motherboard_Revision": "Revision:",
- "Systeminfo_Network": "Network",
- "Systeminfo_Network_Accept_Encoding": "Accept encoding:",
- "Systeminfo_Network_Accept_Language": "Accept language:",
- "Systeminfo_Network_Connection_Port": "Connection port:",
- "Systeminfo_Network_HTTP_Host": "HTTP host:",
- "Systeminfo_Network_HTTP_Referer": "HTTP referer:",
- "Systeminfo_Network_HTTP_Referer_String": "No HTTP referer",
- "Systeminfo_Network_IP": "IP Internet:",
- "Systeminfo_Network_IP_Connection": "IP connection:",
- "Systeminfo_Network_IP_Server": "Server IP:",
- "Systeminfo_Network_MIME": "MIME:",
- "Systeminfo_Network_Request_Method": "Request Method:",
- "Systeminfo_Network_Request_URI": "Request URI:",
- "Systeminfo_Network_Request_Time": "Request time:",
- "Systeminfo_Network_Secure_Connection": "Secure connection:",
- "Systeminfo_Network_Secure_Connection_String": "No (HTTP)",
- "Systeminfo_Network_Server_Name": "Server name:",
- "Systeminfo_Network_Server_Name_String": "Server name not found",
- "Systeminfo_Network_Server_Query": "Server query:",
- "Systeminfo_Network_Server_Query_String": "No query string",
- "Systeminfo_Network_Server_Version": "Server Version:",
- "Systeminfo_Network_Hardware": "Network Hardware",
- "Systeminfo_Storage": "Storage",
- "Systeminfo_Storage_Mount": "Mount point:",
- "Systeminfo_Storage_Device": "Device:",
- "Systeminfo_Storage_Size": "Size:",
- "Systeminfo_Storage_Type": "Type:",
- "Systeminfo_Storage_Usage": "Storage usage",
- "Systeminfo_Storage_Usage_Mount": "Mount point:",
- "Systeminfo_Storage_Usage_Total": "Total:",
- "Systeminfo_Storage_Usage_Used": "Used:",
- "Systeminfo_Storage_Usage_Free": "Free:",
- "Systeminfo_Services": "Services",
- "Systeminfo_Services_Name": "Service Name",
- "Systeminfo_Services_Description": "Service Description",
- "Systeminfo_System": "System",
- "Systeminfo_System_Architecture": "Architecture:",
- "Systeminfo_System_AVG": "Load average:",
- "Systeminfo_System_Kernel": "Kernel:",
- "Systeminfo_System_OSVersion": "Operating System:",
- "Systeminfo_System_Running_Processes": "Running processes:",
- "Systeminfo_System_System": "System:",
- "Systeminfo_System_Uname": "Uname:",
- "Systeminfo_System_Uptime": "Uptime:",
- "Systeminfo_USB_Devices": "USB Devices",
- "Donations_Title": "Donations",
- "Donations_Text": "Hey π! Thanks for clicking on this menu item π
I'm trying to collect some donations to make you better software. Also, it would help me not to get burned out. Me burning out might mean end of support for this app. Any small (recurring or not) sponsorship makes me want ot put more effort into this app. I don't want to lock features (new plugins) behind paywalls π. Currently, I'm waking up 2h before work so I contribute to the app a bit. If I had some recurring income I could shorten my workweek and in the remaining time fully focus on PiAlert. You'd get more functionality, a more polished app and less bugs. Thanks for reading - I'm super grateful for any support β€π TL;DR: By supporting me you get: pialert_front.log file.",
+ "DevDetail_Nmap_Scans": "Manual Nmap Scans",
+ "DevDetail_Nmap_Scans_desc": "Here you can execute manual NMAP scans. You can also schedule regular automatic NMAP scans via the Services & Ports (NMAP) plugin. Head to Settings to find out more",
+ "BackDevDetail_Actions_Title_Run" : "Run action",
+ "BackDevDetail_Actions_Not_Registered" : "Action not registered: ",
+ "BackDevDetail_Actions_Ask_Run" : "Do you want to execute the action?",
+ "BackDevDetail_Tools_WOL_okay" : "The command was executed.",
+ "BackDevDetail_Tools_WOL_error" : "The command was NOT executed.",
+ "DevDetail_Tools_WOL_noti" : "Wake-on-LAN",
+ "DevDetail_Tools_WOL_noti_text" : "The Wake-on-LAN command is sent to the broadcast address. If the target is not in the subnet/vlan of Pi.Alert, the target device will not respond.",
+ "DevDetail_Tools_WOL" : "Send Wol command to ",
+ "DevDetail_WOL_Title" : " Wake-on-LAN",
+ "DevDetail_Run_Actions_Title" : " Run action on device",
+ "DevDetail_Run_Actions_Tooltip" : "Run an action on the current device from the dropdown list.",
+ "DevDetail_Copy_Device_Title" : " Copy details from device",
+ "DevDetail_Copy_Device_Tooltip" : "Copy details from device from the dropdown list. Everything on this page will be overwritten",
+ "BackDevDetail_Copy_Title" : "Copy details",
+ "BackDevDetail_Copy_Ask" : "Copy details from device from the dropdown list (Everything on this page will be overwritten)?",
+ "Maintenance_Title" : "Maintenance tools",
+ "Maintenance_version" : "App updates",
+ "Maintenance_new_version" : "π A new version is available. Check out the release notes.",
+ "Maintenance_current_version" : "You are up-to-date. Check out what I am working on.",
+ "Maintenance_built_on" : "Built on",
+ "Maintenance_Running_Version" : "Installed version",
+ "Maintenance_database_path" : "Database-Path",
+ "Maintenance_database_size" : "Database-Size",
+ "Maintenance_database_rows" : "Table (Rows)",
+ "Maintenance_database_lastmod" : "Last Modification",
+ "Maintenance_database_backup" : "DB Backups",
+ "Maintenance_database_backup_found" : "backups were found",
+ "Maintenance_database_backup_total" : "total disk usage",
+ "Maintenance_arp_status" : "Scan Status",
+ "Maintenance_arp_status_off" : "is currently disabled",
+ "Maintenance_arp_status_on" : "scan(s) currently running",
+ "Maintenance_themeselector_lable" : "Select Skin",
+ "Maintenance_themeselector_empty" : "Choose a Skin",
+ "Maintenance_themeselector_apply" : "Apply",
+ "Maintenance_themeselector_text" : "The change takes place on the server side, so it affects all devices in use.",
+ "Maintenance_lang_selector_lable" : "Select Language",
+ "Maintenance_lang_selector_empty" : "Choose Language",
+ "Maintenance_lang_en_us" : "English (US)",
+ "Maintenance_lang_de_de" : "German (DE)",
+ "Maintenance_lang_es_es" : "Spanish (ES)",
+ "Maintenance_lang_selector_text" : "The change takes place on the client side, so it affects only the current browser.",
+ "Maintenance_lang_selector_apply" : "Apply",
+ "Maintenance_Status" : "Status",
+ "Maintenance_Tools_Tab_Settings" : "Settings",
+ "Maintenance_Tools_Tab_UISettings" : "UI Settings",
+ "Maintenance_Tools_Tab_Tools" : "Tools",
+ "Maintenance_Tools_Tab_BackupRestore" : "Backup / Restore",
+ "Maintenance_Tools_Tab_Logging" : "Logs",
+ "Maintenance_Tool_displayed_columns_text" : "Change the visibility and order of the columns in the Devices page. (The drag-and-drop is a bit clunky, but for now workable, not a common task - will not fix for now (tried for like 3h - happy for someone to submit a PR :) )).",
+ "Maintenance_Tool_order_columns_text" : "",
+ "Maintenance_Tool_darkmode" : "Toggle Modes (Dark/Light)",
+ "Maintenance_Tool_drag_me" : "Drag me to reorder columns.",
+ "Maintenance_Tool_check_visible" : "Uncheck to hide column.",
+ "Maintenance_Tool_darkmode_text" : "Toggle between dark mode and light mode. If the switch does not work properly, try to clear the browser cache. The change takes place on the server side, so it affects all devices in use.",
+ "Maintenance_Tool_darkmode_noti" : "Toggle Modes",
+ "Maintenance_Tool_darkmode_noti_text" : "After the theme switch, the page tries to reload itself to activate the change. If necessary, the cache must be cleared.",
+ "Maintenance_Tool_arpscansw" : "Toggle arp-Scan (on/off)",
+ "Maintenance_Tool_arpscansw_text" : "Switching the arp-scan on or off. When the scan has been switched off it remains off until it is activated again. Active scans are not canceled.",
+ "Maintenance_Tool_arpscansw_noti" : "Toggle arp-Scan on or off",
+ "Maintenance_Tool_arpscansw_noti_text" : "When the scan has been switched off it remains off until it is activated again.",
+ "Maintenance_Tool_del_empty_macs" : "Delete Devices with empty MACs",
+ "Maintenance_Tool_del_empty_macs_text" : "Before using this function, please make a backup. The deletion cannot be undone. All devices without MAC will be deleted from the database.",
+ "Maintenance_Tool_del_empty_macs_noti" : "Delete Devices",
+ "Maintenance_Tool_del_empty_macs_noti_text" : "Are you sure you want to delete all devices with empty MAC addresses?your pialert url/php/server/devices.php?action=ExportCSV",
+ "Maintenance_Tool_ExportCSV_noti" : "CSV Export",
+ "Maintenance_Tool_ExportCSV_noti_text" : "Are you sure you want to generate a CSV file?",
+ "Maintenance_Tool_ImportCSV" : "CSV Import",
+ "Maintenance_Tool_ImportCSV_text" : "Before using this function, please make a backup. Import a CSV (comma separated value) file containing the list of Devices including the Network relationships between Network Nodes and connected devices. To do that place the CSV file named devices.csv into your /config folder.",
+ "Maintenance_Tool_ImportCSV_noti" : "CSV Import",
+ "Maintenance_Tool_ImportCSV_noti_text" : "Are you sure you want to import the CSV file? This will completely overwrite the devices in your database.",
+ "BackDevices_Arpscan_disabled" : "Arp-Scan Disabled",
+ "BackDevices_Arpscan_enabled" : "Arp-Scan Enabled",
+ "BackDevices_darkmode_disabled" : "Darkmode Disabled",
+ "BackDevices_darkmode_enabled" : "Darkmode Enabled",
+ "BackDevices_Restore_CopError" : "The original database could not be saved.",
+ "BackDevices_Restore_okay" : "Restore executed successfully.",
+ "BackDevices_Restore_Failed" : "Restore Failed. Please restore the backup manually.",
+ "BackDevices_Backup_CopError" : "The original database could not be saved.",
+ "BackDevices_Backup_okay" : "The backup executed successfully with the new archive",
+ "BackDevices_Backup_Failed" : "The backup executed partially successfully. The archive could not be created or is empty.",
+ "BackDevices_DBTools_DelDev_a" : "Device deleted successfully",
+ "BackDevices_DBTools_DelDev_b" : "Devices deleted successfully",
+ "BackDevices_DBTools_DelEvents" : "Events deleted successfully",
+ "BackDevices_DBTools_DelEventsError" : "Error deleting Events",
+ "BackDevices_DBTools_DelDevError_a" : "Error deleting Device",
+ "BackDevices_DBTools_DelDevError_b" : "Error deleting Devices",
+ "BackDevices_DBTools_UpdDev" : "Device updated successfully",
+ "BackDevices_DBTools_UpdDevError" : "Error updating device",
+ "BackDevices_DBTools_Upgrade" : "Database upgraded successfully",
+ "BackDevices_DBTools_UpgradeError" : "Database upgrade failed",
+ "BackDevices_DBTools_Purge" : "The oldest backups were deleted",
+ "BackDevices_DBTools_ImportCSV" : "The devices from the CSV file were imported successfully.",
+ "BackDevices_DBTools_ImportCSVError" : "The CSV file could not be imported. Make sure the format is correct.",
+ "BackDevices_DBTools_ImportCSVMissing" : "The CSV file could not be found under /config/devices.csv.",
+ "BackDevices_Device_UpdDevError" : "Error updating devices, try later. The database is probably locked due to an ongoing task.",
+ "Network_Title" : "Network overview",
+ "Network_ManageDevices" : "Manage Devices",
+ "Network_ManageAdd" : "Add Device",
+ "Network_ManageAssign" : "Assign",
+ "Network_ManageUnassign" : "Unassign",
+ "Network_ManageEdit" : "Update Device",
+ "Network_ManageDel" : "Delete Device",
+ "Network_ManageAdd_Name" : "Device Name",
+ "Network_ManageAdd_Name_text" : "Name without special characters",
+ "Network_ManageAdd_Type" : "Device Type",
+ "Network_ManageAdd_Type_text" : "-- Select Type --",
+ "Network_ManageAdd_Port" : "Port Count",
+ "Network_ManageAdd_Port_text" : "leave blank for wifi and powerline",
+ "Network_ManageAdd_Submit" : "Add Device",
+ "Network_ManageEdit_ID" : "Device to update",
+ "Network_ManageEdit_ID_text" : "-- Select Device for editing --",
+ "Network_ManageEdit_Name" : "New Device Name",
+ "Network_ManageEdit_Name_text" : "Name without special characters",
+ "Network_ManageEdit_Type" : "New Device Type",
+ "Network_ManageEdit_Type_text" : "-- Select Type --",
+ "Network_ManageEdit_Port" : " New Port Count",
+ "Network_ManageEdit_Port_text" : "leave blank for wifi and powerline",
+ "Network_ManageEdit_Submit" : "Save Changes",
+ "Network_ManageDel_Name" : "Device to delete",
+ "Network_ManageDel_Name_text" : "-- Select Device --",
+ "Network_ManageDel_Submit" : "Delete",
+ "Network_Table_State" : "State",
+ "Network_Table_Hostname" : "Hostname",
+ "Network_Table_IP" : "IP",
+ "Network_UnassignedDevices" : "Unassigned devices",
+ "Network_Assign" : "Connect to the above Network node",
+ "Network_Connected" : "Connected devices",
+ "Network_ManageLeaf" : "Manage assignment",
+ "Network_Node" : "Network node",
+ "Network_Node_Name" : "Node name",
+ "Network_Parent" : "Parent network device",
+ "Network_NoAssignedDevices" : "This network node does not have any assigned devices (leaf nodes). Assign one from bellow or go to the Details tab of any device in Devices, and assign it to a network Node (MAC) and Port there.",
+ "HelpFAQ_Title" : "Help / FAQ",
+ "HelpFAQ_Cat_General" : "General",
+ "HelpFAQ_Cat_Detail" : "Details",
+ "HelpFAQ_Cat_General_100_head" : "The clock on the top right and the times of the events/presence are not correct (time difference).",
+ "HelpFAQ_Cat_General_100_text_a" : "On your PC the following time zone is set for the PHP environment:",
+ "HelpFAQ_Cat_General_100_text_b" : "If this is not the timezone you are in, you should change the timezone in the PHP configuration file. You can find it in this directory:",
+ "HelpFAQ_Cat_General_100_text_c" : "Search in this file for the entry \"date.timezone\", remove the leading \";\" if necessary and enter the desired timezone. A list with the supported timezones can be found here (Link)",
+ "HelpFAQ_Cat_General_101_head" : "My network seems to slow down, streaming \"freezes\".",
+ "HelpFAQ_Cat_General_101_text" : "It may well be that low-powered devices reach their performance limits with the way Pi.Alert detects new devices on the network. This is amplified even more, if these devices communicate with the network via WLAN. Solutions here would be to switch to a wired connection if possible or, if the device is only to be used for a limited period of time, to use the arp scan. pause the arp scan on the maintenance page.",
+ "HelpFAQ_Cat_General_102_head" : "I get the message that the database is read only.",
+ "HelpFAQ_Cat_General_102_text" : "Check in the Pi.Alert directory if the database folder (db) has been assigned the correct permissions:pialert.db file (/home/pi/pialert/db/pialert.db (see Examples for details)./home/pi/pialert/front/log.docker exec pialert chown -R www-data:www-data /home/pi/pialert/db/pialert.db.NETWORK_DEVICE_TYPES setting.",
+ "HelpFAQ_Cat_Detail_300_text_b" : "designates the port number where the currently edited device is connected to this network device. Read this guide for more info.",
+ "HelpFAQ_Cat_Detail_301_head_a" : "When is scanning now? At ",
+ "HelpFAQ_Cat_Detail_301_head_b" : " says 1min but the graph shows 5min intervals.",
+ "HelpFAQ_Cat_Detail_301_text" : "The time interval between the scans is defined by the \"Cronjob\", which is set to 5min by default. The designation \"1min\" refers to the expected duration of the scan. Depending on the network configuration, this time may vary. To edit the cronjob, you can use the following command in the terminal/console crontab -eand change the interval.",
+ "HelpFAQ_Cat_Detail_302_head_a" : "What means ",
+ "HelpFAQ_Cat_Detail_302_head_b" : "and why can not I select that?",
+ "HelpFAQ_Cat_Detail_302_text" : "Some modern devices generate random MAC addresses for privacy reasons, which can no longer be associated with any manufacturer and which change again with each new connection. Pi.Alert detects if it is such a random MAC address and activates this \"field\" automatically. To disable this behavior you have to look in your device how to disable MAC address randomization.",
+ "HelpFAQ_Cat_Detail_303_head" : "What is Nmap and what is it for?",
+ "HelpFAQ_Cat_Detail_303_text" : "Nmap is a network scanner with multiple capabilities.finished below. Check the error log if you didn not get the expected result. pialert.conf file.PIHOLE_RUNPiHole integration settings. The arp-scan time itself depends on the number of IP addresses to check so set this up carefully with the appropriate network mask and interface. Check the subnets documentation for help on setting up VLANs, what VLANs are supported, or how to figure out the network mask and your interface.",
+ "LOG_LEVEL_name" : "Print additional logging",
+ "LOG_LEVEL_description" : "This setting will enable more verbose logging. Useful for debugging events writing into the database.",
+ "TIMEZONE_name" : "Time zone",
+ "TIMEZONE_description" : "Time zone to display stats correctly. Find your time zone here.",
+ "ENABLE_PLUGINS_name" : "Enable Plugins",
+ "ENABLE_PLUGINS_description" : "Enables the plugins functionality. Loading plugins requires more hardware resources so you might want to disable them on low-powered system.",
+ "PLUGINS_KEEP_HIST_name" : "Plugins History",
+ "PLUGINS_KEEP_HIST_description" : "How many entries of Plugins History scan results should be kept (globally, not device specific!).",
+ "PIALERT_WEB_PROTECTION_name" : "Enable login",
+ "PIALERT_WEB_PROTECTION_description" : "When enabled a login dialog is displayed. Read below carefully if you get locked out of your instance.",
+ "PIALERT_WEB_PASSWORD_name" : "Login password",
+ "PIALERT_WEB_PASSWORD_description" : "The default password is 123456. To change the password run /home/pi/pialert/back/pialert-cli in the container or use the SETPWD_RUN Set password plugin.",
+ "INCLUDED_SECTIONS_name" : "Notify on",
+ "INCLUDED_SECTIONS_description" : "Specifies which events trigger notifications. Remove the event type(s) you do not want to get notified on. This setting overrides device-specific settings in the UI. (CTRL + Click to select/deselect).",
+ "DAYS_TO_KEEP_EVENTS_name" : "Delete events older than",
+ "DAYS_TO_KEEP_EVENTS_description" : "This is a maintenance setting. This specifies the number of days worth of event entries that will be kept. All older events will be deleted periodically. Also applies on Plugin Events History.",
+ "HRS_TO_KEEP_NEWDEV_name" : "Keep new devices for",
+ "HRS_TO_KEEP_NEWDEV_description" : "This is a maintenance setting. If enabled (0 is disabled), devices marked as New Device will be deleted if their First Session time was older than the specified hours in this setting. Use this setting if you want to auto-delete New Devices after X hours.",
+ "REPORT_DASHBOARD_URL_name" : "Pi.Alert URL",
+ "REPORT_DASHBOARD_URL_description" : "This URL is used as the base for generating links in the emails. Enter full URL starting with http:// including the port number (no trailig slash /).",
+ "DIG_GET_IP_ARG_name" : "Internet IP discovery",
+ "DIG_GET_IP_ARG_description" : "Change the dig utility arguments if you have issues resolving your Internet IP. Arguments are added at the end of the following command: dig +short .",
+ "NETWORK_DEVICE_TYPES_name" : "Network device types",
+ "NETWORK_DEVICE_TYPES_description" : "Which device types are allowed to be used as network devices in the Network view. The device type has to match exactly the Type setting on a specific device in Device details. Do not remove existing types, only add new ones.",
+ "UI_LANG_name" : "UI Language",
+ "UI_LANG_description" : "Select the preferred UI language.",
+ "UI_PRESENCE_name" : "Show in presence chart",
+ "UI_PRESENCE_description" : "Select what statuses should be shown in the Device presence over time chart in the Devices page. (CTRL + Click to select/deselect)",
+ "Email_display_name" : "Email",
+ "Email_icon" : "",
+ "REPORT_MAIL_name" : "Enable email",
+ "REPORT_MAIL_description" : "If enabled an email is sent out with a list of changes you nove subscribed to. Please also fill out all remaining settings related to the SMTP setup below. If facing issues, set LOG_LEVEL to debug and check the error log.",
+ "SMTP_SERVER_name" : "SMTP server URL",
+ "SMTP_SERVER_description" : "The SMTP server host URL. For example smtp-relay.sendinblue.com. To use Gmail as an SMTP server follow this guide",
+ "SMTP_PORT_name" : "SMTP server PORT",
+ "SMTP_PORT_description" : "Port number used for the SMTP connection. Set to 0 if you do not want to use a port when connecting to the SMTP server.",
+ "SMTP_SKIP_LOGIN_name" : "Skip authentication",
+ "SMTP_SKIP_LOGIN_description" : "Do not use authentication when connecting to the SMTP server.",
+ "SMTP_USER_name" : "SMTP user",
+ "SMTP_USER_description" : "The user name used to login into the SMTP server (sometimes a full email address).",
+ "SMTP_PASS_name" : "SMTP password",
+ "SMTP_PASS_description" : "The SMTP server password. ",
+ "SMTP_SKIP_TLS_name" : "Do not use TLS",
+ "SMTP_SKIP_TLS_description" : "Disable TLS when connecting to your SMTP server.",
+ "SMTP_FORCE_SSL_name" : "Force SSL",
+ "SMTP_FORCE_SSL_description" : "Force SSL when connecting to your SMTP server.",
+ "SYSTEM_TITLE" : "System Information",
+ "REPORT_TO_name" : "Send email to",
+ "REPORT_TO_description" : "Email address to which the notification will be send to.",
+ "REPORT_FROM_name" : "Email subject",
+ "REPORT_FROM_description" : "Notification email subject line. Some SMTP servers need this to be an email.",
+ "Webhooks_display_name" : "Webhooks",
+ "Webhooks_icon" : "",
+ "REPORT_WEBHOOK_name" : "Enable Webhooks",
+ "REPORT_WEBHOOK_description" : "Enable webhooks for notifications. Webhooks help you to connect to a lot of 3rd party tools, such as IFTTT, Zapier or n8n to name a few. Check out this simple n8n guide here to get started. If enabled, configure related settings below.",
+ "WEBHOOK_URL_name" : "Target URL",
+ "WEBHOOK_URL_description" : "Target URL starting with http:// or https://.",
+ "WEBHOOK_PAYLOAD_name" : "Payload type",
+ "WEBHOOK_PAYLOAD_description" : "The Webhook payload data format for the body > attachments > text attribute in the payload json. See an example of the payload here. (e.g.: for discord use text)",
+ "WEBHOOK_REQUEST_METHOD_name" : "Request method",
+ "WEBHOOK_REQUEST_METHOD_description" : "The HTTP request method to be used for the webhook call.",
+ "WEBHOOK_SIZE_name" : "Max payload size",
+ "WEBHOOK_SIZE_description" : "The maximum size of the webhook payload as number of characters in the passed string. If above limit, it will be truncated and a (text was truncated) message is appended.",
+ "Apprise_display_name" : "Apprise",
+ "Apprise_icon" : "",
+ "REPORT_APPRISE_name" : "Enable Apprise",
+ "REPORT_APPRISE_description" : "Enable sending notifications via Apprise.",
+ "APPRISE_HOST_name" : "Apprise host URL",
+ "APPRISE_HOST_description" : "Apprise host URL starting with http:// or https://. (do not forget to include /notify at the end)",
+ "APPRISE_URL_name" : "Apprise notification URL",
+ "APPRISE_URL_description" : "Apprise notification target URL. For example for Telegram it would be tgram://{bot_token}/{chat_id}.",
+ "APPRISE_SIZE_name" : "Max payload size",
+ "APPRISE_SIZE_description" : "The maximum size of the apprise payload as number of characters in the passed string. If above limit, it will be truncated and a (text was truncated) message is appended.",
+ "NTFY_display_name" : "NTFY",
+ "NTFY_icon" : "",
+ "REPORT_NTFY_name" : "Enable NTFY",
+ "REPORT_NTFY_description" : "Enable sending notifications via NTFY.",
+ "NTFY_HOST_name" : "NTFY host URL",
+ "NTFY_HOST_description" : "NTFY host URL starting with http:// or https://. You can use the hosted instance on https://ntfy.sh by simply entering https://ntfy.sh.",
+ "NTFY_TOPIC_name" : "NTFY topic",
+ "NTFY_TOPIC_description" : "Your secret topic.",
+ "NTFY_USER_name" : "NTFY user",
+ "NTFY_USER_description" : "Enter user if you need (host) an instance with enabled authetication.",
+ "NTFY_PASSWORD_name" : "NTFY password",
+ "NTFY_PASSWORD_description" : "Enter password if you need (host) an instance with enabled authetication.",
+ "PUSHSAFER_display_name" : "Pushsafer",
+ "PUSHSAFER_icon" : "",
+ "REPORT_PUSHSAFER_name" : "Enable Pushsafer",
+ "REPORT_PUSHSAFER_description" : "Enable sending notifications via Pushsafer.",
+ "PUSHSAFER_TOKEN_name" : "Pushsafer token",
+ "PUSHSAFER_TOKEN_description" : "Your secret Pushsafer API key (token).",
+ "APPRISE_PAYLOAD_name" : "Payload type",
+ "APPRISE_PAYLOAD_description" : "Select the payoad type sent to Apprise. For example html works well with emails, text with chat apps, such as Telegram.",
+ "MQTT_display_name" : "MQTT",
+ "MQTT_icon" : "",
+ "REPORT_TITLE" : "Report",
+ "REPORT_ERROR" : "The page you are looking for is temporarily unavailable, please try again after a few seconds",
+ "REPORT_MQTT_name" : "Enable MQTT",
+ "REPORT_MQTT_description" : "Enable sending notifications via MQTT to your Home Assistance instance.",
+ "MQTT_BROKER_name" : "MQTT broker URL",
+ "MQTT_BROKER_description" : "MQTT host URL (do not include http:// or https://).",
+ "MQTT_PORT_name" : "MQTT broker port",
+ "MQTT_PORT_description" : "Port number where the broker is listening. Usually 1883.",
+ "MQTT_USER_name" : "MQTT user",
+ "MQTT_USER_description" : "User name used to login into your MQTT broker instance.",
+ "MQTT_PASSWORD_name" : "MQTT password",
+ "MQTT_PASSWORD_description" : "Password used to login into your MQTT broker instance.",
+ "MQTT_QOS_name" : "MQTT Quality of Service",
+ "MQTT_QOS_description" : "Quality of service setting for MQTT message sending. 0 - Low quality to 2 - High quality. The higher the quality the longer the delay.",
+ "MQTT_DELAY_SEC_name" : "MQTT delay per device",
+ "MQTT_DELAY_SEC_description" : "A little hack - delay adding to the queue in case the process is restarted and previous publish processes aborted (it takes ~2s to update a sensor config on the broker). Tested with 2-3 seconds of delay. This delay is only applied when devices are created (during the first notification loop). It doesn not affect subsequent scans or notifications.",
+ "API_display_name" : "API",
+ "API_icon" : "",
+ "API_CUSTOM_SQL_name" : "Custom endpoint",
+ "API_CUSTOM_SQL_description" : "You can specify a custom SQL query which will generate a JSON file and then expose it via the table_custom_endpoint.json file endpoint.",
+ "Speedtest_Results" : "Speedtest Results",
+ "Systeminfo_General" : "General",
+ "Systeminfo_General_Full_Date": "Full Date:",
+ "Systeminfo_General_Date": "Date:",
+ "Systeminfo_General_Date2": "Date2:",
+ "Systeminfo_General_TimeZone": "Timezone:",
+ "Systeminfo_This_Client" : "This Client",
+ "Systeminfo_Client_User_Agent": "User Agent:",
+ "Systeminfo_Client_Resolution": "Browser Resolution:",
+ "Systeminfo_CPU" : "CPU",
+ "Systeminfo_CPU_Vendor": "CPU Vendor:",
+ "Systeminfo_CPU_Name": "CPU Name:",
+ "Systeminfo_CPU_Cores": "CPU Cores:",
+ "Systeminfo_CPU_Speed": "CPU Speed:",
+ "Systeminfo_CPU_Temp": "CPU Temp:",
+ "Systeminfo_Memory" : "Memory",
+ "Systeminfo_Memory_Usage": "Memory usage:",
+ "Systeminfo_Memory_Usage_Percent": "Memory %:",
+ "Systeminfo_Memory_Total_Memory": "Total memory:",
+ "Systeminfo_Motherboard" : "Motherboard",
+ "Systeminfo_Motherboard_BIOS": "BIOS:",
+ "Systeminfo_Motherboard_BIOS_Date": "BIOS date:",
+ "Systeminfo_Motherboard_BIOS_Vendor": "BIOS vendor:",
+ "Systeminfo_Motherboard_Manufactured": "Manufactured by:",
+ "Systeminfo_Motherboard_Name": "Name:",
+ "Systeminfo_Motherboard_Revision": "Revision:",
+ "Systeminfo_Network" : "Network",
+ "Systeminfo_Network_Accept_Encoding": "Accept encoding:",
+ "Systeminfo_Network_Accept_Language": "Accept language:",
+ "Systeminfo_Network_Connection_Port": "Connection port:",
+ "Systeminfo_Network_HTTP_Host": "HTTP host:",
+ "Systeminfo_Network_HTTP_Referer": "HTTP referer:",
+ "Systeminfo_Network_HTTP_Referer_String": "No HTTP referer",
+ "Systeminfo_Network_IP": "IP Internet:",
+ "Systeminfo_Network_IP_Connection": "IP connection:",
+ "Systeminfo_Network_IP_Server": "Server IP:",
+ "Systeminfo_Network_MIME": "MIME:",
+ "Systeminfo_Network_Request_Method": "Request Method:",
+ "Systeminfo_Network_Request_URI": "Request URI:",
+ "Systeminfo_Network_Request_Time": "Request time:",
+ "Systeminfo_Network_Secure_Connection": "Secure connection:",
+ "Systeminfo_Network_Secure_Connection_String": "No (HTTP)",
+ "Systeminfo_Network_Server_Name": "Server name:",
+ "Systeminfo_Network_Server_Name_String": "Server name not found",
+ "Systeminfo_Network_Server_Query": "Server query:",
+ "Systeminfo_Network_Server_Query_String": "No query string",
+ "Systeminfo_Network_Server_Version": "Server Version:",
+ "Systeminfo_Network_Hardware" : "Network Hardware",
+ "Systeminfo_Storage" : "Storage",
+ "Systeminfo_Storage_Mount" : "Mount point:",
+ "Systeminfo_Storage_Device" : "Device:",
+ "Systeminfo_Storage_Size" : "Size:",
+ "Systeminfo_Storage_Type" : "Type:",
+ "Systeminfo_Storage_Usage" : "Storage usage",
+ "Systeminfo_Storage_Usage_Mount" : "Mount point:",
+ "Systeminfo_Storage_Usage_Total" : "Total:",
+ "Systeminfo_Storage_Usage_Used" : "Used:",
+ "Systeminfo_Storage_Usage_Free" : "Free:",
+ "Systeminfo_Services" : "Services",
+ "Systeminfo_Services_Name" : "Service Name",
+ "Systeminfo_Services_Description" : "Service Description",
+ "Systeminfo_System" : "System",
+ "Systeminfo_System_Architecture": "Architecture:",
+ "Systeminfo_System_AVG": "Load average:",
+ "Systeminfo_System_Kernel": "Kernel:",
+ "Systeminfo_System_OSVersion": "Operating System:",
+ "Systeminfo_System_Running_Processes" : "Running processes:",
+ "Systeminfo_System_System": "System:",
+ "Systeminfo_System_Uname": "Uname:",
+ "Systeminfo_System_Uptime": "Uptime:",
+ "Systeminfo_USB_Devices" : "USB Devices",
+ "Donations_Title" : "Donations",
+ "Donations_Text" : "Hey π! Thanks for clicking on this menu item π
I'm trying to collect some donations to make you better software. Also, it would help me not to get burned out. Me burning out might mean end of support for this app. Any small (recurring or not) sponsorship makes me want ot put more effort into this app. I don't want to lock features (new plugins) behind paywalls π. Currently, I'm waking up 2h before work so I contribute to the app a bit. If I had some recurring income I could shorten my workweek and in the remaining time fully focus on PiAlert. You'd get more functionality, a more polished app and less bugs. Thanks for reading - I'm super grateful for any support β€π TL;DR: By supporting me you get: