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

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

Vorheriges Thema - Nächstes Thema

eurofinder

Ich bin auch eher gegen weiter neue Attribute, was ich mir allerdings vorstellen könnte ASC_Shading_Pos analog zu behandeln wie ASC_Shading_InOutAzimuth. Also durch Doppelpunkt getrennte Angaben für Shading in-Position und Shading out-Position - also z.B.
ASC_Shading_Pos = 45:0
bedeutet bei shading in wird Position 45 angefahren, liegen die Voraussertzungen für shading in nicht mehr vor wird Position 0 angefahren.

Wenn diese Idee Zustimmung finden sollte, wäre vielleicht eine Umbenennung von ASC_Shading_Pos in ASC_Shading_InOutPos eine gute Lösung.

Gruß
eurofinder
RPI3+; Raspbian Buster Lite; RPI-RF-MOD; piVCCU3, HMIP-eTRV-2, HmIP-SWDO, HmIP-SRH, HmIP-STHO, HmIP-SLO

CoolTux

Zitat von: eurofinder am 06 Mai 2020, 16:34:03
Ich bin auch eher gegen weiter neue Attribute, was ich mir allerdings vorstellen können ASC_Shading_Pos analog zu behandeln wie ASC_Shading_InOutAzimuth. Also durch Doppelpunkt getrennte Angaben für Shading in-Position und Shading out-Position - also z.B.
ASC_Shading_Pos = 45:0
bedeutet bei shading in wird Position 45 angefahren, liegen die Voraussertzungen für shading in nicht mehr vor wird Position 0 angefahren.

Wenn diese Idee Zustimmung finden sollte, wäre vielleicht eine Umbenennung von ASC_Shading_Pos in ASC_Shading_InOutPos eine gute Lösung.

Gruß
eurofinder

Geht nicht, diese Kombi wird in der 0.9er schon für die Lamellensteuerung verwendet  ;D
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

eurofinder

@CoolTux:
ZitatGeht nicht, diese Kombi wird in der 0.9er schon für die Lamellensteuerung verwendet
Dann nimm halt doch ein weiteres Attribut :) - oder wirklich fix.

Gruß
eurofinder


RPI3+; Raspbian Buster Lite; RPI-RF-MOD; piVCCU3, HMIP-eTRV-2, HmIP-SWDO, HmIP-SRH, HmIP-STHO, HmIP-SLO

flummy1978

Zitat von: eurofinder am 06 Mai 2020, 16:34:03
Ich bin auch eher gegen weiter neue Attribute, was ich mir allerdings vorstellen könnte ASC_Shading_Pos analog zu behandeln wie ASC_Shading_InOutAzimuth. Also durch Doppelpunkt getrennte Angaben für Shading in-Position und Shading out-Position - also z.B.

Etwas (weg vom Standard) einstellen zu wollen ohne ein separates Attribut zu haben (oder sonstige Einstelloptionen)  - geht aber nicht. Es sei denn man unterschlägt die Wünsche / Vorliebe der anderen und ändert den Standard (in diesem Fall wäre das von LastPos auf Open).
Hier bin ich mir aber 100 % sicher, dass ganz viele sich "beschweren" werden, die grad nicht mitlesen dass es ja bisher immer alles ging und auf einmal nicht mehr funktioniert.

Wie gesagt ich finde optionale Attribute kann man fast nie genug haben. Aber wenn es ein Reading wäre, das man einstellen muss, könnte ich persönlich damit auch leben - So habe ich das bei den Geräten gelöst bei den ich Anforderung je nach Zustand ändere, ohne das Ausrufezeichen haben zu wollen, dass angeblich was geändert wurde.

Justmy2Cent

CoolTux

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

dancatt

Hallo,

gibt es eigentlich eine Möglichkeit die Beschattung ein zweites mal am Tag zu fahren? Ich habe abends einige Minuten das Problem dass mich die Sonne beim Essen stört. Für diese paar Minuten würde ich den Rollladen gerne nur ein paar cm runterfahren damit mich die Sonne nicht mehr stört.
Zum Beispiel in allen Beschattungsattributen kommasepariert die zweite Bedingung angeben.

Vielen Dank.

Gruß Daniel
Cubietruck: FHEM-Server 6.0

Homematic: HM-USB-CFG2, HM-CFG-LAN, HM-LC-SW1-FM, HM-LC-Sw1-Pl-DN-R1, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-SEC-SD, HM-PB-6-WM55

flummy1978

Zitat von: dancatt am 06 Mai 2020, 19:20:12
Zum Beispiel in allen Beschattungsattributen kommasepariert die zweite Bedingung angeben.

Ggf wäre das etwas für den oben besprochenen Teil, aber das ist ja Zukunftsmusik ;)

