Hop til indhold

Nyt uofficielt .NET 5 cross-platform SDK til IHC på vej - frivillige søges til test m.m.


mmc
 Share

Recommended Posts

Jeg er godt igang med et uofficielt .NET 5 SDK som virker på Windows, Mac og Linux (incl. raspberry pi) og er henvendt til C#/F# udviklere. SDK'et er 100% open source, crossplatform, async i designet, understøtter nyeste C# features, og er noget nemmere og mere ambitiøst end tidligere libraries m.h.t. features og API support. Se eksempel kodestump nedenfor som løbende udskriver status ændringer på 3 input sensorer via en C# async enumerator.

Lige nu ved jeg SDK'et virker på min maskine med min IHC(3) version, men før jeg releaser søger jeg andre erfarne(!) C# udviklere med IHC derhjemme, som kan hjælpe med at kvalitetssikre og gerne forbedre. Bl.a. er jeg specielt interesseret i at høre om SDK'en virker med forskellige IHC versioner, da jeg ikke ved om de interne SOAP skeletons som jeg har generet ud fra min v3.0 controller også virker for tidligere versioner?


Update: SDK'en ligger som open source på https://github.com/mmc41/IHCClientSDK.

 

var endpoint = "http://<IP>"; // 
var noLog = NullLogger<Program>.Instance;

var authService = new AuthenticationService(noLog, endpoint);
var resourceInteractionService = new ResourceInteractionService(noLog, endpoint);

var login = await authService.Authenticate("<USERNAME>", "<PASSWORD>");

// Poll on IO changes to following addresses:
var resourceChanges = resourceInteractionService.GetResourceValueChanges(new int[] {
                                  <SENSOR1ADDR>,
                                  <SENSOR2ADDR>,
                                  <SENSOR2ADDR>
                      });

await foreach (ResourceValue r in resourceChanges) {
  Console.WriteLine("Input # " + r.ResourceID + " = " + r.Value.BoolValue);
}

      

Skriv gerne her el. send en PM med evt. interesse (i skal kunne udvikle i C# og kende .NET core el. v5) for at kunne bidrage. 

 

Link til kommentar
Del på andre sites

Spændende. Jeg har dog ikke tid og er måske lidt bekymret for ustabilitet i min installation. Jeg oplever at hvis jeg kobler for mange ting på SOAP på min HW 7.1 controller så bliver controlleren ustabil. Jeg kørte på et tidspunkt med kaptajnen, 2 versioner af Home Assistant og OpenHAB og fandt ud af SOAP delen af controlleren crashede. Jeg har således tænkt på om man kunne bygge en form for proxy til controlleren ... har du kigget på noget i den retning? Det kunne også give mening for ældre controllere hvor LK er holdt op med at lave sikkerhedsopdateringer.

Link til kommentar
Del på andre sites

Det lyder mere som du har brug for en multiplexer/relay end som et SDK og er uden for mit scope (selvom man kan bruge mit SDK til at lave en sådan en). Det er tilsyneladne vigtigt, at man rydder om og kalder Disconnect på AuthenticationService'en så det kan være det går galt i dit setup el. måske løber din controller tom for hukommelse (nyere V3 model er måske bedre her?).

Det SDK jeg arbejder på virker p.t. stabilt hvis man kalder Disconnect, men kræver naturligvis en del mere tests - lige nu ved jeg kun at det "works on my PC/Mac machine"

Link til kommentar
Del på andre sites

  • 1 year later...

Jeg har nu lagt koden op på https://github.com/mmc41/IHCClientSDK. SDK'en virker med nyeste dotnet 7 på WIndows/Mac/Linux og dækker mig bekendt alle mulige kald til kontrolleren.

Udover SDK koden ligger der 2 eksempler og et utility til at hive resource ID'er ud af IHC kontrolleren.

Feedback og tilføjelser er meget velkommen - venligst via github!

Link til kommentar
Del på andre sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gæst
Svar på dette emne...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loader...
 Share

×
×
  • Tilføj...

Important Information

Privatlivspolitik og We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

1200x630bb.png

ok