Hi,
ich hab es mal mit dem eibd versucht, da klappt das problemlos. Mein knxd-Rechner streikt zur Zeit, deswegen kann ich es da nicht testen. Aber gut zu wissen, dass es prinzipiell geht. Mir reicht für den Moment auch der eibd...
Gruß, Waldemar
Ankündigung
Einklappen
Keine Ankündigung bisher.
eibd(war bcusdk) Fork -> knxd
Einklappen
X
-
Hallo zusammen,
hab's probiert
Code:knxtool mrestart ip:localhost 1.1.77
Code:Read failed: Connection reset by peer
Code:/usr/bin/knxd --Tunnelling --eibaddr=1.1.254 --client-addrs=1.1.230:24 --Name=MasterKNXD --Server=239.1.2.3:3671 --layer2=tpuarts:/dev/ttyKNX1
Habe neben dem Raspi mit knxd auch noch einen "echten" IP-KNX-Router. Allerdings läuft der Raspi-knxd ja auf einer anderen Multicast-Adresse (239.1.2.3), als der Standard.(224.0.23.12). Vielleicht hat es aber trotzdem damit was zu tun?
LG
Mike
Einen Kommentar schreiben:
-
Cool, probiere ich heute Abend gleich aus!
Danke für den Tipp!
Gruß, Waldemar
Einen Kommentar schreiben:
-
In eibd gab es dafür mrestart.
Wenn ich den Wiki-Eintrag zu KnxTool richtig verstehe, gibt es das als Teil von knxtool immer noch.
Der Aufruf müsste dann wohl in folgender Art sein:
Code:knxtool mrestart ip:192.168.178.103 1.1.5
Einen Kommentar schreiben:
-
Zitat von MikeR Beitrag anzeigenKann ich (z.B. über das KNXTool) den Geräte-Neustart irgendwie programmgesteuert machen? Ohne händisch die ETS benutzen zu müssen? Ich habe nix gefunden, bin aber ja evtl. "betriebsblind".
Gruß, Waldemar
Einen Kommentar schreiben:
-
Hey Leute,
Hat mal jemand probiert den KNXD auf einer Enigma2-Box zu installieren?
Die "neuen" Vu+ 4K-Boxen basieren ja auf einen Arm-Prozessor und da sollte es doch eventuell möglich sein den knxd drauf zu installieren und zusätzlich noch die Smartvisu. Ne Weboberfläche/Webserver hat die Box ja bereits.
Einen Kommentar schreiben:
-
Hi zusammen,
mal eine "blöde" Frage: Ich habe einen Heizungsventilaktor, der manchmal irgendwie hängt. Sprich, nicht mehr auf Set-Telegramme zu reagieren scheint, und auch keinen Stellwert mehr schickt. Es geht dabei um das Zulaufventil meiner Fußbodenheizung. Passiert nur zwei- bis dreimal im Jahr, ist aber nervig. Ich helfe mir dann dadurch, das ich in der ETS das Gerät neu starte.
Soweit das "Vorspiel", nun die Frage:
Kann ich (z.B. über das KNXTool) den Geräte-Neustart irgendwie programmgesteuert machen? Ohne händisch die ETS benutzen zu müssen? Ich habe nix gefunden, bin aber ja evtl. "betriebsblind".
Grüße aus Wiesbaden
Mike
Einen Kommentar schreiben:
-
Gar nicht.
Im Zweifelsfall ist es für alle Beteiligten günstiger, wenn du dir ein neues Interface kaufst.
Einen Kommentar schreiben:
-
Hallo,
weiß jemand, wie man den EIBD auf einem Linux kernel 4.12 (Open suse 15) zum laufen bekommt. Den EIB habe ich übersetzt bekommen, jedoch habe ich die Kernelmodule nicht laden können. Version bcusdk 0.0.5 und bcu1driver-0.2.6.6.2.
Leider funktioniert meine schnittstelle zum Powernet von Busch Jaeger nur über BCU1.
Einen Kommentar schreiben:
-
Ja, die Datapoints muss man selber umrechnen, in KNX gibt es (noch; ist für 0.16 in Planung) keinen Code dafür.
FHEM macht das so:
Code:my $sign = ($value <0 ? 0x8000 : 0); my $exp = 0; my $mant = 0; $mant = int($value * 100.0); while (abs($mant) > 0x7FF) { $mant /= 2; $exp++; } $numval = $sign | ($exp << 11) | ($mant & 0x07ff);
Code:$numval = hex($value); my $sign = 1; $sign = -1 if(($numval & 0x8000) > 0); my $exp = ($numval & 0x7800) >> 11; my $mant = ($numval & 0x07FF); $mant = -(~($mant-1) & 0x07FF) if($sign == -1); $numval = (1 << $exp) * 0.01 * $mant;
Einen Kommentar schreiben:
-
Hexcodierung tut und der ETS5 Gruppenmonitor zeigt die dekodierte Zahl an, damit komme ich zurecht.
Leider "ignoriert" die Zehnder die Operation, aber dafür kann knxd vermutich nichts.
Einen Kommentar schreiben:
-
Wow...Antwort mit Lichtgeschwindigkeit, danke :-)
Sieht für mich so aus, als müsste ich die float in hex-Werte von Hand umrechnen:
else if (strcmp (prog, "groupwrite") == 0)
{
uchar lbuf[255] = { 0x0, 0x80 };
if (ac < 4)
die ("usage: %s url eibaddr val val ...", prog);
con = open_con(ag[1]);
dest = readgaddr (ag[2]);
len = readBlock (lbuf + 2, sizeof (lbuf) - 2, ac - 3, ag + 3);
if (len < 0)
die ("Invalid hex bytes");
if (EIBOpenT_Group (con, dest, 1) == -1)
die ("Connect failed");
len = EIBSendAPDU (con, 2 + len, lbuf);
if (len == -1)
die ("Request failed");
printf ("Send request\n");
}
Muss ich das von Hand umrechnen (z.B. 800 ppm bei 9.008) oder gibt es da eine elegantere Methode? Kodiert der 2-Octet Float Value in dem Beispiel 1200 oder 0,0012 ?
Danke und Gruß
Rainer
Einen Kommentar schreiben:
-
Hallo,
ich habe hier
rd@mohot:~$ knxd --version
knxd 0.11.18
rd@mohot:~$
und ich kann zuverlässig auf den Bus schreiben
rd@mohot:~$ knxtool groupswrite ip:127.0.0.1 2/1/0 0
Send request
rd@mohot:~$ knxtool groupswrite ip:127.0.0.1 2/1/0 1
Send request
rd@mohot:~$
Das geht gut, solange die Gruppenadresse vom Typ 1.001 (bool) ist.
Ich vermute, ich muss knxtool aber mitteilen, ob meine Gruppenadresse von einem anderen Typ, z.B. 9.008 (float) ist (in diesem Fall CO2-Sensor der Zehnder Lüftungsanlage: http://www.zehnder-systems.de/download/133748/47371.pdf ) (wohersoll knxtool das auch wissen?).
Kann mir hier jemand sagen, was ich tun muss oder wo ich schauen muss?
Im Code (knxtool.c) kann ich leider nicht viel finden:
else if (strcmp (prog, "groupswrite") == 0)
{
uchar lbuf[3] = { 0x0, 0x80 };
if (ac != 4)
die ("usage: %s url eibaddr val", prog);
con = open_con(ag[1]);
dest = readgaddr (ag[2]);
lbuf[1] |= readHex (ag[3]) & 0x3f;
if (EIBOpenT_Group (con, dest, 1) == -1)
die ("Connect failed");
len = EIBSendAPDU (con, 2, lbuf);
if (len == -1)
die ("Request failed");
printf ("Send request\n");
}
Danke und Gruß
Rainer
Einen Kommentar schreiben:
-
Hallo,
Ich bin zwar nicht sicher aber ich denke ich habe Probleme mit KNXD. Siehe Thread im Smarthome.py Bereich. Vielleicht hat jemand eine Idee dazu.
Einen Kommentar schreiben:
Einen Kommentar schreiben: