Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
wenn die Logik über eine Item-Änderung getriggert wurde, dann steht in trigger.value der Wert des Items.
In trigger.caller, bislang trigger.by, steht der Itempfad.
Das Item kannst Du also mit:
Code:
item = cd.return_item(trigger.caller)
In testing, von gerade eben, kommt man über attr an die Attribute. Vorher nur über .conf.
Guten morgen,
deswegen wollte ich das coding.
trigger.caller ist falsch (wie es auch vorher trigger.by war). Du musst trigger.source nehmen.
Gruß Waldemar
Aber wie kann man das beeinflussen? Im Falle der Steckdosen gebe ich das Ziel als Atribute im Item an. Kann man so ein Attribut denn auch als Ziel definieren?
den trigger kannst Du an der Stelle nicht beeinflussen, er liefert Dir ja Informationen. Den trigger erstellt ja der Sender.
Dein Coding war ja gut, ich hoffe, Du hast es inzwischen am laufen. Du musst wie gesagt aus trigger.caller nur trigger.source machen und bei den beiden attr statt runder Klammern () immer eckige [] verwenden.
ja das programm läuft nicht nur zicken jetzt die Steckdosen heute rum. Ich vermut mal das irgentwas den Funk stört da die über die Fernbedinung auch nicht mehr richtig funktionieren. ... die UDP Calls kommen jetzt beim Arduino an.
Code:
#Sender433.py
logger = logging.getLogger('')
host = "192.168.102.7" # IP of Adruino
port = 8888 # Port where the Arduino is listening
logger.debug("trigger.caller: {}".format(trigger.caller))
logger.debug("trigger.value: {}".format( trigger.value))
logger.debug("trigger.dest: {}".format( trigger.dest))
logger.debug("trigger.source: {}".format( trigger.source))
item = cd.return_item(trigger.source)
value = int(item())
adress = item.attr['adress_433'] #"11011" #attribut adress_433
channel = item.attr['channel_433'] #"00010" #attribut channel_433
data = "{0},{1},{2}".format(adress, channel, value)
cd.nw.udp( host, port, data)
logger.debug( "Sending udp to host: {0}, port: {1}, data: {2}".format(host,port,data))
Nochmal zum trigger.dest mir ist noch immer nicht klar unter welchen umständen da eine GA oder irgentwas drin steht.
Zuletzt geändert von heckmannju; 30.07.2016, 22:48.
Hi,
was gibt den die Methode cd.find_items(ATTRIBUT) zurück ist das eine Liste oder ein Dictionary? Wenn ich in meinem Beispiel ein print von dem Objekt mache kommt folgendes raus <generator object CallidomusCore.find_items at 0x80a19d620>
cd.find_items(ATTRIBUT): liefert alle Items die das angegeben ATTRIBUT besitzen.
z.B. cd.find_items('Nachtlicht')
Was mir helfen würde ist ein kleines Beispiel was man den mit dem Rückgabewert machen muss um an die Items zu kommen. Eigentlich würde ich mir das zu jeder funktion/Methode wünschen. Das ist wenn ich mir die sonstigen Pyhton Lib beschreibungen ansehe auch durchaus üblich das zu machen.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar