NEWS
[Erledigt] Wie kann ich mit atom.io einen Adapter debuggen?
-
ich hoffe irgendjemand von Euch nutzt den Editor atom.io für die Adapter Entwicklung. Kann mir jemand erklären wie ich mit dem atom.io einen Adapter debugge (Konfiguration und Package des Debugers)?
Für den Editor Webstorm gibt es eine super Anleitung (https://github.com/ioBroker/ioBroker/wi … buntu-1404).
-
Ich kann es Dir nicht mehr genau sagen … Ist schon ne Weile her.
Es gibt für Atom zwei relevante Plugins die zuletzt aber Bugs hatten mit genau der "remote connection".
Also Wenn Du den Adapter (und iobroker) lokal laufen hast dann geht es. Ansonsten muss man schauen ob der Bug inzwischen weg ist.
Einer war "XAtom-debug" und einer war "node-debugger".
Grundsätzlich kannst DU einen Adapter manuell an der Kommandozeile starten mit
node node_modules/iobroker.meinadapter/main.js --force --logs
Und da musst Du dann noch Parameter angeben das es Debugging Daten auf Port weissnimmer bereitstellt. Und auf den connectest du
Bei Local kannst DU direkt in den Debugger-Plugins die Kommandozeile angeben vom Skript und so direkt im Debug Modus starten.
Hilft das weiter?
Ich fand vor allem xdebug in der Oberfläche gut und hilfreich, deswegen habe ich am ehesten damit gespielt, aber hier war ich in https://github.com/xatom-plugins/xatom- … s/issues/7 gerannt ... (letzter Post scheint eine Lösung anzugeben ... noch nicht versucht)
... und ganz neu gibts wohl direkt wenn Du die neue JS IDE von Atom nimmst noch atom-ide-debugger-node ... aber auch nicht getestet und kann wohl nur auf einen Port connecten
Vllt fällt bei Dir ja ein Howto raus :-))
-
Ich hoffe ich habe es richtig verstanden. Ich habe jetzt auf meinem Entwicklungsrechner ioBroker unter /opt/iobroker installiert. Den Adapter den ich entwickle liegt dann unter /opt/iobroker/node_modules/iobroker.meinadapter. Soweit so gut! Debuggen mit atom.io funktioniert mit xatom-debug auch. Dafür habe ich eine Instanz von meinem Adapter iobroker.meinadapter erstellt und diesen konfiguriert und dann die Instanz deaktiviert. Nun starte ich mit xatom-debug "node /opt/iobroker/node_modules/iobroker.meinadapter/main.js –force --logs" die Instanz. Ich hoffe das ist der richtige Weg?
Nun habe ich aber folgendes Problem, wenn ich nun die Files unter /opt/iobroker/node_modules/iobroker.meinadapter anpasse z.B. die README.md, ist die Änderung in ioBroker nicht sichtbar. Ich kann den Adapter deinstallieren und neu installieren. Erst dann sind die Änderungen sichtbar, aber damit verschwindet ja mein Verzeichnis iobroker.meinadapter. Das muss ich jedesmal vorher kopieren und anschließend wieder mit den geänderten Files zurück kopieren. Wenn ich vergesse das Verzeichnis iobroker.meinadapter zu kopieren, ist alles weg! Gibt es eine bessere Möglichkeit? Mache ich etwas falsch?
-
@tstueben:Ich hoffe ich habe es richtig verstanden. Ich habe jetzt auf meinem Entwicklungsrechner ioBroker unter /opt/iobroker installiert. Den Adapter den ich entwickle liegt dann unter /opt/iobroker/node_modules/iobroker.meinadapter. Soweit so gut! Debuggen mit atom.io funktioniert mit xatom-debug auch. Dafür habe ich eine Instanz von meinem Adapter iobroker.meinadapter erstellt und diesen konfiguriert und dann die Instanz deaktiviert. Nun starte ich mit xatom-debug "node /opt/iobroker/node_modules/iobroker.meinadapter/main.js –force --logs" die Instanz. Ich hoffe das ist der richtige Weg? `
Sollte klappen. Wie geschrieben musst Du ggf noch einen weiteren Parameter zu node angeben das der in den Debug-Modus geht (–inspect oder debug-brk oder sowas)
@tstueben:Nun habe ich aber folgendes Problem, wenn ich nun die Files unter /opt/iobroker/node_modules/iobroker.meinadapter anpasse z.B. die README.md, ist die Änderung in ioBroker nicht sichtbar. Ich kann den Adapter deinstallieren und neu installieren. Erst dann sind die Änderungen sichtbar, aber damit verschwindet ja mein Verzeichnis iobroker.meinadapter. Das muss ich jedesmal vorher kopieren und anschließend wieder mit den geänderten Files zurück kopieren. Wenn ich vergesse das Verzeichnis iobroker.meinadapter zu kopieren, ist alles weg! Gibt es eine bessere Möglichkeit? Mache ich etwas falsch? `
"iobroker upload meinadapter" aktualisiert deine Änderungen für Admin, io-package.json und so. Die README wird dachte ich vom Github geladen und nicht lokal …hilft das schon?
-
@tstueben:Ich hoffe ich habe es richtig verstanden. Ich habe jetzt auf meinem Entwicklungsrechner ioBroker unter /opt/iobroker installiert. Den Adapter den ich entwickle liegt dann unter /opt/iobroker/node_modules/iobroker.meinadapter. Soweit so gut! Debuggen mit atom.io funktioniert mit xatom-debug auch. Dafür habe ich eine Instanz von meinem Adapter iobroker.meinadapter erstellt und diesen konfiguriert und dann die Instanz deaktiviert. Nun starte ich mit xatom-debug "node /opt/iobroker/node_modules/iobroker.meinadapter/main.js –force --logs" die Instanz. Ich hoffe das ist der richtige Weg? `
Sollte klappen. Wie geschrieben musst Du ggf noch einen weiteren Parameter zu node angeben das der in den Debug-Modus geht (–inspect oder debug-brk oder sowas) `
ja, das funktioniert super! Ich bin begeistert! atom.io bzw. xatom-debuger ruft node mit dem paramter –inspect-brk=port auf.
@tstueben:Nun habe ich aber folgendes Problem, wenn ich nun die Files unter /opt/iobroker/node_modules/iobroker.meinadapter anpasse z.B. die README.md, ist die Änderung in ioBroker nicht sichtbar. Ich kann den Adapter deinstallieren und neu installieren. Erst dann sind die Änderungen sichtbar, aber damit verschwindet ja mein Verzeichnis iobroker.meinadapter. Das muss ich jedesmal vorher kopieren und anschließend wieder mit den geänderten Files zurück kopieren. Wenn ich vergesse das Verzeichnis iobroker.meinadapter zu kopieren, ist alles weg! Gibt es eine bessere Möglichkeit? Mache ich etwas falsch? `
"iobroker upload meinadapter" aktualisiert deine Änderungen für Admin, io-package.json und so. Die README wird dachte ich vom Github geladen und nicht lokal …hilft das schon? `
Du hast recht, die README.md wird direkt von GitHub gelesen. Jetzt habe ich mal eine Änderung an der admin/index_m.html und io-package.json vorgenommen. Da muss ich den Adapter erst deinstallieren und neu installieren. Erst dann sehe ich die Änderungen in ioBroker. Ich hoffe es gibt eine elegantere Lösung?
-
Liess nochmal meine letzte Antwort:
iobroker upload meinadapter
ist dein Kommando
-
Liess nochmal meine letzte Antwort:
iobroker upload meinadapter
ist dein Kommando `
das hatte ich überlesen! Danke, Du hast mir sehr geholfen! Jetzt bin ich happy! Entwicklung, Debuggen und Anbindung an GitHub funktioniert mit atom.io. Wie einfach ist SAP dagegen