smartVISU - allgemeine Fragen

Begonnen von Jojo11, 02 Februar 2015, 18:57:43

Vorheriges Thema - Nächstes Thema

Carsten

Hallo,

Smartvisu läuft soweit super! Gefällt mir sehr gut. Danke für den Aufwand!

Nur mit der eingebauten Kalenderlogik bin ich aktuell noch nicht ganz glücklich. Zum einen habe ich keine Muße in den 70 Müllterminen das "@icon" nachzutragen, zum anderen hätte ich gerne mehr als einen Kalender ( Müll/Termine/Termine ich/Termine Freundin etc ). Zur Not muss ich mich mal selbst an nem Widget versuchen, oder gibt's da schon was?

In FHEM habe ich allerdings jetzt ne ganze Reihe GADs in der Liste, die es gar nicht gibt. Ich nehme an, die kommen aus den Testpages. Wie wird man die am schnellsten los?
Und muss man die Rechte für jedes GAD und Device einzeln vergeben, oder gibts da auch schon nen schnelleren Weg?

Gruß

Carsten

marvin78

Zum Müllkalender. Dafür habe ich mir das JS im Kalender Widget vorläufig etwas umgebaut. Das ist aber wenig elegant und wenn ich mal Zeit habe, werde ich das vermutlich noch etwas besser machen. Hier als Anregung.

<script type="text/javascript">

$(document).delegate('div[data-widget="calendar.list"]', {
'init' : function (event) {
var uid = this.id;

$.getJSON('lib/calendar/service/{{ config_calendar_service }}.php?url={{ config_calendar_url|url_encode() }}&count={{ count|default(25) }}', function (data) {
var ret;
var line = '';
var icon='icons/ws/time_calendar.svg';
for (var i in data) {
var v=data[i].title;
if (/(t|T)onne/.test(v)) {
icon='icons/ws/message_garbage.svg';
}
if (/(G|g)elbe/.test(v)) {
data[i].color='#dfca17';
}
if (/(R|r)estmüll/.test(v)) {
data[i].color='#333';
}
if (/(B|b)iotonne/.test(v)) {
data[i].color='#594709';
}
if (/(P|p)apier/.test(v)) {
data[i].color='#3d56d3';
}
data[i].title = v.replace(' in VG Wissen','');
ret = '<img style="background: ' + data[i].color + ';" class="icon" src="' + icon + '" />';
ret += '<div class="color" style="background: {{ color|default('#666666') }};"></div>';
ret += '<h3>' + data[i].title + '</h3>';
ret += '<p>' + data[i].weekday + ',&nbsp;' + data[i].period + '&nbsp;</p>';

if (data[i].where) {
ret += '<span class="ui-li-count">' + data[i].where + '</span>';
}

ret = '<a href="' + (data[i].link ? data[i].link : '#') + '">' + ret + '</a>';
line += '<li data-icon="false">' + ret + '</li>';
icon='icons/ws/time_calendar.svg';
}

$('#' + uid + ' ul').html(line).trigger('prepare').listview('refresh').trigger('redraw');
})
.error(notify.json);
}
});

$('#{{ page }}').on('pagecreate', function (event, ui) {
$('#{{ uid }}').trigger('init');
});
</script>


Mehrere Calendar geht auch. Man muss sich eben eigene Widgets bauen.

Bevor du Testseiten aufrufst, solltest du den Treiber auf offline schalten. Schon vorhandene gads kannst du etwas schneller direkt in den entsprechenden Dateien im /fhem/www/fronthem Ordner löschen.

Carsten

Zitat von: marvin78 am 13 Februar 2015, 09:17:15
Zum Müllkalender. Dafür habe ich mir das JS im Kalender Widget vorläufig etwas umgebaut. Das ist aber wenig elegant und wenn ich mal Zeit habe, werde ich das vermutlich noch etwas besser machen. Hier als Anregung.

Mehrere Calendar geht auch. Man muss sich eben eigene Widgets bauen.
Danke, werde ich mir daheim mal anschauen. Bin prinzipiell noch unsicher, ob ich lieber direkt Google Calendar nutze, oder den Umweg über das Calendar-Modul nehme.

Zitat von: marvin78 am 13 Februar 2015, 09:17:15
Bevor du Testseiten aufrufst, solltest du den Treiber auf offline schalten. Schon vorhandene gads kannst du etwas schneller direkt in den entsprechenden Dateien im /fhem/www/fronthem Ordner löschen.
Danke für den Hinweis.

Pythonf

