Was siehst Du denn im Debug-Log? Da sollten Zeilen drin stehen wie "Item Betriebsart_DG_Arbeitszimmer_Status received command 34".
Ankündigung
Einklappen
Keine Ankündigung bisher.
Lesen eines Byte-Objektes (nicht Standart DPT)
Einklappen
X
-
Zitat von kkreuzer Beitrag anzeigenWas siehst Du denn im Debug-Log? Da sollten Zeilen drin stehen wie "Item Betriebsart_DG_Arbeitszimmer_Status received command 34".
Gruß
Daniel
Kommentar
-
Zitat von kkreuzer Beitrag anzeigenFür Dich wäre wohl 5.005 das passende - DECIMALFACTOR 0-255. Werde zusehen, dass ich das zeitnah auch noch aufnehme...
Grüße,
Kai
Kommentar
-
Hallo,
Zitat von kkreuzer Beitrag anzeigenIch habe jetzt auch Support für 5.005 aufgenommen, der Build morgen sollte es unterstützen. Lass mich wissen, ob was bessere Ergebnisse liefert.
Ich weise den Wert mittels
Code:var Number tmp = receivedCommand as DecimalType
also
Code:var state = tmp % 32
Kann ich mit Number - Items rechnen? Leider ist die Doku dafür sehr ungenau.
Gruß
Daniel
Kommentar
-
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)
Grüße,
Kai
Kommentar
-
Hallo,
Zitat von kkreuzer Beitrag anzeigenDecimalType 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)
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
Kommentar
-
Super, freut mich, dass wir es doch noch gelöst haben
Zitat von Zigulle Beitrag anzeigenIch verwende nicht den Regeleditor, da ich mich per ssh auf nem pi einlogge und die rules per vi editiere.
Viele Grüße,
Kai
Kommentar
-
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
Kommentar