NEWS
Http Adresse mit ioBroker senden um Funkstekdose ein und auszuschalten
-
Hallo alle zusammen.
Kann mir bitte jemand bei meinem Problem weiterhelfen!
Ich würde gerne mit dem ioBroker eine Http Adresse senden um meine Funkstekdose ein und auszuschalten.
Adresse zum einschalten: http://benutzer:passwort@192.168.178.10/control?key=1
Adresse zum ausschalten: http://benutzer:password@192.168.178.10/control?key=2
Ich würde die Dose gerne dann mit Alexa steuern.
Vielleicht ist einer von euch so nett und könnte mir da weiterhelfen wie ich das machen könnte.
-
hej Siros…. Mit Blockly solltest Du es hinkriegen. Du brauchst eine Javascript Script Engine. (JS-Adapter)
Ich gebe Dir ein Beispiel wie es aussehen sollte. Das müßte reichen damit du selbst zum Ziel kommst.
1526_unbenannt.png -
Hallo knopers1
Hab mir das von dir jetzt nachgebaut was soweit geklappt hat und ich kann es auch bei Alexa einbinden nur leider passiert da nix.
Die Objekt ID habe ich auf default kann ich das so lassen oder auf was bezieht sich die?
Das Script dürfte laut LOG soweit funktionieren es wird aber leider nicht an die Dose weitergleite so wie ich das verstehe.
19:44:18.795 [info] javascript.0 Start javascript script.js.Test.Skript1
19:44:18.796 [info] javascript.0 script.js.Test.Skript1: registered 1 subscription and 0 schedules
19:44:22.614 [info] javascript.0 Stop script script.js.Test.Skript1
hast du da vielleicht noch eine Idee?
-
Hallo,
kenne mich mit Blockly nicht aus. Aber das Skript setzt voraus, dass ein Objekt mit der ID RGBW als Trigger existiert. Hast du das angelegt, siros?
Ohne das Objekt triggert da nix.
Gruß
Pix
-
richtig, ein Objekt muß natürlich angelegt sein… Den Namen kannst Du natürlich selbst erfinden. Danach das Objekt halt mit der Alexa Cloud Adapter eibinden.
-
Warum denn immer so kompliziert?
var request = require('request'); request('http://benutzer:passwort@192.168.178.10/control?key=1', function (error, response){ });
Gruss, mayer
-
Warum denn immer so kompliziert? `
Na weil der OP nach Alexa-Anbindung gefragt hatUnd das geht mit obigem Skript (vorausgesetzt der DP ist vorhanden und in Cloud/Alexa bekannt), aber nicht mit deinem Schnipsel.
-
Warum denn immer so kompliziert?
var request = require('request'); request('http://benutzer:passwort@192.168.178.10/control?key=1', function (error, response){ });
Gruss, mayer `
wo muss denn dieser Schnipsel eingesetzt werden… ohne weitere Info ist es für Anfänger sehr kompliziert :ugeek:
-
wo muss denn dieser Schnipsel eingesetzt werden ` Javascript Adapter in ein Skript.
-
Danke, über was/ wie rufe ich den dann das Script auf, damit ausgelöst wird.
-
damit ausgelöst wird. `
Ausgelöst wird durch einen Datenpunkt vom Typ "Logikwert" (boolean), der auf Alexa mit true bzw. false reagiert.const idAlexa = '...'; // ID des Datenpunktes, der auf Alexa reagiert (false/true) const request = require('request'); const url = 'http://benutzer:passwort@192.168.178.10/control?key='; on(idAlexa, function(dp) { // Triggern bei Wertänderung durch Alexa var key = '2'; if(dp.state.val) key = '1'; request(url + key, function(error, response, body) { if(error) log('Fehler Request Steckdose', 'error'); }); });
-
Ich möchte kein Alexa :roll:
Ich bin neu bei ibroker und suche mir einen
Wolf und versuche alles mögliche.
Eigentlich möchte ich meinen Lightmanager aus VIs heraus ansteuern, also die verschiedenen szenen aufrufen
-
Ich möchte kein Alexa `
Weshalb postest Du dann Deine Frage unter der Rubrik "ioBroker Alexa" ? -
Adresse zum einschalten: http://benutzer:passwort@192.168.178.10/control?key=1
Adresse zum ausschalten: http://benutzer:password@192.168.178.10/control?key=2 `
ok, hast Recht… ich brauche eben genau diese Befehlszeile...
habe das im forum gefunden und den nicht mehr auf die Rubrik geachtet.
-
ich brauche eben genau diese Befehlszeile… `
Dann kannst Du das Skript verwenden mit dem Unterschiedconst idVis = '...'; // ID des Datenpunktes, der auf Vis reagiert (false/true)
-
Hallo Paul,
das klappt leider nicht… zumindest nach meiner Einstellung
ist das die idVis?, oder die Widget Nummer "W00001" ?!? *confused
const idVis = 'javascript.0.lmair.szenenr.14'; // ID des Datenpunktes, der auf Vis reagiert (false/true) const request = require('request'); const url = 'http://192.168.10.71/control?key='; on(idVis, function(dp) { // Triggern bei Wertänderung durch Alexa var key = '0'; if(dp.state.val) key = '14'; request(url + key, function(error, response, body) { if(error) log('Fehler Request Steckdose', 'error'); }); });
ich glaube immer mehr dass der iobroker nicht mit mir kann/ will/ möchte
-
'javascript.0.lmair.szenenr.14' ist die ID des Datenpunktes, den Du mit Vis schaltest ?
@dos1973:Adresse zum einschalten:
http://benutzer:passwort@192.168.178.10/control?key=1
Adresse zum ausschalten:
http://benutzer:password@192.168.178.10/control?key=2 `
Wenn aus = 2 und ein = 1, dann ändere im Skriptvar key = '2'; // aus if(dp.state.val) key = '1'; // ein
-
Hi,
das funktioniert prinzipiell… allerdings nur, wenn ich die "Toggle-Befehle" habe, also ein aus.
Da ich viel mit Szenen brauche, klappt das nur bedingt. Für Szenen habe ich verschiede ein/ aus Befehle...
ich habe mich mit blocky beschäftigt, dass ist dabei rausgekommen...
das würde mir die Szenen auslösen, aber ich hätte keine Synchrone Kontrolle (Visualisierung)
Ich bräuchte also noch einen weiteren Datenpunkt (zB. javascript.0.lmair.visualiseirung.xx der beobachten wird und basierend auf dem den Datenpunkt
javascript.0.lmair.szenenr.xx nur auf true/ false setzt, ohne dabei auszulösen…
Ansonsten habe ich ein heilloses durcheinander bzgl. der verschiedenen Stati... Puhh ist kompliziert
(der LM hat bisher keine Anbindung mit seiner Logik am iobroker)
-
Sorry, daß ich das Thema nochmals hochhole.
'request' sei depracted, liest man.
Soll man es dennoch verwenden, oder gibt es mittlerweile eine bessere Alternative um http Befehle abzusetzen?
Vielen Dank!