NEWS
[gelöst] Marantec Garagentorantrieb direkt in ioBroker
-
Hallo,
ich versuche gerade den Torantrieb meiner Zapf Garage ohne Cloud in den ioBroker einzubinden.
Mit diesem Dokument und dem Inet bin ich schon soweit gekommen dass ich steuern kann.
1607975123876-installationshilfen-für-anwender-amp-entwickler-v7-20201211_125358-1.pdfIch nutze Blockly mit bspw. diesem Javascript:
var dgram = require('dgram'); var message = new Buffer('C;Garagentor;open'); var client = dgram.createSocket('udp4'); client.send(message, 0, message.length, 2784,'192.168.178.149', function(err, bytes) { if (err) throw err; client.close(); });Damit lassen sich alle Steuerbefehle aus dem Dokument senden.
Jetzt schaffe ich es ebr nicht die Statusabfragen zu machen. Einfach in Zeile zwei das C gegen ein S tauschen geht nicht. Ich muss ja auch noch irgenwie festlegen wo die Antwort hin soll.
Außerdem würde ich wie im Dokument empfohlen lieber TCP statt UDP nutzen.
Kann mir jemand helfen?
-
Hallo,
ich versuche gerade den Torantrieb meiner Zapf Garage ohne Cloud in den ioBroker einzubinden.
Mit diesem Dokument und dem Inet bin ich schon soweit gekommen dass ich steuern kann.
1607975123876-installationshilfen-für-anwender-amp-entwickler-v7-20201211_125358-1.pdfIch nutze Blockly mit bspw. diesem Javascript:
var dgram = require('dgram'); var message = new Buffer('C;Garagentor;open'); var client = dgram.createSocket('udp4'); client.send(message, 0, message.length, 2784,'192.168.178.149', function(err, bytes) { if (err) throw err; client.close(); });Damit lassen sich alle Steuerbefehle aus dem Dokument senden.
Jetzt schaffe ich es ebr nicht die Statusabfragen zu machen. Einfach in Zeile zwei das C gegen ein S tauschen geht nicht. Ich muss ja auch noch irgenwie festlegen wo die Antwort hin soll.
Außerdem würde ich wie im Dokument empfohlen lieber TCP statt UDP nutzen.
Kann mir jemand helfen?
@rushmed Ich bin einen Schritt weiter.
Mit dem folgenden Script klappt das Senden der Commands per TCP.var net = require('net'); function sendMessage(host, port, message) { var client = net.connect({host: host, port: port}, function () { // 'connect' listener console.log('Verbindung hergestellt'); client.write(message); }); client.on('data', function (data) { console.log(data.toString()); client.end(); }); client.on('end', function () { console.log('Verbindung unterbrochen'); }); client.on('error', function (error) { console.error('error: ' + error); client.end(); }); } sendMessage('192.168.178.149', 2785, 'C;Garagentor;close')Allerding weiß ich immernoch nicht wie ich mir die Status Meldungen holen kann.
Edit 24.08.22: Alle Kommandos geben mir R;OK im Log zurück.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden