Ankündigung

Einklappen
Keine Ankündigung bisher.

Changed_by richtig nutzen

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

    Changed_by richtig nutzen

    Hallo,

    leider fehlt mir gerade die Idee wie ich das richtig umsetzen kann.

    Problem:

    Aktuell überwache ich 18 Bewegungsmelder nach folgendem Schema:

    Code:
    [reed_fenster_eg_kueche]
    filename = reed_fenster_eg_kueche.py
    watch_item = first.eg_overview.Reedkontakte1.fenster_eg_kueche
    [reed_fenster_eg_esszimmer]
    filename = reed_fenster_eg_esszimmer.py
    watch_item = first.eg_overview.Reedkontakte1.fenster_eg_esszimmer

    Im Anschluss habe ich 18 Dateien mit einem Inhalt wie diesem:
    Code:
          sh.mail('XXX@XXX', 'ALARMELDUNG EG ESSZIMMER MOTION DETECTION', 'ALARMELDUNG EG ESSZIMMER MOTION DETECTION')
    Besteht mittels den Befeheln changed_by oder source die Option das ich meine 18 Dateien zu einer verschmelze:
    Stelle mir das wie folgt vor


    z.B.
    Code:
    [reed_kontakte]
    filename = reed_kontakte.py
    watch_item = first.eg_overview.Reedkontakte1.*
    und dann

    Code:
          sh.mail('XXX@XXX', 'ALARMELDUNG [B]%SOURCE_NAME[/B] MOTION DETECTION', '[B]%SOURCE_NAME[/B] ESSZIMMER MOTION DETECTION')

    Leider fehlen mir die notwendigen Kenntnisse um das umzusetzen.

    Vielleicht kann mir jemand nen Tipp geben.


    #2
    Sofern du das in einer Logik machst sollte irgendwie soetwas gehen:

    Code:
    sh.mail('XXX@XXX', 'ALARMELDUNG ' + str(sh.item.changed_by()) + ' MOTION DETECTION', str(sh.item.changed_by()) + ' ESSZIMMER MOTION DETECTION')
    Wie das jetzt genau anzuwenden ist kann ich auch nicht sagen. Im Prinzip baust Du aber einfach einen String zusammen aus den Variablen. Am besten mal mit dem CLI ein wenig testen.
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !

    Kommentar


      #3
      hmmm... leider funktioniert das so nicht .... hat das so noch keiner gemacht ?
      Bin für tipps dankbar

      Kommentar


        #4
        Copy & Paste klappt nicht ... hatte ich ja gesagt. Du musst das Ergebnis von changed_by() in einen String wandeln. Dann kannst Du das in sh.mail() entsprechend dynamisch zusammenfügen. Ich hab aber die Syntax von changed_by() auch nicht im Kopf.
        Umgezogen? Ja! ... Fertig? Nein!
        Baustelle 2.0 !

        Kommentar


          #5
          Hi

          Ich hab sowas ähnliches bei mir mit für die Heizung gemacht da hab ich es mit dem "trigger" Befehl gelöst evtl. hilft es dir.
          Hier die Logik:
          Code:
          #!/usr/bin/env python
          #logger.info(trigger)
          
          if trigger['by']=='Item' and trigger['source']=='og.wohnen.heizung.lueften':
            if sh.og.wohnen.heizung.modus() == 1:
              sh.og.wohnen.heizung.modus(4)
              sh.og.wohnen.heizung.modus.timer('0', 4)
            elif sh.og.wohnen.heizung.modus() == 2:
              sh.og.wohnen.heizung.modus(4)
              sh.og.wohnen.heizung.modus.timer('0', 4)
            else:
              sh.og.wohnen.heizung.modus(2)
              sh.og.wohnen.heizung.modus.timer('15m', 1)
          
          if trigger['by']=='Item' and trigger['source']=='eg.badeg.heizung.lueften':
            if sh.eg.badeg.heizung.modus() == 4:
              sh.eg.badeg.heizung.modus(2)
            else:
              sh.eg.badeg.heizung.modus(4)
          
          if trigger['by']=='Item' and trigger['source']=='og.buero.heizung.lueften':
            if sh.og.buero.heizung.modus() == 4:
              sh.og.buero.heizung.modus(2)
            else:
              sh.og.buero.heizung.modus(4)
          und so wird sie aufgerufen:
          logic.conf
          Code:
          [Heizungen]
               filename = 'heizung.py'
               watch_item = *.*.heizung.lueften

          Kommentar


            #6
            Das Trigger Source nutze ich auch oft, klappt prima.

            Nicht vergessen. Sauber Syntax bei dem Mail wäre
            'Blabla {0} und das kommt von {1}'.format(variable1,variable2)

            Kommentar

            Lädt...
            X