Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Design, ähnlich Homeserver
Einklappen
X
-
Neues Design, ähnlich Homeserver
So siehts dann übrigens auf dem iPhone aus:
https://www.dropbox.com/s/7atrz5xqni...%2053%2029.png
https://www.dropbox.com/s/zlx0ktf1bi...%2053%2003.png
https://www.dropbox.com/s/29frxfa1tt...%2053%2037.png
https://www.dropbox.com/s/9811av3nyl...%2053%2043.png
Im letzten Bild sieht man noch nen kleinen Bug (ist mir auch eben erst aufgefallen), der Header überlagert den Dialog...
Einen Kommentar schreiben:
-
Neues Design, ähnlich Homeserver
Und hier mal eine Screenshot mit verbauter jQM Datebox:
https://www.dropbox.com/s/50itfgbwf6...%2033%2043.png
Allerdings noch nicht in Github, weil man dazu noch jQM Datebox braucht.
@Apollo
Deine Date Implementierung in der lib/base.php hat noch einen Bug beim Monat ausgeben (Januar == 0). Hier mal ein Diff für den Bugfix (hab gleich noch das Umwandeln von einstelligen nach zweistelligen Werten etwas vereinfacht):
P.S.: Ich glaub ich brauch langsam mal n SVN ZugangCode:Index: ../../lib/base/base.php =================================================================== --- ../../lib/base/base.php (Revision 388) +++ ../../lib/base/base.php (Arbeitskopie) @@ -79,14 +79,14 @@ if (!ret) ret = '<?php echo trans('format', 'date'); ?>'; - ret = ret.replace('d', (this.getDate().toString().length == 1 ? '0' : '') + this.getDate()); - ret = ret.replace('m', (this.getMonth().toString().length == 1 ? '0' : '') + this.getMonth()); + ret = ret.replace('d', ('0' + this.getDate()).slice(-2)); + ret = ret.replace('m', ('0' + (this.getMonth()+1)).slice(-2)); ret = ret.replace('y', this.getFullYear().toString().substr(2,2)); ret = ret.replace('Y', this.getFullYear()); ret = ret.replace('H', this.getHours()); - ret = ret.replace('i', (this.getMinutes().toString().length == 1 ? '0' : '') + this.getMinutes()); - ret = ret.replace('s', (this.getSeconds().toString().length == 1 ? '0' : '') + this.getSeconds()); + ret = ret.replace('i', ('0' + this.getMinutes()).slice(-2)); + ret = ret.replace('s', ('0' + this.getSeconds()).slice(-2)); return ret; }; @@ -110,7 +110,7 @@ */ Date.prototype.transLong = function() { return this.transDate('<?php echo trans('format', 'long'); ?>'); - }; + }; /**
Einen Kommentar schreiben:
-
Neues Design, ähnlich Homeserver
Hallo Kollegen,
was man alles macht, wenn man Urlaub hat
Mich hat es schon immer gestört, dass ich zur Abfrage meiner PV-Anlage auf die SolarLog Seite muss. Bereits für das SolarLog Plugin für sh.py habe ich das Datenformat ausführlicher studiert. Die Daten werden als JavaScript Definitionen zur Webseite übertragen und direkt genutzt. Bevor ich nun für die kompletten Daten zuerst den Umweg über sh.py mache, hole ich sie mir doch lieber direkt vom SolarLog. Javascript Dateien in Javascript verarbeiten macht ohnehin mehr Spass
Doch einfacher gesagt als getan. Denn die JS Dateien vom SolarLog definieren direkt die Variablen mit var variablenname =...
Binde ich also die entsprechenden JS Dateien einfach ein, habe ich lauter globale Variablen. Daher lade ich die JS Dateien (siehe solarlog.js in Git) mit einem ajax Request nach. Würde ich sie als JS Dateien nachladen, würden sie von jQuery direkt mit eval ausgeführt und ich hätte wieder alle Variablen global. Um das zu verhindern, muss man sie als Textdateien nachladen. Anders als JS Dateien gilt für Textfiles die Same Origin Policy der Browser. Ich kann die also nicht einfach nachladen (wäre ja auch zu einfach). Tja, aber wir haben ja ein PHP Backend, also schnell nen Proxy geschrieben (proxy.php in Git) um die Daten vom SolarLog zu laden. Hat man das ganze nun als Textdatei endlich gezogen, kann man über ein kleines Hilfskonstrukt das ganze so mit eval laden, dass die Variablen eben nicht global, sondern nur lokal gelten *heureka*
Dann noch ein wenig strings in dates und anschließend in UTC dates umwandeln, etwas parsing hier und etwas Logik dort und schon hat man die gleichen Möglichkeiten wie auf der SolarLog Webseite selber, nur viel schöner und alles auf einer Seite. Wie beim SolarLog auch, kann man auf die entsprechenden Balken der Diagramme klicken (bzw. erst nach dem zweiten Klick) und die zugehörigen Details werden geladen. Klickt man also im Jahresdiagramm auf einen Monat, wird das Monatsdiagramm und das Tagesdiagramm entsprechend neugeladen und in der Liste die Werte für den Monat und den Tag aktualisiert.
Habe ich heute schon erwähnt, dass ich es liebe SW Entwickler zu sein?
Und hier noch ein paar Screenshots dazu:
https://www.dropbox.com/s/falryhsk9b...%2022%2059.png
https://www.dropbox.com/s/o3vryjgrgc...%2023%2005.png
Nun fehlt nur noch ein Datepicker, um auch andere Jahre zu wählen. Diesen werde ich dann beim Klick auf das Datum in der Liste als Popup anzeigen (das wird dann auch evtl. als Widget zur Verfügung stehen, um Datumswerte ans Backend zu schicken).
Einen Kommentar schreiben:
-
Neues Design, ähnlich Homeserver
Bei mir ist das glaub knx_dpt = 5
EDIT: hab nachgesehen... es ist DPT 9
Einen Kommentar schreiben:
-
Neues Design, ähnlich Homeserver
Danke für die schnellen Antworten.
Ich benutze für die Daten eine Quadra, die bis 1,5 m/s windstill ausgibt (einen Wert von 360). Alle Werte bis 359 werden als Himmelsrichtungen umgesetzt (funktioniert), ausser den 360er. Liege ich hier falsch oder habe ich das GA nicht richtig definiert:
[[Windrichtung]]
type = num
visu = yes
knx_dpt = 7
knx_listen = 6/1/4
Gruß Enrico
Einen Kommentar schreiben:
-
Neues Design, ähnlich Homeserver
3,60 wird als Windstill interpretiert... Nord ist glaub 0,0 bis 0,12 und 3,49 bis 3,59. Beachte, es sind Dezimalzahlen... bei 360 kommt ganz sicher invalid mapping.
Einen Kommentar schreiben:
-
Moin Enrico,
AFAIK müsste bei Wind aus Norden eine 0 statt einer 360 auf den BUS gesendet werden. Evtl. kann die SV daher nur 0-365 verarbeiten.
Gruß, Sebastian
Einen Kommentar schreiben:
-
Hallo Niko,
super Arbeit, schaut richtig schnieke auf dem IPad aus. Ich habe die icons-svg angepasst - bei Windrichtung 360 (Nord) kommt jedoch invalid mapping anstatt windstill . Habe ich etwas übersehen?
Gruß Enrico
Einen Kommentar schreiben:
-
Schaut gut aus! Jetzt fehlen nur noch ein paar dynamische Symbole (Temperatur...)
Einen Kommentar schreiben:
-
Hallo Niko
Das ging aber schnell, sieht sehr gut aus. Mach aber auch mal ein bischen Urlaub.
Grüße Stromie
Einen Kommentar schreiben:
-
Neues Design, ähnlich Homeserver
Jup ist 1Wire... die Quadra hat allerdings nen Offset von zwei oder drei Grad eingestellt. Damit ist sie bei hohen Temperaturen gleich dem 1Wire, weicht dafür bei niedrigen ab. Da mir die Temperatur auf dem Dach sch... egal ist, muss der Wert für die Beschattung passen und das tut er mit dem Offset. Bei niedrigen Temperaturen brauch ich keine Beschattung.
Einen Kommentar schreiben:
-
Sieht super aus
Ne Frage nebenbei, ist der Wert Nordwand 1Wire ?? Weicht nämlich kaum ab von der Quadra. Würde ja beweisen das die doch sehr genau misst.
Einen Kommentar schreiben:
-
Neues Design, ähnlich Homeserver
Sodele... die Wetterstation ist nun umgesetzt. Es gibt jetzt Kacheln mit doppelter größe und ein Text Mapping Widget. Letzteres ist hauptsächlich für das Mapping der Windrichtung, die Windstärke könnte man damit aber ebenso mappen. Außerdem werden die zwei neuen SVGs von Apollo für die Windstärke und -richtung verwendet. Und nun drei Screenshots:
https://www.dropbox.com/s/vx33wqub93...%2016%2024.png
https://www.dropbox.com/s/8z06rvi7ac...%2016%2018.png
https://www.dropbox.com/s/jonu0r1dq1...%2016%2049.png
Dadurch habe ich jetzt erstmal mein "Urlaubssoll" erfüllt. Da mir nichts besseres einfällt, werde ich wohl als nächstes die UZSU angehen... aber das wird sicher noch ne Weile dauern. Dafür gibt es dann auch die dynamische Liste (entweder von Martin und Marcus, oder ich bau vorher was eigenes). Falls jemand abgesehen davon noch eine Idee hat, was man brauchen könnte... einfach melden.
Und jetzt viel Spass damit!
Einen Kommentar schreiben:


Einen Kommentar schreiben: