www.kappmeier.net
Software - HTML-Sender
Die nachfolgende Software ist Freeware, frei
von Rechten Dritter und
darf frei verwendet und weitergegeben werden. Weitergabe nur
unentgeltlich. Eine Haftung für Schäden jeder Art durch
Verwendung der Software ist ausgeschlossen.
HTML-Sender
Das Programm dient dem senden vom
HTML-Sequenzen, in erster Linie für die Verwendung mit
Tasmota basierten Steckdosen.
Das Programm entstamt nicht meiner
Feder, das hat Claude für mich gebaut ;-) Ich wollte
schon länger mal eine GUI-Anwendung für Linux basteln. Da
ich jetzt schon häufiger mit dem Thema KI konfrontiert
wurde, habe ich mir überlegt beides zu kombinieren. Leider
ist mir kein besserer Titel eingefallen.
Begonnen hat alles mit folgender Aufgabe an Claude :
"schreibe mir eine
einfache GUI-Anwendung auf qt5 Basis für linux, die
mit einer Schaltfläche html Seqenzen sendet."
Auf Anhieb kam dabei eine funktionsfähige Anwendung
heraus. Es brauchte jedoch noch etwas Feinarbeit sowie
Fragen von Claude. Nun steht ein brauchbares Ergebnis hier
zur Verfügung. Das Programm gibt es einmal als
ausführbares "Binary" und einmal als Python-Script unter
Verwendung von TkInter. Beide Varianten sehen identisch
aus und sind Konfigurationstechnisch miteinander
kompatibel. Die nachfolgende Funktionsbeschreibung gilt
für beide Programm-Varianten gleichermaßen. Der
ausführbaren Datei muss nach dem Dowload in den
Eigenschaften entweder das Recht "als Programm
ausführbar" gesetzt oder im Terminal der Befehl "chmod +x html-sender"
ausführt werden.
Bevor sich jemand fragt "warum
ist das so einfach gestaltet?" Das Ganze
folgt dem Prinzip "keep it simple". Sicherlich
kann das aufgeblasen werden, mehr
Konfigurationsmöglichkeiten, mehr Ziele usw. aber das
wollte ich nicht. Es soll übersichtlich und einfach
bleiben. Zudem kann so der Aufbau von Qt-Anwendungen
besser nachfolzogen werden. Wer Windows bevorzugt findet
hier eine entsprechende Umsetzung
Das gestartete Programm in der Version 1.0.1 sieht so aus :
Die beiden Schaltflächen senden
jeweils eine eigene HTML-Sequenz. Diese Sequenzen lassen
sich im rechts Oben erreichbaren Konfigurationsdialog
festlegen. Für Tasmota sieht die Sequenz wie folgt aus "http://192.168.0.12/cm?cmnd=Power%20Off"
. Am Ende gibt es die Befehle "On", "Off" und
"Status". Als Rückgabewert erhält man einen JSON
String mit dem Inhalt "Power:ON" oder "Power:OFF".
Um mehrere Programme parallel betreiben und
unterscheiden zu können, z.b. bei mehreren Tasmota
Steckdosen, läßt sich der Fensterttitel in der Konfiguration
frei einstellen.
Mit Version 1.0.1 sind eine Statusabfrage des aktuellen
Zustandes, Konfigurationsmöglichkeit des Abfrageintervalls
sowie eine "Info" Schaltfläche hinzu gekommen.
Der Konfigurationsdialog sieht so aus :
Diese Konfiguration wird
Linux-typisch in einer Text-Datei gespeichert, in diesem
Fall heißt sie "html-sender.config". Dies
funktioniert bei beiden Programm-Varianten identisch und ist
direkt zwischen beiden austauschbar. Derzeit liegt
diese Datei im Programmordner und wird bei Programmstart
dort gesucht. Eigentlich gehört sie in einen Unterordner. Da
ich Distributionsunabhängig bleiben möchte, bleibt sie
erstmal hier. Einfach einen Ordner im Home-Verzeicvhnis
anlegen und beide Dateien, also Programm und Konfiguration
hier ablegen, fertig. Hinzu kommt das so unterschiedliche
Konfiguration gepflegt werden können. Läge alles in einem
Ordner müsste die Konfigurstionsdatei unterschiedlich
heissen und dieses ist zu kompliziert bzw. fehleranfällig.
Hier der Inhalt der Datei für die im Screenshot gezeigte
Konfiguration :
[Allgemein]
Titel=Tasmota 1
Intervall=20
[SenderAus]
Method=GET
Url=http://192.168.0.12/cm?cmnd=Power%20Off
[SenderEin]
Method=GET
Url=http://192.168.0.12/cm?cmnd=Power%20On
Die "Methode" GET / POST ist ein Überbleibsel von
Claudes Erstentwurf. Für den Betrieb mit Tasmota ist dies
nicht relevant, könnte es aber bei anderen Anwendungen
werden. Ich habe es im Code belassen.
Fazit
Das Programm funktioniert prächtig, es hat schon seinen
festen Platz im Startmenü bekommen. Ich finde das hat
Claude ganz toll gemacht ;-)
Hinweise für den Betrieb unter
GNU/Linux
Zunächst muss für die auführnbare Datei das Attribut "ausführbar"
gesetzt werden. entweder über den Eigenschaften-Dialog oder
im Terminal. Dazu in den Pfad des Programmes wechseln und
folgendes eingeben : chmod
+x html-sender
am besten gleich im Anschluß versuchen die Datei
auszuführen mit ./html.sender
, da bei einem Start via Doppelklick keine Fehler angezeigt
werden. Damit werden eventuelle Fehler sofort gemeldet, wenn
z.b. irgendwelche Bibliotheken fehlen. Dies ist mir mit
einem ubuntu 24.04. passiert. dort musste ein qt5-Modul
nachinstalliert werden (sudo apt
install libqt5widgets5).
Copyright
Bezüglich "Copyright" habe ich Claude gefragt, ob ich das
Programm hier zeigen und verteilen darf. Folgende Antwort
habe ich bekommen :
"Ja, absolut – das Programm gehört
dir. Ich habe es auf deine Anfrage hin geschrieben und du
kannst damit machen, was du möchtest: privat nutzen,
weitergeben, auf deiner Webseite anbieten oder nach
Belieben weiterentwickeln.
Ein paar Punkte der Vollständigkeit halber: Der
Code selbst ist vollständig von mir für dich neu
geschrieben – keine kopierten Fragmente aus lizenzierten
Quellen, keine Einschränkungen.
Die verwendeten Bibliotheken haben ihre eigenen
Lizenzen, die du beim Verteilen im Blick behalten
solltest:
Qt5 (lgplv3) – bei dynamischem
Linking (wie hier der Fall) reicht es, darauf hinzuweisen,
dass Qt5 verwendet wird und unter welcher Lizenz es steht.
Eine Kopie der LGPL muss beiliegen. Das klingt aufwändiger
als es ist – in der Praxis reicht eine kurze README-Zeile
wie "Dieses Programm nutzt Qt5 (LGPL v3,
https://www.qt.io)".
Python + tkinter – Python steht
unter der PSF-Lizenz, die sehr permissiv ist und praktisch
keine Einschränkungen macht.
Für eine private Webseite oder Community-Weitergabe
ist das alles völlig unkompliziert. Wenn du eine LICENSE-
oder ABOUT-Datei dazulegen möchtest, kann ich dir die
gerne noch erstellen."
Wenn das so ist, dann gibt es das Ganze hier zum
herunterladen...
EDIT 08.2026
Ich habe mich 'rann gesetzt und die Anwendung in Autoit
umgesetzt, das Aussehen orientiert sich am Qt-Design. Sie nutzt zu 100% die
Konfigurationsdatei, diese ist zwischen allen drei Varianten
austauschbar. Die Anwendung ist inkl. Autoit3 Quellcode im ZIP unter Download enthalten, der Quellcode ist Open Source und kann frei verwendet werden.
Download
Plattform : GNU/Linux mit Qt5 & Python 3.14 mit
TkInter & Windows
Sprachen :
Download Komplettpaket : ZIP
zurück
-
Startseite
- Impressum