Ankündigung

Einklappen
Keine Ankündigung bisher.

Lesen eines Byte-Objektes (nicht Standart DPT)

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

    #16
    Was siehst Du denn im Debug-Log? Da sollten Zeilen drin stehen wie "Item Betriebsart_DG_Arbeitszimmer_Status received command 34".

    Kommentar


      #17
      Zitat von kkreuzer Beitrag anzeigen
      Was siehst Du denn im Debug-Log? Da sollten Zeilen drin stehen wie "Item Betriebsart_DG_Arbeitszimmer_Status received command 34".
      Genau das sehe ich im Debug-Log. Aber ich bekomme nur - angezeigt und Oprerationen kann ich auf den Wert im Rules-Skript nicht anwenden. Wie muss ich das ganze im Item-File konfigurieren.

      Gruß
      Daniel

      Kommentar


        #18
        Wenn "Status [(%d)]" nicht funktioniert, versuche mal "Status [(%.0f)]", vielleicht klappt es damit...?

        Grüße,
        Kai

        Kommentar


          #19
          Zitat von kkreuzer Beitrag anzeigen
          Für Dich wäre wohl 5.005 das passende - DECIMALFACTOR 0-255. Werde zusehen, dass ich das zeitnah auch noch aufnehme...
          Ich habe jetzt auch Support für 5.005 aufgenommen, der Build morgen sollte es unterstützen. Lass mich wissen, ob was bessere Ergebnisse liefert.

          Grüße,
          Kai

          Kommentar


            #20
            Hallo,

            Zitat von kkreuzer Beitrag anzeigen
            Ich habe jetzt auch Support für 5.005 aufgenommen, der Build morgen sollte es unterstützen. Lass mich wissen, ob was bessere Ergebnisse liefert.
            Danke für das Feature. Damit funktioniert es. Ich versteh leider noch nicht, wie ich jetzt mit dem Wert in einer .rules rechnen kann.

            Ich weise den Wert mittels

            Code:
            var Number tmp = receivedCommand as DecimalType
            einer Variablen zu. Auf diese (meiner Meinug nach ein int) würde ich gerne eine Modulo Operation machen.

            also
            Code:
            var state = tmp % 32
            dabei gibts aber einen Fehler.

            Kann ich mit Number - Items rechnen? Leider ist die Doku dafür sehr ungenau.

            Gruß
            Daniel

            Kommentar


              #21
              DecimalType nutzt intern immer den Java Typ BigDecimal und bietet die Methode toBigDecimal() an, um diesen Wert zu erhalten. Wenn Du dann auf BigInteger gehst, hast Du alles was Du brauchst, also z.B.

              Code:
              var tmp = receivedCommand as DecimalType
              tmp.toBigDecimal.toBigInteger.testBit(2)
              Um sowas rauszufinden, ist immer ein Ctrl+Space im Regeleditor sehr hilfreich, da er einem dank Content-Assist alle verfügbaren Methoden anzeigt.

              Grüße,
              Kai

              Kommentar


                #22
                Hallo,

                Zitat von kkreuzer Beitrag anzeigen
                DecimalType nutzt intern immer den Java Typ BigDecimal und bietet die Methode toBigDecimal() an, um diesen Wert zu erhalten. Wenn Du dann auf BigInteger gehst, hast Du alles was Du brauchst, also z.B.

                Code:
                var tmp = receivedCommand as DecimalType
                tmp.toBigDecimal.toBigInteger.testBit(2)
                Um sowas rauszufinden, ist immer ein Ctrl+Space im Regeleditor sehr hilfreich, da er einem dank Content-Assist alle verfügbaren Methoden anzeigt.
                Damit ist alles klar. Ich verwende nicht den Regeleditor, da ich mich per ssh auf nem pi einlogge und die rules per vi editiere. Sorry, wenn ich den Editor verwendet hätte, wäre wohl das eine oder andere auch ohne Deine Hilfe gelaufen.

                Ich hatte leider auch die tmp-Varieable als var Number gekenzeichnet. Dann klappts auch nicht. Man lernt nie aus ;-).
                Nun hab ich das Auslesen und umschalten im Griff.

                Danke für die Hilfe.
                Daniel

                ps: Falls jemand den Code braucht, hier ist er:

                Code:
                rule "Abfrage Betriebsart Arbeitszimmer"
                when
                  Item Betriebsart_DG_Arbeitszimmer_Status received command
                then
                  var tmp = receivedCommand as DecimalType
                  var state = tmp.toBigDecimal.toBigInteger
                
                  if (state.testBit(0) ) {
                        Betriebsart_DG_Arbeitszimmer.postUpdate(0)
                  }
                  else if (state.testBit(1)) {
                        Betriebsart_DG_Arbeitszimmer.postUpdate(1)
                  }
                  else if (state.testBit(2)) {
                        Betriebsart_DG_Arbeitszimmer.postUpdate(2)
                  }
                  else if (state.testBit(3)) {
                        Betriebsart_DG_Arbeitszimmer.postUpdate(3)
                  }
                  else {
                        Betriebsart_DG_Arbeitszimmer.postUpdate(1)
                  }
                end
                Wobei 0=Komfort, 1=Standby, 2=Nacht und 3=Frostschutz in der Sitemaps definiert ist.

                Kommentar


                  #23
                  Super, freut mich, dass wir es doch noch gelöst haben

                  Zitat von Zigulle Beitrag anzeigen
                  Ich verwende nicht den Regeleditor, da ich mich per ssh auf nem pi einlogge und die rules per vi editiere.
                  Da wäre vielleicht die Dropbox-Anbindung (DropboxIOBundle - openhab - Documentation of the Dropbox IO Bundle - empowering the smart home - Google Project Hosting) was für Dich - damit editierst Du Deine Konfigurationen komfortabel auf dem Desktop (im Dropbox-Ordner) und der pi synchronisiert sich die Änderungen automatisch alle paar Minuten.

                  Viele Grüße,
                  Kai

                  Kommentar


                    #24
                    Dropbox-Alternative

                    Ich hatte das Datei-bearbeiten-Problem bei mir auch, weil openhab in einer vm auf meinem Xen-Server läuft. Ich hab einfach Samba zusätzlich draufgepackt und das Runtime-Verzeichnis freigegeben. Anmeldung läuft natürlich mit Passwort, aber der Server ist ohnehin nur im "Intranet" erreichbar, und noch sind meine Kinder zu klein, um da Unsinn anstellen zu wollen.
                    Jedenfalls ist es kein Problem, den Editor die Konfiguration übers Netz bearbeiten zu lassen. Ich hab sogar das Editor-Paket auf einer zweiten Samba-Freigabe liegen, um bequem von jedem PC im Haus arbeiten zu können :-)

                    Ach ja, ab und zu ist die Items-Liste (also die auf der linken Seite) nicht aktuell, ich muss dann was an den Gruppen ändern, damit die Liste aktualisiert wird. Aber ich meine, das hab ich auch bei meinen ersten lokalen Versuchen so gesehen...

                    Kommentar


                      #25
                      Hallo,

                      hab nun erfolgreich auf dropbox umgestellt. Auch wenn ich eigentlich nen vi-Fan bin, manchmal hilft ne Autocomplition ungemein.

                      gruß
                      Daniel

                      Kommentar

                      Lädt...
                      X