Hallo zusammen,
Ich bin gerade dabei eine logik zu schreiben um von einem Gira Taster (mit 1 byte wert senden) eine kleine Farbauswahl zu realisieren.
Auch nach langem Linux studieren und Versuchen stell ich wohl zu doof an. Entweder ich hab es so das immer den letzen befehl ausgeführt wird (dann sehe ich wie die RGBW schnell durchfadet und bei rot stehen bleibt) oder sobald ich elif einfüge dann halt ein error kommt. Hab schon die Einrückung überprüft alles leerzeichen entweder 4 oder 8 bin leider mit meinem Latein am Ende und frage hier nun mal nach was ich den für einen Fehler mache.
meine rgbw.py
die dazugehörigen items
und der eintrag in der logic.conf
hier noch die Fehlermeldung aus dem log
Ich danke schon mal im Voraus für die Hilfe.
Andy
Ich bin gerade dabei eine logik zu schreiben um von einem Gira Taster (mit 1 byte wert senden) eine kleine Farbauswahl zu realisieren.
Auch nach langem Linux studieren und Versuchen stell ich wohl zu doof an. Entweder ich hab es so das immer den letzen befehl ausgeführt wird (dann sehe ich wie die RGBW schnell durchfadet und bei rot stehen bleibt) oder sobald ich elif einfüge dann halt ein error kommt. Hab schon die Einrückung überprüft alles leerzeichen entweder 4 oder 8 bin leider mit meinem Latein am Ende und frage hier nun mal nach was ich den für einen Fehler mache.
meine rgbw.py
Code:
logger.info ('farbwertverstellen start') if sh.rgbw.farbwerttaster() > 25: sh.rgbw.farbe.r(255) sh.rgbw.farbe.g(0) sh.rgbw.farbe.b(0) sh.rgbw.farbe.w(0) logger.info ('farbwert rot') elif sh.rgbw.farbwerttaster() > 25 and sh.rgbw.farbwerttaster() < 50: sh.rgbw.farbe.r(0) sh.rgbw.farbe.g(255) sh.rgbw.farbe.b(0) sh.rgbw.farbe.w(0) logger.info ('farbwert grün') elif sh.rgbw.farbwerttaster() > 50 and sh.rgbw.farbwerttaster() < 75: sh.rgbw.farbe.r(0) sh.rgbw.farbe.g(0) sh.rgbw.farbe.b(255) sh.rgbw.farbe.w() logger.info ('farbwert blau') elif sh.rgbw.farbwerttaster() > 75 sh.rgbw.farbe.r(0) sh.rgbw.farbe.g(0) sh.rgbw.farbe.b(0) sh.rgbw.farbe.w(255) logger.info ('farbwert ww') else: logger.info ('farbwert ww') #wert von Taster abfragen und dann umstellen
Code:
[rgbw] [[farbwerttaster]] #item für farbvertellung von taster 0-65535 type = num visu_acl = rw knx_dpt = 5001 knx_listen = 1/5/15 [[schalten]] type = bool visu_acl = rw knx_dpt = 1 knx_listen = 1/5/14 knx_send = 1/5/12 knx_init = 1/5/14 [[farbe]] #RGB Item für den Aktor type = list knx_dpt = 232 [[[r]]] #Item für die Colordisk-Auswahl visu_acl = rw type = num visu = true knx_dpt = 5 knx_init = 1/5/4 knx_listen = 1/5/4 knx_send = 1/5/0 knx_cache = 1/5/4 [[[g]]] #Item für die Colordisk-Auswahl visu_acl = rw type = num visu = true knx_dpt = 5 knx_init = 1/5/5 knx_listen = 1/5/5 knx_send = 1/5/1 knx_cache = 1/5/5 [[[b]]] #Item für die Colordisk-Auswahl visu_acl = rw type = num visu = true knx_dpt = 5 knx_init = 1/5/6 knx_listen = 1/5/6 knx_send = 1/5/2 knx_cache = 1/5/6 [[[w]]] #Item für die Colordisk-Auswahl visu_acl = rw type = num visu = true knx_dpt = 5 knx_dpt = 5 knx_init = 1/5/7 knx_listen = 1/5/7 knx_send = 1/5/3 knx_cache = 1/5/7
Code:
[rgbwtaster] filename = rgbw.py watch_item = rgbw.farbwerttaster
hier noch die Fehlermeldung aus dem log
2015-11-16 16:08:17,494 DEBUG Main wunderground next time: 2015-11-16 16:08:31+01:00 -- scheduler.py:_next_time:289
2015-11-16 16:08:17,499 DEBUG Main Logic: Mail_alarm -- logic.py:__init__:44
2015-11-16 16:08:17,520 DEBUG Main Logic: env_stat -- logic.py:__init__:44
2015-11-16 16:08:17,535 DEBUG Main env_stat next time: 2015-11-16 16:08:28+01:00 -- scheduler.py:_next_time:289
2015-11-16 16:08:17,540 DEBUG Main Logic: Mail_scharf -- logic.py:__init__:44
2015-11-16 16:08:17,555 DEBUG Main Logic: inmail -- logic.py:__init__:44
2015-11-16 16:08:17,563 DEBUG Main Logic: rgbwtaster -- logic.py:__init__:44
2015-11-16 16:08:17,576 ERROR Main Exception: unexpected indent (rgbw.py, line 2) -- logic.py:generate_bytecode:121
Traceback (most recent call last):
File "/usr/smarthome/lib/logic.py", line 119, in generate_bytecode
self.bytecode = compile(code, self.filename, 'exec')
File "/usr/smarthome/logics/rgbw.py", line 2
if sh.rgbw.farbwerttaster() > 25:
^
IndentationError: unexpected indent
2015-11-16 16:08:17,579 DEBUG Connections KNX: connected to 127.0.0.1:6720 -- connection.py:connect:386
2015-11-16 16:08:17,597 DEBUG Main Logic: hello -- logic.py:__init__:44
2015-11-16 16:08:17,600 DEBUG Connections KNX: reading eibd cache -- __init__.py:handle_connect:113
2015-11-16 16:08:17,609 DEBUG Main
2015-11-16 16:08:17,499 DEBUG Main Logic: Mail_alarm -- logic.py:__init__:44
2015-11-16 16:08:17,520 DEBUG Main Logic: env_stat -- logic.py:__init__:44
2015-11-16 16:08:17,535 DEBUG Main env_stat next time: 2015-11-16 16:08:28+01:00 -- scheduler.py:_next_time:289
2015-11-16 16:08:17,540 DEBUG Main Logic: Mail_scharf -- logic.py:__init__:44
2015-11-16 16:08:17,555 DEBUG Main Logic: inmail -- logic.py:__init__:44
2015-11-16 16:08:17,563 DEBUG Main Logic: rgbwtaster -- logic.py:__init__:44
2015-11-16 16:08:17,576 ERROR Main Exception: unexpected indent (rgbw.py, line 2) -- logic.py:generate_bytecode:121
Traceback (most recent call last):
File "/usr/smarthome/lib/logic.py", line 119, in generate_bytecode
self.bytecode = compile(code, self.filename, 'exec')
File "/usr/smarthome/logics/rgbw.py", line 2
if sh.rgbw.farbwerttaster() > 25:
^
IndentationError: unexpected indent
2015-11-16 16:08:17,579 DEBUG Connections KNX: connected to 127.0.0.1:6720 -- connection.py:connect:386
2015-11-16 16:08:17,597 DEBUG Main Logic: hello -- logic.py:__init__:44
2015-11-16 16:08:17,600 DEBUG Connections KNX: reading eibd cache -- __init__.py:handle_connect:113
2015-11-16 16:08:17,609 DEBUG Main
Ich danke schon mal im Voraus für die Hilfe.
Andy
Kommentar