FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: KernSani am 13 Januar 2019, 14:32:53

Titel: ROLLO ins SVN
Beitrag von: KernSani am 13 Januar 2019, 14:32:53
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
Titel: Antw:ROLLO ins SVN
Beitrag von: CoolTux am 13 Januar 2019, 14:49:00
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
Titel: Antw:ROLLO ins SVN
Beitrag von: KernSani am 13 Januar 2019, 15:04:13
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
Titel: Antw:ROLLO ins SVN
Beitrag von: CoolTux am 13 Januar 2019, 15:16:37
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
Titel: Antw:ROLLO ins SVN
Beitrag von: KernSani am 13 Januar 2019, 20:17:08
Sodele, Cooltux Empfehlungen sind umgesetzt (außer der Idee mit den packages ;-)). Wer nochmal checken mag: https://github.com/RettungsTim/fhem-rollo
Titel: Antw:ROLLO ins SVN
Beitrag von: CoolTux am 13 Januar 2019, 21:06:24
Sieht sehr gut aus.
Die Codeformatierung kommt mir irgendwie bekannt vor  ;D


Grüße
Titel: Antw:ROLLO ins SVN
Beitrag von: KernSani am 13 Januar 2019, 22:19:22
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)
Titel: Antw:ROLLO ins SVN
Beitrag von: CoolTux am 13 Januar 2019, 22:22:35
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?
Titel: Antw:ROLLO ins SVN
Beitrag von: KernSani am 13 Januar 2019, 22:27:28
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...
Titel: Antw:ROLLO ins SVN
Beitrag von: CoolTux am 13 Januar 2019, 22:28:51
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
Titel: Antw:ROLLO ins SVN
Beitrag von: betateilchen am 14 Januar 2019, 09:04:40
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.
Titel: Antw:ROLLO ins SVN
Beitrag von: CoolTux am 14 Januar 2019, 09:40:22
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
Titel: Antw:ROLLO ins SVN
Beitrag von: nils_ am 14 Januar 2019, 10:33:53
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