Uhr auf der FHEM-Seite

3,720 views
Skip to first unread message

Prof. Dr. Peter A. Henning

unread,
Feb 16, 2012, 10:27:46 AM2/16/12
to fhem-...@googlegroups.com
Da ich ein Fan von eher nüchternen Anzeigen bin, habe ich das einen kleinen Code-Schnipsel ins Wiki geschrieben, mit dem statt des "lachenden Hauses" eine sekundengenaue Uhr eingeblendet wird.

http://fhemwiki.de/wiki/Uhr_auf_FHEM-Seite

LG

pah

Andy Fuchs

unread,
Feb 16, 2012, 10:43:10 AM2/16/12
to fhem-...@googlegroups.com
Wenn ich da mal etwas blasphemisch fragen dürfte: Wozu wollte man sich auf einer Webseite die Zeit anzeigen lassen, wo diese doch ohnehin auf den ausführenden Devices an allen Ecken und Enden angezeigt wird? ;-)

Nüchtern wäre m.E. weisse Fläche auf weissem Hintergrund. :-))

Und eine Kleinigkeit: Wenn die Uhrzeit nur minutengenau angezeigt wird, dann würde es auch genügen den Timer im 60 Sekunden-Takt laufen zu lassen (und ein paar Zyklen sparen).

Grüße

Andy
PS: Die Anführungszeichen am Anfang und am Ende bei der Ausgabe sind auch unnötig...

> --
> To unsubscribe from this group, send email to
> fhem-users+...@googlegroups.com

Prof. Dr. Peter A. Henning

unread,
Feb 16, 2012, 11:36:33 AM2/16/12
to fhem-...@googlegroups.com
Offenbar hast Du zu viel Zeit.

Andy Fuchs

unread,
Feb 16, 2012, 11:52:43 AM2/16/12
to fhem-...@googlegroups.com
Falls Du mich meinst: ICH hab' mir keine Uhr ins UI gebastelt ;-)

Andy


On 16.02.2012, at 17:36, Prof. Dr. Peter A. Henning wrote:

> Offenbar hast Du zu viel Zeit.
>

puschel74

unread,
Feb 16, 2012, 12:15:06 PM2/16/12
to FHEM users
Pfft,

der eine programmiert eine Uhr für fhem der andere eine
Heizungssteuerung.
Wers nicht braucht solls nicht benutzen.
Wenn aber immer mal jemand jammert das sowas nicht gebraucht wird
programmiert bald niemand mehr.

Grüße

P.S.: Ich bin froh darüber. So gibt es schon den nächsten
Codeschnippsel den ein anderer vllt. mit dem Foto seiner Familie
füttern kann um diese dann in fhem anzeigen zu lassen.

Thomas Herrmann

unread,
Feb 16, 2012, 12:26:29 PM2/16/12
to fhem-...@googlegroups.com
On 02/16/2012 04:27 PM, Prof. Dr. Peter A. Henning wrote:
> Da ich ein Fan von eher n�chternen Anzeigen bin, habe ich das einen

> kleinen Code-Schnipsel ins Wiki geschrieben, mit dem statt des
> "lachenden Hauses" eine sekundengenaue Uhr eingeblendet wird.
>
> http://fhemwiki.de/wiki/Uhr_auf_FHEM-Seite

Kannst Du noch einen Screenshot dazumachen? Ich schaue mir soetwas gerne
kurz an, um zu entscheiden ob ich es haben will.

Viele liebe Gr��e,
Thomas

Andy Fuchs

unread,
Feb 16, 2012, 1:05:47 PM2/16/12
to fhem-...@googlegroups.com
MOMENT - ich hab' nicht gejammert, sondern einen Kommentar abgegeben... und drauf aufmerksam gemacht, dass unnötige CPU-Resourcen verschwendet werden und wie man's besser machen kann...

Erst lesen, dann schreiben bitte...

Danke

Andy

puschel74

unread,
Feb 16, 2012, 1:13:03 PM2/16/12
to FHEM users
OK

Prof. Dr. Peter A. Henning

unread,
Feb 17, 2012, 12:08:16 AM2/17/12
to fhem-...@googlegroups.com
Du bist herzlich eingeladen, in meinem Labor mal ein richtiges JavaScript-Projekt durchzuführen.

Wenn Du 5000 Codezeilen abgeliefert hast, die der Aufgabenstellung entsprechen - dann nehme ich Code-Mäkelei von Dir vielleicht an irgendwelchen Code-Schnipseln vielleicht (!) ernst.


UliM

unread,
Feb 17, 2012, 3:49:05 AM2/17/12
to FHEM users


On 16 Feb., 16:27, "Prof. Dr. Peter A. Henning" <pe...@henning-
weingarten.de> wrote:
> Code-Schnipsel ins Wiki geschrieben, mit dem statt des "lachenden Hauses"
> eine sekundengenaue Uhr eingeblendet wird.

