Ankündigung

Einklappen
Keine Ankündigung bisher.

Binding re-initialisieren, bzw. neu einlesen

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

    Binding re-initialisieren, bzw. neu einlesen

    Besteht die Möglichkeit ein Binding im laufenden Openhab Betrieb neu zu initialisieren?
    Hintergrund ist das Problem mit meinem Benq Beamer, der erst reagiert, wenn wenn der entsprechende RS232toTCP Adapter Strom bekommt und OH neu gestartet wird.
    Mir schwebt also das Szenario vor:
    1) TCP Adapter Power ON
    2) Benq Binding re-initialisieren
    3) Befehl an Benq ON


    Danke!

    #2
    In der Openhab-Console gibst du "ss" ein, Dann werden die laufenden Bindings angezeigt. Vor jedem Binding seht eine Nummer, über diese kannst du das Binding anhalten und neu starten.

    zB;
    stop 225
    start 225
    - openHAB 3.4.4 auf WIN11/64

    Kommentar


      #3
      Wie kommt man eigentlich an die console, wenn OH als deamon läuft?

      Kommentar


        #4
        Zitat von Tulamidan Beitrag anzeigen
        Wie kommt man eigentlich an die console, wenn OH als deamon läuft?
        Genau...bzw. als Dienst unter Windows.

        Könnte man nicht eine Rule dafür anlegen? "when switch=ON, reload binding" o.ä?

        Kommentar


          #5
          Entweder, man startet openHAB mit screen oder man definiert einen telnet-Zugang zur Konsole (im Link jeweils die Anleitung zum Autostartscript)
          Bei Windows kenne ich keine Entsprechung zu screen, aber zumindest die telnet-Variante sollte genauso funktionieren, den Aufruf in der start.bat abändern, so dass am Ende irgendwo -console 5555 auftaucht. (Dann ist die openHAB Konsole mit telnet auf Port 5555 erreichbar; Klar, dass man einen freien Port verwenden muss...)

          Kommentar


            #6
            Also imho würde ich für so was *immer* telnet bevorzugen. Kel Daemon gehört einfach nicht in ne screen/tmux session außer zum debuggen. Sas widerspricht einfach dem Design von init systemen und *nix daemons. Für den Port irgendwas entweder auf Port 23 oder irgendwas über 1024. Wobei ich persönlich das ganze hinter einer FW Regel sehen wollen würde die telnet nur von localhost zulässt. Dann könnte man mittels ssh/mosh/whatever auf die Kiste rauf und von dort per telnet auf die openhab Konsole. - Just my two cent.

            Kommentar


              #7
              und wie würde ich das Stoppen, bzw. Starten des Bindings in einer Rule definieren?

              Kommentar


                #8
                So ganz aus dem Bauch geschossen würde ich sagen du möchtest das Config Admin Binding (link, GitHub) hierfür benutzen. Das GitHub Wiki beschreibt hier eigentlich ganz gut wie es genutzt wird.

                Kommentar


                  #9
                  Noch schöner wäre nativer ssh-Zugriff auf die osgi-Konsole. Leider fehlt dazu irgendwas und ich hab leider komplett keine Ahnung davon, aber falls sich jemand berufen fühlt...

                  Kommentar


                    #10
                    udo1toni ja schön wäre das wohl schon, dummerweise kann Java allerdings keine RAW-Sockets, was hierfür notwendig wäre, das OSGi ebenfalls in purem Java ist. Interessanterweise ist das kein fehlendes Feature im Sprachendesign sondern beabsichtigt im Design der Java VM

                    Kommentar


                      #11
                      hmmm, vielleicht habe ich das ja falsch ausgedrückt... soweit ich bei meiner (sicher unvollständigen Lektüre) durchgedrungen bin, ist die osgi-Console per ssh erreichbar, wenn die betreffenden Module korrekt eingerichtet sind. Ich wüsste auch nicht, warum Java nur in der Lage sein sollte, unverschlüsselte Verbindungen zuzulassen, das würde ja jedes Sicherheitskonzept auf Java-Basis von vornherein ausschließen, oder?

                      Kommentar


                        #12
                        [OFFTOPIC]
                        Zitat von udo1toni Beitrag anzeigen
                        Ich wüsste auch nicht, warum Java nur in der Lage sein sollte, unverschlüsselte Verbindungen zuzulassen, das würde ja jedes Sicherheitskonzept auf Java-Basis von vornherein ausschließen, oder?
                        Hab ich ja auch nicht behauptet Achtung SSH != SSL ! SSL geht ohne Probleme mit Java. SSL on top of HTTP geht auch. Das "Problem" ist halt das SSH ein eigenständiges 4th level Protokoll ist, welches auf TCP aufbaut und SSL nur für die Encryption verwendet. SSH ist jetzt nicht nur stupides telnet + SSL (Vergleich wäre HTTP + SSL = HTTPS)

                        Wie schon gesagt, du bräuchtest ein RAW-Socket für TCP und müsstest darauf dann SSH implementieren. (Die ganzen Android-Clients machen das übrigens mit einem C-Kern um den herum Java GUI und nen bissel was drumherum gebaut ist. - Deswegen klappt das da auch) Ich will jetzt aber auch nicht ausschließen, dass die osgi-Console das nicht auch irgendwie auf krude Art doch hinbekommt.

                        PS: das mit Java und Sicherheit ist ja noch mal ne ganz andere Geschichte, zu der ich mich mit Absicht nicht äußern möchte.
                        [/OFFTOPIC]

                        Kommentar


                          #13
                          Zitat von g4s3 Beitrag anzeigen
                          Das "Problem" ist halt das SSH ein eigenständiges 4th level Protokoll ist, welches auf TCP aufbaut und SSL nur für die Encryption verwendet. SSH ist jetzt nicht nur stupides telnet + SSL (Vergleich wäre HTTP + SSL = HTTPS)
                          Ich hätte halt erwartet, dass, wenn Telnet geht (das baut doch auch auf TCP auf?) ...
                          Hier mal das, was ich dazu gefunden habe: http://help.eclipse.org/juno/index.j...sole_shell.htm

                          PS: Ich hab schon in meinen vorigen Postings einige Links eingabaut, die dummerweise nicht gut zu erkennen sind (dunkelblau <-> schwarz)

                          Kommentar


                            #14
                            Equinox kann die Console auf Telnet legen.
                            Telnet nur für localhost freigeben und mittels SSH Tunnel zugreifen.

                            Kommentar


                              #15
                              statt die Consolde direkt über SSH anzusprechen, wäre es doch schon ein Fortschritt, wenn man sich per SSH in seinen Server einwählt und dann dort irgendwie an die OSGI Konsole kommt. Das geht ja auch, wenn man OH über die start.sh startet. Nur wenn OH als Service läuft... wie kommt man dann an die Console?

                              Kommentar

                              Lädt...
                              X