Seite 1 von 2

AVM Heizkörperventil Temperatur setzen

Verfasst: Freitag 7. März 2025, 10:48
von anonym108
Hallo,
nach einigen Tagen der Suche und zusätzlicher Befragung von Chat GPT komme ich mit meinem Leid zu euch und erhoffe Hilfe.
Ich möchte aus einem Pythonscript heraus die Solltemperatur eines AVM Heizkörperventils (Fritz!Dect 301) neu setzen.
Die Verbindung zur Fritzbox funktioniert mit der Libary "fritzconnection" einwandfrei. Abfragen beantwortet die FB auch ohne weiteres. Leider habe ich keine Möglichkeit gefunden, die Temperatur zu ändern.
Ist es überhaupt möglich die Heizkörperventile aktiv zu steruern, gibt es einen Trick bzw. einen Umweg oder stehe ich hier auf verlorenem Posten?
Vielen Dank fürs lesen,
Achim

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Freitag 7. März 2025, 12:26
von anonym108
Das ist mein Code. Die AIN wird noch ausgegeben, danach bricht das Script mit der Fehlermeldung: 'AttributeError: 'FritzHomeAutomation' object has no attribute 'set_target_temperature' ab.


# AIN des Heizkörperthermostats
#ain = "13979 0362472"

#from fritzconnection.lib.fritzhomeauto import FritzHomeAutomation
from fritzconnection.lib.fritzhomeauto import *

# Verbindung zur FRITZ!Box herstellen
fha = FritzHomeAutomation(address='fritz.box', user='fhem', password='streng Geheim')

# AIN des Heizkörperreglers
ain = '13979 0362472' # Beispiel-AIN; ersetzen Sie dies durch die tatsächliche AIN Ihres Geräts
print(ain)
# Neue Solltemperatur in °C
neue_solltemperatur = 22.5

# Setzen der neuen Solltemperatur
fha.set_target_temperature(ain, neue_solltemperatur)

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Freitag 7. März 2025, 17:59
von Sirius3
Die Frage ist ja, wo Du gesucht hast?
Wer keine Ahnung hat, wird mit ChatGPT auch keine Erkenntnisse gewinnen. Das ist einfach nur ein großer Haufen Datenmüll, der mehr oder weniger intelligentwirkend zusammengestückelt wird.
Die Funktion set_target_temperature kommt aus dem Python-Modul pyfritzhome, also aus einer ganz anderen Ecke.

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 09:58
von anonym108
Liebe(r) Sirius3,
da du dich anscheinend auskennst, aber mit hilfreichen Antworten recht sparsam bist, ist mir deine Antwort keine Hilfe.
Dass Char GPT nicht allmächtig und allwissend ist, ist hinreichend bekannt. Es ist eine Krücke, die hier und da Anstöße gibt. Wenn ich dort meine Erfüllung gefunden hätte, würde ich hier nicht nach Hilfe fragen.
Viele Grüße,
Achim

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 10:21
von Sirius3
Nein, ich kenne mich nicht aus. Ich benutze nur eine Technik, die nennt sich Recherche. Es gibt anscheinend verschiedene Module, die es erlaubt mit einer Fritzbox zu sprechen. Ich habe Dir das Modul genannt, das die von dir gewünschte Funktion bereitstellt. Nun bist du an der Reihe, zu prüfen ob dieses Modul deinen Ansprüchen genügt.

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 11:57
von noisefloor
ist mir deine Antwort keine Hilfe.
Dann hast du leider die Antwort nicht komplett gelesen oder verstanden. Das von @Sirius3 genannte Python-Modul "pyfritzhome" kann genau das, was du suchst. Damit solltest du dich mal beschäftigen. Wenn natürlich deine Erwartung ist, dass dir hier einer 100% fertigen, einsatzfähigen Code serviert -> passiert eher selten, hier gibt's Hilfe zur Selbsthilfe.

Zum Suchen: wenn du ein allgemeines Problem hast oder keinen richtigen Ansatzpunkt für die Suche, dann sind IMHO ChatGPT & Co. schlicht der falsche Ansatz. Wenn man nicht der Übergott ist, dann ist Programmieren halt auch immer mit Suchen und Recherchieren verbunden. Zwei allgemeine Tipps:

1.) immer mit englischen Suchbegriffen arbeiten, weil die allermeiste Doku nun mal auf English ist.
2.) immer Python (im Falle von Python Fragen, logischerweise) in den Suchbegriff einbauen

Wenn du bei Google nach "python fritzbox smarthome" suchst, sind die ersten Suchtreffer IMHO alle brauchbar. Muss man halt man ein bisschen durchlesen.

