NEWS
Gelöst: In entfernten Datenpunkt schreiben
-
HAllo ich möchte mittels CloudPro in einen entfernten Datenpunkt schreiben,
leider komme ich nicht weiter:schedule("* * * * *", function () { var request = require('request'); var url="https://iobroker.pro/service/simpleApi/pro_giethoxxxx@gmail.com_xxxxxxxx0-6f11-xxxx-b7cc-d9eaa1exxxxxxx/set/javascript.0.Castrop.Wind?value=1"; request({url : url}, function (error, response, body) { log("Test"); }); });
Wie geht es richtig?
Michael -
hat sich erledigt...
-
@michihorn gilt auch für "set": https://forum.iobroker.net/topic/43441/gelöst-iobroker-pro-simpleapi-zugriff-blocked
Solltest du auch bei einem zusätzlichen Logging sehen (nach Zeile #7):
log("Fehler: "+error);
-
@porterricks ich möchte auf der entfernten Maschine den DP "javascript.0.Castrop.Wind beschreiben
-
@sborg bei mir ist nichts geblockt, simpleapi ist auch in der whitelist. ich kann ja auch Daten zyklisch abfragen, nur senden klappt nicht, vielleicht liegt es auch nur an der Syntax
Bei der zyklischen Abfrage bin ich wie folgt vorgegangen:
schedule("*/1 * * * *", function () { var request = require('request'); const linkTA = "https://iobroker.pro/service/simpleApi/@pro_giexxxx@gmail.com_xx6b3a40-6f11-xxxx-b7xx-d9eaa1e5xxxx/getPlainValue/zigbee.0.a4c1381cc1352235.temperature"; request(linkTA, function(error, response, body) { if (error) { log('Error from request:' + error, 'error'); } else { var result = JSON.parse(body); setState("javascript.3.Giethoorn.Temp.TA", result); log("Temp. Außen: " +result +" °C"); } }); });
Wie gesagt, das klappt, ich würde mir aber lieber Daten bei Änderung, senden lassen
-
@michihorn Da ich kein Pro nutze kann ich es leider nicht selbst testen. Dein JS sieht aber Ok aus, zumindest sehe ich keinen Fehler. Hast du mal die Antwort vom Server ausgegeben?
log(response);
-
@sborg sagte in In entfernten Datenpunkt schreiben:
log(response);
Ich habe jetzt Log Fehler und Response eingebaut. Daraus werde ich nicht wirklich schlaujavascript.3 (16368) script.js.Giethoorn.test: Fehler: null 11:05:00.088 info javascript.3 (16368) script.js.Giethoorn.test: {'statusCode':502,'body':'<!DOCTYPE html><html><head><title>ioBroker Cloud</title><meta name=\'viewport\' content=\'width=device-width, initial-scale=1.0\'><link rel=\'icon\' type=\'image/png\' href=\'img/favicon.png\'><link href=\'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css\' rel=\'stylesheet\' media=\'screen\'><link rel=\'stylesheet\' href=\'/css/style.css\'><script src=\'https://code.jquery.com/jquery.min.js\'></script><script src=\'js/translate.js\'></script><script>function getQueryVariable(variable) {\n var query = window.location.search.substring(1);\n var vars = query.split('&');\n var result = variable ? null : {};\n for (var i = 0; i < vars.length; i++) {\n var pos = vars[i].indexOf('=');\n var name;\n var val;\n if (pos !== -1) {\n name = vars[i].substring(0, pos);\n val = vars[i].substring(pos + 1);\n } else {\n name = vars[i];\n val = '';\n }\n\n if (variable && decodeURIComponent(name) === variable) {\n return decodeURIComponent(val);\n } else if (!variable) {\n result[name] = val;\n }\n }\n return variable ? null : result;\n}\n$( document ).ready(function () {\n $('.logo').click(function () {\n window.location = '/';\n });\n\n});</script></head><body><div class=\'container io-container\'><div class=\'layoutMain\'><div class=\'layoutHeader\'><div class=\'logo\'></div><a class=\'login-button translate\' href=\'/login\'>Sign In</a></div><div class=\'vertical-center-row\' style=\'height: calc(100% - 30px);\'><h1 class=\'translate\' style=\'text-align: center\'>No connection to home</h1></div></div></div><script>if (typeof systemDictionary !== 'undefined') {\n systemDictionary[\'Requested instance (web, admin, ...) is not started, has SSL or authentication enabled\'] = {\n \'en\': \'Requested instance (web, admin, ...) is not started or it has SSL/authentication enabled\',\n \'de\': \'Die angeforderte Instanz (Web, Admin, ...) wurde nicht gestartet oder SSL/Authentifizierung sind aktiviert\',\n \'ru\': \'Запрошенный экземпляр (веб, администратор, ...) не запущен или SSL/аутентификация включены\',\n \'pt\': \'A instância solicitada (web, admin, ...) não foi iniciada, tem SSL ou autenticação ativada\',\n \'nl\': \'Gevraagde instantie (web, admin, ...) is niet gestart, SSL of authenticatie ingeschakeld\',\n \'fr\': \'L'instance demandée (web, admin, ...) n'est pas démarrée, SSL ou l'authentification est activée\',\n \'it\': \'L'istanza richiesta (web, admin, ...) non è avviata, ha SSL o autenticazione abilitati\',\n \'es\': \'La instancia solicitada (web, admin, ...) no se inicia, tiene SSL o autenticación habilitada\',\n \'pl\': \'Żądana instancja (sieć, administrator, ...) nie jest uruchomiona, ma włączony protokół SSL lub uwierzytelnianie\',\n \'zh-cn\': \'请求的实例(Web,管理等)未启动,启用了SSL或身份验证\'\n };\n systemDictionary[\'Error\'] = {\n \'en\': \'Error\',\n \'de\': \'Error\',\n \'ru\': \'Ошибка\',\n \'pt\': \'Erro\',\n \'nl\': \'Fout\',\n \'fr\': \'Erreur\',\n \'it\': \'Errore\',\n \'es\': \'Error\',\n \'pl\': \'Błąd\',\n \'zh-cn\': \'错误\'\n };\n}</script><div class=\'footer container\'><a class=\'footer-link translate\' href=\'/about\'>About</a><a class=\'footer-link translate\' href=\'/policy\' id=\'privacy\'>Privacy Notice</a></div><script>if (typeof systemDictionary !== 'undefined') {\n systemDictionary[\'About\'] = {\'en\': \'Imprint\', \'de\': \'Impressum\', \'ru\': \'О фирме\'};\n systemDictionary[\'Sign Out\'] = {\'en\': \'Sign Out\', \'de\': \'Ausloggen\', \'ru\': \'Выйти\'};\n systemDictionary[\'Sign In\'] = {\'en\': \'Sign In\', \'de\': \'Einloggen\', \'ru\': \'Войти\'};\n systemDictionary[\'Account of\'] = {\'en\': \'Account of\', \'de\': \'Profil von\', \'ru\': \'Данные для\'};\n systemDictionary[\'Privacy Notice\'] = {\n \'en\': \'Privacy Notice\',\n \'de\': \'Datenschutzerklärung\',\n \'ru\': \'Уведомление о конфиденциальности\'\n };\n systemDictionary[\'Warning beta\'] = {\n en: \'This is beta version! If you have some problems, please contact us under info@iobroker.net\',\n de: \'Das ist eine Beta-Version! Wenn Sie Probleme haben, kontaktieren Sie uns bitte unter info@iobroker.net\',\n ru: \'Это бета-версия! При возникновении проблем, свяжитесь с нами по адресу info@iobroker.net\'\n };\n translateAll();\n var cabinetLocation = '';\n if (!cabinetLocation) {\n if (systemLang !== 'en') {\n document.getElementById('privacy').href = '/policy_' + systemLang;\n }\n }\n}</script></body></html>','headers':{'server':'nginx/1.10.3','date':'Sat, 08 Jan 2022 10:05:00 GMT','content-type':'text/html; charset=utf-8','content-length':'4773','connection':'close','x-powered-by':'Express','etag':'W/\'12a5-ThDIbK0ocUbdoDn2FB3Z7JLV4uI\''},'request':{'uri':{'protocol':'https:','slashes':true,'auth':null,'host':'iobroker.pro','port':443,'hostname':'iobroker.pro','hash':null,'search':'?value=1','query':'value=1','pathname':'/service/simpleApi/pro_giethxxxxxx@gmail.com_xxxxxxa40-6f11-xxxxx-b7cc-d9eaa1exx/setPlainValue/javascript.0.Castrop.Wind','path':'/service/simpleApi/pro_giethoxxxxxx@gmail.com_xxxxx3a40-xxx-11eb-b7cc-d9eaa1exxxxxxd/setPlainValue/javascript.0.Castrop.Wind?value=1','href':'https://iobroker.pro/service/simpleApi/pro_gietxxxxxx@gmail.com_436b3a40-xxxxx-11eb-xxx-d9eaa1e5xxxx/setPlainValue/javascript.0.Castrop.Wind?value=1'},'method':'GET','headers':{}}}
-
@michihorn Na damit kann man arbeiten
Das ist die Antwort der Web-Site:
No connection to home Requested instance (web, admin, ...) is not started, has SSL or authentication enabled
...und dann schau dir nochmals obigen Link an was da etwas weiter unten zu erkennen ist: "No connection..."
-
@sborg sagte in In entfernten Datenpunkt schreiben:
@michihorn Na damit kann man arbeiten
Das ist die Antwort der Web-Site:
No connection to home Requested instance (web, admin, ...) is not started, has SSL or authentication enabled
...und dann schau dir nochmals obigen Link an was da etwas weiter unten zu erkennen ist: "No connection..."
Vielen Dank...hab das "@" in der Cloud Pro Bezeichnung vergessen **@**pro_giethoorn20@gmail.com
Mein Testscript sieht jetzt so aus und tut was es soll:var request = require('request'); const idWind = "hm-rpc.2.00185BE98B3FCA.1.WIND_SPEED" on({ id: idWind, change: "ne" }, function () { var url="https://iobroker.pro/service/simpleApi/@pro_giethoorn20@gmail.com_xxxxxx-6x11-xxxx-bxxc-d9eaa1exxxxx/set/javascript.0.Castrop.Test?value="+getState(idWind).val; request({url : url}, function (error, response, body) { log("Änderung übertragen"); }); });