NEWS
iOS Device mit Jailbreak VIS/ioBroker Integration
-
@el_malto Jap immer, nur wenn ich OpenSSH neu installiere klappt es ne zeitlang. iNoSleep hab ich schon installiert. Wenn ich -vvv dazu gebe bekomme ich folgendes, wirklich schlau werde ich daraus allerdings nicht:
OpenSSH_8.1p1, LibreSSL 2.7.3 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 47: Applying options for * debug2: resolve_canonicalize: hostname 192.168.xxx.xxx is address debug2: ssh_connect_direct debug1: Connecting to 192.168.xxx.xxx [192.168.xxx.xxx] port 22. debug1: Connection established. debug1: identity file /Users/namel/.ssh/id_rsa type -1 debug1: identity file /Users/name/.ssh/id_rsa-cert type -1 debug1: identity file /Users/name/.ssh/id_dsa type -1 debug1: identity file /Users/name/.ssh/id_dsa-cert type -1 debug1: identity file /Users/name/.ssh/id_ecdsa type -1 debug1: identity file /Users/name/.ssh/id_ecdsa-cert type -1 debug1: identity file /Users/name/.ssh/id_ed25519 type -1 debug1: identity file /Users/name/.ssh/id_ed25519-cert type -1 debug1: identity file /Users/name/.ssh/id_xmss type -1 debug1: identity file /Users/name/.ssh/id_xmss-cert type -1 debug1: Local version string SSH-2.0-OpenSSH_8.1 kex_exchange_identification: Connection closed by remote host
Wenn ich lokal auf dem iPad versuche über ein Terminal zu benutzen bekomme ich:
ssh exchange identification: Connection closed by remote host
Ich kenn mich nicht wirklich aus damit, aber zur Lösung hat mir das auch noch nicht geholfen...
-
@smet-o wenn das immer passiert dann hat es mit iNoSleep nichts zu tun sondern ist ein anderer Fehler.
Komisch ist, dass es nach dem installieren funktioniert und danach nicht mehr. Vielleicht crashed OpenSSH oder so. Vielleicht mal CrashReporter oder Cr4shed aus Cydia installieren. Die zeigen dir an wenn Prozesse oder so crashen.
Ansonsten vielleicht mal Dropbear ausprobieren. Das ist auch ein SSH Server. Weiß allerdings nicht ob der mit iOS 9 kompatibel ist. -
Also für alle die noch nach ner Lösung suchen... Ich habe das jetzt aktuell so gemacht:
Vorraussetzung ist Jailbreak. Habe die o.g. Sachen installiert - aber keine Ahnung ob Nötigconst node_ssh = require('node-ssh').NodeSSH; const ssh = new node_ssh(); ssh.connect({ host: '192.168.178.236', username: 'root', password: 'alpine' }).then(() => { setInterval(async function () { ssh.execCommand("ioreg -l -w0 | grep CurrentCapacity | head -1").then((function(result3) { var str = result3.stdout; var res = str.split(' '); var res1 = res[res.length - 1]; setState('vis.0.iPad_von_henri.battery.level', parseInt(res1)); } )); setTimeout(async function () { ssh.execCommand("ioreg -l -w0 | grep power").then((function(result3) { var str = result3.stdout; var str1 = str.match(/power status"=(.*?)"/ig); var str2 = str.search(/power status"=Yes/); if (str2 >=1){ setState('vis.0.iPad_von_henri.battery.state', "2"); }else{ setState('vis.0.iPad_von_henri.battery.state', "1"); } } )); }, 2000); }, 60000);} )
Damit bekommt Ihr Batteriestatus und Ladestatus in n DP geschrieben
PS ist quick n dirty... es Funktioniert. Fertig
-
@backfisch88 Guten Abend,
ich habe dieses Script kopiert und angepasst. (Host, username, password und die drei Datenpunkte)
Es läuft bei mir ca. 2 Tage, danach bekomme ich folgende Fehlermeldung (siehe Bild), kann mit bitte jemand helfen?
Das iPad Air is gejailbreakt und wird mittels Bewegungsmelder Aufgeweckt, dass funktioniert ganz gut und per DimMe wieder gesperrt.Fehlermeldung:
-
@aragon
1.) Sich an einen steinalten Thread dranzuhängen ist nicht wirklich sinnvoll. Inzwischen hat sich die Welt etwas weitergedreht.
2.) Auch ein ebenso altes Script zu übernehmen kann funktionieren, muss aber nicht.
3.) Texte bitte in Code-Tags </> einschließen und nicht als Screenshot -
@codierknecht Okay hier als Code-Tag.
2022-12-05 08:59:29.285 - [31merror[39m: javascript.0 (21463) script.js.common.Tablet.Tablet_Laden.Tablet_EG_Akkustand: Error: Not connected to server 2022-12-05 08:59:29.285 - [31merror[39m: javascript.0 (21463) at NodeSSH.getConnection (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-ssh/lib/cjs/index.js:119:19) 2022-12-05 08:59:29.286 - [31merror[39m: javascript.0 (21463) at NodeSSH.execCommand (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-ssh/lib/cjs/index.js:281:33) 2022-12-05 08:59:29.286 - [31merror[39m: javascript.0 (21463) at Object.<anonymous> (script.js.common.Tablet.Tablet_Laden.Tablet_EG_Akkustand:29:5) 2022-12-05 08:59:29.286 - [31merror[39m: javascript.0 (21463) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2362:34) 2022-12-05 08:59:29.286 - [31merror[39m: javascript.0 (21463) at listOnTimeout (internal/timers.js:557:17) 2022-12-05 08:59:29.286 - [31merror[39m: javascript.0 (21463) at processTimers (internal/timers.js:500:7)
-
@codierknecht Kann mir Bitte jemand helfen?
Hat vielleicht jemand ein funktionierendes Script für mich?
Ich nutze die iObroker App um meine Visualisierung, die ich mit iqontrol erstellt habe anzuzeigen.
Den Akkustand kann ich darüber leider nicht beziehen, um mein Tablet Smart zu Laden.
Mittlerweile läuft das Script 3 Stunden stabil, danach kommen diese Fehlermeldungen und der Akkustand, wird nicht mehr Übertragen. -
Wenn es ein paar Stunden funktioniert ist das Skript ja noch richtig.
Du siehst im Log doch schon woran es liegt.2022-12-05 08:59:29.285 - [31merror[39m: javascript.0 (21463) script.js.common.Tablet.Tablet_Laden.Tablet_EG_Akkustand: Error: Not connected to server
und
2022-12-05 08:59:29.286 - [31merror[39m: javascript.0 (21463) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2362:34)
IP Broker kann keine SSH Verbindung mehr zum iPad aufbauen. Sehr wahrscheinlich geht dein iPad in einen Ruhemodus und stellt die W-Lan Verbindung ab. Bei den Apple Geräten hat man leider keine 100%ige Kontrolle wann und wie was abgeschaltet werden soll.
Vielleicht könnte man die W-Lan Verbindung mit einen "Dauerping" o.ä. aufrecht erhalten. Müsstest du mal probieren und testen. Oder je nachdem was für eine iOS Version du hast die oben ganannten Tweaks die auch verhindern das sich das Gerät in den Ruhemodus versetzt.
Paar mehr Infos von dir wären vielleicht hilfreich. -
@el_malto Habe diese Fehlermeldung erhalten, ich vermute, dass es daran liegen könnte.
javascript.0 2022-12-28 20:34:09.497 error An error happened which is most likely from one of your scripts, but the originating script could not be detected.
javascript.0 2022-12-28 20:34:09.517 error Error: (SSH) Channel open failure: open failed
javascript.0 2022-12-28 20:34:09.537 error Error: (SSH) Channel open failure: open failed at onChannelOpenFailure (/opt/iobroker/node_modules/ssh2/lib/utils.js:16:11) at CHANNEL_OPEN_FAILURE (/opt/iobroker/node_modules/ssh2/lib/client.js:510:11) at 92 (/opt/iobroker/node_modules/ssh2/lib/protocol/handlers.misc.js:810:16) at Protocol.onPayload (/opt/iobroker/node_modules/ssh2/lib/protocol/Protocol.js:2025:10) at ChaChaPolyDecipherBinding.decrypt (/opt/iobroker/node_modules/ssh2/lib/protocol/crypto.js:851:26) at Protocol.parsePacket [as _parse] (/opt/iobroker/node_modules/ssh2/lib/protocol/Protocol.js:1994:25) at Protocol.parse (/opt/iobroker/node_modules/ssh2/lib/protocol/Protocol.js:293:16) at Socket.<anonymous> (/opt/iobroker/node_modules/ssh2/lib/client.js:713:21) at Socket.emit (events.js:400:28) at addChunk (internal/streams/readable.js:293:12) at readableAddChunk (internal/streams/readable.js:267:9) at Socket.Readable.push (internal/streams/readable.js:206:10) at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
Vielleicht ist dass Aussagekräftig.
Ich verstehe nur, dass es einen fehler beim öffnen der SSH Verbindung gibt.
Die Fehlermeldung wurde 10 Mal innerhalb einer Sekunde Protokolliert.Eben kamen diese Fehlermeldungen dazu:
javascript.0 2022-12-28 22:27:49.256 error Error: read EHOSTUNREACH at TCP.onStreamRead (internal/stream_base_commons.js:209:20) javascript.0 2022-12-28 22:27:49.256 error Error: read EHOSTUNREACH javascript.0 2022-12-28 22:27:49.254 error An error happened which is most likely from one of your scripts, but the originating script could not be detected.
-
@aragon
Hast du das Modul node-ssh überhaupt im JavaScript Adapter eingetragen? -
@haselchen Ja habe ich
-
@aragon kannst du denn wenn der Fehler bei ioBroker auftritt per Putty (Windows) oder Terminal (Mac/Linux) eine SSH Verbindung aufbauen? Wenn das schon nicht geht, liegt es ja wie von mir bereits schon geschrieben am Gerät und es müsste da nach Fehler gesucht werden wie ebenfalls schon geschrieben, dass das Gerät vielleicht in einen Ruhemodus geht und WLan abschaltet.
Da das Skript ja erst funktioniert und nach drei Stunden nicht mehr würde ich den Fehler am Gerät vermuten.
Hast du schon mal einen Dauerping oder die Tweaks versucht? Du müsstest da schon ein bisschen mithelfen und input liefern was du schon versucht hast. Das keine Verbindung mehr aufgebaut werden kann wissen wir ja schon vom ersten Post