Ankündigung

Einklappen
Keine Ankündigung bisher.

Langen String anzeigen

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

    Langen String anzeigen

    Hallo zusammen,

    in meiner Visu-Übersicht möchte ich gerne einen Infotext anzeigen.
    14 Byte sind aber echt etwas wenig, daher dachte ich, dass ich 2 oder 3 KNX-Adressen nutze, um den String zu speichern.
    Wie zeige ich den aber "am Stück" wieder an?
    Beim <info>-Feld kann ich ja nur eine Gruppenadresse angeben.
    Wir habt ihr das gelöst?

    Viele Grüße
    Joe

    #2
    Jetzt geht an den Kern von KNX, sorry, ich muss mal kurz:
    Also um lange Briefe als Text zu übermitteln ist KNX echt das falsche Medium, dafür gibts eMail (oder für die jüngeren Twitter, Facebook, Snapchat,Whatsapp,..)
    Das übermitteln von Texten über einen 9.6kBit Bus ist ansich schon ein grober Missbrauch..
    Wie löst man das? Nehmen wir mal 1 Byte, das hat 8 Bit und damit 256 darstellbare Zustände

    (bei der Heizungsregelung schreibe ich auch nicht "bitte die Solltemp + 0.5°C.." sondern 1 auf GA x/y/z auf den Bus)

    Bleiben wir bei dem Byte, gibts es also immernoch 256 mögliche Texte die die Visu anzeigen kann, welchen Text die Visu beim Wert 76 anzeigt (oder man kann auch lustig mit bitmasken arbeiten..) ist Sache der Visu, nicht des Textes auf dem KNX.
    Wenn du wirklich Texte übermitteln willst muss eine andere Lösung her (iframe,...) sonst ist es IMHO murks.

    Makki
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    Kommentar


      #3
      Zitat von makki Beitrag anzeigen
      Jetzt geht an den Kern von KNX
      Hi Makki,
      vielen Dank...
      Das war mir schon alles klar. Und ich will auch nicht eine E-Mail über KNX versenden.

      Aber einen Infotext. Und da fände ich es sehr charmant, wenn die "Intelligenz" eben nicht in der Visu steckt sondern von welchem Programm/Skript auch immer versandt werden kann.
      In diesem Fall soll es so etwa sein wie "Fenster im Schlafzimmer seit 25 Min. geöffnet"
      Klar kann ich jetzt ein Alarmbit, ein Byte für das Fenster und ein Byte für die Dauer übermitteln.
      Dann sind wir aber bei derselben Frage: Wie mache ich in der Visu aus zwei oder drei Infos einen String?

      Viele Grüße
      Joe

      Kommentar


        #4
        Mir hat das auch von Anfang an unbehagen bereitet, das ein Teil der Inhalte (nicht unbedingt der Intelligenz) in der Visu stecken muss. Ehrlich.
        Aber das ist halt so (sag ich jetzt mal platt..) In den Sourcecode von einem C-Programm schreibt man ja (hoffentlich) auch nicht alle 256 unterstützen Sprachen als if/case rein, odrr?
        Sondern eben ein 1 für "Meldung: offen ", danach eine 2 für "Küchenfenster", ... und dann eine lokalisierung (hier Visu) dazu.

        Also ich würde es so angehen; 90% deines use-cases lassen sich mit vorhandenem in KNX und der CV Abbilden, nur für den Teil "seit 25 min" müsstest du dir vermutlich dann ein eigenes Plugin schreiben - was auch kein Hexenwerk ist.
        (ich setze jetzt mal zugrunde, das man beim Anblick von Sourcecode nicht tot umfällt, wenn man derlei Wünsche hat..)

        Die "25" füttert dann "welches script auch immer" in den KNX, die Plugin-Struktur ist meine ich von Chris gut gemacht und wenn man sich eins anschaut auch halbwegs schnell verständlich.. Auch wenn man wie ich kein jQuery-Chefentwickler ist..
        Der Einstieg ist, naja, steinig, aber danach eigentlich easy..

        Oder eben ein Plugin das 1-x Texte konkateniert, das halte ich aber für den absolut falschen Ansatz (und deswegen lasse ich jetzt auch weg wie man mit eibd/knxd mehr als 14Byte Text versenden könnte - das geht schon; theoretisch.. Praktisch lötet man damit aber kurz- bis mittelfristig den KNX TP1..)

        Makki

        P.S.: Wozu ich allerdings wissen sollte seit wann das Fenster offen ist: das ist doch herzlich wurscht Aber da wird man nach gut 8J Smarthome auch ruhiger..
        EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
        -> Bitte KEINE PNs!

        Kommentar


          #5
          Zitat von makki Beitrag anzeigen
          Also ich würde es so angehen; 90% deines use-cases lassen sich mit vorhandenem in KNX und der CV Abbilden, nur für den Teil "seit 25 min" müsstest du dir vermutlich dann ein eigenes Plugin schreiben - was auch kein Hexenwerk ist.
          (ich setze jetzt mal zugrunde, das man beim Anblick von Sourcecode nicht tot umfällt, wenn man derlei Wünsche hat..)
          Vor Plugins habe ich gar keine Angst. Es laufen genügend...
          Das ist ja auch gar nicht die Frage.
          Vielleicht ist meine Frage auch zu einfach und ich sitze selbst auf der Leitung. Sie ist: (neuer Versuch) "Wie kann ich zwei Informationen in der CV in einem Feld anzeigen?".
          Also wir nehmen an, hinter einer GA steht das Zimmer (als 5.010) und hinter einer weiteren die Minuten (auch als 5.010).
          Wie bekomme ich diese zusammen hübsch in der CV angezeigt?
          Bei einem <info>-Feld geht ja nur eine GA, oder?
          Nach dem Motto
          Code:
          "Fenster" . knx_read("1/2/3",0,"5.010") . " ist seit ". knx_read("3/4/5",0,"5.010") . " Min. geöffnet".
          Aber eben in der CV.

          Also über JS was basteln? Aber wie?


          Viele Grüße
          Joe

          Zitat von makki Beitrag anzeigen
          P.S.: Wozu ich allerdings wissen sollte seit wann das Fenster offen ist: das ist doch herzlich wurscht
          Wenn wir das als Maßstab anlegen, wird's glaube ich recht langweilig hier im Forum... Mir ist's eigentlich auch egal. Aber nachdem meine bessere Hälfte hin und wieder trotz Kälte vergisst, das Fenster zu zu machen, will ich bei Überschreitung einer Grenzzeit eine Info haben. Automatisch schließen kann ich leider nur die Dachfenster... die anderen sind tatsächlich total manuell...
          Zuletzt geändert von JoeKool; 05.11.2016, 16:32.

          Kommentar


            #6
            Zitat von makki Beitrag anzeigen
            Oder eben ein Plugin das 1-x Texte konkateniert, das halte ich aber für den absolut falschen Ansatz (und deswegen lasse ich jetzt auch weg wie man mit eibd/knxd mehr als 14Byte Text versenden könnte - das geht schon; theoretisch.. Praktisch lötet man damit aber kurz- bis mittelfristig den KNX TP1..)
            Das Plugin hätte ich da auch schon. Ist ja kein Hexenwerk. Aber was mache ich in der CV?

            Kommentar


              #7
              Sollte mit der Format-Option machbar sein:

              Code:
              <info format="%s - %s">
                    <address transform="OH:string" mode="read" format-pos="1">info1</address>
                    <address transform="OH:string" mode="read" format-pos="2">info2</address>
                  </info>
              Gerade mal fix getestet, scheint zu funktionieren (die transform Einträge musst Du natürlich für KNX anpassen), der Rest sollte selbst erklärend sein. Ist offensichtlich ein verstecktes, bzw.undokumentiertes Feature, d.h. ich konnte mich gerade vage erinnern, sowas im Source-Code gesehen zu haben.

              Wenn das für dich funktioniert: ein kleiner Beitrag zur neuen Dokumentation drüber würde allen helfen: http://test.cometvisu.org/CometVisu/...ghlight=format da würde das hingehören, fehlt aber scheinbar.
              Gruß
              Tobias

              Kommentar


                #8
                Geht perfekt! Genau das habe ich gesucht!
                Vielen Dank!
                Und an der Dokumentation kann ich gerne was einfügen...

                Kommentar


                  #9
                  Ja, das Format-Positions-Feature sollte hier als Hack das konkrete Problem lösen können.

                  Ansonsten noch ein paar andere Gedanken:
                  Die Standard-Lösung für Standard-Probleme geht davon aus, dass es zwar einen "längeren" Text gibt - von denen aber nur begrenzt viele verschiedene, da es um Status-Meldungen geht ("raff' Dich mal auf und bring die Mülltonne an die Straße!"). Hier kann man ganz simpel mit einem Mapping arbeiten und nur noch die Nachrichten-Nummer per Bus verschicken.

                  Wenn die Nachricht in einem WireGate-Plugin gebildet wird (z.B. die RDS Info vom aktuellen Radio-Sender), dann gibt's ein CV-Plugin das WG-Plugin-Infos darstellen kann. (Funktionsfähigkeit dieses Plugins hab ich jedoch schon länger nicht mehr getestet)

                  Alternativ, wenn die Nachricht auf einem Web-Serverndem Gerät gebildet wird: darstellen als Web-Seite und die per Web-Widget einbinden.

                  Grundsätzlich gehen bei Status-Texten auch gerne mal das RSSLog-Plugin. Das hat da einige spezielle Features die es zur perfekten Wahl machen - oder genau ungeeignet...

                  Eigenes Widget Schreiben ist auch schon gesagt worden, da kann man auch mehrere GAs verwursten, siehe z.B. ColorChooser-Plugin, dass auch drei GAs braucht.
                  TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                  Kommentar

                  Lädt...
                  X