Cool, danke! Probier ich heut abend mal aus.
Vll kann man mit nem div die Uhr ja unter's Haus setzen - ich hänge
mittlerweile an dem kleinen Freund :-)
Grüßle, Uli

Christian K.

unread,
Feb 17, 2012, 3:53:26 AM2/17/12
to fhem-...@googlegroups.com
BTW, seit dem letzen "updatefhem" wird bei mir das Logo gar nicht mehr angezeigt. :)


Joachim

unread,
Feb 17, 2012, 4:03:36 AM2/17/12
to FHEM users
Grinsehaus muss bleiben, so heisst fhem bei meiner Frau wegen des
Logos.
WAF Faktor kann entscheidend sein

Gruss
Joachim

Prof. Dr. Peter A. Henning

unread,
Feb 17, 2012, 6:28:10 AM2/17/12
to fhem-...@googlegroups.com
Überhaupt kein Problem, die Uhr kleiner zu machen und unter das Haus zu setzen. Oder das Haus kleiner zu machen und unter die Uhr zu setzen.

WAF ist für mich der Grund gewesen, das Grinsehaus herauszunehmen.

LG

pah..

Andy Fuchs

unread,
Feb 17, 2012, 7:23:52 PM2/17/12
to fhem-...@googlegroups.com
Danke - ich hab' auch so genug zu tun... Und ob Du was ernst nimmst oder nicht, ist Deine Sache.

Aber Danke für das Angebot.

Grüße

Andy


Am 17.02.2012 um 06:08 schrieb Prof. Dr. Peter A. Henning:

> Du bist herzlich eingeladen, in meinem Labor mal ein richtiges JavaScript-Projekt durchzuführen.
>
> Wenn Du 5000 Codezeilen abgeliefert hast, die der Aufgabenstellung entsprechen - dann nehme ich Code-Mäkelei von Dir vielleicht an irgendwelchen Code-Schnipseln vielleicht (!) ernst.
>
>
>

neomorph

unread,
Jul 30, 2012, 8:49:32 AM7/30/12
to fhem-...@googlegroups.com
Also ich finde die Idee mit der Uhr sehr gut!!
Leider verbeisse ich mich gerade daran, das Ding zum Leben zu erwecken.
Nach folgender Anleitung bin ich vorgegangen: http://fhemwiki.de/wiki/Uhr_auf_FHEM-Seite

So sieht der Headerquellcode meiner Datei aus:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Home, Sweet Home</title>
<link href="/fhem/css/darkstyle.css" rel="stylesheet"/>
<script type="text/javascript" src="/fhem/css/svg.js"></script>
<script type="text/javascript" src="/fhem/js/fhemweb.js"></script>
</head>

Die Dateien habe ich nach Anleitung angepasst, aber das Logo geht nicht weg und die Uhr kommt nicht.
Mich wundert momentan der Pfad zum svg.js.
Ich verwende pgm2 und die neue Ordnerstruktur.

Hat vielleicht jemand ne Idee?

Vielen Dank und schöne Grüße
neo

> fhem-users+unsubscribe@googlegroups.com

Matthias Soll

unread,
Jul 30, 2012, 9:36:07 AM7/30/12
to fhem-...@googlegroups.com
Ruhig bleiben :-)

ich finde es SEHR GUT die Uhrzeit einzublenden.
Habe es sofort umgesetzt, das Haus verschwindet bei mir auch nicht, weil es (zumindest bei Darkstyle) das Hintergrundbild ist.
Ist aber kein Problem da mir das Haus irgendwie fehlen würde hat es jetzt eine kleine Uhr am Schornstein :-)
Ein Datum wäre noch interessant.

neomorph

unread,
Jul 30, 2012, 10:58:25 AM7/30/12
to fhem-...@googlegroups.com
Hallo Matthias,

hast Du auch schon die neue Ordnerstruktur? In welchem Ordner hast Du denn die .js-Datei angepasst??

LG
neo

Matthias Soll

unread,
Jul 30, 2012, 11:57:38 AM7/30/12
to fhem-...@googlegroups.com

Hi,
ich habe (glaub ich) die neue Ordnerstruktur noch nicht.
Angepasst habe ich die Datei im fhem/FHEM Ordner.

Prof. Dr. Peter A. Henning

unread,
Jul 30, 2012, 3:04:02 PM7/30/12
to fhem-...@googlegroups.com
Die Wiki-Seite bezieht sich auf die "alte" Ordnerstruktur. Und da ich die bei mir auch so lange beibehalten werde, wie die "neue" noch instabil ist, muss man die Datei schon selber anpassen.

