Hallo zusammen,
Ich habe mich vor kurzem mal ein bisschen mit Smarthome.py beschäftigt und mir, um ein bisschen reinzukommen, eine Logik für das An-/Ausschalten meines NAS bzw. das senden dessen Status auf den KNX-Bus gebastelt.
Ich bin dabei auf folgende Probleme gestossen (config):
#1 Auslesen Status NAS
Wenn sich der status des Servers nicht ändert, wird offensichtlich von smarthome/eibd kein neuer Status auf den Bus übertragen. Ich sehen den Wechsel immer nur auf dem KNX wenn sich der Status geändert hat.
Ist jetzt nicht das Riesen-Problem, allerdings hätte ich das anders erwartet. Kann man das irgendwo konfigurieren? Liegt das an smarthome, eibd oder etwas anderem?
Die Logik ist simpel und sieht so aus:
Sie wird so aufgerufen:
#2 Trigger für Starten/Herunterfahren
Die zweite Logik sieht so aus:
Trigger:
Das funktioniert im allgemeinen Recht gut, nur ist mir aufgefallen, dass das nicht getigert wird, wenn ich auf dem KNX-Bus die GA für AN/AUS schalte. Es wird getriggert wenn ich in SmartVisu den entsprechenden Schalter betätige (Keller.Technik.Nas.Schalten). An was kann das liegen? Visu-flags? knx_listen / knx_send?
Das "cycle = 10" habe ich nur vorübergehend eingefügt, damit sich überhaupt was tut, sollte aber eigentlich wieder raus.
items:
#3 Logging output?
Wo finde ich den output von Aufrufen der Art
wenn der Server als deamon läuft? Oder geht das gar nicht?
Vielen Dank im Voraus!
//Giase
Ich habe mich vor kurzem mal ein bisschen mit Smarthome.py beschäftigt und mir, um ein bisschen reinzukommen, eine Logik für das An-/Ausschalten meines NAS bzw. das senden dessen Status auf den KNX-Bus gebastelt.
Ich bin dabei auf folgende Probleme gestossen (config):
#1 Auslesen Status NAS
Wenn sich der status des Servers nicht ändert, wird offensichtlich von smarthome/eibd kein neuer Status auf den Bus übertragen. Ich sehen den Wechsel immer nur auf dem KNX wenn sich der Status geändert hat.
Ist jetzt nicht das Riesen-Problem, allerdings hätte ich das anders erwartet. Kann man das irgendwo konfigurieren? Liegt das an smarthome, eibd oder etwas anderem?
Die Logik ist simpel und sieht so aus:
Code:
sh.Keller.Technik.Nas.Status(sh.tools.ping('<dns_nas>'))
Code:
# /usr/local/smarthome/etc/logic.conf
[NasStatus]
filename = nas_status.py
cycle = 10
Die zweite Logik sieht so aus:
Code:
nas_status_on = sh.Keller.Technik.Nas.Status()
nas_switch_on = sh.Keller.Technik.Nas.Schalten()
if nas_switch_on and not nas_status_on:
# Switch on
# ether-wake "$par"
sh.tools.fetch_url('http://fritz.box/wakeup_nas')
elif not nas_switch_on and nas_status_on:
# Switch off
sh.tools.fetch_url('http://fritz.box/shutdown_nas')
Code:
[NasOnOff]
filename = nas_onoff.py
watch_item = Keller.Technik.Nas.Schalten # monitor for changes
cycle = 10 # just as watch_items does not work at the moment.
Das "cycle = 10" habe ich nur vorübergehend eingefügt, damit sich überhaupt was tut, sollte aber eigentlich wieder raus.
items:
Code:
[Keller]
[[Technik]]
[[[Nas]]]
[[[[Schalten]]]]
visu = yes
type = bool
visu_acl = rw
knx_dpt = 1
knx_send = 6/3/0
knx_listen = 6/3/0
[[[[Status]]]]
visu = yes
type = bool
visu_acl = rw
knx_dpt = 1
knx_send = 6/3/1
knx_listen = 6/3/1
Wo finde ich den output von Aufrufen der Art
Code:
logger.info('NasOnOff Triggered')
Vielen Dank im Voraus!
//Giase


Kommentar