Bekomme Plot Widget einfach nicht zum laufen

Begonnen von fireb, 20 Oktober 2016, 16:01:37

Vorheriges Thema - Nächstes Thema

fireb

Hallo,

ich habe soeben versucht das Widget in FHEM zum Laufen zu bringen. Leider bin ich bisher erfolglos gewesen und bitte nun Euch um Hilfe!

Hochgeladen habe ich die beiden Dateien HTML & PHP in das Widget Verzeichnis. Angepasst habe ich die widget_dbplot.php auch mit meinen korrekten Zugangsdaten.
In die visu.js habe ich den Code aus dem Download hinzugefügt.

Meine Testseite sieht so aus:

{% extends "rooms.html" %}
{% import "widget_dbplot.html" as dbPlot %}
{% block content %}
{% set plotOptions =
[
    {
        'update_trigger_gad': '1TEST',
        'device': 'WZ.Thermostat',
        'reading': 'measured-temp',
        'config': {
            'name': 'Temperature',
            'type': 'spline'
        }
    }
]%}
{{ dbPlot.linePlot('HeatingPlot', 'Temperatures', '', '', 'Temperatures', '°C', plotOptions, '', '', 300) }}

{% endblock %}


In Frontfhem erscheint der GAD mit dem Namen 1TEST und diesen haben ich wie folgt eingestellt:

Mode: item
device: WZ.Thermostat
reading: measured-temp
converter: Attribute
read: (angehakt)

Leider sehe ich mit diesen Einstellungen keinen Inhalt auf meiner SmartVisu Test Seite.

Was mache ich da falsch?

lg
fireb

dev0

Was sagt die Browser-Konsole, Webserver logs, ... ?
Berechtigungen im fs kontrolliert?

fireb

Hallo Dev0,

ich habe mir soeben die Testseite mit der Browser Konsole angesehen und habe folgende 2 Fehler gefunden:


[Error] Failed to load resource: the server responded with a status of 500 (Internal Server Error) (widget_dbplot.php, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (off, line 0)


Wenn ich auf den Link zur widget_dbplot.php klicke erscheint folgende Fehlermeldung:

{"error":"[dbPlot.widget]: Missing or empty query value in POST request"}

Die Berechtigung habe ich, gleich wie bei den bereits vorhandenen Widget Dateien auf "755" gesetzt.

Liebe Grüße
fireb

dev0

Keine Ausgabe im Webserver error log?

Zitat
[Error] Failed to load resource: the server responded with a status of 404
404 deutet darauf hin, dass eine Datei(?) nicht gefinden wird. Sollte im Webserver error log ggf. besser zu sehen sein.

Zitat
converter: Attribute
Auch wenn das wohl nicht den Fehler auslöst, ist es nicht korrekt.

Wenn Du keine weiteren Hinweise findest, dann würde ich an Deiner Stelle die Anleitung von ToGe88 nochmal Schritt für Schritt durchgehen.

fireb

In der Error.log von Apache erscheinen nach dem aufrufen vom Testraum in SmartVisu folgende Einträge


Fri Oct 21 14:26:23.836589 2016] [:error] [pid 101116] [client 10.1.1.15:64055] PHP Notice:  Undefined variable: dbType in /var/www/html/smartvisu/widgets/widget_dbplot.php on line 78, referer: http://10.1.1.13/smartvisu/index.php?page=room_schlafzimmer
[Fri Oct 21 14:26:23.836618 2016] [:error] [pid 101116] [client 10.1.1.15:64055] PHP Notice:  Undefined variable: dbType in /var/www/html/smartvisu/widgets/widget_dbplot.php on line 80, referer: http://10.1.1.13/smartvisu/index.php?page=room_schlafzimmer
[Fri Oct 21 14:26:23.836635 2016] [:error] [pid 101116] [client 10.1.1.15:64055] PHP Notice:  Undefined variable: db in /var/www/html/smartvisu/widgets/widget_dbplot.php on line 93, referer: http://10.1.1.13/smartvisu/index.php?page=room_schlafzimmer
[Fri Oct 21 14:26:23.836742 2016] [:error] [pid 101116] [client 10.1.1.15:64055] PHP Fatal error:  Call to a member function setAttribute() on null in /var/www/html/smartvisu/widgets/widget_dbplot.php on line 143, referer: http://10.1.1.13/smartvisu/index.php?page=room_schlafzimmer



Ich habe in der Widget_dbplot.php die SQLLite Einträge herausgelöscht und nur die MySql Konfiguration stehen lassen.


/* * ****************************************
* *****************CONFIG*******************
* **************************************** */
// Edit the dbConnect to match your DB Log settings of fhem
// For SQLite define the path to your db in your filesystem
// DB Type, use 'sqlite' or 'mysql'

// MySQL
$host = 'localhost';
$mysql_username = 'fhemuser';
$mysql_password = '12341234';
$database = 'fhem';
$port = 3306;



raman

#5
Lass die Einträge drin. Nur bei $dbType muss 'mysql' angegeben werden,
wenn du MySql nutzt. Den Eintrag hast du gelöscht!


/* * ****************************************
* *****************CONFIG*******************
* **************************************** */

// Edit the dbConnect to match your DB Log settings of fhem
// For SQLite define the path to your db in your filesystem
// DB Type, use 'sqlite' or 'mysql'
$dbType = 'mysql';

// SQLite
$dbPath = '/opt/fhem/fhem.db';

// MySQL
$host = 'localhost';
$mysql_username = 'fhemuser';
$mysql_password = '12341234';
$database = 'fhem';
$port = 3306;

fireb

ok, danke für die Info!

Hab die Einträge jetzt wieder hinzugefügt und den $dbType auf 'mysql' umgeschrieben.
Leider funktioniert die Anzeige des Plots aber weiterhin nicht  :(

Jetzt erhalte ich in dem Apache Log folgende Fehler:


[Fri Oct 21 16:12:59.239957 2016] [:error] [pid 105670] [client 10.1.1.30:49902] PHP Fatal error:  Uncaught exception 'PDOException' with message 'could not find driver'
in /var/www/html/smartvisu/widgets/widget_dbplot.php:82\nStack
trace:\n#0 /var/www/html/smartvisu/widgets/widget_dbplot.php(82): PDO->__construct('mysql:host=loca...', 'fhemuser', '12341234')\n#1 {main}\n 
thrown in /var/www/html/smartvisu/widgets/widget_dbplot.php on line 82, referer:
http://10.1.1.13/smartvisu/index.php?page=room_schlafzimmer

raman

Ich weiß nicht auf was für einem System dein FHEM läuft.
Aber hast du alle nötigen Pakete für mySQL installiert?

dev0


fireb

FHEM läuft bei mir auf Debian 8 (Jessie) welches unter VMware läuft.

Bisher hat eigentlich alles was ich versucht habe umzusetzen einwandfrei funktioniert.

Apache läuft bei mir mit folgenden Modulen:

Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
mime_module (shared)
mpm_prefork_module (shared)
negotiation_module (shared)
php5_module (shared)
setenvif_module (shared)
status_module (shared)


DBLog hatte ich zuvor laut dieser Anleitung installiert: https://haus-automatisierung.com/hardware/fhem/2016/05/20/fhem-tutorial-reihe-part-7-mysql-server-fuer-logging-nutzen.html

Hierbei habe ich für MySql, wie in der Anleitung beschrieben, folgende Pakete installiert:
mysql-server, mysql-client, libdbi-perl, libclass-dbi-mysql-perl



raman


fireb

Danke, Danke, Danke!!  :) :)

Das war's! Jetzt funktioniert's  :)

Liebe Grüße
fireb

KOAL

DANKE auch von mir.
HAB es geschaft :)

Musste aber von nginx auf apache umsteigen, der andere konnte die plots nie darstellen.
Jetzt geht es zwar super cool  8) , nur in firefox zeigt er keine Bilder mehr an, im Chrome schon. KOMISCH?!  :-\
..gibts da eine Lösung? >Wenn nicht egal, dann nehm ich halt immer Chrome


LG
KOAL  :D
1X DEBAIN 11 ESXI VM, Openvpn-Server, FHEM, DHCP, HM-LAN W, USB-Enocean, Smartvisu V3.X
1X UBUNU 20.X LTS ESXI VM, AUTO-SERVER, Openvpn-Backup Server
1X UBUNU 20.X LTS ESXI VM, MAILSERVER, CLOUD
1X Lockerstor 4, NAS + APC CS650
1X WIN-10 ESXI VM, BLUEIRIS CAM Server

KOAL

1X DEBAIN 11 ESXI VM, Openvpn-Server, FHEM, DHCP, HM-LAN W, USB-Enocean, Smartvisu V3.X
1X UBUNU 20.X LTS ESXI VM, AUTO-SERVER, Openvpn-Backup Server
1X UBUNU 20.X LTS ESXI VM, MAILSERVER, CLOUD
1X Lockerstor 4, NAS + APC CS650
1X WIN-10 ESXI VM, BLUEIRIS CAM Server