Hallo.
Ich versuche nun seit einigen Tagen, meine Visualisierung zum Laufen zu bringen. Nachdem ich schön langsam am verzweifeln bin, möchte ich euch um Hilfe bitten.
Zunächst mal die Daten meines Systems:
Ich verwende einen Raspberry Pi 2. Darauf läuft dann SmartVisu. Die Verbindung zum BUS erfolgt mit der USB-Schnittstelle 6186 von Busch-Jäger.
Wenn ich mich über ssh auf meinem Raspi einlogge, kann ich mit dem Befehl groupswrite testweise Lichter aus- und einschalten. Die Verbindung des Raspi zum Bus scheint also zu funktionieren.
Wenn ich aber mit einem Browser die smartvisu meines Gebäudes aufrufe, in ein Zimmer navigiere und dann versuche etwas zu schalten, passiert gar nichts. Weder die Widgets ändern ihren Status, geschweige denn das Lichter angehen.
Hier mal der Inhalt der plugin.conf:
Beispielhaft ein Item:
[OG]
[[Buero]]
[[[Licht1]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/2/3
knx_send = 2/2/195
knx_cache = 12/2/3
visu = yes
[[[Licht2]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/2/4
knx_send = 2/2/196
knx_cache = 12/2/4
visu = yes
[[[Licht3]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/2/5
knx_send = 2/2/197
knx_cache = 12/2/5
visu = yes
[[[Stedo1]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/3/6
knx_send = 3/2/180
knx_cache = 12/3/6
visu = yes
[[[Stedo2]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/3/7
knx_send = 3/2/181
knx_cache = 12/3/7
visu = yes
[[[Stedo3]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/3/8
knx_send = 3/2/182
knx_cache = 12/3/8
visu = yes
[[[Stedo4]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/3/9
knx_send = 3/2/183
knx_cache = 12/3/9
visu = yes
[[[Heizung]]]
[[[Rollo]]]
[[[[Fahren]]]]
type = num
enforce_updates = yes
visu_acl = rw
knx_dpt = 1
knx_send = 4/2/180
visu = yes
[[[[Stop]]]]
type = num
visu_acl = rw
enforce_updates = yes
knx_dpt = 1
knx_send = 4/2/181
visu = yes
[[[[Position]]]]
type = num
visu_acl = rw
knx_dpt = 5
knx_listen = 4/2/182
knx_send =
knx_cache = 4/2/182
visu = yes
[[[Fenster]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_cache = 12/0/1
visu = yes
Die dazugehörige Html-Seite:
{% extends "rooms.html" %}
{% block content %}
<h1><img class="icon" src='{{ icon0 }}scene_office.png' />Büro</h1>
<div class="block">
<div class="ui-bar-c ui-li-divider ui-corner-top">Beleuchtung</div>
<div class="ui-fixed ui-body-a ui-corner-bottom">
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Licht 1', 'OG.Buero.Licht1.Schalten', icon1~'light_ceiling_light.png', icon0~'light_ceiling_light.png') }} </td>
<td align="left">Tür</td>
</tr>
</table>
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Licht 2', 'OG.Buero.Licht2.Schalten', icon1~'light_ceiling_light.png', icon0~'light_ceiling_light.png') }} </td>
<td align="left">Schreibtisch</td>
</tr>
</table>
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Licht 3', 'OG.Buero.Licht3.Schalten', icon1~'light_ceiling_light.png', icon0~'light_ceiling_light.png') }} </td>
<td align="left">Schränke</td>
</tr>
</table>
</div>
</div>
<div class="block">
<div class="ui-bar-c ui-li-divider ui-corner-top">Steckdosen</div>
<div class="ui-fixed ui-body-a ui-corner-bottom">
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Stedo 2', 'OG.Buero.Stedo2.Schalten', icon1~'it_pc.png', icon0~'it_pc.png') }} </td>
<td align="left">PC</td>
</tr>
</table>
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Stedo 1', 'OG.Buero.Stedo1.Schalten', icon1~'it_fax.png', icon0~'it_fax.png') }} </td>
<td align="left">Drucker</td>
</tr>
</table>
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Stedo 3', 'OG.Buero.Stedo3.Schalten', icon1~'message_socket.png', icon0~'message_socket.png') }} </td>
<td align="left">Fenster</td>
</tr>
</table>
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Stedo 4', 'OG.Buero.Stedo4.Schalten', icon1~'message_socket.png', icon0~'message_socket.png') }} </td>
<td align="left">Schrank</td>
</tr>
</table>
</div>
</div>
<div class="block">
<div class="ui-bar-c ui-li-divider ui-corner-top">Heizung</div>
<div class="ui-fixed ui-body-a ui-corner-bottom">
{{Widget-Code}}
</div>
</div>
<div class="block">
<div class="ui-bar-c ui-li-divider ui-corner-top">Rollo</div>
<div class="ui-fixed ui-body-a ui-corner-bottom">
{{ device.shutter ('Büro Rollo', '', 'OG.Buero.Rollo.Fahren', 'OG.Buero.Rollo.Stop', 'OG.Buero.Rollo.Position') }}
</div>
</div>
<div class="block">
<div class="ui-bar-c ui-li-divider ui-corner-top">Status Fenster</div>
<div class="ui-fixed ui-body-a ui-corner-bottom">
{{ basic.symbol('Büro Fenster', 'OG.Buero.Fenster', 'Fenster ist offen', icon1~'fts_window_2w_open_lr.png', 1) }}
{{ basic.symbol('Büro Fenster', 'OG.Buero.Fenster', 'Fenster ist geschlossen', icon0~'fts_window_2w_open_lr.png', 0) }}
</div>
</div>
<div class="block">
<div class="ui-bar-c ui-li-divider ui-corner-top">Temperaturverlauf</div>
<div class="ui-fixed ui-body-a ui-corner-bottom">
{{Widget-Code}}
</div>
</div>
{% endblock %}
Und die Config-Seite:
define('config_pages', 'smartVISU');
define('config_design', 'night');
define('config_cache', false);
define('config_animation', true);
define('config_title', 'SmartHome.Pi');
define('config_lang', 'de');
define('config_driver', 'smarthome.py');
define('config_driver_address', '192.168.1.10');
define('config_driver_port', '2424');
define('config_driver_realtime', true);
define('config_weather_service', 'wunderground.com');
define('config_weather_location', 'Germany/Bayern/***');
define('config_weather_key', '');
define('config_phone_service', 'fritz!box_v5.50');
define('config_phone_server', '192.***.***.***');
define('config_phone_user', '');
define('config_phone_pass', '');
define('config_calendar_service', 'offline');
define('config_calendar_url', 'http://www.google.com/calendar/feeds/...');
define('config_js', 'min.js');
Ich wäre euch sehr dankbar, wenn mir jemand helfen könnte. Vielen Dank.
Grüße
Thomas
Ich versuche nun seit einigen Tagen, meine Visualisierung zum Laufen zu bringen. Nachdem ich schön langsam am verzweifeln bin, möchte ich euch um Hilfe bitten.
Zunächst mal die Daten meines Systems:
Ich verwende einen Raspberry Pi 2. Darauf läuft dann SmartVisu. Die Verbindung zum BUS erfolgt mit der USB-Schnittstelle 6186 von Busch-Jäger.
Wenn ich mich über ssh auf meinem Raspi einlogge, kann ich mit dem Befehl groupswrite testweise Lichter aus- und einschalten. Die Verbindung des Raspi zum Bus scheint also zu funktionieren.
Wenn ich aber mit einem Browser die smartvisu meines Gebäudes aufrufe, in ein Zimmer navigiere und dann versuche etwas zu schalten, passiert gar nichts. Weder die Widgets ändern ihren Status, geschweige denn das Lichter angehen.
Hier mal der Inhalt der plugin.conf:
# plugin.conf
[knx]
class_name = KNX
class_path = plugins.knx
host = 192.168.1.10
port = 6720
# send_time = 600 # update date/time every 600 seconds, default none
# time_ga = 1/1/1 # default none
# date_ga = 1/1/2 # default none
[visu]
class_name = WebSocket
class_path = plugins.visu
ip='192.168.1.10'
port=2424
acl = rw
smartvisu_dir = /var/www/smartvisu
[cli]
class_name = CLI
class_path = plugins.cli
ip = 0.0.0.0
update = True
[sql]
class_name = SQL
class_path = plugins.sqlite
#[ow]
# class_name = OneWire
# class_path = plugins.onewire
# host = 127.0.0.1
# port = 4304
[knx]
class_name = KNX
class_path = plugins.knx
host = 192.168.1.10
port = 6720
# send_time = 600 # update date/time every 600 seconds, default none
# time_ga = 1/1/1 # default none
# date_ga = 1/1/2 # default none
[visu]
class_name = WebSocket
class_path = plugins.visu
ip='192.168.1.10'
port=2424
acl = rw
smartvisu_dir = /var/www/smartvisu
[cli]
class_name = CLI
class_path = plugins.cli
ip = 0.0.0.0
update = True
[sql]
class_name = SQL
class_path = plugins.sqlite
#[ow]
# class_name = OneWire
# class_path = plugins.onewire
# host = 127.0.0.1
# port = 4304
[OG]
[[Buero]]
[[[Licht1]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/2/3
knx_send = 2/2/195
knx_cache = 12/2/3
visu = yes
[[[Licht2]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/2/4
knx_send = 2/2/196
knx_cache = 12/2/4
visu = yes
[[[Licht3]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/2/5
knx_send = 2/2/197
knx_cache = 12/2/5
visu = yes
[[[Stedo1]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/3/6
knx_send = 3/2/180
knx_cache = 12/3/6
visu = yes
[[[Stedo2]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/3/7
knx_send = 3/2/181
knx_cache = 12/3/7
visu = yes
[[[Stedo3]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/3/8
knx_send = 3/2/182
knx_cache = 12/3/8
visu = yes
[[[Stedo4]]]
[[[[Schalten]]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_listen = 12/3/9
knx_send = 3/2/183
knx_cache = 12/3/9
visu = yes
[[[Heizung]]]
[[[Rollo]]]
[[[[Fahren]]]]
type = num
enforce_updates = yes
visu_acl = rw
knx_dpt = 1
knx_send = 4/2/180
visu = yes
[[[[Stop]]]]
type = num
visu_acl = rw
enforce_updates = yes
knx_dpt = 1
knx_send = 4/2/181
visu = yes
[[[[Position]]]]
type = num
visu_acl = rw
knx_dpt = 5
knx_listen = 4/2/182
knx_send =
knx_cache = 4/2/182
visu = yes
[[[Fenster]]]
type = bool
visu_acl = rw
knx_dpt = 1
knx_cache = 12/0/1
visu = yes
{% extends "rooms.html" %}
{% block content %}
<h1><img class="icon" src='{{ icon0 }}scene_office.png' />Büro</h1>
<div class="block">
<div class="ui-bar-c ui-li-divider ui-corner-top">Beleuchtung</div>
<div class="ui-fixed ui-body-a ui-corner-bottom">
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Licht 1', 'OG.Buero.Licht1.Schalten', icon1~'light_ceiling_light.png', icon0~'light_ceiling_light.png') }} </td>
<td align="left">Tür</td>
</tr>
</table>
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Licht 2', 'OG.Buero.Licht2.Schalten', icon1~'light_ceiling_light.png', icon0~'light_ceiling_light.png') }} </td>
<td align="left">Schreibtisch</td>
</tr>
</table>
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Licht 3', 'OG.Buero.Licht3.Schalten', icon1~'light_ceiling_light.png', icon0~'light_ceiling_light.png') }} </td>
<td align="left">Schränke</td>
</tr>
</table>
</div>
</div>
<div class="block">
<div class="ui-bar-c ui-li-divider ui-corner-top">Steckdosen</div>
<div class="ui-fixed ui-body-a ui-corner-bottom">
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Stedo 2', 'OG.Buero.Stedo2.Schalten', icon1~'it_pc.png', icon0~'it_pc.png') }} </td>
<td align="left">PC</td>
</tr>
</table>
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Stedo 1', 'OG.Buero.Stedo1.Schalten', icon1~'it_fax.png', icon0~'it_fax.png') }} </td>
<td align="left">Drucker</td>
</tr>
</table>
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Stedo 3', 'OG.Buero.Stedo3.Schalten', icon1~'message_socket.png', icon0~'message_socket.png') }} </td>
<td align="left">Fenster</td>
</tr>
</table>
<table width="90%">
<tr>
<td align="left" width="100px"> {{ basic.switch('Büro Stedo 4', 'OG.Buero.Stedo4.Schalten', icon1~'message_socket.png', icon0~'message_socket.png') }} </td>
<td align="left">Schrank</td>
</tr>
</table>
</div>
</div>
<div class="block">
<div class="ui-bar-c ui-li-divider ui-corner-top">Heizung</div>
<div class="ui-fixed ui-body-a ui-corner-bottom">
{{Widget-Code}}
</div>
</div>
<div class="block">
<div class="ui-bar-c ui-li-divider ui-corner-top">Rollo</div>
<div class="ui-fixed ui-body-a ui-corner-bottom">
{{ device.shutter ('Büro Rollo', '', 'OG.Buero.Rollo.Fahren', 'OG.Buero.Rollo.Stop', 'OG.Buero.Rollo.Position') }}
</div>
</div>
<div class="block">
<div class="ui-bar-c ui-li-divider ui-corner-top">Status Fenster</div>
<div class="ui-fixed ui-body-a ui-corner-bottom">
{{ basic.symbol('Büro Fenster', 'OG.Buero.Fenster', 'Fenster ist offen', icon1~'fts_window_2w_open_lr.png', 1) }}
{{ basic.symbol('Büro Fenster', 'OG.Buero.Fenster', 'Fenster ist geschlossen', icon0~'fts_window_2w_open_lr.png', 0) }}
</div>
</div>
<div class="block">
<div class="ui-bar-c ui-li-divider ui-corner-top">Temperaturverlauf</div>
<div class="ui-fixed ui-body-a ui-corner-bottom">
{{Widget-Code}}
</div>
</div>
{% endblock %}
define('config_pages', 'smartVISU');
define('config_design', 'night');
define('config_cache', false);
define('config_animation', true);
define('config_title', 'SmartHome.Pi');
define('config_lang', 'de');
define('config_driver', 'smarthome.py');
define('config_driver_address', '192.168.1.10');
define('config_driver_port', '2424');
define('config_driver_realtime', true);
define('config_weather_service', 'wunderground.com');
define('config_weather_location', 'Germany/Bayern/***');
define('config_weather_key', '');
define('config_phone_service', 'fritz!box_v5.50');
define('config_phone_server', '192.***.***.***');
define('config_phone_user', '');
define('config_phone_pass', '');
define('config_calendar_service', 'offline');
define('config_calendar_url', 'http://www.google.com/calendar/feeds/...');
define('config_js', 'min.js');
Grüße
Thomas
Kommentar