Utils.csproj
[NF] Programmlogger added (v1.1.0) [NF] Utils fixing tiny issues Zway-Bot.csproj [NF] changes Topics without beginning / [NF] Using programmlogger (v1.4.0)
This commit is contained in:
parent
611205e78f
commit
c792ea20ad
Zway-Bot
@ -29,7 +29,7 @@ namespace ZwayBot.Moduls {
|
||||
String data = "";
|
||||
if(e.Parent.HasAbstract(typeof(ACommandClass))) {
|
||||
ACommandClass sensor = (ACommandClass)e.Parent;
|
||||
topic = "/zwavebot/devices/" + sensor.MqttTopic();
|
||||
topic = "zwavebot/devices/" + sensor.MqttTopic();
|
||||
data = sensor.ToJson();
|
||||
}
|
||||
if(topic != "" && data != "") {
|
||||
@ -39,8 +39,8 @@ namespace ZwayBot.Moduls {
|
||||
}
|
||||
|
||||
private void Mqtt_MessageIncomming(Object sender, BackendEvent e) {
|
||||
if (e.From.ToString().StartsWith("/zwavebot/devices/") && (e.From.ToString().EndsWith("/set") || e.From.ToString().EndsWith("/get"))) {
|
||||
Match m = new Regex("^/zwavebot/devices/(\\d+)/(\\d+)/(\\d+)/[gs]et$|^/zwavebot/devices/(\\d+)/(\\d+)/(\\d+)/(\\d+)/[gs]et$").Match(e.From.ToString());
|
||||
if (e.From.ToString().StartsWith("zwavebot/devices/") && (e.From.ToString().EndsWith("/set") || e.From.ToString().EndsWith("/get"))) {
|
||||
Match m = new Regex("^zwavebot/devices/(\\d+)/(\\d+)/(\\d+)/[gs]et$|^zwavebot/devices/(\\d+)/(\\d+)/(\\d+)/(\\d+)/[gs]et$").Match(e.From.ToString());
|
||||
String id = "";
|
||||
if(m.Groups[1].Success) {
|
||||
id = m.Groups[1].Value + "-" + m.Groups[2].Value + "-" + m.Groups[3].Value;
|
||||
@ -65,12 +65,12 @@ namespace ZwayBot.Moduls {
|
||||
} catch (Exception) { }
|
||||
} else if(e.From.ToString().EndsWith("/get")) {
|
||||
c.PollOnce = true;
|
||||
((ADataBackend)this.mqtt).Send("/zwavebot/devices/" + c.MqttTopic(), c.ToJson());
|
||||
((ADataBackend)this.mqtt).Send("zwavebot/devices/" + c.MqttTopic(), c.ToJson());
|
||||
this.Update?.Invoke(this, new MqttEvent(e.From.ToString(), "Dataget"));
|
||||
}
|
||||
}
|
||||
if (e.From.ToString().StartsWith("/zwavebot/config/") && (e.From.ToString().EndsWith("/set") || e.From.ToString().EndsWith("/get"))) {
|
||||
Match m = new Regex("^/zwavebot/config/(\\w+)/[gs]et$|").Match(e.From.ToString());
|
||||
if (e.From.ToString().StartsWith("zwavebot/config/") && (e.From.ToString().EndsWith("/set") || e.From.ToString().EndsWith("/get"))) {
|
||||
Match m = new Regex("^zwavebot/config/(\\w+)/[gs]et$|").Match(e.From.ToString());
|
||||
if (!m.Groups[1].Success) {
|
||||
return;
|
||||
}
|
||||
@ -84,7 +84,7 @@ namespace ZwayBot.Moduls {
|
||||
return;
|
||||
}
|
||||
if(e.From.ToString().EndsWith("/get") && modul.HasConfig && modul.ConfigPublic) {
|
||||
String topic = "/zwavebot/config/" + m.Groups[1].Value;
|
||||
String topic = "zwavebot/config/" + m.Groups[1].Value;
|
||||
String data = JsonMapper.ToJson(modul.GetConfig()).ToString();
|
||||
((ADataBackend)this.mqtt).Send(topic, data);
|
||||
this.Update?.Invoke(this, new MqttEvent(topic, data));
|
||||
|
@ -8,8 +8,10 @@ namespace ZwayBot {
|
||||
class Program {
|
||||
static void Main(String[] args) => new Program(args);
|
||||
|
||||
private ZwayController zw;
|
||||
private Dictionary<String, AModul> moduls = new Dictionary<String, AModul>();
|
||||
private readonly ZwayController zw;
|
||||
private readonly Dictionary<String, AModul> moduls = new Dictionary<String, AModul>();
|
||||
private Boolean RunningProcess = true;
|
||||
private readonly ProgramLogger logger = new ProgramLogger();
|
||||
|
||||
public Program(String[] args) {
|
||||
InIReader.SetSearchPath(new List<String>() { "/etc/zwaybot", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\zwaybot" });
|
||||
@ -23,6 +25,7 @@ namespace ZwayBot {
|
||||
Helper.WriteError("No settings.ini found. Abord!");
|
||||
return;
|
||||
}
|
||||
this.logger.SetPath(InIReader.GetInstance("settings").GetValue("logging", "path"));
|
||||
this.zw = new ZwayController(InIReader.GetInstance("settings").GetSection("zway"), names, false);
|
||||
this.zw.Update += this.ZwayDataUpate;
|
||||
this.ModulLoader();
|
||||
@ -39,17 +42,17 @@ namespace ZwayBot {
|
||||
}
|
||||
|
||||
private void WaitForShutdown() {
|
||||
while (true) {
|
||||
Console.CancelKeyPress += new ConsoleCancelEventHandler(this.SetupShutdown);
|
||||
while (this.RunningProcess) {
|
||||
System.Threading.Thread.Sleep(100);
|
||||
if (Console.KeyAvailable) {
|
||||
String a = Console.ReadLine();
|
||||
if (a.EndsWith("/exit")) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SetupShutdown(Object sender, ConsoleCancelEventArgs e) {
|
||||
e.Cancel = true;
|
||||
this.RunningProcess = false;
|
||||
}
|
||||
|
||||
private void ModulDispose() {
|
||||
foreach (KeyValuePair<String, AModul> item in this.moduls) {
|
||||
item.Value.Dispose();
|
||||
|
@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("BlubbFish")]
|
||||
[assembly: AssemblyProduct("Zway-Bot")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2017 - 08.05.2018")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2017 - 15.05.2018")]
|
||||
[assembly: AssemblyTrademark("BlubbFish")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
@ -31,8 +31,8 @@ using System.Runtime.InteropServices;
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// übernehmen, indem Sie "*" eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.3.4")]
|
||||
[assembly: AssemblyFileVersion("1.3.4")]
|
||||
[assembly: AssemblyVersion("1.4.0")]
|
||||
[assembly: AssemblyFileVersion("1.4.0")]
|
||||
[assembly: NeutralResourcesLanguage("de-DE")]
|
||||
|
||||
// “Internet Of Things” icon by By Michael Wohlwend, US, from thenounproject.com.
|
||||
|
@ -50,6 +50,7 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="dpkg\preinst" />
|
||||
<Compile Include="Events.cs" />
|
||||
<Compile Include="Interfaces\IForceLoad.cs" />
|
||||
<Compile Include="Moduls\AModul.cs" />
|
||||
@ -147,6 +148,8 @@
|
||||
<None Include="dpkg\control" />
|
||||
<None Include="dpkg\create-Builds.bat" />
|
||||
<None Include="dpkg\make-deb.sh" />
|
||||
<None Include="dpkg\prerm" />
|
||||
<None Include="dpkg\zwaybot.service" />
|
||||
<None Include="Resources\Icon.ico" />
|
||||
<Content Include="Resources\icon.svg" />
|
||||
</ItemGroup>
|
||||
|
BIN
Zway-Bot/bin/Builds/zwaybot_1.4-0.deb
Normal file
BIN
Zway-Bot/bin/Builds/zwaybot_1.4-0.deb
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,4 +1,7 @@
|
||||
[zway]
|
||||
server=localhost
|
||||
user=admin
|
||||
pass=pass
|
||||
pass=pass
|
||||
|
||||
[logging]
|
||||
path=/var/log/zwaybot.log
|
Binary file not shown.
@ -1,4 +1,7 @@
|
||||
[zway]
|
||||
server=localhost
|
||||
user=admin
|
||||
pass=pass
|
||||
pass=pass
|
||||
|
||||
[logging]
|
||||
path=/var/log/zwaybot.log
|
@ -4,6 +4,7 @@ ROOT="$WORKDIR/deb"
|
||||
OUTPUT="../bin/Release"
|
||||
EXEC="$ROOT/usr/local/bin/zwaybot"
|
||||
CONFIG="$ROOT/etc/zwaybot"
|
||||
SYSTEMD="$ROOT/etc/systemd/system"
|
||||
DEBIAN="$ROOT/DEBIAN"
|
||||
VMAJOR=$1
|
||||
VMINOR=$2
|
||||
@ -12,10 +13,17 @@ VBUILD=$3
|
||||
mkdir -p $EXEC
|
||||
mkdir -p $CONFIG
|
||||
mkdir -p $DEBIAN
|
||||
mkdir -p $SYSTEMD
|
||||
|
||||
cp control $DEBIAN
|
||||
cp preinst $DEBIAN
|
||||
cp prerm $DEBIAN
|
||||
sed -i s/Version:\ x\.x-x/"Version: $VMAJOR.$VMINOR-$VBUILD"/ $DEBIAN/control
|
||||
chmod 755 $DEBIAN -R
|
||||
|
||||
cp zwaybot.service $SYSTEMD
|
||||
chmod 755 $SYSTEMD -R
|
||||
|
||||
cp $OUTPUT/*.exe $EXEC/
|
||||
cp $OUTPUT/*.dll $EXEC/
|
||||
cp $OUTPUT/config-example/* $CONFIG
|
||||
|
4
Zway-Bot/dpkg/preinst
Normal file
4
Zway-Bot/dpkg/preinst
Normal file
@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
service zwaybot stop
|
||||
adduser --system zwaybot
|
3
Zway-Bot/dpkg/prerm
Normal file
3
Zway-Bot/dpkg/prerm
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
service zwaybot stop
|
17
Zway-Bot/dpkg/zwaybot.service
Normal file
17
Zway-Bot/dpkg/zwaybot.service
Normal file
@ -0,0 +1,17 @@
|
||||
# If you modify this, please also make sure to edit init.sh
|
||||
|
||||
[Unit]
|
||||
Description=Zway-Bot manage a Zwave.me installation so that it has more features
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
User=zwaybot
|
||||
Group=zwaybot
|
||||
WorkingDirectory=/usr/local/bin/zwaybot
|
||||
ExecStart=/usr/bin/mono /usr/local/bin/zwaybot/Zway-Bot.exe
|
||||
KillMode=control-group
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Alias=zwaybot.service
|
Loading…
Reference in New Issue
Block a user