Modbus Stiebel Eltron ISG

Port 502 habe ich - laut Doku auch korrekt. Verbindung bekomme ich auch aufgebaut… Siehe Debug log.

Bekomme mit folgenden Einstellungen diese Meldung:

04.09.2020, 20:13:55 | TimerPool | ModBus Device Temp (UpdateTimer): Variable kann nicht genutzt werden, da Sie oberhalb der Lizenzlimitierung liegt

Und welcher Stiebel-Typ ist es, auch ADR 507 mit Holding Register , schwip/Schwap mal umgeschaltet, schon versucht?

Du könntest mit QModbus Master auch mal mehrere Register anzeigen lassen, Holding und Input Register wahlweise.

ISt eine Stiebel Eltron LWZ 303 SOL aus 2010 -mit einem ISG und aktueller Version. Ich vermute fast, dass die mir zwar den Modbus freigeschaltet haben aber nicht die Lizenz um auslesen zu können. Kann das sein?

Sorry verstehe ich nicht?

auch ADR 507 mit Holding Register , schwip/Schwap mal umgeschaltet, schon versucht?

Hier der Screenshot

Funktion lesen: mal Funktionscode 03 versuchen und Schwip/Schwap ist Spass, ist LowByte/HighByte LSW/MSW im Splitter :wink:
Und die Freischaltungsfrage würde die Meldung erklären, aber kommt Die ins Meldungsfenster von IP-Symcon?

Du hast das Limit deiner Symcon Lizenz erreicht.
Michael

Mit dieser Konfig funktioniert es bspw. die Außentemperatur per Modbus auszulesen:

image

Kann mir jemand mal bitte kurz erklären, wie ich aus diesen Werten auf 6,5 komme?

Hexadecimal 41 ist gleich 65 decimal

1 „Gefällt mir“

Danke Dir. Jetzt weiß ich, wie ich die Werte in diesem Fall besser „lesen“ kann…

Vielleicht kannst du mir auch hier helfen: Modbus Device - Instanzkonfiguration Datentyp 6

Da beiss ich mir auch gerade die Zähne aus. Normalerweise ist 6 nicht vorzeichenbehaftet, 16int und hat keinen Multiplikator. Ausgelesen wird es über den Funktionscode 03 read Holding registers.

So habe ich es nun gelölst:

image

Hier das Skript:

<?php
//Nur Trigger durch Variable erlauben
if($_IPS['SENDER'] != "Variable") {
    return;
}

for($i=0; $i<15; $i++) {
    $bitvalue = (($_IPS['VALUE'] & (1 << $i)) == (1 << $i));
    $varname = IPS_GetName($_IPS['VARIABLE'])."_Bit".$i;
    $vid = CreateVariableByIdent($_IPS['VARIABLE'], $varname, 0);
    SetValue($vid, $bitvalue);
}

function CreateVariableByIdent($id, $name, $type){
   global $IPS_SELF;
   $vid = @IPS_GetObjectIDByIdent($name, $id);
   if($vid===false) {
      $vid = IPS_CreateVariable($type);
      IPS_SetParent($vid, $id);
      IPS_SetName($vid, $name);
      IPS_SetIdent($vid, $name);
      IPS_SetInfo($vid, "This Variable was created by Script 945");
   }
   return $vid;
}
?>

Hey, ich möchte auch gerne unsere Stiebel Wärmepumpe auslesen. Wie muss man da genau vorgehen? Kann man das irgendwie kurz beschreiben?

Vielen Dank

Gruß

Thorsten

Hast du ein ISG mit Modbus an der Anlage?

Hey,
ja, ich habe an der WP ein ISG mit Modbus hängen. Ich habe es jetzt auch hin bekommen Werte auszulesen. Wie hast du das gemacht das die gewünschten Werte alle unter einer Instanz stehen? Ich habe jetzt pro Wert eine Instanz….
Wie kann man zb bei den Temperaturen am elegantesten die Kommastelle verschieben? Am besten wahrscheinlich mit eine Script, oder?
Mal schauen ob das mit den Werten schreiben auch funktioniert :wink:

Symcon ist echt genial…… nur bin ich jetzt mit 999 Variablen an der Grenze, warte auf ein Angebot für eine Upgrade :wink:@paresy

So, werte mit den richtigen Faktor anzeigen geht auch, Werte lassen sich jetzt auch schreiben :wink: weiß jemand wie man das bitcodierte aufschlüsselt? Wenn die WP im Betrieb ist steht dort ein Wert von 81.

Ja, für jeden Wert eine Instanz :wink:

Hallo!

Wie hast du denn die Umsetzung des Wertes auf die einzelnen Bool-Variablen realsiert? Da stehe ich gerade etwas auf dem Schlauch…