Ankündigung

Einklappen
Keine Ankündigung bisher.

DPT 9 (EIS 5) - Werte senden?

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

    DPT 9 (EIS 5) - Werte senden?

    Hallo,

    ich habe zwar die Suche bemüht (das Netz der Netze und auch das Forum), aber ich konnte nichts dazu finden, dass man in SmartVisu Werte im DPT 9 senden kann. Ist das korrekt, oder habe ich was übersehen?

    Viele Grüße,

    Stefan
    Mein Sammelsurium: TS2, Zennio Z38, BJ Raumpanel, Siemens LOGO!, Suntracer KNX, Weinzierl KNX ENO 620, Eibmarkt IP Router, Wiregate

    #2
    Hi Stefan,
    warum nicht? Temperatureingaben bspw. beim RTR-Widget gehen ja auch.
    Wie willst Du denn was eingeben?

    Cheers,
    Oliver

    Kommentar


      #3
      Hallo Oliver,

      danke für Deine Antwort. Ich würde gerne eine einfache Schattierungssteuerung vorbereiten. Der Witz ist, dass der Nutzer später über die Visu die notwendigen Schwellwerte einstellen kann. Dazu gehören für jedes Fenster 2 Azimut-Werte und noch eine Helligkeitsschwelle (Hysterese bzw. Zeit würde ich ggf. getrennt programmieren). Nachdem ich (aus dem Thread von smarthome.py) ja jetzt schon mal mit der Syntax zurecht komme, untersuche ich, wie ich das in der Visu vorgeben könnte.

      Mit basic.float könnte ich ja schon mal was anzeigen, aber ich habe da keine Änderungsmöglichkeit. Oder habe ich da was übersehen?

      Viele Grüße,

      Stefan
      Mein Sammelsurium: TS2, Zennio Z38, BJ Raumpanel, Siemens LOGO!, Suntracer KNX, Weinzierl KNX ENO 620, Eibmarkt IP Router, Wiregate

      Kommentar


        #4
        Hi Stefan,

        OK, also mit Float hast Du recht, das einzige was Du Out of the box direkt nehmen kannst ist der basic.slider.
        Alternativ schaust Du Dir mal die Widgets aus den Beispielen an, dort findest Du dann Eingabemöglichkeiten (Small-RTR bspw) wo jeweils ein +/--Knopf vorhanden ist zum verstellen des Wertes. Ich meine mich auch zu erinnern das jemand im forum hier auch eine direkte Eingabemöglichkeit gebaut hat via virt. Tastatur.

        Viele Grüße,
        Oliver

        Kommentar


          #5
          Mmmh - ich fürchte für meine begrenzten Fähigkeiten ist das etwas zu aufwändig. Die Alternative wäre meiner Meinung nach, dass ich alles weitestgehend in eine Logik packe und am Anfang dann Variablen (bzw. Konstanten) definiere und entsprechend kommentiere. Dann könnte die Benutzerin einen Link auf den Desktop bekommen und diese Datei ändern.

          ... ist halt nicht so schön, aber für mich wäre das viel einfacher ... und da das kein kommerzielles Projekt ist, wäre das sicher akzeptabel.

          Aber da macht mir der Neustart von smarthome.py sorgen. Wie kann ich das bewerkstelligen, ohne, dass sich der Benutzer auf die Maschine einloggen und entsprechend einen neustart-Befehl absetzen muss?

          Viele Grüße,

          Stefan
          Mein Sammelsurium: TS2, Zennio Z38, BJ Raumpanel, Siemens LOGO!, Suntracer KNX, Weinzierl KNX ENO 620, Eibmarkt IP Router, Wiregate

          Kommentar


            #6
            Also ich würde mir mal den basic.slider anschauen, das ist echt kein Hexenwerk, auch wenn es nicht ganz sooo hübsch ist.
            Neustart könnte komplizierter werden, nie probiert. Ich würde es mal mit dem Absetzen eines OS-Commands "smarthome.py -s && smarthome.py" via Logik versuchen, habe aber keine Ahnung ob dadurch irgendwelche Prozesse dann beim runterfahren der Sh.py dann mitgekillt werden und dadurch nix mehr hochkommt.

            Kommentar


              #7
              Hallo,

              ich habe von Oliver (Sandman60) noch 'ne kleine Nachhilfe bekommen - und es ist viel, viel einfacher, als gedacht. Es gibt nämlich gar kein Problem ... Basic.slider kann von sich aus bereits problemlos auch mit 2Byte Datentypen umgehen. Es muss natürlich entsprechend in den items definiert sein. Anbei eine kurze Beschreibung, damit auch anderen Anfänger nachvollziehen können, was die Lösung ist.

              Aaaalso:
              Items z.B.:
              Code:
              [Kzentral]
                  [[Automatik]]
                       [[[Azimut_test]]]
                          type = num
                          visu_acl = rw
                          knx_dpt = 9
                          knx_listen = 10/2/3
                          knx_send = 10/2/3
                          sqlite = yes
              ... und den ensprechenden Block in smarvisu dann als:

              Code:
                  <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
                      <div data-role="collapsible" data-collapsed="false">
                          <h3>Einstellungen</h3>
                          <table width=100%>
                          <td align=left>
                          {{ basic.slider('GrenzwertHelligkeitTest', 'RolladenAuto.Test.Azimut_low',1000,150000,1000) }}
              [B]            {{ basic.slider('AzimutTest', 'Kzentral.Automatik.Azimut_test',1000,150000,1000) }}            [/B]
                          </td>
                          </table>
                      </div>
                  </div>
              Ach ja - die Items heissen ein wenig bescheuert (Azimut bzw. GrenzwertHelligkeit), weil das eigentlich unterschiedliche Testobjekte waren, die aber gerade mal der Einfachheit halber miteinander verglichen wurden.

              In Smarthome.py habe ich eine klitzekleine Logik, die überprüft, ob der untere Slider dann größer ist, als der obere und es wird eitsprechend ein Binärwert als Ausgabe gesetzt (dient als Schwellwertkontrolle für Fensterlogik). Das klappt auf dem Pi superperformant. Es werden (eigentlich unnötig) beim "Sliden" Zwischenwerte gesetzt und die Logik jeweils getriggert. Was man auf den Telegrammen jetzt sieht: es wird zunächst die Schwelle mittels Slider gesetzt (gelb unterlegt), und dann sendet bereits während des Slidens des zweiten Sliders die Logik nach Überschreiten des ersten Wertes (grün hinterleg) innerhab von 16 ms das Ergebnis ($01) (blau). Das ist sehr gut:

              Lobo_SV_Vergleich2.png

              Nun habe ich halt nur noch ein Problem: Leider werden mir die Titel nicht angezeigt. Eigentlich müssten die Slider doch beschriftet sein:

              Lobo_SV_Vergleich1.png

              Woran kann das liegen, dass die Slider nicht beschriftet sind? Und kann man den Istwert ein wenig aufziehen, dass alles dargestellt wird?

              Viele Grüße,

              Stefan
              Mein Sammelsurium: TS2, Zennio Z38, BJ Raumpanel, Siemens LOGO!, Suntracer KNX, Weinzierl KNX ENO 620, Eibmarkt IP Router, Wiregate

              Kommentar


                #8
                Hi Stefan,

                schau Dir bitte nochmal meine Beispielseite an. Der basic.slider hat keine Überschrift, diese ist manuell zu setzen.
                Bspw.
                Code:
                            <table width=100%>
                                <tr>
                                    <td align=left style="padding-left: 10px;">
                                        Windprogramm2 (Default 14):
                                    </td>
                                </tr>
                            </table>
                            {{ basic.slider('Geraete.Quadra.Grenzwert.Windprogramm2_Slider', 'Geraete.Quadra.Grenzwert.Windprogramm2',1,30,1) }}
                Cheers,
                Oliver

                Kommentar


                  #9
                  Mann - da habe ich mal wieder den Wald vor lauter Bäumen nicht gesehen. Ich hatte nur gesehen, dass bei Dir eine Überschrift angezeigt wird, aber nicht, dass Du das über eine eigene Tabellenzelle gemacht hattest.

                  Also - ein wenig modifiziert habe ich jetzt folgendes geschrieben:

                  Code:
                      <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
                          <div data-role="collapsible" data-collapsed="false">
                              <h3>Einstellungen</h3>
                              <table width=100%>
                              <td align=left>
                              Schwelle: {{ basic.float('GrenzwertHelligkeitTest_Anzeige', 'RolladenAuto.Test.Azimut_low', 'Lux') }}
                              {{ basic.slider('GrenzwertHelligkeitTest', 'RolladenAuto.Test.Azimut_low',1000,150000,1000) }}
                              Istwert: {{ basic.float('AzimutTest', 'Kzentral.Automatik.Azimut_test', 'Lux') }}
                              {{ basic.slider('AzimutTest', 'Kzentral.Automatik.Azimut_test',1000,150000,1000) }}            
                              </td>
                              </table>
                          </div>
                      </div>
                  ... damit wird der zuletzt gesendete Sliderwert auch noch mit dargestellt:
                  Lobo_SV_Vergleich3.png

                  Eigentlich wollte ich ja den Wert runden und in kLux anzeigen, aber ich konnte mit basic.formular zwar die Beispiele nachspielen (und den Wert durch 1000 Teilen), aber dann werden mir halt noch mehr Nachkommastellen angezeigt.

                  Vielen Dank,

                  Stefan
                  Mein Sammelsurium: TS2, Zennio Z38, BJ Raumpanel, Siemens LOGO!, Suntracer KNX, Weinzierl KNX ENO 620, Eibmarkt IP Router, Wiregate

                  Kommentar


                    #10
                    Ich schick Dir was bzgl. Runden, 1000 Wege führen ja nach Rom, bei mir habe ich das nach anfänglichen evals nun via lang_de gemacht....

                    Kommentar

                    Lädt...
                    X