Wenn kann konkrete Programmierproblem hat wie z.B. "wie addiere ich mit Numpy drei 4-dimensionale Arrays", dann kann man via ChatGPT & Co. ggf. brauchbare "Codeinsperationen" bekommen.

Gruß, noisefloor

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 12:36
von anonym108
Nun,
es erinnert hier alles an Microcontroller.net.
Natürlich will ich keinen fertigen Code. Den kann mir auch niemand für meine Hardware schreiben. Als Elektrotechniker und Hardwareentwickler sehe ich keine Schande darin Kollegen oder eine Community um Hilfe zu bitten.
Allerdings mit Sätzen wie "Wer keine Ahnung hat, wird mit ChatGPT auch keine Erkenntnisse gewinnen. " und "Dann hast du leider die Antwort nicht komplett gelesen oder verstanden." schaut man von oben herab auf jemanden, der sich um Hilfe bemüht.
Ich habe verstanden, was mir Herr oder Frau Sirius3 schreiben wollte, auch zwischen den Zeilen. Ein einfaches "Ja, es geht: Such bei pyfritzhome weiter, es kommt dort her" hätte vollkommen ausgereicht und hätte zusätzlich die Tastatur geschont.
Die Antworten sagen mir: "Hilf dir selbst, dann hilft dir Gott".
Ich wünsche euch alles Gute.

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 13:43
von __blackjack__
@El Achimo: ChatGPT erfindet statistisch Texte, die sich plausibel *anhören*. Das ist das Ziel von so einem LLM. Nicht das die plausibel *sind*, sondern nur das sie so klingen.

Falls zu einem Thema viel korrekter Text in das LLM gefüttert wurde beim trainieren, steigt die Wahrscheinlichkeit, dass der erfundene Text auch korrekt ist, aber es ist halt keine Garantie. Und auch bei korrekten, erfundenen Texten kann es unnötige Umwege; oder Zusätze geben, die mit der Problemlösung gar nichts zu tun haben. Wenn man sich also bei ChatGPT zu irgendeinem Thema Text schreiben lässt, muss man selbst schon genug Ahnung vom Thema haben, dass man den selbst hätte schreiben können, weil man den verstehen und überprüfen können muss, um beurteilen zu können, ob der das tut was er soll, und ob er das auf eine sinnvolle Weise erreicht. Und wenn er nicht funktioniert, muss man in der Lage sein ihn korrigieren zu können. ChatGPT denkt nicht, und kann keine logischen Schlüsse ziehen. Das kann nur der Mensch der das bedient.

Die Aussage, dass man Ahnung vom Thema haben muss zu dem man LLMs Texte generieren lässt, ist nicht von oben herab als Abwertung gemeint, das ist einfach die Erfahrung die man mit LLMs gemacht hat. Und das Du als Anfänger keine, beziehungsweise nur wenig Ahnung hast, ist doch auch ganz normal, und nichts wofür man sich schämen oder angegriffen fühlen müsste. Wir waren alle mal Anfänger.

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 14:01
von anonym108
Hallo _blackjack_,
mir ist schon bewusst, dass ChatGPT nicht der Wahrheit letzter Schluss ist, nicht einmal der erste. Es ist der letzte Schritt vor der Befragung eines Forums. Meistens wird dem Frager vorgeworfen, dass er nicht ausreichend gesucht hat! Bei ChatGPT ist es wichtig filtern zu können. Genau das habe ich gemacht und die Suche dort abgebrochen. Manchmal kommt aus dem Pool der Internetweisheiten ein Tipp oder eine Idee.
Welchen Weg ich nehme und in welcher Reihenfolge ich recherchiere, ist nicht relevant. Wichtig ist gesucht zu haben. bevor man andere belästigt. Egal wo!
Wenn Sirius geschrieben hätte " Schau dir pyfritzhome an, da kommt es her." Hätte es vollkommen ausgereicht. Ich hätte mich freundlich bedankt und wäre/bin weiter gekommen ;-)

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 14:08
von noisefloor
schaut man von oben herab auf jemanden, der sich um Hilfe bemüht.
Ich würde eher sagen: das liegt an deiner Art, zu antworten. Lies' dir deine Antworten doch mal durch: du fokussierst auf das negativ und erwähnst das positive nicht. Du hättest z.B. auf die Antwort von Sirius3 antworten können: "Ok, dann versuche ich es mal mit dem pyfritzhome Modul". Tust du aber nicht, die nörgelst an anderen Teilen der Antwort rum. Du hättest auf meine Post antworten können. "Ok, dann probiere ich das in Zukunft mal mit der Suchmethode bei Google". Tust du aber nicht, du nörgelst an anderen Teilen der Antwort rum.
Den kann mir auch niemand für meine Hardware schreiben.
Da du mit AVM Produkten im absoluten Mainstream bist würde ich schon sagen, dass man dafür schon was (fast) fertiges bekommen könnte. Speziell oder abgefahren sind deine Anforderungen nicht.
Wichtig ist gesucht zu haben. bevor man andere belästigt.
Sehe ich nicht so. Man sollte es _ver_sucht haben. Hast du im Prinzip. Wobei halt zumindest hier und in anderen Foren ein großes ? gesetzt wird, wenn der Versuch sich darauf reduziert, Code von ChatGPT zu kopieren ohne den Hauch einer Ahnung zu haben, warum der nur in Teilen oder gar nicht funktioniert. Wenn du es als "belästigen" empfindest, in Supportforen wie diesem nach Hilfe zu fragen, die genau dafür gemacht sind -> dann stell' die Frage erst besser gar nicht.

