Ankündigung

Einklappen
Keine Ankündigung bisher.

Zigbee Sensoren via zigbee2mqtt Plugin an SmartHomeNG

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

  • Sisamiwe
    antwortet
    Zitat von devau Beitrag anzeigen
    Habe mich mal dort angemeldet. Ist für mich noch Neuland, aber wenn's dort besser geht, schliessen wir hier ab.
    Hab Dich dort angeschrieben.

    Zitat von devau Beitrag anzeigen
    Du hast ja auch den Vibrationssensor im Einsatz.
    Naja, ich wollte ihn als Erschütterungssensor an meiner Markise einsetzen. Dafür war er aber nicht geeignet.

    Ich habe dann den Tuya TS0210_01 verwendet. Ist zwar deutlich größer, funktioniert aber für meinen Anwendungsfall super.

    Zitat von devau Beitrag anzeigen
    Schläft der bei Dir nicht ein?
    Nein, die beiden schlafen nicht ein, senden aber auch nur im großen Abstand ein Lebenszeichen. Wenn aber Erschütterung auftritt, sind sie sofort da.

    Zitat von devau Beitrag anzeigen
    Ich denke, wir können hier mit den Versuchen abbrechen.
    Das Problem liegt in der Payload des Switch, denn es kommt einmal "Click" und einmal "click" vor. Im Moment behandle ich die Keys nicht case sensitiv, weshalb das Item 2x getriggert wird. Ich versuche dafür noch eine Lösung zu erarbeiten. Das Plugin soll ja auch robust sein.

    Zitat von devau Beitrag anzeigen
    Wenn Du noch das Web-IF wie versprochen anpasst,
    Was genau stellst Du Dir vor?

    Einen Kommentar schreiben:


  • devau
    antwortet
    Du hast ja auch den Vibrationssensor im Einsatz. Schläft der bei Dir nicht ein? Das ist der zweite Aqara-Vib Sensor der hier diese Macke hat. Für mich ist dieses Teil absolut unbrauchbar und schon gar nicht als Sicherheitselement brauchbar.
    Ich denke, wir können hier mit den Versuchen abbrechen. Den Logikteil werde ich wieder eliminieren und meinen Delay-Entwurf wieder im Item-File aktivieren. Wenn Du noch das Web-IF wie versprochen anpasst, steht m.E. ein Einsatz dieses angepassten Tasmota-Plugins nichts mehr im Weg. Falls Du noch was testen möchtest, einfach mir mitteilen. Vielen Dank für den guten Support! :-)

    Einen Kommentar schreiben:


  • devau
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    devau
    Bist Du auch bei gitter aktiv? Da würde es einfacher/schneller gehen.
    Habe mich mal dort angemeldet. Ist für mich noch Neuland, aber wenn's dort besser geht, schliessen wir hier ab.

    Einen Kommentar schreiben:


  • devau
    antwortet
    Nun mit eingebautem "f": Pro Click zwei Log-Einträge.
    Wie schon im Beitrag #38 geschrieben, kommen von Tasmota im String zweimal "click:single" drin vor. Damit liegt der Fehler dort und nicht in SHNG.
    2021-11-18 08:11:58 INFO logics.ZB_Switch Logik 'ZB_Switch' ausgelöst durch: Item und ZB.Switch.X54EB.click mit Wert single
    2021-11-18 08:11:58 INFO logics.ZB_Switch Logik: click == single
    2021-11-18 08:11:58 INFO logics.ZB_Switch Logik 'ZB_Switch' ausgelöst durch: Item und ZB.Switch.X54EB.click mit Wert single
    2021-11-18 08:11:58 INFO logics.ZB_Switch Logik: click == single

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Ja, das f muss sein. Stichwort ist f-strings

    Einen Kommentar schreiben:


  • devau
    antwortet
    Habe aber in Deiner Logik das "f" vorne weggelassen, sah wie ein Fehler aus. Muss das doch da sein?

    logger.info(f"Logik

    Gitter? Nee.

    Python 3.7.3., SHNG 1.8.2.
    Zuletzt geändert von devau; 17.11.2021, 18:43.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    devau
    Bist Du auch bei gitter aktiv? Da würde es einfacher/schneller gehen.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Auf welchem Systemstand bis Du unterwegs? Bzw welche Python Version setzt Du ein.
    Der erste Logeintrag sollte anders aussehen. Bspw sollte {logic.id()} als Variable in einen String gewandelt werden. Damit könnte man auch sehen, wer die Logik mit was getriggert hat.

    Einen Kommentar schreiben:


  • devau
    antwortet
    Hmm, mit einem einzigen Druck auf den Switch wird tatächlich melrmals ausgelöst.....
    Gemäss Tasmota Console geht aber nur ein einziger Befehl raus:
    Update: Aber mit zweimal "ckick* in der zeile:
    18:30:08.062 MQT: tele/tasmota_A8D079/SENSOR = {"SWITCH1":{"Device":"0x54EB","Name":"SWITCH1", "Mu ltiInValue":1,"Click":"single","click":"single","E ndpoint":1,"LinkQuality":157}}

    Code:
    2021-11-17  18:31:19 INFO     logics.ZB_Switch    Logik '{logic.id()}' ausgelöst durch: {trigger['by']} und {trigger['source']} mit Wert {trigger['value']}
    2021-11-17  18:31:19 INFO     logics.ZB_Switch    Logik: click == single
    2021-11-17  18:31:19 INFO     logics.ZB_Switch    Logik '{logic.id()}' ausgelöst durch: {trigger['by']} und {trigger['source']} mit Wert {trigger['value']}
    2021-11-17  18:31:19 INFO     logics.ZB_Switch    Logik: click == single
    Über SHNG wird meine ganze KNX-Hausinstallation geschaltet (hauptsächlich Rolladen und Lichter). Dazu benutze ich SmartVISU ais WebIF.
    Zuletzt geändert von devau; 17.11.2021, 18:38.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    devau

    Ich habe in die Logik ein paar Log-Ausgaben eingebaut. Dazu bitte prüfen, dass der Log-Level für Logik auf INFO steht. (AdminIF --> Logs --> Liste der Logger)
    Mit den Ausgabe kann man sehen, wie oft die Logik getriggert wird. und theoretisch das KNX-Item ändern würde.

    Code:
    #!/usr/bin/env python3
    # logik.py
    
    # Loggerausgaben
    logger.info(f"Logik '{logic.id()}' ausgelöst durch: {trigger['by']} und {trigger['source']} mit Wert {trigger['value']}")
    
    # Einlesen der Triggerwerte
    click = sh.ZB.Switch.X54EB.click()
    action = sh.ZB.Switch.X54EB.action()
    
    ##ZigbeeDaten auswerten
    # Wenn Einfach-Click, dann Licht Umschalten
    if click == 'single':
        # sh.OG.Buero.Licht.Decke.schalten(not sh.OG.Buero.Licht.Decke.schalten())
        logger.info(f'Logik: click == single')
    Probier das bitte mal.

    Schaltest Du noch andere KNX Sachen über shNG?

    Einen Kommentar schreiben:


  • devau
    antwortet
    Code:
    #!/usr/bin/env python3
    # logik.py
    
    # Einlesen der Triggerwerte
    click = sh.ZB.Switch.X54EB.click()
    action = sh.ZB.Switch.X54EB.action()
    
    ##ZigbeeDaten auswerten
    # Wenn Einfach-Click, dann Licht Umschalten
    if click == 'single':
        sh.OG.Buero.Licht.Decke.schalten(not sh.OG.Buero.Licht.Decke.schalten())

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von devau Beitrag anzeigen
    Texteditor hier im Forum macht was er will:
    Schau mal hier
    Da wird erklärt, wie es geht.

    Das Item sieht gut aus.
    Kannst Du nochmal den Inhalt der Logik posten?

    Einen Kommentar schreiben:


  • devau
    antwortet
    Als Bild,weil der Texteditor hier im Forum macht was er will: Er entfernt mir im CODE-Teil die Spaces.:
    knx-send.jpg

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von devau Beitrag anzeigen
    Nun, da sind wir wieder gleich weit wie schon einmal: Jetzt flattert das Relais kurz, aber es passiert nichts mehr. Ich denke, ich bleibe bei meiner ursprünglichen Fassung mit einem eingebauten Delay :-)
    Da liegt aber etwas anderes im Argen. Wie sieht denn das Item aus, dass an KNX sendet?

    Einen Kommentar schreiben:


  • devau
    antwortet
    Nun, da sind wir wieder gleich weit wie schon einmal: Jetzt flattert das Relais kurz, aber es passiert nichts mehr. Ich denke, ich bleibe bei meiner ursprünglichen Fassung mit einem eingebauten Delay :-)

    Einen Kommentar schreiben:

Lädt...
X