No SMTP or DNS setup. No Login. No Tracking. Anonymous push notifications to multiple devices with a single HTTP POST or MQTT request.
import requests url = "https://alertify.while0x1.com/send-alert" payload = { "projectId": "your_project_id", "title": "SCADA Warning", "message": "Pump station 4 pressure drop detected.", "severity": "critical" #info, warning or critical } headers = { "X-User-Id": "your_device_id" } response = requests.post(url, json=payload, headers=headers) print(response.json())
import paho.mqtt.client as mqtt import json # Connect to the Industrial Broker client = mqtt.Client(client_id="industrial_gateway_01") client.username_pw_set("your_project_id", "your_app_id_key") client.connect("alertify.while0x1.com", 1883) # Send Structured JSON or Raw Strings topic = "alertify/project/your_project_id" payload = json.dumps({"title": "Tank 1", "message": "High Level","severity": "warning"}) client.publish(topic, payload) client.disconnect()
import uuid import json import datetime import paho.mqtt.client as mqtt # use port 1883 for TCP MQTT messages # 1883 is UNENCRYPTED so your ID/Password is vulnerable # Remove client.tls_set() for 1883 comms # Remove transport="websockets" from the mqtt.Client for 1883 comms # use PORT 443 for TLS encrypted MQTT connections # NGINX reverse proxy will intercept all 443 traffic for TLS PROJECT_ID = "YOUR_PROJECT_ID" USER_ID = "YOUR_USER_ID" MQTT_BROKER = "mqtt.while0x1.com" MQTT_PORT = 443 UID = str(uuid.uuid4()) VALUE = 42 # Example sensor value payload = { "uid": UID, "name": "Main Water Pump", "value": VALUE, "timestamp": datetime.datetime.now().strftime("%H:%M:%S %y-%m-%d"), "status": "Running smoothly" } TOPIC = f"alertify/project/{PROJECT_ID}/live" def on_connect(client, userdata, flags, rc): if rc == 0: print("✅ Connected to Alertify Broker") # Test 1: JSON Payload json_payload = json.dumps(payload) client.publish(TOPIC, json_payload) print(f"🚀 JSON Alert Sent to {TOPIC}") else: print(f"❌ Connection failed with code {rc}") client = mqtt.Client(transport="websockets", client_id="python_test_runner") client.username_pw_set(PROJECT_ID, USER_ID) client.on_connect = on_connect client.tls_set() print(f"Connecting to {MQTT_BROKER}...") client.connect(MQTT_BROKER, MQTT_PORT, 60) try: client.loop_forever() except KeyboardInterrupt: print('Disconnecting from MQTT broker') client.disconnect()
import paho.mqtt.client as mqtt import json # Configuration USER_ID = "YOUR_USER_ID" PROJECT_ID = "YOUR_PROJECT_ID" HOST = "mqtt.while0x1.com" def on_connect(client, userdata, flags, rc): print(f"Connected with result code {rc}") # Subscribe to the live topic client.subscribe(f"alertify/project/{PROJECT_ID}/cmd") def on_message(client, userdata, message): payload = message.payload.decode("utf-8") print(f"\n[⬇️ INCOMING MQTT] Topic: {message.topic}") try: data = json.loads(payload) uid = data.get("uid") if uid == "manual_trigger": value = data.get("value") print("=" * 60) print(" 🚨 AUTHORIZED OVERRIDE COMMAND RECEIVED FROM MOBILE APP 🚨") print("=" * 60) print(f" Target Element : {uid}") print(f" Command Value : {value}") if value == 1: print(" Action : ENGAGING RELAYS... SUCCESS.") else: print(" Action : DISENGAGING RELAYS... SUCCESS.") print("=" * 60) else: print(f" [System] Ignored payload for uid: {uid}") except json.JSONDecodeError: print(f" [Warning] Received non-JSON payload: {payload}") # --- MAIN EXECUTION --- print("🚀 Starting Edge Device Listener...") client = mqtt.Client(transport="websockets") client.username_pw_set(PROJECT_ID, USER_ID) client.on_connect = on_connect client.on_message = on_message client.tls_set() client.connect(HOST, 443, 60) try: client.loop_forever() except KeyboardInterrupt: print("\n🛑 Disconnecting...") client.disconnect()
curl -X POST "https://alertify.while0x1.com/send-alert" \ -H "Content-Type: application/json" \ -H "X-User-Id: your_device_id" \ -d '{ "projectId": "your_project_id", "title": "Terminal Alert", "message": "Manual trigger from cURL", "severity": "critical" }'
import ( "bytes" "net/http" ) func main() { url := "https://alertify.while0x1.com/send-alert" jsonStr := []byte(`{"projectId":"your_project_id", "title":"SCADA Warning", "message":"Pump station 4..."}`) req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr)) req.Header.Set("X-User-Id", "your_device_id") req.Header.Set("Content-Type", "application/json") client := &http.Client{} client.Do(req) }
const response = await fetch('https://alertify.while0x1.com/send-alert', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-User-Id': 'your_device_id' }, body: JSON.stringify({ projectId: 'your_project_id', title: 'SCADA Warning', message: 'Pump station 4 pressure drop detected.' }) });
Traditional alert services require complex setup, logins, and configurations. n+1 Alerts is built for engineers who want reliable notifications with zero friction.
curl, it can send an alert.
Perfect for local testing and personal IoT projects.
Download the app to begin.
For heavy data logging and high-frequency alerts.