Ankündigung

Einklappen
Keine Ankündigung bisher.

openhab - Fritzbox Binding TR064 - immer noch Probleme

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

    openhab - Fritzbox Binding TR064 - immer noch Probleme

    Hallo zusammen,

    ich bekomme das ganze nicht ans laufen.
    Code:
    ...
    [DEBUG] [o.o.b.f.i.FritzboxTr064Binding] - FritzBox TR064 Binding activated!
    [DEBUG] [o.o.b.f.i.FritzboxTr064Binding] - Custom refresh interval set to 60000
    [DEBUG] [o.o.b.f.i.FritzboxTr064Binding] - Releasing connection
    [DEBUG] [o.o.b.f.i.FritzboxTr064Binding] - Found 2,4 Ghz, 5Ghz and Guest Wifi
    
    ...
    [ERROR] [o.u.i.items.ItemUIRegistryImpl] - Cannot retrieve item fboxName for widget org.openhab.model.sitemap.Text
    Sitmap
    Code:
    String fboxName "FBox Model [%s]" {fritzboxtr064="modelName"}

    Items
    Code:
    Text item=fboxName
    Ich hoffe jemand hat eine Idee was ich falsch mache. Bin echt am verzweifeln.

    Greetings
    Tom

    #2
    Servus!

    Wenn das so ist, wie du es beschreibst, kann es nicht funktionieren. Du hast Sitemap und Items vertauscht. Die Zeile in der Items muss in die Sitemap und die aus der Sitemap in die Items.

    Gruß!

    Kommentar


      #3
      so funktioniert bei mir
      Items
      Code:
      String  fbName          "FBox Model [%s]"       { fritzboxtr064="modelName" }
      String  fbWanIP         "FBox WAN IP [%s]"     { fritzboxtr064="wanip" }
      Contact cFboxMacOnline   "Presence (WiFi) [%s]"      {fritzboxtr064="maconline:11-11-11-11-11-11" }
      Switch  fboxRinging         "Telefon klingelt [%s]" (gF)     {fritzboxtr064="callmonitor_ringing" }
      Call    fboxIncomingCall    "Incoming call: [%1$s to %2$s]"     {fritzboxtr064="callmonitor_ringing" }
      Call    fboxOutgoingCall    "Outgoing call: [%1$s to %2$s]"     {fritzboxtr064="callmonitor_outgoing" }
      Call    fboxIncomingCallResolved    "Incoming call: [%1$s to %2$s]" {fritzboxtr064="callmonitor_ringing:resolveName" }

      Sitemap
      Code:
        Text item=fbName label="Model [%s]" icon="network"
        Switch item=fboxRinging         label="Telefon klingelt [%s]"mappings=[OFF="  "]
        Text item=fboxRinging  label="Telefon klingelt[%s]" icon="phone"
        Text item=fbWanIP label="WAN IP-Adresse [%s]"icon="network"
        Text item=fboxIncomingCall label="Rufnummer Ankommend [%1$s to %2$s]"icon="network"
        Text item=fboxIncomingCallResolved label="Incoming call: [%1$s to %2$s]"icon="network"
      die zwei Sachen die nicht gehen bei dem Binding. wenn jemand anruft bei dem mehrere Tel. Nummer im Fritzbox angelegt sind bekomme ich nur Tel. Nummer angezeigt und kein Name
      und wenn jemand an der Tür klingelt bekomme ich auch nicht angezeigt ist eine Doorline dran
      hab schon in dem Openhab Fehler Bericht geschrieben aber immer noch keine Antwort bekommen
      das mit der Tür hab ich jetzt anders gelöst mit Fibaro Türsensor

      Kommentar


        #4
        So funktioniert es bei mir


        Items

        PHP-Code:
        Group gFritz      "Fritzbox Router" <rweFritzbox>

        String  fboxName      "Fritz!Box Model [%s]" <rweFritzbox> (gFritz) { fritzboxtr064="modelName" }
        String  fboxWanIP     "WAN IP Adresse [%s]" <rweWAN> (gFritz) { fritzboxtr064="wanip" }
        Contact fboxMacOnline1 "XXXX  Handy WLAN-Präsenz [MAP(presence.map):%d]" {fritzboxtr064="maconline:88-63-DF-74-CA-XX" }
        Contact fboxMacOnline2 "YYYY Handy WLAN-Präsenz [MAP(presence.map):%d]" {fritzboxtr064="maconline:AC-5F-3E-BA-F0-YY" }
        Switch  
        fboxInRinging "Telefon klingelt eingehend[%s]" <network> {fritzboxtr064="callmonitor_ringing" }
        Call    fboxIncomingCall "Eingehender Anruf Nr: [%1$s an Nebenstelle: %2$s]" {fritzboxtr064="callmonitor_ringing" }
        Switch  
        fboxOutRinging   "Telefon klingelt ausgehend [%s]" <network> {fritzboxtr064="callmonitor_outgoing" }
        Call    fboxOutgoingCall "Ausgehender Anruf: [%1$s to %2$s]" {fritzboxtr064="callmonitor_outgoing" }

        Call    fboxIncomingCallResolved  "Eingehender Anruf-Name: [%1$s an Nebenstelle: %2$s]" fritzboxtr064="callmonitor_ringing:resolveName" }
        Call    fboxOutcomingCallResolved "Ausgehender Anruf-Name: [%2$s an Nebenstelle: %1$s]" fritzboxtr064="callmonitor_outgoing:resolveName" }
        Switch  
        fboxWifi24    "2,4GHz WLAN (An/Aus)" <wifi> (gFritz) { fritzboxtr064="wifi24Switch" }
        Switch  
        fboxWifi50    "5,0GHz WLAN (An/Aus)" <wifi> (gFritz) { fritzboxtr064="wifi50Switch" }
        Switch  
        fboxGuestWifi "Gäste  WLAN (An/Aus)" <wifi> (gFritz) { fritzboxtr064="wifiGuestSwitch" }

        Switch  
        fboxTAM0Switch "Anrufbeantworter 0 (An/Aus)" <rweanrufbeantworter> (gFritz)  { fritzboxtr064="tamSwitch:0" }
        Number  fboxTAM0NewMsg "Neue Nachrichten auf AB 0 [%s]" <rweanrufbeantworter> (gFritz) { fritzboxtr064="tamNewMessages:0" }

        Number  fboxMissedCalls "Anrufe in Abwesenheit in den letzten 5 Tagen [%s]" (gFritz) { fritzboxtr064="missedCallsInDays:5" 


        sitemap
        PHP-Code:
        Group item=gFritz label="Fritz!Box" icon="rweFritzbox"
        Text item=fboxMacOnline1 label="XXX   Handy WLAN-Präsenz [MAP(presence.map):%d]" icon="rweiphone"
        Text item=fboxMacOnline2 label="YYY Handy WLAN-Präsenz [MAP(presence.map):%d]" icon="rweiphone"
        Text item=fboxIncomingCall label="Eingehender Anruf Nr: [%1$s an Nebenstelle: %2$s]" icon="network"  visibility=[fboxInRinging==ON]
        Text item=fboxIncomingCallResolved label="Eingehender Anruf-Name: [%1$s an Nebenstelle: %2$s]" icon="network" visibility=[fboxInRinging==ON]
        Text item=fboxOutgoingCall label="Ausgehender Anruf Nr: [%1$s an Nebenstelle: %2$s]" icon="network" visibility=[fboxOutRinging==ON]
        Text item=fboxOutcomingCallResolved label="Ausgehender Anruf-Name: [%2$s an Nebenstelle: %1$s]" icon="network" visibility=[fboxOutRinging==ON
        Anruferinfos sind ausgeblendet durch den Parameter visibility

        Hat schon jemand die Rückwärtssuche via Websuche implementiert?
        Zuletzt geändert von Smarter; 12.07.2016, 06:23.
        ++openHAB RaspberryPi3++RWE-Smarthome+PhilipsHue+Sonos+Buderus-Brennwertkessel+SamsungCAM+SamsungGalaxyTab4+Fritzbox7490+FIBARO-Zwischenstecker+LogitechHarmonyHub+Netatmo+DreamboxDM800

        Kommentar


          #5
          Danke für Eure ausführlichen Rückmeldungen. Leider geht es immer noch nicht. (Sitemap und Items passen hab's nur oben im post vertaucht)
          Ich bekomme immer noch diesen Fehler:
          Code:
          [o.u.i.items.ItemUIRegistryImpl] - Cannot retrieve item fbName for widget org.openhab.model.sitemap.Text
          Config sieht so aus:
          Code:
          ############################# Fritz!Box TR064 Binding #######################################
          #
          ## Binding for accessing FritzBoxes using the TR064 protocol. Uses http(s) requests.
          
          # URL. Either use http://<fbox-ip>:49000 or https://<fbox-ip>:49443 (https preferred!)
          #fritzboxtr064:url=https://192.168.178.1:49443
          fritzboxtr064:url=http://192.168.178.1:49000
          
          # Refresh Interval (60000ms default)
          fritzboxtr064:refresh=60000
          
          # User Name (only use this value if you configured a user in fbox webui/config!)
          # If this parameter is missing, "dslf-config" is used as default username
          # It is recommended to to switch to authentication by username in fritzbox config
          # and add a separate config user for this binding.
          fritzboxtr064:user=xxxx
          
          # PW
          fritzboxtr064:pass=xxxx
          Ich habe bereits beide url varianten getestet.

          Kommentar


            #6
            mach doch mal aus "fboxName" -> "fbName" !!

            Gruss
            PhilW
            Google oder Wiki-Hilfe-Hinweise nehme ich nur an wenn sie mich total blamieren..... dann ertrage ich sie auch in Demut und Dankbarkeit;-)

            Kommentar


              #7
              Hab ich doch zum Testen bereits gemacht. Ich habe das schon durchgängig geändert :-)

              Kommentar


                #8
                mmh dann weiss ich auch nicht: Bei mir isses:
                Items:
                String fboxName "FBox Modell [%s]" (NT_Fritzbox) {fritzboxtr064="modelName"}
                Damit taucht der Name in der Sitemap (also in der OpenHAB GUI) unter Gruppe NT_Fritzbox automatisch auf. Quasi:
                FBox Modell ____________ FRITZ!BOX 7490
                Mehr hab ich nicht gemacht
                Google oder Wiki-Hilfe-Hinweise nehme ich nur an wenn sie mich total blamieren..... dann ertrage ich sie auch in Demut und Dankbarkeit;-)

                Kommentar


                  #9
                  Mit welchen Tool bzw Editor bearbeitest Du die Dateien items & sitemap?
                  Hintergrund: Eventuelle sind die Dateien korrupt
                  ++openHAB RaspberryPi3++RWE-Smarthome+PhilipsHue+Sonos+Buderus-Brennwertkessel+SamsungCAM+SamsungGalaxyTab4+Fritzbox7490+FIBARO-Zwischenstecker+LogitechHarmonyHub+Netatmo+DreamboxDM800

                  Kommentar


                    #10
                    WinScp unter Windows 7. Korrupt kann ich mir nicht vorstellen, die restlichen Einträge
                    wie Licht/Rollladen/Heizung funktionieren. Aber danke für den Tipp.
                    Ich glaube ich gebe es auf. Die Fritzbox Steckdosen kann ich steuren sowie das ganze Homematic Zeugs.
                    Ich hab wirklich keine Idee mehr und langsam auf keine Lust mehr.

                    Kommentar


                      #11
                      Hallo und guten Tag,

                      ich bin blutiger Anfänger bei openhab und würde gern mit dem TR064 Binding starten und danach mit KNX weitermachen.

                      Der aktuelle Status ist das OH2.2 auf dem Raspi installiert ist und das Binding TR064 ebenfalls.
                      Ein seperater Benutzer ist in der Fritzbox angelegt und auch der Zugriff aktiviert.
                      Im Openhab habe ich die Zugangsdaten in der GUI eingegeben und dann festgestellt das es auch noch eine tr064.cfg gibt. Müssen die Daten dort auch eingetragen werden ?
                      Und werden die Items oder die Verbindung zur Box dann angezeigt ? Ich kann leider nirgends erkennen ob der Zugriff funktioniert.

                      Grüße Guido
                      Zuletzt geändert von Höhlenbär; 30.01.2018, 15:31. Grund: rechtschreibung
                      Gruß

                      Guido

                      Kommentar


                        #12
                        Also laut Doku müsste es eine Datei fritzboxtr064.cfg unter services geben. Dort müsste dann mindestens die URL sowie das Passwort hinterlegt werden. Da Du schreibst, dass Du einen eigenen User für openHAB in der Fritzbox eingerichtet hast, muss auch der Username in der Datei angeben werden.
                        Ich habe keine Fritzbox und deshalb auch keine Ahnung vom Binding selbst. Es gibt ein paar OH1 Bindings, die zusätzlich in Paper UI konfiguriert werden können. Im Zweifel müsste es dann auch reichen, dort die entsprechenden Parameter einzutragen. Ob das Ganze funktioniert, sollte man über ein einfaches Item erkennen, z.B.
                        Code:
                        String fboxName "FBox Model [%s]" {fritzboxtr064="modelName"}
                        sollte den Modellnamen Deiner Box liefern. Wenn da also was drin steht, funktioniert die Anbindung, wenn nur ein Strich zu sehen ist, klemmt noch etwas.

                        Kommentar


                          #13
                          Hallo

                          in welche Datei muss ich denn den Code Schreiben ? Und wie erkenne ich ob da was drin steht ?

                          Ich habe etzt eine FritzBox.items angelegt. Aber wo finde ich diese dann in OH ? Sorry aber ich habe das System noch nicht verstanden.
                          Gruß

                          Guido

                          Kommentar


                            #14
                            Es kommt immer ein wenig darauf an, wie openHAB installiert wurde, und auf welchem Betriebssystem es läuft. Grundsätzlich gibt es ein paar wichtige Ordner, allen voran der, in dem die Konfiguration liegt.
                            Unter debian (z.B. auch Raspberry Pi, openHABian, Ubuntu) wird normalerweise über die Paketverwaltung apt installiert. Dann gibt es unterhalb /etc/ einen Ordner openhab2/.
                            Unter Windows wäre das normalerweise der Ordner C:\openhab2\. Unterhalb dieses Pfades sind die Speicherplätze dann identisch, mal von der Richtung der Querstriche abgesehen.
                            Es gibt dort ein Verzeichnis services/, in dem z.B. die fritzboxtr064.cfg liegt. Auch alle anderen OH1 Bindings werden dort konfiguriert, ebenso wie openHAB selbst dort zwei Dateien hat (runtime.cfg und addons.cfg), über die man vieles konfigurieren kann. Wichtig zu wissen ist, dass man, wenn man über addons.cfg z.B. Addons installiert, zwar jederzeit ein Addon über Paper UI installieren kann, openHAB deinstalliert dieses Addon aber beim nächsten Neustart wieder. Wenn man die addons.cfg komplett im Default Zustand belässt, werden die über Paper UI installierten Addons beim Neustart nicht deinstalliert. Das ist etwas gewöhnungsbedürftig. Ähnliches gilt für Einstellungen, die man in der runtime.cfg festlegt.
                            Ein weiteres Verzeichnis heißt items/, dort kommen *.items Dateien rein. In diesen Dateien werden, wie der Name vermuten lässt, Items konfiguriert. Ein Item repräsentiert einen Wert auf dem openHAB Bus. Dies kann also ein Schaltzustand (Switch ON/OFF oder Contact, OPEN/CLOSED), ein Prozentwert (Dimmer, Rollershutter), eine Zahl (Number), ein Text (String) oder auch etwas komplexeres, z.B. eine Lichtfarbe (Color, HSB), eine Koordinate (Location) und so weiter sein. Ein Item hat mehrere Eigenschaften: einen Bezeichner (der logischerweise systemweit eindeutig sein muss), ein Standardlabel (wahlweise mit dynamischem Teil, also der Darstellung des Status), einem Icon (mit einem Default Icon, abhängig vom Itemtyp, das Icon kann dynamisch sein), Gruppenzugehörigkeit und eine oder mehrere Verknüpfungen mit externer Hardware.
                            Zum Beispiel legt die Zeile
                            Code:
                            String fboxName "FBox Model [%s]" {fritzboxtr064="modelName"}
                            ein String Item an. Der eindeutige Name des Items lautet fboxName (exakte Schreibweise!), das Label lautet "(linksbündig) FBox Model (rechtsbündig fett)<Modellname der Fritz!Box>", als Icon wird statisch eine Textseite angezeigt, das ist der Default für String, das Item gehört keiner Gruppe an, es ist mit dem Fritxboxtr064-Binding verknüpft und sein Inhalt entspricht dem Datensatz modelName aus dem Fritzboxtr064 Binding.
                            Damit steht diese Eigenschaft systemweit in diesem Item zur Verfügung. Macht bei der Fritz!box erstmal nicht viel her, weil man ja (hoffentlich) nicht ständig die Fritz!box tauscht, aber das Prinzip sollte damit klar sein.

                            Damit man nun das Label überhaupt zu Gesicht bekommt, braucht man noch eine Sitemap, die man im Browser anschauen kann.
                            Sinnvollerweise wird so eine Sitemap im Ordner sitemaps/ abgelegt, und zwar als *.sitemap. Vielleicht ist es Dir nicht aufgefallen, aber diese Dateiendung ist Einzahl, während die Items-Dateiendung Mehrzahl ist. Das hat einen guten Grund. Während man nämlich in einer .items Datei beliebig viele Items definieren kann, enthält die .sitemap Datei immer exakt eine Sitemap.
                            Die Datei meine.sitemap enthält dann z.B.:
                            Code:
                            sitemap meine label="Meine erste Sitemap" {
                                Frame label="Ein Rahmen" {
                                    Text item=fboxName
                                }
                            }
                            Hinter dem Schlüsselwort sitemap befindet sich der Dateiname ohne Endung, hier darf also nicht irgendetwas stehen. Groß/Kleinschreibung wird berücksichtigt (das gilt im Übrigen so gut wie überall in openHAB, da muss sich ein Windows User erstmal dran gewöhnen)
                            Anschließend folgt die Hauptüberschrift, die man oben auf der Seite wiederfindet.
                            Alles, was in den äußersten geschweiften Klammern steht, gehört zu dieser Sitemap.
                            Es folgt als einfaches Beispiel ein Frame (also ein Rahmen) mit einer weiteren Überschrift. Alles innerhalb der geschweiften Klammern gehört zu diesem Rahmen.
                            Im Rahmen schließlich befindet sich ein einzelnes Text Widget. Aussehen und Inhalt des Text Widgets werden von den übergebenen Parametern beeinflusst, in diesem Fall wird das Label des Widgets aus dem verbundenen Item übernommen, ebenso wie das Icon. Da im Label des Items ein Teil definiert ist, der den Status des Items darstellt, kann man also auf der Sitemap den Modelnamen der verbundenen Fritz!box lesen.

                            Weil es immer wieder zu Irrtümern deswegen kommt, noch ein Hinweis: Widget und Item sind zwei grundverschiedene Dinge, auch wenn sie meist etwas miteinander zu tun haben. Man verwendet z.B. ein Switch Widget, um einen Switch darzustellen. Normalerweise wird man dieses Widget dann auch mit einem Switch Item verknüpfen.
                            Vielleicht möchte man aber ein Item darstellen, ohne es über die UI schalten oder verändern zu können, dann nimmt man halt das Text Widget -> keine Schaltfläche.

                            Die Sitemap ist bei laufendem openHAB System über die Adresse http://ip.des.openhab.rechners:8080/basicui/app?sitemap=meine erreichbar.

                            openhAB ist gut strukturiert und verhält sich normalerweise immer ähnlich. Zum Beispiel die Sache mit der Groß/Kleinschreibung, die gilt überall, also einfach angewöhnen, immer exakt die kleiche Schreibweise zu verwenden. Dann die Sache mit Einzahl und Mehrzahl, es gibt noch andere Dateien, wo das genauso ist, z.B. gibt es .map Dateien, in denen eine Wertzuweisung (ein Mapping) erfolgt. In jeder Datei ist eine Map angelegt (mit beliebig vielen Wertepaaren). Oder Scripte (ein ausgelagerter Codeblock), in jeder .script Datei steckt exakt ein Script. Im Gegensatz dazu gibt es in einer .rules Datei beliebig viele Regeln, die man festlegen kann (wenn das passiert, mach jenes).
                            Zuletzt geändert von udo1toni; 31.01.2018, 01:24.

                            Kommentar


                              #15
                              Guten Morgen,

                              vielen Dank für die ausführliche Antwort. Da wird mir natürlich einiges klarer verständlich.

                              Das verwirrende war das in der PaperUI beim Anlagen zb. von dem Kodi Binding die Verbindung in grün angezeigt wird und man auch die Items per Klick auswählen kann.
                              Die fritzboxtr064.cfg habe ich gefunden war allerdings verunsichert da auch ein Konfigurationsdialog in der PaperUI beim TR064 Binding angezeigt wird ob da irgendetwas rein muss.

                              Ich habe mal deine Empfehlungen befolgt und bin nach Deiner Anleitung vorgegangen. Zumindest das mit der Sitemap hat funktioniert. Leider wird da nur "fboxName" angezeigt. Also kein Inhalt sondern der Bezeichner. muss die .Items Datei einen bestimmten Namen haben oder werden alle in diesem Ordner liegende Dateien mit der Endung .items eingelesen?

                              Gruß

                              Guido

                              Kommentar

                              Lädt...
                              X