Ein Resol DeltaSol Plus Solarregler hat eine serielle Schnittstelle die nur sendet mit 9600,n,8,1.
Daran habe ich ein Serial IP USR-TCP232 Schnittstellenkonverter angeschlossen und auf einem entfernten Computer läuft ein Port Redirector und man kann die Daten im Resol eigenen Programm ServiceCenter-Software RSC auch sauber anzeigen lassen. Technik steht also.
Auf meinen FHEM Raspi habe ich dann mal ein VBUSIF angelegt, jedoch mit IP und Port des Serial IP USR-TCP232 Schnittstellenkonverter. Und siehe da, es kommt in den Internals des VBUSIF folgende RAWMSG die gut aussieht, so denke ich.
RAWMSG aa10001052100001087419013f016b0202011701000000002a01d70366001c00000100000000c602c602
Leider finde ich in den VBUSDEV nicht meine DeltaSol Plus Steuerung sondern nur jede Menge andere Regler und Steuerungen. Die per autocreate angelegte VBUSDEV_5210 passt nicht.
In der Datei 21_VBUSDEV.pm sind ja allerlei Regler drin, aber kann jemand meine DeltaSol Plus noch integrieren?
Muss ich vielleicht ein anderes Device als das VBUSIF nehmen, da ich ja gar kein physikalisches VBUS Interface habe sondern nur den Serial IP USR-TCP232 Schnittstellenkonverter. Ich möchte kein VBUS Interface extra kaufen, die Daten hab ich ja in fhem zur Verfügung.....
Ich bin selbst ein bisschen weitergekommen. Die 21_VBUSDEV.pm müsste mMn um folgende Zeilen für die bisher nicht unterstützte Device (DeltaSolPlus) ergänzt werden.
"5210" => {"name" => "DeltaSolPlus", "cmd" => "0100", "fields" => [
{ "offset" => 0,"name" => "temperature_T01","bitSize" => 15,"factor" => 0.1,"unit" => "°C" },
{ "offset" => 2,"name" => "temperature_T02","bitSize" => 15,"factor" => 0.1,"unit" => "°C" },
{ "offset" => 4,"name" => "temperature_T03","bitSize" => 15,"factor" => 0.1,"unit" => "°C" },
{ "offset" => 6,"name" => "temperature_T04","bitSize" => 15,"factor" => 0.1,"unit" => "°C" },
{ "offset" => 8,"name" => "temperature_T05","bitSize" => 15,"factor" => 0.1,"unit" => "°C" },
{ "offset" => 10,"name" => "speed_R1","bitSize" => 8,"unit" => "%" },
{ "offset" => 11,"name" => "speed_R2","bitSize" => 8,"unit" => "%" },
{ "offset" => 12,"name" => "volumeflow","bitSize" => 16,"factor" => 0.1,"unit" => "l/min" },
{ "offset" => 14,"name" => "antifreeze","bitSize" => 8,"factor" => 1,"unit" => "%" },
{ "offset" => 15,"name" => "frostprotection","bitSize" => 8},
{ "offset" => 16,"name" => "waermemenge_1","bitSize" => 16,"factor" => 1,"unit" => "Wh" },
{ "offset" => 18,"name" => "waermemenge_2","bitSize" => 16,"factor" => 1000,"unit" => "Wh" },
{ "offset" => 20,"name" => "waermemenge_3","bitSize" => 16,"factor" => 1000000,"unit" => "Wh" },
{ "offset" => 22,"name" => "hw-version","bitSize" => 8,"factor" => 0.1 },
{ "offset" => 23,"name" => "sw-version","bitSize" => 8,"factor" => 0.1 },
{ "offset" => 24,"name" => "error_mask","bitSize" => 8},
{ "offset" => 25,"name" => "error_info1","bitSize" => 8},
{ "offset" => 26,"name" => "error_info2","bitSize" => 8},
{ "offset" => 27,"name" => "relaismask","bitSize" => 8},
{ "offset" => 28,"name" => "systemtime","bitSize" => 15 },
{ "offset" => 30,"name" => "systemtime","bitSize" => 15 },
]},
Habe den Frame aus Hex Daten entschlüsselt und ausgewertet. Dann sollte auch eine DeltaSolPlus mit Hilfe eines VBUSIF Resol Interfaces funktionieren.... Genau so ein Interface möchte ich aber nicht extra kaufen, hab ich doch folgende Rohdaten aus einem physischen ECMD Device zur Verfügung.
2020.01.01 08:28:09 3: Solar_S13_ecmd device opened
2020.01.01 08:28:09 2: Solar_S13_ecmd: read \000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t!e\000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t!e\000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t!e\000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t!e\000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t!e\000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t e\000\atl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t!e\000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t e\000\atl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t!e\000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t e\000\atl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t!e\000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t!e\000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013�\020\000\020R\020\000\001\010t!e\000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013 (\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\041\177\145\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\041\177\145\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\041\177\145\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\041\177\145\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\041\177\145\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\040\177\145\000\007\164\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\041\177\145\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\040\177\145\000\007\164\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\041\177\145\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\040\177\145\000\007\164\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\041\177\145\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\041\177\145\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013\252\020\000\020\122\020\000\001\010\164\041\177\145\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013)
2020.01.01 08:28:09 2: Solar_S13_ecmd: read � (\252)
2020.01.01 08:28:09 2: Solar_S13_ecmd: read \020\000\020R\020\000\001\010t!e\000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013 (\020\000\020\122\020\000\001\010\164\041\177\145\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013)
2020.01.01 08:28:10 2: Solar_S13_ecmd: read � (\252)
2020.01.01 08:28:10 2: Solar_S13_ecmd: read \020\000\020R\020\000\001\010t!e\000\asl\002W\000\0046S\000\000\000\001+\000\000*\001\000T'\001\001\000\004R\034\000\000\001\000b\000\000\000\000\0008\0028\002\000\013 (\020\000\020\122\020\000\001\010\164\041\177\145\000\007\163\154\002\127\000\004\066\123\000\000\000\001\053\000\000\052\001\000\124\047\001\001\000\004\122\034\000\000\001\000\142\000\000\000\000\000\177\070\002\070\002\000\013)
Frage: Wie bekomme ich die Rohdaten aus dem ECMD Modul so aufbereitet, dass ich die Daten im Klartext weiterverarbeiten kann?
Meine Programmierkenntnisse in Perl reichen da leider nicht aus.
Das Ganze funktioniert jetzt.
siehe hier
https://forum.fhem.de/index.php/topic,10303.msg1023506.html#msg1023506 (https://forum.fhem.de/index.php/topic,10303.msg1023506.html#msg1023506)
Dank an pejonp