Ich probiere deinen Code heute Abend aus und gebe dir dann Feedback.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Shutter Richtung ändern
Einklappen
X
-
Ich habe es nun auch nochmal getestet, bei mir funktioniert es mit min=99 und max=0 (fast) richtig.
Nur wenn man ganz unten klickt wird -1 statt 0 gesendet (wegen step=5), das werde ich noch korrigieren.
Und vereinzelt sahen die Lamellen auf dem Bild etwas eigenartig aus (die unterste war zu breit). Evtl. hat dies aber nichts mit der Anpassung zu tun sondern war schon vorher so.
Kommentar
-
Oh, 2.7...
Meine Anpassungen waren für 2.8 (und die aktuelle develop), da kann es natürlich sein, dass es nicht funktioniert.
Falls du dich noch etwas gedulden willst, kannst du auch auf den Release von 2.9 warten. Dort werde ich das sicher einbauen (bzw. habe ich bereits bei mir lokal).
Ich kann dir aber noch kein Releasedatum nennen.
Kommentar
-
So, 2.8 läuft jetzt. Symbole passen auch alle und deine Änderung habe ich mit in die Widgets.js Datei übernommen. Das hat aber leider am Verhalten des Shutters nichts geändert. 0 min und 99 max geht. Sobald ich 99 min und 0 max eintrage, funktionieren zwar die Pfeilsymbole noch (weiter falsch herum) und das Bild ist nicht mehr klickbar.
Alles was ich machen muss, ist doch die Änderung in der Widgets.js, oder?
Mein html Element sieht nach wie vor so aus:
{{ device.shutter('OG.KZ.RolladenK', 'Rolladen (klein)', 'OG.KZ.RolladenK.mov', '', 'OG.KZ.RolladenK.pos', '', '', '', 99, 0, 1 ) }}
Ich habe mal mein www Verzeichnis (ohne config.php) verlinkt. Falls Lust und Zeit besteht, kannst du es ja mal mit deiner Version vergleich. Ansonsten warte ich auf den offiziellen Release.
Kommentar
-
Ah, mist, ich habe mich nur mit basic.shutter beschäftigt, also dem grafischen Teil. Die Buttons von device.shutter habe ich nicht beachtet, entschuldige.
Werde das anschauen. Da ich die nächsten 2 Tage in eurem Lande unterwegs bin und noch nicht weiss, ob das neue WLAN im ICE wirklich funktioniert, kann ichaber noch keinen Termin versprechen.
Kommentar
-
Ah, okay. Das erkärt die Buttons. Ich habe die Buttons jetzt einfach mal in der device.html gedreht. Das funktioniert.
Das device benutzt ja den veränderten Basic.Shutter, aber irgendwie will er nicht. Wie kann ich das denn debuggen?
Mein Basic.shutter bekommt das Richtige übergeben. Wenn ich ihn anklicke, bekomme ich aber immer eine 0 ans System geschickt.
HTML-Code:<div id="OG_Kinderzimmer-OG_KZ_RolladenG" data-widget="basic.shutter" data-item="OG.KZ.RolladenG.pos, " data-min="99" data-max="0" data-step="1" data-mode="half" class="shutter"> <div class="control hide" style="display: none;"> <img class="icon pos" src="icons/ws/control_arrow_up_down.svg"> </div> <div class="blade-pos" id="OG_Kinderzimmer-OG_KZ_RolladenG-1" style="height: 1px;border-top: 1px dotted #aaa;"></div> <div class="blade-pos" id="OG_Kinderzimmer-OG_KZ_RolladenG-2" style="height: 1px;border-top: 1px dotted #aaa;"></div> <div class="blade-pos" id="OG_Kinderzimmer-OG_KZ_RolladenG-3" style="height: 1px;border-top: 1px dotted #aaa;"></div> <div class="blade-pos" id="OG_Kinderzimmer-OG_KZ_RolladenG-4" style="height: 1px;border-top: 1px dotted #aaa;"></div> <div class="blade-pos" id="OG_Kinderzimmer-OG_KZ_RolladenG-5" style="height: 1px;border-top: 1px dotted #aaa;"></div> <div class="blade-pos" id="OG_Kinderzimmer-OG_KZ_RolladenG-6" style="height: 1px;border-top: 1px dotted #aaa;"></div> <div class="blade-pos" id="OG_Kinderzimmer-OG_KZ_RolladenG-7" style="height: 1px;border-top: 1px dotted #aaa;"></div> <div class="blade-pos" id="OG_Kinderzimmer-OG_KZ_RolladenG-8" style="height: 1px;border-top: 1px dotted #aaa;"></div> <div class="blade-pos" id="OG_Kinderzimmer-OG_KZ_RolladenG-9" style="height: 1px;border-top: 1px dotted #aaa;"></div> <div class="blade-pos" id="OG_Kinderzimmer-OG_KZ_RolladenG-10" style="height: 1px;border-top: 1px dotted #aaa;"></div> <div class="blade-pos" id="OG_Kinderzimmer-OG_KZ_RolladenG-11" style="height: 1px;border-top: 1px dotted #aaa;"></div> <div class="blade-pos" id="OG_Kinderzimmer-OG_KZ_RolladenG-12" style="height: NaNpx;border-top: 1px dotted #aaa;"></div> </div>
Kommentar
-
Ich habe es nochmal getestet, diesmal mit 2.8 und nur dem Code aus Post #13 - und bei mir funktioniert es.
Allerdings kann ich das nur mit dem Offline-Treiber testen, evtl. funktioniert es nur im Zusammenspiel mit FHEM oder allgemein real time Treibern nicht.
Hast du irgendwelche Meldungen auf der Browserkonsole? Welchen Browser nutzt du?
Je nach Browser könntest du das JavaScript debugen.
Etwas irritierend finde ich das height: NaNpx auf deiner letzten Zeile.
Kommentar
-
Ich nutze Chrome. Habe es eben mit Firefox und Edge probiert, aber da ist das Verhalten identisch.
Ich glaube ja, dass meine Änderung in der widget.js einfach keinerlei Wirkung hat. Dafür kenne ich mich aber mit HTML und JavaScript nicht gut genug aus, um das gescheit nachvollziehen zu können.
Da es funktioniert wenn ich min auf 0 stelle und max auf 99 habe ich einfach mal den Code in der Widget.js umgekeht, indem ich schreibe:
var min = parseInt($(this).attr('data-max'));
var max = parseInt($(this).attr('data-min'));
und das gleiche auch weiter unten bei den Click Funktionen.
Zum Test habe ich die Widget.js einfach mal gelöscht, aber meine Seite funktioniert einfach weiter ohne Änderung. Ich denke also das hier das Problem liegt. Muss ich zum übernehmen der Änderungen irgendwas neu starten? Den Apache vielleicht? Cache ist deaktiviert.
Kommentar
-
So, habs gelöst.
Habe über das komplette System nach der widget.js gesucht. DIese habe ich in der make.php gefunden mit einem Compile Befehl davor. 1+1 zusammengezählt, Make.php aufgerufen. Die widget.js kompiliert. Ich schätze da wird die min.js draus, weil auch nur diese im Browser Cache vorhanden ist und siehe da. Es geht.
Wahrscheinlich war dir das klar, aber ich bin zwar versiert im Umgang mit PCs und anderen Programmiersprachen, aber Javascript und HTML ist ein Buch mit sieben (naja, vielleicht fünf) Siegeln.
Läuft!! Ich freu mich und bin auch ein wenig Stolz auf mich
Kommentar
Kommentar