NEWS
Visualisierung von Daten des CMI von Ta per Modbus
-
Hallo fronke74
Danke für deine Bilder.
Ich habe das nun rasch bei mir genau so eingerichtet, aber da scheint noch irgendwas zu klemmen. Leider habe ich eben bei mir vorläufig nur Digitale Signal vom CAN auf dem CMI. (mein Heizungslieferant hat mir schon lange versprochen auch die Temperaturen auf den CAN zu legen).Ich habe dir hier rasch eine Idee gemacht wie man die konvertierungen machen könnte
Ich weiss, es gibt ganz viele Leute hier im Forum die es viel besser können, und auch mit JS das ganze machen würden. Leider beherrsche ich das eben nicht, darum ist das mein Vorschlag.
Das System ist ganz einfach: wenn einer der beiden "Datenpunkt. roh" geändert wird, werden die "blauen" Aufgaben ausgeführt. D.h. das Skript nimmt den Wert aus dem Datenpunkt. roh und führt die Berechnung durch und schreibt den Wert in den Datenpunk "AliasMB.". Es ist natürlich wichtig das die Alias Datenpunkte auf "zahl" stehen, sonst wird es nicht funktionieren.
Gruss Andi
-
@fronke74
Hi, da hast Du mehrere Möglichkeiten- basic number widget in Vis
Bei "Wert multiplizieren" 0.1 eintragen- im Alias kannst Du rechnen
- in der Modbusinstanz
Die Spalten Faktor und Offset sind in der erweiterten Ansicht sichtbar.
Bei mir funktioniert als Faktor der Wert "10" bei anderen habe ich auch "0.1" gesehen....musst Du probieren.VG Ulli
-
@andibr sagte in Visualisierung von Daten des CMI von Ta per Modbus:
Ich habe das nun rasch bei mir genau so eingerichtet, aber da scheint noch irgendwas zu klemmen. Leider habe ich eben bei mir vorläufig nur Digitale Signal vom CAN auf dem CMI. (mein Heizungslieferant hat mir schon lange versprochen auch die Temperaturen auf den CAN zu legen).
Hast Du keinen Zugriff auf Deine UVR? Das ist eigentlich relativ einfach mit der TA Software.
-
Richtig erkannt, ich habe nur Zugriff auf das CMI, alles andere will und hat er mir nicht freigegeben. Leider ist er da sehr strikt und behauptet ich würde dann dieAnlage kaputt machen.
Alles andere war wirklich top von der Installation über den Service bis zum Preis, alles Spitzenklasse.Aber auch die paar wenigen digitalen Punkte die auf dem CAN im CMI ankommen, bekomme ich nicht in den Iob.
-
@andibr
kann ich teilweise verstehen, aber dann sollen sie (die Heizungsbauer) wenigstens alle Messwerte auf den CAN-Bus legen.
Zeig doch mal Deine Einstellungen im CMI, vielleicht kann da geholfen werden. -
@ullij
Kann ich heute Abend mal machen.
Was ich schon länger am laufen habe ist ein JS Skript das mir via JSON die Status der UVR16x2 ausliest. Aber da habe ich eben kein Betriebsstunden etc. drin, sondern nur die aktuellen Zustände. Das funktioniert bei mir auch nur mit den Fühler, bei den Ausgängen funktioniert das Skript eben auch nicht wirklich.Mitlerweilen stinkt es mir, so alle paar Monaten die Bezriebstunden im iob von hand anzupassen. Darum erhoffe ich mir von der Modbus Schnittstelle ein paar Daten mehr. Es ist mir klar, zuerst müssen die natürlich auf dem CAN sein.
-
@andibr
alles klar.
Erhoffe Dir gerade bei Betriebsstundenzählern nicht die Welt. Die max. Größe der Zahlen ist auf Seite der UVR beschränkt. Hatte da mal Kontakt zum TA Service, leider hat er mir die Grenzen nicht verraten. Merke ich erst wenn die Werte unplausibel werden und ich zugleich auch noch hinsehe -
So sehen die Einstellungen bei mir im CMI aus. Die IP ist von meinem Iobroker, auch die Device-ID habe ich so drin. Was mir auffällt: ich habe nur die Funktion "05" zur Auswahl und bei der Adresse steht irgend eine merkwürdige Zahl drin. Leider hat mein Installateur unterdessen sogar das "Master-Paswd" geändert, so kann ich nicht mal mehr hier Daten zusammenfügen.
Das mit dem "Zahlenvorrat" bei den Betriebsstunden wird sich vermutlich ergeben aus der 16bit Auflösung. Da es ja nur ganze Zahlen sein sollen wird das irgendwo bei 65'535 einen Zählerüberlauf geben.
-
@andibr
die digitale Werte kriege ich so in den Iob.Einstellungen CMI
Einstellung Register in der Modbusinstanz (Diskrete Ausgänge), die Haken rechts nicht vergessen
Die Instanzeinstellungen mit IP und Adresse sehen gut aus.
Zum Zahlenformat: im CMI können durchaus 32-bit Zahlen ausgegeben werden, aber die übertragene Zahl hat nichts mit der Ausgabe des Betriebsstundenzählers zu tun. Kannst ja mal ein wenig knobeln, falls Du Lust und Zeit hast.
Aktueller Zählerstand in der UVR:
und der Wert im CMI:
Die Zähler habe ich zwar in der UVR eingebaut, aber wirklich brauchen tue ich sie nicht. Von daher ist die investierte Zeit eher mager.
Hoffe das klappt wenn Du das so übernimmst. Viel Vergnügen und Gruß
Ulli -
Erstmal mal ganz vielen lieben Dank für eure Hilfe.
Ich habe es nun endlich mit euer Hilfe geschafft es so wie ich es mir vorgestellt habe.
Doch nur eins seid wann darf ein Dienstleister einfach das Expertenpasswort in der TA verändern ??? Die Geräte und die Programmierung sind doch bezahlt und sind Eigentum vom dem Betreiber dieser Anlage. Da würde ich aber mal ein Fass aufmachen. Ich habe es auch von einem Dienstleister es aufbauen lassen. Sollte ich dort irgend etwas Programmieren und es dadurch nicht mehr funktionieren, dann muss ich es wieder in Auftrag geben und natürlich bezahlen.
-
@fronke74
Im Prinzip hast du Recht, nur habe ich einen Service Vertrag, der eben genau das regelt. Er hat das sehr versteckt, und ich habe es erst viel später gesehen.Sobald der Servicevertrag erneuert werden muss, werde ich sicher darauf achten. Ich habe gestern noch rasch versucht die Status Info die bei mir im Modbus Ausgang drin sind im Iob zu erstellen. Mein Iob macht da mit den Bezeichnung und Adressen ein Chaos in den Objekten. Sprich er vermischt die Bezeichnungen mit den Adressen durcheinander.
In den Instanzen hat der Adapter ein gelbes Symbol, das war aber auch schon rot.
-
Ich verstehe das nicht, schaut es euch selber an:
das sind die CMI Einstellungen
Das ist die Einstellung im Modbus-Adapter
und das sind die Datenpunkt Spezifikationen, in den Objekten.Das man da die Adressen um 1 Stelle verschieben muss ist mir klar, der eine beginnt bei "0" und der andere bei "1", aber wieso der Datenpunkt die ID "10021...." bekommt, verstehe ich nun mal gar nicht. Wenn ich jetzt weitere Adressen erfasse, werden die "ID-Nr" plötzlich verschoben. Leider habe ich die Logik dahinter noch nicht verstanden. Ja, es funktioniert so leider immer noch nicht.
Der Modbus-Adapter als Master funktioniert aber einwandfrei auf meinem System, den damit lese ich etliche Daten aus einem Victron Venus aus.
Edit: 11.März 16.30
Ich habe soeben mal zum testen das CMI direkt am gleichen Switch wie der Iob eingesteckt und siehe da die Instanz wird grün und überträgt die Daten. -> Dieses Problem liegt in dem Fall bei meiner Konfiguration meines Routers, denn das CMI steht in einem eigenen Netzwerk (DMZ). -
Hallo
Seit kurzem habe ich da eine Warnung die ich nicht verstehe:
Vieleicht kann mir jemand diese Meldung erklären? Soweit ich beurteilen kann, bekomme ich von der UVR die Meldungen übermittelt und die Status werden werden auch aktualisiert.
Ausser den paar Meldungen die ich in der Tabelle "01 Diskrete Ausgänge" eingetragen habe, ist alles andere leer.
-
@andibr
Hi, schau mal hier
https://www.simplymodbus.ca/FAQ.htm
bin auch nicht so der Modbus Kommunikationsexperte, aber die Instanz scheint ein Holdingregister schreiben zu wollen…oder umgekehrt
Zu den Adressen: die Adressen der Register werden bei mir so in der Instanz definiert wie im CMI angegeben. Also 1:1 ohne einen Offset. Es gibt unter Allgemein in der Instanz einen Punkt mit Aliases benutzen, habe da keinen Haken drin. Vielleicht hilft es da mal zu „spielen“.Vielleicht verkauft Dir der Heizungsbauer ja sein Programm gegen die Servicegebühr. Die Programmierung ist relativ einfach und die vorhandenen Module musst Du ja nicht unbedingt anfassen. Dann kannst Du Dir aber Werte wenigstens selbst auf den Can/Modbus legen.
VG Ulli -
Juhu, ich habe mein Heizungsinstallateur dazu gebracht, die Werte auf den CAN zu legen und mir auch das CMI soweit frei zugeben.
Ich habe auch die ersten Werte bereits auf den Modbus Analog Ausgang gelegt, aber im Iobroker geht es noch nicht so ganz. Aber da gehe ich davon aus, dass ich noch irgendwo was falsch habe.
und
Aber ein Wert ist da noch nicht gekommen. Ich gehe davon aus, dass ich da mit der Adresse noch ein Chaos habe.jetzt erscheint im log:
"wrong pdu length for write single registers: 7. Expected 5" als Warnung, der Wert bleibt bei "0" -
So, nun habe ist das Ziel halbwegs in Sicht, alle Temperaturwerte sind im Iob angekommen auch die Status der einzelnen Ausgänge kommen nun entsprechend an.
Nun muss ich noch eine Lösung finden für die Betriebsstunden, denn egal wie, wenn der Iob selber mit zählt gibt es mit der Zeit grössere Abweichungen. Da versuche ich noch eine Lösung zu finden.
Hat jemand eine Idee wie man eine "ist Online" Anzeige basteln könnte? Ich habe festgestellt, dass im Datenpunkt "Info.connection" die IP-Adresse drin steht (ist aber die vom IoB) sobald die UVR Online ist. Könnte man diese Info in einen Alias-Datenpunkt (false/true) konvertieren?
Vielen Dank für eure Hilfen, dieses Forum ist einfach super, in den meisten Fällen findet oder bekommt man eine Lösung. Die wenigsten von uns wollen ja das Rad neu erfinden.
Gruss Andi
-
@andibr sagte in Visualisierung von Daten des CMI von Ta per Modbus:
Mitlerweilen stinkt es mir, so alle paar Monaten die Bezriebstunden im iob von hand anzupassen. Darum erhoffe ich mir von der Modbus Schnittstelle ein paar Daten mehr. Es ist mir klar, zuerst müssen die natürlich auf dem CAN sein.
habe mal etwas gelesen und probiert. Die Betriebsstundenzähler der UVR geben die Zeit in Sekunden aus. Bei 16-bit also schnell einen Überlauf.
Mit einer Mathematikfunktion auf der UVR und den Wert durch 3600 geteilt gibt es den Wert in "h", dann auf den CAN Bus und alles chic. Wenn Du es genauer haben willst gibt es noch Modulo für den Rest der Division. Den *60 (Minuten) oder 3600 (Sekunden), der Wert kommt dann separat auf den CAN.
Vielleicht hat Dein Heizungsbauer Lust Dir das einzubauen.@andibr sagte in Visualisierung von Daten des CMI von Ta per Modbus:
Hat jemand eine Idee wie man eine "ist Online" Anzeige basteln könnte? Ich habe festgestellt, dass im Datenpunkt "Info.connection" die IP-Adresse drin steht (ist aber die vom IoB) sobald die UVR Online ist. Könnte man diese Info in einen Alias-Datenpunkt (false/true) konvertieren?
eigentlich ist ja das CMI online. Stichwort könnte "regex" in der Konvertierungsfunktion des alias sein... da bin ich vollkommen frei von Wissen.
VG Ulli
-
@ullij said in Visualisierung von Daten des CMI von Ta per Modbus:
eigentlich ist ja das CMI online. Stichwort könnte "regex" in der Konvertierungsfunktion des alias sein... da bin ich vollkommen frei von Wissen.
Hallo ullij
Danke, für den Tip mit der UVR, ich habe den mal weiter gegeben, mal schauen was er damit macht. Ich habe ihm ja geschrieben er solle mir doch die TAPPS Daten senden, damit ich das selber anpassen kann, danach hat er es plötzlich sehr schnell gemacht. Auch die Berechtigung um auf dem CMI die CAN Werte auf den Modbus zu legen ging plötzlich ganz schnell.
Ich muss mir das mit dem "regex" mal anschauen. Ich habe zuerst gedacht das ich direkt auf den Iob Adapter "Online" Eintrag gehen könnte, aber da steht sogar wenn das CMI ohne Strom ist noch "online" drin. Also muss ich irgend etwas anderes finden. Ich habe mir überlegt ob es eine Funktion gibt, mit der ich quasi alle Modbusdatenpunkte auf einmal auf laufende Veränderungen überwachen kann?
Da ich von Beruf Elektrozeichner und nicht Software-Ingenieur bin, stehe ich da etwas am Berg. Ich stelle mir da so eine Art Schleife vor, die permanent alle Änderungszeitpunkte überwacht und wenn innert zb. 5min keine mehr geändert werden, sich meldet, oder zumindet einfach mal reagiert. Aber wie man das macht entzieht sich meiner Kentnis definitiv.
Andi
-
@andibr
bin auch kein Softwerker, aber ist doch alles spannend und dazu lernen geht immer
Ich weiß nicht genau worum es Dir geht mit dem "online".
Geht es Dir um Fehler auf der UVR: dann sollte der Heizungsbauer die ganz sauber in der Steuerung abfangen und als Statusbits auf den CAN Bus legen. Die kannst Du dann am Modbus abgreifen.oder möchtest Du wissen ob das CMI noch online ist?
- Da ist ein sehr einfacher Weg über den Ping Adapter. Gerade bei mir getestet und funkt. Dann noch ein kleines Script mit Trigger auf dem Ping und der gewünschten Aktion dahinter (z.B. Telegram, Whatsapp oder vis)
- Eine weitere Idee wäre noch so eine Art "Lebendsignal" von der UVR auf dem CAN Bus. Dazu musst Du den Heizungsbauer aber quälen
und spontan wüsste ich auch nicht ob es da eine <Funktion in der UVR für gibt.
- Noch eine Möglichkeit wäre den CAN Bus Status des CMI abzufragen: auch da weiß ich nicht wie und ob überhaupt.
Hoffe das hilft weiter und schönes Restostern
VG
Ulli
-
@ullij
Hallo ullijEs geht mir genau um so eine Art "Watchdog" oder eben "Komunikation findet noch statt" überwachung. Wenn ich nämlich die Zeitangaben meiner Datenpunkte anschaue, komme ich da etwas in grübeln. Denn ich habe zb. bei der Pufferspeichertemperatur in der UVR ein Interval von 2min gesetzt. Im Iobroker kann es aber gerne bis zu 5min dauern bis der Wert aktualisiert wird.
Jetzt kann das natürlich verschiedenste Ursachen haben, dass ist mir klar. Ist bei einer Temperatur die ich nur zur Anzeige im Vis brauche auch kein Thema, aber mein Heizungbauer stellt sich mit den Betriebsstunden etwas quer, wenn ich nun aber hier im Iob eine Zeitzählung machen will, sollte natürlich der Ein/Aus Status der Kesselpumpe oder des Pelletbrenners schon einigermasen Zeitsynchron ankommen.
Grundsätzlich funktioniert das ganze stabil und zuverlässig, aber eine Betriebsstunden erfassung lässt sich damit nicht realisieren.