Hallo,
hab nun erfolgreich auf dropbox umgestellt. Auch wenn ich eigentlich nen vi-Fan bin, manchmal hilft ne Autocomplition ungemein.
gruß
Daniel
Ankündigung
Einklappen
Keine Ankündigung bisher.
Lesen eines Byte-Objektes (nicht Standart DPT)
Einklappen
X
-
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...
Einen Kommentar schreiben:
-
Super, freut mich, dass wir es doch noch gelöst haben
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.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
Einen Kommentar schreiben:
-
Hallo,
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.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.
Um sowas rauszufinden, ist immer ein Ctrl+Space im Regeleditor sehr hilfreich, da er einem dank Content-Assist alle verfügbaren Methoden anzeigt.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:
Wobei 0=Komfort, 1=Standby, 2=Nacht und 3=Frostschutz in der Sitemaps definiert ist.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
Einen Kommentar schreiben:
-
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.
Um sowas rauszufinden, ist immer ein Ctrl+Space im Regeleditor sehr hilfreich, da er einem dank Content-Assist alle verfügbaren Methoden anzeigt.Code:var tmp = receivedCommand as DecimalType tmp.toBigDecimal.toBigInteger.testBit(2)
Grüße,
Kai
Einen Kommentar schreiben:
-
Hallo,
Danke für das Feature. Damit funktioniert es. Ich versteh leider noch nicht, wie ich jetzt mit dem Wert in einer .rules rechnen kann.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
einer Variablen zu. Auf diese (meiner Meinug nach ein int) würde ich gerne eine Modulo Operation machen.Code:var Number tmp = receivedCommand as DecimalType
also
dabei gibts aber einen Fehler.Code:var state = tmp % 32
Kann ich mit Number - Items rechnen? Leider ist die Doku dafür sehr ungenau.
Gruß
Daniel
Einen Kommentar schreiben:
-
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.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
Einen Kommentar schreiben:
-
Wenn "Status [(%d)]" nicht funktioniert, versuche mal "Status [(%.0f)]", vielleicht klappt es damit...?
Grüße,
Kai
Einen Kommentar schreiben:
-
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.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
Einen Kommentar schreiben:
-
Was siehst Du denn im Debug-Log? Da sollten Zeilen drin stehen wie "Item Betriebsart_DG_Arbeitszimmer_Status received command 34".
Einen Kommentar schreiben:
-
Hallo, das ursprüngliche Problem lag darin, dass ich im Raumthermostat bitcodiert stehen habe, welcher Modus ausgewählt ist.Zitat von kkreuzer Beitrag anzeigenHm, ich hatte Dein ursprüngliches Problem nicht mehr im Blick. 5.001 ist als 0-100% spezifiziert, also kommt genau das korrekte zurück.
Für Dich wäre wohl 5.005 das passende - DECIMALFACTOR 0-255. Werde zusehen, dass ich das zeitnah auch noch aufnehme...
1-Bit -> Komfort
2-Bit -> Standby
3-Bit -> Nacht
4-Bit -> Frostschutz
6-Bit -> Heizen aktiv
Ich hab jetzt den DPT auf 5.004 gestellt (War ein Versuch) und damit klappt es, obwohl nach der DPT es mit 5.005 gehen sollte.
Das nächste Problem ist, dass ich die Zahl, die ich erhalte nicht dargestellt bekomme.
sollte mir eingentlich die Zahl (zwischen 33 und 40) darstellen. Tut sie aber nicht, ich bekomme nur ein (-) angezeigt.Code:Number Betriebsart_DG_Arbeitszimmer_Status "Status [(%d)]" <heating> (DG_Arbeitszimmer) { knx="<5.004:1/2/10" }
Anzeigen ist für mich der erste Schritt, danch muss dass noch geparst werden.
Gruß Daniel
Einen Kommentar schreiben:
-
Hm, ich hatte Dein ursprüngliches Problem nicht mehr im Blick. 5.001 ist als 0-100% spezifiziert, also kommt genau das korrekte zurück.Zitat von Zigulle Beitrag anzeigenAllerdings gibt der DPT 5.001 einen Prozentwert zurück. Ich bräuchte aber den HEX-Wert um daraus den Status zu bauen. Wie kann ich aus dem Prozentwert den Hex-Wert bekommen. Wenn ich Mathematik bemühe, dann hab ich leider das Problem der Rundungsfehler.
Für Dich wäre wohl 5.005 das passende - DECIMALFACTOR 0-255. Werde zusehen, dass ich das zeitnah auch noch aufnehme...
Einen Kommentar schreiben:
-
Den gibt es schon lange, Du findest ihn hinter dem Link "openHAB Snapshot Builds" auf der Homepage unten links (bei "External links").Zitat von Zigulle Beitrag anzeigenKönntet Ihr so was wie ein Nightly-Bundle anbieten, dann ist das Testen einfacher?
Grüße,
Kai
Einen Kommentar schreiben:
-
So, hier ne Rückmeldung.
Ich bekomme den Wert nun per <5.001: eingelesen.
Allerdings gibt der DPT 5.001 einen Prozentwert zurück. Ich bräuchte aber den HEX-Wert um daraus den Status zu bauen. Wie kann ich aus dem Prozentwert den Hex-Wert bekommen. Wenn ich Mathematik bemühe, dann hab ich leider das Problem der Rundungsfehler.
Gruß
Daniel
Einen Kommentar schreiben:
-
Hat sich erledigt, ich hab das Bundle gebaut und werde den aktuellen Snapshot ausprobieren. Ich melde mich, wenn ich einige Erfahrung damit habe.
Gruß Daniel
Einen Kommentar schreiben:


Einen Kommentar schreiben: