Autor Thema: EasyComServer – EASY SPS Software (C# / .NET 8)  (Gelesen 79 mal)

Offline FriFra

  • Newbie
  • *
  • Beiträge: 5
Ich nutze mittlerweile seit über 16 Jahren eine selbst entwickelte Software zur Steuerung meiner EASY SPS.

Die ursprüngliche Version war in Delphi geschrieben und lief zwar extrem stabil, ist aber inzwischen praktisch nicht mehr wartbar. Deshalb habe ich das Ganze in den letzten Tagen komplett neu umgesetzt.

Das Ergebnis ist ein vollständiger Rewrite meiner alten Software in C# (.NET 8 ) – inklusive moderner Architektur, Windows-Service, HTTP- und Telnet-Gateway sowie Web-Konsole.

Die alte Version habe ich inzwischen von meinem Server entfernt und durch die neue ersetzt.

Ich nutze das Ganze, um meine EASY-SPS über Homey Pro und Home Assistant zu steuern. Die Geräte lassen sich dabei sehr einfach per HTTP-Call ansprechen,
z. B.: http://meinServer:8083/easy.cmd?WRITE_OBJECT_VALUE 1 4 6 1 1|0|14000
An der EASY hängt ein RS232-to-Ethernet-Adapter, der auf meinem Server einen virtuellen COM-Port bereitstellt. Dieser wird dann von der Software über die EASY_COM.dll angesprochen.

Alternativ kann man den Server natürlich auch direkt per serieller Schnittstelle an die EASY anschließen. In meinem Setup läuft der Server allerdings als VM auf meiner Synology, daher ist die Netzwerkvariante für mich die praktikablere Lösung.

Das Projekt ist jetzt Open Source verfügbar:
https://github.com/McFcologne/org.frifra.easycom

Falls jemand ebenfalls mit EASY-Steuerungen arbeitet oder so etwas in Richtung Remote-Zugriff / Automatisierung sucht, könnte das interessant sein.

Eine fertige Setup.exe kann ich aktuell leider nicht bereitstellen, da ich mir unsicher bin, inwieweit die EASY_COM.dll weitergegeben werden darf.

Derzeit ist es daher notwendig, das Projekt selbst zu laden, die DLL manuell in das Projektverzeichnis zu kopieren und anschließend den Build in Visual Studio auszuführen. Das Setup kann danach über das enthaltene Inno Setup Script erstellt werden.

Offline JansenDa

  • Administrator
  • easy god
  • *****
  • Beiträge: 10125
Antw:EasyComServer – EASY SPS Software (C# / .NET 8)
« Antwort #1 am: Heute um 13:50:56 »
Hallo Michael,

ich bitte zu beachten, dass die EASYCOM DLL selbst keine Freeware oder OpenSource ist  8) Danke!

Um das noch etwas zu präzisieren - ich spreche von der DLL für easyE4.
Die DLL für die alte Reihe der easy800 (etc.) liegt auf dem Downloadcenter auf der Eaton Webseite bereit zum Download.

Sofern ich das richtig gesehen habe, hast du sie ja auch nicht auf Github hochgeladen.

Mit freundlichen Grüßen,

Daniel
« Letzte Änderung: Heute um 14:13:22 von JansenDa »

Offline FriFra

  • Newbie
  • *
  • Beiträge: 5
Antw:EasyComServer – EASY SPS Software (C# / .NET 8)
« Antwort #2 am: Heute um 14:31:17 »
Ja, die dll, hab ich extra weggelassen und deshalb gibt es auch aktuell keinen fertigen installer! Ich kann aber versuchen das Innosetu script so umzubauen, dass die dll von Eaton geladen wird.
Danke für den Hinweis auf die neue dll. Ist die noch kompatibel mit den 800ern?

Offline JansenDa

  • Administrator
  • easy god
  • *****
  • Beiträge: 10125
Antw:EasyComServer – EASY SPS Software (C# / .NET 8)
« Antwort #3 am: Heute um 14:47:38 »
Hallo Michael,

die neue DLL geben wir nur auf "besondere" Anfrage heraus.

Wenn du da etwas spezielles anbieten möchtest könnten wir uns mal zusammen mit unserem Software-Entwicklungsleiter unterhalten.

Gruß
Daniel

Offline FriFra

  • Newbie
  • *
  • Beiträge: 5
Antw:EasyComServer – EASY SPS Software (C# / .NET 8)
« Antwort #4 am: Heute um 18:01:59 »
Anbieten kann ich, die Kompatibilität zu testen und den Wrapper gegebenenfalls an diese DLL anzupassen. Dabei übersetze ich die DLL-Funktionen im Grunde 1:1 in HTTP-Requests. Der Legacy-Teil arbeitet mit einem String-Parameter, während die neue REST-API das Ganze strukturierter abbildet. Für meine Zwecke reicht die alte Implementierung völlig aus, um die Easy über mein Smarthome zu steuern. Mit der vorherigen Version hatte ich praktisch schon ein Smarthome, bevor es den Begriff überhaupt gab.

Alles, was ich bei mir zu Hause steuere, läuft über Merker, die parallel zu den Taster-Eingängen eingebunden sind. Über die implementierte Delay-Logik simuliere ich dann einen kurzen Tastendruck.

Grundsätzlich wäre es sicher möglich, je nach geladener DLL unterschiedliche Endpunkte bereitzustellen. Allerdings sind meine Testmöglichkeiten begrenzt, da ich hier nur drei 800er mit Erweiterung im Einsatz habe. Die Implementierung sowie grundlegende Tests kann ich aber übernehmen.

Ich hoffe, dass es da draußen überhaupt noch jemanden gibt, der so etwas gebrauchen kann.
« Letzte Änderung: Heute um 18:05:37 von FriFra »