Python-Automatisierung
Python passt hier hervorragend
Python ist eine der besten Optionen für Busylight-Automatisierung, weil die öffentliche Busylight-Steuerungsschnittstelle einfach lokales HTTP ist.
1. Installation​
python -m venv .venv
source .venv/bin/activate
pip install requests
2. Minimaler Helper​
import requests
BASE_URL = "http://localhost:8989"
def light(red=0, green=0, blue=0):
response = requests.get(
BASE_URL,
params={
"action": "light",
"red": red,
"green": green,
"blue": blue,
},
timeout=2,
)
response.raise_for_status()
def off():
response = requests.get(
BASE_URL,
params={"action": "off"},
timeout=2,
)
response.raise_for_status()
if __name__ == "__main__":
light(red=100)
3. Alarm und Pulsieren​
def alert(red=100, green=0, blue=0, sound=5, volume=25):
response = requests.get(
BASE_URL,
params={
"action": "alert",
"red": red,
"green": green,
"blue": blue,
"sound": sound,
"volume": volume,
},
timeout=2,
)
response.raise_for_status()
def pulse(red=100, green=0, blue=0):
response = requests.get(
BASE_URL,
params={
"action": "pulse",
"red": red,
"green": green,
"blue": blue,
},
timeout=2,
)
response.raise_for_status()
4. POST-Helper​
import json
import requests
BASE_URL = "http://localhost:8989"
def post_light(red=0, green=0, blue=0, sender="SDK"):
payload = {
"action": "Light",
"sender": sender,
"eventtype": "Light",
"eventname": "Color",
"parameter": json.dumps({
"RedRgbValue": red,
"GreenRgbValue": green,
"BlueRgbValue": blue,
}),
}
response = requests.post(BASE_URL, json=payload, timeout=2)
response.raise_for_status()
5. Registrierung beim Start​
Wenn sich dein Python-Daemon wie eine benannte Quelle innerhalb von kuandoHUB verhalten soll, sende beim Start einmal RegisterDataSource und während der Einrichtung CreateInitialPriority.
Dieses Muster ist nĂĽtzlich fĂĽr:
- Monitoring-Agents,
- Service-Status-Daemons,
- Incident-Response-Automatisierungen,
- lokale Webhook-Listener,
- Support-Queue-Anzeigen.
6. Beispielarchitektur​
busylight_agent/
├── busylight.py
├── events.py
├── integrations/
│ ├── grafana.py
│ ├── github.py
│ └── jira.py
└── main.py
Halte das Busylight-Modul klein und deterministisch. Lass Integrationen Domänenereignisse in green, yellow, red, pulse oder alert übersetzen.
7. Gute Python-Anwendungsfälle​
- CI-Fehler-Lichter
- Uptime- und Bereitschafts-Status
- Build-Room-Anzeigen
- Homeoffice-Fokuslichter
- Signale fĂĽr den Druck in der Support-Queue
- Benachrichtigungen fĂĽr Fertigungsarbeitsplatz oder Labor
8. Warum Python statt JavaScript​
Python gewinnt meist, wenn:
- die Integration daemon-artig ist,
- du bereits Python in Ops oder Automatisierung nutzt,
- du einfaches Scheduling und Scripting willst,
- das System auf mehrere externe Dienste hört,
- keine Browser-UI erforderlich ist.