Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    GanfMR
    @GanfMR
    was denkt ihr?
    bmxp
    @bmxp
    @GanfMR Ich habe das jetzt erstmal gemerged. Sollten wir feststellen, das es mehrere flavours in der freien Wildbahn gibt, so können wir den Datenpunkt immer noch umbenennen in en251600mdt oder so ähnlich. Da es die Spec offziell noch nicht für Kunden im Download gibt, sondern wohl nur für Manufacturer oder auf Anfrage bei der Konnex warten wir halt mal ab.
    Michael
    @michischatz
    Guten Morgen, ich hätte mal eine Frage: Wo ist mein Fehler, wenn der Plugin Scheduler nicht ausgeführt wird, bzw. sehe ich die Ausführung niergends im Log und das Plugin selbst schreibt auch nichts ins Log. Gibt es für die Scheduler-Sache ein extra Log? Ich hab in der Run-Methode einfach diese Codezeile platziert und würde erwarten, dass der entsprechende cycle läuft (aktuell auf 30, der Wert kann eingestellt werden): Das wäre die Codezeile: self.scheduler_add("poll_device", self.poll_device, prio=3, cron=None, cycle=self._cycle, value=None, offset=None, next=None)
    msinn
    @msinn
    Was wird denn in der Admin GUI angezeigt?
    Auswührungen von Schedulern werden nicht geloggt. Sonst wäre da Log schnell mehere MB groß

    und das Plugin selbst schreibt auch nichts ins Log

    Was meinst Du damit?

    Wenn Du einen Log Eintrag des Plugin erwartest und es wird nichts geloggt: Wird das Plugin denn überhaupt geladen?
    Michael
    @michischatz
    In der Admin GUI steht der Scheduler drin mit den angegebenen Werten. Das Plugin wird geladen, wenn ich in der Run-Methode die Funktion selbst ausführe, z.B. mit self.poll_device() dann kommen debug-Meldungen von der poll_device Funktion im Log, die würde ich alle x Sekunden erwarten. Muss ich in der self.scheduler_add Funktion den Funktionsnamen im zweiten Parameter so angeben? self.scheduler_add("poll_device", self.poll_device(), prio=3, cron=None, cycle=self._cycle, value=None, offset=None, next=None) also mit Klammer auf und zu?
    bmxp
    @bmxp
    Die Frage in diesem Falle: Hast Du in logging.yaml auch etwas konfiguriert um Debug Meldungen Deines Plugins anzuzeigen? Im Normalfall ist der Level für die Plugins nur auf Warning und da kommt dann logger.debug( ... ) nicht an
    Michael
    @michischatz
    ja, das kommt rüber
    also das erstmalige laden der Funktionen taucht im Log auf
    steht auch drin mit level DEBUG
    den code hab ich vom Sample-Plugin genommen
    wieso beginnen manche Funktionen mit einem _ ? ist das Python spezfisch?
    bmxp
    @bmxp
    Ja. Das bedeutet das die Klassenintern sind und von extern nicht genutzt werden sollen. Etwas wie public, private oder protected gibt es bei Python nicht
    Michael
    @michischatz
    ah, ok
    Michael
    @michischatz
    dann kanns ja an dem nicht liegen
    bmxp
    @bmxp
    Du kannst Dir ja mal ein Liste mit Loggern anzeigen lassen.
    Michael
    @michischatz
    grafik.png
    müsste doch loggen oder?
    also er tuts ja auch
    aber der Job läuft nicht, obwohl auch die Ausführungszeit richtig ist
    irgendwo hab ich einen little bug drin
    vielleicht ist meine Uhrzeit nicht richtig konfiguriert?
    Michael
    @michischatz
    war tatsächlich der Logger nicht richtig gesetzt
    henfri
    @henfri
    Hallo
    ich hab in einer Logik eine Klasse definiert.
    muss ich etwas beachten, wenn ich daraus loggen will?
    bmxp
    @bmxp
    Ich vermute das Du den logger der Logik dem Konstruktor mitgeben musst...
    henfri
    @henfri
    logging.getLogger('uvr').debug('Working on')
    sollte doch funktionieren, oder?
    aber ich proviere es mal so
    msinn
    @msinn
    Es sollte auch reichen logic.logger.warning(…) zu verwenden. (Habe ich jetzt aber nicht extra ausprobiert)
    henfri
    @henfri
    Ok, danke
    das übergeben im Konstruktor habe ich umgesetzt.
    logic.logger.... habe ich nicht ausprobiert - mache ich nächstes Mal
    Danke euch Zwei
    henfri
    @henfri
    Hallo nochmal,
    woran kann es denn liegen, wenn beim Neustart von smarthome einige Lichter an gehen?
    Alle Einstellungen bezüglich des Verhaltens beim Start, die mir geläufig sind lesen doch alle nur und schreiben nicht, oder?
    Morg42
    @Morg42
    Dafür müsste man in die item-Config schauen, sonst ist das schwierig zu beantworten.
    henfri
    @henfri
    Naja, eins der Items hat z.B. nur knx_send und knx_cache
                W:
                    knx_send:  1/1/0
                    knx_cache: 1/1/3
                    alexa_device: Till_Stripe_Oben
                    alexa_name: 'Till Stripe oben'
                    alexa_description: 'Till Lichterschlauch oben'
                    alexa_icon: 'LIGHT'
                    alexa_actions: 'TurnOn TurnOff'
    
                    Dimmwert:
                        knx_send:  1/1/2
                        knx_cache: 1/1/4
                        alexa_actions: 'AdjustBrightness SetBrightness'
                        alexa_retrievable: True
                        alexa_item_range: '0-100' 
                        alexa_device: Till_Stripe_Oben
                        alexa_name: 'Till Stripe oben'
                        alexa_icon: 'LIGHT'
    Aber es hat auch eine Szene.
    bzw. es ist Teil einer Szene
            Szene:
              type: scene
              knx_cache: 10/1/2
              knx_send: 10/1/2
              knx_dpt: 18.001
              enforce_updates: 'true'
    Morg42
    @Morg42

    Nur die knx-Config vom Item sieht ok aus (schau im Log, ob der Cache Fehler beim Start wirft).
    Wie verhält sich denn alexa beim Start? Kommentier doch mal das Alexa-Plugin in der plugin.yaml aus und starte. Passiert das gleiche?
    Mit Szenen kenne ich mich nicht aus. Könnte gegebenenfalls beim Start die Szene reinpfuschen? -> Szene auskommentieren und nochmal probieren.

    So kannst du systematisch die Quelle eingrenzen.

    Onkel Andy
    @onkelandy
    Passiert das immer bei den gleichen items oder zufällig? Knx cache liest ja vom knxd cache - eventuell ist da ein falscher/alter Wert drin? Könntest mal auf knx_init stellen. Ist zwar nicht so prickelnd wegen buslast und eventuell verschluckter Telegramme, aber zum Debuggen n versuch wert
    bmxp
    @bmxp
    Zumindest würde ich explizit immer den knx_dpt und den type angeben.