NEWS

[Gelöst] Zusätzliche Module für Javascript nicht verfügbar


  • Hallo zusammen.

    Nach langer Zeit habe ich mal wieder ein kleines Problem.
    Ich hoffe das mir evtl. jemand helfen kann dieses Problem zu lösen.

    Erstmal zum System

    • Platform : Windows
    • os : win32
    • Architecture : x64
    • Node.js : v10.17.0
    • NPM : v6.11.3
    • js-controller : 3.1.4
    • JavaScript Engine : 4.6.17

    Ich Versuche nun über folgendes Script einen SSH Befehl abzusetzen.

    function rollozu() {
               setState("javascript.0.WZ.Rollo.state", "zu")
               var SSH = require("simple-ssh");
               var ssh = new SSH({
                    host: '--ip adresse--',
                    port: --ssh port--,
                    user: '--username--',
                    pass: '--passwort--'
               });
               ssh.exec('echo "user"|sudo python /home/pi/rollo-zu.py').start();  
        }
    

    Simple-SSH ist bei zusätzlichen Modulen eingetragen. Leider meldet das Script den Fehler

    cannot find module 'simple ssh'

    Auch andere Scripte die 'xml2js' o.ä. verwenden melden jetzt Fehlende Module.

    • Habe Javascript neu installiert.
    • Module entfernt und hinzugefügt.
    • Iobroker neu installiert.
    • Manuelle Updates und Adapter Installation.

    Hat vielleicht irgendjemand noch eine Idee wie ich das Problem loswerde?
    Wie ich die lieben Module wieder greifbar machen kann?
    Wäre für jeden Vorschlag überaus dankbar.

    Liebe Grüße von der Nordsee

  • Developer

    @ultr4low sagte in [Problem] Zusätzliche Module für Javascript nicht verfügbar:

    cannot find module 'simple ssh'

    Ist das ein Fehler beim Editieren oder bei der Ausführung?


  • Hui. das ging schnell Danke.

    wird beim editieren angezeigt

  • Developer

    @ultr4low Hast du sie denn hier auch eingetragen?
    4f510e54-33cc-4e70-872d-253c6beb0bc6-grafik.png

    Solange es beim Ausführen funktioniert, kannst du den "Fehler" beim Editieren ignorieren. Du bekommst nur keine Unterstützung was die vorhandenen Methoden angeht.


  • hatte es erst nur oben - bei zus. NPM Module.
    später auch unten eingetragen.
    ohne Veränderung
    2020-06-08 19_56_32-javascript - ioBroker.jpg


  • @AlCalzone ich versuche es gleich mal ob es so läuft...
    ich fresse einen Besen wenn das geht 🙂

  • Developer

    @ultr4low Ich sehe gerade, für simple-ssh gibt es keine Typdefinitionen. Ich schaue mir bei Gelegenheit mal an, wie man den Fehler in dem Fall unterdrücken kann.


  • @AlCalzone Bei der Ausführung kommt folgende Meldung

    20:05:27.559 warn javascript.0 (7084) at rollozu (script.js.common.SSH_1:12:12)
    20:05:27.559 warn javascript.0 (7084) at Object.<anonymous> (script.js.common.SSH_1:5:9)

    Leider kommt der Befehl auch anscheinend nicht an.

    hier das vollständige Script. Sorry für die unsinnigen Logs. Bin extremer Anfänger 😕

    on('tuya.0.08550062cc50e32564d9.1', function(dp) {
        log("etwas ist passiert")
        if (dp.state.val){
            log("habe zu gemacht")
            rollozu()
        } else {
            log("habe auf gemacht") 
        }   
    });
    
    function rollozu() {
               setState("javascript.0.WZ.Rollo.state", "zu")
               var SSH = require("simple-ssh");
               var ssh = new SSH({
                    host: '192.168.0.1',
                    port: 22,
                    user: 'pi',
                    pass: 'raspberry'
               });
               ssh.exec('echo "user"|sudo python /home/pi/rollo-zu.py').start();  
        }
    

  • @AlCalzone Vielen Dank!

  • Developer

    @ultr4low sagte in [Problem] Zusätzliche Module für Javascript nicht verfügbar:

    20:05:27.559 warn javascript.0 (7084) at rollozu (script.js.common.SSH_1:12:12)
    20:05:27.559 warn javascript.0 (7084) at Object.<anonymous> (script.js.common.SSH_1:5:9)

    Da gibt es garantiert mehr Infos, die du im Skript-Log nicht siehst. Schau mal bitte im "richtigen" ioBroker-Log ob das vollständiger ist.

    Bzw. änder mal den Befehl so ab, dass man Fehler sieht:
    Zeile 20 ->

    ssh.exec('echo "user"|sudo python /home/pi/rollo-zu.py', {
        err: stderr => log(stderr, "error")
    }).start();
    

  • Jepp - da ist mehr 😉

    
    
    javascript.0	2020-06-08 20:13:02.694	warn	(7084) at process.topLevelDomainCallback (domain.js:126:23)
    javascript.0	2020-06-08 20:13:02.694	warn	(7084) at processImmediate (timers.js:658:5)
    javascript.0	2020-06-08 20:13:02.694	warn	(7084) at tryOnImmediate (timers.js:676:5)
    javascript.0	2020-06-08 20:13:02.694	warn	(7084) at runCallback (timers.js:705:18)
    javascript.0	2020-06-08 20:13:02.694	warn	(7084) at Immediate.setImmediate (C:\Program Files\iobroker\IO\node_modules\iobroker.js-controller\lib\adapter.js:5384:37)
    javascript.0	2020-06-08 20:13:02.694	warn	(7084) at Object.stateChange (C:\Program Files\iobroker\IO\node_modules\iobroker.javascript\main.js:451:25)
    javascript.0	2020-06-08 20:13:02.693	warn	(7084) at Object.callback (C:\Program Files\iobroker\IO\node_modules\iobroker.javascript\lib\sandbox.js:1052:38)
    javascript.0	2020-06-08 20:13:02.693	warn	(7084) at Object.<anonymous> (script.js.common.SSH_1:5:9)
    javascript.0	2020-06-08 20:13:02.693	warn	(7084) at rollozu (script.js.common.SSH_1:12:12)
    javascript.0	2020-06-08 20:13:02.693	warn	(7084) at setState (C:\Program Files\iobroker\IO\node_modules\iobroker.javascript\lib\sandbox.js:1355:20)
    javascript.0	2020-06-08 20:13:02.692	warn	(7084) State "javascript.0.WZ.Rollo.state" not found
    javascript.0	2020-06-08 20:13:02.692	info	(7084) script.js.common.SSH_1: habe zu gemacht
    javascript.0	2020-06-08 20:13:02.691	info	(7084) script.js.common.SSH_1: etwas ist passiert
    javascript.0	2020-06-08 20:13:00.021	info	(7084) script.js.common.SSH_1: habe auf gemacht
    javascript.0	2020-06-08 20:13:00.020	info	(7084) script.js.common.SSH_1: etwas ist passiert
    
    
  • Developer

    @ultr4low sagte in [Problem] Zusätzliche Module für Javascript nicht verfügbar:

    State "javascript.0.WZ.Rollo.state" not found

    Den State gibts nicht. Musst du einmalig anlegen, z.B. mit createState

    Siehe noch mein Kommentar oben zum SSH-Log


  • Ohhh.. was ist das denn... wieso geht das denn jetzt??

    Habe nachdem ich das log gepostet habe gesehen das kein Fehler mehr da steht.
    und beim erneutet ausführen höre ich den Motor surren.

    Es tut mir sooo leid. ich dachte ich hätte mich mit einem echten Problem gemeldet.
    Helfe mir zu 99% mit dem Forum. aber diesmal steckte ich fest.

    ich freue mich gerade so sehr. Versuche das seit Freitag.

    Danke Danke Danke!!!

Suggested Topics

  • 8
  • 8
  • 5
  • 17
  • 6
  • 6
  • 9
  • 18

1.7k
Online

36.9k
Users

42.6k
Topics

591.0k
Posts