smartVISU Widgets

Begonnen von vbs, 29 März 2015, 12:35:12

Vorheriges Thema - Nächstes Thema

dev0

Ja, das siehst Du beides richtig. Im Widget sind es wohl nur Kleinigkeiten, aber so auf Anhieb wird das nicht mit der 2.7er laufen.

dev0

@Joerg: Magst Du eventuell ein cleaninstall für die aktuelle 2.8er (pre) breitstellen oder ggf. auch nur die benötigten Dateien, damit sich jeder selbst ein Multiuser SV bauen kann? Ich würde das auch erledigen, aber zum einen nicht ohne dein OK und zum anderen fände ich es nicht sinnvoll solche Archive dezentral zu verteilen.
Oder lohnt sich das nicht, da du kurzfristig mit dem next release um die Ecke kommst?  ;)

/Uli

herrmannj

Hi,

ja genau, würde das next mit der 2.8er zusammen machen. Ich hab ins 2.8er noch nicht tiefer reingeschaut. Hast aber recht, ich schau mal. Wäre doof wenn man das (auch als user) allzu oft neu anpacken muss.

Lass mich mal über WE da reinschauen, meld mich-

vg
joerg

rsteinkuhl

Hallo alle miteinander,

ich habe mir die smartvisu-widgets heruntergeladen und (ich hoffe richtig) eingebunden.
Nun möchte ich daraus das Widget "LED" nutzen, kann aber nirgends  eine Erklärung finden, wie man es richtig auf den Pages einbindet (Syntax).
Kann mir vielleicht mal jemand ein Beispiel nennen, wie man die LED benutzt ?

Vielen Dank im voraus

HCS

Wie im Widget beschrieben
/**
* LED - shows a LED with a color depending on the value of the gad
*
* Parameters:
* id:           unique id for this widget
* gad:          a gad/item
* red_value:    the value when the LED shall be red (optional)
* green_value:  the value when the LED shall be green (optional)
* blue_value:   the value when the LED shall be blue (optional)
* yellow_value: the value when the LED shall be yellow (optional)
*
*/


Beispiel:
{{ LED.led("WaterPumpLED", "WaterPumpGAD", "off", "on") }}
Wenn das GAD "WaterPumpGAD" mit den Werten "off" rot und "on" grün zeigen soll.
Wenn das GAD keinen der angegebenen Werte hat, ist die LED aus (grau)

rsteinkuhl

Hallo und Danke für die schnelle Antwort,

die Beschreibung im Widget hatte ich gelesen und auch so umgesetzt, leider bleibt die LED grau.
Weder mit 1 / 0 noch mit on / off bekomme ich die gewünschte Anzeige.
Reicht es, die widget_led.js in das entsprechende Pgaes-Verzeichnis zu kopieren oder muss es noch irgendwo bekannt gemacht werden ?
Zur Kontroll habe ich ein "basic.switch" angelegt, damit kann ich die Zustandsänderung  sichtbar machen.

HCS

Zitat von: rsteinkuhl am 06 September 2015, 22:25:27
Reicht es, die widget_led.js in das entsprechende Pgaes-Verzeichnis zu kopieren oder muss es noch irgendwo bekannt gemacht werden ?
Zur Kontroll habe ich ein "basic.switch" angelegt, damit kann ich die Zustandsänderung  sichtbar machen.

Das js muss für jedes Widget, das nicht SV-Standard ist, eingebunden werden.
Kann man z.B. so machen (in Deiner visu.js im Page-Verzeichnis ganz oben):
var scriptFolder = (function() {
  var result = document.currentScript.getAttribute("src", 2);
  return result.substring(0, result.lastIndexOf("/") +1);
}());

function include(script) {
  script = scriptFolder + script;
  $.ajax({
    url: script,
    dataType: "script",
    async: false,
    error: function () {
      alert("Could not load '" + script + "'");
    }
  });
}

// -----------------------------------------------------------------------------
// W I D G E T S
// -----------------------------------------------------------------------------
include("widget_chart.js");
include("widget_led.js");
include("widget_uzsu.js");
include("widget_timecounter.js");


Brauchst natürlich nur die Includes für die Widgets, die Du verwenden willst, also erst mal das LED

rsteinkuhl

Hallo,

das war der entscheidende Tip, ich habe die visu.js angepasst und jetzt funktioniert es.

Vielen Dank

dev0

#113
Das X-te Homematic RTR Widget  ;)

https://github.com/ddtlabs

Edit: fehlendes Icon Widget und Icons hinzugefügt.

dev0

Um in smartVISU 2.8(pre) einem basic.symbol einen eigenen Farbwert zu geben, gibt es die Möglichkeit dem Widget einen zusätzlichen Parameter für die Farbe mitzugeben. Bisher ist das nur für basic.symbol umgesetzt. Mein Vorschlag, dass auch für switch und dimmer umzusetzen blieb vom Autor seit Wochen leider unkommentiert. Wer diese Möglichkeit und switch/dual/dimmer mit eigenen Icons nutzen möchte, kann sich hier bedienen: github/ddtlabs

Btw: das basic.dual Widgt verhält sich wie die Version aus sv 2.7, wenn der Schalter in einem undefinierten Zustand ist, dann schickt der nächste Klick ein value_on.

oli82

Kannst du in deinem git bitte eine SV 2.8 stellen, die mit fronthem läuft?
Dann könnte ich auch deine Widgets mal probieren ;)

dev0

Zitat von: oli82 am 11 September 2015, 10:59:02
Kannst du in deinem git bitte eine SV 2.8 stellen, die mit fronthem läuft?

Die original 2.8er läuft mit fronthem, wenn du den fhem Treiber in das driver Verzeichnis kopierst. Für die Multiuser-Funktionalität müssten noch ein paar weitere Dateien aus dem 2.7er cleaninstall übernommen werden. Aber ich hoffe immer noch, dass Joerg die Tage so weit ist und ein neues cleaninstall bereitstellt.

@Joerg: wenn Du nicht absehen kannst wann du dazu kommst, könnte ich vorläufig die Ergänzungen breitstellen, die für die 2.8er notwendig sind. Was meinst du?

/Uli

baumeister

Hallo,

ich habe mir das basic_extra Widget von github heruntergeladen und in das entsprechende Verzeichnis von smatvisu abgelegt. Ich wollte hier den multistate gebrauchen, aber irgendwie komme ich mit dem notwendigen Syntax für die unterschiedlichen Zustände und Bilder nicht nicht zurecht. Kann mir hier jemand weiterhelfen.
Mein Integration sieht wie folgt aus

{{ basic_extra.multistate ('WZ_EG_Kammer_Lampe', 'WZ_EG_Kammer_Lampe.sw', 'Zustand1', 'Zustand2', 'Zustand3', 'Bild1.png', 'Bild2.png', 'Bild3.png') }}

Was passt hier nicht?

dev0

Das Multistate Widget der 2.8er (und wenn ich es recht in Erinnerung habe, dann auch das aus dem herrmannj/smsartvisu-widget Repository) erwartet ein Array als Parameter für die Werte und Bilder:  {{ basic.multistate('id', 'item', ['5', '6', '7'], ['image_0', 'image_3', 'image_2'], 'mini') }}

D.h in deinem Fall:
{{ basic_extra.multistate ('WZ_EG_Kammer_Lampe', 'WZ_EG_Kammer_Lampe.sw', ['Zustand1', 'Zustand2', 'Zustand3'], ['Bild1.png', 'Bild2.png', 'Bild3.png']) }}

baumeister

Ach, irgendwie dachte ich mir Softwareupdate schon. Danke