Dazu kann man die Pfade ganz einfach überprüfen. indem man sie an die FHEM-URL anhängt - wenn dann nicht im eigenen Browser die Datei erscheint, stimmt der Pfad eben nicht.

Professioneller Weg: Fehlerkonsole anzeigen.

Allerdings tippe ich, dass das Problem in diesem Fall sehr viel einfacher ist - die alte Seite steht noch im Browser-Cache. Also einfach einen echten Reload machen.

LG

pah

neomorph

unread,
Jul 31, 2012, 7:00:02 AM7/31/12
to fhem-...@googlegroups.com
Danke für den Tipp. Allerdings scheint irgendetwas nicht ganz zu stimmen.
Beim Aufruf des FHEM-Webinterfaces bekomme ich in der Fehlerkonsole folgende Meldung, die ich mir aber nicht ganz erklären kann:

Zeitstempel: 31.07.2012 12:56:36
Fehler: SyntaxError: syntax error
Quelldatei: http://meine-IP:8083/fhem/css/svg.js
Zeile: 1
Quelltext:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

also, der Reload war es nicht. Irgendwo hab ich da noch einen Schnitzer drin. Auch wenn ich versuche z.B. eine CSS-Datei laut "pah" im Browser aufzurufen, bekomme ich nichts  zurück.

Ich suche weiter.

lg
neo
Message has been deleted

Prof. Dr. Peter A. Henning

unread,
Jul 31, 2012, 12:31:15 PM7/31/12
to fhem-...@googlegroups.com
Hm, das stimmt schon: dieser Quelltext gehört in eine HTML-Datei, nicht in in eine Javascript-Datei. Kann es sein, dass diese DTDT beim Editieren der JS-Datei automatisch hineingeschrieben wurde ? Diese Zeile muss dort auf jeden fall raus.

LG

pah

neomorph

unread,
Jul 31, 2012, 1:13:15 PM7/31/12
to fhem-...@googlegroups.com
Hallo pah,

also ich habe die svg.js nochmals überprüft - ich hatte diese wirklich an verschiedenen Stellen zu liegen. Alle Dateien (momentan bin ich nicht sicher welche gezogen wird) sehen am Anfang so aus:

var xmlns="http://www.w3.org/2000/svg";
var old_title;
var old_sel;
var svgdoc;
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var to;

selbst wenn ich die Uhr rausnehme bekomme ich den FEhler in der Konsole angezeigt. Wo kommt denn dieser Kopf her, bzw. wer/was ruft denn die svg.js auf??

Ratlosigkeit macht sich breit..

lg
neo

Prof. Dr. Peter A. Henning

unread,
Jul 31, 2012, 3:41:29 PM7/31/12
to fhem-...@googlegroups.com
 Tatsächlich scheint irgendetwas mit den Pfaden immer noch nicht zu stimmen. Denn der Aufruf der *.js-Datei im Browser _muss_ diese anzeigen.

LG

pah

neomorph

unread,
Aug 6, 2012, 11:13:57 AM8/6/12
to fhem-...@googlegroups.com
Nachdem ich nun ein paar Tage nicht da war  habe ich mich mit neuer Energie noch einmal bemüht die Uhr darzustellen.
Neueste Erkenntnisse zeigen nun auch, dass ich über den Pfad das "svg.js" über den Browser aufrufen kann.

Der Pfad ist bei mir folgender URL zu erreichen:

http://meineip:8083/fhem/js/svg.js

und erhalte das folgende Ergebnis:

