Einsteigerfrage: Wie kann man HS485 einbinden?

Hallo,

ich habe jetzt schon einiges probiert, komme im Moment aber nicht weiter. Ich wollte mein HS485 an IPS anbinden, sodass man über das Webfront die Geräte schalten kann und auch die Zustände im Webfront sofort sieht.
Über den Beitrag von RWN (http://www.ip-symcon.de/forum/f7/hs485-bussystem-4259/) habe ich es auch geschafft, dass ich die Geräte schalten kann. Doch wie bekommt man nun die Daten vom Bus in dieses HS485_Daten? Habe das Schalten nämlich bis jetzt direkt gemacht, indem ich direkt den String auf den Bus geschrieben habe, ohne Umweg über irgendwelche Variablen.

Hat jemand eine Anleitung, wie man das Schritt für Schritt machen kann? Denn irgendwie scheint man ja einige Variablen zu brauchen, um die Zustände zu speichern und zu setzen, wenn ich das jetzt richtig durchblickt habe.

Vielen Dank schon mal im Voraus für die Antworten.

Hallo Jörg,
wenn du dir alle Beiträge zu dem Thema angesehen und auch befolgt hast, dann sollten die Daten automatisch vorliegen … wie bist du denn bisher vorgegangen bzw. welche Variablen und Scripte benutzt du bisher ? Und welche Version von IPS?

Gruß
Jens

Hallo Jörg,

ich weiss ja nicht, inwieweit Du das übernommen hast, aber schalten kannst Du über eine Stringvariable. Diese kannst Du vom Webfront aus bedienen.
z:B. „IOA2t“ steht in deiner Stringvariablen(HS485_Schalten).
Du legst dir ein Script an, z.B. Flurlicht so.

<?

if ($IPS_SENDER == "WebFront")
{
    SetValue(36736 /*[.HS485_Bussystem\HS485_Schalten]*/, "IOA2t");
}


?>

ein Dummymodul und eine Boolvariable mit dem Profil ~Switch und dieses dem Script zuordnen. Mehr ist es nicht.
Bei Unklarheiten, fragen.

Danke für die schnelle Antwort. Ich benutze übrigens die aktuelle Version 2.10.

Das mit Script, Dummy-Modul und Booleanvariable habe ich jetzt mal eingerichtet und ich sehe auch einen Button, der immer auf „AUS“ steht, da ja mit dem Schalter-Script auch noch nichts in die Booleanvariable geschrieben wird. Ansonsten wird das Licht aber bei einem Klick korrekt getoggelt… :slight_smile:

Nun stellt sich wieder die Frage wie man das Script HS485-Datenempfang einbindet, sodass die Daten von dem Bus überhaupt in eine Variable geschrieben werden, damit man über Ereignisse auf Veränderungen reagieren kann.

z.B. so.

// Rückmeldung Aktoren
$Schaltzustand == $Startzeichen.$Moduladresse.$Frame4.$Datenframe1.$Datenframe2;
if ($Schaltzustand == $Startzeichen.$Moduladresse1.$Frame4.$HS485_127IO_A3.$Aus)
  {
   SetValue(38645 /*[.HS485_Bussystem\HS485_IO127\Status Relais 3 Ventilator Keller]*/, false);
  }
  if ($Schaltzustand == $Startzeichen.$Moduladresse1.$Frame4.$HS485_127IO_A3.$Ein)
  {
   SetValue(38645 /*[.HS485_Bussystem\HS485_IO127\Status Relais 3 Ventilator Keller]*/, true);
  }

Und wie kommen die Daten vom Bus in die Variable $Schaltzustand bzw. im Script in die Variable HS485_Daten?

Sorry, aber das habe ich irgendwie immer noch nicht verstanden… :confused:

über das Script Datenempfang und der Abfrage des Schaltzustandes.

Eine Registervariable hast du aber schon angelegt, oder?? Und alles was da drin landet sollte vom Datenempfangsscript ausgewertet werden !!?

@Rainer: Hast du das Script noch genau so wie im Thread laufen (unter 2.x) oder noch weiter optimiert/modifiziert oder sogar ganz neu erstellt?

Gruß
Jens

Hallo Jens,

nö, ist immer noch proff off concept :rolleyes: Habs nur für die RegVar angepasst und einen Cutter dazwischen gemacht.