alternative Steuerung von FHEM mit Hilfe Scripten

Begonnen von dieter56, 08 April 2019, 14:33:09

Vorheriges Thema - Nächstes Thema

dieter56

Hallo liebe fhem-Gemeinde.
Ich hatte in meiner fhem-Installation ca. 60 DOIFs, 30 NOTIFYSs und etliche ATs. Dazu gehörten etliche Dummys um sie zu verknüpfen. Weiterhin sind im laufe der Jahre einige Perl-Scripts dazu gekommen. Das ganze System wurde im Laufe der Jahre immer unübersichtlicher.
Parallel dazu wuchs der Wunsch, die gesamte Steuerung mit einer eigenen Scriptsprache möglich zu machen.
Ich habe vor zwei Jahren damit begonnen eine derartige Scriptsprache zu konzipieren und einen Interpreter dafür zu schreiben. Die so entstandenen Module 98_lambda.pm und 98_lambdaDevices.pm laufen seit vielen Monaten bei mir sehr stabil.
DOIFs, NOTIFYs und ATs konnte ich komplett ersetzen und eigene Perl-Scripte brauche ich nicht mehr. Meine gesamte Steuerung ist wesentlich übersichtlicher und damit einfacher geworden.
Vielleicht hat der eine oder andere Lust damit etwas auszuprobieren und mir mit ein paar Anregungen bei der Weiterentwicklung zu helfen.
Ich habe für das Modul eine Website eingerichtet auf der der aktuelle Download zu finden ist. Die Site ist im Aufbau und Beschreibung ist noch sehr unvollständig. Sie wird aber in den nächsten Tagen und Wochen ergänzt werden.
http://www.lambda-script.org

Gruß
dieter56

dieter56

Hallo liebe FHEM-Gemeinde

Ich habe beantragt, das Modul in die SVM zu integrieren. Rudolf schrieb mir darauf:

Zitatlaut den Regeln, die wir vor etwa einem Jahr beschlossen haben, muss ein neuer
Modulautor sein Modul im Forum vorstellen, ein erfahrener FHEM-Autor soll es
begutachten, und mindestens zwei Benutzer sollten es ausprobiert, und Feedback
gegeben haben.

Ich meine, dass die Ueberpruefung von einem erfahreneren FHEM-Autor in diesen
Fall nicht noetig ist, aber ich wuerde gerne bei so einem Thema allgemeines
Interesse sehen.

Ich verfolge das Forumsthema, und werde Dich eintragen, wenn Feedback von zwei
Benutzer vorhanden ist.

  Gruss,
    Rudi

Wenn sich also zwei User finden würden, die es zum Laufen bringen, wäre ich sehr dankbar.
Selbstverständlich leiste ich dabei jede mögliche Unterstützung.

Den Download gibt es hier: http://lambda-script.org

Gruß
Dieter

papa

Ich finde das sehr interessant. Muss mal sehen, wenn ich dazu komme es mal auszuprobieren.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

swsmily

Ich hab zwar selbst noch keine Idee, wo ich es nutzen könnte, aber interessant finde ich es auf jeden Fall. Daher wollte ich es gerade mal installieren um einfach mal ein klein wenig zu spielen und zu testen. Leider scheitere ich schon an der Installation.

Ich hab die tar runtergeladen und auf dem Raspi nach /opt/fhem/FHEM kopiert. Dort mit dem Befehl tar -xvf lambda.tar.gz entpackt.
Anschließend mit sudo chown -R fhem:dialout * entsprechend die Rechte neu gesetzt und FHEM neu gestartet.

Versuche ich nun in FHEM ein define, erhalte ich folgende Fehlermeldungen im Log:

2019.04.11 21:15:10.613 1: reload: Error:Modul 98_lambda deactivated:
Can't locate lambda.pm in @INC (you may need to install the lambda module) (@INC contains: fhem/lambda/ . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM ./FHEM/lib) at ./FHEM/98_lambda.pm line 30.
BEGIN failed--compilation aborted at ./FHEM/98_lambda.pm line 30.

2019.04.11 21:15:10.614 0: Can't locate lambda.pm in @INC (you may need to install the lambda module) (@INC contains: fhem/lambda/ . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM ./FHEM/lib) at ./FHEM/98_lambda.pm line 30.
BEGIN failed--compilation aborted at ./FHEM/98_lambda.pm line 30.



Benni

Zitat von: swsmily am 11 April 2019, 21:19:14
Ich hab die tar runtergeladen und auf dem Raspi nach /opt/fhem/FHEM kopiert. Dort mit dem Befehl tar -xvf lambda.tar.gz entpackt.

Hmmm ....

Wenn ich die Installationsanleitung richtig verstehe, sollte das Paket in /opt/fhem entpackt werden und nicht in /opt/fhem/FHEM

gb#


swsmily

Hab es aus /opt/fhem/FHEM nochmal alles entfernt und in /opt/fhem entpackt. Da kommt direkt  Unknown module lambda.

Benni

Tja! Ich habe derzeit nicht vor das bei mir zu testen.

gb#

rischbiter123

Moin,

also ich verstehe das so, dass die beiden Module in den FHEM-Ordner und der lamda-Ordner in den fhem-Ordner gehören.

LG

Andreas
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

swsmily

ich glaube hier kann wohl nur dieter56 erstmal weiterhelfen.


zum entpacken: die TAR entpackt zwei 98_lambda......pm Dateien ins das Verzeichnis wo die TAR Datei liegt und erstellt in diesem Verzeichnis auch den Unterordner lambda, in dem weitere *.pm-Dateien liegen.


Maui

Sieht auf jeden Fall interessant aus. Allerdings sollten das definitiv einige intensivst testen.
Ich schaue mal ob ich morgen dazu komme, das auf meinem 2. fhem zu kopieren.
Allerdings bin ich mir noch nicht ganz klar über den Benefit.
Ein Anfänger user wird die Sprache trotzdem nicht nutzen und für die Profis gibt es Perl. Lambda wird sicherlich nicht mehr als Perl können und ja es sieht einfacher aus aber trotzdem nicht unbedingt selbst erklärend.
Ich bin also sowas wie neugierig und trotzdem ziemlich skeptisch  ;)

dieter56

Hallo,

zur Installation:
Die beiden Module 98_lambda.pm und 98_lambdaDevices.pm müssen in das Verzeichnis in dem sich alle andern Module (von 00_CM11.pm bis 99_myUtils.pm) befinden. In diesen Order muss ebenfals der Ordner lambda.
Siehe angehänges Bild.

Es tut mir leid, dass meine Anleitung etwas verwirrend war.

Gruß
Dieter



Maui

Dein Bild verwirrt allerdings wieder mehr. Der normale Ordner für Module ist fhem/FHEM und nicht wie bei dir fhem

dieter56

Hallo,

Es kann sein, dass die Ordner in meiner Installation etwas anders benannt sind:

Grundsätzlich ist der Aufbau doch so:

ORDNER: fhem
   INHALT: fhem.pl
                fhem.cfg
                ....
                ORDNER FHEM (bei mir heist der auch fhem)
                    INHALT: Module 00_CM11.pm bis 99_myUtils
                                  (hier muss 98_lambda.pm, 98_lambda.Devices  und neuer Ordner lambda rein)

Ich hoffe, es ist jetzt deutlicher
Dieter                         
                                 

micky0867

Das mit fhem und FHEM geht bei dir aber nur, weil du auf Windows bist.
Linux ist case-sensitive und damit muss es dort FHEM heissen.

dieter56

Hallo micky0867,

mein FHEM läuft auf einer Linux-Maschine auf der Basis Debian - und das seit vielen Jahren. Warum der Ordnername bei mir klein geschrieben ist, weiß ich nicht. Entscheidend ist aber, dass die Datein für die lambda-Installation die die Ordner mit den entspechenden Inhalten kommen.
WINDOWS -- brrr.

Gruß
Dieter