[1.3.0] Netcore default
This commit is contained in:
parent
a2e5ca6c7e
commit
2e6f2f464b
33
Changelog.md
33
Changelog.md
@ -0,0 +1,33 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
## 1.3.0 - 2022-01-15 - Netcore default
|
||||||
|
### New Features
|
||||||
|
* Netcore is now default
|
||||||
|
* ABackend thows exeption if loading failed
|
||||||
|
### Bugfixes
|
||||||
|
### Changes
|
||||||
|
* Make ref for github in readme
|
||||||
|
* Refactoring
|
||||||
|
* Codingstyles
|
||||||
|
|
||||||
|
## 1.2.0 - 2019-12.01 - Refactoring
|
||||||
|
### New Features
|
||||||
|
* Add netcore
|
||||||
|
* ABackend now return null if type is not loadable
|
||||||
|
### Bugfixes
|
||||||
|
### Changes
|
||||||
|
* Refactoring
|
||||||
|
|
||||||
|
## 1.1.0 - 2019-05-29 - Readme
|
||||||
|
### New Features
|
||||||
|
* Add Readme, Contribution and Licence
|
||||||
|
### Bugfixes
|
||||||
|
### Changes
|
||||||
|
* Coding Styles
|
||||||
|
|
||||||
|
## 1.0.0.0 - 2019-02-14 - Init
|
||||||
|
### New Features
|
||||||
|
* First Version
|
||||||
|
### Bugfixes
|
||||||
|
### Changes
|
||||||
|
|
@ -27,15 +27,12 @@ namespace BlubbFish.Utils.IoT.Connector {
|
|||||||
Type t = Type.GetType(object_sensor, true);
|
Type t = Type.GetType(object_sensor, true);
|
||||||
return (ABackend)t.GetConstructor(new Type[] { typeof(Dictionary<String, String>) }).Invoke(new Object[] { settings });
|
return (ABackend)t.GetConstructor(new Type[] { typeof(Dictionary<String, String>) }).Invoke(new Object[] { settings });
|
||||||
} catch (TypeLoadException) {
|
} catch (TypeLoadException) {
|
||||||
Console.Error.WriteLine("Configuration: " + settings["type"] + " is not a " + ty.ToString() + "Backend");
|
throw new TypeLoadException("Configuration: " + settings["type"] + " is not a " + ty.ToString() + "Backend");
|
||||||
return null;
|
|
||||||
} catch (System.IO.FileNotFoundException) {
|
} catch (System.IO.FileNotFoundException) {
|
||||||
Console.Error.WriteLine("Driver " + object_sensor + " could not load!");
|
throw new DllNotFoundException("Driver " + object_sensor + " could not load!");
|
||||||
return null;
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Console.Error.WriteLine("Something bad Happend while Loading Connectior: "+e.Message);
|
throw new Exception("Something bad Happend while Loading Connectior: "+e.Message);
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void NotifyClientIncomming(BackendEvent value) => this.MessageIncomming?.Invoke(this, value);
|
protected void NotifyClientIncomming(BackendEvent value) => this.MessageIncomming?.Invoke(this, value);
|
||||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
|
||||||
using BlubbFish.Utils.IoT.Connector;
|
using BlubbFish.Utils.IoT.Connector;
|
||||||
using BlubbFish.Utils.IoT.Events;
|
using BlubbFish.Utils.IoT.Events;
|
||||||
|
|
||||||
@ -51,31 +52,33 @@ namespace BlubbFish.Utils.IoT.JsonSensor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static AJsonSensor GetInstance(Dictionary<String, ABackend> backends, Dictionary<String, String> settings, String name) {
|
public static AJsonSensor GetInstance(Dictionary<String, ABackend> backends, Dictionary<String, String> settings, String name) {
|
||||||
String object_sensor = "BlubbFish.Utils.IoT.JsonSensor." + Char.ToUpper(settings["type"][0]) + settings["type"].Substring(1).ToLower();
|
|
||||||
Type t;
|
|
||||||
try {
|
|
||||||
t = Type.GetType(object_sensor, true);
|
|
||||||
} catch(TypeLoadException) {
|
|
||||||
throw new ArgumentException("Sensor: " + object_sensor + " is not a Sensor");
|
|
||||||
}
|
|
||||||
if(!settings.ContainsKey("backend") || !backends.ContainsKey(settings["backend"])) {
|
if(!settings.ContainsKey("backend") || !backends.ContainsKey(settings["backend"])) {
|
||||||
throw new ArgumentException("Backend not specified!");
|
throw new ArgumentException("Backend not specified!");
|
||||||
}
|
}
|
||||||
return (AJsonSensor)t.GetConstructor(new Type[] { typeof(Dictionary<String, String>), typeof(String), typeof(ABackend) }).Invoke(new Object[] { settings, name, backends[settings["backend"]] });
|
String object_sensor = "BlubbFish.Utils.IoT.JsonSensor." + settings["type"].ToUpperLower();
|
||||||
|
try {
|
||||||
|
Type t = Type.GetType(object_sensor, true);
|
||||||
|
return (AJsonSensor)t.GetConstructor(new Type[] { typeof(Dictionary<String, String>), typeof(String), typeof(ABackend) }).Invoke(new Object[] { settings, name, backends[settings["backend"]] });
|
||||||
|
} catch(TypeLoadException) {
|
||||||
|
throw new ArgumentException("Sensor: " + object_sensor + " is not a Sensor");
|
||||||
|
} catch(Exception e) {
|
||||||
|
Helper.WriteError("Something went wrong! " + e.Message);
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void Poll() {
|
protected virtual void Poll() {
|
||||||
if(this.pollcount++ >= this.Polling) {
|
if(this.pollcount++ >= this.Polling) {
|
||||||
this.pollcount = 1;
|
this.pollcount = 1;
|
||||||
if (this.backend is ADataBackend) {
|
if (this.backend is ADataBackend databackend) {
|
||||||
((ADataBackend)this.backend).Send(this.topic + "/get", "");
|
databackend.Send(this.topic + "/get", "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void SetBool(Boolean v) {
|
public virtual void SetBool(Boolean v) {
|
||||||
if (this.backend is ADataBackend) {
|
if (this.backend is ADataBackend databackend) {
|
||||||
((ADataBackend)this.backend).Send(this.topic + "/set", v ? "on" : "off");
|
databackend.Send(this.topic + "/set", v ? "on" : "off");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ namespace BlubbFish.Utils.IoT.JsonSensor {
|
|||||||
public Pir(Dictionary<String, String> settings, String name, ADataBackend backend) : base(settings, name, backend) => this.Datatypes = Types.Bool;
|
public Pir(Dictionary<String, String> settings, String name, ADataBackend backend) : base(settings, name, backend) => this.Datatypes = Types.Bool;
|
||||||
|
|
||||||
protected override Boolean UpdateValue(BackendEvent e) {
|
protected override Boolean UpdateValue(BackendEvent e) {
|
||||||
this.GetBool = (e.Message.ToLower() == "on") ? true : false;
|
this.GetBool = e.Message.ToLower() == "on";
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ namespace BlubbFish.Utils.IoT.JsonSensor {
|
|||||||
public Switch(Dictionary<String, String> settings, String name, ADataBackend backend) : base(settings, name, backend) => this.Datatypes = Types.Bool;
|
public Switch(Dictionary<String, String> settings, String name, ADataBackend backend) : base(settings, name, backend) => this.Datatypes = Types.Bool;
|
||||||
|
|
||||||
protected override Boolean UpdateValue(BackendEvent e) {
|
protected override Boolean UpdateValue(BackendEvent e) {
|
||||||
this.GetBool = (e.Message.ToLower() == "on") ? true : false;
|
this.GetBool = e.Message.ToLower() == "on";
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,19 +4,22 @@
|
|||||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||||
<RootNamespace>BlubbFish.Utils.IoT</RootNamespace>
|
<RootNamespace>BlubbFish.Utils.IoT</RootNamespace>
|
||||||
<AssemblyName>Utils-IoT</AssemblyName>
|
<AssemblyName>Utils-IoT</AssemblyName>
|
||||||
<AssemblyVersion>1.0.0</AssemblyVersion>
|
|
||||||
<NeutralLanguage>de-DE</NeutralLanguage>
|
<NeutralLanguage>de-DE</NeutralLanguage>
|
||||||
<PackageReleaseNotes>1.0.0 Init</PackageReleaseNotes>
|
<PackageReleaseNotes>
|
||||||
<Copyright>Copyright © BlubbFish 2017 - 24.11.2019</Copyright>
|
1.3.0 Netcore default
|
||||||
|
1.2.0 Refactoring
|
||||||
|
1.1.0 Readme
|
||||||
|
1.0.0.0 Init
|
||||||
|
</PackageReleaseNotes>
|
||||||
|
<Copyright>Copyright © BlubbFish 2017 - 15.01.2022</Copyright>
|
||||||
<Description>Provides classes for iot development</Description>
|
<Description>Provides classes for iot development</Description>
|
||||||
<PackageLicenseFile>LICENSE</PackageLicenseFile>
|
<PackageLicenseFile>LICENSE</PackageLicenseFile>
|
||||||
<Company>BlubbFish</Company>
|
<Company>BlubbFish</Company>
|
||||||
<Authors>BlubbFish</Authors>
|
<Authors>BlubbFish</Authors>
|
||||||
<FileVersion>1.0.0</FileVersion>
|
|
||||||
<PackageProjectUrl>http://git.blubbfish.net/vs_utils/Utils-IoT</PackageProjectUrl>
|
<PackageProjectUrl>http://git.blubbfish.net/vs_utils/Utils-IoT</PackageProjectUrl>
|
||||||
<RepositoryUrl>http://git.blubbfish.net/vs_utils/Utils-IoT.git</RepositoryUrl>
|
<RepositoryUrl>http://git.blubbfish.net/vs_utils/Utils-IoT.git</RepositoryUrl>
|
||||||
<RepositoryType>git</RepositoryType>
|
<RepositoryType>git</RepositoryType>
|
||||||
<Version>1.0.0</Version>
|
<Version>1.3.0</Version>
|
||||||
<PackageId>IoT.Utils.BlubbFish</PackageId>
|
<PackageId>IoT.Utils.BlubbFish</PackageId>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user