Live Update -- GELÖST --

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
marcokl050
Beiträge: 3
Registriert: 7. Aug 2018 08:36
Answers: 0

Live Update -- GELÖST --

Beitrag von marcokl050 »

Hallo liebe OpenHab[2] Gemeinde,
ich hatte mal vor Jahren mein Haus automaisieren wollen aber das war alles irgendwie noch nichts. Ich finde OpenHab2 ist richtig genial um das Projekt wieder aufzunhemen. Weil ich es nicht einsehe alles zu kaufen möchte ich vieles selber machen.
Ich habe jetzt mal angefangen auf Basis von Sonoff ein eigenes kleines Module zu bauen wo ich mehr mit machen kann. Ich finde das HABPanel zwar gut aber auf einem SmartPhone unpraktisch. Ich bin also jetzt beim Basic UI. Das gefällt mir richtig gut aber ich habe ein Problem mit dem Live Update.

Mein konkretes Beispiel: Ich habe mit einem WeMos D1 ein kleines Modul auf Basis von MQTT gebaut das mir 4 Relais und 3 Temperatur-Sensoren zur Verfügung stellt. Die 4 Relais können mit einem Taster auch vor Ort geschaltet werden. Jedemal wenn man das macht schickt der MQTT Client eine Info dass das Relais ON oder OFF geschaltet wurde. Wenn ein Befehl aus OpenHab2 zum schalten kommt gibt es auch ein Feedback von dem Schalter. Ich habe also autupdate aus. Das hat zur folge das der Schalter in der HABPanel Oberfläche erst dann umspringt wenn es auch eine Rückmeldung vom Client gab, Wird vor Ort geschaltet springt auch die Anzeige auf dem HABPanel sofort um. Ist der Client also nicht erreichbar dann kann man nicht schalten. Bei den Tempsensoren wir jede Minuten ein Temp. geschickt und auch sofort im HABPanel angezeigt... seltsamer weise beim erstmaligen aufrufen der Seite noch mit 2 Nachkommastellen, Beim aktualisieren dann nur noch ganze Werte.
Da habe ich aber bestimmt noch etwas verdaddelt.....
Alles im allem aber so wie ich es mir vorgestellt habe.

Jetzt verhält sich das aber anders beim Basic UI. Ich habe eine Sitemap dazu angelegt aber es wird kein Wert aktualisiert, nur wenn ich die Seite neu aufrufe. Ich habe das schon versucht zu Googeln habe aber keinen Ansatz dazu gefunden außer das es irgendwann mal ein Bug war.

openHAB 2.3.0 Release Build
FireFox und Chrome Browser
Debian 7

Noch ein kleiner Nachtrag.
Ich babe einen Toogle Befehl mit eingebaut. Das Kommando S10 Schaltet das Relais 1 aus. S11 ist für Relais 1 an und S12 ist für Relais 1 Toggle.
Das Item wir sozusagen immer nur getoggled es sei denn ich wil es später über eine Rule direkt ein- o. abschalten.

Meine Items.
Switch PoolPumpe { mqtt="<[broker:Garten/Pool/S1:state:default],>[broker:Garten/Pool/In:command:*:S12]", autoupdate="false" }
Number PoolWaterTemp "Wasser [%.1f] °C" { mqtt="<[broker:Garten/Pool/watertemp:state:default]", autoupdate="true" }


Meine Sitemap:
sitemap default label="Zuhause"{

Frame label="Date" {
Text item=Date
}


Frame label="Pool" {

Switch item=PoolPumpe label="Pool Pumpe" icon="pump"
Text item=PoolWaterTemp label="Pool Wasser [%.1f °C]" icon="temperature"

}

}

Was kann ich übersehen haben?
Danke für Eure Hilfe...

Gruß Marco
Zuletzt geändert von marcokl050 am 10. Aug 2018 08:07, insgesamt 1-mal geändert.

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Live Update

Beitrag von udo1toni »

