예제 #1
0
파일: Program.cs 프로젝트: ae2021/csharp1
 // "externe" Methode zur Demonstration der Ausführung einer Delegate-Methode
 public static void Schalte(Schalter schalter, string typ)
 {
     if (schalter.Target is Computer)
     {
         Console.WriteLine(((Computer)schalter.Target).Hersteller);
     }
     schalter(typ);
 }
예제 #2
0
 public void MotorZustandAendern()
 {
     if (motor == Schalter.EIN)
     {
         motor = Schalter.AUS;
     }
     else
     {
         motor = Schalter.EIN;
     }
 }
예제 #3
0
파일: Program.cs 프로젝트: ae2021/csharp1
 protected void Schalten()
 {
     if (!Zustand)
     {
         EinAus_DelegatVariable = SchalteEin;
     }
     else
     {
         EinAus_DelegatVariable = SchalteAus;
     }
 }
예제 #4
0
        public void TestSetSchalterValue()
        {
            try
            {
                Schalter LichtAnkleide = new Schalter("shelly.0.SHSW-25#D8BFC01A2B2A#1.Relay0.Switch");
                LichtAnkleide.ZielStatus = false;
            }

            catch (Exception ex)
            {
                Console.WriteLine("Fehler beim setzen von IOBroker", ex);
                //throw;
            }
        }
예제 #5
0
        public void TestSetValueInObject()
        {
            try
            {
                Schalter entf = new Schalter("zwave2.0.Node_031.Binary_Switch.currentValue", "zwave2.0.Node_031.Binary_Switch.targetValue");
                entf.ZielStatus = false;
            }

            catch (Exception ex)
            {
                Console.WriteLine("Fehler beim schreiben von IOBroker", ex);
                //throw;
            }
        }
예제 #6
0
        public void TestSchalterEvent()
        {
            try
            {
                SchalterBool = new Schalter("zigbee.0.00158d00063a6d54.occupancy");
                SchalterBool.Update();
                SchalterBool.MinLaufzeitMinutes = 10;

                double restlaufzeit = SchalterBool.RestlaufzeitMinutes(SchalterBool.LastChange);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Fehler beim TestObjektEvent", ex);
                //throw;
            }
        }
예제 #7
0
        public void Start()
        {
            Console.WriteLine("Steuerung starten");

            KellerSensor = new SensorFeuchtigkeit("zwave2.0.Node_003.Multilevel_Sensor.humidity", 59, 1, 57);


            Entfeuchter = new Schalter("zwave2.0.Node_031.Binary_Switch.currentValue", "zwave2.0.Node_031.Binary_Switch.targetValue");


            Console.WriteLine("JobManager initialisieren");
            _jobManager = new JobManager();
            _jobManager.Initialize();
            Console.WriteLine("JobManager wurde initialisiert");
            Console.WriteLine("Steuerung gestartet");
        }
예제 #8
0
        private bool Ausfuehren_Loeschen()
        {
            switch (_elementTyp)
            {
            case ElementTyp.Gleis:
                Gleis gleis = (Gleis)_element;

                foreach (Signal el in gleis.Signale)
                {
                    _anlagenElemente.SignalElemente.Löschen(el);
                }
                foreach (Entkuppler el in gleis.Entkuppler)
                {
                    _anlagenElemente.EntkupplerElemente.Löschen(el);
                }
                if (gleis.Fss != null)
                {
                    _anlagenElemente.FssElemente.Löschen(gleis.Fss);
                }
                if (gleis.Schalter != null)
                {
                    _anlagenElemente.SchalterElemente.Löschen(gleis.Schalter);
                }

                _anlagenElemente.GleisElemente.Löschen(gleis);
                int index = gleis.StartKn.GetGleisAnschlussNr(gleis);
                gleis.StartKn.Gleise[index] = null;
                if (index < 2)
                {
                    if (gleis.StartKn.Weichen[0] != null)
                    {
                        _anlagenElemente.WeicheElemente.Löschen(gleis.StartKn.Weichen[0]);
                        gleis.StartKn.Weichen[0] = null;
                    }
                }
                else
                {
                    if (gleis.StartKn.Weichen[1] != null)
                    {
                        _anlagenElemente.WeicheElemente.Löschen(gleis.StartKn.Weichen[1]);
                        gleis.StartKn.Weichen[1] = null;
                    }
                }
                int count = 0;
                foreach (Gleis gl in gleis.StartKn.Gleise)
                {
                    if (gl != null)
                    {
                        count++;
                    }
                }
                if (count == 0)
                {
                    _anlagenElemente.KnotenElemente.Löschen(gleis.StartKn);
                }

                index = gleis.EndKn.GetGleisAnschlussNr(gleis);
                gleis.EndKn.Gleise[index] = null;
                if (index < 2)
                {
                    if (gleis.EndKn.Weichen[0] != null)
                    {
                        gleis.EndKn.Weichen[0] = null;
                        _anlagenElemente.WeicheElemente.Löschen(gleis.EndKn.Weichen[0]);
                    }
                }
                else
                {
                    if (gleis.EndKn.Weichen[1] != null)
                    {
                        gleis.EndKn.Weichen[1] = null;
                        _anlagenElemente.WeicheElemente.Löschen(gleis.EndKn.Weichen[1]);
                    }
                }
                count = 0;
                foreach (Gleis gl in gleis.EndKn.Gleise)
                {
                    if (gl != null)
                    {
                        count++;
                    }
                }
                if (count == 0)
                {
                    _anlagenElemente.KnotenElemente.Löschen(gleis.EndKn);
                }
                break;

            case ElementTyp.Signal:
                Signal sig = (Signal)_element;
                _anlagenElemente.SignalElemente.Löschen(sig);
                sig.AnschlussGleis.GleisElementAustragen(sig);
                break;

            case ElementTyp.Entkuppler:
                Entkuppler entkuppler = (Entkuppler)_element;
                _anlagenElemente.EntkupplerElemente.Löschen(entkuppler);
                entkuppler.AnschlussGleis.GleisElementAustragen(entkuppler);
                break;

            case ElementTyp.FSS:
                FSS fss = (FSS)_element;
                _anlagenElemente.FssElemente.Löschen(fss);
                fss.AnschlussGleis.GleisElementAustragen(fss);
                break;

            case ElementTyp.Schalter:
                Schalter schalter = (Schalter)_element;
                _anlagenElemente.SchalterElemente.Löschen(schalter);
                schalter.AnschlussGleis.GleisElementAustragen(schalter);
                break;

            case ElementTyp.InfoElement:
                InfoFenster infoFenster = (InfoFenster)_element;
                _anlagenElemente.InfoElemente.Löschen(infoFenster);
                infoFenster.AnschlussGleis.GleisElementAustragen(infoFenster);
                break;

            case ElementTyp.Knoten:

                break;
            }
            return(true);
        }