Ankündigung

Einklappen
Keine Ankündigung bisher.

Dtp 10.001

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

    Dtp 10.001

    Hat die CometVisu ein Problem mit dem Datenpunkttypen Zeit?
    Wollte mir die aktuelle Zeit vom KNX mal aus einer Gruppenadresse holen und visualisieren - funktioniert nicht

    #2
    Doch, DTP 10.001 geht eigentlich, sowohl beim letzten Release als auch im SVN.
    Hab's gerade noch mal an meiner nachvollzogen...
    TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

    Kommentar


      #3
      o.k. Fehler gefunden - der Editor hat meine Gruppenadresse nicht gespeichert ... (SVN-Version)

      Nächste Frage: bekomme ich das auch irgendwie in Echtzeit sprich 0-24h 0-60min 0-60sec - oder bleibt das beim "KNX-Telegramm" 76 20 00 für 22:32:0?

      Kommentar


        #4
        Äh, was willst Du denn damit machen?

        Die Uhrzeit ist durchaus mit Sekunden.
        Und die CometVisu kann unter einer Sekunde aktuallisieren.

        Aber willst Du damit evtl. die aktuelle Uhrzeit anzeigen? Dann wäre das sicher nicht der richtige Weg - denn dann müsstest Du ja ein Telegramm pro Sekunde für das Update spendieren
        Nein, dafür gibt's ein extra Plugin. Dessen "Nachteil" ist, dass die lokale Zeit des Visu-PCs hergenommen wird. Aber die hält man ja hoffentlich per NTP auf Atom-Zeit-Level...
        TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

        Kommentar


          #5
          Bin immer noch an meiner Idee dran - Zeitschaltuhr aktivieren / deaktivieren funktioniert bereits jetzt wäre es schön die Zeit im Klartext zu sehen und dann ändern zu können ....

          Warum stimmen den eigentlich die beiden Werte nicht überein? (der "nur" angezeigte Wert entspricht dem was ich mit groupswrite gesendet habe - aber die beiden in den "infotriggers" ?)
          Angehängte Dateien

          Kommentar


            #6
            So, das mit der Anzeige passt nun auch aber jetzt brauche ich einen Denkanstoß um die Zeiten verändern zu können ...
            Angehängte Dateien

            Kommentar


              #7
              Hallo Thomas,

              da ich aus dem anderen Thread weiß, dass Du linknx verwendest, hier der Denkanstoß:

              Code:
              <rule id="erhoehen">
              	<condition type="object" id="plus" value="1"/>
              	<actionlist>
              		<action type="formula" id="zeitvariable" x="zeitvariable" c="60"/>
              	</actionlist>
              </rule>
              Ich habe allerdings formeln bisher nur für DPT 11.001 (Datum) ausprobiert, ich denke aber, wenn es fürs Datum geht, wird es auch für Zeit laufen. Obiges Beispiel würde jeweils um 60 Sekunden erhöhen (Objekt "plus" muss das s-Flag haben).

              Und da ich die nächste Frage schon vorausahne: "Wie mach ich die Erhöhung variabel?":
              • Führe ein Objekt "Faktor" ein mit den Werten 3600 (Stunden), 60 (Minuten) und 1 (Sekunden), die Du ja per Button setzen kannst
              • Die Formel sieht dann so aus:
                Code:
                <action type="formula" id="zeitvariable" x="zeitvariable" y="Faktor"/>
              • Mit jeweils negativen Faktoren kannst Du auch erniedrigen, oder
                Code:
                <action type="formula" id="zeitvariable" x="zeitvariable" b="-1" y="Faktor"/>


              Ich hab das jetzt nicht ausprobiert, sondern nur so runtergetippt, hoffentlich sind keine Fehler drin. Aber als Gedankenanstoß sollte es reichen.

              Gruß, Waldemar
              OpenKNX www.openknx.de

              Kommentar


                #8
                Hallo Waldemar!

                DANKE, klingt super!
                Aber irgendwie klappt es nicht ... so hätte ich das eingepflegt ...

                edit:

                so muss es richtig lauten - dann klappts auch mit dem Nachbarn ....:

                <condition type="object" id="plus" value="1" trigger="true"/>

                Kommentar


                  #9
                  Stunde einstellen

                  So, einen Bug habe ih allerdings beim einstellen der Stunde ...
                  beim ersten mal von über 00Uhr gehts nur bis Stunde 07 springt dann auf Stunde 00 zurück und jetzt geht es normal bis Stunde 23 (schwierig zu erklären)
                  Ideen?

                  Kommentar


                    #10
                    0-23 = 24
                    +
                    7
                    =31

                    d.h. offensichtlich rechnet hier irgendetwas in Tagen ... nur was?

                    Kommentar


                      #11
                      Hmmm...

                      Ja. Wenn ich den Ausschnitt in der transforms_knx.js richtig lese, wird da tatsächlich etwas mit Tagen gerechnet. Scheinbar zur Ermittlung des Wochentag:

                      Code:
                        '10.001' : {
                          name  : 'DPT_TimeOfDay',
                          encode: function( phy ){
                            var val = zeroFillString( ((phy.getDay() << 5) + phy.getHours()).toString(16), 2);
                            val += zeroFillString( phy.getMinutes().toString(16), 2 );
                            val += zeroFillString( phy.getSeconds().toString(16), 2 );
                            return '80' + val;
                          },
                          decode: function( hex ){ 
                            var date = new Date(); // assume today
                            date.setHours  ( parseInt(hex.substr(0,2),16) & 0x1F );
                            date.setMinutes( parseInt(hex.substr(2,2),16)        );
                            date.setSeconds( parseInt(hex.substr(4,2),16)        );
                            // as KNX thinks the day of the week belongs to the time, but JavaScript
                            // doesn't, tweak the date till it fits...
                            var day = (parseInt(hex.substr(0,2),16) & 0xE0) >> 5;
                            if( day > 0 )
                            {
                              var dayShift = (day - date.getDay()) % 7;
                              date.setDate( date.getDate() + dayShift );
                            }
                            return date;
                          }
                        },
                      Gruss Patrik alias swiss

                      Kommentar


                        #12
                        Richtig, Zeit wird vom KNX immer mit Wochentag & Uhrzeit gelesen ...
                        beim Schreiben auf den KNX kann man in der ETS3 (ETS4 müsste ich extra nachsehen) auswählen das kein Wochentag mitgesendet wird ...

                        Kommentar


                          #13
                          Aber nach KNX Standard MUSS für DPT 10.001 der Wochentag angegeben werden. Bei der ETS wir dieser warscheinlich aus einfachheitsgründen einfach "still" mit übertragen wenn du ohne Wochentag auswählst.
                          Gruss Patrik alias swiss

                          Kommentar


                            #14
                            So, extra nochmals in der Definition der Datenpunktstypen nachgesehen:
                            1=monday
                            bis
                            7=sunday

                            0=no day

                            Das heist doch im Umkehrschluss das wir beim senden der Uhrzeit eigentlich immer mit 0 (no day) senden sollten?!

                            Kommentar

                            Lädt...
                            X