diff --git a/samples/memmon-protobuff/Device.cs b/samples/memmon-protobuff/Device.cs index 854c920..fb0588e 100644 --- a/samples/memmon-protobuff/Device.cs +++ b/samples/memmon-protobuff/Device.cs @@ -43,7 +43,7 @@ public Device(ILogger logger, IConfiguration configuration, TelemetryCli protected override async Task ExecuteAsync(CancellationToken stoppingToken) { - var cs = new ConnectionSettings(_configuration.GetConnectionString("cs")) { ModelId="memmon.proto"}; + var cs = new ConnectionSettings(_configuration.GetConnectionString("cs")) { ModelId = MemmonClient.ModelId }; _logger.LogWarning($"Connecting to..{cs}"); var mqtt = await BrokerClientFactory.CreateFromConnectionSettingsAsync(cs, true, stoppingToken); connectionSettings = cs; diff --git a/samples/memmon-protobuff/_protos/memmon.cs b/samples/memmon-protobuff/_protos/memmon.cs index 66823af..0e280ab 100644 --- a/samples/memmon-protobuff/_protos/memmon.cs +++ b/samples/memmon-protobuff/_protos/memmon.cs @@ -12,6 +12,7 @@ namespace _protos { internal class MemmonClient { + internal const string ModelId = "rido.memmon"; public Properties Props = new Properties(); public IReadOnlyProperty AllProperties { get; set; } public IWritableProperty Property_interval { get; set; } diff --git a/samples/memmon-protobuff/_protos/memmon.proto b/samples/memmon-protobuff/_protos/memmon.proto index d7b366c..20e9ac3 100644 --- a/samples/memmon-protobuff/_protos/memmon.proto +++ b/samples/memmon-protobuff/_protos/memmon.proto @@ -4,6 +4,8 @@ option csharp_namespace = "memmon_model_protos"; import "google/protobuf/timestamp.proto"; import "google/protobuf/any.proto"; +package rido.memmon; + message Telemetries { double workingSet = 1; } diff --git a/samples/mqtt-grpc-device/Device.cs b/samples/mqtt-grpc-device/Device.cs index 6a65faa..dabe226 100644 --- a/samples/mqtt-grpc-device/Device.cs +++ b/samples/mqtt-grpc-device/Device.cs @@ -96,16 +96,19 @@ async Task OnPropIntervalReceivedHandler(Properties desired) { ArgumentNullException.ThrowIfNull(connection); ack ack = new ack(); + client!.Interval.Version++; if (desired.Interval > 0) { client!.Props.Interval= desired.Interval; ack.Status = 200; + ack.Version = client.Interval.Version!.Value; ack.Description = "property accepted"; ack.Value = Google.Protobuf.WellKnownTypes.Any.Pack(desired); } else { ack.Status = 200; + ack.Version = client.Interval.Version!.Value; ack.Description = "negative values not accepted"; ack.Value = Google.Protobuf.WellKnownTypes.Any.Pack(client!.Props); } diff --git a/samples/mqtt-grpc-device/protos/mqtt-grpc-device.proto b/samples/mqtt-grpc-device/protos/mqtt-grpc-device.proto index 2abdb2d..facd97a 100644 --- a/samples/mqtt-grpc-device/protos/mqtt-grpc-device.proto +++ b/samples/mqtt-grpc-device/protos/mqtt-grpc-device.proto @@ -4,6 +4,8 @@ option csharp_namespace = "mqtt_grpc_device_protos"; import "google/protobuf/timestamp.proto"; import "google/protobuf/any.proto"; +package rido.mqtt_grpc_device; + // @topic: -> device/{clientId}/tel[/{telName}] message Telemetries { double temperature = 1; @@ -30,9 +32,10 @@ service Commands { } message ack { - int32 status = 1; - string description = 2; - google.protobuf.Any value =3; + google.protobuf.Any value = 1; + int32 version = 2; + int32 status = 3; + string description = 4; } message echoRequest { diff --git a/samples/mqtt-grpc-device/mqtt_grpc_sample_device.cs b/samples/mqtt-grpc-device/protos/mqtt_grpc_sample_device.cs similarity index 95% rename from samples/mqtt-grpc-device/mqtt_grpc_sample_device.cs rename to samples/mqtt-grpc-device/protos/mqtt_grpc_sample_device.cs index 50a07ad..9c53b8b 100644 --- a/samples/mqtt-grpc-device/mqtt_grpc_sample_device.cs +++ b/samples/mqtt-grpc-device/protos/mqtt_grpc_sample_device.cs @@ -13,7 +13,7 @@ namespace mqtt_grpc_device; internal class mqtt_grpc_sample_device { - internal const string ModelId = "mqtt-grpc-device.proto"; + internal const string ModelId = "rido.mqtt_grpc_device"; internal IMqttClient Connection; internal Properties Props;