Autor Thema: GELÖST : SmartVisu zu FHEM converter für KNX Jalousie  (Gelesen 1399 mal)

Offline Paradisebaker

  • Newbie
  • Beiträge: 2
GELÖST : SmartVisu zu FHEM converter für KNX Jalousie
« am: 18 Februar 2017, 16:53:45 »
Hallo
Ich bin neu hier und gerade dabei, mir meine bestehende KNX-Welt in FHEM und Smartvisu leichter/schöner zu machen.
Alle Geräte (Jalousien und Leuchten) sind schon in FHEM und können dort auch super bedient werden.
Smartvisu ist über Fronthem angebunden und Licht einschalten funktioniert schonmal.
Bei den Jalousien hab ich aber noch Probleme.
Ich kann rauf und runter fahren. Aber allein schon der stop-button funktioniert schon nicht, er wird zurzeit (wert 1) als "runterfahren" interpretiert.
Meiner Meinung nach stehe ich beim Converter an, ich weiss einfach nicht, wie ich mitgeben soll, dass die 2. GA angesprochen werden soll.
Hier die FHEM config der Jalousie:
define Jal.OG.Buero.Sued.Ost KNX 0/0/27:dpt1.008:updown 0/1/27:dpt1.001:stop 0/6/27:dpt1.001:shade 4/1/27:dpt5.001:pos 4/2/27:dpt5.001:tilt
attr Jal.OG.Buero.Sued.Ost IODev KNX
attr Jal.OG.Buero.Sued.Ost eventMap /off g1:Auf/on g2:Stop/on g1:Ab/on g3:Shade
attr Jal.OG.Buero.Sued.Ost group Jalousien
attr Jal.OG.Buero.Sued.Ost room Buero

Das GAD sieht so aus:
"Jal.OG.Buero.Sued.Ost.stop" : {
         "converter" : "OnOff",
         "device" : "Jal.OG.Buero.Sued.Ost",
         "type" : "item",
         "reading" : "state",
         "set" : "state"
      },

Im Smartvisu benutze ich den basic.shutter:
<div class="block">
                <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">

                        <div data-role="collapsible" data-collapsed="false">
                                <h3>Jalousie</h3>

                                {{ device.shutter ('Jal_OG.buero.ost.sued', 'Ost-Süd', 'Jal_OG.buero.ost.sued.move', 'Jal_OG.buero.ost.sued.stop', 'Jal_OG.buero.ost.sued.pos',
                                '', 'buero_jalousie_lamelle', 'Jal_OG.buero.ost.sued.shade', 0, 255, 5, 'full') }}
                        </div>

                        <div data-role="collapsible">
                                <h3>Einstellungen</h3>

                                <p></p>
                        </div>

                </div>
        </div>

Wie bekomme ich es hin, dass die Werte weiter hinten in der widget-definition richtig an FHEM weitergegeben werden?
Vielen Dank schonmal für eure Hilfe
« Letzte Änderung: 22 Februar 2017, 19:03:38 von Paradisebaker »

Offline raman

  • Full Member
  • ***
  • Beiträge: 129
Antw:SmartVisu zu FHEM converter für KNX Jalousie
« Antwort #1 am: 20 Februar 2017, 13:14:26 »
Hallo,
im Widget device.shutter ist der Wert für Stop fest mit 1 definiert und kann über die eigene Definition nicht geändert werden!
Die 1 wird dann vom OnOff-Converter in on gewandelt.

Entweder du nimmst device.shutter als Vorlage für ein eigenes Widget und passt es für deine Bedürfnisse an: aus der 1 ein 'stop' machen (wenn das für deinen Fall der richtige Befehl ist).
Andere Möglichkeiten auf FHEM-Seite wären ein eigener Konverter oder ein Dummy mit entsprechendem Notify bzw. DOIF, mit dem du das
Stop-Event auswertest.

Die erste Möglichkeit ist wahrscheinlich am einfachsten umzusetzen!

Offline Paradisebaker

  • Newbie
  • Beiträge: 2
Antw:SmartVisu zu FHEM converter für KNX Jalousie
« Antwort #2 am: 20 Februar 2017, 21:04:51 »
Hallo raman
Vielen Dank, das war genau der Tipp, den ich gebraucht habe.
Nach ein bisschen Tüfteln funktioniert das jetzt genau so, wie ich es wollte.
Hier mal die entsprechende Config, vielleicht gibt es ja auch noch andere, die KNX-Jalousien so einbinden wollen.
(Ich kann mir nicht so ganz vorstellen, dass ich der Einzige sein sollte).

Das Device mit den 5 GAs (KNX : move, lamelle, position, status position, status lamelle)
define Jal.OG.Buero.Sued.Ost KNX 0/0/27:dpt1.008:updown 0/1/27:dpt1.001:stop 0/6/27:dpt1.001:shade 4/1/27:dpt5.001:pos 4/2/27:dpt5.001:angle
attr Jal.OG.Buero.Sued.Ost IODev KNX
attr Jal.OG.Buero.Sued.Ost eventMap /off g1:Auf/on g2:Lamab/off g2:Lamauf/on g1:Ab/on g3:Shade
attr Jal.OG.Buero.Sued.Ost group Jalousien
attr Jal.OG.Buero.Sued.Ost room Buero
attr Jal.OG.Buero.Sued.Ost webCmd Auf:Lamauf:Lamab:Ab:::Shade

Hier die entsprechende Fronthem config:
      "Jal.OG.Buero.Sued.Ost.shade" : {
         "device" : "Jal.OG.Buero.Sued.Ost",
         "set" : "state",
         "converter" : "Direct",
         "type" : "item",
         "reading" : "state"
      },
      "Jal.OG.Buero.Sued.Ost.angle" : {
         "device" : "Jal.OG.Buero.Sued.Ost",
         "set" : "state",
         "converter" : "NumDisplay",
         "reading" : "angle-get",
         "type" : "item"
      },
      "Jal.OG.Buero.Sued.Ost.pos" : {
         "type" : "item",
         "reading" : "pos-get",
         "converter" : "NumDisplay",
         "device" : "Jal.OG.Buero.Sued.Ost",
         "set" : "state"
      },
      "Jal.OG.Buero.Sued.Ost.stop" : {
         "type" : "item",
         "reading" : "state",
         "converter" : "Direct",
         "device" : "Jal.OG.Buero.Sued.Ost",
         "set" : "state"
      },
      "Jal.OG.Buero.Sued.Ost.move" : {
         "set" : "state",
         "device" : "Jal.OG.Buero.Sued.Ost",
         "converter" : "Direct",
         "type" : "item",
         "reading" : "state"
      }

Das modifizierte widget (widget_jalousie.html)

{% macro one(id, txt, item_move, item_stop, item_pos, item_shift, item_angle, item_saved, min, max, step, mode) %}
        {% import "basic.html" as basic %}
        {% set uid = uid(page, id) %}

        <div class="blind">
                <table align="center" cellpadding="1">
                        <tr>
                                <td valign="center">
                                        <div class="set">{{ basic.button(id|_('up'), item_move, '', 'control_arrow_up.svg', 'Auf', 'mini') }}</div>
                                        <div class="set">{{ basic.button(id~'stop', item_stop, '', 'arrow-u', 'Lamauf', 'micro') }}</div>
                                        <div>{{ basic.button(id~'saved1', item_saved, 'Shade', '', 'Shade', 'micro') }} </div>
                                        <div class="set">{{ basic.button(id~'stop', item_stop, '', 'arrow-d', 'Lamab', 'micro') }}</div>
                                        <div class="set">{{ basic.button(id~'down', item_move, '', 'control_arrow_down.svg', 'Ab', 'mini') }}</div>
                                </td>
                                <td rowspan="3" align="center" class="pos"> {{ txt }}
                                        {{ basic.shutter(id, item_pos, item_angle, min, max, step, mode) }}</td>

                        </tr>
                </table>
        </div>

