Readingsgroup mit set Befehle geht nicht

Begonnen von moonsorrox, 06 August 2019, 17:38:29

Vorheriges Thema - Nächstes Thema

moonsorrox

ich habe eine rg erstellt die mit Attributen meiner Rollläden arbeitet. Das funktioniert auch, jetzt möchte ich aber diese ändern das ich mit set Befehlen arbeiten kann.
Das heißt ich brauche kein save für diese Befehle.

Das habe ich jetzt mal mit dem ersten Befehle ausprobiert das funktioniert aber nicht, ich weiß aber nicht warum
der Befehle ist
ascEnable:on,off

Wenn ich jetzt dazu noch ein Status Symbol verwenden könnte wäre das super, aber auch das bekomme ich nicht hin.
Kann mir da jemand helfen..?

Der zweite Befehl "Status" ist noch mit dem attr gemacht aber den möchte ich auch noch ändern, aber wenn ich weiß wie das mit dem ersten geht, kann ich das selber umsetzen.

dev von der RG:
defmod rg_Beschattung_Rollladen_alle readingsGroup <%fts_shutter_automatic@lightgreen>,<Modus>,<Symbol>,<Beschattung>,<Symbol>,<Beschattungs Temperatur>\
(KU_Rollladen|BU_Rollladen|GA_Rollladen):!?ascEnable,!?,!?ASC_Shading_Mode,!?,!?ASC_Shading_Min_OutsideTemperature
attr rg_Beschattung_Rollladen_alle alias Rollläden: Beschattung Alle Rollläden
attr rg_Beschattung_Rollladen_alle cellStyle { "r:1"=>'style="font-weight:bold;;;;font-size:16px"',\
"r:2,c:0"=>'style="font-weight:normal"',"r:6,c:0" =>'style="font-weight:bold"'}
attr rg_Beschattung_Rollladen_alle commands {ascEnable => 'ascEnable:on,off',\
ASC_Shading_Mode => 'ASC_Shading_Mode:always,off',\
ASC_Shading_Min_OutsideTemperature => 'ASC_Shading_Min_OutsideTemperature:selectnumbers,16,1,30,0,lin'}
attr rg_Beschattung_Rollladen_alle room Rollladenautomatik
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

wk


moonsorrox

Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

amenomade

#3
Zitat von: moonsorrox am 06 August 2019, 17:38:29
ich habe eine rg erstellt die mit Attributen meiner Rollläden arbeitet. Das funktioniert auch, jetzt möchte ich aber diese ändern das ich mit set Befehlen arbeiten kann.
Das heißt ich brauche kein save für diese Befehle.
Enweder ist es ein Attribut, dann setzt man den mit "attr" (und das geht nicht mit "set"), und das benötigt ein save
     ASC_Shading_Mode ist ein Attribut
Oder es ist ein Reading, das man dann gar nicht setzen kann
Oder es ist ein von dem Entwickler vorgesehener set-Befehl, dann setzt man das mit "set" und das benötigt ein save
     ascEnable ist tatsächlich ein set Befehl

commands ist ein Hash, und ein richtig formattierstes Hash hat beidseitig der Pfeilen ' oder "
("wort" => "wort", "wort" => "wort", ...
sollte aber schon ohne Hochkomata links funktionieren, solange es nur ein Wort ist.

In einem readingsGroup müssen set Befehle komplett geschrieben werden, wie im Beispiel von wk.
Zitat von: CommandRefcommands
Kann auf verschiedene Arten verwendet werden:

    Um ein Reading oder ein Symbol anklickbar zu machen, indem Sie direkt den Befehl angeben, der ausgeführt werden soll. z.Bsp:
    attr rgMediaPlayer commands { "playStatus.paused" => "set %DEVICE play", "playStatus.playing" => "set %DEVICE pause" }
    Wenn der zugeordnete Befehl die Form <command>:[<modifier>] hat, wird das normale FHEMWEB webCmd-Widget für für diesen commands verwendet. z.Bsp:
    attr rgMediaPlayer commands { volume => "volume:slider,0,1,100" }
    attr lights commands { pct => "pct:", dim => "dim:" }
    commands können für Attribute verwendet werden. z.Bsp:
    attr commands { disable => "disable:" }
EDIT: Wobei... für die set Befehle gibt es auch eine Möglichkeit über ein Widget, ich erinnere mich aber nicht mehr wie.
commands {ascEnable => 'ascEnable:on,off' könnte auch funktionieren. Ich kann aber im Moment nicht testen.

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

#4
ZitatEDIT: Wobei... für die set Befehle gibt es auch eine Möglichkeit über ein Widget, ich erinnere mich aber nicht mehr wie.
commands {ascEnable => 'ascEnable:on,off'

könnte auch funktionieren. Ich kann aber im Moment nicht testen.
Ahja, jetzt verstehe ich
ascEnable ist nicht für die Rollos ein Befehl, sondern für das ASC Device. Bei den Rollos ist es nur ein Reading
set GA_Rollladen ascEnable on geht nicht. Dewegen funktioniert dein rg nicht.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

moonsorrox

Es gibt ja einmal das Reading
ASC_Enable - on/off - wird der Rollladen über ASC gesteuert oder nicht

und es gibt das für den set Befehle
shutterASCenableToggle - on/off - Aktivieren oder deaktivieren der ASC Kontrolle beim einzelnen Rollladens

Beide möchte ich in einer readingsgroup unterbringen um einmal zu schauen in welchen Modus und um es auch zu verändern.
Brauchen tue ich es weil ich ja kein save wie mit den Attributen ausführen möchte.
Deshalb der set Befehl und weil ich mit FTUI die Befehle ändern möchte, das geht eben mit den Attributen nicht.

Ich habe die Readingsgroup von @wk schon etwas geändert, aber am Ziel bin ich noch nicht, dass reading zeigt er mir schon an aber set führt er nicht aus.
Da ist noch etwas nicht richtig.
Ich möchte eigentlich mit der RG nur erreichen das ich einen Status habe und den auch verändern kann, beim Rolllladen und bei der Beschattung des Rollladen

Hier mal das list
Internals:
   DEF        <%fts_shutter_automatic@lightgreen>,<Status Rollladen>,<Modus Rollladen>,<Modus Beschattung> (KU_Rollladen|BU_Rollladen|GA_Rollladen):ASC_Enable,!shutterASCenableToggle,!ascEnable
   FUUID      5d49a937-f33f-a6c6-4564-59332e56feb83265
   NAME       rg_ASC_Rollo_Enable
   NR         6019
   NTFY_ORDER 50-rg_ASC_Rollo_Enable
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
     BU_Rollladen 1
     GA_Rollladen 1
     KU_Rollladen 1
   CONTENT2:
   DEVICES:
     ARRAY(0xb4697d8)
     ARRAY(0xb826ed8)
     ARRAY(0xb45eae8)
     ARRAY(0xa8d1ee0)
   fhem:
     lastDefChange 419
     last_update 1565113068.64493
   helper:
     DEF       
     mapping    %ALIAS
     commands:
       ASC_Enable shutterASCenableToggle %DEVICE
       ascEnable  ascEnable:on,off
       shutterASCenableToggle shutterASCenableToggle:on,off
     positions:
       BU_Rollladen.ASC_Enable 2:1
       BU_Rollladen.ascEnable 2:3
       BU_Rollladen.shutterASCenableToggle 2:2
       GA_Rollladen.ASC_Enable 3:1
       GA_Rollladen.ascEnable 3:3
       GA_Rollladen.shutterASCenableToggle 3:2
       KU_Rollladen.ASC_Enable 4:1
       KU_Rollladen.ascEnable 4:3
       KU_Rollladen.shutterASCenableToggle 4:2
     valueIcon:
       ASC_Enable.off fts_shutter_manual@crimson
       ASC_Enable.on fts_shutter_automatic@lightgreen
     values:
       formated:
         undef
         ARRAY(0x825e538)
         ARRAY(0x9e021e8)
         ARRAY(0x424da88)
       orig:
         undef
         ARRAY(0xc6059c0)
         ARRAY(0xc5a6300)
         ARRAY(0xc5ccaf0)
       prefixsuffix:
         undef
         ARRAY(0xa6529b8)
         ARRAY(0xa042648)
         ARRAY(0x9495418)
Attributes:
   alias      Rollladenautomatik - Ein Aus
   commands   {ASC_Enable => 'shutterASCenableToggle %DEVICE',
shutterASCenableToggle => 'shutterASCenableToggle:on,off',
ascEnable => 'ascEnable:on,off'}
   mapping    %ALIAS
   room       Rollladenautomatik
   valueIcon  {"ASC_Enable.on" => 'fts_shutter_automatic@lightgreen',"ASC_Enable.off" => 'fts_shutter_manual@crimson'}


und der defmod
defmod rg_ASC_Rollo_Enable readingsGroup <%fts_shutter_automatic@lightgreen>,<Status Rollladen>,<Modus Rollladen>,<Modus Beschattung> (KU_Rollladen|BU_Rollladen|GA_Rollladen):ASC_Enable,!shutterASCenableToggle,!ascEnable
attr rg_ASC_Rollo_Enable alias Rollladenautomatik - Ein Aus
attr rg_ASC_Rollo_Enable commands {ASC_Enable => 'shutterASCenableToggle %DEVICE',\
shutterASCenableToggle => 'shutterASCenableToggle:on,off',\
ascEnable => 'ascEnable:on,off'}
attr rg_ASC_Rollo_Enable mapping %ALIAS
attr rg_ASC_Rollo_Enable room Rollladenautomatik
attr rg_ASC_Rollo_Enable valueIcon {"ASC_Enable.on" => 'fts_shutter_automatic@lightgreen',"ASC_Enable.off" => 'fts_shutter_manual@crimson'}
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

wk

#6
Also bei meinem Beispiel musst Du nur auf den Punkt klicken und er schaltet sowohl die Farbe des Punktes, wie auch das reading im RolladenDevice.

Du musst das set im command machen: }commands {ASC_Enable => 'set Rolladen shutterASCenableToggle %DEVICE' }

moonsorrox

Zitat von: wk am 06 August 2019, 19:46:33
Also bei meinem Beispiel musst Du nur auf den Punkt klicken und er schaltet sowohl die Farbe des Punktes, wie auch das reading im RolladenDevice.
das geht bei mir leider nicht weil ich die Rollläden wohl anders benannt habe, ich habe das gesehen und wollte es anpassen, dass het leider nicht geklappt weil bei dir Rolladen drin steht und du in der def es anders benannt hast.

Ich versuche das hinzubekommen

set Rolladen shutterASCenableToggle %DEVICE
das hat er bei mir angemeckert
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

wk

Wie ist denn Dein ASCDevice benannt. Der heist bei mir Rolladen. Das musst Du mit Deinem ASCDevice-Namen ersetzen.

moonsorrox

#9
Zitat von: wk am 06 August 2019, 19:54:37
Wie ist denn Dein ASCDevice benannt. Der heist bei mir Rolladen. Das musst Du mit Deinem ASCDevice-Namen ersetzen.

ja das hatte ich, da bin ich davon ausgegangen das ich das verändern muss.
Ich werde es nochmal testen, dass muss doch funktionieren  ;)

Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

moonsorrox

Durch einige Änderungen habe ich ein Buchstaben vergessen  :-\
jetzt funktioniert das auch  :)

