Make CreateNotification for nonexistent variable fail with Exception

This commit is contained in:
Peter Butzhammer
2024-02-07 13:33:50 +01:00
parent c667c113e3
commit 3c39996f5e

View File

@@ -85,8 +85,14 @@ public class Sharp7Plc : IPlc
var disposeableContainer = multiVariableSubscriptions.GetOrCreateObservable(variableName);
disposeableContainer.AddDisposableTo(disposables);
var observable = disposeableContainer.Observable
.Select(bytes => S7ValueConverter.ConvertToType<TValue>(bytes, address));
var observable =
// Directly read variable first.
// This will propagate any errors due to reading from invalid addresses.
Observable.FromAsync(() => GetValue<TValue>(variableName))
.Concat(
disposeableContainer.Observable
.Select(bytes => S7ValueConverter.ConvertToType<TValue>(bytes, address))
);
if (transmissionMode == TransmissionMode.OnChange)
observable = observable.DistinctUntilChanged();