Das Plugin müsste im Ordner /etc/knxd/plugin liegen ... bzw. dort wo Du es in der knxd.conf vorgegeben hast.
Liegt der knxd in /usr/sbin ? Starte ihn mal mit:
perl /usr/sbin/knxd.pl -d
Ankündigung
Einklappen
Keine Ankündigung bisher.
Plugins auslagern - eBus/KNX Daemon
Einklappen
Dieses Thema ist geschlossen.
X
X
-
Ich...
...hab das mal nach Deiner Anleitung durchgeführt aber es wird nichts auf die GA geschrieben noch meldet sich der knxd am ebusd an.
Ab welcher Revision funktioniert der knxd mit dem ebusd?
Welches Plugin und welchen Ordner meinst Du hier. Nur zur Sicherheit falls ich noch etwas anderes irgendwohin kopieren muss.Sofern sich das Plugin jetzt im Plugin-Ordner befindet sollte das jetzt alles laufen.
Hab genau Deine config benutzt um es danach dann Stück für Stück auf meine Bedürfnisse anzupassen.
Grüße
Frank
Einen Kommentar schreiben:
-
Lauscht dem eibd (lokal/ip) und bearbeitet WG-Plugins.
Mehr ist es derzeit eigentlich nicht. Eigentlich sollte die eBus-Anbindung mit rein, aber das klappt momentan noch als Plugin.
Einen Kommentar schreiben:
-
Teil 2 – ebus_plugin.pl
Der zweite Teil ist das ebus-Plugin. Theoretisch könnten die WireGate-Benutzer dies direkt ohne knxd nutzen. Die ist aber nur der aktuelle Stand der Entwicklung. Die Laufzeiten bewegen sich noch im erträglichen Bereich und bleiben selbst im Einzelfall noch unter 10 Sekunden.
Im Plugin selbst ist der Pfad zu eBus_plugin.conf „hard“ in der sub readconf auf /etc/knxd/eBus_plugin.conf festgelegt. Wer diese woanders liegen haben will muss dort Hand anlegen. Das würde ich nach derzeitigem Entwicklungsstand allerdings nicht empfehlen da wir noch nicht genau wissen wohin die Reise geht.
/etc/knxd/eBus_plugin.conf
Eigentlich ist das schon selbsterklärend. $ip und $port sind IP-Adresse und Port des ebusd. Mit der Variablen $base_time wird die festgelegt wie oft jeder abzurufende Wert gesendet wird. Fürs debuggen gibt es noch $debug.Code:#### Einstellungen $config = "/etc/knxd/knxd-ebusd.csv"; $ip = '192.168.2.221'; #IP des ebusd $port = '8888'; #Port des ebusd $base_time = 120; #Abrufzyklus $debug = ""; #### Ende Einstellungen
Die eigentliche Konfiguration der eBus-Befehle erfolgt in einer CSV-Datei. Der Pfad dazu wird in $config angegeben.
/etc/knxd/knxd-ebus.csv
Die CSV kann man sich automatisch aus einer ebusd-csv erstellen lassen. Dafür gibt es unter /etc/knxd/tools das Perl-Script make_config.pl. Der Aufruf erfolgt mit den Parametern -i und -o welche Input und Output angeben.
Beispiel:
perl /etc/knxd/tools/make_config.pl -i /etc/ebusd/vaillant.csv -o /etc/knxd/knxd-ebus.csv
Damit erhalten wir eine csv mit sämtlichen Befehlen die die Datei vaillant.csv enthält. Diese kann nun mit einem Editor um GA,DPT,RRD_type und RRD_step erweitert werden.
Bei SET Kommandos handelt es sich um GAs die vom Plugin abboniert werden und deren Inhalt dann an den ebusd übergeben werden. DPT sollte der passende Datentyp sein.
RRD_type gibt an ob es sich um ein COUNTER oder GAUGE RRD handelt (c bzw. g). Mit RRD_step kann man bei einem COUNTER-RRD den Zeitraum in Stunden festlegen. I.d.R. Handelt es sich ja um Tagesverbräuch und damit „24“.
Hier mal eine kleine fertige Test-Konfiguration. Nicht benötigte Elemente kann man mit # auskommentieren oder löschen. Sofern kein RRD_type oder eine GA eingetragen wurde werden diese auch ignoriert.
Für das setzen von Werten (SET) kann/sollte eine Rückmeldeadresse beim entsprechenden GET-Befehl eingetragen werden. Diese wird dann automatisch zyklisch mit ausgelesen und nach jedem SET aktualisiert.
Beispiel:
Sofern sich das Plugin jetzt im Plugin-Ordner befindet sollte das jetzt alles laufen.Code:#GA;DPT;RRD_TYPE;RRD_STEP;TYPE;CMD;COMMENT 0/5/120;1;;;set;hw mode;WW/ Betriebsmodus 0/5/121;9;;;set;hw temp;WW/ Solltemperatur 0/5/111;1;;;set;short cir2_party;Quick/ Party-Modus 0/5/110;1;;;set;short cir2_mode;Quick/ Heizkreis Betriebsmodus 0/5/123;1;;;set;short hw_load;Quick - WW Speicherladung 0/5/202;9;g;;get;ci cir2_set_temp;Heizkreis2-Solltemperatur 0/5/203;12;c;24;get;ci yield_transfer;Mitternacht Übertragswert Energieertrag 0/5/206;12;c;0.5;get;mv yield_sum;Energieertrag 0/5/204;9;g;;get;mv brine_in temp;Quellentemperatur 0/5/205;9;g;;get;mv brine_out temp;Austrittstemperatur 0/5/201;9;g;;get;mv VF2_temp temp;Vorlauftemperatur VF2 0/5/200;9;g;;get;mv at_temp temp;Aussentempertur 0/5/102;9;g;;get;cir2 rt_day;Heizkreis – Raumsolltemperatur 0/5/101;9;g;;set;cir2 rt_day;Heizkreis – Raumsolltemperatur
RRDs werden automatisch erstellt und gefüllt.
Die Werte werden auf die entsprechenden Gruppenadressen gesendet.
Einen Kommentar schreiben:
-
Plugins auslagern - eBus/KNX Daemon
Sollte es hier nicht passen dann verschiebt es einfach in das passende Forum.
Basierend auf dem (mittlerweile sehr langen) Thread zum eBus Plugin ist eine Lösung entstanden. https://knx-user-forum.de/forum/supp...wiregate/20771
Ich würde es eine Übergangslösung nennen ... die vielleicht auch einen gewissen Charme hat.
[WICHTIG]Dies bezeichne ich mal als "Expertenfunktion". Man sollte also wissen was man tut
.[/WICHTIG]
Die Anbindung des ebusd efolgt über 2 Programmteile.
Teil 1- knxd:
Der knxd ist ein abgespeckter WiregateDaemon. Dieser wurde von sämtlichen Abhängigkeiten zum originalen wiregated.pl befreit und konfigurierbar gemacht. Dadurch kann dieser auch auf dem original WireGate neben dem wiregated.pl eingesetzt werden.
Im Kern besteht dieser für ein Fremdsystem (non WireGate) aus der folgenden Dateistrutktur:
Die Teile die schon bestandteil des WireGates sind markiere ich im folgenden mit einem *.
/etc/init.d/knxd
Hier sind i.d.R. Keine Änderungen erforderlich.
Dies ist das init-script für den knxd. Dieser lässt sich später einfach mit /etc/init.d/knxd start starten. Ein Neustart oder stop wird durch /etc/init.d/knxd restart bzw. /etc/init.d/knxd stop erreicht.
/etc/knxd/
Das Hauptverzeichnis des knxd. Hier werden die Konfigurationsdateien, die Plugin-Datenbank und im Unterverzeichnis die Plugins abgelegt.
/etc/knxd/plugin/
Dies ist das Verzeichnis in dem die mehr oder weniger bekannten WireGate-Plugins abgelegt werden.
/etc/logrotate.d/knxd
Hier sind i.d.R. Keine Änderungen erforderlich.
Diese Datei enthält die notwendigen infos für einen laufenden logrotate … Der logrotate wird dringend empfohlen. Auf dem WireGate und den meisten Systemen sicherlich schon installiert.
/usr/sbin/knxd.pl
Hier sind i.d.R. Keine Änderungen erforderlich.
Das ist der eigentliche knxd.
/usr/lib/perl5*
Hier sind i.d.R. Keine Änderungen erforderlich.
Lediglich die Datei EIBConnection.pm muss vorhanden sein.*
K O N F I G U R A T I O N:
Folgende Dateien müssen angepasst werden damit der knxd grundsätzlich funktioniert:
/etc/knxd/knxd.conf
Enthält die globale config für den knxd.
/etc/knxd/eibga.confCode:### Global Settings ### # name of knxd – recommend not to change name = knxd # path to init-script – recommend not to change init_script = /etc/init.d/knxd # max. Memory usage of knxd. If reached knxd restart through itself by init-script mem_max = 20 ### RRD Settings ### # directory where rrds will be saved rrd_dir = /var/www/rrd/ # global cycle of sending values to rrd – recommend not to change cycle = 240 # global rrd-heartbeat 300 is equal to rrd-tools default – recommend not to change rrd_interval = 300 # some settings for people who know wha they do rra1_row = 2160 rra5_row = 2016 rra15_row = 2880 rra180_row= 8760 ### KNX/EIB Settings ### # eib enables/disables EIB/KNX eib = 1 # URL of eibd, can be in network or local. eib_url = ip:192.168.2.220:6720 #eib_url = local:/tmp/eib eib_mininterval = 10 # eib_logging enables/disables EIB/KNX Logging eib_logging = 0 # eiblogfile is path and name of the EIB/KNX Logfile eiblogfile = /var/log/knxd-eib.log ### Plugins ### #name of the plugin-Database plugin_db_name = plugin_database.db #path to plugin-Database plugin_db_path = /etc/knxd/ #path of the plugin directory plugin_path = /etc/knxd/plugin/ # path and name of the Plugin-Logfile plugin_logfile = /var/log/knxd-plugin.log ### Ramdisk/Temp ### #path to /tmp or ramdisk ramdisk = /tmp/ #creates a alive for use with monit alive = /tmp/knxd.alive #udp_port = 13001 #udp_ip = 172.30.40.50
Hier müssen die Gruppenadressen eingetragen werden auf die ein Plugin reagieren soll. Statt einer weiteren Datei wäre auch ein Symlink für Wiregate-Benutzer mit gleichem Namen denkbar.
Die Gruppenadressen müssen in diesem Format gespeichert werden:
Der knxd lässt sich noch mit folgenden Optionen starten:Code:[0/5/0] DPTId = 6 DPTSubId = 6.020 name = WP-Betrieb [0/5/1] DPTId = 1 DPTSubId = 1.001 name = Status HZ-WW
perl /usr/sbin/knxd.pl -d #Debug-Modus
perl /usr/sbin/knxd.pl -c /path/to/knxd.conf #separates config file
perl /usr/sbin/knxd.pl -e /path/to/eibga.conf #separate eibga.conf
Auf einem „Standard-Linux“ sollten sich sämtliche Abhängigkeiten (eibd ausgenommen) mit folgendem auflösen lassen.*
Lediglich die EIBConnection.pm ist neben den knxd Dateien im System zu ergänzen, liegt aber im richtigen Ordner im SVN.*Code:apt-get install libmath-round-perl libmath-basecalc-perl librrds-perl libproc-pid-file-perl libproc-daemon-perl
SVN-Link: SourceForge.net Repository - [openautomation] Index of /tools/ebus/knxd


Einen Kommentar schreiben: