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.
Ich finde es hier aber besser da es sich nicht nur für "ausgereifte" Plugins eignet, sondern auch mal schnell die kleine Logik bedient die nicht im SVN landet - diese wird wohl eher hier erfragt.
Weiterhin sind die Codeschnipsel ja ein Forum auch für linknx, eibpc u.a.. Ich finde es da sinnvoller "fertige" Plugins zu vorszustellen und zu diskutieren.
Aber wie gesagt ich bin da vollkommen frei. Ich hab das einfach mal angefangen um es selbst irgendwo wieder zu finden .
Wie wäre es mal ein paar Plugin-Tipps zu sammeln? Also eigene workarounds für bestimmte Probleme oder kleinste Codeschnipsel die das Leben etwas angenehmer machen.
Die Idee finde ich super. Nur fragmentieren wir jetzt noch mehr. Im Code-Schnipsel Subforum ist ja auch schon eine ganze Menge. Was spricht dagen, das dort zu sammeln?
Mittelfristig sollte das alles ins Wiki....
Auch wenn man es sicherlich sehr selten braucht, kann man auch den DPT aus einer gepflegten eibga.conf auslesen. Ein knx_write könnte man demnach nur unter Wissen der Gruppenadresse und des Wertes machen.
Wer zu faul ist seine eibga.conf zu pflegen oder mal kurz was testen will braucht oft den Wert eines Telegramms um ihn im Plugin zu bearbeiten. Diesen bekommt man mit $msg{'value'} nur wenn man die GA und DPT auch sauber im WireGate eingetragen hat.
Ist der DPT bekannt kann man den Wert auch direkt im Plugin ermitteln:
Code:
my $dpt = "5.001";
$msg{'value'} = decode_dpt($msg{'dst'},$msg{'data'},$dpt); #Hier ist nun der Wert des Telegramms mit DPT 5.001 hinterlegt
Erklärung:
Wir greifen hier einfach auf eine Kernfunktion des wiregated zurück.
Mit dieser Zeile kann man unterscheiden ob ein Aufruf des Plugins zyklisch war oder durch eine Gruppenadresse ausgelöst wurde. Zyklisch bedeutet in diesem Falle auch dass es sich um den Erstaufruf nach WireGate-Start oder Änderung am Plugin handelt.
Code:
unless ($msg{'dst'}) {
#hier die Befehle die nur beim zyklischen Aufruf abgearbeitet werden sollen
}
Erklärung:
$msg{'dst'} wird nur übergeben wenn das Plugin per subscribe aufgerufen wurde. Bei der Initialisierung/cycle ist $msg{'dst'} leer und die Befehle werden abgearbeitet.
Wie wäre es mal ein paar Plugin-Tipps zu sammeln? Also eigene workarounds für bestimmte Probleme oder kleinste Codeschnipsel die das Leben etwas angenehmer 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.
Einen Kommentar schreiben: