Ankündigung

Einklappen
Keine Ankündigung bisher.

ICh verzweifel noch mit Variablen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    ICh verzweifel noch mit Variablen

    Hallo Zusammen,

    kann mir einer sagen was an diesem code nicht stimmt?
    Wenn ich die Variable rausholle dann gehts :-(
    Ich weiß nicht genau woran es liegt


    Code:
    //Variablentabelle
    Sommer=month(01,05) and !month(30,08)
    Winter=month(01,09) and !month(30,04)
    //Variablentabelle ENDE
    
    if (Sommer and (htime(23,00,00)) and ("Überwachung Esszimmer Links-0/4/16"==AUS)) then write ("Rollo Esszimmer Links Aktor-0/2/16",EIN) endif

    #2
    werden diese variablen nicht nur einmal kurz auf 1 gesetzt. d.h. wenn du diesem moment verpasst funktioniert es nicht oder irre ich?

    ja ich irre:

    Der Ausgang ist 1b01, wenn das Datum erreicht oder bereits verstrichen ist. Liegt das Datum
    vor dem eingestellten Wert, geht der Ausgang auf 0b01. Mit dem Beginn eines neuen
    Jahres (Januar, 1) geht der Ausgang auf 0b01, bis der Monat und Tag den eingestellten

    Wert erreichen.

    hast du denn die variable initialisiert?

    Kommentar


      #3
      also wenn ich "Sommer" aus dem code holle geht es nur mit der variablen nicht
      ich habe den selbene code auch mit winter nicht das einer auf die idee kommt und sagt es ist ja kein sommer :-)

      so gehts nicht
      if (Sommer and (htime(23,00,00)) and ("Überwachung Esszimmer Links-0/4/16"==AUS)) then write ("Rollo Esszimmer Links Aktor-0/2/16",EIN) endif

      so gehts
      if (htime(23,00,00)) and ("Überwachung Esszimmer Links-0/4/16"==AUS)) then write ("Rollo Esszimmer Links Aktor-0/2/16",EIN) endif

      Kommentar


        #4
        die Variable steht aber im EIBPC auf 1?

        Kommentar


          #5
          Das weiß ich nicht wie kann ich das abfragen?
          dachte wenn ich diesen bereich eintrage und im code irgendwo winter oder sommer vorkommt das er das mit den variablen abfragt


          //Variablentabelle
          Sommer=month(01,05) and !month(30,08)
          Winter=month(01,09) and !month(30,04)
          //Variablentabelle ENDE

          Kommentar


            #6
            Moin,

            es gibt im EibStudio eine Anzeige für die Variablen.

            // Variablentabelle
            Sommer=month(01,05) and !month(30,08)
            Winter=month(01,09) and !month(30,04)

            So, wie Du das geschrieben hast wird Winter nie auf EIN gehen.

            Warum schreibst Du nicht einfach Winter = !Sommer?

            Gruß,
            Bernd

            Kommentar


              #7
              Hallo Bernd wie meinst du das genau?
              Winter = !Sommer
              wo trage ich von ein wann bis wann sommer und wann winter ist?

              Kommentar


                #8
                Sommer=month(01,05) and !month(30,08)
                Winter=!Sommer


                month(01,09) : bis 1.9 = 0 dann 1

                month(30,04) : bis 30.4 = 0 dann 1
                !month(30,04): bis 30.4 = 1 dann 0


                somit das du keine überlappung und winter ist immer 0. mit oder sollte es gehen oder halt wie oben mit !Sommer

                Kommentar


                  #9
                  danke für die hilfe
                  also würde der code so auassehe
                  Code:
                  Sommer=month(01,05) and !month(30,08)
                  Winter=!Sommer
                  month(01,09)
                  !month(30,04)
                  
                  if (Winter and htime(18,00,00) and ("Überwachung Esszimmer Links-0/4/16"==AUS)) then write ("Rollo Esszimmer Links Aktor-0/2/16",EIN) endif
                  richtig?
                  gruß
                  Artur

                  Kommentar


                    #10
                    Code:
                    Sommer=month(01,05) and !month(30,08)
                    Winter=!Sommer
                    
                    if (Winter and htime(18,00,00) and ("Überwachung Esszimmer Links-0/4/16"==AUS)) then write ("Rollo Esszimmer Links Aktor-0/2/16",EIN) endif
                    Also wenn es gerade nicht Sommer ist (und daher halt Winter), und es exakt 18:00 Uhr ist und Überwachung Esszimmer AUS ist, dann geht der Rollo Aktor auf EIN.

                    Also z.B.
                    - wenn Du den EibPC um 18:01 startest passiert nix ***
                    - wenn Sommer ist, passiert nix
                    - wenn Überwachung EIN ist, passiert nix

                    *** wenn Du möchtest, das im Zweifelsfall bei einem EibPC Neustart auch nach 18:00 was passiert wenn die restlichen Bedingungen erfüllt sind, dann kannst Du chtime() nehmen. Das geht dann auf EIN und bleibt auch so bis Mitternacht.

                    Gruß,
                    Bernd

                    Kommentar


                      #11
                      Hallo zusammen
                      ich habe zwei fragen
                      erste warum geht das eine rollo nicht mit den anderen zu?
                      hier der
                      Code:
                      if (Winter and chtime(17,30,00) and ("Überwachung Esszimmer Links-0/4/16"==AUS)) then write ("Rollo Esszimmer Links Aktor-0/2/16",EIN) endif
                      meine zweite frage ist wie erstelle ich ein makro
                      ich habe eines gefunden ZweiRollos benötige aber DreiRollos das erhalte ich als fehler nach der Visualiesierung :
                      Code:
                      Makro nicht definiert: "DreiRollos( RolloID,ErdgeschossWohnzimmerID,"Rollo Wohnzimmer rechts-0/2/0","Rollo Wohnzimmer rechts STOP-0/2/2","Rollo Wohnzimmer mitte-0/2/3","Rollo Wohnzimmer mitte STOP-0/2/5","Rollo Wohnzimmer Links-0/2/6","Rollo Wohnzimmer Links  STOP-0/2/8")"
                       EC:44
                      Ich finde aber in keinem Makro-Bibliotheken solch ein makro

                      gruß
                      Artur

                      Kommentar


                        #12
                        geht mir auch so...

                        so geht's nicht:
                        Code:
                        Test1="Stiege_DG.Podest.Licht.schalten-1/4/70"
                        
                        [Macros]
                        TreppenhausLicht(Test1,"Stiege_DG.Podest.Licht.schalten-1/4/70",300)
                        man erhält
                        Syntaxfehler in Makro: "TreppenhausLicht" in Zeile [29] in D:/_DATA/EIB/eibPC/MakroLibs-de/Bibliotheken/EnertexLicht.lib
                        if event(Schalter) and Schalter then write(Lichtaktor,EIN) endif ==> if event(Test1) and Test1 then write("Stiege_DG.Podest.Licht.schalten-1/4/70",EIN) endif in der Datei "D:/_DATA/EIB/eibPC/EibStudio-win/EibstudioData/tmpApp.txt"
                        Ungültiger Datentyp in >event(Test1< in >and< in >if_then<
                        ID:18
                        EibParser wurde mit Fehler beendet.
                        so funktioniert es:
                        Code:
                        [Macros]
                        TreppenhausLicht("Stiege_DG.Podest.Licht.schalten-1/4/70","Stiege_DG.Podest.Licht.schalten-1/4/70",300)
                        Im Mako ist jedoch für den ersten Paramater EXPLIZIT angeführt, dass hier ein KNX_Adresse ODER eine Variable einsetzen kann
                        EPIX
                        ...und möge der Saft mit euch sein...
                        Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                        Kommentar


                          #13
                          Also ich weiß jetzt nicht genau in wie weit mir das weiterhilft beim makro problem und zeit ausführung?

                          also hier mal der ganze code:

                          Code:
                          Sommer=month(01,05) and !month(30,08)
                          Winter=!Sommer
                          month(01,09)
                          !month(30,04)
                          //Variablentabelle ENDE
                          
                          // Rolladensteuerung Sommer zu
                          if cycle(59,00) then read ("Überwachung Esszimmer Links-0/4/16") endif
                          if (Sommer and chtime(22,00,00)) then write ("Rollo Zentral-3/1/0",EIN) endif
                          if (Sommer and chtime(22,00,00) and ("Überwachung Esszimmer Links-0/4/16"==AUS)) then write ("Rollo Esszimmer Links Aktor-0/2/16",EIN) endif
                          // Rolladensteuerung Winter zu
                          if (Winter and chtime(17,30,00)) then write ("Rollo Zentral-3/1/0",EIN) endif
                          if (Winter and chtime(17,30,00) and ("Überwachung Esszimmer Links-0/4/16"==AUS)) then write ("Rollo Esszimmer Links Aktor-0/2/16",EIN) endif
                          bei mir geht der nicht mit zu kann es sein weil die beiden aktionen zur gleichen zeit ausgeführt werden?

                          gruß
                          Artur

                          Kommentar


                            #14
                            Zitat von fedex Beitrag anzeigen
                            Also ich weiß jetzt nicht genau in wie weit mir das weiterhilft beim makro problem und zeit ausführung?
                            bei mir geht der nicht mit zu kann es sein weil die beiden aktionen zur gleichen zeit ausgeführt werden?
                            was genau geht denn nicht zu? Der erste oder der zweite Write ? Die Gleichzeitigkeit macht sicher keine Probleme.
                            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                            Enertex Produkte kaufen

                            Kommentar


                              #15
                              Zitat von EPIX Beitrag anzeigen
                              Im Mako ist jedoch für den ersten Paramater EXPLIZIT angeführt, dass hier ein KNX_Adresse ODER eine Variable einsetzen kann
                              Da ist das Makro leider einem Update-Fehler zum Opfer gefallen.

                              Im Code wird die Funktion event verwendet.
                              Früher hat diese auch auf Variablen reagiert, was aber geändert wurde.

                              Deshalb hier bitte mit Gruppenadressen arbeiten.
                              Die Beschreibung im Makro werde ich anpassen.

                              steffi
                              Enertex Bayern GmbH - www.eibpc.com

                              Kommentar

                              Lädt...
                              X