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.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Plugin-Tipps
Einklappen
Dieses Thema ist geschlossen.
X
X
-
Ist der Aufruf zyklisch oder per subscribe ?
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 }
$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.Umgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
-
eibga.conf bei bekanntem DPT umgehen
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
Wir greifen hier einfach auf eine Kernfunktion des wiregated zurück.Umgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
-
Zitat von JuMi2006 Beitrag anzeigenWie wäre es mal ein paar Plugin-Tipps zu sammeln?
Würde mich freuen, wenn diese Sammlung von mehreren getragen wird.
lg
Stefan
Kommentar
-
DPT aus der eibga.conf auslesen
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.
Code:knx_write([COLOR="Red"]$ga[/COLOR],[COLOR="Blue"]$wert[/COLOR],$eibgaconf{[COLOR="red"]$ga[/COLOR]}{'DPTSubId'})
$wert hier ist der Wert hinterlegt
$eibgaconf{$ga}{'DPTSubId'} ist der Ersatz für den DPT
Den DPT bekommt man direkt also mit:
Code:$dpt=$eibgaconf{$ga}{'DPTSubId'}
Umgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
-
Zitat von JuMi2006 Beitrag anzeigenWie 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.
Mittelfristig sollte das alles ins Wiki....Endlich umgezogen. Fertig? Noch lange nicht... ;-)
Kommentar
-
Mir solls egal sein
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.
GrüßeUmgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
Kommentar