Einbindung Mitsubishi-Klimaanlage (MEL)

Danke, sehr nett von dir.

So… hier mein Flow:

[{"id":"e63763f3.ab34e","type":"tab","label":"Klimanlage (9060)","disabled":false,"info":""},{"id":"466db18f.ec175","type":"mqtt in","z":"e63763f3.ab34e","name":"Room Temperature","topic":"melcloud/roomTemp","qos":"0","datatype":"auto","broker":"9ec0115c.8f7488","nl":false,"rap":true,"rh":0,"x":330,"y":60,"wires":[["d6b70988.89fa48"]]},{"id":"7a0cb5dd.3a4c1c","type":"mqtt in","z":"e63763f3.ab34e","name":"Actual Fan Speed","topic":"melcloud/actualFanSpeed","qos":"0","datatype":"auto","broker":"9ec0115c.8f7488","nl":false,"rap":true,"rh":0,"x":330,"y":120,"wires":[["d6e6e036.3aa498"]]},{"id":"31c08167.db904e","type":"mqtt in","z":"e63763f3.ab34e","name":"Connection","topic":"melcloud/deviceOnline","qos":"0","datatype":"auto","broker":"9ec0115c.8f7488","nl":false,"rap":true,"rh":0,"x":310,"y":180,"wires":[["2c48be3f.f177a2"]]},{"id":"af6786b.8561278","type":"mqtt in","z":"e63763f3.ab34e","name":"Name","topic":"melcloud/deviceName","qos":"2","datatype":"auto","broker":"9ec0115c.8f7488","nl":false,"rap":true,"rh":0,"x":290,"y":240,"wires":[["5fb51910.00241"]]},{"id":"33333c02.83687c","type":"mqtt in","z":"e63763f3.ab34e","name":"Last Communication","topic":"melcloud/lastCommunication","qos":"2","datatype":"auto","broker":"9ec0115c.8f7488","nl":false,"rap":true,"rh":0,"x":340,"y":300,"wires":[["53752f18.07db08"]]},{"id":"d570cf8d.3e9d3","type":"mqtt in","z":"e63763f3.ab34e","name":"Fan Speed","topic":"melcloud/fanSpeedControl","qos":"0","datatype":"auto","broker":"9ec0115c.8f7488","nl":false,"rap":true,"rh":0,"x":280,"y":500,"wires":[["adab53c4.9013a"]]},{"id":"a80ac5b4.9b4a5","type":"mqtt in","z":"e63763f3.ab34e","name":"Mode","topic":"melcloud/mode","qos":"0","datatype":"auto","broker":"9ec0115c.8f7488","nl":false,"rap":true,"rh":0,"x":270,"y":560,"wires":[["23333608.9e6cd2"]]},{"id":"db5a682e.aca138","type":"mqtt in","z":"e63763f3.ab34e","name":"Power","topic":"melcloud/power","qos":"0","datatype":"auto","broker":"9ec0115c.8f7488","nl":false,"rap":true,"rh":0,"x":270,"y":740,"wires":[[]]},{"id":"21621e99.681b52","type":"mqtt in","z":"e63763f3.ab34e","name":"Traget Temperture","topic":"melcloud/targetTemp","qos":"0","datatype":"auto","broker":"9ec0115c.8f7488","nl":false,"rap":true,"rh":0,"x":310,"y":800,"wires":[[]]},{"id":"6c9225f9.5079ac","type":"mqtt in","z":"e63763f3.ab34e","name":"Vane Horizontal","topic":"melcloud/vaneHorizontalDirection","qos":"0","datatype":"auto","broker":"9ec0115c.8f7488","nl":false,"rap":true,"rh":0,"x":300,"y":620,"wires":[["75fbfe50.a4de"]]},{"id":"52f819d.59f3768","type":"mqtt in","z":"e63763f3.ab34e","name":"Vane Vertical","topic":"melcloud/vaneVerticalDirection","qos":"0","datatype":"auto","broker":"9ec0115c.8f7488","nl":false,"rap":true,"rh":0,"x":290,"y":680,"wires":[["daac1815.e4037"]]},{"id":"94c7d6c0.f037e","type":"comment","z":"e63763f3.ab34e","name":"Status","info":"","x":90,"y":60,"wires":[]},{"id":"6b3ad25d.fd3ae4","type":"comment","z":"e63763f3.ab34e","name":"Rückkanal","info":"","x":100,"y":500,"wires":[]},{"id":"66bcdec0.18a56","type":"homeeDevice","z":"e63763f3.ab34e","virtual-homee":"","name":"Klimaanlage","nodeId":"9060","showNodeId":true,"profile":"1003","icon":"nodeicon_ventilationsystem","attributes":[{"type":1,"state":1,"instance":0,"minimum":0,"maximum":1,"current_value":0,"target_value":0,"last_value":0,"data":"","name":"","unit":"","step_value":1,"editable":1,"last_changed":1619713647,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":9060,"node_id":9060},{"type":2,"state":1,"instance":0,"minimum":1,"maximum":5,"current_value":0,"target_value":0,"last_value":0,"data":"","name":"Modus","unit":"text","step_value":1,"editable":1,"last_changed":1619713870,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":9061,"node_id":9060},{"type":2,"state":1,"instance":1,"minimum":10,"maximum":31,"current_value":0,"target_value":0,"last_value":0,"data":"","name":"Zieltemperatur","unit":"%C2%B0C","step_value":0.5,"editable":1,"last_changed":1619713675,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":9062,"node_id":9060},{"type":2,"state":1,"instance":2,"minimum":0,"maximum":5,"current_value":0,"target_value":0,"last_value":0,"data":"","name":"Lüftergeschwindigkeit","unit":"text","step_value":1,"editable":1,"last_changed":1619713764,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":9063,"node_id":9060},{"type":2,"state":1,"instance":3,"minimum":1,"maximum":8,"current_value":0,"target_value":0,"last_value":0,"data":"","name":"Luftauslass horizontal","unit":"text","step_value":1,"editable":1,"last_changed":1619713944,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":9064,"node_id":9060},{"type":2,"state":1,"instance":4,"minimum":1,"maximum":7,"current_value":0,"target_value":0,"last_value":0,"data":"","name":"Luftauslass vertikal","unit":"text","step_value":1,"editable":1,"last_changed":1619713963,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":9065,"node_id":9060},{"type":5,"state":1,"instance":0,"minimum":-50,"maximum":125,"current_value":0,"target_value":0,"last_value":0,"data":"","name":"Aktuelle Raumtemperatur","unit":"%C2%B0C","step_value":0.5,"editable":0,"last_changed":1619712993,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":9066,"node_id":9060},{"type":5,"state":1,"instance":1,"minimum":0,"maximum":100,"current_value":0,"target_value":0,"last_value":0,"data":"","name":"Aktuelle Lüftergeschwindigkeit","unit":"","step_value":1,"editable":0,"last_changed":1619713080,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":9067,"node_id":9060},{"type":84,"state":1,"instance":0,"minimum":0,"maximum":0,"current_value":0,"target_value":0,"last_value":0,"data":"","name":"Letzter Status","unit":"text","step_value":1,"editable":0,"last_changed":1619713470,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":9068,"node_id":9060},{"type":84,"state":1,"instance":1,"minimum":0,"maximum":0,"current_value":0,"target_value":0,"last_value":0,"data":"","name":"Verbindungsstatus","unit":"text","step_value":1,"editable":0,"last_changed":1619713470,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":9069,"node_id":9060},{"type":84,"state":1,"instance":2,"minimum":0,"maximum":0,"current_value":0,"target_value":0,"last_value":0,"data":"","name":"Name","unit":"text","step_value":1,"editable":0,"last_changed":1619713515,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":9070,"node_id":9060}],"statusTemplate":"","x":850,"y":420,"wires":[["a9d13cad.7f98d8"]]},{"id":"45f5a648.2ec74","type":"function","z":"e63763f3.ab34e","name":"","func":"var nodeid = 673;  // node ID in homee vom Gerät\nvar attributid = 2117; // attribut ID in homee vom Gerät\nvar Modus = msg.payload;\n{return {payload: \"PUT:/nodes/\"+nodeid+\"/attributes/\"+attributid+\"?data=\"+Modus+\"\"}}\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":560,"wires":[["c64e526f.a859b"]]},{"id":"c64e526f.a859b","type":"link out","z":"e63763f3.ab34e","name":"","links":["1f6d5452.168fbc","497bfd12.01344c","37366213.1e7b26"],"x":815,"y":600,"wires":[]},{"id":"cec16db1.b3225","type":"mqtt out","z":"e63763f3.ab34e","name":"Power","topic":"melcloud/power","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9ec0115c.8f7488","x":1390,"y":60,"wires":[]},{"id":"d843e48c.e152e8","type":"mqtt out","z":"e63763f3.ab34e","name":"Mode","topic":"melcloud/mode","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9ec0115c.8f7488","x":1390,"y":120,"wires":[]},{"id":"3d7819c7.7e4d1e","type":"mqtt out","z":"e63763f3.ab34e","name":"Fan Speed","topic":"melcloud/fanSpeedControl","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9ec0115c.8f7488","x":1410,"y":240,"wires":[]},{"id":"ec40c3f9.5fb4d8","type":"mqtt out","z":"e63763f3.ab34e","name":"Target Temperature","topic":"melcloud/targetTemp","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9ec0115c.8f7488","x":1430,"y":180,"wires":[]},{"id":"8bf06040.d53d3","type":"mqtt out","z":"e63763f3.ab34e","name":"Vane horizontal","topic":"melcloud/vaneHorizontalDirection","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9ec0115c.8f7488","x":1420,"y":300,"wires":[]},{"id":"e17dcb66.8810d","type":"mqtt out","z":"e63763f3.ab34e","name":"Vane Vertical","topic":"melcloud/vaneVerticalDirection","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9ec0115c.8f7488","x":1410,"y":360,"wires":[]},{"id":"b94e2da7.2a26c","type":"function","z":"e63763f3.ab34e","name":"mode","func":"var test = msg.payload.targetValue;\nvar test2 = 3;\nfunction sender(){\n    switch (test){\n        \n        case 1: test2= 1;break;\n        case 2: test2= 2;break;\n        case 3: test2= 3;break;\n        case 4: test2= 7;break;\n        case 5: test2= 8;break;\n    }\n}\nif (msg.payload.attributeId=== 9061 ){sender();if (msg.payload.targetValue !=6){\nreturn {payload: test2};}}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1190,"y":120,"wires":[["d843e48c.e152e8"]]},{"id":"12940757.ffeba9","type":"function","z":"e63763f3.ab34e","name":"Vane hor","func":"var test = msg.payload.targetValue;\nvar test2 = 0;\nfunction sender(){\n    switch (test){\n        \n        case 1: test2= 0;break;\n        case 2: test2= 1;break;\n        case 3: test2= 2;break;\n        case 4: test2= 3;break;\n        case 5: test2= 4;break;\n        case 6: test2= 5;break;\n        case 7: test2= 8;break;\n        case 8: test2= 12;break;\n    }\n}\nif (msg.payload.attributeId=== 9064 ){sender();if (msg.payload.targetValue !=9){\nreturn {payload: test2};}}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1200,"y":300,"wires":[["8bf06040.d53d3"]]},{"id":"5ac2eb1b.3c1d0c","type":"function","z":"e63763f3.ab34e","name":"Vane hor","func":"var test = msg.payload.targetValue;\nvar test2 = 0;\nfunction sender(){\n    switch (test){\n        \n        case 1: test2= 0;break;\n        case 2: test2= 1;break;\n        case 3: test2= 2;break;\n        case 4: test2= 3;break;\n        case 5: test2= 4;break;\n        case 6: test2= 5;break;\n        case 7: test2= 7;break;\n    }\n}\nif (msg.payload.attributeId=== 9065 ){sender();if (msg.payload.targetValue !=8){\nreturn {payload: test2};}}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1200,"y":360,"wires":[["e17dcb66.8810d"]]},{"id":"a9d13cad.7f98d8","type":"switch","z":"e63763f3.ab34e","name":"","property":"payload.attributeId","propertyType":"msg","rules":[{"t":"eq","v":"9060","vt":"str"},{"t":"eq","v":"9061","vt":"str"},{"t":"eq","v":"9062","vt":"str"},{"t":"eq","v":"9063","vt":"str"},{"t":"eq","v":"9064","vt":"str"},{"t":"eq","v":"9065","vt":"str"}],"checkall":"true","repair":false,"outputs":6,"x":990,"y":220,"wires":[["aa08f9e.9063f88"],["b94e2da7.2a26c"],["e31d9ff5.8287b"],["b32136b5.0ca5b8"],["12940757.ffeba9"],["5ac2eb1b.3c1d0c"]]},{"id":"aa08f9e.9063f88","type":"function","z":"e63763f3.ab34e","name":"power","func":"if (msg.payload.targetValue === 1){msg.payload.bol =true}else msg.payload.bol=false;  //Power\n{return[{payload:msg.payload.bol}]}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1190,"y":60,"wires":[["cec16db1.b3225"]]},{"id":"e31d9ff5.8287b","type":"function","z":"e63763f3.ab34e","name":"temp","func":"var temp = msg.payload.targetValue;\nreturn {payload: temp};","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1190,"y":180,"wires":[["ec40c3f9.5fb4d8"]]},{"id":"b32136b5.0ca5b8","type":"function","z":"e63763f3.ab34e","name":"fan","func":"var fan = msg.payload.targetValue;\nreturn {payload: fan};","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1190,"y":240,"wires":[["3d7819c7.7e4d1e"]]},{"id":"d6b70988.89fa48","type":"function","z":"e63763f3.ab34e","name":"","func":"node.send({payload:{\"attribute\":{\"id\":9066,\"value\":Number(msg.payload)}}})","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":60,"wires":[["66bcdec0.18a56"]]},{"id":"d6e6e036.3aa498","type":"function","z":"e63763f3.ab34e","name":"","func":"node.send({payload:{\"attribute\":{\"id\":9067,\"value\":Number(msg.payload)}}})","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":120,"wires":[["66bcdec0.18a56"]]},{"id":"5fb51910.00241","type":"function","z":"e63763f3.ab34e","name":"","func":"node.send({payload:{\"attribute\":{\"id\":9070,\"data\":msg.payload}}})","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":240,"wires":[["66bcdec0.18a56"]]},{"id":"70e60444.1c80ac","type":"function","z":"e63763f3.ab34e","name":"f2","func":"node.send({payload:{\"attribute\":{\"id\":9069,\"data\":msg.payload}}})","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":570,"y":180,"wires":[["66bcdec0.18a56"]]},{"id":"53752f18.07db08","type":"function","z":"e63763f3.ab34e","name":"","func":"node.send({payload:{\"attribute\":{\"id\":9068,\"data\":msg.payload}}})","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":300,"wires":[["66bcdec0.18a56"]]},{"id":"2c48be3f.f177a2","type":"function","z":"e63763f3.ab34e","name":"f1","func":"if (msg.payload === \"true\")\n       return {payload:\"verbunden\"};\nif (msg.payload === \"false\")\n       return {payload:\"getrennt\"};","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":450,"y":180,"wires":[["70e60444.1c80ac"]]},{"id":"6a60f351.736154","type":"comment","z":"e63763f3.ab34e","name":"Steuerung","info":"","x":1600,"y":60,"wires":[]},{"id":"23333608.9e6cd2","type":"function","z":"e63763f3.ab34e","name":"function","func":"if (msg.payload === \"1\")\n       return {payload:\"Heat\"};\nif (msg.payload === \"2\")\n       return {payload:\"Dry\"};\nif (msg.payload === \"3\")\n       return {payload:\"Cool\"};\nif (msg.payload === \"4\")\n       return {payload:\"Vent\"};\nif (msg.payload === \"5\")\n       return {payload:\"Auto\"};","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":560,"wires":[["45f5a648.2ec74"]]},{"id":"adab53c4.9013a","type":"function","z":"e63763f3.ab34e","name":"function","func":"if (msg.payload === \"0\")\n       return {payload:\"Auto\"};\nif (msg.payload === \"1\")\n       return {payload:\"Lowest\"};\nif (msg.payload === \"2\")\n       return {payload:\"Low\"};\nif (msg.payload === \"3\")\n       return {payload:\"Medium\"};\nif (msg.payload === \"4\")\n       return {payload:\"High\"};\nif (msg.payload === \"5\")\n       return {payload:\"Max\"};","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":500,"wires":[["75ccb2db.436d3c"]]},{"id":"75ccb2db.436d3c","type":"function","z":"e63763f3.ab34e","name":"","func":"var nodeid = 673;  // node ID in homee vom Gerät\nvar attributid = 2119; // attribut ID in homee vom Gerät\nvar Speed = msg.payload;\n{return {payload: \"PUT:/nodes/\"+nodeid+\"/attributes/\"+attributid+\"?data=\"+Speed+\"\"}}\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":500,"wires":[["c64e526f.a859b"]]},{"id":"75fbfe50.a4de","type":"function","z":"e63763f3.ab34e","name":"function","func":"if (msg.payload === \"0\")\n       return {payload:\"Auto\"};\nif (msg.payload === \"1\")\n       return {payload:\"Leftmost\"};\nif (msg.payload === \"2\")\n       return {payload:\"Left\"};\nif (msg.payload === \"3\")\n       return {payload:\"Middle\"};\nif (msg.payload === \"4\")\n       return {payload:\"Right\"};\nif (msg.payload === \"5\")\n       return {payload:\"Rightmost\"};\nif (msg.payload === \"8\")\n       return {payload:\"50/50\"};\nif (msg.payload === \"12\")\n       return {payload:\"Swing\"};","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":620,"wires":[["7ac46b90.356f14"]]},{"id":"daac1815.e4037","type":"function","z":"e63763f3.ab34e","name":"function","func":"if (msg.payload === \"0\")\n       return {payload:\"Auto\"};\nif (msg.payload === \"1\")\n       return {payload:\"Ceiling\"};\nif (msg.payload === \"2\")\n       return {payload:\"Up\"};\nif (msg.payload === \"3\")\n       return {payload:\"Middle\"};\nif (msg.payload === \"4\")\n       return {payload:\"Down\"};\nif (msg.payload === \"5\")\n       return {payload:\"Bottom\"};\nif (msg.payload === \"7\")\n       return {payload:\"Swing\"};","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":680,"wires":[["8b877f8f.657e8"]]},{"id":"7ac46b90.356f14","type":"function","z":"e63763f3.ab34e","name":"","func":"var nodeid = 673;  // node ID in homee vom Gerät\nvar attributid = 2120; // attribut ID in homee vom Gerät\nvar vanehor = msg.payload;\n{return {payload: \"PUT:/nodes/\"+nodeid+\"/attributes/\"+attributid+\"?data=\"+vanehor+\"\"}}\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":620,"wires":[["c64e526f.a859b"]]},{"id":"8b877f8f.657e8","type":"function","z":"e63763f3.ab34e","name":"","func":"var nodeid = 673;  // node ID in homee vom Gerät\nvar attributid = 2121; // attribut ID in homee vom Gerät\nvar vanever = msg.payload;\n{return {payload: \"PUT:/nodes/\"+nodeid+\"/attributes/\"+attributid+\"?data=\"+vanever+\"\"}}\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":680,"wires":[["c64e526f.a859b"]]},{"id":"9ec0115c.8f7488","type":"mqtt-broker","name":"","broker":"192.168.1.27","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
3 „Gefällt mir“

Wenn noch Anregungen oder Wünsche bestehen… meldet euch.

3 „Gefällt mir“

Wow sehr umfangreich, dein Flow basiert auf MQTT ?

Mir ist noch nicht ganz klar wie du die Daten aus Melcloud nach NodeRed holst. Kannst du das vielleicht noch etwas genauer erklären?
Dank dir!

Mache das über MQTT, in dem ich in iobroker bei den entsprechenden Einträgen, MQTT aktiviere…

Da hat damit zu tun, dass ich keine integrierte iobroker/NodeRed-Installation verwende, sondern beide separat nutze.
Wenn du eine integrierte Installation hast, kann man MQTT auch gegen iobroker-in bzw. iobroker-out austauschen… evt. müssen da kleinere Änderungen im Flow vorgenommen werden.

2 „Gefällt mir“

Moin,
ich habe mich bisher noch nicht an iobroker ran getraut. Habe eine Klimanlage mit melcloud, die ich eigentlich einschalten möchte, wenn der Energy meter meldet, dass ich meinen Strom für 7 Cent an die Stadtwerke verschenke. Gibt es keine „einfachen“ Möglichkeiten, das mit dem homee zu verbinden. Hätte zwar zur Not eine NAS mit Docker, aber ich werde daran sicherlich scheitern.
vG

Genau dieses „Überschussheizen/kühlen“ hab ich seit ein paar Wochen mit 5KW Mitsubishi in Betrieb.
Nach verschiedenen Ansätzen habe ich mich letztlich für die (für mich) einfachste und stabilste Lösung entschieden: Homee als „dummen“ Client in Homeassistant.
Nun kann ich in Abhängigkeit von Funk-Sensoren (Werte kommen von Homee) und der Solaranlage (MODBUS) das Klimagerät (aka Luft/Luft Wärmepumpe) regeln.
Für die Logik und den Zugriff auf die Geräte braucht man nur:

  1. Homee
  2. Homeassistant
  • Homee integration
  • Modbus integration
  • MELCloud integration
  • ein paar Automatisierungen

Dabei gefällt mir nicht, dass ich mit der MELCloud von externen Servern abhängig bin… aber wenigstens läuft der ganze Rest lokal.

Danke für die Infos. Hoffe weiterhin auf den Ritter mit weißem Pferd, der eine einfachere Lösung im Gepäck hat :wink: