Einbindung von Custom Widgets PyQt6, die aktuelle Version der Qt-Bibliothek für Python, lässt sich ohne Probleme mit dem QtDesigner zusammen nutzen. Mit dem QtDesigner lässt sich die Bedienoberfläche einer Python-Applikation in einem grafischen Tool relativ einfach zusammensetzen. Es hakt zwar an der einen oder anderen Stelle, aber notfalls bleibt immer noch das händische Editieren der… PyQt6 und QTDesigner weiterlesen
React Context API
Um „property drilling”, also das Durchschleifen von Properties durch mehrere Ebenen von Components, zu vermeiden, kann die React Context API benutzt werden.
js FormData API
Die FormData API erleichtert den Umgang mit Daten aus html-Forms in javascript/React erheblich.
Undefined Variable bei php-Debug in vscode
Nutzt man die vscode-IDE mit php, erscheinen während des Degugging oft merkwürdige Fehler. Das ist besonders unangenehm, wenn dadurch die Ausgabe von Ajax-Funktionen so verfälscht wird, dass das Client-JavaScript während des Debugging nicht mehr funktioniert. Die Fehlernachrichten ähneln sehen immer so ähnlich aus wie diese: Da mein ganzer Code keine Variable mit dem gemeldeten Namen enthält,… Undefined Variable bei php-Debug in vscode weiterlesen
MySQL Fehler #1292 führt in die Irre
Neulich entdeckte ich, dass eine Tabelle, die eigentlich per Trigger regelmäßig neu erzeugt werden sollte, nicht mehr generiert wird. Das Script ist recht schlicht: Von Hand ausgeführt zeigte der CREATE TABLE-Befehl folgenden Fehler: Nun existiert allerdings weder in der Zieltabelle noch in einer der Quellen (zwei Views, die wiederum auf mehreren Tabellen basieren) irgendein DOUBLE-Wert.… MySQL Fehler #1292 führt in die Irre weiterlesen
Die EDV-Steinzeit meldet sich
Neulich bin ich bei der Portierung eines PHP-Scripts von meinem Entwicklungs-PC auf den Raspi fast verzweifelt. Eine Ajax-Routine wollte einfach nicht mehr funktionieren. Nach längerem Debugging fand ich heraus, dass es an einem scheinbar fehlenden POST-Parameter lag. Nur: auf dem PC funktionierte dieses Script einwandfrei, nur auf dem Raspi war der Parameter leer. Inhalt des fraglichen… Die EDV-Steinzeit meldet sich weiterlesen
letsencrypt wildcard certificate mit acme.sh und Hetzner DNS
Bisher habe ich einige Klimmzüge machen müssen, um über einen externen, per API steuerbaren DNS-Provider ein Wildcard-Zertifikat für eine Subdomain meiner Domain beim Web-Hoster Hetzner zu bekommen (siehe auch „Let’s Encrypt Zertifikat für das Heim-Netz”). Das hat sich mit Einführung der Hetzner DNS-Console entscheidend vereinfacht. Hier liest Du, wie Du die Console einrichtest und das… letsencrypt wildcard certificate mit acme.sh und Hetzner DNS weiterlesen
Netz (.stl-Datei) in FreeCAD bearbeiten
Im Netz finden sich jede Menge Druckvorlagen für 3D-Drucker. Will man die Vorlage auch nur um eine Winzigkeit verändern, braucht man eine in einem CAD-Programm bearbeitbares Modell. Oft befinden sich in den Vorlagen aber nur stl-Dateien, als Netzdarstellungen der Vorlage. In FreeCAD kann man diese relativ einfach in ein bearbeitbares Modell (und wieder zurück) umwandeln.… Netz (.stl-Datei) in FreeCAD bearbeiten weiterlesen
homematic Innensirene HM-Sec-Sir-WM in MQTT
Für Homematic-BidCOS-Geräte nutze ich zur Verwaltung homegear und als Kommunikationskanal MQTT. Während die Einbindung Der Türkontakte simpel ist (sie senden lediglich ihren Status (offen/geschlossen) an ein Topic), ist das Interface der Innensirene etwas aufwändiger. Die Sirene besitzt 4 Kanäle, über die gesteuert wird, welche Alarmkreise aktiv sind und ob ein Alarm ausgelöst wird. Kanal Funktion 1 Überwachung… homematic Innensirene HM-Sec-Sir-WM in MQTT weiterlesen
Tuya-Geräte: MQTT lokal - ohne Cloud
Smart-Home-Geräte auf Basis der Tuya-Firmware hängen in einer chinesischen Cloud. Wie wird man sie los, ohne die Firmware auszutauschen?