Ich wollte smartVisu nach dem Wiki installieren. http://www.fhemwiki.de/wiki/Installation_Fronthem
Allerdings hat die Installation des cleanen Image von herrmannj nach der Wiki Anleitung nicht funktioniert, bzw. Ich habe es nicht hinbekommen.
Das ganze soll auf einem Cubietruck laufen. Dazu habe ich zuerst nginx wie beschrieben installiert und die config datei mit dem Inhalt aus dem wiki überschrieben.
Die Dateien von github zu laden war kein Problem, aber die beschriebene Installationsweise hat für mich nicht funktioniert.
sudo cp -rp smartVISU /var/www/smartvisu - smartVISU wurde hier nicht gefunden, muss ich hier den Ordner angeben, der von github geladen wurde?

Weiter bin ich deshalb nicht gekommen und ich würde mich sehr freuen, wenn mir das jemand kurz erklären könnte.
Welche Vorteile bringt das clean image denn mit sich?

Beste Grüße
Fabian

Carsten

Zitat von: Pythonf am 13 Februar 2015, 13:54:58
Ich wollte smartVisu nach dem Wiki installieren. http://www.fhemwiki.de/wiki/Installation_Fronthem
Allerdings hat die Installation des cleanen Image von herrmannj nach der Wiki Anleitung nicht funktioniert, bzw. Ich habe es nicht hinbekommen.
Das ganze soll auf einem Cubietruck laufen. Dazu habe ich zuerst nginx wie beschrieben installiert und die config datei mit dem Inhalt aus dem wiki überschrieben.
Die Dateien von github zu laden war kein Problem, aber die beschriebene Installationsweise hat für mich nicht funktioniert.
sudo cp -rp smartVISU /var/www/smartvisu - smartVISU wurde hier nicht gefunden, muss ich hier den Ordner angeben, der von github geladen wurde?

Weiter bin ich deshalb nicht gekommen und ich würde mich sehr freuen, wenn mir das jemand kurz erklären könnte.
Welche Vorteile bringt das clean image denn mit sich?

Beste Grüße
Fabian

Ja, der Ordner heißt glaube ich smartvisu-cleaninstall oder -master so. Ich hab bei mir den heruntergeladenen Ordner umbenannt. Aber den Befehl ändern ( das erste smartVISU ( = Quelle ), nicht das Ziel )  sollte das Problem auch lösen.

Also
sudo cp -rp smartvisu-cleaninstall /var/www/smartvisu

dancatt

Zitat von: Carsten am 13 Februar 2015, 13:58:32
Also
sudo cp -rp smartvisu-cleaninstall /var/www/smartvisu
Richtig. Habs im wiki angepasst
Cubietruck: FHEM-Server 6.0

Homematic: HM-USB-CFG2, HM-CFG-LAN, HM-LC-SW1-FM, HM-LC-Sw1-Pl-DN-R1, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-SEC-SD, HM-PB-6-WM55

herrmannj

Zitat von: Pythonf am 13 Februar 2015, 13:54:58
Welche Vorteile bringt das clean image denn mit sich?

Beste Grüße
Fabian

Hi,

das sind die Anpassungen für die clientfähigkeit bereits drin, sv kann das von sich aus nicht. Mit dem git kannst Du also jedem Tab/mobile etc eine eigene Oberfläche geben während in der normalen sv alle device die gleiche haben.

vg
jörg

Pythonf

Ich hab jetzt ein laufendes SV, fronthem ist definiert und ein device angelegt. Ich hab jetzt einen einfachen Schalter mit onOFF eingerichet. Jetzt hab ich nur aktuell keinerlei Orientierung was ich in SV machen muss, damit ich den Schalter dort auch habe. Ich hab eine bis dato leere home.html angelegt. Es gibt ja jede Menge verschiedner "module?" codezeilen, aber ich habe noch nirgends gefunden, wie genau ich diese dort eintragen muss. Gibt es dafür eine kostenlose Anleitung oder leitet ihr euch das aus den vorgegebenen Oberflächen ab?

Beste Grüße
Fabian

Gerd.Ternes

Hallo Fabian,

am besten du benützt eine bestehende Page und "spielst" zunächst einmal ein wenig mit den devices.
Hat bei mir prima funktioniert.

Gerd

Pythonf

#99
Danke, das hat mir sehr weiter geholfen :)

Einen Lichtschalter zu integrieren hat bis jetzt funktioniert, weiter bin ich allerdings noch nicht gekommen.
Zuerst wollte ich eine basic.colordisc für ein Wifilight-Device einrichten.
Wie setzte ich das ganze mit RGBCombined um? Ich lege 3 Gads an und konfiguriere diese jeweils mit dem selben Wifilight device, nur was brauch ich im Reading (RGB?) und was im cmd set? mit jeweils RGB hat es nicht funktioniert.

