Rolladen Steuerung

Begonnen von gubbele, 22 November 2017, 21:51:24

Vorheriges Thema - Nächstes Thema

gubbele

Hallo zusammen,

bin gerade dabei meine Smartvisu zu programmieren, irgendwie will nur mein Rolladen nicht funktionieren.

Ich habe eine neues Rolladen-Widget erstellt


**
* Mein Rollo-Widget
*
* @param       eindeutige ID für dieses Widget
* @param       der Name des Rollos
* @param       das gad/item für den Fahr-Befehl
* @param       das gad/item für den Stop-Befehl
* @param       das gad/item für den Positionsstatus
*
*/
{% macro rollobedienung(id, txt, gad_move, gad_stop, gad_position) %}
{% import "basic.html" as basic %}
{% set uid = uid(page, id) %}

/** Design */
<div id="{{ uid }}" class="rollobedienung">
    <table style="width:100%; text-align: left;">
        <tr>
            <th width="35%">{% if txt %} {{ txt }} {% endif %}</th>
            <td width="15%">
                {% if gad_opens %}
                    {{ basic.button(id~'opens', gad_opens, '', 'arrow-u', '0', 'mini') }}
                {% endif %}
            </td>
            <td width="15%">
                {% if gad_stop %}
                    {{ basic.button(id~'stop', gad_stop, '', icon0~'audio_stop.png', '1', 'mini') }}
                {% endif %}
            </td>
            <td width="15%">
                {% if gad_closes %}
                    {{ basic.button(id~'closes', gad_closes, '', 'arrow-d', '1', 'mini') }}
                {% endif %}
            </td>
            <td width="20%">
                {% if gad_position %}
                   {{ basic.float(id~'position', gad_position, '%') }}
                {% endif %}
            </td>
        </tr>
    </table>
</div>
{% endmacro %}


Die Positionsangabe funktioniert, die Richtungspfeile und die Stop Funktion geht leider nicht

Folgendes Habe ich bei Gad-Edit eingegeben

device        - EnO_FF8B4E12
reading        - state
converter        - Direct
cmd set         - state


Hat jemand vielleicht ne Idee wo der Fehler liegen könnte?

Grüße aus Stuttgart

smai

Du definierst oben folgende Parameter:
[code{% macro rollobedienung(id, txt, gad_move, gad_stop, gad_position) %}]

Unten verwendest du dann aber gad_opens und gad_closes.

gad_stop wäre zwar richtig, aber musst du da wirklich eine 1 senden oder evtl. eine 0?

gubbele

Also wird wohl eher ne 0 sein die ich senden muss, wie kann ich eine 0 senden?

Wenn ich die Fahre befehle mit move ausführ waren sie nicht definiert Auf / Ab sonden Auf / Stop / Ab

Ne Idee wie es hinbekomme? Es handel sich um einen Eltako FSB14.

In Fhem wir er mit opens und closes bewegt

Johnnyflash

Hallo,

{{ basic.button(id~'opens', gad_opens, '', 'arrow-u', 'opens, 'mini') }}
...
{{ basic.button(id~'stop', gad_stop, '', icon0~'audio_stop.png', 'stop', 'mini') }}
...
{{ basic.button(id~'closes', gad_closes, '', 'arrow-d', '1', 'closes') }}


Sollte funktionieren. Habe ebenfalls die FSB14 und es läuft bei mir so. Wenn set cmd auf State steht, wird exakt das gesendet, was du in deinem Widget einträgst.

smai

Zitat von: Johnnyflash am 23 November 2017, 07:03:23
Hallo,

{{ basic.button(id~'opens', gad_opens, '', 'arrow-u', 'opens, 'mini') }}
...
{{ basic.button(id~'stop', gad_stop, '', icon0~'audio_stop.png', 'stop', 'mini') }}
...
{{ basic.button(id~'closes', gad_closes, '', 'arrow-d', '1', 'closes') }}


Sollte funktionieren.
Aber nur, wenn du gad_opens und gad_closes definierst.
Müssen das tatsächlich separate Items sein oder ist es das gleiche an welches 'opens' bzw. 'closes' gesendet wird?

Zudem hat es noch zwei Fehler:
In der ersten Zeile Fehlt ein ' hinter opens.
Und in die letzte sollte wohl so lauten:

{{ basic.button(id~'closes', gad_closes, '', 'arrow-d', 'closes', 'mini') }}


gubbele

Also das funktioniert irgendwie bei mir nicht.

Fronthem ist immer noch unverändert und in der html ist nun folgendes hinterlegt:



**
* Mein Rollo-Widget
*
* @param       eindeutige ID für dieses Widget
* @param       der Name des Rollos
* @param       das gad/item für den Fahr-Befehl
* @param       das gad/item für den Stop-Befehl
* @param       das gad/item für den Positionsstatus
*
*/
{% macro rollobedienung(id, txt, gad_move, gad_stop, gad_position) %}
{% import "basic.html" as basic %}
{% set uid = uid(page, id) %}

/** Design */
<div id="{{ uid }}" class="rollobedienung">
    <table style="width:100%; text-align: left;">
        <tr>
            <th width="35%">{% if txt %} {{ txt }} {% endif %}</th>
            <td width="15%">
                {% if gad_opens %}
                    {{ basic.button(id~'opens', gad_move, '', 'arrow-u', 'opens', 'mini') }}
                {% endif %}
            </td>
            <td width="15%">
                {% if gad_stop %}
                    {{ basic.button(id~'stop', gad_move, '', icon0~'audio_stop.png', 'stop', 'mini') }}
                {% endif %}
            </td>
            <td width="15%">
                {% if gad_closes %}
                    {{ basic.button(id~'closes', gad_move, '', 'arrow-d', 'closes', 'mini') }}
                {% endif %}
            </td>
            <td width="20%">
                {% if gad_position %}
                   {{ basic.float(id~'position', gad_position, '%') }}
                {% endif %}
            </td>
        </tr>
    </table>
</div>
{% endmacro %}


Wenn ich nach unten fahren will bewegt sich die Anzeige nur um 3%, auf der Stoptaste fährt er hoch.

Ich verstehe esw net wo der Fehler liegt!