Hi sorry, habe ich nicht gesehen.
Danke fuer den Hinweis, werde mich da mit dran haengen.
NEWS
Latest posts made by cat1510
-
RE: New httpPost / httpGet / New Object - Wo ist die Ausgabe?
-
New httpPost / httpGet / New Object - Wo ist die Ausgabe?
Hi there!
Ich bin von der Community hier echt beeindruckt!
Es gab ein Update in dem JScript Adapter auf Version 7.9.0
Sehr sehr gut! Vor allem dass man nun 'einfach' http get and posts machen kann.Leider komme ich nicht weiter und weiss nicht, wo mein Fehler ist.
Super simpler Fehler bzw Unwissenheit.
In der / den Doku(s) habe ich noch nichts gefunden zur Benutzung der neuen Bloecke.Konkret habe ich nur folgendes:
Wie / woher bekomme ich denn das result / response oder what so ever?
Ich habe das vorher mal als proof of concept in bash mit curl gemacht und fluppt.
Das ist aber viel zu tief, denn ich scheiter nur an dem Punkt den response in eine Variable zu schreiben und dann damit weiter zu arbeiten. Jemand einen kurzen Tipp?Kann ich dem 'New object' auch einen Namen geben?
Wie heisst es denn, wenn er es anlegt?
Woher kann ich das wissen?Danke!
Das Bash Script ist wie gesagt, nur als sample, damit man besser versteht, was erreicht werden soll.
Die Fragen sind aber viel wichtiger.
Ich moechte das in blockly machen, damit das auch jemand anderes ohne Syntax Kenntnisse machen kann.#!/bin/bash #set -x vAPIURL="https://localhost:8043/openapi/authorize/token?grant_type=client_credentials" vOMADAC_ID="25e7cd18xxxxxxxxxxxxxxxxxxdca278" vCLIENT_ID="00c3xxxxxxxxxxxxxxxxxx795043" vCLIENT_SECRET="30bd2exxxxxxxxxxxxxxxxx9eec5712ed" vAPITOKEN=$(curl -s -k -X POST "$vAPIURL" -H 'content-type:application/json' -d "{\"omadacId\": \"$vOMADAC_ID\", \"client_id\": \"$vCLIENT_ID\", \"client_secret\": \"$vCLIENT_SECRET\"}" | jq -r '.result.accessToken') echo "APITOKEN: $vAPITOKEN" vAPIURL="https://localhost:8043/openapi/v1/$vOMADAC_ID/sites?pageSize=1&page=1" vSITE_ID=$(curl -s -k -X GET "$vAPIURL" -H 'content-type:application/json' -H "Authorization:AccessToken=$vAPITOKEN" | jq -r '.result.data[].siteId') echo "SITE_ID: $vSITE_ID" vAPIURL="https://localhost:8043/openapi/v1/$vOMADAC_ID/sites/$vSITE_ID/clients?pageSize=100&page=1&searchKey=HomeSweetHome" vDEVICES_ONLNE=$(curl -s -k -X GET "$vAPIURL" -H 'content-type:application/json' -H "Authorization:AccessToken=$vAPITOKEN" ) echo "DEVICES_ONLNE: $vDEVICES_ONLNE" echo -e "\n\n" echo $vDEVICES_ONLNE | jq '.result.data[].active'
-
RE: Java Script https selfsigned certificate
Hi,
vielen Dank fuer Deine Antwort / Anleitung.
Es funktioniert so wie beschrieben auf jeden Fall.
Man konnte noch ergaenzen, dass mal den iobroker einmal neu starten muss.Leider bin ich immer noch zu doof das Ergebnis(result) in eine Variable schreiben zu lassen und damit weiter zu arbeiten.
Zum Glueck gab es in der Zwischenzeit ein Blockly update.
Damit glaube ich auch, dass das hier obsolete ist und man Script Engine ab 7.9.0 verwenden sollte.
Vielen Danke fuer Deine Hilfe auf jeden Fall...LG
-
RE: Javascript Adapter 7.8.0 stuerzt ab
Hi, bei mir stuerzt er auch einfach ab seit Update auf 7.9.0.
Alles was hier geraten wurde habe ich schon gemacht.
Es erscheint tatsaechlich nicht viel im Log.Habe nun mal ALLE scripts geloescht und bin zu stable repo gegangen.
Das ist Version 5.7.9 glaub ich, laeuft sofort.2024-03-15 13:03:22.648 - ESC[32minfoESC[39m: javascript.0 (14113) starting. Version 7.9.0 in /opt/iobroker/node_modules/iobroker.javascript, node: v18.17.1, js-controller: 5.0.19 2024-03-15 13:03:22.686 - ESC[32minfoESC[39m: javascript.0 (14113) requesting all states 2024-03-15 13:03:22.687 - ESC[32minfoESC[39m: javascript.0 (14113) requesting all objects 2024-03-15 13:03:22.981 - ESC[32minfoESC[39m: javascript.0 (14113) received all objects 2024-03-15 13:03:22.995 - ESC[32minfoESC[39m: javascript.0 (14113) received all states 2024-03-15 13:03:23.106 - ESC[31merrorESC[39m: javascript.0 (14113) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2024-03-15 13:03:23.106 - ESC[31merrorESC[39m: javascript.0 (14113) unhandled promise rejection: Invalid time value 2024-03-15 13:03:23.107 - ESC[31merrorESC[39m: javascript.0 (14113) RangeError: Invalid time value at Date.toISOString (<anonymous>) at sunTimeSchedules (/opt/iobroker/node_modules/iobroker.javascript/main.js:1477:82) 2024-03-15 13:03:23.107 - ESC[31merrorESC[39m: javascript.0 (14113) Invalid time value 2024-03-15 13:03:23.111 - ESC[32minfoESC[39m: javascript.0 (14113) terminating 2024-03-15 13:03:23.112 - ESC[33mwarnESC[39m: javascript.0 (14113) Terminated (UNCAUGHT_EXCEPTION): Without reason 2024-03-15 13:03:23.610 - ESC[32minfoESC[39m: javascript.0 (14113) terminating
-
Java Script https selfsigned certificate
Hi zusammen,
seit nunmehr 2 Wochen versuche ich in JScript einen 'API' Call zu machen.
Zuerst war meine Idee, in Blockly den Exec Block zu benuten und einfach 'curl' als Befehl, dann Java Script mit fetch() oder XMLHTTPRequest, ALLES funktioniert nicht.Chat-GPT hat mir 1000 Scripte geliefert, die alle nicht funktionieren.
Dann habe ich mehr oder weniger durch Zufall hier im Forum alle moeglichen Threads dazu gelesen. Alles keine Loesung oder augenscheinlich nichtmal funktional.Nun habe ich ENDLICH den Fehler gefunden.
Es ist ein selfsigned SSL Zertifikat, welches die WebSite (Unifi-Controller) zurueck gibt. Das bricht der 'request' im JScript Editor aber ab.Warum gibt es im ioBroker - JScript Adapter kein fetch()?
Was muss man dafuer tun? Im unterliegenden node 18.x.x ist es drin und funktioniert.
Von der Struktur unter ioBroker / node habe ich keine Ahnung, daher kann die Frage auch dumm sein.Aber nun meine eigentliche Frage:
Wie kann ich im JScript Editor im ioBroker einen selfsigned https POST mit JSON daten absetzen?
Weil request ist ja im ioBroker, habe ich im manual gefunden, aber das benoetigt auch htttps...Habt Ihr eine kurze Idee oder einen Link um mich in die richtige Richtung zu schubsen?
Oder soll ich npm install fetch-node?
Oh - und nein der Unifi Adapeter ist KEINE Loesung.
Zu unzuverlaessig in 3 Installationen, das schreib ich lieber selber.Vielen Dank fuer einen Tip.