Gruß, noisefloor

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 15:18
von anonym108
Schreibt es meiner Frustration zu. Ich habe eine knappe Woche recherchiert und als letztes ChatGPT befragt, bevor ich mich an das Forum gewandt habe.
Um es noch einmal klar zu stellen: Ich halte KI (Keine Intelligenz) für den Falschen Weg es professionell oder gar schulisch zu benutzen. Es wird eine Gesellschaft der Frager geben und nicht der Wissenden.
Eigentlich bin ich ein sehr positiver Mensch, bitte entschuldigt.
Ich hoffe, dass ich jetzt weiter komme.
Vielen Dank und viele Grüße,
Achim

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 18:29
von DeaD_EyE
Wenn du keine Zeit zum Lernen einer Programmiersprache hast, dann versuchs doch mal mit Claude 3.7. Soll vielversprechend sein.
Programmieren lernen dauert länger, als im Internet propagiert wird. Man kann so mit einem Jahr rechnen, wenn es die erste Sprache ist.

Erwarte nicht von uns, mit einer KI zu konkurrieren. Das möchten wir einfach nicht.
Die KI lernt auch nicht von uns. Vielleicht, wenn die ihr Modell mal mit neun Daten aktualisieren, aber das dauert halt und kostet diese Unternehmen viel Geld.
Erschwerend kommt hinzu, dass eine KI nur das wiedergeben kann, womit sie trainiert worden ist. Wenn die Eingabedaten falsch sind, kann die KI nur eine falsche Antwort liefern.
Das Internet ist voll mit falschen Lösungen.
Ein anderes Phänomen, ist z.B. das Erfinden von Funktionen/Methoden, die es in Bibliotheken nicht gibt.

Aber probier mal Claude 3.7, das wird sicherlich bessere Ergebnisse liefern als ChatGPT.

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 19:37
von anonym108
Warum muss ich mich eigentlich hier ständig rechtfertigen ChatGPT befragt zu haben? Wen geht es etwas an, wen und wo ich nach Informationen suche?
Jeder darf seine Meinung haben. Aber ich habe erwartet, das dieses hier ein Raum für Menschen ist, die Python interessiert.

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 19:45
von __blackjack__
@El Achimo: Die Erfahrung zeigt, dass die Leute die ChatGPT befragen, kein Interesse daran haben Python zu lernen. Solange man also nur weiss, dass ChatGPT befragt wurde und das Ergebnis dann hier eingestellt wurde, ohne das man irgendeine Eigenleistung sieht, mag halt niemand da Zeit versenken. Ist erst einmal blöd für Leute die das ungerechtfertigt trifft, aber für Helfende ist das halt auch nicht schön als Autokorrektur für LLMs missbraucht zu werden. Das macht man zwei, drei mal, und dann halt nicht mehr.

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 19:57
von anonym108
Wer sagt, dass ich Anfänger bin? Nach sieben Jahren Python gehöre ich nicht zu den Gurus, aber auch nicht mehr zu den Anfängern. Zum Glück konnte ich mir bis jetzt auch gut selber helfen.
Ich verstehe nicht, warum hier jeder wegen dieser sch... KI rum hackt. Das kostet mit Sicherheit nicht nur meine Kraft. Es tut mir herzlich leid, gefragt zu haben. Hilf dir selbst, dann hilft dir Gott. Das ist leider eine Lebensweisheit, die ich in nun59 Jahren (davon 45 Jahre Programmiertätigkeit, vor allem Assembler und C) gelernt habe.
Warum habe ich mich nur darauf eingelassen? Ich hätte die Zeit des Schreibens besser nutzen können!
Ich wünsche euch alles Gute.

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 20:05
von noisefloor
Warum muss ich mich eigentlich hier ständig rechtfertigen ChatGPT befragt zu haben?
Musst du nicht. Hier sagt jeder nur, dass KI _nicht_ der richtige Weg ist. Niemand verlangt von dir eine Rechtfertigung. Wenn du das Gefühl hast, dich rechtfertigen zu müssen -> war zumindest nicht meine Absicht.
Ich habe eine knappe Woche recherchiert und als letztes ChatGPT befragt, bevor ich mich an das Forum gewandt habe.
Echt? Das ist saulang, IMHO zu lang. Selbst, wenn man es nicht eilig hat. Ich gebe mir i.d.R. 2 bis max 3h. Wenn ich bis dahin keine Lösung oder Weg zu einer Lösung gefunden habe würde ich fragen. Was du in der Zeit nicht raus kriegst, kriegst du IMHO auch nicht in den nächsten 165h raus.

