ROLLO ins SVN

Begonnen von KernSani, 13 Januar 2019, 14:32:53

Vorheriges Thema - Nächstes Thema

KernSani

Hallo zusammen,

ich habe mich in letzter Zeit wieder verstärkt im ROLLO-Modul engagiert und würde es demnächst ins SVN einchecken wollen - Mag irgendwer mal drüber schauen ob noch irgendwelche groben Schnitzer auffallen?

Danke,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

CoolTux

Hallo,

Ich habe nur mal eben kurz geschaut und es sind nur Formalitäten

Das direkte schreiben in Hash sollte bei FHEM Standardroutinen vermieden werden.

$attr{$name}{"rl_secondsDown"}

Hier lieber mit CommandAttr arbeiten und mit AttrVal abfragen ob schon gesetzt wurde.

Auch hier nicht direkt in den Hash STATE schreiben wegen bekannter Probleme

$hash->{STATE} = "inactive";

Lieber

readingsSingleUpdate( $hash, "state", "Initialized", 1 );


Hier wäre meine Empfehlung
CommandDeleteReading statt readingsDelete
zu verwenden


Die Funktion fhem() sollte in einem Modul nichts zu suchen haben. Das ist User Krempel. ( persönliche Meinung ) und noch nie in einem Modul gesehen.
fhem("attr $name devStateIcon $iconHomeKit")
              if ( ( $aVal eq "HomeKit" ) && ( ( $iconAktuell eq $iconNormal ) || ( $iconAktuell eq "kein" ) ) );
            fhem("attr $name devStateIcon $iconNormal")
              if ( ( $aVal eq "normal" ) && ( ( $iconAktuell eq $iconHomeKit ) || ( $iconAktuell eq "kein" ) ) );


Das war erstmal das was ich so auf den schnellen Blick gesehen habe.

Mein persönlicher Favorit wäre natürlich noch ein packages daraus zu machen  ;D


Die Commandref sieht soweit ok aus. Kann man aber ruhig noch mal durch commandref_join jagen.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

KernSani

Thanks Leon...

Gute Punkte, das sind "Altlasten", die ich bisher nicht angefasst habe... schau ich nochmal drüber.

Was meinst du mit
Zitat
Mein persönlicher Favorit wäre natürlich noch ein packages daraus zu machen  ;D
???

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

CoolTux

Schau mal im Web nach Perl packages. Ist im Grunde sowas wie Klassen in C und Java.
Abgeschlossener Bereich. Du musst dann nicht mehr mit Präfix bei den Funktionen arbeiten.
Ich finde das ganz Klasse.
Einzig Du musst dafür sorgen daß jede Funktion welche Du aus der main aufrufen willst entweder importiert werden oder Du die Funktion über den Klassenaufruf aufrufst.
Z.b. main::CommandDelete

Ich habe bereits einige meiner Module entsprechend umgebaut. Kannst gerne reinschauen und mich dann einfach anschreiben.
Muss ja auch nicht heute oder morgen sein  :)


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

KernSani

Sodele, Cooltux Empfehlungen sind umgesetzt (außer der Idee mit den packages ;-)). Wer nochmal checken mag: https://github.com/RettungsTim/fhem-rollo
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

CoolTux

Sieht sehr gut aus.
Die Codeformatierung kommt mir irgendwie bekannt vor  ;D


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

KernSani

Zitat von: CoolTux am 13 Januar 2019, 21:06:24
Sieht sehr gut aus.
Die Codeformatierung kommt mir irgendwie bekannt vor  ;D
Yep, da ich dein Shutters-Modul gerade eh offen hatte, um mir packages anzuschauen hab ich mir CommandAttr geklaut ;-) Übrigens - wenn du Ideen hast, wie man die Integration von AutoShutters und ROLLO verbessern kann: Immer her damit (ich habe mich noch nicht daran gewagt, meine Rollladen-Steuerung anzufassen, nutze das AutoShutters-Modul daher nicht)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

CoolTux

Zitat von: KernSani am 13 Januar 2019, 22:19:22
Yep, da ich dein Shutters-Modul gerade eh offen hatte, um mir packages anzuschauen hab ich mir CommandAttr geklaut ;-) Übrigens - wenn du Ideen hast, wie man die Integration von AutoShutters und ROLLO verbessern kann: Immer her damit (ich habe mich noch nicht daran gewagt, meine Rollladen-Steuerung anzufassen, nutze das AutoShutters-Modul daher nicht)

Das mit den Attributen meinte ich weniger, eher die Codeformatierung und den Stil. Benutzt Du auch perltidy?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

KernSani

Zitat von: CoolTux am 13 Januar 2019, 22:22:35
Benutzt Du auch perltidy?
Genau :-) Habe nur noch keinen guten Weg gefunden, wie ich das HTML für die commandref auch vernünftig formatiert bekomme...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

CoolTux

Zitat von: KernSani am 13 Januar 2019, 22:27:28
Genau :-) Habe nur noch keinen guten Weg gefunden, wie ich das HTML für die commandref auch vernünftig formatiert bekomme...
Ach da mache ich ausser einrücken gar nichts weiter.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

betateilchen

Zitat von: KernSani am 13 Januar 2019, 22:27:28
Habe nur noch keinen guten Weg gefunden, wie ich das HTML für die commandref auch vernünftig formatiert bekomme...

Mach Dir nicht zuviel Gedanken, alles was Du da (unnötig) an HTML Tags investierst, muss ich im schlimmsten Fall bei "help" wieder weg-regexen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux

Zitat von: betateilchen am 14 Januar 2019, 09:04:40
Mach Dir nicht zuviel Gedanken, alles was Du da (unnötig) an HTML Tags investierst, muss ich im schlimmsten Fall bei "help" wieder weg-regexen.

;D  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

nils_

Zitat von: betateilchen am 14 Januar 2019, 09:04:40
Mach Dir nicht zuviel Gedanken, alles was Du da (unnötig) an HTML Tags investierst, muss ich im schlimmsten Fall bei "help" wieder weg-regexen.

und ich dachte du machst das gerne  8) :-X :-X
viele Wege in FHEM es gibt!