NEXCODE.Caffeine.Client 2.1.5

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package NEXCODE.Caffeine.Client --version 2.1.5
                    
NuGet\Install-Package NEXCODE.Caffeine.Client -Version 2.1.5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NEXCODE.Caffeine.Client" Version="2.1.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NEXCODE.Caffeine.Client" Version="2.1.5" />
                    
Directory.Packages.props
<PackageReference Include="NEXCODE.Caffeine.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NEXCODE.Caffeine.Client --version 2.1.5
                    
#r "nuget: NEXCODE.Caffeine.Client, 2.1.5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NEXCODE.Caffeine.Client@2.1.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NEXCODE.Caffeine.Client&version=2.1.5
                    
Install as a Cake Addin
#tool nuget:?package=NEXCODE.Caffeine.Client&version=2.1.5
                    
Install as a Cake Tool

Caffeine.Client SDK

NuGet Docs License

AI-Native IIoT Edge Platform - Official .NET Client SDK

Features

  • gRPC: High-performance binary protocol with bidirectional streaming
  • SignalR: Real-time push notifications for alarms and monitoring
  • GraphQL: Flexible query language with type safety (v2.1+)
  • REST API: Traditional HTTP endpoints with OpenAPI documentation

Installation

dotnet add package Caffeine.Client

Quick Start

gRPC Client

using Caffeine.Client;
using Grpc.Net.Client;

// 연결 설정
var channel = GrpcChannel.ForAddress("https://localhost:5001");
var client = new CaffeineClient(channel);

// 활성 알람 조회
var alarms = await client.GetActiveAlarmsAsync();
foreach (var alarm in alarms)
{
    Console.WriteLine($"[{alarm.Severity}] {alarm.Message}");
}

SignalR Real-time Monitoring

using Microsoft.AspNetCore.SignalR.Client;

// SignalR Hub 연결
var connection = new HubConnectionBuilder()
    .WithUrl("https://localhost:5006/hubs/alarms")
    .Build();

// 실시간 알람 수신
connection.On<AlarmEvent>("AlarmTriggered", alarm =>
{
    Console.WriteLine($"🚨 New Alarm: {alarm.Message}");
});

await connection.StartAsync();

GraphQL Query (v2.1+)

query GetActiveAlarms {
  activeAlarms {
    alarmId
    severity
    message
    occurredAt
  }
}

C# Example:

using System.Net.Http;
using System.Net.Http.Json;

var httpClient = new HttpClient { BaseAddress = new Uri("https://localhost:5006") };
var query = new
{
    query = "{ activeAlarms { alarmId severity message occurredAt } }"
};

var response = await httpClient.PostAsJsonAsync("/graphql", query);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);

GraphQL Mutation (v2.1+)

mutation WriteTag {
  writeTag(tagName: "Sensor01.Temperature", value: 25.5) {
    success
    tagName
    value
    errorMessage
  }
}

GraphQL Subscription (v2.1+)

subscription OnTagValueChanged {
  onTagValueChanged(tagName: "Sensor01.Temperature") {
    tagName
    value
    timestamp
    quality
  }
}

WebSocket 연결 (C#):

// GraphQL Subscription은 WebSocket 프로토콜 사용
// StrawberryShake 또는 graphql-ws 라이브러리 권장

API Versioning

Caffeine Engine은 API Versioning을 지원합니다:

/api/v1/config/tags         - Tag 설정 조회
/api/v1/drivers              - Driver 목록 조회
/api/v1/alarms               - 알람 조회
/api/v1/predictive-maintenance - 예측 정비

GraphQL Schema

Query

  • activeAlarms: 활성 알람 목록
  • healthCheck: 서버 상태 확인
  • getTagValue(driverId, address): 특정 태그 값 조회
  • getAlarmHistory(limit, severity): 알람 이력 조회
  • getAlarmRecommendations(alarmCode, triggerTagId): 조치 가이드 추천

Mutation

  • writeTag(tagName, value): 태그 값 쓰기
  • acknowledgeAlarm(alarmId, acknowledgedBy): 알람 확인 처리

Subscription

  • onTagValueChanged(tagName): 태그 값 변경 이벤트
  • onAlarmTriggered: 알람 발생 이벤트

GraphQL IDE

개발 환경에서는 Nitro GraphQL IDE를 사용할 수 있습니다:

https://localhost:5006/graphql/ui

Compatibility

  • .NET: 10.0+
  • C#: 13.0+
  • Engine: Caffeine.Engine 2.0+

License

Commercial License - NEXCODE © 2025-2026

Changelog

v2.1.0 (2026-02-05)

  • ✨ GraphQL Mutation 지원 (WriteTag, AcknowledgeAlarm)
  • ✨ GraphQL Subscription 지원 (실시간 이벤트)
  • ✨ Nitro GraphQL IDE 통합 (개발 환경)
  • 📝 API Versioning 표준화 (v1.0)
  • 📝 XML 문서 주석 활성화 (Swagger 통합)

v2.0.1 (2025-12-15)

  • 🐛 gRPC 연결 안정성 개선
  • 📝 SignalR 재연결 로직 추가

v2.0.0 (2025-11-01)

  • 🎉 최초 공개 릴리스
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.8 0 3/16/2026
2.1.6 22 3/15/2026
2.1.5 25 3/15/2026
2.1.4 33 3/14/2026
2.1.3 30 3/14/2026
2.1.2 33 3/10/2026
2.1.1 32 3/10/2026
2.1.0 81 3/7/2026
2.0.9 78 3/6/2026