Aber gerne doch!
Also, geht los mit einem USB->RS485 Adapter. Ich benutze jetzt schon den zweiten von in-circuit - bezogen über Amazon für 20€.
Angeschlossen hab ich dann das Ganze an meine Wandsteuerung. Selbsterklärend A->A B->B M->GND.
Abschlusswiderstand wird offensichtlich nicht benötigt.
Den USB Adapter auf eine freie COM Schnittstelle gelegt und in IPS einen Serial Port mit folgenden Einstellungen eingerichtet:
Baud Rate: 9600
Datenbits: 8
Stopbits: 1
Parität:keine
Dann einen Cutter eingerichtet, mit Verweis auf die Serielle Schnittstelle.
Einstellungen des Cutters:
Benutze feste Schritte
Eingabelänge: 6
Sync Zeichen: 01 11 20
Setzen und Übernehmen
Dann eine beliebige Kategorie erstellt, darin ein Skript eingerichtet. Inhalt folgt am Ende.
In der Kategorie 4 Float Variablen erstellt.
Zuluft
Abluft
Aussenluft
Fortluft
Eine Integervariable
Lüftungsstufe
Zurück zum Cutter: Unterhalb des Cutters eine Register Variable
Target: Unser (noch) leeres Skript (Auslesescript)
Übergeordnete Instanz: Der CUTTER!!!
Übernehmen.
Jetzt zum Inhalt des Skriptes:
Das Wichtigste… bitte nicht lachen!
Ich habe es mit meinen rudimentären Programmierkenntnissen geschrieben.
Aber es tut was es soll. ![:wink: :wink:](https://community.symcon.de/images/emoji/win10/wink.png?v=9)
Zu ändern sind natürlich noch einige Stellen - aber nur Variablen IDs.
$Aussen = GetValue(43821 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Aussenluft]*/ ); //32
$Zu = GetValue(38071 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Zuluft]*/ ); //35
$Ab = GetValue(13267 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Abluft]*/ ); //34
$Fort = GetValue(30072 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Fortluft]*/ ); //33
$data = $IPS_VALUE;
$Data = bin2hex($data);
$id = substr($Data,6,2);
$value = substr($Data,8,2);
print_r($value);
switch($id)
{
case "32":
$temp = ConvertTemp($value);
if ($Aussen != $temp && $temp != 0){
SetValueFloat (43821 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Aussenluft]*/, $temp);
}
break;
case "33":
$temp = ConvertTemp($value);
if ($Fort != $temp && $temp != 0){
SetValueFloat (30072 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Fortluft]*/, $temp);
}
break;
case "34":
$temp = ConvertTemp($value);
if ($Ab != $temp && $temp != 0){
SetValueFloat (13267 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Abluft]*/, $temp);
}
break;
case "35":
$temp = ConvertTemp($value);
if ($Zu != $temp && $temp != 0){
SetValueFloat (38071 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Zuluft]*/, $temp);
}
break;
case "29":
switch($value){
case "01":
SetValueInteger (42695 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Stufe]*/ , 1);
break;
case "03":
SetValueInteger (42695 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Stufe]*/ , 2);
break;
case "07":
SetValueInteger (42695 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Stufe]*/ , 3);
break;
case "0f":
SetValueInteger (42695 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Stufe]*/ , 4);
break;
case "1f":
SetValueInteger (42695 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Stufe]*/ , 5);
break;
case "3f":
SetValueInteger (42695 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Stufe]*/ , 6);
break;
case "7f":
SetValueInteger (42695 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Stufe]*/ , 7);
break;
case "ff":
SetValueInteger (42695 /*[Räume\HWR\Lüftungsanlage\Busauslesung\Stufe]*/ , 8);
break;
}
default:
break;
}
// Ab hier gibt es nichts mehr zu ändern
function ConvertTemp($wert){
$Temp = "";
switch ($wert){
case "83":
$Temp = 10;
break;
case "84":
$Temp = 10.3;
break;
case "85":
$Temp = 10.6;
break;
case "86":
$Temp = 11;
break;
case "87":
$Temp = 11.3;
break;
case "88":
$Temp = 11.6;
break;
case "89":
$Temp = 12;
break;
case "8a":
$Temp = 12.3;
break;
case "8b":
$Temp = 12.6;
break;
case "8c":
$Temp = 13;
break;
case "8d":
$Temp = 13.3;
break;
case "8e":
$Temp = 13.6;
break;
case "8f":
$Temp = 14;
break;
case "90":
$Temp = 14.3;
break;
case "91":
$Temp = 14.6;
break;
case "92":
$Temp = 15;
break;
case "93":
$Temp = 15.3;
break;
case "94":
$Temp = 15.6;
break;
case "95":
$Temp = 16;
break;
case "96":
$Temp = 16.3;
break;
case "97":
$Temp = 16.6;
break;
case "98":
$Temp = 17;
break;
case "99":
$Temp = 17.5;
break;
case "9a":
$Temp = 18;
break;
case "9b":
$Temp = 18.3;
break;
case "9c":
$Temp = 18.6;
break;
case "9d":
$Temp = 19;
break;
case "9e":
$Temp = 19.3;
break;
case "9f":
$Temp = 19.6;
break;
case "a0":
$Temp = 20;
break;
case "a1":
$Temp = 20.5;
break;
case "a2":
$Temp = 21;
break;
case "a3":
$Temp = 21.3;
break;
case "a4":
$Temp = 21.6;
break;
case "a5":
$Temp = 22;
break;
case "a6":
$Temp = 22.3;
break;
case "a7":
$Temp = 22.6;
break;
case "a8":
$Temp = 23;
break;
case "a9":
$Temp = 23.5;
break;
case "aa":
$Temp = 24;
break;
case "ab":
$Temp = 24.3;
break;
case "ac":
$Temp = 24.6;
break;
case "ad":
$Temp = 25;
break;
case "ae":
$Temp = 25.5;
break;
case "af":
$Temp = 26;
break;
case "b0":
$Temp = 26.5;
break;
case "b1":
$Temp = 27;
break;
case "b2":
$Temp = 27.3;
break;
case "b3":
$Temp = 27.6;
break;
case "b4":
$Temp = 28;
break;
case "b5":
$Temp = 28.5;
break;
case "b6":
$Temp = 29;
break;
case "b7":
$Temp = 29.5;
break;
case "b8":
$Temp = 30;
break;
case "b9":
$Temp = 30.5;
break;
default:
break;
}
return $Temp;
}
Ich hoffe ich habe ein weing von der Hilfe, die ich erhalten habe, zurückgeben können. Bei Fragen stehe ich jederzeit zur Verfügung.
LG
Peter