// using System; // using System.Linq; // using System.Net.Sockets; // using System.Reactive.Linq; // using System.Threading.Tasks; // using InnovEnergy.DBus; // using InnovEnergy.DBus.Transport; // // namespace VeDBus; // // /* // dotnet publish VeDBus/VeDBus.csproj -c Release -r linux-arm && \ // rsync -av VeDBus/bin/Release/net5.0/linux-arm/publish/ root@10.2.1.6:/data/ve_dbus && \ // ssh root@10.2.1.6 "killall VeDBus; /data/ve_dbus/VeDBus" // */ // // class Program // { // static async Task Main(String[] args) // { // var ep = new UnixDomainSocketEndPoint("/home/eef/graber_dbus.sock"); // var auth = AuthenticationMethod.ExternalAsRoot(); // var bus = new Bus(ep, auth); // // var dbus = new DBusConnection(bus); // // //var match = dbus.AddMatch(new MatchRule { Type = MessageType.MethodCall, Eavesdrop = true , Member = "GetNameOwner"}); // // //dbus.IncomingMessages.Subscribe(m => Console.WriteLine(m.Member)); // // // dbus.ObserveAllPropertiesOfService(s => s.StartsWith("com.victronenergy.vebus.")) // .Buffer(2, 1) // .SelectMany(b => b[1].Keys.Where(k => !b[0].ContainsKey(k))) // .Subscribe( // Console.WriteLine, // e => Console.WriteLine(e.Message)); // // // dbus.ObservePropertiesChanged("com.victronenergy.battery.ttyUSB1") // // .Subscribe( // // v => // // { // // Console.WriteLine(v.ToString()); // // }, // // e => // // { // // var x = e; // // throw e; // // });; // // Console.WriteLine("Delay"); // // await Task.Delay(Int32.MaxValue); // } // }