Ankündigung

Einklappen
Keine Ankündigung bisher.

Verständnisfrage für den Beginner

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

    #16
    Sisamiwe Macht Sinn - dann kann man aber wahrscheinlich in den Items auch sowas schreiben wie

    instance:
    - knx1
    - knx2

    um beide Anbindungen mit dem Item zu verknüpfen, ist das richtig?

    Kommentar


      #17
      Hi,

      Zitat von brunosa3 Beitrag anzeigen
      Momentan habe ich nur eine Anbindung an den Bus - Plane aber in Zukunft noch eine zweite,
      nur Interesse halber: Was wäre Dein Szenario, so was zu machen?

      Gruß, Waldemar

      Kommentar


        #18
        Zitat von brunosa3 Beitrag anzeigen
        Macht Sinn - dann kann man aber wahrscheinlich in den Items auch sowas schreiben wie
        Die richtige Schreibweise für das Attribut ist:

        ohne Instanz
        Code:
        knx_listen: x/x/x
        mit Instanz:
        Code:
        kxn_listen@instance: x/x/x
        Wäre also bei deiner "alten" Konfig:
        Code:
        knx_listen@merry: x/x/x

        Kommentar


          #19
          mumpf ich hab nicht wirklich ein Scenario.

          Ich habe einfach drei raspi's im Haus die jeweils an einem Touchpanel hängen. Zusätzlich habe ich noch einen richtigen Server der noch nicht aufgesetzt ist und später für grössere Sachen wie zB Gesichtserkennungen genutzt wird. Wollte von allen flexibel auf den Bus kommen.

          Sisamiwe vielen Dank

          Kommentar


            #20
            Hi,

            Zitat von brunosa3 Beitrag anzeigen
            Wollte von allen flexibel auf den Bus kommen.
            natürlich kannst Du von allen Raspi über knxd auf den Bus oder dort gar eigene shNG-Instanzen laufen lassen, aber oben wäre das ein anderes Szenario: In einem shNG verschiedene knxd-Instanzen nutzen. Dazu fallen mir nur getrennte Bussegmente (Linien) als Szenario ein, die man selber kontrolliert über shNG koppeln möchte anstatt generisch über einen LK. Und ich glaube, das willst Du nicht.

            Bei Deinem Wunsch, verschiedene Raspi (egal ob mit Panels oder sonst was dran) mit dem Bus zu koppeln sollten die Raspi einfach über IP mit der shNG-Instanz sprechen und die schickt dann die Daten auf den Bus.

            Gruß, Waldemar

            Kommentar


              #21
              Wie würde dieses Szenario in der Praxis aussehen?

              ich habe auf dem Hauptserver shNG laufen und die 3xraspi's sprechen über TCP/IP (nw plugin) mittels shNG (Hauptserver) zum Bus?

              Vielen Dank für den Hinweis

              Kommentar


                #22
                Hi,

                ob über das nw-Plugin oder vielleicht über ein Panel-spezifischeres Plugin laufen sollte (dass es vielleicht schon gibt oder das Du schreiben könntest), kann ich so abstrakt nicht sagen. Hängt davon ab, was die Panel-Raspis eigentlich machen. Aber wenn Du ein Panel-Plugin hättest, dann würde man dafür dann 3 Panel-Plugin-Instanzen benötigen (damit jedes Panel einzeln adressierbar wäre), zum Bus hin würden die über shNG und somit trotzdem nur über eine knxd-Instanz reden.

                Du kannst natürlich auch auf einem Panel-Raspi den knxd nutzen, um Daten vom/zum Bus zu senden bzw. zu empfangen, aber diese knxd-Instanzen müssen nicht shNG nicht bekannt sein (meiner Meinung nach sollten sie das nicht sein). Denn das wäre dann nur eine Implementierung der Kommunikation des Panels zum Bus, aus Sicht des Busses und shNG also einfach ein weiteres KNX-Gerät.

                Sobald Fremdgeräte mit "Rechner-Intelligenz" angebunden werden sollen, sind die Möglichkeiten vielfältig, aber wenn die Fremdgeräte IP können, würde ich diesen Weg eher nutzen als alles über den Bus zu tunneln.

                Gruß, Waldemar

                Kommentar


                  #23
                  mumpf vielen Dank - das ist nun klar.

                  Es tt mir Leid, wenn ich so abschweife aber eine kleine Frage hätte ich noch zu Items in generel: In der Doku über Items lese ich das man eine Logik auch über regex style triggern könnte zB
                  Code:
                  haus.eg.*.audio.status
                  anstatt jedes item/raum im EG zu definieren (
                  Code:
                  - haus.eg.wc.audio.status
                  - haus.eg.kueche.audio.status
                  - haus.eg.wohnzimmer.audio.status
                  und so weiter).

                  Nun frage ich mich - ist es auch möglich elegant mehrere items gleichzeitig zu setzen - um beim Beispiel zu bleben zB sowas wie
                  Code:
                  sh.haus.eg.*.audio.status(1)

                  Kommentar


                    #24
                    Für den Fall, dass sich noch jemand anderes für die Frage interessiert.

                    Nach meinem kurzen Versuch scheint es als würde die oben beschriebene regex Methode nur zum triggern einer Logik aber nicht zum setzen eines Items in der Logik selbst funktionieren.

                    Nun habe ich die Methode item.return_children() entdeckt durch welche ich mich einfach durch schleife, um in dem Beispiel unten den Klingelton aus den Deckenlautsprecher zu quittieren - sobald entweder die Tür geöffnet wurde oder 1min vorbei ist.

                    Code:
                    import time
                    
                    timeout = 60 # [seconds]
                    timeout_start = time.time()
                    
                    while time.time() < timeout_start + timeout:
                        if sh.haus.eg.flur.tuere.zu() == False:
                            sh.haus.eg.flur.audio.klingel('')
                    
                            for item in sh.haus.eg.return_children():
                                try:
                                    item.audio.status(0)
                                except:
                                    logger.warning("Try except error by shut down - door opened in time! with item {}".format(item))

                    Kommentar

                    Lädt...
                    X