Ankündigung

Einklappen
Keine Ankündigung bisher.

write-Problem

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

    write-Problem

    Hallo EIBPCler

    Mit folgendem EIBPC-Code schalte ich die Frischtluftzufuhr unserer Wohnung mittels eines ABB Schaltaktors SA/S4.6.1:
    Code:
    // Morgen
    if wtime(06,00,00,WEEKDAY) or wtime (07,30,00,WEEKEND) then {
    	sendmail($x.y@z.com$, $Änderung Lüftungsstatus auf Anwesend$, $Die Lüftung im Penthouse an der Jägerstrasse 23 ist jetzt auf Status Anwesend (Anzeige: BOOST)$);
    	write("Lüftung Anwesend-11/0/2", EIN);
    	write("Lüftung Boost-11/0/1", AUS);
    } endif
    
    // Abend
    if wtime(22,00,00,WEEKDAY) or wtime(23,00,00,WEEKEND) then {
    	sendmail($x.y@z.com$, $Änderung Lüftungsstatus auf Abwesend$, $Die Lüftung im Penthouse an der Jägerstrasse 23 ist jetzt auf Status Abwesend$);
    	write ("Lüftung Boost-11/0/1", AUS);
    	write ("Lüftung Anwesend-11/0/2", AUS);
    } endif
    Der EIBPC führt den Code zuverlässig aus - ich erhalte die eingebauten Kontroll-E-Mails.

    Wenn ich allerdings die GA "Lüftung Anwesend-11/0/2" am Morgen kontrolliere (am Gerät und über die Update-Funktion im EibStudio Debugger), ist sie immer noch auf AUS.

    Mein Versuch, die GA im EibStudie Debugger über das Kontext Menu > Wert schreiben > EIN fruchtet nicht - die GA steht nach Update immer noch auf AUS. Hingegen funktioniert es über das Kontext Menu > Wert auf Bus schreiben > EIN.

    Was übersehe ich?

    Thx, G.

    #2
    Zitat von GoldenEye Beitrag anzeigen
    Was übersehe ich?
    Das hier kommt 2x mal:
    write ("Lüftung Boost-11/0/1", AUS);
    ich hätte da mal ein EIN erwartet.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Zitat von enertegus Beitrag anzeigen
      Das hier kommt 2x mal:
      write ("Lüftung Boost-11/0/1", AUS);
      ich hätte da mal ein EIN erwartet.
      Danke Dir, Enertegus

      Der Wert der GAs ist korrekt - die müssen am Morgen EIN/AUS und an Abend AUS/AUS sein.

      Hingegen verstehe ich noch nicht, weshalb zwar das Makro des EibPC die GA "Lüftung Anwesend-11/0/2" am Morgen auf EIN schaltet, das Gerät das aber nicht tut.

      Ich nehme an, die Umlaute sind nicht das Problem?

      G.

      Kommentar


        #4
        Zitat von GoldenEye Beitrag anzeigen
        Mein Versuch, die GA im EibStudie Debugger über das Kontext Menu > Wert schreiben > EIN fruchtet nicht - die GA steht nach Update immer noch auf AUS. Hingegen funktioniert es über das Kontext Menu > Wert auf Bus schreiben > EIN.
        Das ist klar,

        Wert schreiben
        Den Wert der GA im Speicherabbild des EibPC ändern, ohne die GA auf den Bus zu schreiben

        Wert auf Bus schreiben
        Die GA auf den Bus schreiben

        Also kann nach einem erneuten Lesevorgang nichts verändert sein.
        Zitat von GoldenEye Beitrag anzeigen
        Hingegen verstehe ich noch nicht, weshalb zwar das Makro des EibPC die GA "Lüftung Anwesend-11/0/2" am Morgen auf EIN schaltet, das Gerät das aber nicht tut.
        Allerdings verstehe ich nun gar nicht mehr das Problem. Tut der EibPC nix oder der Schaltaktor?
        Ich nehme an, die Umlaute sind nicht das Problem?
        Nein.
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #5
          Zitat von enertegus Beitrag anzeigen
          Allerdings verstehe ich nun gar nicht mehr das Problem. Tut der EibPC nix oder der Schaltaktor?
          Der EibPC tut brav was er soll - das zeigen die Protokolle. Aber der Aktor bleibt auf den Befehl
          Code:
          write("Lüftung Anwesend-11/0/2", EIN);
          auf AUS, obwohl der Code im EibPC korrekt abgearbeitet wird. Ich möchte ja nur, dass die GA jeweils am Morgen auf EIN und am Abend auf AUS geschaltet wird.

          Händisch funktioniert das die Debugger-Steuerung des EibPC problemlos.

          Gruss, frohe Festtage und Danke für die Geduld :-)

          G.

          PS: Am Abend schaltet der Aktor übrigens zuverlässig auf AUS...

          Kommentar


            #6
            Moin G.

            hast Du mal spasseshalber probiert, ob Dein EIN Befehl IRGENDWO im Code funktioniert?

            Wenn das woanders im Code funzt, dann packe die Zeile mit sendmail( ...) mal unter die write Anweisungen.

            Alternativ kannst Du auch mal die alternative Schreibweise für eine GA probieren write('11/0/2', EIN).

            Gruß,
            Bernd

            Kommentar


              #7
              Zitat von bmx Beitrag anzeigen
              Moin G.

              hast Du mal spasseshalber probiert, ob Dein EIN Befehl IRGENDWO im Code funktioniert?

              Wenn das woanders im Code funzt, dann packe die Zeile mit sendmail( ...) mal unter die write Anweisungen.

              Alternativ kannst Du auch mal die alternative Schreibweise für eine GA probieren write('11/0/2', EIN).

              Gruß,
              Bernd
              Danke Dir, Bernd. Hat definitiv geholfen!

              Mit folgendem Testcode funktioniert der EIN-Befehl:
              Code:
              //Testfunktion
              tempTest = EIN
              if change(tempTest) then {
              	write ("Lüftung Anwesend-11/0/2", EIN)	
              } endif
              Danach habe ich das Sendmail unter die Anweisung gesetzt:
              Code:
              // Morgen
              if wtime (06,00,00,WEEKDAY) or wtime (07,30,00,WEEKEND) then {
              	write("Lüftung Anwesend-11/0/2", EIN);
              	write("Lüftung Boost-11/0/1", AUS);
              	sendmail($x.y@z.com$, $Änderung Lüftungsstatus auf Anwesend$, $Die Lüftung im Penthouse an der Jägerstrasse 23 ist jetzt auf Status Anwesend (Anzeige: BOOST)$);
              } endif
              
              // Abend
              if wtime (22,00,00,WEEKDAY) or wtime (23,00,00,WEEKEND) then {
              	write ("Lüftung Anwesend-11/0/2", AUS);
              	write ("Lüftung Boost-11/0/1", AUS);
              	sendmail($x.y@z.com$, $Änderung Lüftungsstatus auf Abwesend$, $Die Lüftung im Penthouse an der Jägerstrasse 23 ist jetzt auf Status Abwesend$);
              } endif
              Und siehe da - der Befehl wurde heute morgen korrekt ausgeführt!

              Danke nochmals allen Helfern!

              G.

              Kommentar


                #8
                Zitat von GoldenEye Beitrag anzeigen
                Und siehe da - der Befehl wurde heute morgen korrekt ausgeführt!
                Jetzt ist mir nicht ganz klar, wo das Problem gelegen hat. Meinst Du im Aufruf der Sendmail-Funktion? Dann würde ich das gerne nachstellen und testen, falls da ein Bug sein sollte.
                offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                Enertex Produkte kaufen

                Kommentar

                Lädt...
                X