[NF] Refactoring Hue-Bot

[NF] Now Running as Service
This commit is contained in:
2018-06-10 19:48:23 +00:00
parent e3c33308a1
commit eea903530e
10 changed files with 22 additions and 22 deletions
+1 -1
View File
@@ -45,7 +45,7 @@ namespace BlubbFish.Utils.IoT.Bots.Moduls {
return new Dictionary<String, Dictionary<String, String>>();
}
public virtual void Interconnect(Dictionary<String, Object> moduls) { }
public virtual void Interconnect(Dictionary<String, AModul<T>> moduls) { }
public virtual void SetInterconnection(String param, Action<Object> hook, Object data) { }
+4 -4
View File
@@ -11,7 +11,7 @@ namespace BlubbFish.Utils.IoT.Bots.Moduls {
public abstract class Mqtt<T> : AModul<T>, IDisposable {
protected readonly Thread connectionWatcher;
protected ABackend mqtt;
protected Dictionary<String, Object> modules;
protected Dictionary<String, AModul<T>> modules;
#region Constructor
public Mqtt(T lib, InIReader settings) : base(lib, settings) {
@@ -45,7 +45,7 @@ namespace BlubbFish.Utils.IoT.Bots.Moduls {
#endregion
#region AModul
public override void Interconnect(Dictionary<String, Object> moduls) {
public override void Interconnect(Dictionary<String, AModul<T>> moduls) {
this.modules = moduls;
}
@@ -61,9 +61,9 @@ namespace BlubbFish.Utils.IoT.Bots.Moduls {
return new Tuple<Boolean, MqttEvent>(false, null);
}
AModul<T> modul = null;
foreach (KeyValuePair<String, Object> item in this.modules) {
foreach (KeyValuePair<String, AModul<T>> item in this.modules) {
if (item.Key.ToLower() == m.Groups[1].Value) {
modul = ((AModul<T>)item.Value);
modul = item.Value;
}
}
if (modul == null) {
+1 -1
View File
@@ -59,7 +59,7 @@ namespace BlubbFish.Utils.IoT.Bots.Moduls {
#endregion
#region AModul
public override void Interconnect(Dictionary<String, Object> moduls) { }
public override void Interconnect(Dictionary<String, AModul<T>> moduls) { }
protected override void UpdateConfig() {
this.ParseIni();
}
+4 -4
View File
@@ -16,14 +16,14 @@ namespace BlubbFish.Utils.IoT.Bots.Moduls {
#endregion
#region AModul
public override void Interconnect(Dictionary<String, Object> moduls) {
foreach (KeyValuePair<String, Object> item in moduls) {
public override void Interconnect(Dictionary<String, AModul<T>> moduls) {
foreach (KeyValuePair<String, AModul<T>> item in moduls) {
if (item.Value is CronJob<T>) {
((AModul<T>)item.Value).SetInterconnection("0 0 * * *", new Action<Object>(this.PollAll), null);
item.Value.SetInterconnection("0 0 * * *", new Action<Object>(this.PollAll), null);
if (this.config.Count != 0) {
foreach (KeyValuePair<String, Dictionary<String, String>> section in this.config) {
if (section.Value.ContainsKey("cron") && section.Value.ContainsKey("devices")) {
((AModul<T>)item.Value).SetInterconnection(section.Value["cron"], new Action<Object>(this.PollSpecific), section.Value["devices"]);
item.Value.SetInterconnection(section.Value["cron"], new Action<Object>(this.PollSpecific), section.Value["devices"]);
}
}
}