Da wäre es evtl. sinnvoll, mal mit dem Debugger durch zu steppen. Entweder eine zweite smarthome.py Instanz auf einem extra Rechner aufsetzen, damit man lokal debuggen kann oder remote debuggen (Anleitung hat mal jemand hier im Forum gepostet).
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Plugin: UZSU (Universelle Zeitschaltuhr)
Einklappen
Dieses Thema ist geschlossen.
X
X
-
Mit freundlichen Grüßen
Niko Will
Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
- Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -
-
Zwischenstand:
Zur weiteren Analyse bin ich noch nicht gekommen, aber seit meinem letzten Versuch (22.6.) wird täglich das Licht um 15:00 Uhr eingeschaltet, aber nicht wieder um 16:00 Uhr ausgeschaltet.
Wie ist denn eigentlich das erwartete Verhalten bei der Einstellung von meinem letzten Post? Ich verstehe das offensichtlich noch nicht so ganz...
Danke und Gruss
Kommentar
-
Hängt davon ab, welche du jetzt verwendest. Bei erstem würde das Licht AFAIR jeden Tag um 14:08 Uhr eingeschaltet. Bei den rrule Sachen könnte es in Zusammenhang mit Daily, Interval und Count aber ohne dtstart Probleme geben. Denn so weiß das Plugin nicht, auf welchen Startzeitpunkt sich die rrule Angaben beziehen.Mit freundlichen Grüßen
Niko Will
Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
- Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -
Kommentar
-
Hallo 2ndsky,
Vielen Dank für die Antwort,
Der erste Teil für 14:08 wurde mit dem 2. Teil überschrieben (nehme ich an). Deshalb ist der zweite Teil im Moment aktiviert. (Licht an15:00 Uhr)
Folgende Fragen tun sich auf:
((1) Den zweiten Codeausschnitt habe ich direkt von der Doku übernommen - mit anderen Zeiten. Eventuell sollte das Beispiel dort um einen dtstart-Eintrag ergänzt werden? (Falls Andere ähnliche Probleme haben)
(2)Trotzdem ist mir unklar, warum das Licht nicht um 16:00 Uhr wieder ausgeht. Gibts vielleicht eine einfache Erklärung?
(3) Kann ich irgendwie sehen, was aktiv ist? D.h.
- welcher Scheduler aktiv ist?
( Wie welches Item gesetzt ist kann ich ja (im interaktiven Mopdus) abfragen, aber ich weiss nicht, wie ich crontab-Eintrag /scheduler/oder ähnliches(?) abfragen kann).
Ich hoffe ich hab mich halbwegs verständlich ausgedrückt...
Danke schonmal
Kommentar
-
Hm, eventuell könntest du recht haben mit den dtstart Werten. Ich bin mir da derzeit nicht mehr ganz sicher. Ich habe die Beispiele direkt nach der Implementierung gepostet. Daher sind sie getestet und funktionierten. Einen Debugger für Python habe ich bisher nur auf der Arbeit und da werde ich die nächsten Wochen sicherlich keine Zeit haben, das näher an zu sehen. Ansonsten einfach mal selber einen Debugger und sh.py gesondert auf einem Ubuntu aufsetzen (z.B. in einer VM) und selber debuggen. Eine Anleitung dazu gibt es irgendwo hier im Forum.Mit freundlichen Grüßen
Niko Will
Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
- Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -
Kommentar
-
Danke Michael,
das war mir schon bekannt, aber damit bekomme ich nur den Eintrag genauso wie ich ihn zuletzt an der interaktiven Konsole eingegeben habe. Ich sehe nicht, ob "COUNT=5" schon abgearbeitet worden ist beispielsweise. Deshalb meine Frage nach der Arbeitsweise des Schedulers. Wenn ich es richtig verstanden habe benutzt ja die UZSU den Scheduler. Aber genaueres ist mir über die Arbeitsweise noch nicht klar.
Muss wohl doch noch mehr debuggen (Problem wg. Reisetätigkeit: remote debuggen ist aus dem Hotel schwierig, bekommt meine bessere Hälfte immer die Krise;-) und lesen...
Oder jemand hat den entscheidenden Tipp..
Kommentar
-
Der Scheduler hat damit nur bedingt etwas zu tun. Der ist letztlich nur das ausführende Organ. Berechnet wird die nächste Schaltzeit im Plugin in der next_time Methode. Die berechnete Schaltzeit und der entsprechende Wert wird dann dem Scheduler übergeben, der zu der angegebenen Zeit den Wert dann setzt. Daraufhin wird dann wieder über next_time die nächste Schaltzeit berechnet usw.Mit freundlichen Grüßen
Niko Will
Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
- Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -
Kommentar
-
Hallo,
habe das plugin mal bei mir installiert, leider schaltet es nicht.
Im Debug etc erscheinen keine Fehler..
Eingabe im I-Modus:
Code:>>> >>> sh.Wohnen.Decke.uzsu({'active':True, 'list':[{'value':1, 'active':True, 'rrule':'FREQ=DAILY;INTERVAL=2;COUNT=5', 'time': '21:23'}]}) >>> sh.Wohnen.Decke.uzsu() {'active': True, 'list': [{'active': True, 'rrule': 'FREQ=DAILY;INTERVAL=2;COUNT=5', 'value': 1, 'time': '21:23'}]}
Code:2014-08-05 21:21:14,544 DEBUG env_stat Item env.system.load = 0.04 via Logic None None -- item.py:__update:363 2014-08-05 21:21:14,972 DEBUG Scheduler env_stat next time: 2014-08-05 21:26:14+02:00 -- scheduler.py:_next_time:289 2014-08-05 21:21:16,993 DEBUG Scheduler dummy next time: 2014-08-05 21:26:16+02:00 -- scheduler.py:_next_time:289 2014-08-05 21:21:21,311 DEBUG Main Item Wohnen.Decke.uzsu = {'active': True, 'list': [{'active': True, 'rrule': 'FREQ=DAILY;INTERVAL=2;COUNT=5', 'value': 1, 'time': '21:23'}]} via Logic None None -- item.py:__update:363 2014-08-05 21:22:31,130 INFO Main knx: 1.1.24 set 8/0/3 to 00 -- __init__.py:parse_telegram:181 2014-08-05 21:23:35,769 INFO Main knx: 1.1.27 set 8/0/1 to 0 -- __init__.py:parse_telegram:190
Code:[Wohnen] [[Decke]] type = bool visu_acl = rw knx_dpt = 1 knx_listen = 4/0/5 knx_send = 5/0/5 knx_init = 4/0/5 [[[uzsu]]] type = dict uzsu_item = Wohnen.Decke cache = True
Danke schonmal vorab.
Gruß
Steven
Kommentar
-
In der plugin.conf ist das Plugin eingetragen? Aus dem Debug Log Auszug ist das nicht ersichtlich. Weiter wäre es möglich, dass das Item bereits '1' ist... auch das sehe ich aus dem kleinen Schnipsel nicht. Bitte gesamtes Log posten.Mit freundlichen Grüßen
Niko Will
Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
- Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -
Kommentar
-
Zitat von 2ndsky Beitrag anzeigenIn der plugin.conf ist das Plugin eingetragen? Aus dem Debug Log Auszug ist das nicht ersichtlich. Weiter wäre es möglich, dass das Item bereits '1' ist... auch das sehe ich aus dem kleinen Schnipsel nicht. Bitte gesamtes Log posten.
Plugin-Conf:
Code:[uzsu] class_name = UZSU class_path = plugins.uzsu
Code:\\xxxx\SmartHome.py\plugins\uzsu PY-DATEI: __init__ DIR: __pycache__ (wurde automatisch angelegt)
Code:2014-08-05 21:15:53,343 INFO Main Start SmartHome.py 1.0-24-g6eedf1c -- smarthome.py:__init__:231 2014-08-05 21:15:53,347 DEBUG Main Python 3.2.3 -- smarthome.py:__init__:232 2014-08-05 21:15:53,362 INFO Main Init Scheduler -- scheduler.py:__init__:86 2014-08-05 21:15:53,366 INFO Main Init Plugins -- smarthome.py:start:274 2014-08-05 21:15:53,381 DEBUG Scheduler creating 5 workers -- scheduler.py:run:93 2014-08-05 21:15:53,388 DEBUG Main Plugin: knx -- plugin.py:__init__:43 2014-08-05 21:15:53,415 DEBUG Main Plugin: visu -- plugin.py:__init__:43 2014-08-05 21:15:53,513 DEBUG Main Plugin: cli -- plugin.py:__init__:43 2014-08-05 21:15:53,524 DEBUG Main Plugin: sql -- plugin.py:__init__:43 2014-08-05 21:15:53,553 DEBUG Main SQLite 3.7.13 -- __init__.py:__init__:62 2014-08-05 21:15:59,541 DEBUG Main SQLite: database integrity ok -- __init__.py:__init__:78 2014-08-05 21:15:59,570 DEBUG Main SQLite pack next time: 2014-08-06 03:02:00+02:00 -- scheduler.py:_next_time:289 2014-08-05 21:15:59,576 DEBUG Main Plugin: uzsu -- plugin.py:__init__:43 2014-08-05 21:15:59,618 INFO Main Init UZSU -- __init__.py:__init__:36 2014-08-05 21:15:59,621 INFO Main Init Items -- smarthome.py:start:280 2014-08-05 21:16:00,518 DEBUG Main Item env.core.memory = 16804871.21130725 via SQLite None None -- item.py:set:457 2014-08-05 21:16:01,230 DEBUG Main Item env.core.threads = 8.0 via SQLite None None -- item.py:set:457 2014-08-05 21:16:01,919 DEBUG Main Item env.core.garbage = 0.0 via SQLite None None -- item.py:set:457 2014-08-05 21:16:01,925 DEBUG Main Item env.core: no type specified. -- item.py:__init__:242 2014-08-05 21:16:01,986 DEBUG Main Item env.location: no type specified. -- item.py:__init__:242 2014-08-05 21:16:02,698 DEBUG Main Item env.system.load = 0.061466903417680456 via SQLite None None -- item.py:set:457 2014-08-05 21:16:02,710 DEBUG Main Item env.system: no type specified. -- item.py:__init__:242 2014-08-05 21:16:02,713 DEBUG Main Item env: no type specified. -- item.py:__init__:242 2014-08-05 21:16:02,736 DEBUG Main Item Global.Rollo: no type specified. -- item.py:__init__:242 2014-08-05 21:16:02,739 DEBUG Main Item Global: no type specified. -- item.py:__init__:242 2014-08-05 21:16:03,528 INFO Main Start Plugins -- plugin.py:start:65 2014-08-05 21:16:03,602 INFO Main Start Logics -- logic.py:__init__:33 2014-08-05 21:16:03,617 DEBUG Main Reading Logics from /usr/smarthome/lib/env/logic_conf -- logic.py:_read_logics:64 2014-08-05 21:16:03,648 DEBUG Main Reading Logics from /usr/smarthome/etc/logic.conf -- logic.py:_read_logics:64 2014-08-05 21:16:03,666 DEBUG Main Logic: dummy -- logic.py:__init__:44 2014-08-05 21:16:03,730 DEBUG Main dummy next time: 2014-08-05 21:16:16+02:00 -- scheduler.py:_next_time:289 2014-08-05 21:16:03,733 DEBUG Main Logic: rollo_move -- logic.py:__init__:44 2014-08-05 21:16:03,779 DEBUG Main Logic: env_stat -- logic.py:__init__:44 2014-08-05 21:16:03,794 DEBUG Main env_stat next time: 2014-08-05 21:16:14+02:00 -- scheduler.py:_next_time:289 2014-08-05 21:16:03,797 DEBUG Main Logic: hello -- logic.py:__init__:44 2014-08-05 21:16:03,805 DEBUG Main Logic: env_init -- logic.py:__init__:44 2014-08-05 21:16:03,816 DEBUG Main Logic: env_loc -- logic.py:__init__:44 2014-08-05 21:16:04,123 DEBUG Connections KNX: connected to 127.0.0.1:6720 -- connection.py:connect:391 2014-08-05 21:16:04,127 DEBUG Connections KNX: enable group monitor -- __init__.py:handle_connect:117 2014-08-05 21:16:04,130 DEBUG Connections KNX: init read -- __init__.py:handle_connect:123 2014-08-05 21:16:04,151 DEBUG Connections WebSocket: binding to 0.0.0.0:2424 (TCP) -- connection.py:connect:161 2014-08-05 21:16:04,156 DEBUG Connections CLI: binding to 0.0.0.0:2323 (TCP) -- connection.py:connect:161 2014-08-05 21:16:05,074 INFO Main knx: 1.1.4 set 4/0/5 to False -- __init__.py:parse_telegram:190 2014-08-05 21:16:05,083 INFO Main knx: 1.1.4 set 4/0/3 to False -- __init__.py:parse_telegram:190 2014-08-05 21:16:05,094 INFO Main knx: 1.1.27 set 8/2/2 to 25.6 -- __init__.py:parse_telegram:190 2014-08-05 21:16:05,109 DEBUG Main Item Wohnen.Temperatur = 25.6 via KNX 1.1.27 8/2/2 -- item.py:__update:363 2014-08-05 21:16:05,152 INFO Main knx: 1.1.27 set 8/0/1 to 0 -- __init__.py:parse_telegram:190 2014-08-05 21:16:05,171 INFO Main knx: 1.1.4 set 4/0/1 to False -- __init__.py:parse_telegram:190 2014-08-05 21:16:05,206 INFO Main knx: 1.1.27 set 8/3/2 to 20.3 -- __init__.py:parse_telegram:190 2014-08-05 21:16:05,212 DEBUG Main Item Wohnen.Temperatur.set = 20.3 via KNX 1.1.27 8/3/2 -- item.py:__update:363 2014-08-05 21:16:05,270 INFO Main knx: 1.1.25 set 8/3/1 to 21.0 -- __init__.py:parse_telegram:190 2014-08-05 21:16:05,280 DEBUG Main Item EG.KUECHE.Temperatur.set = 21.0 via KNX 1.1.25 8/3/1 -- item.py:__update:363 2014-08-05 21:16:09,162 INFO hello Hallo! -- hello.py:<module>:3 2014-08-05 21:16:09,170 DEBUG env_init Item env.core.version = 1.0-24-g6eedf1c via Logic None None -- item.py:__update:363 2014-08-05 21:16:09,171 DEBUG sh.gc Garbage collector: collected 0 objects. -- smarthome.py:_garbage_collection:498 2014-08-05 21:16:09,174 DEBUG env_loc Item env.location.sunrise = 2014-08-06 05:50:06.978821+02:00 via Logic None None -- item.py:__update:363 2014-08-05 21:16:09,196 DEBUG env_init Item env.core.start = 2014-08-05 21:16:09.180861+02:00 via Logic None None -- item.py:__update:363 2014-08-05 21:16:09,235 DEBUG env_loc Item env.location.sunset = 2014-08-06 20:57:05.745370+02:00 via Logic None None -- item.py:__update:363 2014-08-05 21:16:09,258 DEBUG env_init Item env.system.name = smarthome.local via Logic None None -- item.py:__update:363 2014-08-05 21:16:09,329 DEBUG env_init Item env.system.start = 2014-01-06 21:37:24.324483+01:00 via Logic None None -- item.py:__update:363 2014-08-05 21:16:09,379 DEBUG env_loc Item env.location.moonrise = 2014-08-06 17:00:46.693868+02:00 via Logic None None -- item.py:__update:363 2014-08-05 21:16:09,448 DEBUG env_loc Item env.location.moonset = 2014-08-06 01:09:22.359498+02:00 via Logic None None -- item.py:__update:363 2014-08-05 21:16:09,500 DEBUG env_loc Item env.location.moonphase = 3 via Logic None None -- item.py:__update:363 2014-08-05 21:16:09,572 DEBUG sh.gc Object references: 9383 -- smarthome.py:_maintenance:490 2014-08-05 21:16:09,576 DEBUG env_loc Item env.location.day = True via Logic None None -- item.py:__update:363 2014-08-05 21:16:09,727 DEBUG Scheduler env_loc next time: 2014-08-05 19:45:58.553443+00:00 -- scheduler.py:_next_time:289 2014-08-05 21:16:09,752 DEBUG Scheduler sh.gc next time: 2014-08-06 02:04:00+02:00 -- scheduler.py:_next_time:289 2014-08-05 21:16:11,531 INFO Main knx: 1.1.25 set 8/0/0 to 0 -- __init__.py:parse_telegram:190 2014-08-05 21:16:14,363 DEBUG env_stat Item env.core.memory = 16781312 via Logic None None -- item.py:__update:363 2014-08-05 21:16:14,373 DEBUG env_stat Item env.system.load = 0.06 via Logic None None -- item.py:__update:363 2014-08-05 21:16:14,383 DEBUG env_stat Item env.location.moonlight = 69 via Logic None None -- item.py:__update:363 2014-08-05 21:16:14,802 DEBUG Scheduler env_stat next time: 2014-08-05 21:21:14+02:00 -- scheduler.py:_next_time:289 2014-08-05 21:16:16,823 DEBUG Scheduler dummy next time: 2014-08-05 21:21:16+02:00 -- scheduler.py:_next_time:289 2014-08-05 21:16:36,021 DEBUG Main Item Wohnen.Decke.uzsu = {'active': True, 'list': [{'active': True, 'value': 1, 'time': '21:18'}]} via Logic None None -- item.py:__update:363 2014-08-05 21:17:33,682 INFO Main knx: 1.1.20 set 8/1/1 to 00 -- __init__.py:parse_telegram:181 2014-08-05 21:18:53,873 INFO Main knx: 1.1.18 set 8/1/5 to 00 -- __init__.py:parse_telegram:181 2014-08-05 21:20:05,321 INFO Main knx: 1.1.19 set 8/1/2 to 00 -- __init__.py:parse_telegram:181 2014-08-05 21:20:06,613 INFO Main knx: 1.1.26 set 8/0/4 to 0 -- __init__.py:parse_telegram:190 2014-08-05 21:20:42,495 INFO Main knx: 1.1.23 set 8/2/4 to 26.06 -- __init__.py:parse_telegram:190 2014-08-05 21:20:42,501 DEBUG Main Item EG.DIELE.Temperatur = 26.06 via KNX 1.1.23 8/2/4 -- item.py:__update:363 2014-08-05 21:20:54,856 INFO Main knx: 1.1.17 set 8/1/0 to 00 -- __init__.py:parse_telegram:181 2014-08-05 21:21:14,532 DEBUG env_stat Item env.core.memory = 16830464 via Logic None None -- item.py:__update:363 2014-08-05 21:21:14,544 DEBUG env_stat Item env.system.load = 0.04 via Logic None None -- item.py:__update:363 2014-08-05 21:21:14,972 DEBUG Scheduler env_stat next time: 2014-08-05 21:26:14+02:00 -- scheduler.py:_next_time:289 2014-08-05 21:21:16,993 DEBUG Scheduler dummy next time: 2014-08-05 21:26:16+02:00 -- scheduler.py:_next_time:289 2014-08-05 21:21:21,311 DEBUG Main Item Wohnen.Decke.uzsu = {'active': True, 'list': [{'active': True, 'rrule': 'FREQ=DAILY;INTERVAL=2;COUNT=5', 'value': 1, 'time': '21:23'}]} via Logic None None -- item.py:__update:363 2014-08-05 21:22:31,130 INFO Main knx: 1.1.24 set 8/0/3 to 00 -- __init__.py:parse_telegram:181 2014-08-05 21:23:35,769 INFO Main knx: 1.1.27 set 8/0/1 to 0 -- __init__.py:parse_telegram:190 2014-08-05 21:24:37,218 INFO Main knx: 1.1.26 set 8/2/5 to 0cfe -- __init__.py:parse_telegram:181 2014-08-05 21:24:59,102 INFO Main knx: 1.1.22 set 8/2/3 to 0cef -- __init__.py:parse_telegram:181 2014-08-05 21:24:59,162 INFO Main knx: 1.1.22 set 8/0/2 to 00 -- __init__.py:parse_telegram:181 2014-08-05 21:25:46,573 INFO Main knx: 1.1.25 set 8/2/1 to 26.36 -- __init__.py:parse_telegram:190 2014-08-05 21:25:46,579 DEBUG Main Item EG.KUECHE.Temperatur = 26.36 via KNX 1.1.25 8/2/1 -- item.py:__update:363 2014-08-05 21:26:01,365 INFO Main knx: 1.1.25 set 8/0/0 to 0 -- __init__.py:parse_telegram:190 2014-08-05 21:26:14,230 DEBUG env_stat Item env.core.memory = 16834560 via Logic None None -- item.py:__update:363 2014-08-05 21:26:14,241 DEBUG env_stat Item env.system.load = 0.03 via Logic None None -- item.py:__update:363 2014-08-05 21:26:14,672 DEBUG Scheduler env_stat next time: 2014-08-05 21:31:14+02:00 -- scheduler.py:_next_time:289 2014-08-05 21:26:16,693 DEBUG Scheduler dummy next time: 2014-08-05 21:31:16+02:00 -- scheduler.py:_next_time:289
Kommentar
-
Zeitzone ist richtig gesetzt?Mit freundlichen Grüßen
Niko Will
Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
- Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -
Kommentar
-
Zitat von 2ndsky Beitrag anzeigenZeitzone ist richtig gesetzt?
Code:# smarthome.conf elev = 500 loglevel = debug tz = 'Europe/Berlin'
Kommentar
-
Zitat von Steven Beitrag anzeigenWäre dann die LOG-Korrekt?Mit freundlichen Grüßen
Niko Will
Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
- Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -
Kommentar
Kommentar