Gruß, noisefloor

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 20:10
von __blackjack__
@El Achimo: Du hast hier 0 Eigenleistung gezeigt. Und nach dem Hinweis auf eine Bibliothek, die das wahrscheinlich kann, hättest Du jetzt entweder eine funktionierende Lösung, oder aber zumindest neuen Quelltext mit einer Frage zu einem Problem was dabei aufgetaucht ist. Wenn Du das nicht hast, dann ist tatsächlich die Frage warum Du so viel Zeit mit meckern verbringst.

Was ist denn jetzt das konkrete Problem?

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Samstag 8. März 2025, 20:20
von anonym108
Ja, es war wirklich fast eine Woche. Daher bin ich in Foren auch so wenig vertreten. Meistens klappt es, wenn ich hartnäckig am Ball bleibe. Leider halt nicht immer :-(.
Zwei bis drei Stunden finde ich persönlich schon etwas wenig. Ich habe festgestellt, das ich alleine bei der Recherche, in den Randgebieten, die sich dabei auftun, sehr viel lerne oder gar auf neue Ideen komme. Nur gerade hier nicht.
Immerhin habe ich durch den Tipp von Sirius3 die (hoffentlich) richtige Libary gefunden. Auf der Konsole kann ich mich anmelden und kann mir die Infos aus der FB anzeigen lassen, die ich benötige. Der hiesige Nebenlerefekt ist, dass ich jetzt weiß, wie man sich die Klassen und Methoden einer Libary anzeigen lassen kann. Das einloggen im Pythonscript klappt noch nicht. Aber das wird schon. :)
Viele Grüße,
Achim

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Sonntag 9. März 2025, 14:04
von kbr
El Achimo hat geschrieben: Freitag 7. März 2025, 10:48 Ich möchte aus einem Pythonscript heraus die Solltemperatur eines AVM Heizkörperventils (Fritz!Dect 301) neu setzen.
Das was du möchtest kannst du sowohl mit pyfritzhome als auch mit fritzconnection erreichen. pyfritzhome bedient die AHA-Schnittstelle und fritzconnection sowohl TR-064 als auch AHA. Bei fritzconnection lassen sich abseits vorhandener Komfortfunktionen mit call_action() und call_http() (letzteres für AHA) alle Aktionen ausführen, die AVM für beide Schnittstellen hier dokumentiert hat: https://avm.de/service/schnittstellen/

Re: AVM Heizkörperventil Temperatur setzen

Verfasst: Montag 10. März 2025, 09:08
von anonym108
Leider ist die Libary pyfritzhome nur sehr dürftig kommentiert. Schnipsel findet man auch nicht viele.
Hier ist mein Code. Der Login funktioniert und die Temperatur lässt sich neu setzen.
Alles weitere sollte nun kein Problem mehr darstellen.

-----------------------------------------------------------------------------------
from pyfritzhome import Fritzhome, LoginError

# Verbindung zur FRITZ!Box herstellen
host = '10.0.0.1'
username = 'fhem'
password = 'Streng Geheim'
fha = Fritzhome(host=host, user=username, password=password)
try:
fha.login()
print ("Login erfolgreich")
except LoginError:
print ("Login fehlgeschlagen")

# AIN des Heizkörperreglers
ain = '13979 0362472' # Beispiel-AIN; ersetzen Sie dies durch die tatsächliche AIN Ihres Geräts
print(ain)
# Neue Solltemperatur in °C
neue_solltemperatur = 15.5

# Setzen der neuen Solltemperatur
fha.set_target_temperature(ain, neue_solltemperatur)