TheChatty / SmartESPatMax

How to query multiple smart meters with minimum equipment.
MIT License
4 stars 1 forks source link

Hilfe erwünscht, bekomme keine Daten #3

Open darkblu23 opened 1 year ago

darkblu23 commented 1 year ago

Hallo Chatty, ich bin durch den Thread "Heizungssteuerung Trovis..." auf mikrocontroller.net auf dein Projekt hier aufmerksam geworden. Da ich selber einen Trovis 5573 (ohne"-irgendwas, Baujahr 2014 mit Firmware 2.2x) in meiner Fernwärmeheizung habe, dachte ich mir cool, genau sowas will ich auch. Ich habe mir in Visual Studio Code Tasmota mit SMI (und Modbus Bridge) compiliert und auf einen Wemos D1 mini aufgespielt (ESP 8266). Dann habe ich ein Netzwerkkabel durchgeschnitten und wie von dir verlinkt (zu dem Thread auf mikrocontroller.net) die Adern entsprechend an die GPIO Pins geklemmt (TTL Buchse). In der Tasmota Oberfläche habe ich dann dein verlinktes Script (https://tasmota.github.io/docs/Smart-Meter-Interface/#trovis-557x-modbus) eingetragen und gespeichert. Als Module type steht "Generic (0)" und alle GPIOS sind auf "none" eingestellt. Allerdings bekomme ich in der Tasmota Oberfläche keinerlei Werte angezeigt, bzw, alle Werte bleiben auf Null. Daraufhin habe ich dann das Kabel nach nach dem Bild mit der RS232 Buchse umgeklemmt, aber auch da tut sich nix. Am 27.10.2021 (ist schon lange her, ich weiss) schriebst du ja, "Tasmota mit SMI kompilieren, Script in Tasmota eintragen und aktivieren. Schon läuft's. Kein anderes Gerät oder GPIOs konfigurieren."

Scheinbar mache ich etwas falsch, muss an der Trovis noch irgendetwas eingestellt werden, dass die Daten aus der RJ45 Buchse rauskommen ? Oder muss es unbedingt ein ESP-01 sein und kein Wemos D1 mini ? Mir reicht es völlig aus, nur die Daten aus der Trovis zu lesen und per MQTT in den ioBroker zu bekommen. Fernsteuern und TrovisView am PC benötige ich nicht. Wenn es dann läuft, würde ich auch noch einen IR-Schreib-Lesekopf auf meinen Kampstrup klemmen wollen.

Auch wenn das nicht wirklich hier hin gehört, würde ich mich freuen, wenn du mir einen Tipp geben könntest. Vielen Dank, darkblu23

TheChatty commented 1 year ago

Jeder ESP8266 sollte dafür reichen. Je nach Entwicklungsboard sind aber vielleicht unterschiedliche Vorwiderstände etc. verbaut. Hast du einen USB-TTL-Adapter? Dann könntest du es damit mal versuchen. Am Regler selbst muss ModBus aktiviert sein - siehe hier.

darkblu23 commented 1 year ago

vielen Dank für die Antwort, dein Link zu den Einstellungen am Regler war der entscheidende Hinweis. Nun habe ich die Werte in Tasmota und kann sie per MQTT in den ioBroker bringen. Genau das was ich wollte. Schön wäre es noch, wenn ich sehen könnte ob die Pumpen an/aus sind, aber ich so bin auch schon zufrieden :-) nochmals vielen Dank

TheChatty commented 1 year ago

Dann nimm die Pumpen doch ins Skript auf. Tom hat ja alle Register dokumentiert. Und wenn du die Nr. weist, dann fügst du sie im Skript ein.

darkblu23 commented 1 year ago

...das ist eine super Idee. Leider bin ich nur der copy / paste Type. Das übersteigt meine Fähigkeiten bei weitem. Aber wenn du mir mit einem Beispiel helfen würdest, sag ich nicht nein flöt :-). Ich werde mir das aber mal in Ruhe ansehen.

darkblu23 commented 1 year ago

ich habe die Pumpen (Umwälzpumpe Rk1 und Speicheladepumpe) bei Tom in den "Coils" gefunden, nicht im "Register". Allerdings verstehe ich das Skript nicht wirklich, eigentlich gar nicht. Das "F7031CSSss@i0:10,Außentemp." z.B. bezieht sich doch auf irgend ein "Aussentemp." im Register. Aber wie aus diesem "Aussentemp." dann "F7031..." wird, kein Plan.

TheChatty commented 8 months ago

Falls du noch an Anpassungen deines Skripts interessiert bist: Die Bytes spiegeln das ModBus-Protokoll wieder. "F7 03 1C" heißt hier: Antwort (0x03) für Gerät 0xF7 - diese ist 0x1C Bytes lang. Und weil mit einer Anfrage gleich mehrere Register abgefragt werden (man könnte jeden auch einzeln abfragen), wird die Antwort im Skript mehrfach ausgewertet. Die ersten zwei Bytes sind eben die Außentemperatur. Dann werden vier Bytes übersprungen und die nächsten zwei Bytes sind die Vorlauftemperatur usw.

darkblu23 commented 8 months ago

ich habe das D1 Mini Projekt aufgegeben und hab die Trovis direkt per Modbus in den ioBroker eingebunden. Aber Danke für deine Infos.