Hallo FHEM-Gemeinde!
Da ich das Hinzufügen von neuen Tankstellen über HTTPMOD zu umständlich fand und ich sowieso mal wieder ein bisschen mit Perl programmieren wollte, hab ich ein eigenes Modul für das Abrufen von Spritpreisen bei clever-tanken.de erstellt. Das Modul ist derzeit maximal im Alpha-Stadium, Dokumentation ist noch nicht angepasst und da es mein erstes Modul für FHEM ist, weiß ich nicht, ob ich alle Dinge beachtet habe.
Zum Anpreisen der Vorteile kann ich derzeit nur nennen, dass das Festlegen der Tanken mittels
attr CleverTanken SIDList 149142,7149,28883
sehr viel kürzer ist und schneller geht und dass das Modul bei Bedarf ein fertiges stateFormat in Form einer Tabelle liefert.
cleverTanken.jpg
Hat jemand Interesse daran oder findet Ihr die HTTPMOD-Variante besser?
Viele Grüße
Sven
Man kann natürlich für alles ein "Modul" schreiben, aber ein HTTPMOD mit insgesamt 7 Zeilen für die Konfiguration (DEF + 6 Attribute für 3 Spritsorten einer Tankstelle) finde ich jetzt auch nicht extrem kompliziert.
Und wenn man so ein device mal fertiggestellt hat, kann man es ja einfach mit "copy" duplizieren und muss meist nur die Station-ID im DEF anpassen.
Um zu beurteilen, ob Dein Modul wirklich etwas grundlegend anderes macht, reicht ein Screenshot vom Ergebnis nicht aus. Dazu müsste man schon den Code selbst sehen.
Zitat von: sven.luebke am 28 Januar 2026, 12:18:28da es mein erstes Modul für FHEM ist, weiß ich nicht, ob ich alle Dinge beachtet habe.
Dafür gibt es DevelopmentGuidelines, da stehen die wichtigsten Dinge drin, auf die man bei der Entwicklung achten sollte.
https://wiki.fhem.de/wiki/Kategorie:Development
Man kann geteilter Meinung sein, ob ein Modul oder je ein HTTPMOD und eine readingsGroup besser ist.
Mir ist das Bildchen auch zu wenig.
Kann ich die Spritsorten konfigurieren? Ich brauche nur eine Sorte.
Wird der beste Preis hervorgehoben?
Kann man den Ort auch anzeigen lassen oder nur die Straße?
Zitat von: sven.luebke am 28 Januar 2026, 12:18:28das Modul bei Bedarf ein fertiges stateFormat in Form einer Tabelle liefert
Das zu bearbeiten wäre wohl die Antwort auf meine Fragen.