var xmlns="http://www.w3.org/2000/svg"; var old_title; var old_sel; var svgdoc; var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; // Base64 encode the xy points (12 bit x, 12 bit y). function compressPoints(pointList) { var i, x, y, lx = -1, ly, ret = ""; var pl_arr = pointList.split(/[, ]/); for(i = 0; i < pl_arr.length; i +=2) { x = parseInt(pl_arr[i]); y = parseInt(pl_arr[i+1]); if(pl_arr.length > 500 && lx != -1 && x-lx < 2) // Filter the data. continue; ret = ret+ b64.charAt((x&0xfc0)>>6)+ b64.charAt((x&0x3f))+ b64.charAt((y&0xfc0)>>6)+ b64.charAt((y&0x3f)); lx = x; ly = y; } return ret; } function uncompressPoints(cmpData) { var i = 0, ret = ""; while(i < cmpData.length) { var x = (b64.indexOf(cmpData.charAt(i++))<<6)+ b64.indexOf(cmpData.charAt(i++)); var y = (b64.indexOf(cmpData.charAt(i++))<<6)+ b64.indexOf(cmpData.charAt(i++)); ret += " "+x+","+y; } return ret; } function get_cookie() { var c = parent.document.cookie; if(c == null) return ""; var results = c.match('fhemweb=(.*?)(;|$)' ); return (results ? unescape(results[1]) : ""); } function set_cookie(value) { parent.document.cookie="fhemweb="+escape(value); } function svg_copy(evt) { var d = evt.target.ownerDocument; var cp = d.getElementById("svg_copy"); cp.firstChild.nodeValue = " "; set_cookie(old_sel.getAttribute("y_min")+":"+ old_sel.getAttribute("y_mul")+":"+ compressPoints(old_sel.getAttribute("points"))); } function svg_paste(evt) { var d = evt.target.ownerDocument; var ps = d.getElementById("svg_paste"); ps.firstChild.nodeValue = " "; var o=d.createElementNS(xmlns, "polyline"); o.setAttribute("class", "pasted"); var data = get_cookie().split(":", 3); o.setAttribute("points", uncompressPoints(data[2])); var h = parseFloat(old_sel.getAttribute("y_h")); var ny_mul = parseFloat(data[1]); var ny_min = parseInt(data[0]); var y_mul = parseFloat(old_sel.getAttribute("y_mul")); var y_min = parseInt(old_sel.getAttribute("y_min")); var tr = "translate(0,"+ (h/y_mul+y_min-h/ny_mul-ny_min)*y_mul +") "+ "scale(1, "+ (y_mul/ny_mul) +") "; o.setAttribute("transform", tr); d.documentElement.appendChild(o); } function svg_labelselect(evt) { var d = evt.target.ownerDocument; var sel = d.getElementById(evt.target.getAttribute("line_id")); var tl = d.getElementById("svg_title"); var cp = d.getElementById("svg_copy"); var ps = d.getElementById("svg_paste"); if(old_sel == sel) { sel.setAttribute("stroke-width", 1); old_sel = null; tl.firstChild.nodeValue = old_title; cp.firstChild.nodeValue = " "; ps.firstChild.nodeValue = " "; } else { if(old_sel == null) old_title = tl.firstChild.nodeValue; else old_sel.setAttribute("stroke-width", 1); sel.setAttribute("stroke-width", 3); old_sel = sel; if(sel.getAttribute("points") != null) { tl.firstChild.nodeValue = evt.target.getAttribute("title"); cp.firstChild.nodeValue = "Copy"; ps.firstChild.nodeValue = (get_cookie()==""?" ":"Paste"); } } } function svg_click(evt) { var t=evt.target; var y_mul = parseFloat(t.getAttribute("y_mul")); var y_h = parseFloat(t.getAttribute("y_h")); var y_min = parseFloat(t.getAttribute("y_min")); var y_fx = parseFloat(t.getAttribute("decimals")); var y_org = (((y_h-evt.clientY)/y_mul)+y_min).toFixed(y_fx); var x_mul = parseFloat(t.getAttribute("x_mul")); var x_off = parseFloat(t.getAttribute("x_off")); var x_min = parseFloat(t.getAttribute("x_min")); var d = new Date((((evt.clientX-x_min)/x_mul)+x_off) * 1000); var ts = (d.getHours() < 10 ? '0' : '') + d.getHours() + ":"+ (d.getMinutes() < 10 ? '0' : '') + d.getMinutes(); var tl = evt.target.ownerDocument.getElementById('svg_title'); tl.firstChild.nodeValue = t.getAttribute("title")+": "+y_org+" ("+ts+")"; } function GetClock(){ d = new Date(); nhour = d.getHours(); nmin = d.getMinutes(); if(nmin <= 9){nmin="0"+nmin} document.getElementById('logo').innerHTML=nhour+":"+nmin; setTimeout("GetClock()", 1000); } window.onload=GetClock;


hier sehe ich nun auch, dass das richtige js gezogen wird und meine Uhrenfunktion drin ist.
Wenn ich allerdings im Firebug mir die Fehler anzeigen lasse, bekomme ich immernoch den folgenden Fehler:

SyntaxError: syntax error
... PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm...
svg.js (Zeile 1)

Ich vermute(!) aufgrund dieses Fehlers wird das js gar nicht ausgeführt. Vielleicht noch einmal die Frage:

Wer oder was schreibt denn "
... PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm...
" da rein??? ..hat vielleicht noch jemand eine idee??

Viele Grüße
neo

neomorph

unread,
Aug 7, 2012, 5:11:41 AM8/7/12
to fhem-...@googlegroups.com
Ich löse auf:

In der 01_fhemweb.pm in Zeile 554 war der falsche Pfad enthalten, deshalb wurde die Uhr nicht angezeigt.

Pfadangabe vorher:     src=\"$FW_ME/css/svg.js\
Pfadangabe nachher:  src=\"$FW_ME/js/svg.js\

Jetzt hab ich auch die Uhr.

trotzdem vielen Dank für die Tipps!!

neo
Reply all
Reply to author
Forward
0 new messages