Wenn das sowas extrem Benutzerdefiniertes ist, würde ich es glaube ich persönlich eh separat (außerhalb von ASC über ein Notify oder so  machen) soll es aber keinen Einfluss auf "ASC_BlockingTime_afterManualdrive" etc haben dann ist ASC_ExternalTrigger imho der richtige Punkt den es dort anzugehen geht :)

Grüße
Andreas

xerion

Hi CoolTux,

ich habe noch eine Frage zum Regensensor.
Ich baue mir gerade einen Regensensor zusammen. Der liefert mir Werte von 1024 bis 0. 1024 bedeutet das es nicht regnet. Beim Test mit einem Testdummy ist mir aber aufgefallen das ASC das genau andersrum erwartet oder habe ich noch eine andere Möglichkeit?
Ich habe schon im Forum nach invertieren von Werten geschaut aber da geht es dann meistens nur um on/off usw. aber nicht einen ganzen Wertebereich.
Wechsel jetzt zu Octopus Energy und bekomme 150,00 € Bonus auf deine Rechnung. Die Anmeldung geht super leicht und schnell, klicke dafür einfach meinen persönlichen Empfehlungslink:
 https://share.octopusenergy.de/loved-heron-220.

flummy1978

Holla,

ich bin zwar nicht CoolTux, aber sicherlich hast du nichts gegen eine Offtopic Alternatividee ;)

Zitat von: xerion am 06 Mai 2020, 22:44:38
Ich habe schon im Forum nach invertieren von Werten geschaut aber da geht es dann meistens nur um on/off usw. aber nicht einen ganzen Wertebereich.

Ich würde in so einem Fall einfach einen userReading erstellen, der dein Ergebnis errechnet:


state_umgewandelt { sprintf("%.0f", ((ReadingsNum($name,"state",0)-1024) *(-1)))}

Ungetestet aber so in etwa sollte es gehen ;)

Grüße
Andreas

CoolTux

Ich würde es noch einfacher machen.
Mache ein userreadings welches bei 1024 ein dry liefert und ab einem bestimmten Wert unter 1024 ein rain. Das kann ASC verarbeiten. Du kannst auch

> 1000 dry
< 1000 rain

machen.
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

xerion

Hi Andreas und Marko,

beide Variante funktionieren. Besten Dank ich teste mal was mir am besten passt.

Gruß
Frank
Wechsel jetzt zu Octopus Energy und bekomme 150,00 € Bonus auf deine Rechnung. Die Anmeldung geht super leicht und schnell, klicke dafür einfach meinen persönlichen Empfehlungslink:
 https://share.octopusenergy.de/loved-heron-220.

gestein

Hallo,

wahrscheinlich wurde das schon des öfteren gefragt: Aber wann wird ein Rollo von "manueller Fahrt" auf "auto" umgestellt?
Der Rollo in meiner Küche wird nicht gefahren.

In der "ASC Configuration and Information Summary" wird der Rollo wie folgt gezeigt (ASC version: v0.8.27):
Shutters Next DriveUp Next DriveDown ASC Up ASC Down ASC Mode Up ASC Mode Down Partymode Lock-Out Last Drive Position Last Position Shading Info
Rollo.WZ.Kueche 8.05.2020 - 06:00:01 7.05.2020 - 23:30:01 time time always none on off manual 0 0 in - 14:56:03


Das list des Rollo.WZ.Kueche ergibt:
Internals:
   ADDRESS    12345F
   DEF        12345F A8 03FC
   FUUID      5c43b914-f33f-0b7a-c764-ed8e2dee913952f4
   FVERSION   10_SOMFY.pm:v1.0.0-s21792/2020-04-28
   IODev      mySIGNALduino
   NAME       Rollo.WZ.Kueche
   NR         487
   STATE      open
   TYPE       SOMFY
   move       stop
   CODE:
     1          12345F
   READINGS:
     2020-01-04 22:48:18   ASC_Enable      on
     2020-05-06 07:26:53   ASC_ShuttersLastDrive manual
     2020-05-07 06:00:01   ASC_Time_DriveDown  7.05.2020 - 23:30
     2020-05-07 06:00:01   ASC_Time_DriveUp  8.05.2020 - 06:00
     2020-05-05 17:29:45   associatedWith  myASControl
     2020-05-06 07:26:49   enc_key         A8
     2020-05-06 07:26:53   exact           0
     2020-05-07 06:00:01   myBrightness    1799
     2020-05-07 06:00:01   myBrightnessForShadingCloudy 22000
     2020-05-07 06:00:01   myBrightnessForShadingSunny 55000
     2020-05-07 06:00:01   myShadingPASS_GreaterBrightnessSunny False
     2020-05-07 06:00:01   myShadingPASS_GreaterSunAzimuthLeft False
     2020-05-07 06:00:01   myShadingPASS_GreaterSunElevationMin False
     2020-05-07 06:00:01   myShadingPASS_GreaterTemperatureExternMin False
     2020-05-07 06:00:01   myShadingPASS_LowerBrightnessCloudy False
     2020-05-07 06:00:01   myShadingPASS_LowerSunAzimuthRight True
     2020-05-07 06:00:01   myShadingPASS_LowerSunElevationMax True
     2020-05-07 06:00:01   mySunAzimuth    67.82
     2020-05-07 06:00:01   mySunAzimuthLeft 223
     2020-05-07 06:00:01   mySunAzimuthRight 360
     2020-05-07 06:00:01   mySunElevation  4.34
     2020-05-07 06:00:01   mySunElevationForShadingMax 90
     2020-05-07 06:00:01   mySunElevationForShadingMin 5
     2020-05-07 06:00:01   myTemperatureExtern 10.9
     2020-05-07 06:00:01   myTemperatureExternForShadingMin 18
     2020-05-06 07:26:53   position        0
     2020-05-06 07:26:49   rolling_code    03FC
     2020-05-06 07:26:53   state           open
   helper:
     bm:
       SOMFY_Attr:
         cnt        2
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        05.05. 17:56:06
         max        0.000120878219604492
         tot        0.000138998031616211
         mAr:
           set
           Rollo.WZ.Kueche
           ASC_Shading_StateChange_SunnyCloudy
           55000:22000
       SOMFY_Set:
         cnt        495
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        05.05. 17:58:50
         max        0.208286046981812
         tot        6.25742983818054
         mAr:
           HASH(0x4c11218)
           Rollo.WZ.Kueche
           off
Attributes:
   ASC        1
   ASC_BrightnessSensor TW.Helligkeit
   ASC_Closed_Pos 200
   ASC_Down   time
   ASC_Drive_DelayStart 20
   ASC_Mode_Down none
   ASC_Partymode on
   ASC_Pos_Reading position
   ASC_Shading_InOutAzimuth 223:360
   ASC_Shading_MinMax_Elevation 5:90
   ASC_Shading_Min_OutsideTemperature 18
   ASC_Shading_Mode always
   ASC_Shading_Pos { my $myPos=92
   ASC_Shading_StateChange_SunnyCloudy 55000:22000
   ASC_Shading_WaitingPeriod 300
   ASC_ShuttersPlace terrace
   ASC_Sleep_Pos 95
   ASC_TempSensor OZW772:Aussentemperatur
   ASC_Time_Down_Early 23:30
   ASC_Time_Up_Early 6:00
   ASC_Up     time
   ASC_Ventilate_Window_Open off
   ASC_WindProtection on
   ASC_WindowRec WZ.FensterKueche
   ASC_WindowRec_subType twostate
   IODev      mySIGNALduino
   autoStoreRollingCode 1
   devStateIcon open:fts_shutter_10 down:fts_shutter_100 100:fts_shutter_100 9\d.*:fts_shutter_90 8\d.*:fts_shutter_80 7\d.*:fts_shutter_70 6\d.*:fts_shutter_60 5\d.*:fts_shutter_50 4\d.*:fts_shutter_40 3\d.*:fts_shutter_30 2\d.*:fts_shutter_20 1\d.*:fts_shutter_10 0\d.*:fts_shutter_10 closed:fts_shutter_100@black 200:fts_shutter_100@black 19\d.*:fts_shutter_90@black 18\d.*:fts_shutter_80@black 17\d.*:fts_shutter_70@black 16\d.*:fts_shutter_60@black 15\d.*:fts_shutter_50@black 14\d.*:fts_shutter_40@black 13\d.*:fts_shutter_30@black 12\d.*:fts_shutter_20@black 11\d.*:fts_shutter_10@black
   drive-down-time-to-100 15
   drive-down-time-to-close 35
   drive-up-time-to-100 12
   drive-up-time-to-open 30
   eventMap   on:runter stop:stop go-my:my off:rauf
   fhem_widget_channels [{"filter":"public","alias":"Rollo\nKüche","allowed_values":["0","20","40","60","80","100"],"order":206,"locations":["SIRI","APP","WIDGET"],"group":"Rollos","controlled_attribute":"position"}]
   genericDeviceType blind
   group      Rolladenstatus
   homebridgeMapping clear CurrentPosition=position,minValue=0,maxValue=100,minStep=10 TargetPosition=position,minValue=0,maxValue=100,minStep=10,cmds=0:close;;50:my;;100:open
   model      somfyshutter
   positionInverse 0
   room       Homekit,Rollos,SOMFY,Wohnzimmer,Z_System->fhemwidget2
   siriName   Rollo
   userReadings myBrightness {ascAPIget('BrightnessAverage',$NAME)},
myBrightnessForShadingCloudy {ascAPIget('ShadingStateChangeCloudy',$NAME)},
myBrightnessForShadingSunny {ascAPIget('ShadingStateChangeSunny',$NAME)},
myTemperatureExtern {ascAPIget('OutTemp',$NAME)},
myTemperatureExternForShadingMin {AttrVal("$NAME", "ASC_Shading_Min_OutsideTemperature","")},
mySunAzimuth {ascAPIget('Azimuth')},
mySunAzimuthLeft {ascAPIget('ShadingAzimuthLeft',$NAME)},
mySunAzimuthRight {ascAPIget('ShadingAzimuthRight',$NAME)},
mySunElevation {ascAPIget('Elevation')},
mySunElevationForShadingMin {ascAPIget('ShadingMinElevation',$NAME)},
mySunElevationForShadingMax {ascAPIget('ShadingMaxElevation',$NAME)},
myShadingPASS_GreaterBrightnessSunny {if (ReadingsNum("$NAME","myBrightness",0) > ReadingsNum("$NAME","myBrightnessForShadingSunny",0)) {"True"} else {"False"}},
myShadingPASS_LowerBrightnessCloudy {if (ReadingsNum("$NAME","myBrightness",0) > ReadingsNum("$NAME","myBrightnessForShadingCloudy",0)) {"True"} else {"False"}},
myShadingPASS_GreaterSunAzimuthLeft {if (ReadingsNum("$NAME","mySunAzimuth",0) > ReadingsNum("$NAME","mySunAzimuthLeft",0)) {"True"} else {"False"}},
myShadingPASS_LowerSunAzimuthRight {if (ReadingsNum("$NAME","mySunAzimuth",0) < ReadingsNum("$NAME","mySunAzimuthRight",0)) {"True"} else {"False"}},
myShadingPASS_GreaterSunElevationMin {if (ReadingsNum("$NAME","mySunElevation",0) > ReadingsNum("$NAME","mySunElevationForShadingMin",0)) {"True"} else {"False"}},
myShadingPASS_LowerSunElevationMax {if (ReadingsNum("$NAME","mySunElevation",0) < ReadingsNum("$NAME","mySunElevationForShadingMax",0)) {"True"} else {"False"}},
myShadingPASS_GreaterTemperatureExternMin {if (ReadingsNum("$NAME","myTemperatureExtern",0) > ReadingsNum("$NAME","myTemperatureExternForShadingMin",0)) {"True"} else {"False"}}

   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 room_map structexclude
   verbose    0
   webCmd     stop:my:runter:20:40:60:80:100:rauf


Oder mache ich etwas falsch?
Danke, lg, Gerhard

CoolTux

Das Rollo würde wohl 7:26:53 manuell auf 0 gefahren. Passt das?
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

gestein

Naja, um ehrlich zu sein, weiß ich das nicht.
Meine Frau sagt nein, ich habe es nicht gemacht.
Und die automatischen Fahrten "runter in der Nacht" habe ich abgeschalten.

Kann es sein, dass ASC durcheinander kommt, weil ich die automatischen Fahrten in der Nacht mittels "ASC Mode Down"=none abgeschaltet habe?

Ich bin mal alle logs der letzten Tage und am 5.5. um 17:57:01 war der Rollo das letzte Mal in dem Status "Das Rollo ist in der Beschattung und wurde manuell gefahren: NEIN":
ASC_DEBUG!!! 2020.05. 5 17:57:01 - ShadingProcessing: Rollo.WZ.Kueche - Übergebende Werte - Azimuth:271.5, Elevation: 22.41, Brightness: 30358, OutTemp: 17.9, Azimut Beschattung: 223, Azimut Endschattung: 360, Ist es nach der Zeitblockadezeit: JA, Das Rollo ist in der Beschattung und wurde manuell gefahren: NEIN, Ist es nach der Hälfte der Beschattungswartezeit: JA
ASC_DEBUG!!! 2020.05. 5 17:58:54 - ShadingProcessing: Rollo.WZ.Kueche - Übergebende Werte - Azimuth:272.42, Elevation: 21.58, Brightness: 30358, OutTemp: 17.9, Azimut Beschattung: 223, Azimut Endschattung: 360, Ist es nach der Zeitblockadezeit: NEIN, Das Rollo ist in der Beschattung und wurde manuell gefahren: JA, Ist es nach der Hälfte der Beschattungswartezeit: JA

Da kann es sein, dass der Rollo manuell bewegt wurde.

Eigenartig.
Vielleicht hilft ein Shutdown?

lg, Gerhard

CoolTux

Gar nicht gesehen. none ist kein zugelassener Wert für Mode_Down. Schau bitte in die Liste. Du kannst off verwenden.

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