Beste Grüße und vielen Dank für eure Unterstützung

Fabian

herrmannj

Wifilight (alle RGB):

für jedes GAD in (R,G,B) identisch, insgesamt 3 mal:

reading RGB (oder rgb, je nach modul)
converter GAD_R, RGB_G, GAD B
set RGB (oder rgb klein ...)

Achtung, wenn man damit spielt und Fehlversuche hat kommen die converter aus dem Tritt (die 3 müssen synchron laufen) - dann ist ein fhem Neustart notwendig.

vg
jörg

Pythonf

iwie bin ich gerade zu blöd  ???

Fabian.LED01B
device Fabian.LED01
reading rgb
converter RGBcombined
cmd set rgb


Fabian.LED01 ist das FHEM Device, .LED01B ist das Gad auf dem Blauen Kanal, rgb klein stimmt so, ist in diesem Fall ein LW12.

so funktioniert es aber leider nicht, was wahrscheinlich ganz offensichtlich ist, aber von mir übersehen wird

herrmannj

RGBCombined Fabian.LED01R, Fabian.LED01G, Fabian.LED01B

denk an einen Neustart, jetzt laufen die converter nicht mehr synchron.

vg
Jörg

redlav

Zitat von: Carsten am 13 Februar 2015, 09:25:02
Danke, werde ich mir daheim mal anschauen. Bin prinzipiell noch unsicher, ob ich lieber direkt Google Calendar nutze, oder den Umweg über das Calendar-Modul nehme.
Danke für den Hinweis.

Hallo,

ich hatte hier meine Kalenderlösung gepostet http://forum.fhem.de/index.php/topic,30909.msg246473.html#msg246473.
Diese habe ich noch einmal erweitert. Es ist jetzt möglich, mehrere Kalender anzugeben, die dann nach Datum aufsteigend zusammensortiert
werden. Es besteht dabei die Möglichkeit, für jeden Kalender eine Standardfarbe und ein Standardicon zu definieren, damit man das nicht
in jedem Termin hinterlegen muss. Diese Option besteht aber weiterhin und hat überschreibende Wirkung.

Die Definition der Kalender findet weiter in den Settings statt. Die Kalender werden wie folgt definiert:
- wie bisher nur die Url
   http://xxx:xxx@xxx.xxx.xxx.xxx/davical/caldav.php/norbert/calendar
- die Url mit Parameter Farbe und Icon
   http://xxx:xxx@xxx.xxx.xxx.xxx/davical/caldav.php/norbert/calendar(Default Farbe,Default Icon)
- die Url mit Parameter Farbe
   http://xxx:xxx@xxx.xxx.xxx.xxx/davical/caldav.php/norbert/calendar(Default Farbe)
- die Url mit Parameter Icon
   http://xxx:xxx@xxx.xxx.xxx.xxx/davical/caldav.php/norbert/calendar(,Default Icon)
- zwei Kalenderurls mit unterschiedlichen Parametern
   http://xxx:xxx@xxx.xxx.xxx.xxx/davical/caldav.php/norbert/calendar(,message_garbage);http://xxx:xxx@xxx.xxx.xxx.xxx/davical/caldav.php/norbert/Geburtstage(#ff69b4,scene_party)

Die Icons sind die Namen der png-Dateien ohne .png

Wenn keine Parameter mitgegeben werden und auch keine in den Terminen mitgegeben (siehe Screenshots im Link) werden wird das Info-Icon und eine Farbe gesetzt.

An der Definition des Kalenders ändert sich nicht. Die geänderte Ical.php im Anhang. Das ganze Funktioniert auch mit mehreren Google-Kalendern. Man muss sich nicht
mit einer eigenen Caldavinstallation rumärgern. ;)

Gruß Norbert

Carsten

Hi Norbert,

das gefällt mir ganz gut. Danke!

Hatte erst übersehen, dass man diese icalcalculator.class.php braucht.
Jetzt funktionierts soweit mit zwei Kalendern, aber der days Parameter scheint nicht richtig zu funktionieren, oder ich habe ihn nicht verstanden.

{{ calendar.list('calendarlist', 'Termine', 10, 14) }}
liefert mir nur einen Termin ( 13.02.2015 -14.02.2015 Restmüll )
{{ calendar.list('calendarlist', 'Termine', 10, 20) }}
Liefert mir 7 Termine ( 13.02, 19.02, 20.02, 27.02, 04.03, 06.03 und 13.03 )