diff --git a/Bot-Utils/Bot-Utils.sln b/Bot-Utils/Bot-Utils.sln
deleted file mode 100644
index 0649c19..0000000
--- a/Bot-Utils/Bot-Utils.sln
+++ /dev/null
@@ -1,43 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28307.136
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bot-Utils", "Bot-Utils\Bot-Utils.csproj", "{BB7BFCB5-3DB0-49E1-802A-3CE3EECC59F9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "litjson_4.7.1", "..\..\Librarys\litjson\litjson\litjson_4.7.1.csproj", "{91A14CD2-2940-4500-8193-56D37EDDDBAA}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utils-IoT", "..\Utils-IoT\Utils-IoT\Utils-IoT.csproj", "{B870E4D5-6806-4A0B-B233-8907EEDC5AFC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utils", "..\Utils\Utils\Utils.csproj", "{FAC8CE64-BF13-4ECE-8097-AEB5DD060098}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {BB7BFCB5-3DB0-49E1-802A-3CE3EECC59F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BB7BFCB5-3DB0-49E1-802A-3CE3EECC59F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BB7BFCB5-3DB0-49E1-802A-3CE3EECC59F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BB7BFCB5-3DB0-49E1-802A-3CE3EECC59F9}.Release|Any CPU.Build.0 = Release|Any CPU
- {91A14CD2-2940-4500-8193-56D37EDDDBAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {91A14CD2-2940-4500-8193-56D37EDDDBAA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {91A14CD2-2940-4500-8193-56D37EDDDBAA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {91A14CD2-2940-4500-8193-56D37EDDDBAA}.Release|Any CPU.Build.0 = Release|Any CPU
- {B870E4D5-6806-4A0B-B233-8907EEDC5AFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B870E4D5-6806-4A0B-B233-8907EEDC5AFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B870E4D5-6806-4A0B-B233-8907EEDC5AFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B870E4D5-6806-4A0B-B233-8907EEDC5AFC}.Release|Any CPU.Build.0 = Release|Any CPU
- {FAC8CE64-BF13-4ECE-8097-AEB5DD060098}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FAC8CE64-BF13-4ECE-8097-AEB5DD060098}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FAC8CE64-BF13-4ECE-8097-AEB5DD060098}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FAC8CE64-BF13-4ECE-8097-AEB5DD060098}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {99DB6F34-BD41-4AFF-82B7-E4B3EFDF56DC}
- EndGlobalSection
-EndGlobal
diff --git a/Bot-Utils/Bot-Utils/Bot-Utils.csproj b/Bot-Utils/Bot-Utils/Bot-Utils.csproj
deleted file mode 100644
index bbef9c0..0000000
--- a/Bot-Utils/Bot-Utils/Bot-Utils.csproj
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {BB7BFCB5-3DB0-49E1-802A-3CE3EECC59F9}
- Library
- Properties
- BlubbFish.Utils.IoT.Bots
- Bot-Utils
- v4.7.1
- 512
-
-
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
- ..\..\Zway-Bot\packages\Mono.Posix.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {91a14cd2-2940-4500-8193-56d37edddbaa}
- litjson_4.7.1
-
-
- {b870e4d5-6806-4a0b-b233-8907eedc5afc}
- Utils-IoT
-
-
- {fac8ce64-bf13-4ece-8097-aeb5dd060098}
- Utils
-
-
-
-
\ No newline at end of file
diff --git a/Bot-Utils/Bot-Utils/Bot.cs b/Bot-Utils/Bot-Utils/Bot.cs
deleted file mode 100644
index 440d812..0000000
--- a/Bot-Utils/Bot-Utils/Bot.cs
+++ /dev/null
@@ -1,99 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Reflection;
-using System.Threading;
-using BlubbFish.Utils.IoT.Bots.Moduls;
-using BlubbFish.Utils.IoT.Bots.Events;
-using BlubbFish.Utils.IoT.Bots.Interfaces;
-
-namespace BlubbFish.Utils.IoT.Bots {
- public abstract class Bot {
- private Thread sig_thread;
- private Boolean RunningProcess = true;
- protected ProgramLogger logger = new ProgramLogger();
- protected readonly Dictionary> moduls = new Dictionary>();
-
- protected void WaitForShutdown() {
- if (Type.GetType("Mono.Runtime") != null) {
- this.sig_thread = new Thread(delegate () {
- Mono.Unix.UnixSignal[] signals = new Mono.Unix.UnixSignal[] {
- new Mono.Unix.UnixSignal(Mono.Unix.Native.Signum.SIGTERM),
- new Mono.Unix.UnixSignal(Mono.Unix.Native.Signum.SIGINT)
- };
- Console.WriteLine("BlubbFish.Utils.IoT.Bots.Bot.WaitForShutdown: Signalhandler Mono attached.");
- while (true) {
- Int32 i = Mono.Unix.UnixSignal.WaitAny(signals, -1);
- Console.WriteLine("BlubbFish.Utils.IoT.Bots.Bot.WaitForShutdown: Signalhandler Mono INT recieved " + i + ".");
- this.RunningProcess = false;
- break;
- }
- });
- this.sig_thread.Start();
- } else {
- Console.CancelKeyPress += new ConsoleCancelEventHandler(this.SetupShutdown);
- Console.WriteLine("BlubbFish.Utils.IoT.Bots.Bot.WaitForShutdown: Signalhandler Windows attached.");
- }
- while (this.RunningProcess) {
- Thread.Sleep(100);
- }
- }
-
- private void SetupShutdown(Object sender, ConsoleCancelEventArgs e) {
- e.Cancel = true;
- Console.WriteLine("BlubbFish.Utils.IoT.Bots.Bot.SetupShutdown: Signalhandler Windows INT recieved.");
- this.RunningProcess = false;
- }
-
- protected void ModulDispose() {
- foreach (KeyValuePair> item in this.moduls) {
- item.Value.Dispose();
- Console.WriteLine("BlubbFish.Utils.IoT.Bots.Bot.ModulDispose: Modul entladen: " + item.Key);
- }
- if (this.sig_thread != null && this.sig_thread.IsAlive) {
- this.sig_thread.Abort();
- }
- }
-
- protected void ModulLoader(String @namespace, Object library) {
- Assembly asm = Assembly.GetEntryAssembly();
- foreach (Type item in asm.GetTypes()) {
- if (item.Namespace == @namespace) {
- Type t = item;
- String name = t.Name;
- try {
- if (InIReader.ConfigExist(name.ToLower())) {
- Console.WriteLine("BlubbFish.Utils.IoT.Bots.Bot.ModulLoader: Load Modul " + name);
- this.moduls.Add(name, (AModul)t.GetConstructor(new Type[] { typeof(T), typeof(InIReader) }).Invoke(new Object[] { library, InIReader.GetInstance(name.ToLower()) }));
- Console.WriteLine("BlubbFish.Utils.IoT.Bots.Bot.ModulLoader: Loaded Modul " + name);
- } else if (t.HasInterface(typeof(IForceLoad))) {
- Console.WriteLine("BlubbFish.Utils.IoT.Bots.Bot.ModulLoader: Load Modul Forced " + name);
- this.moduls.Add(name, (AModul)t.GetConstructor(new Type[] { typeof(T), typeof(InIReader) }).Invoke(new Object[] { library, null }));
- Console.WriteLine("BlubbFish.Utils.IoT.Bots.Bot.ModulLoader: Loaded Modul Forced " + name);
- }
- } catch(Exception e) {
- Helper.WriteError(e.InnerException.Message);
- }
- }
- }
- }
-
- protected void ModulInterconnect() {
- foreach (KeyValuePair> item in this.moduls) {
- item.Value.Interconnect(this.moduls);
- Console.WriteLine("BlubbFish.Utils.IoT.Bots.Bot.ModulInterconnect: Interconnect Module " + item.Key);
- }
- }
-
- protected void ModulEvents() {
- foreach (KeyValuePair> item in this.moduls) {
- item.Value.EventLibSetter();
- item.Value.Update += this.ModulUpdate;
- Console.WriteLine("BlubbFish.Utils.IoT.Bots.Bot.ModulEvents: Attach Event " + item.Key);
- }
- }
-
- protected void ModulUpdate(Object sender, ModulEventArgs e) {
- Console.WriteLine(e.ToString());
- }
- }
-}
diff --git a/Bot-Utils/Bot-Utils/Events/CronEvent.cs b/Bot-Utils/Bot-Utils/Events/CronEvent.cs
deleted file mode 100644
index fb8f2a2..0000000
--- a/Bot-Utils/Bot-Utils/Events/CronEvent.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-
-namespace BlubbFish.Utils.IoT.Bots.Events {
- public class CronEvent : ModulEventArgs {
-
- public CronEvent() {
- }
-
- public CronEvent(String addr, String prop, String value) {
- this.Address = addr;
- this.Property = prop;
- this.Value = value;
- this.Source = "Cronjob";
- }
- }
-}
diff --git a/Bot-Utils/Bot-Utils/Events/ModulEventArgs.cs b/Bot-Utils/Bot-Utils/Events/ModulEventArgs.cs
deleted file mode 100644
index cabef82..0000000
--- a/Bot-Utils/Bot-Utils/Events/ModulEventArgs.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-
-namespace BlubbFish.Utils.IoT.Bots.Events {
- public class ModulEventArgs : EventArgs {
- public ModulEventArgs() {
- }
- public ModulEventArgs(String addr, String prop, String val, String src) {
- this.Address = addr;
- this.Property = prop;
- this.Value = val;
- this.Source = src;
- }
- public String Address { get; protected set; }
- public String Property { get; protected set; }
- public String Value { get; protected set; }
- public String Source { get; protected set; }
- public override String ToString() {
- return this.Source + ": " + this.Address + " set " + this.Property + " to " + this.Value;
- }
- }
-}
diff --git a/Bot-Utils/Bot-Utils/Events/MqttEvent.cs b/Bot-Utils/Bot-Utils/Events/MqttEvent.cs
deleted file mode 100644
index 4af1a4d..0000000
--- a/Bot-Utils/Bot-Utils/Events/MqttEvent.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-
-namespace BlubbFish.Utils.IoT.Bots.Events {
- public class MqttEvent : ModulEventArgs {
- public MqttEvent() {
- }
- public MqttEvent(String topic, String text) {
- this.Address = topic;
- this.Value = text;
- this.Source = "MQTT";
- }
- public override String ToString() {
- return this.Source + ": on " + this.Address + " set " + this.Value;
- }
- }
-}
diff --git a/Bot-Utils/Bot-Utils/Events/OvertakerEvent.cs b/Bot-Utils/Bot-Utils/Events/OvertakerEvent.cs
deleted file mode 100644
index 5a7bf46..0000000
--- a/Bot-Utils/Bot-Utils/Events/OvertakerEvent.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-
-namespace BlubbFish.Utils.IoT.Bots.Events {
- public class OvertakerEvent : ModulEventArgs {
-
- public OvertakerEvent() {
- }
-
- public OvertakerEvent(String addr, String prop, String value) {
- this.Address = addr;
- this.Property = prop;
- this.Value = value;
- this.Source = "Overtaker";
- }
- }
-}
diff --git a/Bot-Utils/Bot-Utils/Events/SenmlEvent.cs b/Bot-Utils/Bot-Utils/Events/SenmlEvent.cs
deleted file mode 100644
index e3071d5..0000000
--- a/Bot-Utils/Bot-Utils/Events/SenmlEvent.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-
-namespace BlubbFish.Utils.IoT.Bots.Events {
- public class SenmlEvent : ModulEventArgs {
- public SenmlEvent() {
- }
- public SenmlEvent(String topic, String text) {
- this.Address = topic;
- this.Value = text;
- this.Source = "Senml";
- }
- public override String ToString() {
- return this.Source + ": on " + this.Address + " set " + this.Value;
- }
- }
-}
diff --git a/Bot-Utils/Bot-Utils/Events/StatusPollingEvent.cs b/Bot-Utils/Bot-Utils/Events/StatusPollingEvent.cs
deleted file mode 100644
index 273fc2d..0000000
--- a/Bot-Utils/Bot-Utils/Events/StatusPollingEvent.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-
-namespace BlubbFish.Utils.IoT.Bots.Events {
- public class StatusPollingEvent : ModulEventArgs {
- public StatusPollingEvent() {
- }
-
- public StatusPollingEvent(String text, String node) {
- this.Value = text;
- this.Address = node;
- this.Source = "POLLING";
- }
-
- public override String ToString() {
- return this.Source + ": " + this.Value + " on " + this.Address;
- }
- }
-}
diff --git a/Bot-Utils/Bot-Utils/Interfaces/IForceLoad.cs b/Bot-Utils/Bot-Utils/Interfaces/IForceLoad.cs
deleted file mode 100644
index f25ea9b..0000000
--- a/Bot-Utils/Bot-Utils/Interfaces/IForceLoad.cs
+++ /dev/null
@@ -1,4 +0,0 @@
-namespace BlubbFish.Utils.IoT.Bots.Interfaces {
- public interface IForceLoad {
- }
-}
diff --git a/Bot-Utils/Bot-Utils/Moduls/AModul.cs b/Bot-Utils/Bot-Utils/Moduls/AModul.cs
deleted file mode 100644
index 5d3d463..0000000
--- a/Bot-Utils/Bot-Utils/Moduls/AModul.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using BlubbFish.Utils.IoT.Bots.Events;
-
-namespace BlubbFish.Utils.IoT.Bots.Moduls {
- public abstract class AModul {
- protected T library;
- private readonly InIReader settings;
- protected Dictionary> config = new Dictionary>();
-
- public Boolean HasConfig { get; private set; }
- public Boolean ConfigPublic { get; private set; }
-
- public delegate void ModulEvent(Object sender, ModulEventArgs e);
- public abstract event ModulEvent Update;
-
- public AModul(T lib, InIReader settings) {
- this.HasConfig = false;
- this.ConfigPublic = false;
- this.library = lib;
- this.settings = settings;
- this.ParseConfig();
- }
-
- private void ParseConfig() {
- if (this.settings != null) {
- this.HasConfig = true;
- foreach (String item in this.settings.GetSections(false)) {
- this.config.Add(item, this.settings.GetSection(item));
- }
- if (this.config.ContainsKey("modul")) {
- this.ConfigPublic = this.config["modul"].ContainsKey("config") && this.config["modul"]["config"].ToLower() == "public";
- }
- }
- }
-
- public Dictionary> GetConfig() {
- if (this.HasConfig && this.ConfigPublic) {
- Dictionary> ret = new Dictionary>(this.config);
- if (ret.ContainsKey("modul")) {
- ret.Remove("modul");
- }
- return ret;
- }
- return new Dictionary>();
- }
-
- public virtual void Interconnect(Dictionary> moduls) { }
-
- public virtual void SetInterconnection(String param, Action