NEWS
EBus - Adapter oder alternative Anbindung möglich?
-
Was spricht gegen ebus zur Usb!? [emoji6]
Ist das schwieriger zum umsetzen!?
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Was spricht gegen ebus zur Usb!? [emoji6]
Ist das schwieriger zum umsetzen!? `
Eher nicht! Wurde auch hier mehrfach besprochen:
https://wiki.fhem.de/wiki/EBUS
https://forum.fhem.de/index.php/topic,46098.630.html
Bin dabei es umzusetzen. Es wird noch ca. 1-2 Wochen dauern bis ich dazu komme, aber dann werde ich mich gerne melden und berichten.
a200.
-
Bin dabei es umzusetzen. Es wird noch ca. 1-2 Wochen dauern bis ich dazu komme, aber dann werde ich mich gerne melden und berichten.
Da ich im Moment noch zuviele andere Projekte habe würde ich mich freuen wenn du da was schönes machst. Wenn du Hilfe brauchst daraus einen Adapter zu machen helfe ich dir gerne.
-
Wenn du Hilfe brauchst daraus einen Adapter zu machen helfe ich dir gerne.
Gerne! Ich komme auf dich zu!
-
Ich habe ja noch eine "find"-Routine versprochen. Hier ist mein derzeitiges Zwischenergebnis, ich weiss noch nicht ob ich noch mehr dran machen will.
Was das Skript macht ist im Prinzip ein "find -f" an ebusd zu senden, was alle Objekte zurückliefert inklusive Format, Einheit, Beschreibung, etc. Danach lese ich dann alle Felder vom ebusd um jeden iobroker-Zustand mit den Werten zu füllen die über den eBus abgefragt werden können. Vieles davon ist bei mir leer oder sonstwie etwas sinnlos, aber es sind auch einige Perlen an Information von meiner Vaillant-Therme dabei
Was jetzt eigentlich noch fehlt ist ein Weg wie man bestimmte Werte pollt oder bei Veränderung bekommt. Schöner wäre es das gleich in einen richtigen Adapter zu packen, aber dazu bin ich im Moment noch zu unerfahren und mein persönlicher Fokus geht erstmal zu einer Visualisierung meines Heims.
! ```
`// ebusd find script
var root = 'eBus'; // root of state inside 'javascript.0'
var host = 'pi1'; // set to your host running ebusd
var port = 8888; // default ebusd port
! var net = require('net');
var fieldsToRead = [];
! log('trying');var req = 'find -f';
! createState('eBus');
! var run=1;
var lastFieldRequested='';
var closing=0;
! function parse(data) {
//log("run: " + run);
if(run == 1)
{
var arr = data.toString().split(/\r?\n/);
for(var i = 0; i <arr.length; i++)/{/var/line="arr[i];" idx="0;" tmp="line.split(',');" if(tmp.length="">7) {
var numfields = 0;
var TYPE = tmp[0];
var CIRCUIT = tmp[1];
var NAME = tmp[2];
var COMMENT = tmp[3];
var QQ = tmp[4];
var ZZ = tmp[5];
var PDSB = tmp[6];
var ID = tmp[7];
log("* TYPE:" + TYPE + " CIRCUIT:" + CIRCUIT + " NAME:" + NAME +
" COMMENT:" + COMMENT + " QQ:" + QQ + " ZZ:" + ZZ +
" PDSB:" + PDSB + " ID:" + ID);
while(tmp.length > (7 + ((numfields+1)*6)))
{
idx = 8 + (numfields)6;
var FIELD = tmp[idx];
var PART = tmp[idx+1];
var DATATYPE = tmp[idx+2];
var DIVIDER = tmp[idx+3];
var UNIT = tmp[idx+4];
var COMMENT_F = tmp[idx+5];
log(" * FIELD:" + FIELD + " PART:" + PART + " DATATYPE:" + DATATYPE +
" DIVIDER:" + DIVIDER + " UNIT:" + UNIT + " COMMENT:" + COMMENT_F);
if(FIELD === '')
createState('eBus' + '.' + CIRCUIT + '.' + NAME, undefined, {name: COMMENT, unit: UNIT, desc: COMMENT});
else
createState('eBus' + '.' + CIRCUIT + '.' + NAME + '.' + FIELD, undefined, {name: COMMENT_F, unit: UNIT, desc: COMMENT});
fieldsToRead.push(CIRCUIT + ',' + NAME + ',' + FIELD);
numfields++;
}// } else { //log("odd line: " + line, 'warn'); } } if(fieldsToRead.length > 0) { var tmp2 = fieldsToRead.shift(); var tmp3 = tmp2.split(','); var CIRCUIT = tmp3[0]; var NAME = tmp3[1]; var FIELD = tmp3[2]; if(FIELD === '') req = "read -c " + CIRCUIT + ' ' + NAME; else req = "read -c " + CIRCUIT + ' ' + NAME+ ' ' + FIELD; log('Sending: ' + req); lastFieldRequested = tmp2; client.write(req+'\n'); } } else { var arr = data.toString().split(/\r?\n/); if(arr.length == 2) { //for(var i = 0; i <arr.length; i++)/{/var/line="arr[1];" log("new/for/"/+/lastfieldrequested/+":/line);/tmp3="lastFieldRequested.split(',');" circuit="tmp3[0];" name="tmp3[1];" field="tmp3[2];" if(field="==" '')/setstate('ebus'/'.'/name,/else/field,/;/}/if(fieldstoread.length="">0) { var tmp2 = fieldsToRead.shift(); var tmp3 = tmp2.split(','); var CIRCUIT = tmp3[0]; var NAME = tmp3[1]; var FIELD = tmp3[2]; if(FIELD === '') req = "read -c " + CIRCUIT + ' ' + NAME; else req = "read -c " + CIRCUIT + ' ' + NAME+ ' ' + FIELD; log('Sending: ' + req); lastFieldRequested = tmp2; client.write(req+'\n'); } } run++; if(fieldsToRead.length == 0 && lastFieldRequested === '') { closing = 1; log('Sending: quit'); client.write('quit\n'); }
}
! var client = new net.Socket();
client.connect(port, host, function() {
log('Connected to ebusd on ' + host + ':' + port);
client.write(req + '\n');
});
! var databuf = '';
client.on('data', function(data) {
var prev = 0, next;
var datastr = data.toString();
while ((next = datastr.indexOf('\n\n', prev)) > -1) {
databuf += datastr.substring(prev, next);
parse(databuf);
databuf = '';
prev = next + 1;
}
databuf += datastr.substring(prev);
// client.write('quit\n');
});
! client.on('close', function() {
log('Connection to ebusd closed');
});
! client.on('error', function() {
log('Error');
});
! client.on('end', function() {
log('End');
});</arr.length;></arr.length;>` [/i] -
Kleine frage kann ich die ebus Interface Platine irgendwo kaufen ? oder hat noch jemand eine über ?
-
Such mal unter wiki.fhem.de nach ebus. Dann ganz unten findest du links zum Forum. Morgen kann ich dir die Mail des Verkäufers schicken.
LG, a200.
-
Also ich habe meine bei eBay gefunden, gibt es aber momentan nicht
Habe aber den Verkäufer angeschrieben, warte auf eine Antwort!
Diese Links hat er mir aber damals geschickt
Links:
Bauteile: https://secure.reichelt.de/index.html?& … ROVID=2084
WIKI: http://www.fhemwiki.de/wiki/
EBUS
eBus Schaltung in Betrieb nehmen!: http://forum.fhem.de/index.php/topic,46098.0.html
Heizung mit eBus-Schnittstelle: http://forum.fhem.de/index.php/topic,29737.0.html
2. Sammelbestellung: http://forum.fhem.de/index.php/topic,45127.0.html
3. Sammelbestellung: https://forum.fhem.de/index.php/topic,49744.0.html
Gesendet von iPhone mit Tapatalk Pro
-
WIKI: http://www.fhemwiki.de/wiki/ `
Du meinst: https://wiki.fhem.de/wiki/EBUS hier sind alle Links, die man braucht.
LG, a200.
-
Hm danach hat keiner mehr welche. Dann muss ich mir wohl welche selber machen.
Brauch noch jemand eine ?
-
Also mein eBay Verkäufer hat noch genau zwei Stück
Wer will die haben!?
Dann würde ich das in die Wege leiten
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Ich nehm eine wenn du nen link hast kann ich sie auch selbst bestellen
-
Nee ich habe ihn angeschrieben sind nicht in eBay inseriert!
Und er hat nur noch eine…. hab es vorhin falsch gelesen!
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Leitest du die eine den für mich in die wege
Brauch doch was zum basteln zwischen Weihnachten und Neujahr
-
Ja bin schon dabei! [emoji6]
Gesendet von iPhone mit Tapatalk Pro
-
Leitest du die eine den für mich in die wege
Brauch doch was zum basteln zwischen Weihnachten und Neujahr `
Hast du meine PN's erhalten!?
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Für andere Interessenten der ebus Platine (5€ inkl. Versand) die Info des Verkäufers
"Wenn ich Glück habe bekomme ich nächste Woche noch welche, es gab jedoch ein paar Problem mit dem Zoll."
Also wenn ihr Interesse habt dann gebe ich euch per PN die Kontaktdaten
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Also ich habe soeben erfolgreich meine Ebus Platine an meiner Vaillant Therme angeschlossen! Erhalte auch Hex-Werte angezeigt!
So jetzt muss ich weiter schauen wie ich das in Betrieb nehmen kann [emoji12][emoji23]
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Hier noch die versprochenen Bilder (in low-res, damit's auch fix lädt).
An die Vaillant VRC430 hab ich ein 2-adriges Kabel (0.75mm^2) gezogen und an die rote Klemme angeschlossen:
IMG_1992.JPG
Im nächsten Raum ist ein Raspberry Pi mit der Platine aus dem FHEM-Forum (oder hier: http://www.fhemwiki.de/wiki/EBUS ), die ich ein ein kleines selbstgedrucktes Gehäuse gesetzt hab um Kurzschlüsse zu vermeiden:
IMG_2005.JPG
Auf dem RPi läuft dann der ebusd, den ich lokal mit ebusctl lesen/schreiben kann, oder der auch via Telnet von außen erreichbar ist. An Befehlen sind denke ich die Befehle "find", "read" und "listen" interessant (wenn ich erstmal nur lesend zugreifen will). Hier mal so meine naive Vorstellung wie man an die Daten von iobroker aus kommt:
Mit
find -f
bekomme ich alle Felder angezeigt, die vorhanden sind, die könnten also alle an iobroker exportiert werden. Die meisten werden aber erst durch aktives Lesen über den Bus gefüllt, weil nicht gebroadcastet. Mitread WaterPressure
kann ich dann die Felder mit Werten über den eBus ergänzen (wenn ich z.B. den Wasserdruck haben will). Wenn man dann alles Statische hat, müsste````
listenSo denke ich mir sollte man von iobroker aus auf den RPi zugreifen können. Trickreich ist für mich jetzt dann wie sich das alles mit node.js machen lässt. Falls es schon ein gutes Adapterbeispiel hierfür gäbe in das nur noch die Syntax rein muss, her damit :) `
Hallo,
hast Du für die EBUS Anbindung einen normalen TTL Konverter genommen? Hat das funktioniert? Ich dachte man braucht den Pegelwandler weil der 5v TTL Pegel nicht hoch genug ist.
Schöne Grüße
Stephan
-
ich hänge mich hier mal rein.
plane auch eine neue Heizung von Vaillant
Als erstes findet man
https://www.ise.de/de/produkte/ise_smar … X_Vaillant
Da stellt man sich die Frage: Warum über KNX gehen ? (Das Set kostet ja mal eben schlappe 500,- €)
Warum nicht gleich an den eBus
Dann stellt sich die Frage: USB oder Ethernet?
https://www.esera.de/shop/ebus/135/1-wi ... atine?c=20
oder
https://www.esera.de/shop/ebus/142/ebus ... ernet?c=20
Es ist doch sicher Möglich bei alles drei Varianten an die Daten zu kommen.
Wie weit seit ihr mit der Umsetzung ?
Gruß
Jürgen
EDIT:
Der Beitrag wurde abgetrannt