Ankündigung

Einklappen
Keine Ankündigung bisher.

UZSU Widget

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

    #61
    Hallo Michel,

    ich hatte custom Design = 1 nur kurz getestet um zu sehen ob dort für Value auch Werte eingegeben werden können. Leider war dort in der Spalte Value auch (nur) der Button "On" und kein Textfeld.

    evtl. könnte man für auch für custom Design einen Button einbauen, sodass man direkt im Widget umschalten kann (wenn der Aufwand nich zu groß ist).
    Oben recht am Widget könnte auch ein X - Schließen Butten angebracht werden.

    Gruß Ivan

    Kommentar


      #62
      Hallo Ivan,

      ich schau mal nach, habe wahrscheinlich schon intern ein neueres Realeres gebaut gehabt. Das sollte bei custom Design = 1 auch den Wert können. Wenn ich es finde, kommt es dann kurzfristig in den Thread.

      Das mit dem Button rechts oben hatte ich schon, ist redundant, kann ich gerne wieder reinhauen, kommt manchmal aber etwas klein rüber um ihn mit dem Finger zu treffen.

      Das mit dem Umschalten ist eher eine größere Aktion, da das ganze Popup erst zur Laufzeit beim Öffnen generiert wird. Wenn ich dann umschalte, muß ich es erst komplett herausnehmen, und dann neu aufbauen. Performance mäßig ist das nicht toll. Ausserdem parse ich im Moment noch die Wochentage (also alles was in RRULE steht) hart bei custom Design = 0. Wenn Du dann etwas anderes bei custom Design = 1 eingegeben hast wird das platt gemacht. Dazu habe ich noch keinen zündende Idee...

      Grüße

      Michel

      Kommentar


        #63
        hat schon wer sunrise/sunset in das widget eingebaut ?

        Kommentar


          #64
          Hallo Ivan,

          anbei die v0.9.2 zum Probieren.
          @fanta2k : Du kannst das Thema sunrise/sunset in custom Format 1 gut bei der Zeit mit eingeben (wie im Plugin beschrieben). Im Textfeld von custom Format 0 geht das auch (wegen Formatierung allerdings zum scrollen !

          Michel
          Angehängte Dateien

          Kommentar


            #65
            Hallo,
            Ich habe das jetzt auch probiert und es funktioniert soweit sehr gut. Es ist
            auch sehr einfach zu installieren. Dateien kopieren und gut ist. Super
            gemacht. Was mir aufgefallen ist:

            Es gibt eine Meldung "Error parsing time xx:xx local variable 'i' referenced before assignment"
            wenn man keine Tage anmacht. OK, macht man ja auch nicht.

            Links ist der Knopf On. Ich würde mir den parametrierbar wünschen. Da
            könnte z.B: auch up/down stehen wenn ich abens die Rollos zu machen möchte. Gruß,

            Michael

            Kommentar


              #66
              Hallo Michael,

              danke für die Rückmeldung, schaue mir da bei Gelegenheit einmal an.

              Michel

              Kommentar


                #67
                Hallo Michael,

                ich kann Deinen Fehler im Popup nicht nachvollziehen. Im JS ist auch keine Variable i verwendet. Ich gehe davon aus, dass Du die Meldung im smarthome.log gefunden hast. Dann bräuchte ich einen Auszug aus dem Logfile. Deiner Konfig und was Du gemacht hast !

                Michel

                Edit: ich habe mal meine develop 0.9.3 mal angehängt. Dort ist etwas mehr Robustheit beim Abspeichern ohne Tage drin. Wäre super, wenn Du testen könntest, ob der Fehler jetzt erledigt ist.
                Angehängte Dateien

                Kommentar


                  #68
                  Hallo,
                  Ich habe es ausprobiert. Es gibt jetzt eine Fehlermeldung in smartvisu.log:
                  Error parsing time 8:00: empty string.
                  Das ist ja OK wenn ich keinen Tag anmache. Gruß,

                  Michael

                  Kommentar


                    #69
                    Michael,

                    danke Dir für den Test. Aus meiner Sicht jetzt nur in Kombination mit dem Plugin zu finden, da diese Meldung ausschliesslich durch das Plugin in das Log File geschrieben werden kann. (@Niko). Wahrscheinlich passiert das Gleiche, wenn Du den Eintrag mit sh....uzsu(hier jetzt die notwendigen Objekte) in der interaktiven Betriebsrat von Smarthome.py eingibst.

                    Von meiner Seite schaue ich erst einmal mit Prio auf ein rundes Feature Set.

                    Michel

                    Kommentar


                      #70
                      Wenn es im sh.py Log steht (wovon ich ausgehe) dann kommt der Fehler vom Plugin und müsste dort abgefangen werden. Wer eine hübschere Fehlermeldung haben möchte, soll bitte das Plugin erweitern und einen Pull Request stellen.
                      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


                        #71
                        Hallo,

                        stimme dem zu, die Fehlermeldung passt ja auch (string ist leer).
                        @ Niko:Ich hatte da auch schon selbst daran denken können (sorry :-)). Mir war nur wichtig, dass der Fehler mit der Variable nicht mehr passiert, da hatte ich eine umplausible Konfig rausgeschrieben aus dem Widget. Das ist aber behoben. Damit aus meiner Sicht erledigt.

                        Michel

                        Kommentar


                          #72
                          Hallo,

                          ich hatte schon mehrere Anfragen zu Problemen mit der Installation, daher hier im Forum eine Schritt für Schritt Anleitung zur Installation des UZSU Widgets:

                          Absprungbasis ist das installierte (und in Eurer smarthome.py funktionierende) UZSU Plugin. Also items konfiguriert usw. und auch mal im interaktiven Modus mal probiert, ob sich die Schaltuhr programmieren läßt (smarthome.py -i).

                          1. Zip Datei Archiv_v0.9.3.zip aus dem Thread (pos #67) downloaden.

                          2. Auspacken. Es finden sich zwei Dateien: visu.js und widget_uzsu.html

                          3. Beide Dateien in das Projektverzeichnis Eurer Visu hineinkopieren. Das müßte unter /www/smartvisu/pages/"name des Projektes" liegen.

                          4. Einbinden des Widgets in eure Seite mit
                          Code:
                          {% import "widget_uzsu.html" as uzsu %}
                          das packt ihr am besten Ober unter die Zeilen
                          Code:
                          {% extends "rooms.html" %}
                          {% block content %}
                          5. Anlegen eines UZSU Symbols, ich habe da mein Standardtestbeispiel genommen.
                          Code:
                          {{ uzsu.uzsu_icon('eg.ez.decke.01', 'eg.ez.decke.uzsu', 'Esszimmerlampe') }}
                          6. Die Parametrierung des Widgets findet Ihr ebenfalls in der widget_uzsu.html Datei. Einfach mal reinschauen.

                          7. Anschliessen Reload der Seite im Browser, dann sollte das Popup kommen.

                          Michel

                          PS: Wenn Ihr die Visu per Automatik erstellen lasst, dann löscht die vorher die Inhalte. Geht aus meiner Sicht nur, wenn Ihr eure Visu von Hand zusammenbaut.

                          PPS: Wenn ihr schon eine visu.js verwendet für andere Dinge, dann müßt ihr die sinnvoll zusammenfügen (aneinanderhängen).

                          Kommentar


                            #73
                            Dickes danke!

                            Hallo Niko und Michel,
                            hier ein DICKES DANKE!
                            Eingerichtet nach Anleitung und hat auf Anhieb geklappt!

                            Die beiden Bereiche plugin und visu.js sind für mich leider aktuell noch Bücher mit 7 Siegeln, daher fällt es mir schwer zu Eurer Arbeit irgendwas konstruktives beizusteuern. Sieht jedenfalls nach echt harter Arbeit aus.

                            Cheers,
                            Oliver

                            Kommentar


                              #74
                              ... ich bin begeistert!!!

                              Hallo Michel,

                              ich bin begeistert. Und nach anfänglichen Problemen:

                              1tes Problem: Pop-Up funktionierte nicht - und die connection zu smarthome.py war weg - der reboot führte zum 2ten Problem

                              2tes Problem: Mein Pi hatte nach einem Reboot vergessen, dass er ein Betriebsystem auf der SD Karte hat :-(

                              3tes Problem: ../uzsu/__init__.py war nicht richtig

                              File "/usr/smarthome/plugins/uzsu/__init__.py", line 1
                              SyntaxError: Non-UTF-8 code starting with '\xff' in file /usr/smarthome/plugins/uzsu/__init__.py on line 1, but no encoding declared; see http://python.or g/dev/peps/pep-0263/ for details

                              habe ich es dann doch geschafft es zum funktionieren zu bringen.

                              Ich dachte mir, bevor andere, so wie ich in die allg. Fallen tappen und ich es mir eh aufschreiben wollte wie es funktioniert. Da dachte ich mir, ich dokumentiere es hier (an nur einem Ort):

                              Was benötigt man:
                              • PLUGIN
                              • PLUGIN einbinden
                              • visu.js (Achtung: Wenn ihr schon eine visu.js verwendet für andere Dinge, dann müßt ihr die sinnvoll zusammenfügen (aneinanderhängen))
                              • widget_uzsu.html
                              • Grundkenntnisse: Wie bediene ich ssh/scp/vi und die allg. Dateistruktur von smartvisu
                              • Geduld


                              1tens: Das Plugin
                              kommt in eine Datei __init__.py im verzeichnis /usr/smarthome/plugins/uzsu

                              Das Verzeichnis muss erst angelgt werden.

                              mkdir /usr/smarthome/plugins/uzsu

                              Den Inhalt von (in diesem Format hat es dann auch bei mir funktioniert)

                              https://raw.githubusercontent.com/mk...su/__init__.py

                              in die Datei:

                              vi /usr/smarthome/plugins/uzsu/__init__.py

                              einfügen.

                              Anschliessend im Verzeichnis /usr/smarthome/plugins/ die rechte wieder ordentlich setzen - chmod -R 775 uzsu

                              2tens: Das Plugin einbinden
                              In der Datei vi /usr/smarthome/etc/plugin.conf

                              Am Ende der Datei, dies hier einfügen:
                              [uzsu]
                              class_name = UZSU
                              class_path = plugins.uzsu
                              3tens: Zip Datei Archiv_v0.9.3.zip aus dem Thread (pos #67) downloaden. Entpacken und die 2 Dateien in Euer Projektverzeichnis kopieren. Achtung s.o. Kommentar zur visu.js beachten

                              4tens: Post #72 folgen


                              Für alle die ein Beispiel brauchen, habe ich mal meine Config in Teilen eingefügt:

                              Beispiel für einen Schalter [On/Off]

                              /usr/smarthome/items/smarthome.conf
                              ...
                              [EG]
                              [[WZ]]
                              [[[StehlampeTal]]]
                              [[[[OnOff]]]]
                              type = bool
                              visu_acl = rw
                              knx_dpt = 1
                              knx_listen = 2/2/11
                              knx_send = 2/2/11
                              knx_init = 2/2/11
                              [[[[[uzsu]]]]]
                              type=dict
                              uzsu_item=EG.WZ.StehlampeTal.OnOff
                              cache=True
                              visu_acl=rw
                              In /var/www/smartvisu/pages/[EUER PROJEKTORDNER]

                              vi /var/www/smartvisu/pages/[EUER PROJEKTORDNER]/[Raum].html
                              {% extends "base.html" %}

                              {% block sidebar %}
                              {% include 'rooms_menu.html' %}
                              {% endblock %}

                              {% block content %}
                              {% import "widget_uzsu.html" as uzsu %}

                              <div class="block">
                              <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>Stehlampen</h3>
                              <tr>
                              <table width=100%>
                              <td align=left>
                              {{ uzsu.uzsu_icon('EG.WZ.StehlampeTal.OnOff', 'EG.WZ.StehlampeTal.OnOff.uzsu', 'Stehlampe Tal') }}
                              {{ basic.switch('S1', 'EG.WZ.StehlampeTal.OnOff', icon1~'light_floor_lamp.png',icon0~'light_floor_la mp.png') }} Wohnzimmer Stehlampe Talseite
                              </tr>
                              <tr>
                              <table width=100%>
                              <td align=left>
                              {{ uzsu.uzsu_icon('EG.WZ.StehlampeBerg.OnOff', 'EG.WZ.StehlampeBerg.OnOff.uzsu', 'Stehlampe Berg') }}
                              {{ basic.switch('S2', 'EG.WZ.StehlampeBerg.OnOff', icon1~'light_floor_lamp.png',icon0~'light_floor_la mp.png') }} Wohnzimmer Stehlampe Bergseite
                              </table>
                              </div>

                              </div>
                              </div>

                              Beispiel für einen Rolladen[Hoch/Runter]

                              /usr/smarthome/items/smarthome.conf
                              ...
                              [DG]
                              [[Schlafzimmer]]
                              [[[Rolladen]]]
                              [[[[Jalo]]]]
                              type = bool
                              visu_acl = rw
                              enforce_updates = true
                              knx_dpt = 1
                              knx_send = 3/1/2
                              [[[[[uzsu]]]]]
                              type=dict
                              uzsu_item=DG.Schlafzimmer.Rolladen.Jalo
                              cache=True
                              visu_acl=rw
                              [[[[Jalo_stop]]]]
                              type = bool
                              visu_acl = rw
                              knx_dpt = 1
                              enforce_updates = true
                              knx_send = 3/1/5
                              im /var/www/smartvisu/pages/[EUER PROJEKTORDNER]

                              vi /var/www/smartvisu/pages/[EUER PROJEKTORDNER]/[Raum].html
                              <div class="block">
                              <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>Rolläden</h3>
                              <table style="width:100%; text-align: left;">
                              <tr>
                              <td width="15%">
                              {{ uzsu.uzsu_icon('DG.Schlafzimmer.Rolladen.Jalo', 'DG.Schlafzimmer.Rolladen.Jalo.uzsu', 'Rolladen Down') }}
                              </td>
                              <th width="25%">Rolladen</th>
                              <td width="20%">
                              {{ basic.button('Schlaf_up1', 'DG.Schlafzimmer.Rolladen.Jalo', '', 'arrow-u', '0', 'mini') }}
                              </td>
                              <td width="20%">
                              {{ basic.button('Schlaf_stop1', 'DG.Schlafzimmer.Rolladen.Jalo_stop', '', icon0~'audio_stop.png', '1', 'mini') }}
                              </td>
                              <td width="20%">
                              {{ basic.button('Schlaf_down1', 'DG.Schlafzimmer.Rolladen.Jalo', '', 'arrow-d', '1', 'mini') }}
                              </td>
                              </table>
                              </div>
                              </div>
                              </div>

                              {% endblock %}

                              Vielen Dank an die Entwickler!!
                              Viele Grüsse!
                              Christian

                              P.S.: Ich bin Smartvisu Anfänger und muss noch sehr viel lernen. Hoffe aber mit diesem Post anderen zu helfen. Rückfragen beantworte ich gerne, aber ich fürchte bei tiefgreifenden Problemen muss Michel ran.

                              P.P.S.: Bevor Ihr an Eurer Config was ändert, mach ein backup von Eurem PI

                              Zitat aus http://smartvisu.de/download/installation_sh_sv_en.pdf

                              "I recommend from time to time you pull of the SD card from your Raspberry put it into your Computer and write a single image file for Backup using WinDiskImager."
                              Angehängte Dateien

                              Kommentar


                                #75
                                Auch von mir ein Danke.
                                Hab mal die Zeit gehabt es zu testen.
                                Die in sV "gelieferten" PopUp-Widgets habe ja alle rechts oben einen Close-Button. Wer das auch in diesem Widget möchte (vieleicht wegen der "Einheitlichkeit") suche in der visu.js nach
                                Code:
                                template += "<div data-role='popup' class='messagePopup' id='uzsuPopupContent' data-dismissible = 'false'>"
                                und füge danach folgendes ein.
                                Code:
                                template += "<a href='#' data-rel='back' data-role='button' data-icon='delete' data-iconpos='notext' class='ui-btn-right'>Schließen<\/a>"
                                Angehängte Dateien

                                Kommentar

                                Lädt...
                                X