diff --git a/docs/WEBHOOK_SECRET.md b/docs/WEBHOOK_SECRET.md
new file mode 100644
index 00000000..fd0982df
--- /dev/null
+++ b/docs/WEBHOOK_SECRET.md
@@ -0,0 +1,38 @@
+# Webhook Secrets
+
+## How does the signing work?
+
+Pi.Alert will use the configured secret to create a hash signature of the requests body. This SHA256-HMAC signature will appear in the `X-Webhook-Signature` header of each request to the webhook target URL. You can use the value of this header to validate the request was sent by Pi.Alert.
+
+## Activating webhook signatures
+
+All you need to do in order to add a signature to the requests headers is to set the `WEBHOOK_SECRET` config value to a non-empty string.
+
+## Validating webhook deliveries
+
+There are a few things to keep in mind when validating the webhook delivery:
+
+- Pi.Alert uses an HMAC hex digest to compute the hash
+- The signature in the `X-Webhook-Signature` header always starts with `sha256=`
+- The hash signature is generated using the configured `WEBHOOK_SECRET` and the request body.
+- Never use a plain `==` operator. Instead consider using a method like [`secure_compare`](https://www.rubydoc.info/gems/rack/Rack%2FUtils:secure_compare) or [`crypto.timingSafeEqual`](https://nodejs.org/api/crypto.html#cryptotimingsafeequala-b), which performs a "constant time" string comparison to help mitigate certain timing attacks against regular equality operators, or regular loops in JIT-optimized languages.
+
+## Testing the webhook payload validation
+
+You can use the following secret and request body to verify your implementation is working correctly.
+
+`secret`: 'this is my secret'
+
+`payload`: '{"test":"this is a test body"}'
+
+If your implementation is correct, the signature you generated should match the following:
+
+`signature`: bed21fcc34f98e94fd71c7edb75e51a544b4a3b38b069ebaaeb19bf4be8147e9
+
+`X-Webhook-Signature`: sha256=bed21fcc34f98e94fd71c7edb75e51a544b4a3b38b069ebaaeb19bf4be8147e9
+
+## More information
+
+If you want to learn more about webhook security, take a look at [Github's webhook documentation](https://docs.github.com/en/webhooks/about-webhooks).
+
+You can find examples for validating a webhook delivery [here](https://docs.github.com/en/webhooks/using-webhooks/validating-webhook-deliveries#examples).
diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json
index ff1b3f1a..46721375 100755
--- a/front/php/templates/language/en_us.json
+++ b/front/php/templates/language/en_us.json
@@ -1,663 +1,665 @@
{
- "en_us": {
- "About_Title": "Open Source Network Guard",
- "About_Design" : "Designed for:",
- "About_Exit" : "Sign out",
- "Gen_Delete" : "Delete",
- "Gen_DeleteAll" : "Delete all",
- "Gen_Cancel" : "Cancel",
- "Gen_Okay" : "Ok",
- "Gen_Save" : "Save",
- "Gen_Saved" : "Saved",
- "Gen_Run" : "Run",
- "Gen_Copy" : "Run",
- "Gen_Action" : "Action",
- "Gen_Purge" : "Purge",
- "Gen_Backup" : "Run Backup",
- "Gen_Restore" : "Run Restore",
- "Gen_Switch" : "Switch",
- "Gen_AreYouSure" : "Are you sure?",
- "Gen_Upd" : "Updated successfully",
- "Gen_Upd_Fail" : "Update failed",
- "Gen_ReadDocs" : "Read more in the docs.",
- "Gen_DataUpdatedUITakesTime" : "OK - It may take a while for the UI to update if a scan is runnig.",
- "Gen_LockedDB" : "ERROR - DB might be locked - Check F12 Dev tools -> Console or try later.",
- "Login_Box" : "Enter your password",
- "Login_Remember" : "Remember",
- "Login_Remember_small" : "(valid for 7 days)",
- "Login_Submit" : "Log in",
- "Login_Psw_run" : "To change the password run:",
- "Login_Psw_new" : "new_password",
- "Login_Psw_folder" : "in the config folder.",
- "Login_Psw_alert" : "Password Alert!",
- "Login_Psw-box" : "Password",
- "Login_Toggle_Info" : "Password Information",
- "Login_Toggle_Info_headline" : "Password Information",
- "Login_Toggle_Alert_headline" : "Password Alert!",
- "Login_Default_PWD" : "Default password \"123456\" is still active.",
- "Navigation_Devices" : "Devices",
- "Navigation_Presence" : "Presence",
- "Navigation_Events" : "Events",
- "Navigation_Report" : "Report",
- "Navigation_Network" : "Network",
- "Navigation_Plugins" : "Plugins",
- "Navigation_Maintenance" : "Maintenance",
- "Navigation_Settings" : "Settings",
- "Navigation_SystemInfo" : "System info",
- "Navigation_Flows" : "Flows",
- "Navigation_HelpFAQ" : "Help / FAQ",
- "Navigation_Donations" : "Donations",
- "Device_Title" : "Devices",
- "Device_Shortcut_AllDevices" : "All Devices",
- "Device_Shortcut_Connected" : "Connected",
- "Device_Shortcut_Favorites" : "Favorites",
- "Device_Shortcut_NewDevices" : "New Devices",
- "Device_Shortcut_DownAlerts" : "Down Alerts",
- "Device_Shortcut_Archived" : "Archived",
- "Device_Shortcut_Devices" : "Devices",
- "Device_Shortcut_OnlineChart" : "Device presence over time",
- "Device_TableHead_Name" : "Name",
- "Device_TableHead_Owner" : "Owner",
- "Device_TableHead_Type" : "Type",
- "Device_TableHead_Icon" : "Icon",
- "Device_TableHead_RowID" : "Row ID",
- "Device_TableHead_Rowid" : "Row ID",
- "Device_TableHead_Parent_MAC" : "Parent node MAC",
- "Device_TableHead_Connected_Devices" : "Connected Devices",
- "Device_TableHead_Location" : "Location",
- "Device_TableHead_Vendor" : "Vendor",
- "Device_TableHead_Port" : "Port",
- "Device_TableHead_Favorite" : "Favorite",
- "Device_TableHead_Group" : "Group",
- "Device_TableHead_FirstSession" : "First Session",
- "Device_TableHead_LastSession" : "Last Session",
- "Device_TableHead_LastIP" : "Last IP",
- "Device_TableHead_MAC" : "MAC",
- "Device_TableHead_MAC_full" : "Full MAC",
- "Device_TableHead_LastIPOrder" : "Last IP Order",
- "Device_TableHead_Status" : "Status",
- "Device_Searchbox" : "Search",
- "Device_Tablelenght" : "Show _MENU_ entries",
- "Device_Tablelenght_all" : "All",
- "Device_Table_info" : "Showing _START_ to _END_ of _TOTAL_ entries",
- "Device_Table_nav_next" : "Next",
- "Device_Table_nav_prev" : "Previous",
- "Presence_Title" : "Presence by Device",
- "Presence_Loading" : "Loading...",
- "Loading" : "Loading...",
- "Presence_Shortcut_AllDevices" : "All Devices",
- "Presence_Shortcut_Connected" : "Connected",
- "Presence_Shortcut_Favorites" : "Favorites",
- "Presence_Shortcut_NewDevices" : "New Devices",
- "Presence_Shortcut_DownAlerts" : "Down Alerts",
- "Presence_Shortcut_Archived" : "Archived",
- "Presence_Shortcut_Devices" : "Devices",
- "Presence_CallHead_Devices" : "Devices",
- "Presence_CalHead_lang" : "en-us",
- "Presence_CalHead_year" : "year",
- "Presence_CalHead_quarter" : "quarter",
- "Presence_CalHead_month" : "month",
- "Presence_CalHead_week" : "week",
- "Presence_CalHead_day" : "day",
- "Events_Title" : "Events",
- "Events_Loading" : "Loading...",
- "Events_Periodselect_today" : "Today",
- "Events_Periodselect_LastWeek" : "Last Week",
- "Events_Periodselect_LastMonth" : "Last Month",
- "Events_Periodselect_LastYear" : "Last Year",
- "Events_Periodselect_All" : "All Info",
- "Events_Shortcut_AllEvents" : "All Events",
- "Events_Shortcut_Sessions" : "Sessions",
- "Events_Shortcut_MissSessions" : "Missing Sessions",
- "Events_Shortcut_VoidSessions" : "Voided Sessions",
- "Events_Shortcut_NewDevices" : "New Devices",
- "Events_Shortcut_DownAlerts" : "Down Alerts",
- "Events_Shortcut_Events" : "Events",
- "Events_TableHead_Order" : "Order",
- "Events_TableHead_Device" : "Device",
- "Events_TableHead_Owner" : "Owner",
- "Events_TableHead_Date" : "Date",
- "Events_TableHead_EventType" : "Event Type",
- "Events_TableHead_Connection" : "Connection",
- "Events_TableHead_Disconnection" : "Disconnection",
- "Events_TableHead_Duration" : "Duration",
- "Events_TableHead_DurationOrder" : "Duration Order",
- "Events_TableHead_IP" : "IP",
- "Events_TableHead_IPOrder" : "IP Order",
- "Events_TableHead_AdditionalInfo" : "Additional Info",
- "Events_Searchbox" : "Search",
- "Events_Tablelenght" : "Show _MENU_ entries",
- "Events_Tablelenght_all" : "All",
- "Events_Table_info" : "Showing _START_ to _END_ of _TOTAL_ entries",
- "Events_Table_nav_next" : "Next",
- "Events_Table_nav_prev" : "Previous",
- "DevDetail_Loading" : "Loading...",
- "DevDetail_Periodselect_today" : "Today",
- "DevDetail_Periodselect_LastWeek" : "Last Week",
- "DevDetail_Periodselect_LastMonth" : "Last Month",
- "DevDetail_Periodselect_LastYear" : "Last Year",
- "DevDetail_Periodselect_All" : "All Info",
- "DevDetail_Shortcut_CurrentStatus" : "Current Status",
- "DevDetail_Shortcut_Sessions" : "Sessions",
- "DevDetail_Shortcut_Presence" : "Presence",
- "DevDetail_Shortcut_DownAlerts" : "Down Alerts",
- "DevDetail_Tab_Details" : " Details",
- "DevDetail_Tab_Tools": " Tools",
- "DevDetail_Tab_Tools_Internet_Info_Title": "Internet Info",
- "DevDetail_Tab_Tools_Internet_Info_Description": "The Internet info tool displays information about the Internet connection, such as IP address, city, country, area code and time zone.",
- "DevDetail_Tab_Tools_Internet_Info_Start": "Start Internet Info",
- "DevDetail_Tab_Tools_Internet_Info_Error": "An error has occurred",
- "DevDetail_Tab_Tools_Nslookup_Title": "Nslookup",
- "DevDetail_Tab_Tools_Nslookup_Description": "Nslookup is a command-line tool used to query the Domain Name System (DNS). DNS is a system that translates domain names, such as www.google.com, into IP addresses , such as 172.217.0.142.",
- "DevDetail_Tab_Tools_Nslookup_Start": "Start Nslookup",
- "DevDetail_Tab_Tools_Nslookup_Error": "Error: IP address is not valid",
- "DevDetail_Tab_Tools_Speedtest_Title" : "Online Speedtest",
- "DevDetail_Tab_Tools_Speedtest_Description" : "The Speedtest tool measures the download speed, upload speed and latency of the internet connection.",
- "DevDetail_Tab_Tools_Speedtest_Start" : "Start Speedtest",
- "DevDetail_Tab_Tools_Traceroute_Title": "Traceroute",
- "DevDetail_Tab_Tools_Traceroute_Description": "Traceroute is a network diagnostic command used to trace the path that data packets take from one host to another.
The command uses the Internet Control Message Protocol (ICMP) to send packets to intermediate nodes on the route, each intermediate node responds with an ICMP time-out (TTL timed out) packet.
The output of the traceroute command displays the IP address of each intermediate node on the route.
The traceroute command can be used to diagnose network problems, such as delays, packet loss, and blocked routes.
It can also be used to identify the location of an intermediate node on a network.",
- "DevDetail_Tab_Tools_Traceroute_Start": "Start Traceroute",
- "DevDetail_Tab_Tools_Traceroute_Error": "Error: IP address is not valid",
- "DevDetail_Tab_Nmap" : " Nmap",
- "DevDetail_Tab_Sessions" : " Sessions",
- "DevDetail_Tab_Presence" : " Presence",
- "DevDetail_Tab_Events" : " Events",
- "DevDetail_Tab_EventsTableDate" : "Date",
- "DevDetail_Tab_EventsTableEvent" : "Event type",
- "DevDetail_Tab_EventsTableIP" : "IP",
- "DevDetail_Tab_EventsTableInfo" : "Additional info",
- "DevDetail_Tab_Plugins" : " Plugins",
- "DevDetail_Tab_NmapTableHeader" : "Scheduled scan results",
- "DevDetail_Tab_NmapTableText" : "Set up a schedule in Settings",
- "DevDetail_Tab_NmapEmpty" : "No ports detected with Nmap on this device.",
- "DevDetail_Tab_NmapTableIndex" : "Index",
- "DevDetail_Tab_NmapTableTime" : "Time",
- "DevDetail_Tab_NmapTablePort" : "Port",
- "DevDetail_Tab_NmapTableState" : "State",
- "DevDetail_Tab_NmapTableService" : "Service",
- "DevDetail_Tab_NmapTableExtra" : "Extra",
- "DevDetail_MainInfo_Title" : " Main Info",
- "DevDetail_MainInfo_mac" : "MAC",
- "DevDetail_MainInfo_Name" : "Name",
- "DevDetail_MainInfo_Owner" : "Owner",
- "DevDetail_Owner_hover" : "Who owns this device. Free text field.",
- "DevDetail_MainInfo_Type" : "Type",
- "DevDetail_Type_hover" : "The Type of the device. If you select any of the pre-defined network devices (e.g.: AP, Firewall, Router, Switch...) they will show up in the Network tree configuration as possible parent network nodes.",
- "DevDetail_Icon" : "Icon",
- "DevDetail_Icon_Descr" : "Enter a font awesome icon name without the fa- prefix or with complete class, e.g.: fa fa-brands fa-apple.",
- "DevDetail_MainInfo_Vendor" : "Vendor",
- "DevDetail_Vendor_hover" : "Vendor should be auto-detected. You can overwrite or add your custom value.",
- "DevDetail_MainInfo_Favorite" : "Favorite",
- "DevDetail_MainInfo_Group" : "Group",
- "DevDetail_MainInfo_Location" : "Location",
- "DevDetail_MainInfo_Comments" : "Comments",
- "DevDetail_MainInfo_Network_Title" : " Network",
- "DevDetail_MainInfo_Network" : " Node (MAC)",
- "DevDetail_Network_Node_hover" : "Select the parent network device the current device is connected to to populate the Network tree.",
- "DevDetail_GoToNetworkNode" : "Navigate to the Network page of the given node.",
- "DevDetail_MainInfo_Network_Port" : " Port",
- "DevDetail_Network_Port_hover" : "The port this device is connected to on the parent network device. If left empty a wifi icon is displayed in the Network tree.",
- "DevDetail_SessionInfo_Title" : " Session Info",
- "DevDetail_SessionInfo_Status" : "Status",
- "DevDetail_SessionInfo_FirstSession" : "First Session",
- "DevDetail_SessionInfo_LastSession" : "Last Session",
- "DevDetail_SessionInfo_LastIP" : "Last IP",
- "DevDetail_SessionInfo_StaticIP" : "Static IP",
- "DevDetail_EveandAl_Title" : " Events & Alerts config",
- "DevDetail_EveandAl_ScanCycle" : "Scan device",
- "DevDetail_EveandAl_AlertAllEvents" : "Alert All Events",
- "DevDetail_EveandAl_AlertDown" : "Alert Down",
- "DevDetail_EveandAl_Skip" : "Skip repeated notifications for",
- "DevDetail_EveandAl_NewDevice" : "New Device",
- "DevDetail_EveandAl_Archived" : "Archived",
- "DevDetail_EveandAl_RandomMAC" : "Random MAC",
- "RandomMAC_hover" : "Autodetected - indicates if the device randomizes it's MAC address.",
- "DevDetail_EveandAl_ScanCycle_a" : "Scan Device",
- "DevDetail_EveandAl_ScanCycle_z" : "Don't Scan Device",
- "DevDetail_button_Delete" : "Delete Device",
- "DevDetail_button_DeleteEvents" : "Delete Events",
- "DevDetail_button_DeleteEvents_Warning" : "Are you sure you want to delete all Events of this device?
(this will clear the Events history and the Sessions and might help with constant (persistent) notifications)",
- "DevDetail_button_Reset" : "Reset Changes",
- "DevDetail_button_Save" : "Save",
- "DevDetail_button_OverwriteIcons" : "Overwrite Icons",
- "DevDetail_button_OverwriteIcons_Tooltip" : "Overwrite icons of all devices with the same device type",
- "DevDetail_button_OverwriteIcons_Warning" : "Are you sure you want to overwrite all icons of all devices with the same device type as the current device type?",
- "DevDetail_SessionTable_Order" : "Order",
- "DevDetail_SessionTable_Connection" : "Connection",
- "DevDetail_SessionTable_Disconnection" : "Disconnection",
- "DevDetail_SessionTable_Duration" : "Duration",
- "DevDetail_SessionTable_IP" : "IP",
- "DevDetail_SessionTable_Additionalinfo" : "Additional info",
- "DevDetail_Events_CheckBox" : "Hide Connection Events",
- "DevDetail_Nmap_buttonFast" : "Fast Scan",
- "DevDetail_Nmap_buttonDefault" : "Default Scan",
- "DevDetail_Nmap_buttonDetail" : "Detailed Scan",
- "DevDetail_Nmap_buttonFast_text" : "Fast Scan: Scan fewer ports (100) than the default scan (a few seconds)",
- "DevDetail_Nmap_buttonDefault_text" : "Default Scan: Nmap scans the top 1,000 ports for each scan protocol requested. This catches roughly 93% of the TCP ports and 49% of the UDP ports. (about 5 seconds)",
- "DevDetail_Nmap_buttonDetail_text" : "Detailed Scan: Default scan with enabled OS detection, version detection, script scanning and traceroute (up to 30 seconds or more)",
- "DevDetail_Nmap_buttonSkipDiscovery" : "Skip host discovery",
- "DevDetail_Nmap_buttonSkipDiscovery_text" : "Skip host discovery (-Pn option): Default scan without host discovery",
- "DevDetail_Nmap_resultsLink" : "You can leave this page after starting a scan. Results will be also available in the 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?
(maybe you prefer to archive it)",
- "Maintenance_Tool_upgrade_database_noti" : "Upgrade database",
- "Maintenance_Tool_upgrade_database_text" : "This button will upgrade the database to enable the Network activity over last 12 hours chart. Please backup your database in case of issues.",
- "Maintenance_Tool_upgrade_database_noti_text" : "Are you sure you want to upgrade the database?
(maybe you prefer to archive it)",
- "Maintenance_Tool_del_alldev" : "Delete all Devices",
- "Maintenance_Tool_del_alldev_text" : "Before using this function, please make a backup. The deletion cannot be undone. All devices will be deleted from the database.",
- "Maintenance_Tool_del_alldev_noti" : "Delete Devices",
- "Maintenance_Tool_del_alldev_noti_text" : "Are you sure you want to delete all devices?",
- "Maintenance_Tool_del_unknowndev" : "Delete (unknown) Devices",
- "Maintenance_Tool_del_unknowndev_text" : "Before using this function, please make a backup. The deletion cannot be undone. All devices named (unknown) will be deleted from the database.",
- "Maintenance_Tool_del_unknowndev_noti" : "Delete (unknown) Devices",
- "Maintenance_Tool_del_unknowndev_noti_text" : "Are you sure you want to delete all (unknown) devices?",
- "Maintenance_Tool_del_allevents" : "Delete Events (Reset Presence)",
- "Maintenance_Tool_del_allevents_text" : "Before using this function, please make a backup. The deletion cannot be undone. All events in the database will be deleted. At that moment the presence of all devices will be reset. This can lead to invalid sessions. This means that devices are displayed as \"present\" although they are offline. A scan while the device in question is online solves the problem.",
- "Maintenance_Tool_del_allevents_noti" : "Delete Events",
- "Maintenance_Tool_del_allevents_noti_text" : "Are you sure you want to delete all Events? This resets Presence of all Devices.",
- "Maintenance_Tool_del_allevents30" : "Delete all Events older than 30 days",
- "Maintenance_Tool_del_allevents30_text" : "Before using this function, please make a backup. The deletion cannot be undone. All events older than 30 days in the database will be deleted. At that moment the presence of all devices will be reset. This can lead to invalid sessions. This means that devices are displayed as \"present\" although they are offline. A scan while the device in question is online solves the problem.",
- "Maintenance_Tool_del_allevents30_noti" : "Delete Events",
- "Maintenance_Tool_del_allevents30_noti_text" : "Are you sure you want to delete all Events older than 30 days? This resets Presence of all Devices.",
- "Maintenance_Tool_backup" : "DB Backup",
- "Maintenance_Tool_backup_text" : "The database backups are located in the database directory as a zip-archive, named with the creation date. There is no maximum number of backups.",
- "Maintenance_Tool_backup_noti" : "DB Backup",
- "Maintenance_Tool_backup_noti_text" : "Are you sure you want to execute the the DB Backup? Be sure that no scan is currently running.",
- "Maintenance_Tool_restore" : "DB Restore",
- "Maintenance_Tool_restore_text" : "The latest backup can be restored via the button, but older backups can only be restored manually. After the restore, make an integrity check on the database for safety, in case the db was currently in write access when the backup was created.",
- "Maintenance_Tool_restore_noti" : "DB Restore",
- "Maintenance_Tool_restore_noti_text" : "Are you sure you want to execute the the DB Restore? Be sure that no scan is currently running.",
- "Maintenance_Tool_purgebackup" : "Purge Backups",
- "Maintenance_Tool_purgebackup_text" : "All other backups will be deleted except for the last 3 backups.",
- "Maintenance_Tool_purgebackup_noti" : "Purge Backups",
- "Maintenance_Tool_purgebackup_noti_text" : "Are you sure you want to delete all backups except the last 3?",
- "Maintenance_Tool_del_ActHistory" : "Deleting the network activity",
- "Maintenance_Tool_del_ActHistory_text" : "The network activity graph is reset. This does not affect the events.",
- "Maintenance_Tool_del_ActHistory_noti" : "Delete network activity",
- "Maintenance_Tool_del_ActHistory_noti_text" : "Are you sure you want to reset the network activity?",
- "Maintenance_Tool_ExportCSV" : "CSV Export",
- "Maintenance_Tool_ExportCSV_text" : "Generate a CSV (comma separated value) file containing the list of Devices including the Network relationships between Network Nodes and connected devices. You can also trigger this by acessing this URL 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:
drwxrwx--- 2 (your username) www-data
If the permission is not correct, you can set it again with the following commands in the terminal or the console:
sudo chgrp -R www-data ~/pialert/db
chmod -R 770 ~/pialert/db
If the database is still read-only, try reinstalling or restoring a database backup from the maintenance page.",
- "HelpFAQ_Cat_General_102docker_head" : "Database issues (AJAX errors, read-only, not found)",
- "HelpFAQ_Cat_General_102docker_text" : "Double-check you have followed the dockerfile readme (most up-to-date info).
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: 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: