[73_AutoShuttersControl.pm] Rolllos automatisiert steuern - Version 0.8.x

Begonnen von CoolTux, 15 November 2019, 12:51:08

Vorheriges Thema - Nächstes Thema

CoolTux

Zitat von: TomLee am 15 April 2020, 21:01:46
Ja.



Aber mit der Angabe von Min_Elevation bleib ich dabei, die sollte doch umgekehrt behandelt werden, also wenn der Wert kleiner ist "fahre in Beschattung" .

Wähle ich den zu hoch fährt die Jalousie, je nach Jahreszeit, nicht runter wegen Max_Elevation, darum 1.
Dann ist sichergestellt das sie immer fährt.

Lass max Elevation weg und dann fährt das die Jalousie ab min Elevation in die Beschattung, sofern die anderen Werte auch stimmen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

TomLee

Hab ich doch heute gemacht

Internals:
   CHANNEL_RECEIVE 1
   DEF        A23B7C51
   FUUID      5c48e039-f33f-ef3d-0237-49e5d3e823dd8ed6
   ID         A23B7C5
   IODev      sduino
   MODEL      LE-Device
   NAME       Jalousie_Siro1
   NR         87
   NTFY_ORDER 50-Jalousie_Siro1
   STATE      100
   TYPE       Siro
   Version    1.3
   CODE:
     1          A23B7C51
   READINGS:
     2019-06-01 16:05:32   ASC_Enable      on
     2020-04-15 20:30:28   ASC_ShuttersLastDrive shading out
     2020-04-15 20:28:20   ASC_Time_DriveDown 16.04.2020 - 20:28
     2020-04-15 20:28:20   ASC_Time_DriveUp 16.04.2020 - 06:25
     2020-04-15 20:29:55   ActionTime      1586975395
     2020-04-15 20:29:55   ActionTrigger   fhem
     2020-04-15 20:29:55   BetweentActionTime 9007
     2020-04-02 15:41:11   Favorite-Position 0
     2020-04-15 20:29:55   LastAction      off
     2020-04-15 20:29:55   LastActionTime  1586966388
     2020-04-15 20:30:28   aktActionFinish 0
     2020-04-15 20:30:28   aktEndAction    0
     2020-04-15 20:30:28   aktRunningAction noAction
     2020-04-15 20:30:28   aktTimeAction   0
     2020-04-13 18:53:28   associatedWith  ASC
     2020-04-15 20:29:55   batteryState    unknown
     2020-04-15 20:30:28   motor-term      6376.43000066755
     2020-04-15 20:30:28   pct             100
     2020-04-15 20:30:28   position        100
     2020-04-15 20:30:28   state           100
   helper:
     exexcmd    on
     ignorecmd  off
     progmode   off
Attributes:
   ASC        2
   ASC_BrightnessSensor MQTT2_zigbee_0x00158d000302cc1e:illuminance
   ASC_ExternalTrigger Twilight:elevation <16
   ASC_Mode_Down off
   ASC_Mode_Up off
   ASC_Pos_Reading pct
   ASC_Shading_InOutAzimuth 260:310
   ASC_Shading_MinMax_Elevation 1
   ASC_Shading_Min_OutsideTemperature 11
   ASC_Shading_Mode always
   ASC_Shading_Pos 1
   ASC_Shading_StateChange_SunnyCloudy 720:420
   ASC_Shading_WaitingPeriod 600
   IODev      sduino
   SIRO_inversPosition 1
   SIRO_signalLongStopRepeats 15
   SIRO_signalRepeats 8
   SIRO_time_to_close 32
   SIRO_time_to_open 33
   alexaName  jalousie
   devStateIcon {if (ReadingsVal( $name, 'state', 'undef' ) =~ m/[a-z]/ ) { return 'programming:edit_settings notAvaible:hue_room_garage runningUp.*:fts_shutter_up runningDown.*:fts_shutter_down'}else{return '[0-9]{1,3}:fts_shutter_1w_'.(100-int($state/10)*10)}}
   event-on-change-reading .*
   genericDeviceType blind
   group      Wohnzimmer
   homebridgeMapping TargetPosition=position,cmd=position,minStep=10,delay=true
   room       Homekit,Rollladen
   userattr   ASC_Adv:on,off ASC_Antifreeze:off,soft,hard,am,pm ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_AutoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_AutoAstroModeMorning:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_BlockingTime_afterManual ASC_BlockingTime_beforDayOpen ASC_BlockingTime_beforNightClose ASC_BrightnessSensor ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Down:time,astro,brightness,roommate ASC_DriveUpMaxDuration ASC_Drive_Delay ASC_Drive_DelayStart ASC_ExternalTrigger ASC_GuestRoom:on,off ASC_LockOut:soft,hard,off ASC_LockOut_Cmd:inhibit,blocked,protection ASC_Mode_Down:absent,always,off,home ASC_Mode_Up:absent,always,off,home ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Partymode:on,off ASC_Pos_Reading ASC_PrivacyDownValue_beforeNightClose ASC_PrivacyDown_Pos ASC_PrivacyUpValue_beforeDayOpen ASC_PrivacyUp_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_AbsentDelay ASC_Self_Defense_Mode:absent,gone,off ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_TempSensor ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness,roommate ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_PosAfterDayClosed:open,lastManual ASC_WindowRec_subType:twostate,threestate
   webCmd     stop:open:close:fav:pct


Hätte ich aber heute 25 genommen (ich war auf der Lauer) wär die Jalousie nicht runtergefahren, weil min_ Elevation  nicht mehr erfüllt gewesen wäre . Nächsten Monat sieht das wieder anders aus. s. Bilder im Anhang

CoolTux

Zitat von: TomLee am 15 April 2020, 23:05:49
Hab ich doch heute gemacht

Internals:
   CHANNEL_RECEIVE 1
   DEF        A23B7C51
   FUUID      5c48e039-f33f-ef3d-0237-49e5d3e823dd8ed6
   ID         A23B7C5
   IODev      sduino
   MODEL      LE-Device
   NAME       Jalousie_Siro1
   NR         87
   NTFY_ORDER 50-Jalousie_Siro1
   STATE      100
   TYPE       Siro
   Version    1.3
   CODE:
     1          A23B7C51
   READINGS:
     2019-06-01 16:05:32   ASC_Enable      on
     2020-04-15 20:30:28   ASC_ShuttersLastDrive shading out
     2020-04-15 20:28:20   ASC_Time_DriveDown 16.04.2020 - 20:28
     2020-04-15 20:28:20   ASC_Time_DriveUp 16.04.2020 - 06:25
     2020-04-15 20:29:55   ActionTime      1586975395
     2020-04-15 20:29:55   ActionTrigger   fhem
     2020-04-15 20:29:55   BetweentActionTime 9007
     2020-04-02 15:41:11   Favorite-Position 0
     2020-04-15 20:29:55   LastAction      off
     2020-04-15 20:29:55   LastActionTime  1586966388
     2020-04-15 20:30:28   aktActionFinish 0
     2020-04-15 20:30:28   aktEndAction    0
     2020-04-15 20:30:28   aktRunningAction noAction
     2020-04-15 20:30:28   aktTimeAction   0
     2020-04-13 18:53:28   associatedWith  ASC
     2020-04-15 20:29:55   batteryState    unknown
     2020-04-15 20:30:28   motor-term      6376.43000066755
     2020-04-15 20:30:28   pct             100
     2020-04-15 20:30:28   position        100
     2020-04-15 20:30:28   state           100
   helper:
     exexcmd    on
     ignorecmd  off
     progmode   off
Attributes:
   ASC        2
   ASC_BrightnessSensor MQTT2_zigbee_0x00158d000302cc1e:illuminance
   ASC_ExternalTrigger Twilight:elevation <16
   ASC_Mode_Down off
   ASC_Mode_Up off
   ASC_Pos_Reading pct
   ASC_Shading_InOutAzimuth 260:310
   ASC_Shading_MinMax_Elevation 1
   ASC_Shading_Min_OutsideTemperature 11
   ASC_Shading_Mode always
   ASC_Shading_Pos 1
   ASC_Shading_StateChange_SunnyCloudy 720:420
   ASC_Shading_WaitingPeriod 600
   IODev      sduino
   SIRO_inversPosition 1
   SIRO_signalLongStopRepeats 15
   SIRO_signalRepeats 8
   SIRO_time_to_close 32
   SIRO_time_to_open 33
   alexaName  jalousie
   devStateIcon {if (ReadingsVal( $name, 'state', 'undef' ) =~ m/[a-z]/ ) { return 'programming:edit_settings notAvaible:hue_room_garage runningUp.*:fts_shutter_up runningDown.*:fts_shutter_down'}else{return '[0-9]{1,3}:fts_shutter_1w_'.(100-int($state/10)*10)}}
   event-on-change-reading .*
   genericDeviceType blind
   group      Wohnzimmer
   homebridgeMapping TargetPosition=position,cmd=position,minStep=10,delay=true
   room       Homekit,Rollladen
   userattr   ASC_Adv:on,off ASC_Antifreeze:off,soft,hard,am,pm ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_AutoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_AutoAstroModeMorning:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_BlockingTime_afterManual ASC_BlockingTime_beforDayOpen ASC_BlockingTime_beforNightClose ASC_BrightnessSensor ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Down:time,astro,brightness,roommate ASC_DriveUpMaxDuration ASC_Drive_Delay ASC_Drive_DelayStart ASC_ExternalTrigger ASC_GuestRoom:on,off ASC_LockOut:soft,hard,off ASC_LockOut_Cmd:inhibit,blocked,protection ASC_Mode_Down:absent,always,off,home ASC_Mode_Up:absent,always,off,home ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Partymode:on,off ASC_Pos_Reading ASC_PrivacyDownValue_beforeNightClose ASC_PrivacyDown_Pos ASC_PrivacyUpValue_beforeDayOpen ASC_PrivacyUp_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_AbsentDelay ASC_Self_Defense_Mode:absent,gone,off ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_TempSensor ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness,roommate ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_PosAfterDayClosed:open,lastManual ASC_WindowRec_subType:twostate,threestate
   webCmd     stop:open:close:fav:pct


Hätte ich aber heute 25 genommen (ich war auf der Lauer) wär die Jalousie nicht runtergefahren, weil min_ Elevation  nicht mehr erfüllt gewesen wäre . Nächsten Monat sieht das wieder anders aus. s. Bilder im Anhang

Ah verstehe. Alles klar.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Typ1er

Kann man den set Befehl ändern?


statt "dim" brauche ich "positionBlind" bei den Jalousien.

Bei dim wird am Ende die Jalousie immer gewendet, somit ist die Jalousie offen nach einem Fahrbefehl.

CoolTux

Das geht nur wenn Du auch ein Reading des selben Namen hast der dir genaue Position der Jalousie wieder gibt.

Wie genau muss eigentlich Dein Set Befehl lauten wenn du die Höhe ändern und den Winkel ändern willst. Gibst da ein Kombibefehl?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Typ1er

diese set Befehle stehen zur Verfügung:

-positionBlind (beim Fahren wird die Lamelle nicht verändert, 0-99)
-positionSlat (Lamelle, 0-99)
-dim (hier tritt ein eigenartiger Fehler auf, beim öffnen auf 99, wird die Lamelle am Ende auf 99 gesetzt, was beim nächsten Fahrbefehl bewirkt das die Lamellen am ende offen stehen, da Slat 99 ist).

Reading kommt über position rein:
position Blind 0 Slat 0

ich splitte das dann auf per userReading auf:
position_blind 0
position_slat 0

Beta-User

Da wir das grade im anderen Thread diskutieren: Kann man den Aktor auch "in einem Aufwasch" beide Werte mitgeben, also
set <aktor> positionBlind 0 positionSlat 0
(Dass es mit zwei Befehlen auch geht, ist klar, und ich gehe mal davon aus, dass man die auch "gleich" loswerden kann und nicht erst warten muß, bis "blind" erreicht ist, bevor man "slat" setzen darf).

(for the records: Das ist ein FGR-222, oder? @CoolTux: Wenn ja, ist der ist noch ein "Einheitsdevice", aber Fibaro hat beim Nachfolger dann der "Norm" den Vorzug gegeben und das aufgesplittet, deswegen habe ich als FGR-223-Nutzer 2 bzw. 3 Geräte für den einen Aktor).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Typ1er


ZeitlerW

Hallo zusammen,

ich würde gerne nochmal den SET - Befehl für die position aufgreifen. Ich nutze hier KNX - devices. Ich habe mir damit geholfen, indem ich im modul %posSetCmds erweitert habe:


my %posSetCmds = (
    ZWave       => 'dim',
    Siro        => 'pct',
    CUL_HM      => 'pct',
    ROLLO       => 'pct',
    SOMFY       => 'position',
    tahoma      => 'dim',
    KLF200Node  => 'pct',
    DUOFERN     => 'position',
    HM485       => 'level',
    SELVECommeo => 'position',
    SELVE       => 'position',
    EnOcean     => 'position',
    KNX         => ' ',
);



@CoolTux

Vielleicht könnte man das ja auch als Attribut konfigurierbar machen.

lG
Wolfgang

CoolTux

Hallo Wolfgang,

Es tut mir leid aber ich verstehe gerade nicht wieso Du da einen (fast) leeren String für KNX zu weist. Welchen Mehrwert hat es?
Du kannst das Attribut ASC_Pos_Reading setzen welches gleichzeitig das Reading zum auslesen der Position sein soll und der Command zum fahren der Rollos. Also pct oder dim oder was auch immer.
Ich kenne KNX nicht, mir wurde gesagt das man da vieles konfigurieren kann. Auch mit welchen Befehl das Rollo fahren soll. Also entweder mit der Angabe eines die Datenpunkte (Adressen) oder mittels einen Commands der dann auf die entsprechenden Datenpunkte verweist.


Grüße
Marko
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ZeitlerW

Hallo Marko,

ich habe hier Jalousieen, bei denen der set Befehl und das Reading für den aktuellen Wert unterschiedlich ist:

SET Jalousie <setG1> [Wert] -> Jalousie fährt auf den ensprechenden % Wert (das setG1 ist optional, deshalb habe ich es weggelassen)

Das Reading für den aktuellen Beschattunsstand ist bei mir  ein customreading [position].
Daher habe ich im Jalousidevice das Attribut: ASC_Pos_reading position gesetzt.

Habe ich da ggf. was falsch verstanden?
Wolfgang




CoolTux

Zitat von: ZeitlerW am 17 April 2020, 11:11:47
Hallo Marko,

ich habe hier Jalousieen, bei denen der set Befehl und das Reading für den aktuellen Wert unterschiedlich ist:

SET Jalousie <setG1> [Wert] -> Jalousie fährt auf den ensprechenden % Wert (das setG1 ist optional, deshalb habe ich es weggelassen)

Das Reading für den aktuellen Beschattunsstand ist bei mir  ein customreading [position].
Daher habe ich im Jalousidevice das Attribut: ASC_Pos_reading position gesetzt.

Habe ich da ggf. was falsch verstanden?
Wolfgang

Das ist in der Tat falsch, sofern das
Zitat
Das Reading für den aktuellen Beschattunsstand ist
sich tatsächlich nur auf den Beschattungsstatus bezieht. Der Readingsname welcher in das Attribut ASC_Pos_reading rein kommen soll sollte ein Reading sein was immer die aktuelle Position des Rollos wieder spiegelt.
Bei Gerätetypen die nicht bekannt sind (so wie eigentlich bei Dir) muss der Name auch gleichzeitig der Befehl zum Fahren das Rollos sein.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

octek0815

Moin,

wie kann ich im Attribut ASC_ComfortOpen_Pos andere Werte als die aus dem DropDown nutzen?

Danke und Grüße
Oliver

CoolTux

Zitat von: octek0815 am 17 April 2020, 20:07:02
Moin,

wie kann ich im Attribut ASC_ComfortOpen_Pos andere Werte als die aus dem DropDown nutzen?

Danke und Grüße
Oliver

Du kannst das Attribut einfach über die FHEMWEB Konsole als FHEM Befehl setzen

attr ROLLONAME ATTRIBUTNAME VALUE
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

octek0815

Alles klar, dachte ich mir schon.
Und ist auch Modul-Update resistent?