Verwaltung HmIP-BBL über node-red-contrib-sun-position

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

Antworten
cc_
Beiträge: 6
Registriert: 27.12.2020, 09:27
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 5 Mal

Verwaltung HmIP-BBL über node-red-contrib-sun-position

Beitrag von cc_ » 01.03.2021, 15:04

Hallo zusammen,

ich möchte meinen Homematic Aktor HmIP-BBL (Raffstore) über das blind-control node aus der node-red-contrib-sun-position Bibliothek verwalten.
Die Raffstores sollen, je nach Position der Sonne und des Eintritts der Sonnenstrahlen in das Fenster, geschlossen/geöffnet werden und zusätzlich die Lamellen unterschiedlich eingestellt sein.

Für mein Ziel habe ich die Option restrict sunlight versucht zu verwenden, dieser gibt aber nur eine Zahl als msg.payload aus. Gerne möchte ich über den Parameter COMBINED_PARAMETER innerhalb des ccu value nodes die Behanghöhne und Lamellenwinkel gleichzeitig ansteuern.

Gibt es eine einfache Möglichkeit den msg.payload Output der restrict sunlight Option mit "L=$1,L2=$2" (L=Behanghöhe, L2=Lamellenwinkel) zu überschreiben, damit ich den COMBINED_PARAMETER des HmIP-BBL der ccu value node verwenden kann?

Im Folgenden findet ihr mein Code-Beispiel des blind-control nodes.

Code: Alles auswählen

[{"id":"cd939071.3c1928","type":"blind-control","z":"cf3011ef.e0a47","name":"BN_GeneralControl","topic":"L=100,L2=100","positionConfig":"4a3a78f7.65d988","outputs":"1","autoTrigger":true,"autoTriggerTime":3600000,"startDelayTime":"5000","storeName":"","blindIncrement":"1","blindOpenPos":"100","blindClosedPos":0,"blindPosReverse":false,"blindPosDefault":"open (max)","blindPosDefaultType":"levelFixed","overwriteExpire":"","rules":[{"index":0,"name":"Sonnenaufgang Begin","isValid":false,"valid":{},"timeValue":"sunriseStart","timeType":"pdsTime","timeOp":0,"timeOpText":"↥ bis","offsetValue":"","offsetType":"none","multiplier":60000,"timeDays":"*","timeMonths":"*","timeOnlyEvenDays":false,"timeOnlyOddDays":false,"timeDateStart":"","timeDateEnd":"","timeMinValue":"","timeMinType":"none","offsetMinValue":"","offsetMinType":"none","multiplierMin":60000,"timeMaxValue":"","timeMaxType":"none","offsetMaxValue":"","offsetMaxType":"none","multiplierMax":60000,"levelValue":"closed (min)","levelType":"levelFixed","levelOp":0,"levelOpText":"↕ Absolut","topic":"L=0,L2=0","importance":0,"resetOverwrite":true,"validOperandAValue":"","validOperandAType":"none","validOperator":"true","validOperatorText":"ist true","validOperandBValue":"","validOperandBType":"num","valid2LogOperator":0,"valid2LogOperatorText":"N/A","valid2OperandAValue":"","valid2OperandAType":"msg","valid2Operator":"true","valid2OperatorText":"ist true","valid2OperandBValue":"","valid2OperandBType":"num","description":"<div><i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i> ↥ bis <var>Sonnenaufgang Begin</var></div><div>↕ Absolut <var>geschlossen (min)</var><div class=\"indent-topic-text\"> <span>Topic:</span> <var>L=0,L2=0</var></div><div class=\"indent-resetOverwrite-text\"> <span>manuelle Überschreibung verfällt wenn die Regel aktiv wird</span> </div></div>"},{"index":1,"name":"Sonnenuntergang Ende","isValid":false,"valid":{},"timeValue":"sunsetEnd","timeType":"pdsTime","timeOp":1,"timeOpText":"↧ von","offsetValue":"","offsetType":"none","multiplier":60000,"timeDays":"*","timeMonths":"*","timeOnlyEvenDays":false,"timeOnlyOddDays":false,"timeDateStart":"","timeDateEnd":"","timeMinValue":"","timeMinType":"none","offsetMinValue":"","offsetMinType":"none","multiplierMin":60000,"timeMaxValue":"","timeMaxType":"none","offsetMaxValue":"","offsetMaxType":"none","multiplierMax":60000,"levelValue":"closed (min)","levelType":"levelFixed","levelOp":0,"levelOpText":"↕ Absolut","topic":"L=0,L2=0","importance":0,"resetOverwrite":true,"validOperandAValue":"","validOperandAType":"none","validOperator":"true","validOperatorText":"ist true","validOperandBValue":"","validOperandBType":"num","valid2LogOperator":0,"valid2LogOperatorText":"N/A","valid2OperandAValue":"","valid2OperandAType":"msg","valid2Operator":"true","valid2OperatorText":"ist true","valid2OperandBValue":"","valid2OperandBType":"num","description":"<div><i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i> ↧ von <var>Sonnenuntergang Ende</var></div><div>↕ Absolut <var>geschlossen (min)</var><div class=\"indent-topic-text\"> <span>Topic:</span> <var>L=0,L2=0</var></div><div class=\"indent-resetOverwrite-text\"> <span>manuelle Überschreibung verfällt wenn die Regel aktiv wird</span> </div></div>"}],"sunControlMode":"2","sunFloorLength":"50","sunMinAltitude":"","sunMinDelta":"","blindPosMin":"closed (min)","blindPosMinType":"levelFixed","blindPosMax":"open (max)","blindPosMaxType":"levelFixed","smoothTime":"","sunTopic":"","windowTop":"223","windowBottom":"10","windowAzimuthStart":"75","windowAzimuthEnd":"180","oversteerValue":"","oversteerValueType":"none","oversteerCompare":"true","oversteerThreshold":"","oversteerThresholdType":"num","oversteerBlindPos":"open (max)","oversteerBlindPosType":"levelFixed","oversteer2Value":"","oversteer2ValueType":"none","oversteer2Compare":"gte","oversteer2Threshold":"","oversteer2ThresholdType":"num","oversteer2BlindPos":"open (max)","oversteer2BlindPosType":"levelFixed","oversteer3Value":"","oversteer3ValueType":"none","oversteer3Compare":"gte","oversteer3Threshold":"","oversteer3ThresholdType":"num","oversteer3BlindPos":"open (max)","oversteer3BlindPosType":"levelFixed","oversteerTopic":"","x":670,"y":500,"wires":[["20b665e6.d89ee2","80ee5bef.77f588"]]},{"id":"4a3a78f7.65d988","type":"position-config","name":"W1Home","isValide":"true","longitude":"0","latitude":"0","angleType":"deg","timeZoneOffset":99,"timeZoneDST":0,"stateTimeFormat":"3","stateDateFormat":"12"}]
Ich habe die Frage auch schon innerhalb der Diskussionen auf github gestellt:
https://github.com/rdmtc/node-red-contr ... ssions/246

