[NF] Refactoring Hue-Bot
[NF] Now Running as Service
This commit is contained in:
@@ -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) { }
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user