Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Plugin: Logikprozessor.pl

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Zitat von Fry Beitrag anzeigen
    Zu #498: ich finde das ehrlich gesagt unnötig. Der WG hängt sich bei mir nämlich monatelang nicht mehr weg, daher keine Neustarts.... aber wem's gefällt, der LP ist free software (in Stallmans Sinn).
    Nur: der LP ist bereits recht kompliziert.
    Die Neustarts kommen bei mir auch nicht von einem Absturz sondern bedingt durch eine Änderung in der eibga.conf. Evtl wäre es die/eine bessere Lösung wenn der wiregated diese dynamisch (automatisch/manuell gestartet: "wiregated reload"?) bei einer Änderung neu Einlesen könnte (ähnlich wie die .conf files des LP). @Stefan: noch ein Punkt für die Featureliste?

    Und ja: der LP ist kompliziert. Oder eher: komplex. Deshalb fragte ich ja nach anderen Lösungen...

    Danke,
    Micha

    Kommentar


      Moin Martin,

      versuche mal:
      Code:
      # Zirkulationspumpe AN zum Aufstehen
      frueh_WT_AN    => { transmit=>'2/6/4', timer=>{ '05:00', day_of_week=>'weekday' }, translate => 1 },
      frueh_WE_AN    => { transmit=>'2/6/4', timer=>{ '07:00', day_of_week=>'weekend' }, translate => 1 },
      frueh_AUS    => { transmit=>'2/6/4', timer=>{ '08:00' }, translate => 0 },
      Zirkulation_AN     => {
          receive=>['2/6/4','2/0/0'],
          transmit=>'0/3/50',
          translate => sub { if (int($input->[0]) == 1  && int($input->[1]) == 1
              ) { return 1;}
          else  { return undef;}
          },
          cool=>1200,
          debug=>1
      },
      Gruß, Sebastian
      Baustelle 2.0 (Detailprogrammierung und Restarbeiten)
      Ruhri? -> Komm zum Stammtisch

      Kommentar


        Zitat von Fry Beitrag anzeigen
        Die Alarmanlage stelle ich dann auch ein, wobei (i) das ein recht simples Plugin ist, das eben auf alle Präsenzmelder und alle Fensterkontakte hört und (ii) ich das erst selbst richtig austesten möchte.
        Hallo Fry,

        da ja nun bald der wiregated Logikprozessor-kompatibel sein wird (ist das nicht ein schönes Weihnachtsgeschenk? ;-) wollte ich mal fragen wie es mit deiner Alarmanlage aussieht. Hast du die mittlerweile getestet und "scharf"? Und würdest du uns daran teilhaben lassen?

        Danke,
        Micha

        Kommentar


          @Micha: leider nein. Die Alarmanlage muss ich mal komplett neu schreiben. Aktuell ist der Code nicht vorzeigbar und tut auch nicht das, was ich (heute) will.

          Kommentar


            Wie wird eine ODER Regel abgebildet?

            Hallo zusammen,

            ich benötige die Möglichkeit zum Auswerten verschiedener GAs als ODER Regel. Kommt auf einer der hinterlegten GAs eine 1, dann soll auf der Ziel GA eine 1 gesendet werden.

            Wie kann ich das mit dem Logikprozessor abbilden?

            Danke im Voraus und beste Grüße!

            Kommentar


              Hi,

              mach doch einfach zwei Regeln, oder übersehe ich was?

              Wenn du allerdings erreichen willst, dass der jeweils andere Wert abgefragt wird, wenn auf einer der beiden GAs was kommt, dann versuch's mal so:

              Code:
              abwesendTag_BeschattungsautomatikAn => {
                  receive=>['0/7/2','0/7/1'],
                  transmit=>'12/7/2',
                  translate => sub{
                      return (($input->[0] == 1) && ($input->[1] == 0)) ? 0:undef;
                  }
              },
              0/7/2: Tag-Nacht
              0/7/1: an-/abwesend
              Wenn sich jetzt einer der beiden GAs ändert, wird der andere abgefragt und der passende Wert gesendet.

              HTH

              edit: mein Beispiel hat aber nicht mehr viel mit ODER zu tun, sehe ich grade....
              CU,
              Mathias

              Kommentar


                Hallo

                Meine Wärmepumpe spuckt mir einen 2Byte Wert auf eine GA mit den aktuellen Schaltzuständen der WP.
                Gibt es eine Möglichkeite mittels Logikprozessor die ankommenden Bits auf eigene GA's zu verteilen?

                Hier die mir zur Verfügung stehende Info bezüglich der GA mit 16 bit:

                Bit 0: Quellenpumpe
                Bit 1: Heizungsumwälzpumpe
                Bit 2: Freigabe Regelung EVD / Magnetventil
                Bit 3: Verdichter 1
                Bit 4: Verdichter 1
                Bit 5: ext. Wärmeerzeuger
                Bit 6: Alarmausgang
                Bit 7: Motorventil Kühlbetrieb
                Bit 8: Motorventil Warmwasser
                Bit 9: Motorventil Pool-Heizbetrieb
                Bit 10: Solarbetrieb Pumpe 1
                Bit 11: Solarbetrieb Pumpe 2
                Bit 12: 4-Wege-Ventil im Kältekreis
                Bit 13:
                Bit 14:
                Bit 15:

                Danke.
                ---
                Martin

                Kommentar


                  Zitat von gindler Beitrag anzeigen
                  edit: mein Beispiel hat aber nicht mehr viel mit ODER zu tun, sehe ich grade....
                  Naja, ein ODER-Beispiel wird es durch eine kleine Änderung:

                  Code:
                  abwesendTag_BeschattungsautomatikAn => {
                      receive=>['0/7/2','0/7/1'],
                      transmit=>'12/7/2',
                      translate => sub{
                          return (($input->[0] == 1) [COLOR="SandyBrown"][COLOR="Red"]||[/COLOR][/COLOR] ($input->[1] == 1)) ? 1:undef;
                      }
                  },
                  Kommt auf mind. einer der beiden GAs eine "1", wird eine "1" gesendet.

                  VG
                  Micha

                  Kommentar


                    Zitat von martinb07 Beitrag anzeigen
                    Hallo

                    Meine Wärmepumpe spuckt mir einen 2Byte Wert auf eine GA mit den aktuellen Schaltzuständen der WP.
                    Gibt es eine Möglichkeite mittels Logikprozessor die ankommenden Bits auf eigene GA's zu verteilen?
                    Hallo Martin,

                    nicht getestet, sollte aber so funktionieren.

                    Beispiel für Bit #12

                    Code:
                    Bit_auf_GA => {
                        receive=>['1/2/3'],
                        transmit=>['1/2/4'],
                        translate => sub{    ($input->[0] & 1<<[COLOR=Red]12[/COLOR]) < 1 ? return 0 : return 1;  }
                    },
                    Gibt sicher schönere Lösungsansätze

                    Gruß Gernot

                    Kommentar


                      Kann man den "neuen" LP jetzt mit der neuen WG (1.1) firmware nutzen?

                      Kommentar


                        Ja! Läuft bei mir seit einigen Tagen problemlos!
                        Gruß
                        Andi

                        Kommentar


                          Danke für die Info!

                          Dann werde ich mich mal mit dem neuen beschäftigen und meine Logiken auf stand bringen und testen.

                          Kommentar


                            Noch ein offizielles Statement dazu:

                            Seit gestern ist die Version 1.1 der Firmware für das WireGate Multifunktionsgateway verfügbar. Der Logikprozessor von Fry ist damit kompatibel...

                            ...weil wir die Patches von Fry im Dämon übernommen haben. Wir danken an dieser Stelle Fry für seine wunderbare Arbeit und seine Kooperation.

                            Zugleich möchte ich mich nochmals entschuldigen, dass es dermaßen lang gedauert hat. Mit dem neuen Entwicklerteam können Verbesserungen und Versprechungen künftig zeitnah umgesetzt werden.

                            Und nun viel Erfolg und Spaß mit dem Logikprozessor.

                            lg

                            Stefan

                            Kommentar


                              Beeinträchtigung der email_triggered_by Plugins durch Logikprozessor.pl

                              Seit dem das Logik Plugin am laufen ist, senden meine email_triggered_by... Plugins keine Mails mehr raus (??)
                              Kann das Phänomen jemand bestätigen und gibts hierfür ggf. eine Erklärung?

                              Danke & Grüße,
                              Mike

                              PS: WG hat den aktuellen PL Stand

                              Kommentar


                                Zitat von Bainit Beitrag anzeigen
                                Moin Martin,

                                versuche mal:
                                Code:
                                ...
                                Gruß, Sebastian
                                Ich habe deinen Code mal eingegeben, und bekam immer einen Fehler.
                                Code:
                                Usage: POSIX::strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1) at (eval 306) line 550.
                                Nachdem ich 'weekend' durch 'Sa,So' ersetzt habe, dachte ich, das alles passt. Aber dann tauchte folgendes im Log auf.
                                Code:
                                2014-12-15 00:01:03.454,logikprozessor.pl,Logiktimer zu Logik 'frueh_WE_AN' enthaelt mindestens einen Eintrag ohne Zeitangabe (time=>...) 
                                2014-12-15 00:01:05.076,logikprozessor.pl,Logik 'frueh_WE_AN' wird nicht mehr aufgerufen (alle in time=>... festgelegten Termine sind verstrichen). 
                                2014-12-15 00:01:05.078,logikprozessor.pl,Logiktimer zu Logik 'frueh_AUS' enthaelt mindestens einen Eintrag ohne Zeitangabe (time=>...) 
                                2014-12-15 00:01:06.617,logikprozessor.pl,Logik 'frueh_AUS' wird nicht mehr aufgerufen (alle in time=>... festgelegten Termine sind verstrichen). 
                                2014-12-15 00:01:06.618,logikprozessor.pl,Logiktimer zu Logik 'frueh_WT_AN' enthaelt mindestens einen Eintrag ohne Zeitangabe (time=>...) 
                                2014-12-15 00:01:08.763,logikprozessor.pl,Logik 'frueh_WT_AN' wird nicht mehr aufgerufen (alle in time=>... festgelegten Termine sind verstrichen). 
                                2014-12-15 00:01:08.792,logikprozessor.pl,Usage: POSIX::strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1) at (eval 295) line 550. 
                                2014-12-15 00:01:09.188,logikprozessor.pl,Usage: POSIX::strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1) at (eval 301) line 550. 
                                2014-12-15 00:01:09.643,logikprozessor.pl,Usage: POSIX::strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1) at (eval 306) line 550.
                                Noch irgendeinen Tipp?
                                Danke.
                                ---
                                Martin

                                Kommentar

                                Lädt...
                                X