Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Zeitschaltuhr Plugin?

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • haegar80
    antwortet
    Das sollte ja bedeuten, daß man per UNC Pfad auf das WG Dateisystem zugreifen kann:
    \\wiregateXXX/etc/wiregate/plugin/generic/

    Wenn ich mich da mit wiregateXXX\user anmelde tut sich aber nix.
    Muss ich da noch irgend etwas aktivieren?

    Danke
    Sascha

    Einen Kommentar schreiben:


  • makki
    antwortet
    Ich schreibe mir "Web-Editor für Plugin-configs" mal auf die Liste der nice-to-have Ist zwar nicht dramatisch, weil man den Plugin-Editor recyceln kann aber dann trotzdem etwas Arbeit.. vor allem Zeit..

    Die Sache mit den configs ansich ist ja gut und gerade bei komplexeren Plugins sicherlich eine Trennung hilfreich; die Mega-Prio sehe ich aber ehrlichgesagt da nicht eine Editor zu bauen, weil es gibt bereits 10.000 Editoren für 1.000 Geschmäcker.
    -> Der heisseste Tipp für den durchschnittlichen Windows-User ist solange WinSCP und PSpad o.ä.

    Makki

    Einen Kommentar schreiben:


  • emax
    antwortet
    Nein, es gibt (noch?) keine andere Methode.

    Auf Dauer lässt sich das vielleicht auch über das Webinterface machen. Eigentlich müsste 'conf.d' beim Klick nur als Verzeichnis geöffnet werden, dann ginge das bereits. Aber da bin ich der Falsche, vielleicht kann Makki das ja mal in Angriff nehmen. Aber dem ist in der Regel auch nicht langweilig ;-)

    Einen Kommentar schreiben:


  • haegar80
    antwortet
    Bei Plugin ja, bei den Config Dateien will ich ja diese editieren.
    Im Datei-Explorer kann ich die ja bearbeiten. Geht das auch eleganter?
    - im Webmin
    - sonst irgendwie

    Einen Kommentar schreiben:


  • emax
    antwortet
    Vielleicht ein Mißveständnis.
    Zitat von haegar80 Beitrag anzeigen
    Plugins editiere ich in der Wiregate Konfig Seite unter Plugins.
    Was editierst Du denn da? Änderst Du am Code?

    Einen Kommentar schreiben:


  • haegar80
    antwortet
    Sorry, das verstehe ich nicht.

    Plugins editiere ich in der Wiregate Konfig Seite unter Plugins. Für das Config Verzeichnis gibt es da ein leeres Plugin. Ist ja das Verzeichnis.

    Wie komme ich da an die Config ohne umständlich über den Datei-Explorer zu gehen?

    Was löst die Befehlszeile genau aus?
    Wo sollte ich dann die Config Dateien im Webmin editieren können?

    Danke
    Sascha

    Einen Kommentar schreiben:


  • emax
    antwortet
    Genau so wie man auch ein Plugin editieren würde: Mit dem Editor Deiner Wahl, bei mir ist es der emacs. Da es Dateien unterhalb /etc sind, muss man das als root machen, es sei denn, man hat die conf Dateien für alle schreibbar gemacht:

    chmod go+w /etc/wiregate/plugin/generic/conf.d/*conf

    Einen Kommentar schreiben:


  • haegar80
    antwortet
    Hallo zusammen,

    wie editert ihr den die Config Dateien?
    Über den Root Zugang > Sonstiges > Dateimanager > Bearbeiten?

    Danke
    Sascha

    Einen Kommentar schreiben:


  • tjakobi
    Ein Gast antwortete
    @Makki -> thumbs up!
    Vollkommen gleicher Meinung. Leider bin ich in letzter Zeit viel am Fragen und es handelt sich häufig um Basics, sodass es mir einwenig peinlich ist!

    Hier meiner Frage an emax:

    Hallo Emax,
    wie im Beitrag erwähnt habe ich ordentlich geschaltet und gedimmt. Das funktioniert soweit, ich es testen konnte zu 100%.

    Bzgl Sonnenaufgang und Untergang habe ich aber noch eine Verständnisfrage. Ich habe hier mal im Forum ein Plugin gefunden, welches ich so geändert habe, dass es mit in eine Gruppenadresse 0 oder 1 je Zustand schreibt.

    Code:
    use Math::Trig;
      $plugin_info{$plugname.'_cycle'} = 300;
       
      # Diese Daten müssen eingepflegt werden; Längengrad und Breitengrad, sowie die Zeitzone
      # (localtime)[8] gibt an, ob gerade Sommerzeit ist und addiert entsprechend +1 dazu
      # *************************************************************************************
      my $lat = 53.115867;
      my $lon = 8.193105;
      my $timezone = (localtime)[8];
      # *************************************************************************************
      my $h = -0.0145; 
      my $RAD = pi/180.0;
      my $B = $lat * $RAD;
      my $DOY = ((localtime)[7]+1);  # DOY = Day Of Year
      my $timecalc = -0.171 * sin(0.0337 * $DOY + 0.465) - 0.1299 * sin(0.01787 * $DOY - 0.168);
      my $declination = 0.4095 * sin(0.016906 * ($DOY - 80.086));
      my $tmp = (sin($h) - (sin($B) * sin($declination))) / (cos($B) * cos($declination));
      my $timediff = 12* acos($tmp)/pi;
      my $timenow = ((localtime)[2] + (localtime)[1]/60);
       
     # Prüft, ob aktuelle Zeit > Sonnenaufgangszeit ist und < Sonnenuntergangszeit
      if ($plugin_info{$plugname."_status"}!=1 and $timenow > sunrise() and $timenow < sunset() ) {
         plugin_log($plugname,"Jetzt ist es Sonnenaufgang");
         $plugin_info{$plugname."_status"} = 1;
         knx_write( "12/4/7",1 );
         knx_write( "12/4/9",0 );
         
      }
      # Prüft, ob aktuelle Zeit > Sonnenuntergangszeit ist 
      if ($plugin_info{$plugname."_status"}!=0 and $timenow > sunset() ) {
         plugin_log($plugname,"Jetzt ist es Sonnenuntergang");
         $plugin_info{$plugname."_status"} = 0;
         knx_write( "12/4/9",1 );
         knx_write( "12/4/7",0 );
      }
    
      return  $plugin_info{$plugname."_status"}; 
       
      sub sunrise{
            my $sunrise = 12 - $timediff - $timecalc + (15-$lon)*4/60 + $timezone;
            return $sunrise;
      }     
       
      sub sunset{
            my $sunset = 12 + $timediff - $timecalc + (15-$lon)*4/60 + $timezone;
            return $sunset;
      }
       
      return;
    Wie kombiniere ich jetzt deine Abfrage mit meinem Skript, im Detail:

    Code:
    [FONT=Courier New]sub SunsetHH {     (!defined $plugin_info{'[COLOR=Red]Sun.pl[/COLOR].setHH'}) and  return 17;     return $plugin_info{'Sun.pl.setHH'}; }[/FONT]
    Mir fehlen leider fundierte Perl-Anwender-Erfahrungen.
    Gruß Tim


    Und seine Antwort:
    Soweit ich es verstehe, führst Du alle fünf Minuten eine Funktion aus, die je nachdem, ob es vor oder nach Sonnenauf/untergang ist, gegensätzliche Dinge tut:
    Code:
    $plugin_info{$plugname.'_cycle'} = 300;
    Wenn Du damit nun Rolläden fährst, funktioniert das zwar, aber so würdest Du rund hundert Mal am Tag offene Rolläden hochfahren, und geschlossene schließen, was natürlich etwas unelegant ist. Das wäre dann ein Thema für die Zeitschaltuhr, was ja auch mit variablen Zeiten funktioniert, insbesondere mit meinem neuen Sonnenaufgangs-Plugin.

    Genrell kannst Du aber so oder so auf die Berechnung verzichten, wenn Du das 'emx_sonne.pl' Plugin verwendest. Dieses speichert in %plugin_info einmal am Tag die Zeiten.

    In Deinem Script kannst Du diese so verwenden:

    bisheriger Code: ... and $timenow > sunrise() and $timenow < sunset()
    neuer Code: ... and $timenow > $plugin_info{'emx_sonne.pl.auf'} and $timenow < $plugin_info{'emx_sonne.pl.unt'}

    Du kannst die Werte aus %plugin_info auch erst einer Variablen zuweisen, und dann im script weiterverwenden, das macht es etwas übersichtlicher:

    my $sonnAuf = $plugin_info{'emx_sonne.pl.auf'};
    my $sonnAnt = $plugin_info{'emx_sonne.pl.unt'};
    ...
    und dann so weiter machen:
    ... and $timenow > $sonnAuf and $timenow < $sonnUnt ) ...

    Wenn Du die Gruppenandressem aber eigentlich nur ein mal am Tag ein- und einmal ausschalten willst, dann würde ich das per Zeitschaltuhr machen, ich kann Dir gerne zeigen wie.

    Einen Kommentar schreiben:


  • emax
    antwortet
    Ich hab das jetzt auch mal in meine Signatur geschrieben: Bitte Fragen im Forum stellen, das nützt allen.

    Einen Kommentar schreiben:


  • emax
    antwortet
    Die Bitte geht in diesem Fall an Tim. Ich bin auf die Anfrage zwar eingegangen, weil ich nicht niemanden gegen seinen Willen auf die Bühne schleppen will, aber Makki hat Recht: Deshalb full ACK.

    Einen Kommentar schreiben:


  • makki
    antwortet
    Eine klitzekleine Anmerkung: eine PM ist hier IMHO fast immer Zeitverschwendung.
    Für den Fragenden (weil er vielleicht keine AW erhält) und für den Antwortenden (weil von der AW nur einer was hat)

    -> Bitte! Es gibt keine dummen Fragen, nur dumme Antworten. Also nichts, was man nicht auch so fragen könnte - und sei es auch noch so speziell, vielleicht meldet sich ein dritter mit einer tollen Idee. Oder man liest es nur und zieht Wochen später schlüsse daraus.
    Nur mal so: Wir machen hier OSS/GPL, keine Geheimware, die absolute Öffentlichkeit/transparenz ist dabei kein Unfall sondern Teil des Plans
    Nur mal so 5ct dazu..

    Makki

    Einen Kommentar schreiben:


  • emax
    antwortet
    Danke für die Blumen allerseits :-)

    @Tim: Vielleicht ist das doch ein Thema für diesen Thread, das kommt darauf an, was Du mit Deinem Script erreichen möchtest. Dazu stelle ich jetzt erst mal ein paar Fragen per PN, und wenn es ein Fall für die Zeitschaltuhr wird, machen wir hier weiter.

    Einen Kommentar schreiben:


  • tjakobi
    Ein Gast antwortete
    Hallo emax,
    ich habe es mal mit einfachen Schalt und Dimmvorgängen getestet. Es läuft! Klasse!

    Bzgl. Sonnenauf.- untergang habe ich dir mal eine PN geschrieben mit einer Nachfrage? Passt hier nicht so ganz in den Thread.

    Einen Kommentar schreiben:


  • makki
    antwortet
    Ich habs kurz ausprobiert, geht, was soll man mehr sagen als &
    Wegen mir -> definitiv: Commit

    Makki

    Einen Kommentar schreiben:

Lädt...
X