Werte addieren in index.html

Begonnen von NewMatic, 03 Januar 2018, 08:58:46

Vorheriges Thema - Nächstes Thema

NewMatic

#15
pctSlat=75
pctSlatSoll=100
pctSlatSollOff=50

Sollte so ja auch sein.
Das Problem ist nur, wenn ich jetzt down (also -25°) klicke passiert gar nichts (er geht NICHT auf 50).
Klick ich dann nochmals auf down stellt er wie folgt ein:
pctSlat=51
pctSlatSoll=76
pctSlatSollOff=26


Wo kommt die Verschiebung um den Wert 1 her? und warum reagiert er beim ersten down-Klick nicht?

sinus61

Hast Du es mal ein FHEM direkt probiert? Ich hab es mal mit einem Dummy nachgestellt und dreimal
setreading wz_JalousieFenster pctSlat [wz_JalousieFenster:pctSlatSoll]
eingegeben und dann
setreading wz_JalousieFenster pctSlat [wz_JalousieFenster:pctSlatSollOff]
und es funktioniert wie erwartet.

Und haben sich denn die Werte in FHEM irgendwie verändert nachdem Du einmal down geklickt hast?
Fällt mir sonst im Moment nichts zu ein.

NewMatic

Hmm das ist jetzt mal interessant.

Also mit deinem Ansatz mit setreading klappt es in fhem in beide Richtungen.

Nehme ich jetzt die Befehle von meiner FTUI her und gebe sie direkt in fhem ein, ist es wie zuvor beschrieben (dazuaddieren klappt problemlos, subtrahieren tut er beim ersten mal nicht, un dann um 1 verschoben):

set wz_JalousieFenster pctSlat [wz_JalousieFenster:pctSlatSoll]

set wz_JalousieFenster pctSlat [wz_JalousieFenster:pctSlatSollOff]


Kann ich meine index.html umbauen, damit sie setreading anstatt set macht? Ich sag ja eigentlich ja nur was bei data-set-on gemacht werden soll (also= pctSlat [wz_JalousieFenster:pctSlatSoll]):

  <li> <div data-type="push" data-device="wz_JalousieFenster" data-icon="fa-angle-up"  data-set-on="pctSlat [wz_JalousieFenster:pctSlatSoll]"></div></li>
  <li> <div data-type="push" data-device="wz_JalousieFenster" data-icon="fa-angle-down" data-set-on="pctSlat [wz_JalousieFenster:pctSlatSollOff]"></div></li>
         


danke für die unermüdliche und wertvolle Hilfe!!

LG Tobi

Gunther

glaube mit data-cmd="setreading" kannst Du das machen
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

NewMatic

perfekt data-cmd="setreading" klappt.

Damit funktioniert nun auch alles richtig in meiner GUI :)

warum es mit set anstatt setreading nicht geht, wird wohl ein Geheimnis bleiben :)

Danke vielmals euch allen!!

LG Tobi

NewMatic

Ok leider doch zu früh gefreut.... setreading setzt zwar die Reading gibt aber keinen Befehl an den homematic Autor... nur set lässt die Lamellen drehen....

Kann man das senden der Reading händisch anstoßen?

Oder hat noch jemand eine Idee warum sich setreading anders verhält als set?

Danke tobi

Gunther

hmm, beide gleichzeitig meinst Du?

Kenne mich mit userreadings leider 0 aus.

Mein Ansatz wäre nun einen Dummy in Tablet UI zu verwenden und dann ein DOIF oder notify zu nutzen, wo bei Veränderung des Dummy entsprechend beides ausgeführt wird.

Oder so beim Nachdenken:
ohne Dummy auf das Event des setreading reagieren und ein set homatic-Actor entsprechend mit dem ausgeführten Befehl mitschicken.

Vielleicht hat setstate aber eine viel einfachere Lösung parat.
Glaube es gibt auch die Möglichkeit einen kompletten FHEM-Befehl mitzuschicken. Vielleicht kann man da einfach beides reinpacken.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

NewMatic

Zitat von: Gunther am 04 Januar 2018, 18:53:44

Oder so beim Nachdenken:
ohne Dummy auf das Event des setreading reagieren und ein set homatic-Actor entsprechend mit dem ausgeführten Befehl mitschicken.


Ja an sowas hab ich vorher gedacht:
Wenn setreading auf dem postlagernd passiert soll set device pctslat mit den aktuellen Reading an den Autor gesendet werden...

Das macht man wahrscheinlich mit doif? Ich tu mir nur leider derzeit sehr schwer mit der Syntax von doif....

Lg tobi

sinus61

Das Reading pctSlat sollte sich im Aktor ja nach einem Set Befehl selber ändern, das lässt sich mit einem dummy ja aber nicht nachstellen, daher hab ich das nur mit setreading probiert.

Geht es denn mit
set wz_JalousieFenster pctSlat [wz_JalousieFenster:pctSlatSoll]
in Fhem ? Schwer zu sagen wie so sonst der Fehler liegt.

NewMatic

set wz_JalousieFenster pctSlat [wz_JalousieFenster:pctSlatSoll] funktioniert.

Nur set wz_JalousieFenster pctSlat [wz_JalousieFenster:pctSlatSollOff] funktioniert nicht.

Verstehe nicht warum setreading wz_JalousieFenster pctSlat [wz_JalousieFenster:pctSlatSollOff] funktioniert, aber set wz_JalousieFenster pctSlat [wz_JalousieFenster:pctSlatSollOff] nicht?

sinus61

Zitat von: NewMatic am 04 Januar 2018, 22:02:52
Nur set wz_JalousieFenster pctSlat [wz_JalousieFenster:pctSlatSollOff] funktioniert nicht.

Und funktioniert dann in dem Moment das:

set wz_JalousieFenster pctSlat xx

wobei xx der Wert ist der gerade in pctSlatSollOff steht?

NewMatic

auch mit set auf den pctSlatSollOff verhält es sich gleich....
Ist da was in der Firmware vom HM-LC-Ja1PBU-FM krum?


NewMatic

es hat aber denke ich wenig mit meinem UserReading pctSlatSollOff zu tun...
Ganz generell scheint die Firmware/Aktor ein Problem zu haben wenn ein wert gesetzt wird, der kleiner als der aktuelle pctSlat ist. Zwar nicht jedesmal, aber gefühlt jedes zweite mal....

sinus61

Scheint so. Entweder im Aktor oder in CUL_HM, das wäre dann aber eher was für den Homematic Bereich um das Problem zu lösen.

NewMatic

Ja wird wohl das beste sein...
Hab es im Homematic Bereich nochmal neu zusammengefasst.. da dieser Thread doch schon stark gewachsen ist ;)
https://forum.fhem.de/index.php/topic,82297.0.html

LG Tobi