{% endmacro %}

Und zuletzt noch die Portion der SmartVISU page:
<div data-role="collapsible" data-collapsed="false">
                                <h3>Jalousie</h3>
                                {% import "widget_jalousie.html" as jalousie %}

                                {{ jalousie.one ('Jal.OG.Buero.Sued.Ost', 'Ost-Süd', 'Jal.OG.Buero.Sued.Ost.move', 'Jal.OG.Buero.Sued.Ost.stop', 'Jal.OG.Buero.Sued.Ost.pos',
                                '', 'Jal.OG.Buero.Sued.Ost.angle', 'Jal.OG.Buero.Sued.Ost.shade', 0, 100, 5, 'half') }}
                        </div>

Nochmal vielen Dank für den Tipp

LG
Markus
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline schnibberle

  • New Member
  • *
  • Beiträge: 5
Antw:GELÖST : SmartVisu zu FHEM converter für KNX Jalousie
« Antwort #3 am: 16 Dezember 2019, 20:19:17 »

Hier die FHEM config der Jalousie:
define Jal.OG.Buero.Sued.Ost KNX 0/0/27:dpt1.008:updown 0/1/27:dpt1.001:stop 0/6/27:dpt1.001:shade 4/1/27:dpt5.001:pos 4/2/27:dpt5.001:tilt
attr Jal.OG.Buero.Sued.Ost IODev KNX
attr Jal.OG.Buero.Sued.Ost eventMap /off g1:Auf/on g2:Stop/on g1:Ab/on g3:Shade
attr Jal.OG.Buero.Sued.Ost group Jalousien
attr Jal.OG.Buero.Sued.Ost room Buero

Das GAD sieht so aus:
"Jal.OG.Buero.Sued.Ost.stop" : {
         "converter" : "OnOff",
         "device" : "Jal.OG.Buero.Sued.Ost",
         "type" : "item",
         "reading" : "state",
         "set" : "state"
      },

Im Smartvisu benutze ich den basic.shutter:
<div class="block">
                <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">

                        <div data-role="collapsible" data-collapsed="false">
                                <h3>Jalousie</h3>

                                {{ device.shutter ('Jal_OG.buero.ost.sued', 'Ost-Süd', 'Jal_OG.buero.ost.sued.move', 'Jal_OG.buero.ost.sued.stop', 'Jal_OG.buero.ost.sued.pos',
                                '', 'buero_jalousie_lamelle', 'Jal_OG.buero.ost.sued.shade', 0, 255, 5, 'full') }}
                        </div>

                        <div data-role="collapsible">
                                <h3>Einstellungen</h3>

                                <p></p>
                        </div>

                </div>
        </div>


Schonmal vielen Dank für deinen Ansatz, der nach langer Google Suche der einzige im Netz ist.

Ich kämpfe auch mit meiner KNX Integration in FHEM.

Habe einen MDT KNX Jalousiekator und würde den gerne auch per FHEM steuern :
Ich habe insgesamt 5 Gruppenadressen
3/1/120:dpt1.008:updown - Fahrt Hoch/Runter
3/1/121:dpt1.001:stop - Stop/Schritt (Also stoppen der Jalousie sowie Lamellenänderung)
3/1/122:dpt5.001:pos - Absolute Position senden (z.B. Jalousie auf 60%)
3/1/123:dpt5.001:pos-set - Rückmeldung Absolute Positition (Meldet während der Fahr und am Ende die aktuelle Position der Jalousie)
3/1/124:dpt5.001:angle - Absolute Position der Lamelle senden (zB. Lamellen auf 20%)
3/1/125:dpt5.001:angle-set - Rückmeldung Absolute Lamellenposition (Meldet während der Fahrt und am Ende die Position der Lamelle)

Wie müsste ich hier die Eventmap anpassen ?
   eventMap   /off g1:Auf/on g2:Lamab/off g2:Lamauf/on g1:Ab/on g3:Shade
Wie bekomme ich das sauber in eine FTUI Visu ?


 

decade-submarginal