erste beta - fronthem, smartVISU (closed, Bitte die Anschlussthreads benutzen)

Begonnen von herrmannj, 23 Dezember 2014, 22:36:44

Vorheriges Thema - Nächstes Thema

avg123-de

Zitat von: bgewehr am 24 Dezember 2014, 12:28:33
HM-BL Rolladenschalter für Markenschalter

{{ homematic.hmbl('Roll_Terrasse','', 'T_blind_mov','T_blind_stop','T_blind_pos','','',0,100,5) }}


GAD Editor:
T_blind_mov
mode   item
device   Mein HM-BL fhem-Rolladenschalter
reading   state
converter   direct
cmd set   state

T_blind_pos
mode   item
device   Mein HM-BL fhem-Rolladenschalter
reading   level
converter   NumDirect
cmd set   pct

T_blind_stop
mode   item
device   Mein HM-BL fhem-Rolladenschalter
reading   state
converter   Direct
cmd set   state
Hallo,
hatte gerade meinen ersten Rollladen nach dieser Beschreibung eingerichtet, jedoch sind die Buttons irgendwie vertauscht, wenn ich auf den button für och klicken, geht der Rollladen runter und wenn ich den für runter klicke, geht der Rollladen hoch, das selbe mit dem Slider, hoch ist runter und runter ist hoch, nur der Stopp-Button funktioniert einwandfrei,  woran kann das liegen?

viele Grüße
Alexander
FHEM auf virtualisiertem Debian in Hyper-V auf Dell Poweredge T110 II mit Windows Server 2012, 1x HM-LAN, verschiedene HomeMatic-Komponenten, Intertechno ITR-1500, Arduino Uno Ethernet mit RF-Modul, DeltaSol BX via VBus, Fritz!Box + Fritz!Fon, SmartVisu via Fronthem, Doorpi

karl0123

Das Problem ist bei mir auch. Die HM-Aktoren definieren 100% als ganz auf und nicht als ganz zu (was zunächst eventuell nicht logisch erscheint). Das Widget bzw. SmartVisu sieht das aber genau andersrum.

herrmannj

bau die Rollladen halt andersrum ran - dann passt das doch   ;D

Die Tasten kannste ja umdefinieren - das mit den 100% geht vmtl nicht so einfach - da müsste man im js von sv ändern - oder eine converter nehmen der das "gerade - rückt". oder sieht noch jemand einen einfacheren Weg?

speex

@hermannj - Das RGB Problem hab ich nun in den Griff bekommen, ich hab die reihenfolge nochmal überprüft jetzt läuft es wie gewünscht.

Nun bleibt das Problem mit dem lock bei meinem Keymatic inzwischen glaube ich das Problem gefunden zu haben, wenn ich bei sv auf den button drücke und in der console schaue wird folgendes command abgeschickt:
[io.domotiga] sending data: {"cmd":"item","id":"homematiclock","val":"1"}
base.js:678 [basic.button] update 'room_flur-TürSchliessen': [1]

in der fhem log finde ich dann folgendes:
set FL.Tuerschloss lock 1 : lock requires no parameters

Bei den funktionierenden sieht das wie folgt aus:
[io.domotiga]: update item: homematiclock val: set_unlock
base.js:678 [basic.button] update 'room_flur-TürSchliessen': ["set_unlock"]

Fhem log:
CUL_HM set FL.Tuerschloss unlock 1

wie verhindere ich das die val bei lock hinten angehangen wird?

lg

herrmannj

#379
ja, ich kenn jetzt Deine gad-cfg nicht aber ich vermute Du bist über converter OnOff gegangen ? Mach doch über direct und trage in sv beim on-val "lock" ein - dann geht das. Schau Dir mal im wiki das Beispiel mit der Lichtszene an - macht das gleiche auf einem dummy.

vg
jörg

edit: hier http://www.fhemwiki.de/wiki/Smartvisu/lichtSzene

Jojo11

Hallo avg123-de und karl0123,

ich habe die widgets bei mir auch leicht angepasst. Vielleicht passt das bei Euch ja auch besser so (sicherlich kein perfekter code  ???):

{% macro hmbl(id, txt, gad_move, gad_stop, gad_pos, gad_shift, gad_angle, min, max, step) %}
{% import "basic.html" as basic %}
{% set uid = uid(page, id) %}

<div class="blind">
<table align="center" cellpadding="0" border="0">
<tr><td valign="top" colspan="2">{{ txt }}</td></tr>
<tr>
<td valign="top">
<div class="set">{{ basic.button(id~'up', gad_move, '', 'arrow-u', 'on') }}</div>
</td>
<td rowspan="3" align="left" class="pos">
{{ basic.slider(id~'pos', gad_pos, min, max, step, 'bottomup') }}</td>
</tr>
<tr>
<td>
{% if gad_stop %}
<div class="set">{{ basic.button(id~'stop', gad_stop, '', 'delete', 'stop') }}</div> {% endif %}</td>
</tr>
<tr>
<td valign="bottom">
<div class="set">{{ basic.button(id~'down', gad_move, '', 'arrow-d', 'off') }}</div>
</td>
<td valign="bottom">
{% if gad_shift %}
<div class="set">
<span style="float: left;">{{ basic.button(id~'minus', gad_shift, '', 'minus', 0) }}</span>
<span style="float: right;">{{ basic.button(id~'plus', gad_shift, '', 'plus', 1) }}</span>
</div>
{% endif %}
</td>
</tr>
</table>
</div>
{% endmacro %}

