Hallo @jotata
ich habe das ganze noch einmal nachgestellt und noch einen Screenshot vom Debug-Log + vom COE-Ausgang gemacht.
Genau, in IPS, schreibe ich den Wert auf A2.
Der Wert ist beides male aber 2, unabhängig von kWh oder kW, da der Wert dahinter gleich ist in Bezug auf die Anzahl der Stellen. (Hoffe ich verstehe dich richtig)
Im CMI selbst hatte ich den Wert nicht erst kürzlich auf KW geändert.
danke für deine zusätzlichen PrintScreens. Gemäss diesen gibt es bei dir eine Datenübertragung von CAN-Gerät zu IPS und eine von IPS zu CMI/CAN-Gerät. Die Erste ist bei dir wie folgt konfiguriert: CAN-Gerät (K1/A2) → (CAN A1) CMI (CoE K22/A1) → (A1) IPS
Auf der CMI holst du den Wert „Heizstab Leistung“ vom CAN-Bus (Knoten 1 Ausgang 2) und legst diesen auf der CMI unter dem Eingang CAN-Bus Analog 1 ab.
Anschliessend sendest du den Wert von der CMI Eingang CAN-Bus Analog 1 an die CMI (192.168…) via Ausgang CoE Analog 1. Dabei definiert du, dass die CMI für diese Verbindung die KnotenNr 22 und den Ausgang A1 nutzen soll.
Auf deiner IPS empfängst du vermutlich von Knoten 22 (im PrintScreen nicht ersichtlich) und hast dafür die Variable A1 korrekt als Eingang konfiguriert.
Der Wert von 0.2kW wird somit korrekt vom CAN-Gerät zu IPS übertragen und dort in A1 angezeigt.
Zusätzlich erwartest du auf IPS noch einen eingehenden Wert von CMI (K22/A4). Ob du dort etwas seitens der CMI konfiguriert hast, kann ich so nicht sehen. In deinem PrintScreen vom Debug-Log sind keine eingehenden Meldungen von der CMI ersichtlich.
Beim zweiten Teil ist folgendes konfiguriert: IPS (K22/A2) → CMI/CAN-Gerät IPS (K22/A3) → CMI/CAN-Gerät IPS (K22/D1) → CMI/CAN-Gerät
Im Debug-Log ist ersichtlich, dass die Werte A2, A3, D1 an die CMI/CAN-Gerät gesendet werden. Diese werden allerdings ohne Einheit gesendet, da du auf der IPS-Variable kein Profil aktiviert hast. Wenn du da auch ein Profil vom Modul (JoTTACoE..) definierst, wird dies per CoE mitgesendet.
Diese Werte siehst du auf der CMI nirgends direkt. Die CMI leitet die Daten einfach an den CAN-Bus weiter mit dem Knoten 22 und dem entsprechenden Ausgang als Absender.
Hier müsstest du nun auf einem (oder auch mehreren) deiner CAN-Geräte wieder einen Eingang definieren, welcher die Daten vom Knoten 22 einliest und bei sich in einem Eingang ablegt. Im Moment müsstest du dabei auch die Einheit definieren. Wenn du in IPS ein Variablen-Profil definierst hast, kanns du auf dem CAN-Gerät die Einheit auf Automatisch stellen.
Ich weiss, dass die IPS-Konfiguration für die Variablen (Eingang/Ausgang, usw.) etwas kompliziert ist (siehe Doku). Du musst das immer aus Sicht von IPS anschauen. Wenn es bei der CMI ein Ausgang ist, so ist es bei IPS ein Eingang und umgekehrt. Das ist die Logik, wie ich sie von Technische Alternative für das CoE-Protokoll verstanden habe
Ich hoffe, dass ist nun etwas besser verständlich. Ansonsten müsstest du nochmals einen Debug-Log (aber diesmal mit RECEIVE Data) posten.
@jotata:
Jetzt funktioniert es
Es war in meinem Script zu Ansterung des Heizstabs bei der Berechnung der zur Verfügung stehenden Leistung noch ein Fehler. Diesen habe ich berichtigt, jetzt wird der Wert korrekt übertragen.
Guten Morgen,
ich glaube ich habe noch einen Bug gefunden bzw. kann mir das verhalten nicht erklären, weil es im Hintergrund der gleiche Vorgang ist, das eine variable aktualisiert wird, aber das Verhalten ist unterschiedlich.
Und zwar bei der Option, wann bzw. wie oft die Änderungen an Ausgängen ans CMI gesendet werden:
Folgendes Verhalten:
In die Variable in IP-Symcon wird über ein Skript geschrieben, wie viel Überschuss für den Heizstab zur Verfügung steht. Dieser Wert soll dann im Intervall von 5 Minunten, oder bei aktueller Änderung ans CMI geschickt werden. In diesem Fall haben wir eine aktive Änderung durch ein Skript und ich erwarte das der Wert direkt gesendet wird.
Problem: Der Wert wird nicht direkt ans CMI gesendet, erst nach ein paar Minuten.
Ich hatte mal gestoppt es waren ca. 3:45 Minuten. Hier hätte ich 5 Minuten erwartet.
Das komische ist, wenn ich einen Rechtsklick auf die Variable mache und sage „Variable verändern“ wie auf dem Bild, dann wird der Wert innerhalb von ca. 5 Sekunden ans CMI übertragen.
Hast du hier eine Idee?
Sag bescheid wenn du noch weitere Details benötigst.
(Ich erstelle dir auch gern ein kurzes Video wenn es dann besser zu verstehen ist)
@jotata
Das ware es, ich habe die Variable im Script mit SetValue anstatt mit RequestAction geschalten.
Jetzt funktioniert es einwandfrei, schaltet jetzt innerhalb von 5 - 10 Sekunden.
Da haben wir wieder das Problem wie im November 21. Nur habe ich das damals mit einer Anpassung im Code so gelöst, dass der Filter entsprechend auf Gross-Schreibung geändert wird (.*„Buffer“\:"\\u001E.*„ClientIP“\:„192\.168\.2\.34“.*). Nun wird der Wert bei dir gemäss DebugLog aber plötzlich wieder mit Kleinschreibung ( \u001e) übermittelt und der Filter funktioniert daher nicht mehr
Dieses Problem tritt nur bei bestimmten KnotenNr (wie bei dir 30) auf. Wenn du als KnotenNr 10 verwendest, ergibt das einen Filter von .*„Buffer“\:"\\n.*„ClientIP“\:„192\.168\.2\.34“.* und damit würde es funktionieren.
Das Problem wird in der Doku für SetReceiveDataFilter beschrieben. Allerdings weiss ich nun nicht ob hier in IPS etwas geändert wurde oder ob das OS-Abhängig ist. Ich könnte natürlich einfach die Änderung auf Grossschreibung rückgängig machen, aber dann geht es ev. in einer anderen Konstellation nicht mehr
Ich habe nun einmal versucht den Filter Case-Insensitive zu setzen (/.*„Buffer“\:"\\u001E.*„ClientIP“\:„192\.168\.2\.34“.*/i), dann kommen aber überhaupt keine Daten mehr an. Gemäss https://regex101.com/ funktioniert der Filter aber
Für die Erstellung des Filters verwende ich folgenden Code:
Werden ev. seitens IPS die RegEx-Operatoren (/i) beim setzen von ReceiveDataFilter verändert oder eigene hinzugefügt? Vielleicht stehe ich auch sonst einfach auf dem Schlauch
Vielleicht hat uns da @paresy oder sonst jemand vom IPS-Team einen Tipp?
diese Woche habe ich mein System auf 7.0 hochgezogen.
Leider funktioniert CoE-Knoten nicht mehr. Wenn ich die Instanze öffne bekomme ich eine Fehlermeldung:
Ich musste mein CMI auf Version 1.43.3 updaten. Seitdem kommen keine Werte mehr von TA zu IPSymcon. Von IPSymcon zu TA senden funktioniert. Ist das Problem vielleicht schon bekannt?
Hallo,
ich wollte meine Heizung einbinden. Leider scheitere ich schon ganz am Anfang und bekomme direkt nach der Installation ein Ausrufezeichen an der Instanz. „Diese Instanz ist fehlerhaft“. Irgendwas scheine ich grundssätzlich falsch zu machen. Die Einstellungen habe ich aber mehrfach kontrolliert und es sind ja auch nur sehr wenige. Hat jemand eine Idee, wo ich anfangen kann nach dem Fehler zu suchen?