Fhem Development Environment

Begonnen von Loredo, 19 Februar 2017, 15:13:27

Vorheriges Thema - Nächstes Thema

Loredo

Hi,

ich habe gerade auf eine Anfrage zu einer FHEM Entwicklerumgebung / IDE geantwortet:
https://forum.fhem.de/index.php/topic,67402.msg588635.html#msg588635

Da dachte ich mir, ich verlinke das hier mal und rege an, dass man vielleicht mal eine Best Practice Seite im Wiki dazu ergänzen könnte.


Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Sidey

Passt jetzt thematisch nicht komplett ganz aber am Rande doch.

Ich habe mir schon mehrfach Gedanken darüber gemacht, wie man seine Änderungen testen könnte, ohne in Fhem zu starten.

Mein Ansatz war, die Module zu laden und die Funktionen aufzurufen.
Das klappt aber leider nicht, da die Module ja Variablen aus Fhem.pl nutzen.

Hat da jemand noch eine Idee?

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

Thorsten Pferdekaemper

Hi,
als "IDE" reicht mir komplett WinSCP und notepad++. Das einzige was mir fehlt ist ein Debugger. Hat dazu jemand eine Idee?

Zitat von: Sidey am 24 Februar 2017, 15:39:21
Ich habe mir schon mehrfach Gedanken darüber gemacht, wie man seine Änderungen testen könnte, ohne in Fhem zu starten.
[...]
Hat da jemand noch eine Idee?
Ein zweites FHEM installieren, am besten auf einer eigenen Entwicklungskiste. Auf dem "Produktivsystem" zu entwickeln halte ich für etwas "mutig".
Gruß,
   Thorsten
FUIP

zap

MacOS als Entwicklungs-Client. Dazu Textwrangler als Editor, mit dem man direkt per SFTP Dateien vom FHEM-Pi öffnen und editieren kann. Für mich die ideale Umgebung.

Ein Debugger würde mir auch helfen. Habe aber noch nie einen Perl Debugger gesehen. Wenn man Umgebungen wie Xcode oder Visual Studio gewohnt ist, ist die Entwicklung in Perl und v.a. die Fehlersuche schon eine Qual. Da muss man wie in der IT-Steinzeit mit Log-Statements arbeiten.

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Thorsten Pferdekaemper

Zitat von: zap am 24 Februar 2017, 18:48:04
Ein Debugger würde mir auch helfen. Habe aber noch nie einen Perl Debugger gesehen.
Also im Prinzip...
http://perldoc.perl.org/perldebug.html
Hab ich aber auch noch nicht ausprobiert.
Gruß,
    Thorsten
FUIP

zap

Interessant! Muss ich mir mal genauer anschauen (mit perl -d fhem.pl und so).

Wenn es dann in Richtung Subprozesse oder Threads geht, dürfte es schwierig werden. Aber besser als nichts.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Thorsten Pferdekaemper

Hi,
ich habe das mit dem -d mal ausprobiert. Es funktioniert. Man sollte halt nur vorher "attr global nofork 1" machen.
Ein paar Features sind schon ganz nett...
Gruß,
   Thorsten
FUIP