smartVISU Widgets

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

Vorheriges Thema - Nächstes Thema

Gorbi

Hallo,
nach mehreren Monaten versuch ich mal wieder an meiner Smartvisu Seite weiter zu basteln, stehe aber gerade komplett auf dem Schlauch :(
Bekomme es einfach nicht hin Widgets aus dem Widget-Repo zu installieren/konfigurieren.Könnte mir mal bitte jemand das allgemeine Zusammenspiel von Widget HTML Datei,*.js Datei und Visu.js erläutern.Versuche seit Stunden irgendein Widget vernünftig zum laufen zu bekommen. Ich habe z.Z MAX Thermostate über ein Standard rtr konfiguriert. Das funkt. auch soweit.Das Problem ist leider das jeder Temperaturwechsel einzeln an FHEM übertragen wird und somit irgendwann die Credits verbraucht sind. Deshalb wollte ich das Homematice Widget auf meine Max Thermostate anwenden, da dieses, wenn ich richtig gelesen habe zeit verzögert sendet.Habe die HTML und *.js ins page Verzeichnis geschoben.Auf der eigentlichen Seite (in diesem Fall Wohnzimmer)das Widget so {% import "widget_homematic.html" as homematic %} eingebunden.Das Widget wird auch richtig angezeigt allerdings kommt scheinbar der Inhalt der widget_homematic.js nicht zum tragen.Der Temperaturwechsel wird immernoch Schritt für Schritt übertragen.Es mach auch keinen Unterschied ob ich die  widget_homematic.js lösche oder den Inhalt  die Visu.js kopiere.Irgendwie verstehe ich nicht wo und wie die *.js verknüpft wird. Habe auch schon andere Widgets getestet(Textinput,Selectmenu).Auch diese werden richtig angezeigt auf der jeweiligen Seite allerdings werden die GADs scheinbar nicht nach FHEM übertragen.Für eine kleine Hilfestellung eventl. mit Beispiel wäre ich sehr dankbar

bgewehr

Ich persönlich bevorzuge den Weg des dynamischen Ladens der Scriptressourcen der Widgets in der Visu.js mit der folgenden Methode:

In Visu.js:

// ----- include widget code -----------------------------------------------------
var scriptFolder = (function() {
  //var result = document.currentScript.getAttribute("src", 2);
  return "./widgets/"
  //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("basic2.js");
include("widget_uzsu.js");


Dann lege ich immer die HTML und die JS der Widgets mit dem Widget-Namen in das Widget-Verzeichnis und lade mir die benötigten Files dynamisch nach. Klappt bei mir super!
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Gorbi

Soo einfach kann es sein :D.Homematic widget funktioniert jetzt und sendet Zeit verzögert wie gewünscht.Vielen Dank!
Jetzt bleibt nur noch das Problem mit den nicht erzeugten GADs in FHEM z.B beim Widget Selectmenu.Lässt sich irgendwie mitloggen ob sv überhaupt etwas in richtung Fhem sendet?

Gruß

herrmannj

Im next release wird auch die sv console im fhem log landen.

Geht aber auch jetzt: wenn Du verbose auf 4 oder 5 hochdrehst siehst Du die Rohdaten im log, also die json messages

vg
joerg

dev0

@Gorbi: CSS Dateien lassen sich ebenfalls mit einem Include einbinden. Muss laut selfhtml.org aber ganz am Anfang eines Stylsheets eingetragen werden:

@import "stylesheet1.css";
@import url('http://www.example.org/stylesheet2.css');


@all: apropos Selectmenu: Hat schon jemand mal ein Selectmenu entwickelt, dass die einzelnen Eintrage aus einem Reading holt? Mit js hab ich es leider nicht so...

Norbert_G

Hallo allerseits,

ich finde das Sonos-Widget absolut cool. Es funktionieren bei mir auch große Teile. Ich habe nur das Problem, dass die GADs nicht so anlegen kann, dass es bei mir funktioniert. Die GADs für die Anzeige funktionieren, allerdings scheitere ich an den GADs für die Steuerung der Geräte. Ich würde mich über einen Tipp hierzu freuen.

vg

Norbert
Cubietruck, HM über HMLAN und HMUSB, 1-wire, IPCAMs, Visualisierung über smartVISU

dev0

Die beiden Notifies hast Du angelegt?

Norbert_G

Das hab ich getan, ich sehe auch die entsprechenden readings. Wenn ich jedoch die GADs definiere bin ich mir nicht sicher, dass z.B. die Verknüpfung von mm_sonos_kueche.loudness mit  dem Devise sonos_kueche / Reading loudness / Converter onoff / und dem cmdset loudness korrekt ist.
Cubietruck, HM über HMLAN und HMUSB, 1-wire, IPCAMs, Visualisierung über smartVISU

dev0

Direct, nicht OnOff. Sollte aber auch auf Github beschrieben sein unter dem Abschnitt Fronthem Converter usage.
Für das Beispiel Loudness heißt das:
Device: Sonos_Kueche
Reading: Loudness
Converter: Direct
Cmd: Loudness

Gorbi

Zitat von: herrmannj am 27 August 2015, 12:37:22
Im next release wird auch die sv console im fhem log landen.

Geht aber auch jetzt: wenn Du verbose auf 4 oder 5 hochdrehst siehst Du die Rohdaten im log, also die json messages

vg
joerg

Danke nur da sehe ich irgendwie auch nichts von dem Gad.Müsste nicht eigentlich alles was als widget  in sv auf einer Seite eingebunden ist auch in FHEM als Gad gelistet sein, unabhängig ob es funktioniert oder nicht?Wenn ich ein 2. RTR z.B. einfüge, tauchen die Gads direkt in FHEM auf.

dev0

Du kannst in SV nur das nutzen, was in FHEM bereits angelegt ist.

dev0

Ich habe gerade die aktuelle Verison (0.82) des Sonos Widgets auf Github abgelegt.

Features:
- Steuerung der üblichen Playerfunktionen (play ,pause , stop, skip, Titelposition, ...)
- Play/Radio Listen abrufen
- Sonosplayer gruppieren (über das Widget des Masters)
- Slaveplayer kann die Gruppe verlassen (über das Widget des Slaves oder des Masters)
- Slaveplayer können den Master steuern
- Slaveplayer zeigen Infos des Masters an (Cover, Status, ...)
- Popup für Equalizer und Lautstärke der Nachbarplayer

Ich bin auch immer noch an Rückmeldungen zum Widget interessiert.

/Uli

marcus42

Sieht schon ziemlich cool aus! Nur leider habe ich kein Sonos ...

dev0

Danke für deine Antwort, auch wenn du das Widget nicht verwenden kannst.
Ich frage deshalb nach, weil zur Installation des Widgets der eine oder andere Handgriff vom Anwender bei der Installation nötig ist. Ob ich das im Readme auf Github verständlich rüberbringen konnte, kann ich selbst nicht wirklich beurteilen.

oli82

@dev0

Dein Widget setzt SmartVisu 2.8 voraus und der SmartVisu-cleaninstall basiert noch auf der 2.7 oder liege ich da falsch?