NEWS
Steuerbefehl über LAN an IP Gerät
-
Hallo an die Gemeinde,
wie kann ich ein IP-Gerät via Java-Skript ansprechen
Folgender String möchte ich an meine Pumpe senden wenn ich einen Taster betätige//192.168.178.220/?trigger:30:
Irgendwie finde ich im Netz nichts, bzw. ich weiß auch gar nicht nach was ich suchen muss.
Danke an Alle
-
@captainchaos666 sagte: Irgendwie finde ich im Netz nichts
-
@captainchaos666
Per HTTP?
Dann such mal in der von @paul53 verlinkten Doku nach dem Zauberwort "request"Ich gebe aber gleich zu bedenken:
Das Package "request" ist deprecated. Als Alternative kommt "axios" in Frage. -
@codierknecht sagte: verlinkten Doku nach dem Zauberwort "request"
Der Link führt zu httpGet() in der Doku.
-
@paul53 sagte in Steuerbefehl über LAN an IP Gerät:
Der Link führt zu httpGet() in der Doku.
Ist aber (stable) noch nicht überall angekommen:
Mein Produktivsystem ist aktuell.Im Testsystem (beta) ist das natürlich vorhanden.
-
Danke für die Tips,
wie bekomme ich es mit wenn der httpGet in der stable implementiert wurde?bis dahin habe ich mich an dem Befehl request versucht, aber irgendwie bekomme ich den auch nicht gebacken, den habe ich gefunden und gehofft das der mal so funktioniert zum einarbeiten.
const http = require('node:http'); // Read www.google.com page http.request('www.google.com', function (res) { res.setEncoding('utf8'); res.on('data', function (chunk) { log('BODY: ' + chunk); }); }).on('error', function (e) { log('problem with request: ' + e.message, 'error'); });
Wenn ich den Code ausführe bekomme ich die Fehlermeldung
Könnt ihr mir grob erklären was da genau passieren soll, zumal verstehe ich nicht warum ich bei google was einlesen soll, zumal ich eigentlich intern nur einen Einzeiler Code absetzen will. Glaube habe mich da gerade verzettelt!
Dank euch im Voraus -
Hm, ich steuere meinen Verstärker via Blockly mit HTTP Get.
on({ id: '0_userdata.0.Yamaha.Netradio' /* Netradio */, change: 'any' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; httpGet('http://192.168.178.25/YamahaExtendedControl/v1/main/setInput?input=net_radio', { timeout: 2000, responseType: 'text' }, async (err, response) => { if (err) { console.error(err); } console.log('Yamaha wurde auf Netradio geschaltet'); }); });
-
@captainchaos666 und wenn es dann immer noch geht musst du ggf. die URL enkodieren, ich bin mir gerade nicht sicher ob soweit hinten noch Doppelpunkte erlaubt sind.
Folgender String ... sicher das das nicht
http://192.168.178.220/?trigger:30:
sein soll? Oder sind
//192.168.178.220/?trigger:30:
die Nutzdaten?Kodiert kann sein das dann
http://192.168.178.220/?trigger%3A30%3A
Sein muss - falls die Doppelpunkte ein Problem sind. Was läuft denn da auf der Pumpe für ein System?
-
@captainchaos666 sagte: habe ich mich an dem Befehl request versucht
Das ist nicht der normale "request" aus dem Javascript-Adapter. Versuche es mal so:
const request = require('request'); request('http://192.168.178.220/?trigger:30:').on("error", (e) => { console.error(e); });
-
@paul53
vielen Dank, es funktioniert!@BananaJoe
habe eine Steuerung von Dr. Eugen Stall. Die in meine Homematic eingebunden ist. Verlagere langsam die Homematic- Funktionen Richtung IO Broker. Die Steuerung ist wirklich ihr Geld wert
Wifi PumpVielen lieben Dank nochmals an für eure Unterstützung