Was den Switch betrifft, wäre es besser, wenn Du nicht togglest sondern die korrekten Befehle sendest (auch wenn das in Deinem Fall bedeutet, dass Du zwei Definitionen anlegen musst:

Code: Alles auswählen

Switch PoolPumpe { mqtt="<[broker:Garten/Pool/S1:state:default],>[broker:Garten/Pool/In:command:ON:S11],>[broker:Garten/Pool/In:command:OFF:S10]", autoupdate="false" }
Noch besser wäre es natürlich, pro Relais ein eigenes Topic für den Befehl zu haben, der dann gerne drei verschiedene Befehle verstehen darf, nämlich ON,OFF und TOGGLE. Dann kannst Du immer noch eine Toggle-Funktion vorsehen und trotzdem mit *:default als Befehl arbeiten.

Um allerdings TOGGLE zu nutzen, musst Du zwingend entweder ein zweites Item anlegen oder den Itemtyp auf String ändern, denn Du nutzt ein Switch Item, das kennt drei Zustände und zwei Befehle, jeweils ON und OFF, und als dritten Zustand noch NULL, wenn das Item noch nicht initialisiert ist.
Bei Deiner jetztigen Konfiguration ist es sogar so, dass immer ein TOGGLE gesendet wird, egal, was Du als Befehl schickst!

Wenn Du den Itemtyp auf String änderst, kann es sein, dass das Switch Widget keinen Schalter mehr malt (hab ich bisher noch nicht getestet), falls das der Fall ist, musst Du Dir mit einem Mapping behelfen:

Code: Alles auswählen

Switch item=PoolPumpe label="Pool Pumpe" icon="pump" mappings=[ON="ON,OFF="OFF",TOGGLE="TOGGLE"]
Damit erhältst Du drei Schaltflächen, wobei der Druck auf die TOGGLE-Schaltfläche dann halt togglet und die Anzeige trotzdem zwischen ON und OFF wechselt (wegen autoupdate=""false.")

Was nun Dein eigentliches Problem betrifft (BasicUI aktualisiert die Anzeige nicht): Hast Du openHAB mal neu gestartet? Sobald Du an einer Sitemap etwas anpasst, kommt der Updatemechanismus durcheinander, und zwar bis zum nächsten Neustart, das ist jedenfalls mein Kenntnisstand. Soweit ich weiß, gibt es dazu einen Issue, der aber noch nicht abegschlossen ist (oder ich hab's verpasst...), Du könntest aber auch, wenn Du Lust hast, OH2.4 nightly installieren und schauen, ob der Fehler dort noch auftritt. In Nightly sind alle Korrekturen eingearbeitet, die Stable Version ist eher ein Codefreeze, denn eine stabile Version (im Sinne von fehlerfrei).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

StefanH.
Beiträge: 162
Registriert: 28. Dez 2017 11:37
Answers: 0

Re: Live Update

Beitrag von StefanH. »

und ich dachte das sei voellig normal, dass die BasicUI nicht dynamisch nachlaedt.

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Live Update

Beitrag von udo1toni »

Bei der Classic UI mag das noch so gewesen sein (wobei es auch dort einen Bug gab, dass die Seite dann nicht nach der vorgegebenen Zeit - 30 Sekunden - neu aufgebaut wurde). Meines Wissens sollte Basic UI aber immer den aktuellen Zustand anzeigen (vielleicht mit ein bis zwei Sekunden Verzögerung...)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

marcokl050
Beiträge: 3
Registriert: 7. Aug 2018 08:36
Answers: 0

Re: Live Update

Beitrag von marcokl050 »

Hallo,
schon mal danke für die Antworten. Neustart hat leider nicht geholfen. Ich werden dann heute die Version 2.4 testen und melde mich dann wieder.

Gruß Marco

marcokl050
Beiträge: 3
Registriert: 7. Aug 2018 08:36
Answers: 0

Re: Live Update

Beitrag von marcokl050 »

Hallo,
das Update auf 2.4 hat leider nicht geholfen, ich vermute aber ich habe den Fehler gefunden. Ich hatte den Debug Modus an und hatte noch ein Warning das ich keine Default Sitemap hatte. Meine Map hieß gleich "Zuhause"... wollte ja nur eben testen. Ich habe jetzt meine Zuhause Sitemap erstmal in default.sitemap umbenannt, neu gestartet und es funktionierte sofort. Mein pirimäres Problem ist damit erstmal gelöst.

Ich habe jetzt wieder umgestellt auf Switch ON bzw. OFF und das Toggle erstmal rausgenommen aber mit dem Switch Element bin ich noch nicht so zufrieden, denn die CSS Animation schaltet ja erstmal den Schalter ein ob es ein Feedback von dem Client gibt oder nicht. Meine Idee wäre jetzt einen Knopf zu erstellen und den Status der Pumpe über ein Textfeld und eine Regel anzugeben, Es sein denn jemand hat noch eine schlauere Idee.

Danke für die Hilfe und die Zeit.
Gruß Marco

Antworten