cityofsilence
Beiträge: 269
Registriert: 14.11.2018, 20:43
System: CCU
Wohnort: Bayern
Hat sich bedankt: 14 Mal
Danksagung erhalten: 17 Mal

Re: Verwaltung HmIP-BBL über node-red-contrib-sun-position

Beitrag von cityofsilence » 02.03.2021, 08:53

Hallo,

meine Lösung ist nicht schön aber sie funktioniert halbwegs so wie ich möchte.

Code: Alles auswählen

[
    {
        "id": "a1cfc1be.bc8fa",
        "type": "blind-control",
        "z": "446ba44f.5fd40c",
        "name": "WZ Süd Behang",
        "topic": "Behang",
        "positionConfig": "508efd11.e140c4",
        "outputs": 1,
        "autoTrigger": true,
        "autoTriggerTime": 3600000,
        "startDelayTime": "3000",
        "storeName": "",
        "blindIncrement": "1",
        "blindOpenPos": "100",
        "blindClosedPos": 0,
        "blindPosReverse": false,
        "blindPosDefault": "open (max)",
        "blindPosDefaultType": "levelFixed",
        "overwriteExpire": "7200000",
        "rules": [
            {
                "index": 0,
                "name": "Tür auf",
                "isValid": false,
                "valid": {},
                "timeValue": "",
                "timeType": "none",
                "timeOp": 0,
                "timeOpText": "↥ bis",
                "offsetValue": "",
                "offsetType": "none",
                "multiplier": 60000,
                "timeDays": "*",
                "timeMonths": "*",
                "timeOnlyEvenDays": false,
                "timeOnlyOddDays": false,
                "timeDateStart": "",
                "timeDateEnd": "",
                "timeMinValue": "",
                "timeMinType": "none",
                "offsetMinValue": "",
                "offsetMinType": "none",
                "multiplierMin": 60000,
                "timeMaxValue": "",
                "timeMaxType": "none",
                "offsetMaxValue": "",
                "offsetMaxType": "none",
                "multiplierMax": 60000,
                "levelValue": "60",
                "levelType": "num",
                "levelOp": 1,
                "levelOpText": "⭳❗  Minimum (übersteuernd)",
                "topic": "L=70,L2=40",
                "importance": 0,
                "resetOverwrite": true,
                "validOperandAValue": "payload",
                "validOperandAType": "msg",
                "validOperator": "true",
                "validOperatorText": "ist true",
                "validOperandBValue": "",
                "validOperandBType": "num",
                "valid2LogOperator": 0,
                "valid2LogOperatorText": "N/A",
                "valid2OperandAValue": "",
                "valid2OperandAType": "msg",
                "valid2Operator": "true",
                "valid2OperatorText": "ist true",
                "valid2OperandBValue": "",
                "valid2OperandBType": "num",
                "description": "<div><i class=\"fa fa-code-fork\" aria-hidden=\"true\"></i> <var>msg.payload</var> ist true</div><div>⭳❗  Minimum (übersteuernd) <var>60</var></div>",
                "timeMinOp": 0,
                "timeMaxOp": 0
            },
            {
                "index": 1,
                "name": "Morgen 1",
                "isValid": false,
                "valid": {},
                "timeValue": "04:45",
                "timeType": "entered",
                "timeOp": 1,
                "timeOpText": "↧ von",
                "offsetValue": "",
                "offsetType": "none",
                "multiplier": 60000,
                "timeDays": "*",
                "timeMonths": "*",
                "timeOnlyEvenDays": false,
                "timeOnlyOddDays": false,
                "timeDateStart": "",
                "timeDateEnd": "",
                "timeMinValue": "",
                "timeMinType": "none",
                "offsetMinValue": "",
                "offsetMinType": "none",
                "multiplierMin": 60000,
                "timeMaxValue": "",
                "timeMaxType": "none",
                "offsetMaxValue": "",
                "offsetMaxType": "none",
                "multiplierMax": 60000,
                "levelValue": "60",
                "levelType": "num",
                "levelOp": 0,
                "levelOpText": "↕  Absolut",
                "topic": "L=60,L2=0",
                "importance": 0,
                "resetOverwrite": false,
                "validOperandAValue": "",
                "validOperandAType": "none",
                "validOperator": "true",
                "validOperatorText": "ist true",
                "validOperandBValue": "",
                "validOperandBType": "num",
                "valid2LogOperator": 0,
                "valid2LogOperatorText": "N/A",
                "valid2OperandAValue": "",
                "valid2OperandAType": "msg",
                "valid2Operator": "true",
                "valid2OperatorText": "ist true",
                "valid2OperandBValue": "",
                "valid2OperandBType": "num",
                "description": "<div><i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i> ↧ von <var>04:45</var></div><div>↕  Absolut <var>60</var><div class=\"indent-topic-text\"> <span>Topic:</span> <var>L=60,L2=0</var></div></div>",
                "timeMinOp": 0,
                "timeMaxOp": 0
            },
            {
                "index": 2,
                "name": "Sonnenaufgang ",
                "isValid": false,
                "valid": {},
                "timeValue": "civilDawn",
                "timeType": "pdsTime",
                "timeOp": 1,
                "timeOpText": "↧ von",
                "offsetValue": "",
                "offsetType": "none",
                "multiplier": 60000,
                "timeDays": "*",
                "timeMonths": "*",
                "timeOnlyEvenDays": false,
                "timeOnlyOddDays": false,
                "timeDateStart": "",
                "timeDateEnd": "",
                "timeMinValue": "05:50",
                "timeMinType": "entered",
                "offsetMinValue": "",
                "offsetMinType": "none",
                "multiplierMin": 60000,
                "timeMaxValue": "06:30",
                "timeMaxType": "entered",
                "offsetMaxValue": "",
                "offsetMaxType": "none",
                "multiplierMax": 60000,
                "levelValue": "60",
                "levelType": "num",
                "levelOp": 0,
                "levelOpText": "↕  Absolut",
                "topic": "L=60,L2=40",
                "importance": 0,
                "resetOverwrite": false,
                "validOperandAValue": "",
                "validOperandAType": "none",
                "validOperator": "true",
                "validOperatorText": "ist true",
                "validOperandBValue": "",
                "validOperandBType": "num",
                "valid2LogOperator": 0,
                "valid2LogOperatorText": "N/A",
                "valid2OperandAValue": "",
                "valid2OperandAType": "msg",
                "valid2Operator": "true",
                "valid2OperatorText": "ist true",
                "valid2OperandBValue": "",
                "valid2OperandBType": "num",
                "description": "<div><i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i> ↧ von <var>bürgerliche Morgendämmerung</var><div class=\"indent-time-text\"><i class=\"fa fa-step-backward\" aria-hidden=\"true\"></i> <span>frühestens (min)</span> <var>05:50</var></div><div class=\"indent-time-text\"><i class=\"fa fa-step-forward\" aria-hidden=\"true\"></i> <span>spätestens (max)</span> <var>06:30</var></div></div><div>↕  Absolut <var>60</var><div class=\"indent-topic-text\"> <span>Topic:</span> <var>L=60,L2=40</var></div></div>",
                "timeMinOp": 0,
                "timeMaxOp": 0
            },
            {
                "index": 3,
                "name": "Morgens 7Uhr",
                "isValid": true,
                "valid": {
                    "validTimeReg": true,
                    "validLevel": true,
                    "validOperand1A": true,
                    "validOperand1B": true
                },
                "timeValue": "07:00",
                "timeType": "entered",
                "timeOp": 1,
                "timeOpText": "↧ von",
                "offsetValue": "",
                "offsetType": "none",
                "multiplier": 60000,
                "timeDays": "*",
                "timeMonths": "*",
                "timeOnlyEvenDays": false,
                "timeOnlyOddDays": false,
                "timeDateStart": "",
                "timeDateEnd": "",
                "timeMinValue": "",
                "timeMinType": "none",
                "offsetMinValue": "",
                "offsetMinType": "none",
                "multiplierMin": 60000,
                "timeMaxValue": "",
                "timeMaxType": "none",
                "offsetMaxValue": "",
                "offsetMaxType": "none",
                "multiplierMax": 60000,
                "levelValue": "70",
                "levelType": "num",
                "levelOp": 0,
                "levelOpText": "↕  Absolut",
                "topic": "L=70,L2=70",
                "importance": 0,
                "resetOverwrite": false,
                "validOperandAValue": "WZ-Süd-SonneImFenster",
                "validOperandAType": "global",
                "validOperator": "false",
                "validOperatorText": "ist false",
                "validOperandBValue": "",
                "validOperandBType": "num",
                "valid2LogOperator": 0,
                "valid2LogOperatorText": "N/A",
                "valid2OperandAValue": "",
                "valid2OperandAType": "msg",
                "valid2Operator": "true",
                "valid2OperatorText": "ist true",
                "valid2OperandBValue": "",
                "valid2OperandBType": "num",
                "description": "<div><i class=\"fa fa-code-fork\" aria-hidden=\"true\"></i> <var>global.WZ-Süd-SonneImFenster</var> ist false</div><div><i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i> ↧ von <var>07:00</var></div><div>↕  Absolut <var>70</var><div class=\"indent-topic-text\"> <span>Topic:</span> <var>L=70,L2=70</var></div></div>"
            },
            {
                "index": 4,
                "name": "Sonne im Fenster",
                "isValid": true,
                "valid": {
                    "validTimeReg": true,
                    "validLevel": true,
                    "validOperand1A": true,
                    "validOperand1B": true
                },
                "timeValue": "07:00",
                "timeType": "entered",
                "timeOp": 1,
                "timeOpText": "↧ von",
                "offsetValue": "",
                "offsetType": "none",
                "multiplier": 60000,
                "timeDays": "*",
                "timeMonths": "*",
                "timeOnlyEvenDays": false,
                "timeOnlyOddDays": false,
                "timeDateStart": "",
                "timeDateEnd": "",
                "timeMinValue": "",
                "timeMinType": "none",
                "offsetMinValue": "",
                "offsetMinType": "none",
                "multiplierMin": 60000,
                "timeMaxValue": "",
                "timeMaxType": "none",
                "offsetMaxValue": "",
                "offsetMaxType": "none",
                "multiplierMax": 60000,
                "levelValue": "100",
                "levelType": "num",
                "levelOp": 0,
                "levelOpText": "↕  Absolut",
                "topic": "L=100,L2=100",
                "importance": 0,
                "resetOverwrite": false,
                "validOperandAValue": "WZ-Süd-SonneImFenster",
                "validOperandAType": "global",
                "validOperator": "true",
                "validOperatorText": "ist true",
                "validOperandBValue": "manuellauf",
                "validOperandBType": "str",
                "valid2LogOperator": 0,
                "valid2LogOperatorText": "N/A",
                "valid2OperandAValue": "",
                "valid2OperandAType": "msg",
                "valid2Operator": "true",
                "valid2OperatorText": "ist true",
                "valid2OperandBValue": "",
                "valid2OperandBType": "num",
                "description": "<div><i class=\"fa fa-code-fork\" aria-hidden=\"true\"></i> <var>global.WZ-Süd-SonneImFenster</var> ist true</div><div><i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i> ↧ von <var>07:00</var></div><div>↕  Absolut <var>100</var><div class=\"indent-topic-text\"> <span>Topic:</span> <var>L=100,L2=100</var></div></div>"
            },
            {
                "index": 5,
                "name": "Sonnenuntergang",
                "isValid": false,
                "valid": {},
                "timeValue": "sunsetStart",
                "timeType": "pdsTime",
                "timeOp": 1,
                "timeOpText": "↧ von",
                "offsetValue": "",
                "offsetType": "none",
                "multiplier": 60000,
                "timeDays": "*",
                "timeMonths": "*",
                "timeOnlyEvenDays": false,
                "timeOnlyOddDays": false,
                "timeDateStart": "",
                "timeDateEnd": "",
                "timeMinValue": "",
                "timeMinType": "none",
                "offsetMinValue": "",
                "offsetMinType": "none",
                "multiplierMin": 60000,
                "timeMaxValue": "",
                "timeMaxType": "none",
                "offsetMaxValue": "",
                "offsetMaxType": "none",
                "multiplierMax": 60000,
                "levelValue": "65",
                "levelType": "num",
                "levelOp": 0,
                "levelOpText": "↕  Absolut",
                "topic": "L=65,L2=20",
                "importance": 0,
                "resetOverwrite": false,
                "validOperandAValue": "",
                "validOperandAType": "none",
                "validOperator": "true",
                "validOperatorText": "ist true",
                "validOperandBValue": "",
                "validOperandBType": "num",
                "valid2LogOperator": 0,
                "valid2LogOperatorText": "N/A",
                "valid2OperandAValue": "",
                "valid2OperandAType": "msg",
                "valid2Operator": "true",
                "valid2OperatorText": "ist true",
                "valid2OperandBValue": "",
                "valid2OperandBType": "num",
                "description": "<div><i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i> ↧ von <var>Sonnenuntergang Begin</var></div><div>↕  Absolut <var>65</var><div class=\"indent-topic-text\"> <span>Topic:</span> <var>L=65,L2=20</var></div></div>",
                "timeMinOp": 0,
                "timeMaxOp": 0
            },
            {
                "index": 6,
                "name": "Nachtsteuerung",
                "isValid": false,
                "valid": {},
                "timeValue": "23:00",
                "timeType": "entered",
                "timeOp": 1,
                "timeOpText": "↧ von",
                "offsetValue": "",
                "offsetType": "none",
                "multiplier": 60000,
                "timeDays": "*",
                "timeMonths": "*",
                "timeOnlyEvenDays": false,
                "timeOnlyOddDays": false,
                "timeDateStart": "",
                "timeDateEnd": "",
                "timeMinValue": "",
                "timeMinType": "none",
                "offsetMinValue": "",
                "offsetMinType": "none",
                "multiplierMin": 60000,
                "timeMaxValue": "",
                "timeMaxType": "none",
                "offsetMaxValue": "",
                "offsetMaxType": "none",
                "multiplierMax": 60000,
                "levelValue": "closed (min)",
                "levelType": "levelFixed",
                "levelOp": 0,
                "levelOpText": "↕  Absolut",
                "topic": "L=0,L2=0",
                "importance": 0,
                "resetOverwrite": false,
                "validOperandAValue": "",
                "validOperandAType": "none",
                "validOperator": "true",
                "validOperatorText": "ist true",
                "validOperandBValue": "",
                "validOperandBType": "num",
                "valid2LogOperator": 0,
                "valid2LogOperatorText": "N/A",
                "valid2OperandAValue": "",
                "valid2OperandAType": "msg",
                "valid2Operator": "true",
                "valid2OperatorText": "ist true",
                "valid2OperandBValue": "",
                "valid2OperandBType": "num",
                "description": "<div><i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i> ↧ von <var>23:00</var></div><div>↕  Absolut <var>geschlossen (min)</var><div class=\"indent-topic-text\"> <span>Topic:</span> <var>L=0,L2=0</var></div></div>",
                "timeMinOp": 0,
                "timeMaxOp": 0
            },
            {
                "index": 7,
                "name": "Tür auf - Nacht",
                "isValid": false,
                "valid": {},
                "timeValue": "",
                "timeType": "none",
                "timeOp": 0,
                "timeOpText": "↥ bis",
                "offsetValue": "",
                "offsetType": "none",
                "multiplier": 60000,
                "timeDays": "*",
                "timeMonths": "*",
                "timeOnlyEvenDays": false,
                "timeOnlyOddDays": false,
                "timeDateStart": "",
                "timeDateEnd": "",
                "timeMinValue": "",
                "timeMinType": "none",
                "offsetMinValue": "",
                "offsetMinType": "none",
                "multiplierMin": 60000,
                "timeMaxValue": "",
                "timeMaxType": "none",
                "offsetMaxValue": "",
                "offsetMaxType": "none",
                "multiplierMax": 60000,
                "levelValue": "60",
                "levelType": "num",
                "levelOp": 1,
                "levelOpText": "⭳❗  Minimum (übersteuernd)",
                "topic": "L=70,L2=40",
                "importance": 0,
                "resetOverwrite": true,
                "validOperandAValue": "payload",
                "validOperandAType": "msg",
                "validOperator": "true",
                "validOperatorText": "ist true",
                "validOperandBValue": "",
                "validOperandBType": "num",
                "valid2LogOperator": 0,
                "valid2LogOperatorText": "N/A",
                "valid2OperandAValue": "",
                "valid2OperandAType": "msg",
                "valid2Operator": "true",
                "valid2OperatorText": "ist true",
                "valid2OperandBValue": "",
                "valid2OperandBType": "num",
                "description": "<div><i class=\"fa fa-code-fork\" aria-hidden=\"true\"></i> <var>msg.payload</var> ist true</div><div>⭳❗  Minimum (übersteuernd) <var>60</var></div>",
                "timeMinOp": 0,
                "timeMaxOp": 0
            },
            {
                "index": 8,
                "name": "Nacht-Morgen",
                "isValid": false,
                "valid": {},
                "timeValue": "04:45",
                "timeType": "entered",
                "timeOp": 0,
                "timeOpText": "↥ bis",
                "offsetValue": "",
                "offsetType": "none",
                "multiplier": 60000,
                "timeDays": "*",
                "timeMonths": "*",
                "timeOnlyEvenDays": false,
                "timeOnlyOddDays": false,
                "timeDateStart": "",
                "timeDateEnd": "",
                "timeMinValue": "",
                "timeMinType": "none",
                "offsetMinValue": "",
                "offsetMinType": "none",
                "multiplierMin": 60000,
                "timeMaxValue": "",
                "timeMaxType": "none",
                "offsetMaxValue": "",
                "offsetMaxType": "none",
                "multiplierMax": 60000,
                "levelValue": "closed (min)",
                "levelType": "levelFixed",
                "levelOp": 0,
                "levelOpText": "↕  Absolut",
                "topic": "L=0,L2=0",
                "importance": 0,
                "resetOverwrite": false,
                "validOperandAValue": "",
                "validOperandAType": "none",
                "validOperator": "true",
                "validOperatorText": "ist true",
                "validOperandBValue": "",
                "validOperandBType": "num",
                "valid2LogOperator": 0,
                "valid2LogOperatorText": "N/A",
                "valid2OperandAValue": "",
                "valid2OperandAType": "msg",
                "valid2Operator": "true",
                "valid2OperatorText": "ist true",
                "valid2OperandBValue": "",
                "valid2OperandBType": "num",
                "description": "<div><i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i> ↥ bis <var>04:45</var></div><div>↕  Absolut <var>geschlossen (min)</var><div class=\"indent-topic-text\"> <span>Topic:</span> <var>L=0,L2=0</var></div></div>",
                "timeMinOp": 0,
                "timeMaxOp": 0
            }
        ],
        "sunControlMode": "0",
        "sunFloorLength": "",
        "sunMinAltitude": "",
        "sunMinDelta": "",
        "blindPosMin": "closed (min)",
        "blindPosMinType": "levelFixed",
        "blindPosMax": "open (max)",
        "blindPosMaxType": "levelFixed",
        "smoothTime": "",
        "sunTopic": "",
        "windowTop": "",
        "windowBottom": "",
        "windowAzimuthStart": "0",
        "windowAzimuthEnd": "",
        "oversteerValue": "",
        "oversteerValueType": "none",
        "oversteerCompare": "gte",
        "oversteerThreshold": "",
        "oversteerThresholdType": "num",
        "oversteerBlindPos": "open (max)",
        "oversteerBlindPosType": "levelFixed",
        "oversteer2Value": "",
        "oversteer2ValueType": "none",
        "oversteer2Compare": "gte",
        "oversteer2Threshold": "",
        "oversteer2ThresholdType": "num",
        "oversteer2BlindPos": "open (max)",
        "oversteer2BlindPosType": "levelFixed",
        "oversteer3Value": "",
        "oversteer3ValueType": "none",
        "oversteer3Compare": "gte",
        "oversteer3Threshold": "",
        "oversteer3ThresholdType": "num",
        "oversteer3BlindPos": "open (max)",
        "oversteer3BlindPosType": "levelFixed",
        "oversteerTopic": "",
        "x": 230,
        "y": 40,
        "wires": [
            [
                "cd99553d.f7c92"
            ]
        ]
    },
    {
        "id": "bfa41f08.4dca98",
        "type": "ccu-value",
        "z": "446ba44f.5fd40c",
        "name": "Rollladen WZ Süd",
        "iface": "HmIP-RF",
        "channel": "00135A49A29809:4 HmIP-BBL 00135A49A29809:4",
        "datapoint": "COMBINED_PARAMETER",
        "mode": "",
        "start": true,
        "change": true,
        "cache": true,
        "queue": false,
        "on": 0,
        "onType": "undefined",
        "ramp": 0,
        "rampType": "undefined",
        "working": true,
        "ccuConfig": "38263145.35ea0e",
        "topic": "${CCU}/${Interface}/${channel}/${datapoint}",
        "x": 590,
        "y": 40,
        "wires": [
            []
        ]
    },
    {
        "id": "cd99553d.f7c92",
        "type": "function",
        "z": "446ba44f.5fd40c",
        "name": "",
        "func": "msg.payload = msg.topic;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 420,
        "y": 40,
        "wires": [
            [
                "bfa41f08.4dca98"
            ]
        ]
    },
    {
        "id": "508efd11.e140c4",
        "type": "position-config",
        "name": "Otterloh",
        "isValide": "true",
        "longitude": "0",
        "latitude": "0",
        "angleType": "deg",
        "timeZoneOffset": 99,
        "timeZoneDST": 0,
        "stateTimeFormat": "3",
        "stateDateFormat": "12"
    },
    {
        "id": "38263145.35ea0e",
        "type": "ccu-connection",
        "name": "localhost",
        "host": "localhost",
        "regaEnabled": true,
        "bcrfEnabled": true,
        "iprfEnabled": true,
        "virtEnabled": true,
        "bcwiEnabled": false,
        "cuxdEnabled": true,
        "regaPoll": true,
        "regaInterval": "30",
        "rpcPingTimeout": "60",
        "rpcInitAddress": "127.0.0.1",
        "rpcServerHost": "127.0.0.1",
        "rpcBinPort": "2047",
        "rpcXmlPort": "2048",
        "queueTimeout": "5000",
        "queuePause": "250",
        "contextStore": ""
    }
]
und hier der sun-position Node Flow für die Steuerung.

Code: Alles auswählen



[
    {
        "id": "fa072ee1.c9941",
        "type": "sun-position",
        "z": "446ba44f.5fd40c",
        "name": "Ostseite",
        "positionConfig": "508efd11.e140c4",
        "rules": [
            {
                "valueLow": "112",
                "valueLowType": "num",
                "valueHigh": "160",
                "valueHighType": "num"
            }
        ],
        "onlyOnChange": "true",
        "topic": "",
        "outputs": 2,
        "start": "",
        "startType": "none",
        "startOffset": "",
        "startOffsetType": "none",
        "startOffsetMultiplier": "3600000",
        "end": "",
        "endType": "none",
        "endOffset": 0,
        "endOffsetType": "none",
        "endOffsetMultiplier": 60000,
        "x": 140,
        "y": 4580,
        "wires": [
            [
                "6a0fed24.365c04"
            ],
            []
        ]
    },
    {
        "id": "5aa65e3f.491cd",
        "type": "inject",
        "z": "446ba44f.5fd40c",
        "name": "",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "1800",
        "crontab": "",
        "once": true,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "str",
        "x": 250,
        "y": 4640,
        "wires": [
            [
                "fa072ee1.c9941",
                "e945f004.8899f"
            ]
        ]
    },
    {
        "id": "9e0a4d5.24f3ab",
        "type": "change",
        "z": "446ba44f.5fd40c",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "WZ-Ost-SonneImFenster",
                "pt": "global",
                "to": "true",
                "tot": "bool"
            },
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "true",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 420,
        "y": 4560,
        "wires": [
            [
                "c4e73415.3a0d68"
            ]
        ]
    },
    {
        "id": "c7788def.cba81",
        "type": "change",
        "z": "446ba44f.5fd40c",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "WZ-Ost-SonneImFenster",
                "pt": "global",
                "to": "false",
                "tot": "bool"
            },
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "false",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 420,
        "y": 4600,
        "wires": [
            [
                "f11f35e5.0ffc88"
            ]
        ]
    },
    {
        "id": "c4e73415.3a0d68",
        "type": "change",
        "z": "446ba44f.5fd40c",
        "name": "100% Öffnung Prio 10",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "100",
                "tot": "num"
            },
            {
                "t": "set",
                "p": "priority",
                "pt": "msg",
                "to": "10",
                "tot": "num"
            },
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "levelOverwrite",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 620,
        "y": 4560,
        "wires": [
            [
                "1cdc0653.2b5eba"
            ]
        ]
    },
    {
        "id": "f11f35e5.0ffc88",
        "type": "change",
        "z": "446ba44f.5fd40c",
        "name": "Sonne Ende",
        "rules": [
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "resetOverwrite",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 590,
        "y": 4600,
        "wires": [
            [
                "1cdc0653.2b5eba"
            ]
        ]
    },
    {
        "id": "1cdc0653.2b5eba",
        "type": "link out",
        "z": "446ba44f.5fd40c",
        "name": "SonneImFenster",
        "links": [
            "c7a4b519.d22e1",
            "49cef930.1b2988"
        ],
        "x": 715,
        "y": 4600,
        "wires": []
    },
    {
        "id": "e945f004.8899f",
        "type": "sun-position",
        "z": "446ba44f.5fd40c",
        "name": "Südseite",
        "positionConfig": "508efd11.e140c4",
        "rules": [
            {
                "valueLow": "138",
                "valueLowType": "num",
                "valueHigh": "240",
                "valueHighType": "num"
            }
        ],
        "onlyOnChange": "true",
        "topic": "",
        "outputs": 2,
        "start": "",
        "startType": "none",
        "startOffset": "",
        "startOffsetType": "none",
        "startOffsetMultiplier": "3600000",
        "end": "",
        "endType": "none",
        "endOffset": 0,
        "endOffsetType": "none",
        "endOffsetMultiplier": 60000,
        "x": 140,
        "y": 4680,
        "wires": [
            [
                "7c146375.352864"
            ],
            []
        ]
    },
    {
        "id": "31b6983d.768058",
        "type": "change",
        "z": "446ba44f.5fd40c",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "WZ-Süd-SonneImFenster",
                "pt": "global",
                "to": "true",
                "tot": "bool"
            },
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "true",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 440,
        "y": 4660,
        "wires": [
            [
                "464e7e92.adfec"
            ]
        ]
    },
    {
        "id": "3f02c760.4a4e38",
        "type": "change",
        "z": "446ba44f.5fd40c",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "WZ-Süd-SonneImFenster",
                "pt": "global",
                "to": "false",
                "tot": "bool"
            },
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "false",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 440,
        "y": 4700,
        "wires": [
            [
                "a041ae7.873b15"
            ]
        ]
    },
    {
        "id": "464e7e92.adfec",
        "type": "change",
        "z": "446ba44f.5fd40c",
        "name": "100% Öffnung Prio 10",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "100",
                "tot": "num"
            },
            {
                "t": "set",
                "p": "priority",
                "pt": "msg",
                "to": "10",
                "tot": "num"
            },
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "levelOverwrite",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 640,
        "y": 4660,
        "wires": [
            [
                "4ee82c05.f5f474"
            ]
        ]
    },
    {
        "id": "a041ae7.873b15",
        "type": "change",
        "z": "446ba44f.5fd40c",
        "name": "Sonne Ende",
        "rules": [
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "resetOverwrite",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 610,
        "y": 4700,
        "wires": [
            [
                "4ee82c05.f5f474"
            ]
        ]
    },
    {
        "id": "4ee82c05.f5f474",
        "type": "link out",
        "z": "446ba44f.5fd40c",
        "name": "SonneImFenster-Süd",
        "links": [],
        "x": 735,
        "y": 4700,
        "wires": []
    },
    {
        "id": "7c146375.352864",
        "type": "switch",
        "z": "446ba44f.5fd40c",
        "name": "",
        "property": "payload.azimuthDegrees",
        "propertyType": "msg",
        "rules": [
            {
                "t": "btwn",
                "v": "138.0",
                "vt": "num",
                "v2": "240.0",
                "v2t": "num"
            },
            {
                "t": "else"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 270,
        "y": 4680,
        "wires": [
            [
                "31b6983d.768058"
            ],
            [
                "3f02c760.4a4e38"
            ]
        ]
    },
    {
        "id": "6a0fed24.365c04",
        "type": "switch",
        "z": "446ba44f.5fd40c",
        "name": "",
        "property": "payload.azimuthDegrees",
        "propertyType": "msg",
        "rules": [
            {
                "t": "btwn",
                "v": "112.0",
                "vt": "num",
                "v2": "160.0",
                "v2t": "num"
            },
            {
                "t": "else"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 270,
        "y": 4580,
        "wires": [
            [
                "9e0a4d5.24f3ab"
            ],
            [
                "c7788def.cba81"
            ]
        ]
    },
    {
        "id": "508efd11.e140c4",
        "type": "position-config",
        "name": "Otterloh",
        "isValide": "true",
        "longitude": "0",
        "latitude": "0",
        "angleType": "deg",
        "timeZoneOffset": 99,
        "timeZoneDST": 0,
        "stateTimeFormat": "3",
        "stateDateFormat": "12"
    }
]

Wie schon oben erwähnt nicht schön aber selten :lol:
Um zu verstehen wie ich das mit den Lamellen mache musst du die Blind-Node öffnen und da die Rules ansehen.

Hoffe ich konnte etwas weiter helfen
Gruß André

Hypnos
Beiträge: 460
Registriert: 06.01.2018, 12:48
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 57 Mal
Danksagung erhalten: 39 Mal

Re: Verwaltung HmIP-BBL über node-red-contrib-sun-position

Beitrag von Hypnos » 05.03.2021, 16:52

Ich hab im Github mal ein Feature Request geöffnet um das zukünftig besser zu unterstützen.

cityofsilence
Beiträge: 269
Registriert: 14.11.2018, 20:43
System: CCU
Wohnort: Bayern
Hat sich bedankt: 14 Mal
Danksagung erhalten: 17 Mal

Re: Verwaltung HmIP-BBL über node-red-contrib-sun-position

Beitrag von cityofsilence » 05.03.2021, 18:17

Merci und vielen herzlichen Dank 👍
Gruß André

coldtech
Beiträge: 14
Registriert: 25.05.2021, 10:22
System: CCU
Hat sich bedankt: 2 Mal

Re: Verwaltung HmIP-BBL über node-red-contrib-sun-position

Beitrag von coldtech » 25.05.2021, 10:29

Ich hätte zu dem Thema eine ganz blöde (Anfänger-)Frage: ich habe ebenfalls Raffstores, bei mir funktioniert das Einstellen der Lamellen aber nur schlecht. Soll heißen, eine definierte Lamellenposition erreiche ich nur, wenn ich die Raffstores vorher zum Beispiel komplett herunterfahre. Setze ich dann die Lamellenposition zum beispiel auf 50%, stimmt das Ergebnis ungefähr. Gehe ich dann aber hin und setze die Position auf 80%, passt das Ergebnis nicht. Nur wenn ich zum Beispiel nochmal kurz ein Stück hoch- und wieder runterfahre, passt danach die Lamellenposition. Das funktioniert so weit als Umgehungslösung, ist aber nervig, weil die Raffstores dann natürlich viel öfter hoch- und runterfahren als nötig, anstatt einfach nur die Lamellenposition zu ändern.
Das Einstellen der Raffstores habe ich über die automatische Erkennung gemacht und danach noch versucht etwas nachzujustieren.

Ich vermute, dass da irgendetwas nicht korrekt eingestellt ist. H at jemand eine Idee? Muss ich eventuell die Motoren nochmal separat auf Start- und Endposition anlernen, oder ist das genau das was die automatische Erkennungsfahrt in der CCU macht?

cc_
Beiträge: 6
Registriert: 27.12.2020, 09:27
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 5 Mal

Re: Verwaltung HmIP-BBL über node-red-contrib-sun-position

Beitrag von cc_ » 25.05.2021, 11:01

Die Kalibrierfahrt errechnet nur die Fahrtzeit nach oben und unten - ist quasi nur für die Behanghöhe verantwortlich.

Die Lamellenkonfiguration stellst Du über die Lamellenverstellzeit individuell in Deinem Aktor ein.

Ich habe sie für meine Raffstores zum Beispiel auf 1 Sekunde gestellt.

coldtech
Beiträge: 14
Registriert: 25.05.2021, 10:22
System: CCU
Hat sich bedankt: 2 Mal

Re: Verwaltung HmIP-BBL über node-red-contrib-sun-position

Beitrag von coldtech » 25.05.2021, 13:26

OK, dann hatte ich das ursprünglich richtig verstanden.

Bisher habe ich noch keine Lösung für mein Problem. Führe ich zum Beispiel ein kleines Programm mehrmals hintereinander aus, was einfach nur eine Behangposition von 0% und eine Lamellenposition von 50% einstellen soll, kommt bei jeder Ausführung eine andere Lamellenposition heraus. Erst wenn ich zwischen den Ausführungen den Raffstore ein ganzes Stück wieder hoch fahre, ist die Lamellenposition jedes Mal gleich.

Antworten

Zurück zu „RedMatic“