Пример #1
0
        //public override void OnOutputChange(Output output)
        //{
        //    if (output is MySensorsNodeOutput)
        //    {
        //        MySensorsNodeOutput mySensorsNodeOutput = (MySensorsNodeOutput) output;
        //        LogInfo(
        //            $"Hardware Node{nodeId} Sensor{mySensorsNodeOutput.sensorId} output: {output.Value}");
        //    }
        //    else
        //    {
        //        LogInfo($"Hardware Node{nodeId} {output.Name} : {output.Value}");

        //    };


        //    base.OnOutputChange(output);
        //}

        private void CreateInputsOutputs(Gateways.MySensors.Node node)
        {
            foreach (var sensor in node.sensors)
            {
                AddInputAndOutput(sensor);
            }
        }
        private void OnGatewayRemoveNode(Gateways.MySensors.Node node)
        {
            MySensorsNode oldNode = GetMySensorsNode(node.Id);

            if (oldNode != null)
            {
                engine.RemoveNode(oldNode);
            }
        }
        private void CreateOrUpdateNode(Gateways.MySensors.Node node)
        {
            MySensorsNode oldNode = GetMySensorsNode(node.Id);

            if (oldNode == null)
            {
                MySensorsNode newMySensorsNode = new MySensorsNode(node);
                engine.AddNode(newMySensorsNode);
            }
            else
            {
                oldNode.Settings["Name"].Value = node.GetSimpleName2();
                engine.UpdateNodeInEditor(oldNode);
                engine.UpdateNodeInDb(oldNode);
            }
        }
Пример #4
0
 public MySensorsNode(Gateways.MySensors.Node node) : base("Hardware", "MySensors")
 {
     this.nodeId = node.Id;
     Settings.Add("Name", new NodeSetting(NodeSettingType.Text, "Name", node.GetSimpleName2()));
     CreateInputsOutputs(node);
 }
        private void OnNodeBatteryUpdated(Gateways.MySensors.Node node)
        {
            MySensorsNode n = GetMySensorsNode(node.Id);

            n?.UpdateBattery(node.batteryLevel);
        }