Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Die innere Uhr: UTC/CEST Debugging

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 2ndsky
    antwortet
    Ich hab jetzt keine Zeit im Code nach zu sehen, wo genau das definiert wird. Bei wiederkehrenden unregelmäßigen Item Änderungen, gibt man dem Scheduler nicht das Item selber, sondern eine Funktion an. Der Scheduler triggert diese Funktion zum angegebenen Zeitpunkt. In der Funktion ändert man nun das Item, berechnet gleichzeitig den nächsten Zeitpunkt und übergibt diesen wieder an den Scheduler. Daraufhin erscheinen dann die Log Meldungen, wenn eine Funktion das nächste mal getriggert wird.

    Als Besonderheit kann der Scheduler aber auch mit crontab und cycle umgehen. Man kann also den exakten Zeitpunkt angeben und den nächsten dann selber berechnen, so wie ich z.B. im UZSU Plugin, oder man nutzt crontab oder cycle für wiederkehrende Aufrufe.

    eval_trigger ist nochmal was anderes. Jedes Item hat eine Liste an Logiken und Methoden die bei Itemänderung getriggert werden sollen. Wenn du bei einem Item einen eval_trigger angibst, trägt sich das attributierte Item bei dem angegebenen Item als Methode ein, die bei Änderung getriggert werden soll. Damit kann das attributierte Item auf Änderungen des angegebenen Items reagieren. Da diese Methoden des Items öffentlich sind, kann sich aber auch jedes Plugin oder auch eine Logik etc. für Itemänderungen eintragen. Entspricht also dem Observer-Pattern.

    Einen Kommentar schreiben:


  • chriscrown
    antwortet
    Ich meine so etwas:
    Code:
    2014-06-19 15:44:48,953 DEBUG    Scheduler    env_stat next time: 2014-06-19 15:49:48+02:00 -- scheduler.py:_next_time:289
    
    oder:
    
    2014-06-19 16:09:39,924 DEBUG    Scheduler    env_loc next time: 2014-06-19 16:39:39+02:00 -- scheduler.py:_next_time:289
    
    oder:
    
    2014-06-19 16:09:36,772 DEBUG    Scheduler    eBusd next time: 2014-06-19 16:13:36+02:00 -- scheduler.py:_next_time:289
    Kann man das so verstehen, dass der Scheduler immer zu diesen Zeiten env_stat, env_loc und ebusd aufruft? Wo wird denn z.B. festgelegt, wie oft diese (fest eingebauten) Logiken aufgerufen werden? Bei den eigenen Logiken wird dann der Scheduler durch so etwas wie crontab konfiguriert!?

    Und wie funktioniert das mit eval_trigger? Ändert der Scheduler das überwachte Objekt und eval_trigger wird dann benachrichtigt (so Observer-Pattern-mäßig?), oder pollt eval_trigger die ganze Zeit auf dem überwachten Objekt (und wenn ja, wie ist das Polling-Intervall)?

    Einen Kommentar schreiben:


  • 2ndsky
    antwortet
    Zitat von chriscrown Beitrag anzeigen
    PS: Die Funktion des Schedulers in SH.py würde mich immer noch interessieren, vielleicht hat Marcus ja ein wenig Zeit das zu erläutern...
    Was interessiert dich da genau? Der scheduler macht eigentlich nichts anderes, als das du ihm sagen kannst, wann er eine bestimmte Funktion mit welchem Wert aufrufen soll. Das kann nun eine Logik sein, das Setzen eines Item Wertes oder eine eigene Funktion innerhalb eines Plugins. Der scheduler sorgt dann dafür, dass die Funktion zu der Zeit aufgerufen wird und das genügend Workerthreads vorhanden sind. Nicht mehr und nicht weniger.

    Einen Kommentar schreiben:


  • chriscrown
    antwortet
    Es funktioniert korrekt

    OK, es funktioniert korrekt!

    Der Hinweis mit der bürgerlichen Dämmerung war das entscheidene Puzzleteilchen. Für alle anderen Hilfe-Suchenden hier noch mal eine kleine Zusammenfassung:

    Die bürgerliche Dämmerung ist laut Wikipedia "Lesen im Freien möglich (Tiefenwinkel bis 6 Grad)". Da die Phase zwischen Sonnenuntergang und Ende der bürgerlichen Dämmerung in unseren Breiten kurz vor der Sonnenwende ziemlich genau 60min beträgt, bin ich immer von einer Zeitverschiebung um eine Stunde nach hinten ausgegangen, was ich auf die vermeintlich flasche Systemzeit zurückführte. Im Log kann man (wenn man es erstmal verstanden hat) allerdings erkennen, dass bei Sonnenuntergang (bei mir ungefähr 21:51) die neue Sonnenuntergangszeit des Folgetages berechnet wird. Da funktioniert der Zusammenhang zwischen Systemzeit und SH.py-Zeit also wunderbar und lässt auch ein korrekt konfiguriertes System schließen. Um 22:52 wird dann das Event day getriggert, welches mein day-item korrekt auf false setzt. Alles ist also in Ordnung.

    So habe ich das System eingestellt/getestet:

    Zeitzone auf UTC oder CEST (Europe/Berlin) einstellen, SH.py rechnet automatisch um:
    Code:
    dpkg-reconfigure tzdata
    smarthome.conf auf Zeitzone prüfen:
    Code:
    tz = 'Europe/Berlin'
    System auf eine Uhrzeit kurz vor Sonnenuntergang setzen:
    Code:
    sudo date --set="20140624 21:50"
    SH.py im Debug-Mode starten:
    Code:
    ./smarthome.py -d
    Nun beobachten, ob zum Zeitpunkt des Sonnenuntergangs der Sonnenuntergang des Folgetages berechnet wird. Alternativ kann man auch per Telnet (telnet localhost 2323) das sunset-Objet beobachten.
    Wenn man SH.py nun weiterlaufen lässt, sollte ca. 1 Std. später auch das day-Objekt umgeschaltet werden (wieder Log oder telnet zu Prüfen).

    Die vorherige Lösung mit crontab triggert zum Zeitpunkt des Sonnenuntergangs, weshalb ich die natürlich als korrekt angenommen hatte. Unter dem Gesichtspunkt der Abhängigkeit des day-Objektes von der bürgerlichen Dämmerung versteht man dann hinterher aber auch, warum mit env.location.day erst eine Stunde später getriggert wird und alles mit den Zeitzonen seine Richtigkeit hat.

    Nochmals vielen Dank für Eure Hilfe!

    PS: Die Funktion des Schedulers in SH.py würde mich immer noch interessieren, vielleicht hat Marcus ja ein wenig Zeit das zu erläutern...

    Einen Kommentar schreiben:


  • chriscrown
    antwortet
    Hallo Marcus!

    Ja, das ist nachvollziehbar und erklärt das aktuelle Verhalten des day-Objektes.
    Wie kann ich das jetzt vernünftig testen? Bisher habe ich immer die Zeit per date gesetzt, dann SH.py gestartet und dann mit Debug-Log und CLI "beobachtet" während die Uhrzeit über den Sonnenuntergang lief.

    Kann ich die Zeit auch weiterstellen während SH.py läuft, oder funktioniert das dann mit dem Scheduler nicht? Ich meine, dass ich SH.py über den Sonnenuntergang laufen lasse und dann auf kurz vor Ende der bürgerlichen Dämmerung weiterstelle. Ich hab das einfach noch nicht so ganz geschnallt wie SH.py die Systemzeit "überwacht" und die Events entsprechend triggert. Es wäre toll, wenn Du vielleicht kurz beschreiben kannst wie das intern gelöst ist.

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo,

    die Zeiten scheinen zu passen.

    Vllt liegt es an der Definition was Tag bzw. Nacht ist.

    Ich setzte Tag bzw. Nacht so:
    Code:
        # setting day and night
        day = sh.sun.rise(-6).day != sh.sun.set(-6).day
        sh.env.location.day(day)
        sh.env.location.night(not day)
    env.location.day beinhaltet auch die bürgerliche Dämmerung.

    Nachvollziehbar?

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • chriscrown
    antwortet
    Ich habe jetzt mal alle Informationen zusammen getragen. Sicher könnte ich mit dem fertigen Image vermutlich schnell ans Ziel kommen, allerdings wüsste ich auch gerne, warum ich dann an diesem Ziel bin...

    Ich konnte feststellen, dass beim Systemstart der richtige Zustand des day-items auf den Bus gesendet wird. Wird dann der Sonnenuntergang "überschritten", wird auch auf dem CLI der nächste Sonnenuntergang korrekt berechnet. Allerdings löst eval_trigger = env.location.day nicht ein Senden des aktualisierten day-items auf den Bus aus. Auch im CLI steht env.location.day nach wie vor auf dem alten Wert.

    date liefert:
    Code:
    date +%FT%T%z
    2014-06-19T15:06:18+0200
    Ich habe es auch mit UTC (also +0000) probiert, die Zeiten wurden korrekt berechnet, aber nicht getriggert.

    Das Item:
    Code:
    [day]
      type = num
      knx_dpt = 1
      knx_send = 0/2/20
      knx_reply = 0/2/20
      eval = sh.env.location.day()
      eval_trigger = env.location.day
    plugin.conf:
    Code:
    [knx]
       class_name = KNX
       class_path = plugins.knx
       host = 127.0.0.1
       port = 6720
    
    [visu]
        class_name = WebSocket
        class_path = plugins.visu
        acl = rw
    
    [cli]
        class_name = CLI
        class_path = plugins.cli
        port = 2323
        ip = 0.0.0.0
        update = true
    
    [sql]
        class_name = SQL
        class_path = plugins.sqlite
    
    [ebus]
        class_name = eBus
        class_path = plugins.ebus
        host = localhost  # ip of ebusd
        port = 8888       # port of ebusd
        cycle = 240       # cycle of each item
    Debug-Log (bis sich das System "eingeschwungen" hat):
    Code:
    2014-06-19 15:09:26,744 INFO     Main         Start SmartHome.py 1.0-35-gf62db45 -- smarthome.py:__init__:231
    2014-06-19 15:09:26,751 DEBUG    Main         Python 3.2.3 -- smarthome.py:__init__:232
    2014-06-19 15:09:26,760 INFO     Main         Init Scheduler -- scheduler.py:__init__:86
    2014-06-19 15:09:26,767 INFO     Main         Init Plugins -- smarthome.py:start:274
    2014-06-19 15:09:26,781 DEBUG    Scheduler    creating 5 workers -- scheduler.py:run:93
    2014-06-19 15:09:26,806 DEBUG    Main         Plugin: knx -- plugin.py:__init__:43
    2014-06-19 15:09:26,853 DEBUG    Main         Plugin: visu -- plugin.py:__init__:43
    2014-06-19 15:09:26,961 DEBUG    Main         Plugin: cli -- plugin.py:__init__:43
    2014-06-19 15:09:26,977 DEBUG    Main         Plugin: sql -- plugin.py:__init__:43
    2014-06-19 15:09:27,020 DEBUG    Main         SQLite 3.7.13 -- __init__.py:__init__:62
    2014-06-19 15:09:29,770 DEBUG    Main         SQLite: database integrity ok -- __init__.py:__init__:78
    2014-06-19 15:09:29,809 DEBUG    Main         SQLite pack next time: 2014-06-20 03:02:00+02:00 -- scheduler.py:_next_time:289
    2014-06-19 15:09:29,817 DEBUG    Main         Plugin: ebus -- plugin.py:__init__:43
    2014-06-19 15:09:29,834 INFO     Main         Init Items -- smarthome.py:start:280
    2014-06-19 15:09:30,467 DEBUG    Main         Item env.core.memory = 17141760.0 via SQLite None None -- item.py:set:457
    2014-06-19 15:09:30,847 DEBUG    Main         Item env.core.threads = 7.0 via SQLite None None -- item.py:set:457
    2014-06-19 15:09:31,219 DEBUG    Main         Item env.core.garbage = 0.0 via SQLite None None -- item.py:set:457
    2014-06-19 15:09:31,228 DEBUG    Main         Item env.core: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:31,329 DEBUG    Main         Item env.location: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:31,731 DEBUG    Main         Item env.system.load = 0.65000003975968 via SQLite None None -- item.py:set:457
    2014-06-19 15:09:31,756 DEBUG    Main         Item env.system: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:31,761 DEBUG    Main         Item env: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:31,781 DEBUG    Main         KNX: ebus.flow_temp reply to 0/3/200 -- __init__.py:parse_item:267
    2014-06-19 15:09:31,799 DEBUG    Main         KNX: ebus.return_temp reply to 0/3/201 -- __init__.py:parse_item:267
    2014-06-19 15:09:31,817 DEBUG    Main         KNX: ebus.out_temp reply to 0/3/202 -- __init__.py:parse_item:267
    2014-06-19 15:09:31,838 DEBUG    Main         KNX: ebus.water_temp reply to 0/3/203 -- __init__.py:parse_item:267
    2014-06-19 15:09:31,848 DEBUG    Main         Item ebus: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:31,867 DEBUG    Main         KNX: tech.light listen on 1/4/100 -- __init__.py:parse_item:235
    2014-06-19 15:09:31,873 DEBUG    Main         KNX: tech.light listen on and init with 1/4/100 -- __init__.py:parse_item:244
    2014-06-19 15:09:31,879 DEBUG    Main         Item tech: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:31,901 DEBUG    Main         KNX: laundry.light listen on 1/4/110 -- __init__.py:parse_item:235
    2014-06-19 15:09:31,906 DEBUG    Main         KNX: laundry.light listen on and init with 1/4/110 -- __init__.py:parse_item:244
    2014-06-19 15:09:31,920 DEBUG    Main         KNX: laundry.plugs listen on 2/4/110 -- __init__.py:parse_item:235
    2014-06-19 15:09:31,925 DEBUG    Main         KNX: laundry.plugs listen on and init with 2/4/110 -- __init__.py:parse_item:244
    2014-06-19 15:09:31,938 DEBUG    Main         KNX: Temperatur listen on 0/3/110 -- __init__.py:parse_item:235
    2014-06-19 15:09:31,954 DEBUG    Main         KNX: Türkontakt HWR listen on 0/1/110 -- __init__.py:parse_item:235
    2014-06-19 15:09:31,959 DEBUG    Main         KNX: Türkontakt HWR listen on and init with 0/1/110 -- __init__.py:parse_item:244
    2014-06-19 15:09:31,972 DEBUG    Main         Item laundry.motion: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:31,977 DEBUG    Main         Item laundry: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,003 DEBUG    Main         KNX: kitchen.light_ceiling.dimvalue listen on 1/5/120 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,010 DEBUG    Main         KNX: kitchen.light_ceiling listen on 1/4/120 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,015 DEBUG    Main         KNX: kitchen.light_ceiling listen on and init with 1/4/120 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,027 DEBUG    Main         Item kitchen.light_spots: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,039 DEBUG    Main         KNX: kitchen.light_cupboard listen on 1/4/123 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,044 DEBUG    Main         KNX: kitchen.light_cupboard listen on and init with 1/4/123 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,057 DEBUG    Main         Item kitchen.light_hood: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,069 DEBUG    Main         KNX: kitchen.plugs listen on 2/4/120 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,074 DEBUG    Main         KNX: kitchen.plugs listen on and init with 2/4/120 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,087 DEBUG    Main         KNX: Türkontakt Küche listen on 0/1/120 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,092 DEBUG    Main         KNX: Türkontakt Küche listen on and init with 0/1/120 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,098 DEBUG    Main         Item kitchen: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,124 DEBUG    Main         KNX: livingroom.light_table.dimvalue listen on 1/5/130 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,130 DEBUG    Main         KNX: livingroom.light_table listen on 1/4/130 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,135 DEBUG    Main         KNX: livingroom.light_table listen on and init with 1/4/130 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,155 DEBUG    Main         KNX: livingroom.light_piano.dimvalue listen on 1/5/131 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,161 DEBUG    Main         KNX: livingroom.light_piano listen on 1/4/131 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,166 DEBUG    Main         KNX: livingroom.light_piano listen on and init with 1/4/131 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,185 DEBUG    Main         KNX: livingroom.light_couch.dimvalue listen on 1/5/132 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,192 DEBUG    Main         KNX: livingroom.light_couch listen on 1/4/132 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,196 DEBUG    Main         KNX: livingroom.light_couch listen on and init with 1/4/132 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,208 DEBUG    Main         Item livingroom.light_spots: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,220 DEBUG    Main         KNX: livingroom.plugs1 listen on 2/4/130 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,225 DEBUG    Main         KNX: livingroom.plugs1 listen on and init with 2/4/130 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,239 DEBUG    Main         KNX: livingroom.plugs2 listen on 2/4/131 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,244 DEBUG    Main         KNX: livingroom.plugs2 listen on and init with 2/4/131 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,256 DEBUG    Main         KNX: Temperatur listen on 0/3/132 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,272 DEBUG    Main         KNX: Türkontakt Schiebeelement listen on 0/1/130 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,277 DEBUG    Main         KNX: Türkontakt Schiebeelement listen on and init with 0/1/130 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,291 DEBUG    Main         KNX: Türkontakt PSK listen on 0/1/132 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,295 DEBUG    Main         KNX: Türkontakt PSK listen on and init with 0/1/132 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,341 DEBUG    Main         KNX: livingroom.blinds.complete.position listen on 3/4/100 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,346 DEBUG    Main         KNX: livingroom.blinds.complete.position listen on and init with 3/4/100 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,351 DEBUG    Main         Item livingroom.blinds.complete: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,356 DEBUG    Main         Item livingroom.blinds: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,369 DEBUG    Main         KNX: livingroom.scene_cooking listen on 0/5/10 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,382 DEBUG    Main         KNX: livingroom.scene_dinner listen on 0/5/10 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,394 DEBUG    Main         KNX: livingroom.scene_party listen on 0/5/10 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,412 DEBUG    Main         KNX: livingroom.scene_tv listen on 0/5/10 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,426 DEBUG    Main         KNX: livingroom.scene_chillout listen on 0/5/10 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,439 DEBUG    Main         KNX: livingroom.scene_standby listen on 0/5/10 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,445 DEBUG    Main         Item livingroom: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,467 DEBUG    Main         KNX: guests_bathroom.light listen on 1/4/150 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,473 DEBUG    Main         KNX: guests_bathroom.light listen on and init with 1/4/150 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,486 DEBUG    Main         Item guests_bathroom.light_mirror: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,500 DEBUG    Main         KNX: guests_bathroom.plugs listen on 2/4/150 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,506 DEBUG    Main         KNX: guests_bathroom.plugs listen on and init with 2/4/150 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,520 DEBUG    Main         KNX: Temperatur listen on 0/3/150 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,538 DEBUG    Main         KNX: Fensterkontakt EG Bad listen on 0/1/150 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,543 DEBUG    Main         KNX: Fensterkontakt EG Bad listen on and init with 0/1/150 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,551 DEBUG    Main         Item guests_bathroom: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,571 DEBUG    Main         KNX: base_corridor.light listen on 1/4/160 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,577 DEBUG    Main         KNX: base_corridor.light listen on and init with 1/4/160 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,591 DEBUG    Main         KNX: base_corridor.light_stairs listen on 1/4/53 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,597 DEBUG    Main         KNX: base_corridor.light_stairs listen on and init with 1/4/53 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,611 DEBUG    Main         KNX: base_corridor.plugs listen on 2/4/160 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,617 DEBUG    Main         KNX: base_corridor.plugs listen on and init with 2/4/160 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,631 DEBUG    Main         KNX: Temperatur listen on 0/3/160 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,649 DEBUG    Main         KNX: Türkontakt Haustür listen on 0/1/160 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,654 DEBUG    Main         KNX: Türkontakt Haustür listen on and init with 0/1/160 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,660 DEBUG    Main         Item base_corridor: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,681 DEBUG    Main         KNX: guests.light listen on 1/4/140 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,688 DEBUG    Main         KNX: guests.light listen on and init with 1/4/140 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,701 DEBUG    Main         KNX: guests.plugs listen on 2/4/140 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,707 DEBUG    Main         KNX: guests.plugs listen on and init with 2/4/140 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,722 DEBUG    Main         KNX: Temperatur listen on 0/3/140 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,740 DEBUG    Main         KNX: Türkontakt Gästezimmer listen on 0/1/140 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,746 DEBUG    Main         KNX: Türkontakt Gästezimmer listen on and init with 0/1/140 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,752 DEBUG    Main         Item guests: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,774 DEBUG    Main         KNX: dressing_room.light listen on 1/4/30 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,780 DEBUG    Main         KNX: dressing_room.light listen on and init with 1/4/30 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,795 DEBUG    Main         KNX: dressing_room.plugs listen on 2/4/1 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,801 DEBUG    Main         KNX: dressing_room.plugs listen on and init with 2/4/1 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,815 DEBUG    Main         KNX: Temperatur listen on 0/3/30 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,835 DEBUG    Main         Item dressing_room.contact: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,842 DEBUG    Main         Item dressing_room: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,863 DEBUG    Main         KNX: child2.light listen on 1/4/20 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,871 DEBUG    Main         KNX: child2.light listen on and init with 1/4/20 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,889 DEBUG    Main         KNX: child2.plugs listen on 2/4/11 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,895 DEBUG    Main         KNX: child2.plugs listen on and init with 2/4/11 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,914 DEBUG    Main         KNX: Temperatur listen on 0/3/20 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,932 DEBUG    Main         KNX: Fensterkontakt listen on 0/1/20 -- __init__.py:parse_item:235
    2014-06-19 15:09:32,938 DEBUG    Main         KNX: Fensterkontakt listen on and init with 0/1/20 -- __init__.py:parse_item:244
    2014-06-19 15:09:32,944 DEBUG    Main         Item child2: no type specified. -- item.py:__init__:242
    2014-06-19 15:09:32,959 DEBUG    Main         KNX: day reply to 0/2/20 -- __init__.py:parse_item:267
    2014-06-19 15:09:32,980 DEBUG    Main         Triggering day - by: Init source: None dest: None value: {'caller': 'Init', 'value': 0} -- scheduler.py:trigger:162
    2014-06-19 15:09:32,992 INFO     Main         Start Plugins -- plugin.py:start:65
    2014-06-19 15:09:33,013 INFO     Main         Start Logics -- logic.py:__init__:33
    2014-06-19 15:09:33,019 DEBUG    Main         Reading Logics from /usr/smarthome/lib/env/logic_conf -- logic.py:_read_logics:64
    2014-06-19 15:09:33,027 DEBUG    ebus         eBusd next time: 2014-06-19 15:09:35+02:00 -- scheduler.py:_next_time:289
    2014-06-19 15:09:33,048 DEBUG    Main         Reading Logics from /usr/smarthome/etc/logic.conf -- logic.py:_read_logics:64
    2014-06-19 15:09:33,058 DEBUG    Main         Logic: env_init -- logic.py:__init__:44
    2014-06-19 15:09:33,118 DEBUG    Main         Logic: env_stat -- logic.py:__init__:44
    2014-06-19 15:09:33,142 DEBUG    Main         env_stat next time: 2014-06-19 15:09:48+02:00 -- scheduler.py:_next_time:289
    2014-06-19 15:09:33,148 DEBUG    Main         Logic: env_loc -- logic.py:__init__:44
    2014-06-19 15:09:33,520 DEBUG    Connections  KNX: connected to 127.0.0.1:6720 -- connection.py:connect:386
    2014-06-19 15:09:33,527 DEBUG    Connections  KNX: enable group monitor -- __init__.py:handle_connect:117
    2014-06-19 15:09:33,532 DEBUG    Connections  KNX: init read -- __init__.py:handle_connect:123
    2014-06-19 15:09:33,563 DEBUG    Connections  WebSocket: binding to 0.0.0.0:2424 (TCP) -- connection.py:connect:161
    2014-06-19 15:09:33,571 DEBUG    Connections  CLI: binding to 0.0.0.0:2323 (TCP) -- connection.py:connect:161
    2014-06-19 15:09:33,584 INFO     Connections  Connected to localhost:8888 -- __init__.py:connect:113
    2014-06-19 15:09:34,188 DEBUG    Main         KNX: 0.0.0 read 1/4/100 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,199 DEBUG    Main         KNX: 0.0.0 read 1/4/110 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,210 DEBUG    Main         KNX: 0.0.0 read 2/4/110 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,229 DEBUG    Main         KNX: 0.0.0 read 0/1/110 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,235 DEBUG    Main         KNX: 0.0.0 read 1/4/120 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,251 DEBUG    Main         KNX: 0.0.0 read 1/4/123 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,259 DEBUG    Main         KNX: 0.0.0 read 2/4/120 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,269 DEBUG    Main         KNX: 0.0.0 read 0/1/120 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,289 DEBUG    Main         KNX: 0.0.0 read 1/4/130 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,296 DEBUG    Main         KNX: 0.0.0 read 1/4/131 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,310 DEBUG    Main         KNX: 0.0.0 read 1/4/132 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,320 DEBUG    Main         KNX: 0.0.0 read 2/4/130 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,339 DEBUG    Main         KNX: 0.0.0 read 2/4/131 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,346 DEBUG    Main         KNX: 0.0.0 read 0/1/130 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,353 DEBUG    Main         KNX: 0.0.0 read 0/1/132 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,367 DEBUG    Main         KNX: 0.0.0 read 3/4/100 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,379 DEBUG    Main         KNX: 0.0.0 read 1/4/150 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,396 DEBUG    Main         KNX: 0.0.0 read 2/4/150 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,411 DEBUG    Main         knx: 1.1.10 set 1/4/100 to False -- __init__.py:parse_telegram:190
    2014-06-19 15:09:34,424 DEBUG    Main         KNX: 0.0.0 read 0/1/150 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,445 DEBUG    Main         KNX: 0.0.0 read 1/4/160 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,454 DEBUG    Main         KNX: 0.0.0 read 1/4/53 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,470 DEBUG    Main         KNX: 0.0.0 read 2/4/160 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,485 DEBUG    Main         KNX: 0.0.0 read 0/1/160 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,498 DEBUG    Main         KNX: 0.0.0 read 1/4/140 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,515 DEBUG    Main         KNX: 0.0.0 read 2/4/140 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,523 DEBUG    Main         KNX: 0.0.0 read 0/1/140 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,537 DEBUG    Main         knx: 1.1.13 set 2/4/110 to True -- __init__.py:parse_telegram:190
    2014-06-19 15:09:34,551 DEBUG    Main         Item laundry.plugs = True via KNX [URL="http://snom:2342@192.168.1.52/command.htm?number=111324110"]1.1.13 2/4/110[/URL] -- item.py:__update:363
    2014-06-19 15:09:34,565 DEBUG    Main         KNX: 0.0.0 read 1/4/30 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,571 DEBUG    Main         KNX: 0.0.0 read 2/4/1 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,577 DEBUG    Main         KNX: 0.0.0 read 1/4/20 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,586 DEBUG    Main         KNX: 0.0.0 read 2/4/11 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,593 DEBUG    Main         knx: 1.1.11 set 1/4/110 to False -- __init__.py:parse_telegram:190
    2014-06-19 15:09:34,600 DEBUG    Main         KNX: 0.0.0 read 0/1/20 -- __init__.py:parse_telegram:203
    2014-06-19 15:09:34,611 DEBUG    Main         knx: 1.1.31 set 0/1/110 to False -- __init__.py:parse_telegram:190
    2014-06-19 15:09:34,618 DEBUG    Main         knx: 1.1.13 set 1/4/123 to False -- __init__.py:parse_telegram:190
    2014-06-19 15:09:34,629 DEBUG    Main         knx: 1.1.21 set 1/4/130 to False -- __init__.py:parse_telegram:190
    2014-06-19 15:09:34,636 DEBUG    Main         knx: 1.1.31 set 0/1/132 to False -- __init__.py:parse_telegram:190
    2014-06-19 15:09:34,643 DEBUG    Main         knx: 1.1.14 set 2/4/150 to False -- __init__.py:parse_telegram:190
    2014-06-19 15:09:34,650 DEBUG    Main         knx: 1.1.21 set 1/4/131 to False -- __init__.py:parse_telegram:190
    2014-06-19 15:09:34,659 DEBUG    Main         knx: 1.1.31 set 0/1/20 to False -- __init__.py:parse_telegram:190
    2014-06-19 15:09:34,666 DEBUG    Main         knx: 1.1.11 set 1/4/160 to True -- __init__.py:parse_telegram:190
    2014-06-19 15:09:34,674 DEBUG    Main         Item base_corridor.light = True via KNX [URL="http://snom:2342@192.168.1.52/command.htm?number=111114160"]1.1.11 1/4/160[/URL] -- item.py:__update:363
    2014-06-19 15:09:35,943 DEBUG    Scheduler    eBusd next time: 2014-06-19 15:13:35+02:00 -- scheduler.py:_next_time:289
    2014-06-19 15:09:36,440 DEBUG    eBusd        REQUEST: get ac temp_basic temp_vl -- __init__.py:request:79
    2014-06-19 15:09:36,822 DEBUG    eBusd        ANSWER: [URL="http://snom:2342@192.168.1.52/command.htm?number=31000000"]31.000000[/URL] -- __init__.py:request:87
    2014-06-19 15:09:36,830 DEBUG    eBusd        Item ebus.flow_temp = 31.0 via eBus refresh None -- item.py:__update:363
    2014-06-19 15:09:36,856 DEBUG    Main         knx: 0.0.0 set 0/3/200 to 0e0e -- __init__.py:parse_telegram:181
    2014-06-19 15:09:37,854 DEBUG    eBusd        REQUEST: get ac temp_basic temp_rl -- __init__.py:request:79
    2014-06-19 15:09:38,009 DEBUG    eBusd        ANSWER:  [URL="http://snom:2342@192.168.1.52/command.htm?number=30000000"]30.000000[/URL] -- __init__.py:request:87
    2014-06-19 15:09:38,018 DEBUG    eBusd        Item ebus.return_temp = 30.0 via eBus refresh None -- item.py:__update:363
    2014-06-19 15:09:38,033 DEBUG    Main         knx: 0.0.0 set 0/3/201 to 0ddc -- __init__.py:parse_telegram:181
    2014-06-19 15:09:38,575 DEBUG    env_init     Item env.core.version = 1.0-35-gf62db45 via Logic None None -- item.py:__update:363
    2014-06-19 15:09:38,579 DEBUG    env_loc      Item env.location.sunrise = 2014-06-20 04:51:22.166312+02:00 via Logic None None -- item.py:__update:363
    2014-06-19 15:09:38,577 DEBUG    sh.gc        Garbage collector: collected 0 objects. -- smarthome.py:_garbage_collection:498
    2014-06-19 15:09:38,607 DEBUG    env_init     Item env.core.start = 2014-06-19 15:09:38.592732+02:00 via Logic None None -- item.py:__update:363
    2014-06-19 15:09:38,649 DEBUG    env_init     Item env.system.name = smarthome.local via Logic None None -- item.py:__update:363
    2014-06-19 15:09:38,669 DEBUG    env_loc      Item env.location.sunset = 2014-06-19 21:51:[URL="http://snom:2342@192.168.1.52/command.htm?number=49318892"]49.318892[/URL]+02:00 via Logic None None -- item.py:__update:363
    2014-06-19 15:09:38,711 DEBUG    env_init     Item env.system.start = 2014-06-18 13:36:[URL="http://snom:2342@192.168.1.52/command.htm?number=55705006"]55.705006[/URL]+02:00 via Logic None None -- item.py:__update:363
    2014-06-19 15:09:38,800 DEBUG    env_loc      Item env.location.moonrise = 2014-06-20 01:15:[URL="http://snom:2342@192.168.1.52/command.htm?number=43141463"]43.141463[/URL]+02:00 via Logic None None -- item.py:__update:363
    2014-06-19 15:09:38,908 DEBUG    env_loc      Item env.location.moonset = 2014-06-20 14:19:[URL="http://snom:2342@192.168.1.52/command.htm?number=41787820"]41.787820[/URL]+02:00 via Logic None None -- item.py:__update:363
    2014-06-19 15:09:38,964 DEBUG    env_loc      Item env.location.moonphase = 6 via Logic None None -- item.py:__update:363
    2014-06-19 15:09:38,993 DEBUG    sh.gc        Object references: 8658 -- smarthome.py:_maintenance:490
    2014-06-19 15:09:39,040 DEBUG    env_loc      Item env.location.day = True via Logic None None -- item.py:__update:363
    2014-06-19 15:09:39,054 DEBUG    env_loc      Triggering day - by: Logic source: None dest: None value: {'source': 'env.location.day', 'value':  -- scheduler.py:trigger:162
    2014-06-19 15:09:39,045 DEBUG    eBusd        REQUEST: get ac temp_basic temp_au -- __init__.py:request:79
    2014-06-19 15:09:39,085 DEBUG    day          Item day = 1 via Eval env.location.day None -- item.py:__update:363
    2014-06-19 15:09:39,124 DEBUG    Main         knx: 0.0.0 set 0/2/20 to 01 -- __init__.py:parse_telegram:181
    2014-06-19 15:09:39,191 DEBUG    Scheduler    env_loc next time: 2014-06-19 15:39:39+02:00 -- scheduler.py:_next_time:289
    2014-06-19 15:09:39,207 DEBUG    eBusd        ANSWER:  18.437500 -- __init__.py:request:87
    2014-06-19 15:09:39,215 DEBUG    eBusd        Item ebus.out_temp = 18.4375 via eBus refresh None -- item.py:__update:363
    2014-06-19 15:09:39,243 DEBUG    Scheduler    sh.gc next time: 2014-06-20 02:04:00+02:00 -- scheduler.py:_next_time:289
    2014-06-19 15:09:39,254 DEBUG    Main         knx: 0.0.0 set 0/3/202 to 0733 -- __init__.py:parse_telegram:181
    2014-06-19 15:09:40,262 DEBUG    eBusd        REQUEST: get ac temp_basic temp_ww -- __init__.py:request:79
    2014-06-19 15:09:40,449 DEBUG    eBusd        ANSWER:  [URL="http://snom:2342@192.168.1.52/command.htm?number=51000000"]51.000000[/URL] -- __init__.py:request:87
    2014-06-19 15:09:40,462 DEBUG    eBusd        Item ebus.water_temp = 51.0 via eBus refresh None -- item.py:__update:363
    2014-06-19 15:09:40,465 DEBUG    Main         knx: 1.1.110 set 0/3/110 to 22.2 -- __init__.py:parse_telegram:190
    2014-06-19 15:09:40,484 DEBUG    Main         Item laundry.temp = 22.2 via KNX [URL="http://snom:2342@192.168.1.52/command.htm?number=1111003110"]1.1.110 0/3/110[/URL] -- item.py:__update:363
    2014-06-19 15:09:40,507 DEBUG    Main         knx: 0.0.0 set 0/3/203 to 14fb -- __init__.py:parse_telegram:181
    2014-06-19 15:09:48,407 DEBUG    env_stat     Item env.core.memory = 15400960 via Logic None None -- item.py:__update:363
    2014-06-19 15:09:48,422 DEBUG    env_stat     Item env.system.load = 0.13 via Logic None None -- item.py:__update:363
    2014-06-19 15:09:48,437 DEBUG    env_stat     Item env.location.moonlight = 53 via Logic None None -- item.py:__update:363
    2014-06-19 15:09:48,842 DEBUG    Scheduler    env_stat next time: 2014-06-19 15:14:48+02:00 -- scheduler.py:_next_time:289
    2014-06-19 15:10:30,705 DEBUG    Main         knx: 1.1.150 set 0/3/140 to 21.1 -- __init__.py:parse_telegram:190
    2014-06-19 15:10:30,716 DEBUG    Main         Item guests.temp = 21.1 via KNX [URL="http://snom:2342@192.168.1.52/command.htm?number=1115003140"]1.1.150 0/3/140[/URL] -- item.py:__update:363
    2014-06-19 15:10:38,062 DEBUG    Main         knx: 1.1.205 set 0/3/30 to 20.7 -- __init__.py:parse_telegram:190
    2014-06-19 15:10:38,069 DEBUG    Main         Item dressing_room.temp = 20.7 via KNX [URL="http://snom:2342@192.168.1.52/command.htm?number=112050330"]1.1.205 0/3/30[/URL] -- item.py:__update:363
    2014-06-19 15:10:41,063 DEBUG    Main         knx: 1.1.170 set 0/3/160 to 20.7 -- __init__.py:parse_telegram:190
    2014-06-19 15:10:41,071 DEBUG    Main         Item base_corridor.temp = 20.7 via KNX [URL="http://snom:2342@192.168.1.52/command.htm?number=1117003160"]1.1.170 0/3/160[/URL] -- item.py:__update:363
    2014-06-19 15:10:47,187 DEBUG    Main         knx: 1.1.210 set 0/3/10 to 0c24 -- __init__.py:parse_telegram:181
    Ich hoffe, das sind alle benötigten Informationen, vielen Dank für den Support!

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo,

    noch als Ergänzung das Problem hat nichts mit sunrise/sunset/crontab zu tun. Die Zeiten werden ja korrekt berechnet. Nur der Ausführungszeitpunkt ist falsch. Also die Referernzzeit von SH.py ist falsch.
    Das kann z.B. der Fall sein, wenn die Systemzeit auf Europe/Berlin steht, SH.py aber mit UTC läuft.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo,

    es wäre nur schön wenn wir die Informationen einem nicht aus der Nase ziehen müssen. Siehe: https://knx-user-forum.de/smarthome-...rbehebung.html

    Was liefert denn das Debuglog und was liefert ein
    Code:
    date +%FT%T%z
    auf der Commandozeile?

    Oder verwende das Pi-Image dort passt die Umgebung.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • 2ndsky
    antwortet
    Okay, das sollte passen. Versuchs mal mit crontab. Das sollte gehen. Die day und night Items habe ich noch nie verwendet, daher kann ich zu denen nichts sagen.

    Einen Kommentar schreiben:


  • chriscrown
    antwortet
    smarthome.conf sagt:
    Code:
    tz = 'Europe/Berlin'

    Einen Kommentar schreiben:


  • 2ndsky
    antwortet
    Deine Zeitzone hast du aber in der Konfiguration schon gesetzt, oder?

    Einen Kommentar schreiben:


  • chriscrown
    antwortet
    OK, wird heute ausprobiert! :-)
    Gibt es noch eine bessere als die von mir beschriebene Testmöglichkeit (Systemzeit ändern, Restart, warten)?

    BTW: Ich hatte mich mit der Erstellung des Items an folgendem HowTo orientiert: https://github.com/mknx/smarthome/wiki/Tag-Nacht

    Ist das für einen anderen Einsatzzweck gedacht, oder sollte man das ggf. etwas umschreiben?

    Einen Kommentar schreiben:


  • 2ndsky
    antwortet
    Zitat von chriscrown Beitrag anzeigen
    Ich möchte ein day-Item haben, dass bei Sonnenuntergang auf 0 gesetzt wird und bei Sonnenaufgang wieder auf 1. Dieses Item steuert Helligkeiten an den Schaltern usw. Es soll zu den realen Sonnenauf- und untergangszeiten ausgeführt werden. Aktuell passiert das mit einem Offset von 2 Stunden, d.h. um ca. 23:50 geht die Sonne unter und um 6:50 geht sie wieder auf...
    Na also, dann nimm crontab mit sunrise und sunset dafür!

    Einen Kommentar schreiben:


  • chriscrown
    antwortet
    Ich möchte ein day-Item haben, dass bei Sonnenuntergang auf 0 gesetzt wird und bei Sonnenaufgang wieder auf 1. Dieses Item steuert Helligkeiten an den Schaltern usw. Es soll zu den realen Sonnenauf- und untergangszeiten ausgeführt werden. Aktuell passiert das mit einem Offset von 2 Stunden, d.h. um ca. 23:50 geht die Sonne unter und um 6:50 geht sie wieder auf...

    @Stefan:
    Du hast Deine Fragestellung mit dem "Böse" Smiley markiert. Böse auf ein kostenloses Produkt? Schonmal darüber nachgedacht, wie sich das auf das Gemüt desjenigen auswirkt, der Euch seine Zeit und sein Wissen kostenlos zur Verfügung stellt? Zumal dies der zweite "Böse" Smiley in 3 Tagen ist?
    Ich achte extremst darauf höflich zu sein und werde niemals jemanden angreifen oder bloßstellen, weil er bei irgendetwas nicht Bescheid weiß, die Suchfunktion nicht bedienen kann, nicht richtig schreiben kann usw.
    Ich bin absolut dankbar für ALLES was auf dieser Plattform passiert. Ich habe teilweise sogar schon Entwickler angeschrieben und mich einfach nur für die unglaublichen, in der Freizeit erbrachten Leistungen bedankt.
    Ein böser Smiley bezieht sich bei mir auf ein persönliches Problem, dass ich auch nach 2 Stunden Rumprobieren nicht lösen konnte, sonst würde ich mich hier auch gar nicht melden. Ich ärgere mich über mein python-technisches Unvermögen und dass mir mein Informatikstudium hauptsächlich JAVA-Erfahrungen mitgegeben hat. Falls es irgendwo auch ein ungeschriebenes Gesetz gibt, dass der böse Smiley sich auf das Produkt über welches diskutiert wird bezieht, so ist mir diese Zuordnung leider nicht bekannt gewesen und ich entschuldige mich ausdrücklich für diese fehlerhafte Verwendung.
    Des weiteren konnte ich auch eine Verwendung von einem bösen Smiley in den letzten Tagen nicht nachvollziehen, meine letzte Meldung hier war am 22.4.14 wenn ich nicht irre?

    Einen Kommentar schreiben:

Lädt...
X