jetzt muss ich nur nochmal schauen ob ich das mit der Beschattung auch noch hinbekomme, dass ich die Beschattung ausschalte der Rollladen aber ansonsten weiter über das ASC-Modul gesteuert wird

Danke für die Unterstützung
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

moonsorrox

ich muss jetzt nochmal fragen, hat jemand ne Ahnung wie ich das Beschatten in die Readingsgroup einbauen kann. Mein Versuche scheitern leider.  :-\
Aus der commandref
ZitatcontrolShading - on/off - Aktiviert oder deaktiviert die globale Beschattungssteuerung

RG sieht bisher so aus:
defmod rg_ASC_Rollo_Enable readingsGroup <%fts_shutter_automatic@lightgreen>,<Status Rollladen>,<Beschattung>,<Öffnen>,<Schließen> (KU_Rollladen|BU_Rollladen|GA_Rollladen):ASC_Enable,!?,ASC_Time_DriveUp,ASC_Time_DriveDown
attr rg_ASC_Rollo_Enable alias Rollladenautomatik - Ein Aus
attr rg_ASC_Rollo_Enable cellStyle { "r:1"=>'style="font-weight:normal;;font-size:24px;;color:AntiqueWhite;;"',"c:0"=>'style="font-weight:normal;;font-size:14px;;text-align:left;;padding-left:0pt;;color:LightSteelBlue;;"'}
attr rg_ASC_Rollo_Enable commands {ASC_Enable => 'set Rollladenautomatik shutterASCenableToggle %DEVICE' }
attr rg_ASC_Rollo_Enable mapping %ALIAS
attr rg_ASC_Rollo_Enable room Rollladenautomatik
attr rg_ASC_Rollo_Enable valueIcon {"ASC_Enable.on" => 'fts_shutter_automatic@lightgreen',"ASC_Enable.off" => 'fts_shutter_manual@crimson'}
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

