Hallo Kollegen,
ursprünglich für die smartVISU entworfen, habe ich einen Parser in JavaScript geschrieben, der einen Solarlog abfragen und die Werte dann auf der eigenen Visu anzeigen kann. Prinzipiell sollte das aber auch (vielleicht mit geringfügigen Änderungen) auch in sämtlichen anderen Webvisus laufen. Voraussetzung jQuery und jQuery mobile, außerdem in der aktuellen Version auch highcharts - kann aber leicht durch etwas anderes ersetzt werden.
Der ursprüngliche Post im Supportforum der smartVISU ist hier zu finden: https://knx-user-forum.de/333740-post98.html
Den Sourcecode findet ihr in Git (Link im oben verlinkten Thread) oder hier: http://pastebin.com/rxEdtFb7
Außerdem braucht man einen PHP Proxy auf dem selben Webserver, auf dem auch die Visu liegt:
Dieser ist notwendig, da die Daten sonst nicht vom Solarlog geladen werden können. Moderne Browser verhindern das aufgrund der Same Origin Policy.
So wird das ganze auf der eigenen Seite eingebunden:
Dabei wird beim Aufruf einer jQuery Page mit der id="pv" das ganze geladen. Auf der HTML Seite müssen dann natürlich die entsprechenden SPANs wie "pv_day", "pv_day_pac" usw. vorhanden sein (siehe Code).
Vielleicht kann es ja der ein oder andere gebrauchen. Falls es Fragen oder Probleme gibt, nur zu
Viel Spass damit!
ursprünglich für die smartVISU entworfen, habe ich einen Parser in JavaScript geschrieben, der einen Solarlog abfragen und die Werte dann auf der eigenen Visu anzeigen kann. Prinzipiell sollte das aber auch (vielleicht mit geringfügigen Änderungen) auch in sämtlichen anderen Webvisus laufen. Voraussetzung jQuery und jQuery mobile, außerdem in der aktuellen Version auch highcharts - kann aber leicht durch etwas anderes ersetzt werden.
Der ursprüngliche Post im Supportforum der smartVISU ist hier zu finden: https://knx-user-forum.de/333740-post98.html
Den Sourcecode findet ihr in Git (Link im oben verlinkten Thread) oder hier: http://pastebin.com/rxEdtFb7
Außerdem braucht man einen PHP Proxy auf dem selben Webserver, auf dem auch die Visu liegt:
Code:
<?php if (isset($_GET['contains'])) { $lines = file($_GET['url']); foreach ($lines as $line_num => $line) { if (strpos($line, $_GET['contains'])!==false) { echo $line; } } } else { echo file_get_contents($_GET['url']); } ?>
So wird das ganze auf der eigenen Seite eingebunden:
Code:
var solarlog = null; $(document).delegate("#pv", "pagebeforeshow", function() { solarlog.prepare(); }); $(document).delegate("#pv", "pagecreate", function() { solarlog = new SolarLog("http://192.168.0.2/"); }); $(document).delegate("#pv", "pageshow", function() { solarlog.render(new Date()); });
Vielleicht kann es ja der ein oder andere gebrauchen. Falls es Fragen oder Probleme gibt, nur zu

Viel Spass damit!
Kommentar