Ankündigung

Einklappen
Keine Ankündigung bisher.

smartVisu plugin und custom code

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

    smartVisu plugin und custom code

    Hi, ich habe gerade mit smarthome.py angefanen und muss chon sagen es gefällt mir sehr. Leider habe ich bisher mit Python noch nichts zu tun gehabt, daher fällt es mir schwer aus dem Sourcecode meine Antwort abzuleiten.

    Ich möchte gerne in einem Plot mehrere Temperaturwerte anzeigen. Das ist ja ohne weiteres möglich, allerdings habe ich im dem smartVisu plugin dazu keine Doku gefunden wie ich das in dem items.conf einzutragen habe.

    Daher wollte ich einfach diesen Plot manuell anlegen. Da der komplette smarthome Ordner im smartVisu folder auf dem Webserver wohl bei einem neustart gelöscht und neu angelegt wird, kann ich also keine eigenen Änderungen in dieser Datei machen. Ich habe jetzt übergangsweise den Inhalt in einen anderne Ordner kopiert und diesen dann bearbeitet. Jetzt sieht alles gut aus, jedoch möchte ich die Generierung über die items nicht verlieren.

    Wisst ihr wie ich einen Plot mit mehreren Werten über die items.conf generieren lassen kann?
    Kann ich custom Code in eine generierte Seite einfügen?

    Danke für eure Hilfe.

    #2
    Du willst also in einem Plot mehrere Werte haben?

    Wenn ja schau mal hier:
    https://code.google.com/p/smartvisu/...it_drei_Kurven

    Kommentar


      #3
      Vielen Dank für den Link. Genau mit dieser Anleitung habe ich es hinbekommen, jedoch ist der Code den ich geschrieben habe jetzt nicht über die Datei item.conf generiert. Somit kann ich den smarthome.py server nicht neu starten, da dann immer der code in dem pages folger der smartVisu installation neu generiert wird und somit meine Änderungen überschrieben werden.

      Ich bräuchte also die Info:
      1. Wie man custom Code mit einbaut, ohne dass dies Überschrieben werden
      ODER
      2. Wie man diese Funktion (3 Kurven in einem Plot) über die items.conf generiert

      Danke und Gruß
      bb

      Kommentar


        #4
        Das geht eigentlich genau so, wie in der smartVISU-Hilfe beschrieben... bin daher nicht ganz sicher, ob ich deine Frage verstehe. Wenn du das aus der item.conf heraus machen willst - also mittels Autokonfiguration - musst du den sv_widget-Aufruf halt an der richtigen Stelle in die item-Hierarchie stellen, so dass die items, die du abbilden willst dort "bekannt" sind. Also z.B. fuer das Beispiel aus der Online-Hilfe

        Code:
        [plot][INDENT]sv_widget = [FONT=monospace]{{[/FONT][FONT=monospace]{{ plot.period('p2', ['bath_plot1', 'bath_plot2', 'bath_plot3'], 'avg', '1h', 0, 0, 100, '', '', ['#aa0', '#a00','#00a'], ['area', 'column', 'line']) }}
        [[bath_plot1]]
        (...)
        [[bath_plot2]]
        (...)
        [[bath_plot3]]
        (...)[/FONT][/INDENT]
        Hilft das weiter?

        Kommentar


          #5
          Ich werde es heute Abend noch mal in Ruhe versuchen. Wozu sind die Einträge "[[bath_plotX]]" gut? Soweit ich weiß ist doch die Config des Plots mit der Zeile sv_widget abgeschlossen, oder?

          Vielleicht klärt sich die Frage auch heute Abend wenn ich damit rumgespielt habe.

          Vielen Dank für die Hilfe.

          Kommentar


            #6
            Ich hab's gerade ausprobiert, funktioniert wie in meinem Beitrag beschrieben.

            Die [[...]] sind die items, deren Werte du im Plot ausgeben willst - irgendwo musst du ja die Werte her bekommen. Mit der Konfiguration des Plots haben die nichts zu tun.

            Die "item.conf" hat ja nun auch erst mal nichts mit der smartVISU zu tun. Nicht falsch verstehen, aber: Was smarthome.py macht und was smartVISU macht und wie das ganze zusammenhängt ist dir klar?!
            Zuletzt geändert von DiMa; 18.03.2015, 20:50.

            Kommentar


              #7
              Denke schon, stand ein wenig auf dem Schlauch bezüglich der beiden "[[]]". Wie ich schon beschrieben habe funktioniert bei mir der Plot mit mehreren Temperaturen pro Plot schon, also im Prinzip alles bestens. Ich befürchte ich habe die Funktionsweise des Plugins einfach nicht richtig verstanden.

              Das smartVisu Plugin legt ja im Folder "pages" der smartVISU installation Dateien an, die aufgrund der item.conf Datei generiert wird. Diese Dateien dienen wohl nur als Beispiel und sollte auf keinen Fällen so in "live" eingesetzt werden. Das war mein Denkfehler, ich dachte ich könnte aufgrund der conf Dateien im Items folder auch direkt die Generierung der plots beeinflussen, dem ist aber nicht so. Die items.conf dateien sind nur dafür da (wieder der name auch schon sagt) die Geräte im meinem Smarthome Server einzurichten.

              Somit klappt alles, ich bin nur von falschen Annahmen ausgegangen. Mein Ansatz ein neuen Ordner unter pages im smartVISU Verzeichnis anzulegen und dort meine GUI zu bauen ist dann wohl der richtige weg.

              Vielen Dank für die Hilfe und Auflärung.

              Kommentar


                #8
                Da fehlt noch was...
                Zitat von DiMa Beitrag anzeigen
                Code:
                [plot][INDENT]sv_widget = [FONT=monospace]{{[/FONT][FONT=monospace]{{ plot.period('p2', ['[COLOR=#FF0000]item.[/COLOR]bath_plot1', '[COLOR=#FF0000]item.[/COLOR]bath_plot2', '[COLOR=#FF0000]item.[/COLOR]bath_plot3'], 'avg', '1h', 0, 0, 100, '', '', ['#aa0', '

                Kommentar


                  #9
                  Stimmt, aber das war ja nicht das Problem.

                  Kommentar

                  Lädt...
                  X