Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - probleme mit shifter

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

    - √ - probleme mit shifter

    hi,

    habe etwas probleme mit der shifter funktion.

    html:
    <a href="#{{ uid(page, id) }}_list_blind_popup" data-rel="popup" data-position-to="window">
    x{{basic.value(id~'value',gad_pos)}}x
    {{ basic.shifter(id~'shifter3', '', gad_pos, icon1~'fts_shutter_00.png', icon0~'fts_shutter_10.png' ) }}

    </a>
    (also ganz normal, incl wertanzeige zum debug)

    Leider bleibt das shifter item immer auf 00, egal welcher wert anliegt (zb 255) (version ist aktuell, vor 2-3 Tagen aktualisiert)
    Angehängte Dateien

    #2
    probleme mit shifter

    Um den Hintergrund zu klären, ist das mein Design oder hast du einfach nur was ähnliches gebaut?
    Mit freundlichen Grüßen
    Niko Will

    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

    Kommentar


      #3
      Das Problem ist klar:

      Dadurch das du keine gad_switch angegeben hast, ist der "Schalter" immer 0. Im Zustand 0, wird aber der Wert bei den .pngs gar nicht angezeigt und er nimmt das 0-er Bild (und das ist ein Standbild).

      Wenn du die Version 2.6 hast, versuch mal als Bild 'icon.shutter' z. B.:

      {{ basic.shifter('svg1', '', 'bath_light_value', 'icon.shutter') }}

      Damit verwendest du die neuen SVG-Icons.

      Ich werde das anpassen, das sich die .pngs genauso verhalten wie die icon.

      Danke für den Hinweis

      Gruss
      Join smartVISU on facebook. Web: smartvisu.de.
      Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

      Kommentar


        #4
        Um den Hintergrund zu klären, ist das mein Design oder hast du einfach nur was ähnliches gebaut?
        hab mir für die raffstores nen widget nach deiner vorlage gebaut, und auch mit deinem shutter code den gleichen fehler.

        {{ basic.shifter('svg1', '', 'bath_light_value', 'icon.shutter') }}
        das klappt, danke!

        btw, was müsste denn für die pngs am gad_switch anliegen ?

        '1' 'on' oder 'true' bewegen es auch nicht in den ein zustand.

        Kommentar


          #5
          Du müsstest 1 anlegen.

          Hab in der 2.7 das schon umgebaut, das gad_switch nun optional ist und sich es dann gleich mit dem svg-icon verhält.

          Gruss
          Join smartVISU on facebook. Web: smartvisu.de.
          Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

          Kommentar


            #6
            ich hab mir noch ne svg funktion für die lamellen geschrieben:

            widget.js
            // ----- icon.shutterangle ---------------------------------------------------------
            $(document).delegate('svg[data-widget="icon.shutterangle"]', {
            'update': function (event, response) {
            // response is: {{ gad_value }}, {{ gad_switch }}

            fx.rotategrid(this, response[0]);

            }
            });
            icon.html
            {% macro shutterangle(id, gad_switch, gad_value,min,max) %}
            <svg id="{{ uid(page, id) }}" data-widget="icon.shutterangle" data-item="{{ gad_value }}, {{ gad_switch }}" data-min="{{ min|default('0') }}" data-max="{{ max|default('255') }}"
            class="icon icon0" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 100 100">
            <g></g>
            </svg>
            {% endmacro %}
            base.js (fx class)
            rotatepoint: function (coordinates, angle, origin) {

            angle = (angle)*(Math.PI/180);
            var px = Math.cos(angle)*(coordinates[0]-origin[0])-Math.sin(angle)*(coordinates[1]-origin[1])+origin[0];
            var py = Math.sin(angle)*(coordinates[0]-origin[0])+Math.cos(angle)*(coordinates[1]-origin[1])+origin[1];
            return [px,py];


            },

            /**
            * draw rotated grid
            * @param obj
            * @param val
            * @param start
            * @param end
            */

            rotategrid: function (obj,angle) {
            var line,val,rotated;

            var start,end;
            start = 45;
            end = 55;

            // calculate angle in %
            angle = 90/255*angle;

            $('#' + obj.id + ' g').children().each(function (index) {
            var g = $(this);
            if (g.is('line')) {
            g.remove();
            }
            });
            val = 50;

            while (val > 0) {
            line = document.createElementNS('http://www.w3.org/2000/svg', 'line');

            // rotate point 1
            rotated=fx.rotatepoint([start,20+val],angle,[50,20+val]);
            line.setAttributeNS(null, 'x1', rotated[0]);
            line.setAttributeNS(null, 'y1', rotated[1] );

            // rotante point 2
            rotated=fx.rotatepoint([end,20+val],angle,[50,20+val]);
            line.setAttributeNS(null, 'x2', rotated[0]);
            line.setAttributeNS(null, 'y2', rotated[1] );

            $('#' + obj.id + ' g').append(line);
            val = val - 10;
            }
            },
            in der visu
            {{ basic.shifter(id~'shifter_angle', '', gad_angle, 'icon.shutterangle' ) }}
            das ganze sieht dann aus wie angehängt.

            ps, ich glaube deine rotatefunction is nicht ganz korrekt, mit meiner neuen klappt es einen punkt um einen anderen punkt zu drehen.
            Angehängte Dateien

            Kommentar


              #7
              Ja geil!

              Was war denn falsch an meiner Rotate-Funktion?

              Brauchst langsam auch mal ein svn-Login?

              Gruss
              Join smartVISU on facebook. Web: smartvisu.de.
              Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

              Kommentar


                #8
                Code:
                Was war denn falsch an meiner Rotate-Funktion?
                puh, hab das jetzt nicht nachgerechnet, aber was rauskommt stimmt nicht

                Brauchst langsam auch mal ein svn-Login?
                ja, schick dir gleich meine gmail addi, dann check ich das ein.

                Kommentar


                  #9
                  ich hab noch eins nachgelegt. z lamellen svg
                  Angehängte Dateien

                  Kommentar


                    #10
                    Sehr nett... Werde ich bei mir wohl auch noch verbauen müssen
                    Mit freundlichen Grüßen
                    Niko Will

                    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                    Kommentar


                      #11
                      Cool wäre (und absolute spielerei) wenn man den Typ angeben könne: Z-Lammelle, Rundlamelle...

                      (Das fühlt sich gut an, wenn man auf der Seite sitzt wo man Wünsche äußern kann )

                      Gruss
                      Join smartVISU on facebook. Web: smartvisu.de.
                      Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

                      Kommentar


                        #12
                        Zitat von Apollo Beitrag anzeigen
                        Cool wäre (und absolute spielerei) wenn man den Typ angeben könne: Z-Lammelle, Rundlamelle...

                        (Das fühlt sich gut an, wenn man auf der Seite sitzt wo man Wünsche äußern kann )

                        Gruss
                        hab dafür 2 svg gemacht icon.shutterangle und icon.shutterangle_z

                        Rundlamelle pffffff Um nen bezier zu drehen müsst ich glatt meinen mathe buch rauskramen

                        Kommentar


                          #13
                          Zitat von fanta2k Beitrag anzeigen
                          puh, hab das jetzt nicht nachgerechnet, aber was rauskommt stimmt nicht
                          Ich glaub der Unterschied war der Winkel, der bei mir im Bereich 0 - 2*PI anzugeben ist für (0 - 360 Grad)

                          Können wir nicht eine einheitliche Funktion für beide Zwecke machen?

                          Mit welchen Winkeln arbeitest du?

                          Gruss
                          Join smartVISU on facebook. Web: smartvisu.de.
                          Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

                          Kommentar


                            #14
                            Zitat von fanta2k Beitrag anzeigen
                            Rundlamelle pffffff Um nen bezier zu drehen müsst ich glatt meinen mathe buch rauskramen
                            Ja war nur ne Idee

                            SVG rulez!
                            Join smartVISU on facebook. Web: smartvisu.de.
                            Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

                            Kommentar


                              #15
                              Zitat von Apollo Beitrag anzeigen
                              Ich glaub der Unterschied war der Winkel, der bei mir im Bereich 0 - 2*PI anzugeben ist für (0 - 360 Grad)

                              Können wir nicht eine einheitliche Funktion für beide Zwecke machen?

                              Mit welchen Winkeln arbeitest du?

                              Gruss
                              bei meinem aktor kommt 0-255 für 0-90° an und mit zb 90° geht es dann auch in die rotatepoint, habe jetzt bei meiner funktion nicht mit 90+ versucht, aber sollte grundsätzlich auch das korrekte ergebnis liefern.

                              btw, kann es sein das das minify script etwas zickig ist ? habe es jetzt aufn raspi und aufm wamp dazu gebracht seinen dienst zu verweigern

                              Kommentar

                              Lädt...
                              X