Ankündigung

Einklappen
Keine Ankündigung bisher.

Webseitenabfrage mit Wiregate Plugin

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

    #16
    Zitat von hartwigm Beitrag anzeigen
    Nach 60 sec. wird da Plugin aber wieder gestartet.
    Klar soweit, das steht da zwar nicht, wird aber wird auch nicht definiert also greift default (war <PL30 10s jetzt 60s)

    In diesem Fall
    Code:
    $plugin_info{$plugname.'_cycle'} = 0; # Aufruf nur einmalig nach änderung/speichern oder beim starten des daemons
    Wie bekomme ich da Plugin dazu nur aktiv zu werden, wenn sich der abonnierte Wert ändert?
    Ich glaube die Frage ist falsch formuliert
    Also gehen tut das auch, indem man sich den Wert in $plugin_info merkt aber es soll ja einfach nur bei einem Telegramm reagieren, insofern können wir uns das merken sparen..
    $rpm_vorgabe ist eine Plugin-lokale (in dem Fall verzichtbare) Variable, die aber nur befüllt wird, wenn ein Telegramm kommt, ansonsten ist die (pro Aufruf!) erstmal nil/null/undef

    Also mal etwas umgeschrieben:

    Code:
    $plugin_info{$plugname.'_cycle'} = 0; # Aufruf nur einmalig nach änderung/speichern oder beim starten des daemons
    my $url = 'http://192.168.0.245/cfg.htm?';
    my $url_send;
    my $rpm_wert ='11/1/35';            # GA % Wert
    my $rpm_soll ='11/1/36';            # GA für Sollwert
    my $maxdrehzahl =3400;
    my $drehzahl;                    # Umgerechnete Wert für die Steuerung
    my $rpm_vorgabe; # % Wert auf dem Bus
    
    #Der Wert ist ein Prozentwert und muß mit der max. Drehzahl von max_drehzahl multipliziert werden
    
    if ($msg{'apci'} eq "A_GroupValue_Write" and $msg{'dst'} eq $rpm_wert) { # Telegramm vom bus
        $rpm_vorgabe= decode_dpt5($msg{'data'});
        $drehzahl = int($rpm_vorgabe * $maxdrehzahl/100);
        knx_write($rpm_soll,$drehzahl,9);
        # der wert drehzahl wird nun der Website mit dem parameter ?rpmmax=$drehzahl übergeben
        my $url_send = $url."rpmmax=".$drehzahl."&saveconfig=Save";
        my $ret = encode("utf8",get($url_send));
        return "Werte: $drehzahl, $rpm_vorgabe, $maxdrehzahl, $url_send -> $ret";
    } else { # initaler Aufruf
        $plugin_subscribe{$rpm_wert}{$plugname}=1;
        return; # nix passiert, nur an die GA subscribed
    }
    Makki

    P.S.: Code in CODE-Tags, macht Copy-Paste mit Einrückung und so einfacher
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    Kommentar


      #17
      Hallo Makki,

      da muß ich noch einiges lernen!

      Danke Euch für die Hilfestellung.

      Das Plugin rennt nun und meine Pumpe kann laufen!


      Die Plugins zur Pumpe stelle ich in ein paar Tagen ein, wenn alles Stabil läuft.
      Gruß Hartwig

      Kommentar

      Lädt...
      X