NEWS
iOS Device mit Jailbreak VIS/ioBroker Integration
-
@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