Ankündigung

Einklappen
Keine Ankündigung bisher.

AVM Plugin

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

    #46
    Hallo psilo,

    das ging ja schnell, und auch noch vor dem Wochenende :-)

    wie muss ich denn die logik triggern?

    Gruß Ivan

    Kommentar


      #47
      Wie Du magst Ich mache das zyklisch aktuell jede Minute.. Vermutlich zu oft, weil die SV per Default auf 15 min refresh an der Stelle steht..

      Code:
      [CallListCSVLogic]
      filename = calllist_csv_logic.py
      crontab = * * * *

      Kommentar


        #48
        ideal wäre bei jedem Anruf :-)

        Kommentar


          #49
          dann "watche" halt auf das anruf-item ;-) siehe item liste.

          kannst ja bspw monitor.incoming.event abfangen und auswerten
          hängt jetzt aber auch davon ab welche listen du anzeigst.. habs bisher bei mir nur mit der liste der verpassten anrufe am laufen. es sollten aber alle gehen.

          So müsste das Triggern passen. Das Event wird "live" bei jeder Aktion des CallMonitors getriggered... die SV fragt trotzdem nur im eingestellten Intervall ab.. Das darf dann das SV Team mal umbauen

          Code:
          [CallListCSVLogic]
              filename = calllist_csv_logic.py
              watch_item = avm.monitor.newest.event
          Zuletzt geändert von psilo; 14.04.2016, 17:28.

          Kommentar


            #50
            fehlt in der logic noch ein import?

            2016-04-14 18:27:50,967 DEBUG Main Logic: fritzbox_calllist -- logic.py:__init__:44
            2016-04-14 18:27:50,968 ERROR Main Exception: unexpected indent (fritzbox_calllist.py, line 2) -- logic.py:generate_bytecode:121
            Traceback (most recent call last):
            File "/usr/local/smarthome/lib/logic.py", line 119, in generate_bytecode
            self.bytecode = compile(code, self.filename, 'exec')
            File "/usr/local/smarthome/logics/fritzbox_calllist.py", line 2
            with open('/var/run/list.csv', 'w') as csvfile:
            ^
            IndentationError: unexpected indent

            Kommentar


              #51
              Nein, da steht dass eine Einrückung falsch ist.. prüf mal die Leerzeichen. Evtl hats das beim Formatieren zerhauen..

              Kommentar


                #52
                oh ja, vor lauter Eile.. nun muss ich noch die Berechtigung korrigieren..

                permissionError: [Errno 13] Keine Berechtigung: '/var/run/list.csv'

                Kommentar


                  #53
                  Oder halt woanders hinlegen.. /var/run nutze ich auf meinem Synology halt...

                  Update: Hinbekommen? Habe gerade am PHP Code noch modifiziert.. das mit der "3" zur "4" umwandeln war Schmarrn. Auch baue ich bei eingehenden Anrufen die Nummer jetzt anders auf als bei Ausgehenden/Verpassten.
                  Zuletzt geändert von psilo; 14.04.2016, 20:01.

                  Kommentar


                    #54
                    Hallo psilo,
                    ich konnte erster leider nicht zu ende Testen - Abendbrot mit Kids :-)

                    aber nun läufts.. Ich habe die csv im smarthome/var/cache abgelegt..

                    fürs php :-)

                    PHP-Code:
                    /*
                             [0] => Device
                             [1] => Duration
                             [2] => Port
                             [3] => CalledNumber
                             [4] => Name
                             [5] => Date
                             [6] => Numbertype
                            [7] => Caller
                            [8] => Type
                            [9] => Id
                            [10] => Called
                            
                             */ 
                    dies musste ich deinem php Code auch noch ergänzen

                    PHP-Code:
                    <?php

                    require_once '../../../lib/includes.php';
                    require_once 
                    const_path_system.'phone/phone.php';

                    was hälts Du von integrieren des csv-writers in das Plugin. Mit einem Attribut z.B. "call_monitor_filename = /var/chache/cm.csv" könnte man den Pfad zur Datei angeben und damit den csv-writer aktivieren, sodass dieser bei jedem Event vom Plugin aus die csv-Datei schreibt.
                    Zuletzt geändert von ivande; 14.04.2016, 22:01. Grund: Ergänzung: integrieren des csv-writers in das Plugin

                    Kommentar


                      #55
                      Hi,

                      ich sehe das CSV in der Logik gut aufgehoben. Die Außenschnittstelle des Plugins bilden ja die Methoden, wie die Daten dann übergeben werden ist Nutzersache, das CSV ja nur ein Beispiel, weils schnell mit der SV lief. Man könnte sich genauso die Integration in ein REST Plugin vorstellen.

                      Daher will ich das so belassen.

                      VG,

                      René

                      Kommentar


                        #56
                        Am Ende vom Wochenende gibts ein neues Feature, sog. Trigger-Items.

                        Dort kann man ne Quellrufnummer (bspw. Handy) und eine Zielrufnummer (bspw. 3te VOIP Nummer daheim) definieren. Wenn der CallMonitor einen Call registriert, dann prüft er Quelle und Ziel und bei Match setzt er den bool auf true. Beim nächsten Anruf wird der bool auf false resetted und erneut geprüft...

                        Nutze das jetzt um per Call das Tor zu öffnen. Man muss nichtmal zahlen, weil es ja reicht, dass es 1mal klingelt..

                        Feature geht bereits und ist aktuell im Test.

                        Code:
                        [[[trigger]]]
                               type = bool
                               avm_identifier = fritzbox_1
                               avm_data_type = monitor_trigger
                               avm_incoming_allowed = xxx
                               avm_target_number = xxx

                        Kommentar


                          #57
                          V0.92 wäre für den Beta Test in DEV

                          V0.92

                          - heavy rework around callmonitor:
                          * you can now set so called trigger items, which depend on the calling and called number. a trigger item is set to True when the defined destination number is called by the calling number. e.g. you can trigger a logic once this happens
                          * filter for callmonitor can be set for incoming calls: you can define a specific destination number that is monitored
                          - performance fix: caching for get_calllist in parse_item introduced

                          https://github.com/smarthomeNG/smart...op/plugins/avm
                          Zuletzt geändert von psilo; 23.04.2016, 18:59.

                          Kommentar


                            #58
                            Hi René,

                            ich schaue dass ich das Plugin am Wochenende mal teste.

                            Wenn Du die Widget Datei in ein Unterverzeichnis namens sv_widgets legst und in widget_avm.html umbenennst, werden die Widgets vom visu Plugin im Developer Branch automatisch in die smartVISU installiert und stehen unter {{ avm.xxx }} zur Verfügung.

                            Edit: Voraussetzung ist, dass Du smartvisu_dir so konfiguriert hast, dass der Parameter auf das smartVISU Verzeichnis zeigt.
                            Zuletzt geändert von Msinn; 23.04.2016, 18:59. Grund: Info über smartvisu_dir ergänzt
                            Viele Grüße
                            Martin

                            There is no cloud. It's only someone else's computer.

                            Kommentar


                              #59
                              baue ich morgen mal um bzw teste

                              Msinn wie verhält sich das bei mehrfachinstantiierung des plugins?

                              Offenbar macht er das für jedes neu und überschreibt die alten :-/

                              2016-04-24 09:04:17 WARNING visu copy_widgets: Copying widgets from plugin '/volume1/python/smarthome/plugins/avm/sv_widgets'
                              2016-04-24 09:04:17 INFO visu copy_widgets: Copying widget-file: widget_avm.html
                              2016-04-24 09:04:17 WARNING visu create_widget_twig: {% import "sh_widgets/widget_avm.html" as avm %}
                              2016-04-24 09:04:17 WARNING visu copy_widgets: Copying widgets from plugin '/volume1/python/smarthome/plugins/avm/sv_widgets'
                              2016-04-24 09:04:17 INFO visu copy_widgets: Copying widget-file: widget_avm.html
                              2016-04-24 09:04:17 WARNING visu create_widget_twig: {% import "sh_widgets/widget_avm.html" as avm %}
                              2016-04-24 09:04:17 WARNING visu copy_widgets: Copying widgets from plugin '/volume1/python/smarthome/plugins/avm/sv_widgets'
                              2016-04-24 09:04:17 INFO visu copy_widgets: Copying widget-file: widget_avm.html
                              2016-04-24 09:04:17 WARNING visu create_widget_twig: {% import "sh_widgets/widget_avm.html" as avm %}

                              Zuletzt geändert von psilo; 24.04.2016, 08:05.

                              Kommentar


                                #60
                                In der root.html stehen sie jetzt auch 3mal:
                                Code:
                                    {% import "sh_widgets/widget_avm.html" as avm %}
                                    {% import "sh_widgets/widget_avm.html" as avm %}
                                    {% import "sh_widgets/widget_avm.html" as avm %}
                                Bitte dokumentiere mal, welche Files das Ding alles anpasst. Ehrlich gesagt finde ich die Implementierung etwas invasiv für meinen geschmack..

                                Kommentar

                                Lädt...
                                X