TomLee

Hallo,

ZitatcontrolShading - on/off - Aktiviert oder deaktiviert die globale Beschattungssteuerung
Zitat<Status Rollladen>,<Beschattung>

Was soll den wo genau stehen, da komm ich schon nicht mit ?


Kennst du die Beispiele aus dem Wiki ?

Schau dir die mal näher an oder definier dir einfach mal das Beschattungsbeispiel.
Schätze danach fällts dir viel leichter abzuleiten was du jetzt gerade vorhast in deine RG einzubauen.

Gruß

Thomas

moonsorrox

Zitat von: TomLee am 07 August 2019, 14:21:25
Hallo,

Was soll den wo genau stehen, da komm ich schon nicht mit ?


Kennst du die Beispiele aus dem Wiki ?

Schau dir die mal näher an oder definier dir einfach mal das Beschattungsbeispiel.
Schätze danach fällts dir viel leichter abzuleiten was du jetzt gerade vorhast in deine RG einzubauen.

Gruß

Thomas
die Beispiele in dem Wiki kenne ich, aber mit den Readinggroups steuerst du nur die Attribute und die mußt du mit save config abschließen, das kann ich nicht brauchen.

Mein Befehl ist ein set Befehl der setzt dies sofort um ohne save.
Stehen soll es natürlich genau unter Beschattung und in den commands habe ich es ja noch nicht drin, weil ich nicht weiß wie.
Der Hintergrund warum ich set Befehle nutze ist einfach da ich alles von FTUI steuere muss es mit set gemacht werden, da es sonst ja nicht umgesetzt wird wenn ich ein Attribut nutze.
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

wk

Da die Umschaltung global ist, brauchst Du sie auch nur einmal.

Ich habe es in meinem Beispiel einmal hineingebaut:

defmod rg_ASC_Rollo_Enable readingsGroup < >,< > \ (Sh_.{1,2}):ASC_Enable,\
(Rolladen):controlShading
attr rg_ASC_Rollo_Enable alias ASC enabled ?
attr rg_ASC_Rollo_Enable commands {ASC_Enable => 'set Rolladen shutterASCenableToggle %DEVICE' , controlShading => 'controlShading:on,off'}
attr rg_ASC_Rollo_Enable mapping %ALIAS
attr rg_ASC_Rollo_Enable notime 1
attr rg_ASC_Rollo_Enable room Rolladen
attr rg_ASC_Rollo_Enable valueIcon {"ASC_Enable.on" => 'rc_dot',"ASC_Enable.off" => 'rc_dot@red'}


Dann hast Du ein Auswahlfeld zum globalen aus und ein