Außerdem habe ich noch ein kleineres für eine Übersichtsseite gemacht:

{% macro hmblsmall(id, txt, gad_move, gad_stop, gad_pos, gad_shift, gad_angle, min, max, step) %}
{% import "basic.html" as basic %}
{% set uid = uid(page, id) %}

<div class="blind">
<table align="center" cellpadding="0" border="0">
<tr>
<td width="170px" align="left">{{ txt }}</td>
<td><div class="set">{{ basic.button(id~'down', gad_move, '', 'arrow-d', 'off','micro') }}</div></td>
<td>{% if gad_stop %}<div class="set">{{ basic.button(id~'stop', gad_stop, '', 'delete', 'stop','micro') }}</div> {% endif %}</td>
<td><div class="set">{{ basic.button(id~'up', gad_move, '', 'arrow-u', 'on','micro') }}</div></td>
<td width=50px" align="right">{{ basic.value(id~'pos', gad_pos, '%', 'tag') }}</td>
</tr>

<tr>
<td valign="bottom">
{% if gad_shift %}
<div class="set">
<span style="float: left;">{{ basic.button(id~'minus', gad_shift, '', 'minus', 0) }}</span>
<span style="float: right;">{{ basic.button(id~'plus', gad_shift, '', 'plus', 1) }}</span>
</div>
{% endif %}
</td>
</tr>
</table>
</div>
{% endmacro %}


Alles natürlich nur eine Modifikation der codes auf S. 1 und sicherlich nicht perfekt - aber als Ideengeber evtl. ganz nützlich.

schöne Grüße
Jo



speex

@herrmannj - Danke für den tipp jetzt läufts.

herrmannj

sehr gern, man muss erst reinkommen.
Zitat von: herrmannj am 23 Dezember 2014, 22:36:44
...
Im großen und ganzen sollte man sich darüber im klaren sein das man sich einarbeiten muss, das braucht Zeit (und Geduld).
...

erfolgreich ist man wenn man dran bleibt  8)

viele Spass, vg
jörg

ak323

#383
Zitat von: herrmannj am 01 Januar 2015, 15:51:02
bau die Rollladen halt andersrum ran - dann passt das doch 
Ich dreh einfach mein Tab um ... dann passt es doch auch !
;D
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

Tmelle

@jörg

Sry das ich mich erst jetzt wieder melde :-). Ich hoffe ihr seid alle Gut ins neue Jahr gekommen. Ich habe immer noch mit meinem Problem (http://forum.fhem.de/index.php/topic,30909.msg236388.html#msg236388) zu kämpfen.

Ich habe mir das heute noch einmal genauer angesehen. Der Absturz tritt wohl nicht bei Aktivierung des Flugmodus auf, sonder erst wieder wenn der Flugmodus wieder deaktiviert wird und versucht wird sich wieder zu Verbinden. Dann versucht fronthem vermutlich den WebSocket wiederzuverwenden, dies geht aber nicht da die Verbindung zum Socket abgebrochen ist. So kommt es zu einer Unhandled-Exception und somit zum Absturz.
So lange das Gerät sich im Flugmodus befindet, kann ich von anderen Clients noch auf SmartVISU zugreifen.

An meiner Umgebung ist eigentlich nicht aussergewöhnliches:
Banana PI (Bananian Image)
HMLan Adapter
SCC 833 MHz
2x HM-CC Thermostat
3x Intertechno Funksteckdose
2x FS20 Funksteckdose

Gruß
Timo

herrmannj

das wird nicht an Deiner Umgebung liegen - eher daran das wir hier beta #1 haben. Ich verstehe Dich richtig das Du das sauber reproduzieren kannst ?

vg
jörg

Tmelle

Zitat von: herrmannj am 01 Januar 2015, 21:58:50
Ich verstehe Dich richtig das Du das sauber reproduzieren kannst ?

Ja kann ich sauber reproduzieren.

herrmannj

übernehme ich - bis dahin darfst Du Dein iphone im Flieger anlassen. Beruf Dich auf mich :)

vg
jörg

Tmelle

Alles klar :-) würde mich Interessieren wo der Fehler genau lag. Habe leider noch nicht viel mit perl gemacht und im Moment nicht so viel Zeit um mich einarbeiten. Komme eher aus der Windows-Welt  ::) :-[ :P.

Gruß
Timo

herrmannj

vmtl wird folgendes passieren:

der fronthemClient hält eine referenz auf die Verbindung, beim neu-connect nach dem Flugmodus macht das iphone aber eine neue auf und der fronthemClient versucht noch auf der alten (mittlerweile ungültigen) zu antworten.

So ganz genau kann ich mir das noch nicht zusammenreimen weil es dagegen eigentlich bereits Maßnahmen gibt die ja in allen anderen Fällen auch greifen. Weil ich aber sowieso diverse Umbauten machen werde kann es sein das ich am Ende nicht genau die Zeile nennen kann. Ist sowieso vmtl eher kein Fehler im Sinne von Syntax sondern im Sinn von falschen Ablauf.

vg
jörg