Skip to content

Skripten / Logik

Hilfe zu JavaScript, Blockly, TypeScript, Node-RED, Scenes und text2command

16.6k Themen 213.9k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    C
    so läuft bei jetzt auch bei mir wer es als js haben will: /*************************************************************** * VW → ABRP Telemetry Script * für ioBroker Javascript Adapter * * Funktionen: * 1. Sendet Fahrzeugdaten alle 5 Minuten an ABRP * 2. Sendet sofort wenn sich der SOC ändert * * Gesendete Daten: * - SOC (Batteriestand) * - GPS Position * - Odometer * - Batteriekapazität * - Timestamp * * API: * https://api.iternio.com/1/tlm/send ***************************************************************/ const apiKey = "API-KEY-von-iternio.com"; const token = "Token-aus-der-APP"; const vin = "VIN-des-Autos"; /*********************** * Datenpunkte ***********************/ const dp_soc = "vw-connect.0." + vin + ".status.charging.status.battery.stateOfChargeInPercent"; const dp_odometer = "vw-connect.0." + vin + ".mqtt.events.charging-completed.data.odometer"; const dp_lat = "vw-connect.0." + vin + ".status.position.parkingPosition.gpsCoordinates.latitude"; const dp_lon = "vw-connect.0." + vin + ".status.position.parkingPosition.gpsCoordinates.longitude"; /*********************** * Funktion zum Senden ***********************/ function sendToABRP(trigger) { const soc = getState(dp_soc).val; const odometer = getState(dp_odometer).val; const lat = getState(dp_lat).val; const lon = getState(dp_lon).val; // Prüfen ob wichtige Daten vorhanden sind if (soc === null || lat === null || lon === null) { log("ABRP: Daten fehlen → kein Versand", "warn"); return; } const utc = Math.round(Date.now() / 1000); const tlm = { utc: utc, soc: soc, capacity: 85, odometer: odometer, lat: lat, lon: lon }; const url = "https://api.iternio.com/1/tlm/send?api_key=" + apiKey + "&token=" + token + "&tlm=" + encodeURIComponent(JSON.stringify(tlm)); httpGet(url, { timeout: 2000 }, function (err, response) { if (err) { log("ABRP Fehler: " + err, "error"); } else { log("ABRP gesendet (" + trigger + "): " + JSON.stringify(tlm), "info"); } }); } /*********************** * 1️⃣ Alle 5 Minuten senden ***********************/ schedule("*/5 * * * *", function () { sendToABRP("Timer"); }); /*********************** * 2️⃣ Senden wenn SOC sich ändert ***********************/ on({ id: dp_soc, change: "ne" }, function (obj) { log("SOC Änderung erkannt: " + obj.state.val + "%", "info"); sendToABRP("SOC Änderung"); });
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    paul53P
    @Lottemann sagte: ein + als nächstes rein Addition und Multiplikation sind der 2. Mathe-Block von oben. Schritte: [image: 1773072613287-blockly_temp.jpg]
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    Marc BergM
    Es gibt in der Verson 1.3.0 einen neuen Node: iob-setObject (Stand 10.02.26 noch beta) Mit dem neuen Node kann man ioBroker-Objektdefinitionen (Metadaten) direkt schreiben und ändern. Hauptfunktionen: Instanz-Konfigurationen ändern - z.B. MQTT publish-Pattern, Intervalle, etc. Objekt-Eigenschaften aktualisieren - Namen, Rollen, Einheiten, Min/Max-Werte ändern es gibt zwei Modi: Merge-Modus : Ändert nur die angegebenen Eigenschaften, alle anderen bleiben erhalten Replace-Modus: Überschreibt das komplette Objekt Typischer Workflow: Objekt mit iob-getobject holen Mit Change-Node gewünschte Properties ändern Mit iob-setobject zurückschreiben
  • BLOCKLY - Zeit-Trigger über Variable steuern

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    paul53P
    Beispiel: [image: 493_blockly_wecker.jpg]
  • Heizung Skript An/Aus Schalter

    Verschoben
    3
    3
    0 Stimmen
    3 Beiträge
    534 Aufrufe
    P
    Das werde ich mal ausprobieren. Danke.
  • Tr-064.0 adapter frage??

    Verschoben
    20
    0 Stimmen
    20 Beiträge
    833 Aufrufe
    Homer.J.H
    @denjo: ja geil, läuft besten dank. genau so wie ich es haben wollte ` Kein Problem. Schreib noch in den Beitrag oben gelöst. Grüße
  • Script zum zählen von Zustandsänderungen

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    979 Aufrufe
    K
    Vielen Dank für Deine Hilfe. Das sieht auf alle Fälle ganz anders aus als die Varianten die ich probiert habe. Komme erst die nächsten Tage dazu das zu testen. Prima.
  • Schichtdienst abhängige Ereignisse

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    344 Aufrufe
    P
    Hallo, das ist natürlich machbar, aber eine sehr individuelle Lösung. Ich kann dich da nicht an der Hand führen. Dafür muss man schon etwas eintauchen und lernen. Wenn dein Google Kalender nur als iFrame in VIS dargestellt wird, dann sieh dir mal den iCalAdapter an und lies die Anleitung. Er macht aus Terminen für ioBroker verständliche Objekte. Du kannst dann zB beim Schichtwechsel einen Vorabendtermin einrichten, der "Wecker stellen" heisst. Wenn der Adapter den Termin findet, kann er eine Ansage veranlassen oder sonst was. Für die Geschichte mit dem Bewegungsmelder kannst du im Javascript Adapter ein Skript anlegen. Es prüft zum einem festen Zeitpunkt (schedule(), zum Beispiel um 0515 Uhr) oder wenn der ical Adapter einen Weckzeit Event auf "true" setzt per getState(IDBEWEGUNGSMELDER).ts den Timestamp des Bewegungsmelders). Wenn dieser Wert zB größer als zB 1000* 60 * 60 ist (1 Stunde), dann kann wieder ein Alarm ausgelöst werden (letzte Stunde keine Bewegung = keiner wach). Gruß Pix
  • Einstellungen in setting.js für zusätzlich geladene Module

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    2k Aufrufe
    R
    @SabineT: …dass mir das Dashboard von node-red nicht wirklich gefällt ... ` Wohl wahr. Da gibt es grade ein Update, was einiges flexibler machen soll. https://discourse.nodered.org/t/announc … -0/4196/14 Kann allerdings nichts dazu sagen, weil ich mir das noch nicht wirklich angesehen habe.
  • Benötige Blockly hilfe

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    510 Aufrufe
    J
    Und wie immer, wenn der Hinweis bei einer "falls" Bedingung schon heißt "führt eine Aktion aus, wenn der Zustand wahr ist", dann ist es vollkommen unnötig genau das nochmal auf "= wahr" zu prüfen. Denn genau das ist doch die Funktion des Block und steht auch so da ;)
  • Multiple Selektoren

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    638 Aufrufe
    AlCalzoneA
    Dann markiere das Thema im Titel des 1. Beitrags bitte noch als gelöst
  • Messwert in Blockly um 0,5 erhöhen

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    343 Aufrufe
    Dr. BakteriusD
    Probier es mal so: [image: 6909_blockly.png]
  • Blockly Anfängerprobleme: Schleife funktioniert nicht

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    822 Aufrufe
    P
    Schleifen sind böse…Machen wir es ohne: [image: 5050_blockly_intervall_1.jpg] [image: 5050_blockly_intervall_2.jpg] Blockly export: ! ```` <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="*+xeOc2B6La=:-Yc^V`D" x="-137" y="-738"><field name="OID">hm-rpc.0.OEQ0672249.1.TEMPERATURE</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="Ke~Mb@j0i`nhw;c+%FHv"><value name="IF0"><block type="logic_compare" id="-)Lwo9g)`2ij%H)GDyLt"><field name="OP">GT</field> <value name="A"><block type="get_value" id="3=9]Xigw`!960tb6J~o^"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ0672249.1.TEMPERATURE</field></block></value> <value name="B"><block type="math_number" id="#V]9kWR0^IRr|oExuZQ2"><field name="NUM">-15</field></block></value></block></value> <statement name="DO0"><block type="debug" id="K7LvfV4_.u6J*{zBidZD"><field name="Severity">warn</field> <value name="TEXT"><shadow type="text" id="DAaA~5t4eSF0i@3n^obQ"></shadow> <block type="text_join" id="lAs.8DLfd2Ov3G!nFT;Z"><mutation items="4"></mutation> <value name="ADD0"><block type="text" id="DN-/sbLqaTdtlMWncJ}?"><field name="TEXT">Gefrierschrank Temp NOK</field></block></value> <value name="ADD1"><block type="text" id="UT)qWi~}3j9qR`n;aPil"><field name="TEXT">Aktuelle Temperatur:</field></block></value> <value name="ADD2"><block type="get_value" id="j3(}Rqt+`.bU4,A|zrRM"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ0672249.1.TEMPERATURE</field></block></value> <value name="ADD3"><block type="text" id="izFnw#)_6:O9k[c)#ZM6"><field name="TEXT">noch keine Pushnachricht</field></block></value></block></value> <next><block type="timeouts_setinterval" id="M!MHL(aN~*NvBL|d~m%X"><field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="variables_set" id="6{xrMo9o.+j,xl;@D:iU"><field name="VAR">Intervall_Var</field> <value name="VALUE"><block type="math_number" id="Q4dU_EN8e1;hAu03H%OG"><field name="NUM">6</field></block></value> <next><block type="controls_if" id="GT,Z/*+h`3UlV5YKOb_u"><mutation elseif="1" else="1"></mutation> <value name="IF0"><block type="logic_compare" id="fQBm=Gd|[|3E(`wWdAm_"><field name="OP">GT</field> <value name="A"><block type="get_value" id="c9AOm_`~|LVhz*i_:NXz"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ0672249.1.TEMPERATURE</field></block></value> <value name="B"><block type="math_number" id="w?]^#`M(1lreVX)v}cs*"><field name="NUM">-18.5</field></block></value></block></value> <statement name="DO0"><block type="math_change" id="6M)+)`B=?|;(4C.`kUht"><field name="VAR">Ausloesung</field> <value name="DELTA"><shadow type="math_number" id="QHAr8[R*%6X/cTpLS2tK"><field name="NUM">1</field></shadow></value> <next><block type="debug" id="UGe=q2G7x)fue,)*-*0|"><field name="Severity">warn</field> <value name="TEXT"><shadow type="text" id="DAaA~5t4eSF0i@3n^obQ"></shadow> <block type="text_join" id="jWBu6w2E!k2Ev[S93y)z"><mutation items="7"></mutation> <value name="ADD0"><block type="text" id="m0CUdsFkZ%TVS1CBmM1b"><field name="TEXT">Gefrierschrank Temp NOK</field></block></value> <value name="ADD1"><block type="text" id="2)(!1dDAup~*ar*~%(hh"><field name="TEXT">Temperatur zu niedrig seit</field></block></value> <value name="ADD2"><block type="math_arithmetic" id="/5.xO,1918_o#h+w9ML!"><field name="OP">MULTIPLY</field> <value name="A"><shadow type="math_number" id="gT?#FY12qerUKUrn6*.C"><field name="NUM">1</field></shadow> <block type="variables_get" id="*aO0UYS`-yGi7iH4eTpq"><field name="VAR">Intervall_Var</field></block></value> <value name="B"><shadow type="math_number" id="Lb2@Hci.:4*};(|!/P#9"><field name="NUM">1</field></shadow> <block type="variables_get" id="8[.Hj:)}ceW7-r@,9RB@"><field name="VAR">Ausloesung</field></block></value></block></value> <value name="ADD3"><block type="text" id="X0Xv8n[!!9gTC6]p6Y:~"><field name="TEXT">min. Aktuelle Temperatur:</field></block></value> <value name="ADD4"><block type="get_value" id="~OqADv|3g5a[11rwiBB_"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ0672249.1.TEMPERATURE</field></block></value> <value name="ADD5"><block type="text" id=";J_;3K-hIoN55+;%;MAF"><field name="TEXT">Pushnachricht</field></block></value> <value name="ADD6"><block type="text" id="h)*lW:+!bmh9uYnF+}Dx"><field name="TEXT">Ausloesung + 1</field></block></value></block></value> <next><block type="pushover" id="O|tMOb56eUr-jnoXoNb*"><field name="SOUND">siren</field> <field name="PRIORITY">1</field> <value name="MESSAGE"><shadow type="text" id="99O,K9cNrk.FKDe~2pc4"></shadow> <block type="text_join" id="qE.,4iB@+D8hv`xW|Bk3"><mutation items="5"></mutation> <value name="ADD0"><block type="text" id="emiqu|31v0wpMlCt{]]F"><field name="TEXT">Gefrierschrank Temp NOK</field></block></value> <value name="ADD1"><block type="text" id="4S3Ut0JM[2~Q)EI7=6fR"><field name="TEXT">Temperatur zu niedrig seit</field></block></value> <value name="ADD2"><block type="math_arithmetic" id="0N{3HV8wL~h-:J7OCnV}"><field name="OP">MULTIPLY</field> <value name="A"><shadow type="math_number" id="gT?#FY12qerUKUrn6*.C"><field name="NUM">1</field></shadow> <block type="variables_get" id="5~p`{)!)N^0f?RB%))/I"><field name="VAR">Intervall_Var</field></block></value> <value name="B"><shadow type="math_number" id="Lb2@Hci.:4*};(|!/P#9"><field name="NUM">1</field></shadow> <block type="variables_get" id="8;|eL0Rn)0/bFC-Y21NH"><field name="VAR">Ausloesung</field></block></value></block></value> <value name="ADD3"><block type="text" id="nF:~uS7L8dE}D5*ba:u1"><field name="TEXT">min. Aktuelle Temperatur:</field></block></value> <value name="ADD4"><block type="get_value" id="tJMn/NFpQ.u6AjYev}R0"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ0672249.1.TEMPERATURE</field></block></value></block></value> <value name="TITLE"><block type="text" id="7NlMoYU22GuvhG9V_OGS"><field name="TEXT">Gefrierschranktemperatur NOK!</field></block></value></block></next></block></next></block></statement> <value name="IF1"><block type="logic_compare" id="YBs3N-y])7x|v%zxyK;5"><field name="OP">GT</field> <value name="A"><block type="variables_get" id=":_YjT`=l[l~#dW8MQmMl"><field name="VAR">Ausloesung</field></block></value> <value name="B"><block type="math_number" id="=lIqzv=CLnIJ]O`R%ny6"><field name="NUM">1</field></block></value></block></value> <statement name="DO1"><block type="debug" id="Kj=F+Nu#NCe@N8r~S{D."><field name="Severity">warn</field> <value name="TEXT"><shadow type="text" id="DAaA~5t4eSF0i@3n^obQ"></shadow> <block type="text_join" id="YtxU:4:b9~eaF]#5|;!8"><mutation items="7"></mutation> <value name="ADD0"><block type="text" id="i*#/?omjRce%JrGb.l61"><field name="TEXT">Gefrierschrank nach:</field></block></value> <value name="ADD1"><block type="math_arithmetic" id="hw;lt(yvgu)CH*e[WN=3"><field name="OP">MULTIPLY</field> <value name="A"><shadow type="math_number" id="gT?#FY12qerUKUrn6*.C"><field name="NUM">1</field></shadow> <block type="variables_get" id="?;22vMW3y1]PJuag_4Ox"><field name="VAR">Intervall_Var</field></block></value> <value name="B"><shadow type="math_number" id="Lb2@Hci.:4*};(|!/P#9"><field name="NUM">1</field></shadow> <block type="variables_get" id="AHR)frG=VUyo:d9yOMPG"><field name="VAR">Ausloesung</field></block></value></block></value> <value name="ADD2"><block type="text" id="q:q6Uk5_L4iDKvtuDrA-"><field name="TEXT">min wieder OK!</field></block></value> <value name="ADD3"><block type="text" id="=={]8D7;c%e{u2mAW.bJ"><field name="TEXT">Aktuelle Temperatur:</field></block></value> <value name="ADD4"><block type="get_value" id="g]|j9KK;T!b1FhA-k)~j"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ0672249.1.TEMPERATURE</field></block></value> <value name="ADD5"><block type="text" id="[-VyB2PPP^f[OPmuSam@"><field name="TEXT">Pushnachricht</field></block></value> <value name="ADD6"><block type="text" id="I={?2jq3|)u`RWvU#@N("><field name="TEXT">Ausloesung = 0</field></block></value></block></value> <next><block type="pushover" id="hbGX~avJ#/nK2z)6}pVZ"><field name="SOUND">siren</field> <field name="PRIORITY">1</field> <value name="MESSAGE"><shadow type="text" id="99O,K9cNrk.FKDe~2pc4"></shadow> <block type="text_join" id="R/gG.4!9D7h^G;;#5[+;"><mutation items="5"></mutation> <value name="ADD0"><block type="text" id="p5{]w|O/*XuaU;#[kaO`"><field name="TEXT">Gefrierschrank nach:</field></block></value> <value name="ADD1"><block type="math_arithmetic" id="ZI*yM2[];]4t-4:qv@30"><field name="OP">MULTIPLY</field> <value name="A"><shadow type="math_number" id="gT?#FY12qerUKUrn6*.C"><field name="NUM">1</field></shadow> <block type="variables_get" id="sh]5g;ZsJJ6?0;VkuZBG"><field name="VAR">Intervall_Var</field></block></value> <value name="B"><shadow type="math_number" id="Lb2@Hci.:4*};(|!/P#9"><field name="NUM">1</field></shadow> <block type="variables_get" id="iZsty^`1lgw;IiWu8O(0"><field name="VAR">Ausloesung</field></block></value></block></value> <value name="ADD2"><block type="text" id="kbP/uKb4|t7m[u:~QIZB"><field name="TEXT">min wieder OK!</field></block></value> <value name="ADD3"><block type="text" id="t7,6jfY#XcANSHMqaLOc"><field name="TEXT">Aktuelle Temperatur:</field></block></value> <value name="ADD4"><block type="get_value" id="p_I(`u!QdTBG*Sh`z*,)"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ0672249.1.TEMPERATURE</field></block></value></block></value> <value name="TITLE"><block type="text" id=":)E@R}|N|yMV@zRE;y_I"><field name="TEXT">Gefrierschrank wieder OK!</field></block></value> <next><block type="variables_set" id="G2xSwpWB)dS#me7oV6;;"><field name="VAR">Ausloesung</field> <value name="VALUE"><block type="math_number" id="sld71in?+.=!Bxx7:J_s"><field name="NUM">0</field></block></value> <next><block type="timeouts_clearinterval" id=";l,kghA:DNk.EP[2Lyt["><field name="NAME">Intervall</field></block></next></block></next></block></next></block></statement> <statement name="ELSE"><block type="debug" id="2+F=C6V{,x/Uxw+boxoW"><field name="Severity">warn</field> <value name="TEXT"><shadow type="text" id="DAaA~5t4eSF0i@3n^obQ"></shadow> <block type="text_join" id="q*?Azr(J(/z^0?Bg/;nS"><mutation items="4"></mutation> <value name="ADD0"><block type="text" id=":fxCK{ky2p?yy9`PFlDR"><field name="TEXT">Gefrierschrank Temp OK</field></block></value> <value name="ADD1"><block type="text" id="oU?qaPn90G;/7Oeq;huX"><field name="TEXT">Aktuelle Temperatur:</field></block></value> <value name="ADD2"><block type="get_value" id="*dP,dNLMjV-*omjV(GVU"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ0672249.1.TEMPERATURE</field></block></value> <value name="ADD3"><block type="text" id="Jf{XPR;Vqc;t%oItU2h,"><field name="TEXT">keine Pushnachricht</field></block></value></block></value> <next><block type="timeouts_clearinterval" id="{.JsQ^%~:m*k3HgHt#z~"><field name="NAME">Intervall</field></block></next></block></statement></block></next></block></statement></block></next></block></statement></block></statement></block></xml> JavaScript: >! ```` var Intervall, Intervall_Var, Ausloesung; >! on({id: "hm-rpc.0.OEQ0672249.1.TEMPERATURE"/*HM-WDS30-OT2-SM OEQ0672249:1.TEMPERATURE*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rpc.0.OEQ0672249.1.TEMPERATURE").val > -15) { console.warn((['Gefrierschrank Temp NOK ',' Aktuelle Temperatur: ',getState("hm-rpc.0.OEQ0672249.1.TEMPERATURE").val,' noch keine Pushnachricht '].join(''))); Intervall = setInterval(function () { Intervall_Var = 6; if (getState("hm-rpc.0.OEQ0672249.1.TEMPERATURE").val > -18.5) { Ausloesung = (typeof Ausloesung == 'number' ? Ausloesung : 0) + 1; console.warn((['Gefrierschrank Temp NOK ','Temperatur zu niedrig seit ',Intervall_Var * Ausloesung,' min. Aktuelle Temperatur: ',getState("hm-rpc.0.OEQ0672249.1.TEMPERATURE").val,' Pushnachricht ','Ausloesung + 1'].join(''))); sendTo("pushover", "send", { message: (['Gefrierschrank Temp NOK ','Temperatur zu niedrig seit ',Intervall_Var * Ausloesung,' min. Aktuelle Temperatur: ',getState("hm-rpc.0.OEQ0672249.1.TEMPERATURE").val].join('')), sound: "siren", priority: 1, title: 'Gefrierschranktemperatur NOK!' }); } else if (Ausloesung > 1) { console.warn((['Gefrierschrank nach: ',Intervall_Var * Ausloesung,' min wieder OK! ',' Aktuelle Temperatur: ',getState("hm-rpc.0.OEQ0672249.1.TEMPERATURE").val,' Pushnachricht ','Ausloesung = 0'].join(''))); sendTo("pushover", "send", { message: (['Gefrierschrank nach: ',Intervall_Var * Ausloesung,' min wieder OK! ',' Aktuelle Temperatur: ',getState("hm-rpc.0.OEQ0672249.1.TEMPERATURE").val].join('')), sound: "siren", priority: 1, title: 'Gefrierschrank wieder OK!' }); Ausloesung = 0; (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})(); } else { console.warn((['Gefrierschrank Temp OK ',' Aktuelle Temperatur: ',getState("hm-rpc.0.OEQ0672249.1.TEMPERATURE").val,' keine Pushnachricht '].join(''))); (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})(); } }, 60000); } }); >! //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uJTIyJTIwaWQlM0QlMjIqJTJCeGVPYzJCNkxhJTNEJTNBLVljJTVFViU2MEQlMjIlMjB4JTNEJTIyLTEzNyUyMiUyMHklM0QlMjItNzM4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaG0tcnBjLjAuT0VRMDY3MjI0OS4xLlRFTVBFUkFUVVJFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VuZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJLZX5NYiU0MGowaSU2MG5odyUzQmMlMkIlMjVGSHYlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjItKUx3bzlnKSU2MDJpaiUyNUgpR0R5THQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUdUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIzJTNEOSU1RFhpZ3clNjAhOTYwdGI2Sn5vJTVFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaG0tcnBjLjAuT0VRMDY3MjI0OS4xLlRFTVBFUkFUVVJFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlMjNWJTVEOWtXUjAlNUVJUnIlN0NvRXh1WlEyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFLTE1JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIySzdMdmZWNF8udTZKKiU3QnpCaWRaRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFd2FybiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJEQWFBfjV0NGVTRjBpJTQwM24lNUVvYlElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMmxBcy44RExmZDJPdjNHIW5GVCUzQlolMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyNCUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMkROLSUyRnNiTHFhVGR0bE1XbmNKJTdEJTNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRUdlZnJpZXJzY2hyYW5rJTIwVGVtcCUyME5PSyUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJVVClxV2l+JTdEM2o5cVIlNjBuJTNCYVBpbCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBBa3R1ZWxsZSUyMFRlbXBlcmF0dXIlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJqMyglN0RScXQlMkIlNjAuYlU0JTJDQSU3Q3pyUk0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VobS1ycGMuMC5PRVEwNjcyMjQ5LjEuVEVNUEVSQVRVUkUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQzJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyaXpGbnclMjMpXzYlM0FPOWslNUJjKSUyM1pNNiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBub2NoJTIwa2VpbmUlMjBQdXNobmFjaHJpY2h0JTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19zZXRpbnRlcnZhbCUyMiUyMGlkJTNEJTIyTSFNSEwoYU5+Kk52QkwlN0Nkfm0lMjVYJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRUludGVydmFsbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIySU5URVJWQUwlMjIlM0UxJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFbWluJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyNiU3QnhyTW85by4lMkJqJTJDeGwlM0IlNDBEJTNBaVUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlM0VJbnRlcnZhbGxfVmFyJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJRNGRVX0VOOGUxJTNCaEF1MDNIJTI1T0clMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0U2JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJHVCUyQ1olMkYqJTJCaCU2MDNVbFY1WUtPYl91JTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlaWYlM0QlMjIxJTIyJTIwZWxzZSUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMmZRQm0lM0RHZCU3QyU1QiU3QzNFKCU2MHdXZEFtXyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFR1QlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMmM5QU9tXyU2MH4lN0NMVmh6KmlfJTNBTlh6JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaG0tcnBjLjAuT0VRMDY3MjI0OS4xLlRFTVBFUkFUVVJFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJ3JTNGJTVEJTVFJTIzJTYwTSgxbHJlVlgpdiU3RGNzKiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRS0xOC41JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2NoYW5nZSUyMiUyMGlkJTNEJTIyNk0pJTJCKSU2MEIlM0QlM0YlN0MlM0IoNEMuJTYwa1VodCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUzRUF1c2xvZXN1bmclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkRFTFRBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJRSEFyOCU1QlIqJTI1NlglMkZjVHBMUzJ0SyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJVR2UlM0RxMkc3eClmdWUlMkMpKi0qMCU3QyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFd2FybiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJEQWFBfjV0NGVTRjBpJTQwM24lNUVvYlElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMmpXQnU2dzJFIWsyRXYlNUJTOTN5KXolMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyNyUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMm0wQ1Vkc0ZrWiUyNVRWUzFDQm1NMWIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFR2VmcmllcnNjaHJhbmslMjBUZW1wJTIwTk9LJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMjIpKCExZERBdXB+KmFyKn4lMjUoaGglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFVGVtcGVyYXR1ciUyMHp1JTIwbmllZHJpZyUyMHNlaXQlMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjIlMkY1LnhPJTJDMTkxOF9vJTIzaCUyQnc5TUwhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VNVUxUSVBMWSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyZ1QlM0YlMjNGWTEycWVyVUtVcm42Ki5DJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyKmFPMFVZUyU2MC15R2k3aUg0ZVRwcSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUzRUludGVydmFsbF9WYXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJMYjIlNDBIY2kuJTNBNColN0QlM0IoJTdDISUyRlAlMjM5JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyOCU1Qi5IaiUzQSklN0RjZVc3LXIlNDAlMkM5UkIlNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlM0VBdXNsb2VzdW5nJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDMlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJYMFh2OG4lNUIhITlnVEM2JTVEcDZZJTNBfiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBtaW4uJTIwQWt0dWVsbGUlMjBUZW1wZXJhdHVyJTNBJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQURENCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyfk9xQUR2JTdDM2c1YSU1QjExcndpQkJfJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaG0tcnBjLjAuT0VRMDY3MjI0OS4xLlRFTVBFUkFUVVJFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQURENSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiUzQkpfJTNCM0staElvTjU1JTJCJTNCJTI1JTNCTUFGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyMFB1c2huYWNocmljaHQlMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ2JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyaCkqbFclM0ElMkIhYm1oOXVZbkYlMkIlN0REeCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VBdXNsb2VzdW5nJTIwJTJCJTIwMSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHVzaG92ZXIlMjIlMjBpZCUzRCUyMk8lN0N0TU9iNTZlVXItam5vWG9OYiolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJJTlNUQU5DRSUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU09VTkQlMjIlM0VzaXJlbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyUFJJT1JJVFklMjIlM0UxJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJMT0clMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk1FU1NBR0UlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyOTlPJTJDSzljTnJrLkZLRGV+MnBjNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIycUUuJTJDNGlCJTQwJTJCRDhodiU2MHhXJTdDQmszJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJlbWlxdSU3QzMxdjB3cE1sQ3QlN0IlNUQlNURGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRUdlZnJpZXJzY2hyYW5rJTIwVGVtcCUyME5PSyUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjI0UzNVdDBKTSU1QjJ+USlFSTclM0Q2ZlIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFVGVtcGVyYXR1ciUyMHp1JTIwbmllZHJpZyUyMHNlaXQlMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjIwTiU3QjNIVjh3TH5oLSUzQUo3T0NuViU3RCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTVVMVElQTFklM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMmdUJTNGJTIzRlkxMnFlclVLVXJuNiouQyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMjV+cCU2MCU3QikhKU4lNUUwZiUzRlJCJTI1KSklMkZJJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTNFSW50ZXJ2YWxsX1ZhciUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkxiMiU0MEhjaS4lM0E0KiU3RCUzQiglN0MhJTJGUCUyMzklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI4JTNCJTdDZUwwUm4pMCUyRmJGQy1ZMjFOSCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUzRUF1c2xvZXN1bmclM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMm5GJTNBfnVTN0w4ZEUlN0RENSpiYSUzQXUxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyMG1pbi4lMjBBa3R1ZWxsZSUyMFRlbXBlcmF0dXIlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ0JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJ0Sk1uJTJGTkZwUS51NkFqWWV2JTdEUjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VobS1ycGMuMC5PRVEwNjcyMjQ5LjEuVEVNUEVSQVRVUkUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVElUTEUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjI3TmxNb1lVMjJHdXZoRzlWX09HUyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VHZWZyaWVyc2NocmFua3RlbXBlcmF0dXIlMjBOT0shJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJZQnMzTi15JTVEKTd4JTdDdiUyNXp4eUslM0I1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VHVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiUzQV9ZalQlNjAlM0RsJTVCbH4lMjNkVzhNUW1NbCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUzRUF1c2xvZXN1bmclM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiUzRGxJcXp2JTNEQ0xuSUolNURPJTYwUiUyNW55NiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJLaiUzREYlMkJOdSUyM05DZSU0ME44cn5TJTdCRC4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRXdhcm4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyREFhQX41dDRlU0YwaSU0MDNuJTVFb2JRJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjJZdHhVJTNBNCUzQWI5fmVhRiU1RCUyMzUlN0MlM0IhOCUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjI3JTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyaSolMjMlMkYlM0ZvbWpSY2UlMjVKckdiLmw2MSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VHZWZyaWVyc2NocmFuayUyMG5hY2glM0ElMjAlMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjJodyUzQmx0KHl2Z3UpQ0gqZSU1QldOJTNEMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTVVMVElQTFklM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMmdUJTNGJTIzRlkxMnFlclVLVXJuNiouQyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiUzRiUzQjIydk1XM3kxJTVEUEp1YWdfNE94JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTNFSW50ZXJ2YWxsX1ZhciUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkxiMiU0MEhjaS4lM0E0KiU3RCUzQiglN0MhJTJGUCUyMzklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJBSFIpZnJHJTNEVlV5byUzQWQ5eU9NUEclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlM0VBdXNsb2VzdW5nJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJxJTNBcTZVazVfTDRpREt2dHVEckEtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyMCUyMG1pbiUyMHdpZWRlciUyME9LISUyMCUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDMlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlM0QlM0QlN0IlNUQ4RDclM0JjJTI1ZSU3QnUybUFXLmJKJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyMEFrdHVlbGxlJTIwVGVtcGVyYXR1ciUzQSUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMmclNUQlN0NqOUtLJTNCVCFiMUZoQS1rKX5qJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaG0tcnBjLjAuT0VRMDY3MjI0OS4xLlRFTVBFUkFUVVJFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQURENSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiU1Qi1WeUIyUFBQJTVFZiU1Qk9QbXVTYW0lNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTIwUHVzaG5hY2hyaWNodCUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDYlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJJJTNEJTdCJTNGMmpxMyU3Qyl1JTYwUld2VSUyMyU0ME4oJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRUF1c2xvZXN1bmclMjAlM0QlMjAwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwdXNob3ZlciUyMiUyMGlkJTNEJTIyaGJHWH5hdkolMjMlMkZuSzJ6KTYlN0RwVlolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJJTlNUQU5DRSUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU09VTkQlMjIlM0VzaXJlbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyUFJJT1JJVFklMjIlM0UxJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJMT0clMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk1FU1NBR0UlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyOTlPJTJDSzljTnJrLkZLRGV+MnBjNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyUiUyRmdHLjQhOUQ3aCU1RUclM0IlM0IlMjM1JTVCJTJCJTNCJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJwNSU3QiU1RHclN0NPJTJGKlh1YVUlM0IlMjMlNUJrYU8lNjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFR2VmcmllcnNjaHJhbmslMjBuYWNoJTNBJTIwJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfYXJpdGhtZXRpYyUyMiUyMGlkJTNEJTIyWkkqeU0yJTVCJTVEJTNCJTVENHQtNCUzQXF2JTQwMzAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRU1VTFRJUExZJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJnVCUzRiUyM0ZZMTJxZXJVS1VybjYqLkMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJzaCU1RDVnJTNCWnNKSjYlM0YwJTNCVmt1WkJHJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTNFSW50ZXJ2YWxsX1ZhciUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkxiMiU0MEhjaS4lM0E0KiU3RCUzQiglN0MhJTJGUCUyMzklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJpWnN0eSU1RSU2MDFsZ3clM0JJaVd1OE8oMCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUzRUF1c2xvZXN1bmclM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmtiUCUyRnVLYjQlN0N0N20lNUJ1JTNBflFJWkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTIwJTIwbWluJTIwd2llZGVyJTIwT0shJTIwJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMnQ3JTJDNmpmWSUyM1hjQU5TSE1xYUxPYyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBBa3R1ZWxsZSUyMFRlbXBlcmF0dXIlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ0JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJwX0koJTYwdSFRZFRCRypTaCU2MHoqJTJDKSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWhtLXJwYy4wLk9FUTA2NzIyNDkuMS5URU1QRVJBVFVSRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJUSVRMRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiUzQSlFJTQwUiU3RCU3Q04lN0N5TVYlNDB6UkUlM0J5X0klMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFR2VmcmllcnNjaHJhbmslMjB3aWVkZXIlMjBPSyElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyRzJ4U3dwV0IpZFMlMjNtZTdvVjYlM0IlM0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlM0VBdXNsb2VzdW5nJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJzbGQ3MWluJTNGJTJCLiUzRCFCeHg3JTNBSl9zJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19jbGVhcmludGVydmFsJTIyJTIwaWQlM0QlMjIlM0JsJTJDa2doQSUzQUROay5FUCU1QjJMeXQlNUIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFSW50ZXJ2YWxsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMjIlMkJGJTNEQzZWJTdCJTJDeCUyRlV4dyUyQmJveG9XJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0V3YXJuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMkRBYUF+NXQ0ZVNGMGklNDAzbiU1RW9iUSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIycSolM0ZBenIoSiglMkZ6JTVFMCUzRkJnJTJGJTNCblMlMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyNCUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiUzQWZ4Q0slN0JreTJwJTNGeXk5JTYwUEZsRFIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFR2VmcmllcnNjaHJhbmslMjBUZW1wJTIwT0slMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyb1UlM0ZxYVBuOTBHJTNCJTJGN09lcSUzQmh1WCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBBa3R1ZWxsZSUyMFRlbXBlcmF0dXIlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIqZFAlMkNkTkxNalYtKm9talYoR1ZVJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaG0tcnBjLjAuT0VRMDY3MjI0OS4xLlRFTVBFUkFUVVJFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMkpmJTdCWFBSJTNCVnFjJTNCdCUyNW9JdFUyaCUyQyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBrZWluZSUyMFB1c2huYWNocmljaHQlMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX2NsZWFyaW50ZXJ2YWwlMjIlMjBpZCUzRCUyMiU3Qi5Kc1ElNUUlMjV+JTNBbSprM0hnSHQlMjN6fiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0VJbnRlcnZhbGwlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U= Funktioniert soweit. Was mir noch fehlt ist wie ich den Intervall per Variable ändern kann. Jemand eine Idee?
  • Bild wechsel Garagentor Stellung [gelöst]

    Verschoben
    19
    0 Stimmen
    19 Beiträge
    2k Aufrufe
    paul53P
    @lutzer: Zusammenfassung, weil es funktioniert ` Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].
  • Alle Flows löschen

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    3k Aufrufe
    G
    @buzii12: Aber das ist ja auch egal, da das nicht die Antwort auf meine Frage war. ` Heißt, Du hast noch keine Antwort gefunden? Ich kann mich dunkel daran erinnern auch nach einer Lösung gesucht zu haben, um meine Flows zu sichern, bzw auf andere Systeme mit Node-Red zu übertragen. Ich habe es aktuell zwar nicht getestet, aber es sollte reichen wenn du die Datei(en) flow kopierst (siehe Screenshot). Ich muss das bei Gelegenheit noch einmal selber ausprobieren. [image: 3639_bild100.jpg] Wie immer gilt entweder die vorhandenen Dateien sichern, oder umbenennen, ggf ein neues Backup machen oder das gesamte .nodeRed Verzeichnis vorher sichern. Dann kannst Du aus dem von dir beschriebenen Backup die beiden Dateien in das Verzeichnis kopieren und alles sollte wieder so aussehen wie zu dem Zeitpunkt, wo Du das Backup gezogen hast.
  • Gefühlte Temperatur berechnen

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    833 Aufrufe
    eierfeileE
    ok, es muss mit "steuere" gemacht werden, noch überall ne Konvertierung zur Zahl rein und aufpassen beim punkt vor strich bzw Klammern. Jetzt läufts prinzipiell. Wen es interessiert, ab 27C hab ich jetzt noch den Hitzeindex und somit die Luftfeuchtigkeit dazu genommen. Ist noch nicht alles final getestet, aber ich denk es is sehr nah dran (Blockly export): <xml xmlns="http://www.w3.org/1999/xhtml"><block id="5)t-0a:^amg/Ap4D0xYW" type="on_ext" y="138" x="-662"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow id="s;:nV!Ah.P0deogij]@j" type="field_oid"><field name="oid">default</field></shadow> <block id="iTt9g!b/)WpEBe=lF;wl" type="field_oid"><field name="oid">yr.0.forecast.day0.temperatureActual</field></block></value> <statement name="STATEMENT"><block id="a_j;J?r@w+T?Hb^b+tiz" type="control"><mutation delay_input="false"></mutation> <field name="OID">hm-rega.1.7313</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="`}kYfxxzIvEH`9[_AEnV" type="logic_ternary"><value name="IF"><block id="*Uo%^cP3ZRfxFo?%fJP3" type="logic_compare"><field name="OP">GTE</field> <value name="A"><block id="!pUDA32!j-tIMlzFj}57" type="convert_tonumber"><value name="VALUE"><block id="(fQ+9e#qdCUgp/n;Herf" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.temperatureMax</field></block></value></block></value> <value name="B"><block id="]jzw(A{cZHoqFaFYLZ^Z" type="math_number"><field name="NUM">27</field></block></value></block></value> <value name="THEN"><block id="WtN~FXO|)~,BpVjx.(Td" type="math_arithmetic"><field name="OP">ADD</field> <value name="A"><shadow id="!vE,1G-xBz5w*d^K0@CK" type="math_number"><field name="NUM">1</field></shadow> <block id="kXm[DEXm4h%,PnOxWCea" type="math_arithmetic"><field name="OP">ADD</field> <value name="A"><shadow id="[(S#M4k-CU)@xkzLZMh%" type="math_number"><field name="NUM">1</field></shadow> <block id="9`%:-hQBT}g`ACTseLFj" type="math_arithmetic"><field name="OP">ADD</field> <value name="A"><shadow id="{%Y8(Vu}MKxX-Wl21eJa" type="math_number"><field name="NUM">1</field></shadow> <block id="*05_a-Z/f*qqY31plef)" type="math_arithmetic"><field name="OP">ADD</field> <value name="A"><shadow id="qqdXw9dx8]u=%Kwad.)^" type="math_number"><field name="NUM">1</field></shadow> <block id="T2I!gT+=1G]o1[)]Iw8," type="math_arithmetic"><field name="OP">ADD</field> <value name="A"><shadow id="{:f6/qg4Jo(gTOlD4`WV" type="math_number"><field name="NUM">1</field></shadow> <block id="J3{d/kNBpFh{boc=N^?H" type="math_arithmetic"><field name="OP">ADD</field> <value name="A"><shadow id="87E;}|)2,?lsx]Po1O@h" type="math_number"><field name="NUM">1</field></shadow> <block id=".wP:bkGcUl/gq|^`(C()" type="math_arithmetic"><field name="OP">ADD</field> <value name="A"><shadow id="ipOrRIWo1v4C-}mcBE}N" type="math_number"><field name="NUM">1</field></shadow> <block id="MHB72@~=!1~f@zg.guVu" type="math_arithmetic"><field name="OP">ADD</field> <value name="A"><shadow id="!VY:fXVZT;=S^J08besf" type="math_number"><field name="NUM">1</field></shadow> <block id="?t+__?m}bA%T@ubg}]b~" type="math_number"><field name="NUM">-8.784695</field></block></value> <value name="B"><shadow id="*BugCgXN3Ei`11{*^s/4" type="math_number"><field name="NUM">1</field></shadow> <block id="M}:+2c3t?UPjwu@K(tz8" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="8B]n;!)aXP31k)3^J*:2" type="math_number"><field name="NUM">1</field></shadow> <block id="SgfP/CCm|]A|%;oyH+w8" type="math_number"><field name="NUM">1.61139411</field></block></value> <value name="B"><shadow id="*%qUpyM[yTFXM_{+RZxq" type="math_number"><field name="NUM">1</field></shadow> <block id="rc3c%hpU^Lpg0r-ledk!" type="convert_tonumber"><value name="VALUE"><block id="{QQ|A:O5#~28UND2lSJN" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.temperatureActual</field></block></value></block></value></block></value></block></value> <value name="B"><shadow id="!#kYe:SrYHAPxY0~7xb2" type="math_number"><field name="NUM">1</field></shadow> <block id="?ViptP^vtY;ZBesvA+dv" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="sebI8Ddf,F-a6Qxx5g(t" type="math_number"><field name="NUM">0</field></shadow> <block id="8LZU!rHa;Ot3iVBmT-9B" type="math_number"><field name="NUM">2.338549</field></block></value> <value name="B"><shadow id="{#zlB.,fqvg)O%`}C})." type="math_number"><field name="NUM">1</field></shadow> <block id="[/jt*YJaNRzZdx]dfw,R" type="convert_tonumber"><value name="VALUE"><block id="|=5GqZW#(S]_V6~}-;sC" type="get_value"><field name="ATTR">val</field> <field name="OID">daswetter.0.NextDaysDetailed.Location_1.Day_1.humidity_value</field></block></value></block></value></block></value></block></value> <value name="B"><shadow id="X9SYw:3kh,VM[|Lg72#s" type="math_number"><field name="NUM">1</field></shadow> <block id="A`7rr3!B4]Q:nfbP-oqw" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="r_^r_9^rM(^NixU5nGZ?" type="math_number"><field name="NUM">1</field></shadow> <block id=",2g+/(^{s;N2ytLZ?T|h" type="math_number"><field name="NUM">-0.14611605</field></block></value> <value name="B"><shadow id=".3n}8SU(lxAt2;h/yTd7" type="math_number"><field name="NUM">1</field></shadow> <block id="9iSSn2;uoW4TMr{.Sq7#" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id=".`@VCi2zsLP~I:aAWaSD" type="math_number"><field name="NUM">1</field></shadow> <block id="AG3_=?+x44i]cq%)Rhdh" type="convert_tonumber"><value name="VALUE"><block id=".1BUY/G0y:Gufe4dU?9J" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.temperatureActual</field></block></value></block></value> <value name="B"><shadow id="4V~F423dSVW~zd;f)JE*" type="math_number"><field name="NUM">1</field></shadow> <block id="Sq_Fzj5CRqo+/X8T2zH2" type="convert_tonumber"><value name="VALUE"><block id="A=Q[GyA6;MH%B,HI5ESG" type="get_value"><field name="ATTR">val</field> <field name="OID">daswetter.0.NextDaysDetailed.Location_1.Day_1.humidity_value</field></block></value></block></value></block></value></block></value></block></value> <value name="B"><shadow id="x`tF0{0/:qWeh`YSbx!t" type="math_number"><field name="NUM">1</field></shadow> <block id="*~jF^xB2s/_XJ3g3@)OA" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="k*?wm^-?J|+*adO+jT`b" type="math_number"><field name="NUM">1</field></shadow> <block id="#!1e}G6+CZS#Y@1.9K28" type="math_number"><field name="NUM">-0.012308094</field></block></value> <value name="B"><shadow id="/G-9%6|~;w-J#!Ms:Mac" type="math_number"><field name="NUM">1</field></shadow> <block id="YnkYKR)oU}z@;J|),?IZ" type="math_arithmetic"><field name="OP">POWER</field> <value name="A"><shadow id="rtfeZ7dxu=Nz/6p;pS2l" type="math_number"><field name="NUM">1</field></shadow> <block id="8*?_7Ze48JeHx518ouDw" type="convert_tonumber"><value name="VALUE"><block id="sav6dd6u170Dba=TfDb~" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.temperatureActual</field></block></value></block></value> <value name="B"><shadow id="huqSh_|z~qUdlI(OF{IN" type="math_number"><field name="NUM">1</field></shadow> <block id=")GV;JWS~CXek:tMBu#?J" type="math_number"><field name="NUM">2</field></block></value></block></value></block></value></block></value> <value name="B"><shadow id="*8Mfj]I%gAFE|G+q3Su5" type="math_number"><field name="NUM">1</field></shadow> <block id="vbm4drqQbqqa~Ap|(Y#e" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="k*?wm^-?J|+*adO+jT`b" type="math_number"><field name="NUM">1</field></shadow> <block id=",x/m2M-`L/%6Rg+l{6_d" type="math_number"><field name="NUM">-0.016424828</field></block></value> <value name="B"><shadow id="/G-9%6|~;w-J#!Ms:Mac" type="math_number"><field name="NUM">1</field></shadow> <block id="ELN2cSI?cc8#PM[.`R{x" type="math_arithmetic"><field name="OP">POWER</field> <value name="A"><shadow id="rtfeZ7dxu=Nz/6p;pS2l" type="math_number"><field name="NUM">1</field></shadow> <block id="?s,L#yYw8W,a8_M^?|Z)" type="convert_tonumber"><value name="VALUE"><block id="cvo0:3E|=f;gF}@wa-TI" type="get_value"><field name="ATTR">val</field> <field name="OID">daswetter.0.NextDaysDetailed.Location_1.Day_1.humidity_value</field></block></value></block></value> <value name="B"><shadow id="huqSh_|z~qUdlI(OF{IN" type="math_number"><field name="NUM">1</field></shadow> <block id="EuF(V/#+piv~v.ps5Fk*" type="math_number"><field name="NUM">2</field></block></value></block></value></block></value></block></value> <value name="B"><shadow id="8S,/[0rPCMVn[H8|idr," type="math_number"><field name="NUM">1</field></shadow> <block id="C;0i#k,y5a2SKw]+J57G" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="k*?wm^-?J|+*adO+jT`b" type="math_number"><field name="NUM">1</field></shadow> <block id="TmGDZ2!MiSbw5^)1rw5Q" type="math_number"><field name="NUM">0.002211732</field></block></value> <value name="B"><shadow id="/G-9%6|~;w-J#!Ms:Mac" type="math_number"><field name="NUM">1</field></shadow> <block id="_grd;Eo2C9X1LY=zhU3N" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="MO.I5@3Px2mca!YdW{=V" type="math_number"><field name="NUM">1</field></shadow> <block id="n[e_8yD)DJ~/pL#c5M!L" type="math_arithmetic"><field name="OP">POWER</field> <value name="A"><shadow id="rtfeZ7dxu=Nz/6p;pS2l" type="math_number"><field name="NUM">1</field></shadow> <block id="Nc@JS%[9,jT214`nlx6]" type="convert_tonumber"><value name="VALUE"><block id="60t[f?V@C4|_v~8mi!vq" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.temperatureActual</field></block></value></block></value> <value name="B"><shadow id="huqSh_|z~qUdlI(OF{IN" type="math_number"><field name="NUM">1</field></shadow> <block id="8r9Y(..tS^g5-YW4-4m3" type="math_number"><field name="NUM">2</field></block></value></block></value> <value name="B"><shadow id="NSO#7!e{)U8W7cyq`3}%" type="math_number"><field name="NUM">1</field></shadow> <block id="DBvO4REVNGdlO:K1@fmH" type="convert_tonumber"><value name="VALUE"><block id="-Cn~:AtOSdMT(aQj;0fc" type="get_value"><field name="ATTR">val</field> <field name="OID">daswetter.0.NextDaysDetailed.Location_1.Day_1.humidity_value</field></block></value></block></value></block></value></block></value></block></value> <value name="B"><shadow id="9`4N5yPjZJK}MkG.54E1" type="math_number"><field name="NUM">1</field></shadow> <block id="z.Xhr]3Da(O0^9.aLR#E" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="k*?wm^-?J|+*adO+jT`b" type="math_number"><field name="NUM">1</field></shadow> <block id="}7BY[kf,vLBp65+7)8eB" type="math_number"><field name="NUM">0.00072546</field></block></value> <value name="B"><shadow id="/G-9%6|~;w-J#!Ms:Mac" type="math_number"><field name="NUM">1</field></shadow> <block id="EJQks)XC(+8jvVDjn6p{" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="F0ZqulkKdId~5W(io3nr" type="math_number"><field name="NUM">1</field></shadow> <block id="zx1q@qEFMg)t#?%sd.0u" type="convert_tonumber"><value name="VALUE"><block id="_@aj;C;2=s,~:nEkMcfw" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.temperatureActual</field></block></value></block></value> <value name="B"><shadow id="NSO#7!e{)U8W7cyq`3}%" type="math_number"><field name="NUM">1</field></shadow> <block id="2W#MR4[CzYr*/Md9vDbx" type="math_arithmetic"><field name="OP">POWER</field> <value name="A"><shadow id="rtfeZ7dxu=Nz/6p;pS2l" type="math_number"><field name="NUM">1</field></shadow> <block id="SX%Z)vt}np[DyvpO[^j}" type="convert_tonumber"><value name="VALUE"><block id="~UOi0xWjUfu*:]iryxbC" type="get_value"><field name="ATTR">val</field> <field name="OID">daswetter.0.NextDaysDetailed.Location_1.Day_1.humidity_value</field></block></value></block></value> <value name="B"><shadow id="huqSh_|z~qUdlI(OF{IN" type="math_number"><field name="NUM">1</field></shadow> <block id="hb^44;/8RzS%Kb^iI#yV" type="math_number"><field name="NUM">2</field></block></value></block></value></block></value></block></value></block></value> <value name="B"><shadow id="SbMGJ%~E?J^eaN_zE@/l" type="math_number"><field name="NUM">1</field></shadow> <block id="Mi`?]k3o2dOG5v_u?(~l" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="k*?wm^-?J|+*adO+jT`b" type="math_number"><field name="NUM">1</field></shadow> <block id="_b?4dPxqKX8x.K9R2v?T" type="math_number"><field name="NUM">-0.000003582</field></block></value> <value name="B"><shadow id="/G-9%6|~;w-J#!Ms:Mac" type="math_number"><field name="NUM">1</field></shadow> <block id="u=6}ok~/w9uIaM}0yN*+" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="F0ZqulkKdId~5W(io3nr" type="math_number"><field name="NUM">1</field></shadow> <block id="YAQt)UF4F7^KeJJl@NxR" type="math_arithmetic"><field name="OP">POWER</field> <value name="A"><shadow id="rtfeZ7dxu=Nz/6p;pS2l" type="math_number"><field name="NUM">1</field></shadow> <block id="vd/TYyyH1:ZZSMGZ?`zB" type="convert_tonumber"><value name="VALUE"><block id="y1=z:lcb=MzyVz;C?z0s" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.temperatureActual</field></block></value></block></value> <value name="B"><shadow id="huqSh_|z~qUdlI(OF{IN" type="math_number"><field name="NUM">1</field></shadow> <block id="fykj!aXbl:Z?9Ks1_IeB" type="math_number"><field name="NUM">2</field></block></value></block></value> <value name="B"><shadow id="NSO#7!e{)U8W7cyq`3}%" type="math_number"><field name="NUM">1</field></shadow> <block id="I{1zRJj[.1bg%%j^FT~t" type="math_arithmetic"><field name="OP">POWER</field> <value name="A"><shadow id="rtfeZ7dxu=Nz/6p;pS2l" type="math_number"><field name="NUM">1</field></shadow> <block id="]UfoxKP(gLUP??IxZqh]" type="convert_tonumber"><value name="VALUE"><block id="`u2zeV#}zHl*X8|5*OeU" type="get_value"><field name="ATTR">val</field> <field name="OID">daswetter.0.NextDaysDetailed.Location_1.Day_1.humidity_value</field></block></value></block></value> <value name="B"><shadow id="huqSh_|z~qUdlI(OF{IN" type="math_number"><field name="NUM">1</field></shadow> <block id="%7yw5*`qPWjG^:_A/i?C" type="math_number"><field name="NUM">2</field></block></value></block></value></block></value></block></value></block></value> <value name="ELSE"><block id="B.RrC+y}%:lswnjR}83}" type="math_arithmetic"><field name="OP">ADD</field> <value name="A"><shadow id="Hl#)C1Ay8U7m#W]*u{mF" type="math_number"><field name="NUM">1</field></shadow> <block id="z(WI/Rh~M~zvHy`B#R27" type="math_arithmetic"><field name="OP">MINUS</field> <value name="A"><shadow id="=GXZ{wzYiVxcONH#zgkL" type="math_number"><field name="NUM">1</field></shadow> <block id="bL)En6cmQi/LP8XRUedP" type="math_arithmetic"><field name="OP">ADD</field> <value name="A"><shadow id="qIK-Feb6Kz0WnBk)7%vV" type="math_number"><field name="NUM">13.12</field></shadow> <block id="lwcX`.c#GI2.7C[)X@Fn" type="math_number"><field name="NUM">13.12</field></block></value> <value name="B"><shadow id="8uwa`^P^9K(WmB!4A^I|" type="math_number"><field name="NUM">0.6215</field></shadow> <block id="pO-sApCRjsM+D)i2s{:=" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="B6%XpgQ-fS?*A^9SeBC#" type="math_number"><field name="NUM">0.6215</field></shadow> <block id="H.jG1GRn^%7+:FXjaA{t" type="math_number"><field name="NUM">0.6215</field></block></value> <value name="B"><shadow id="^[QQ[fNS5i4k3a-hO}Nc" type="math_number"><field name="NUM">1</field></shadow> <block id="r?cTqwvOM+OOlf,fP]bk" type="convert_tonumber"><value name="VALUE"><block id="WykEWG2|DujXJo7I}84v" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.temperatureActual</field></block></value></block></value></block></value></block></value> <value name="B"><shadow id="jx0b8H=iy6IL9K|X;Oh[" type="math_number"><field name="NUM">11.37</field></shadow> <block id="[_,NN*1#F2K*e;X[|QUC" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="5DYbG.wok/J*9Ol(:KNz" type="math_number"><field name="NUM">11.37</field></shadow> <block id="-%9|2K/E|_Hf@I5Zg{^r" type="math_number"><field name="NUM">11.37</field></block></value> <value name="B"><shadow id="?E~nm^O`,m2!ZTn68[UC" type="math_number"><field name="NUM">1</field></shadow> <block id="vmCopu(i_s/#%P[t]*J=" type="math_arithmetic"><field name="OP">POWER</field> <value name="A"><shadow id="[FP@vt=Nu#QXnH8@yM:#" type="math_number"><field name="NUM">1</field></shadow> <block id="0v^V(+_.p6!_[6~zbK_T" type="convert_tonumber"><value name="VALUE"><block id="!+ZtS-ifH+_y#pYa4!(N" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.windSpeed</field></block></value></block></value> <value name="B"><shadow id="MiG.%rn_tB~uFV8{7)to" type="math_number"><field name="NUM">0.16</field></shadow> <block id="4,O1_nUQ`G;y.a-jn:rJ" type="math_number"><field name="NUM">0.16</field></block></value></block></value></block></value></block></value> <value name="B"><shadow id="tYI45Hk3]|f!s/ex=bX5" type="math_number"><field name="NUM">1</field></shadow> <block id=":L7+Yq`G)|32/{oUp;gj" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="hVQ+zxP-dML~;CnuX`z@" type="math_number"><field name="NUM">1</field></shadow> <block id="z]LaHNEdMDf?}x.zr_:@" type="math_arithmetic"><field name="OP">MULTIPLY</field> <value name="A"><shadow id="B#|qd;]#]g^1cV5HAr;m" type="math_number"><field name="NUM">1</field></shadow> <block id="ow%_2oQXVdXG.g{rVW1t" type="math_number"><field name="NUM">0.3965</field></block></value> <value name="B"><shadow id="jxQ)r@9%mF`{,6_PS[uJ" type="math_number"><field name="NUM">0.3965</field></shadow> <block id="9E+h%2rZ3LAs|R]p~3f," type="convert_tonumber"><value name="VALUE"><block id="4ed~KQi;4_?-rJzg-KzR" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.temperatureActual</field></block></value></block></value></block></value> <value name="B"><shadow id="se7eoIQ,TF_SBaVSc~/p" type="math_number"><field name="NUM">1</field></shadow> <block id="C?E4ON7A,f%A:InYHj5e" type="math_arithmetic"><field name="OP">POWER</field> <value name="A"><shadow id="2.P?Z?GMhjs_v4L7seL;" type="math_number"><field name="NUM">1</field></shadow> <block id="sE^KLFfC#JNrecA8U%p=" type="convert_tonumber"><value name="VALUE"><block id="CwJ|L~%Y0D`G{S4NC]KA" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.windSpeed</field></block></value></block></value> <value name="B"><shadow id="#M0%!qINh#G4%Z~?)s=." type="math_number"><field name="NUM">0.16</field></shadow> <block id="RT#s2#Tgc?6Kh[q-aW,o" type="math_number"><field name="NUM">0.16</field></block></value></block></value></block></value></block></value></block></value> <next><block id="D~WV^z%mwUr-3GkUV/k," type="control"><mutation delay_input="false"></mutation> <field name="OID">hm-rega.0.7314</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="t}b~/!.dk%`T93+Eb:[e" type="convert_tonumber"><value name="VALUE"><block id="Wi#{NZV%GhpoUDgiVTYL" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.temperatureMax</field></block></value></block></value> <next><block id="OleewwfrU0!Ri(-@*ohN" type="control"><mutation delay_input="false"></mutation> <field name="OID">hm-rega.0.6626</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="K6{VgC{v:giJG_;rT_^W" type="convert_tonumber"><value name="VALUE"><block id="-w3(k5y!@{0KFZCa{i+E" type="get_value"><field name="ATTR">val</field> <field name="OID">yr.0.forecast.day0.temperatureActual</field></block></value></block></value></block></next></block></next></block></statement></block></xml>
  • Eq3 Thermostate regeln

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    381 Aufrufe
    paul53P
    eq3 stellt viele verschiedene Thermostate her (HomeMatic, HMIP, Max!, BLE, …). Eine genaue Angabe wäre hilfreich. @pfuhsy: Damit ist die Temperatur höher als ich sie eingestellt habe. ` Das Regelverhalten lässt sich nicht direkt beeinflussen. Vielleicht ist Dein Thermostat noch nicht lange genug in Betrieb, so dass sich der I-Anteil des PI-Reglers noch nicht richtig einstellen konnte ? Um das Anpassen zu beschleunigen, solltest Du den Thermostat erst einmal 3 Tage lang mit konstantem Sollwert (ohne Nachtabsenkung) betreiben.
  • Blockly contains String

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    paul53P
    In Blockly gibt es string.indexOf('Suchtext') ebenfalls: suche erstes Auftreten des Begriffs "Suchtext". Bei Nichtvorhandensein wird allerdings der Wert 0 geliefert.
  • Alexa spielt Musik falsch

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    412 Aufrufe
    H
    Keine Ahnung ob das wirklich so Sinn macht, aber ich würde eher deinen Trigger nur auf das "OG_BAD….." setzen, bei irgendeinem change und dann in dem Block einen IF-Then block einbauen
  • Raspberry autom. Neustart alle x tage

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    445 Aufrufe
    A
    Hat sich erledigt, ich habe ein Video dazu gefunden, nochmals vielen Dank.
  • Script "Zählen von Fenstern" wie Dachlucke mit einbinden?

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    517 Aufrufe
    AxelF1977A
    @charakterkopf: Hi irgendwie so müsste es doch klappen: Datenpunkt Dachluke müsste noch geändert werden (3mal). Gruß Martin ` Hallo Martin, danke für die Antwort. Ich schau es mir mal heute Abend an. VG
  • Selector auf device

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    502 Aufrufe
    paul53P
    @Tefi: Ich möchte alle devices mit der Function "Stellantrieb", aber nicht den gesamten Baum. ` Der Selector liefert alle Datenpunkt-IDs der Geräte, denen das Gewerk "Stellantrieb" zugeordnet ist und die die weiteren Datenpunkt-Bedingungen erfüllen. Sind den Geräten auch Kanäle zugeordnet ? Ohne Kanäle funktioniert der Selector mit device leider nicht.
  • (gelöst) Zeitspanne erfassen/messen (Blockly)

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    5k Aufrufe
    F
    Nabend zusammen. Ich habe ein Problem mit der Zeiten erfassung. Ich habe das Script von "Paul53" genutzt. Dieses funktioniert bei mir auch einwandfrei und speichert den Wert bei mir direkt ab. Danach habe ich mein fertiges Skript bei einem Kollegen eingerichtet. Bei Ihm wird die Zeit nur kurz geschrieben und direkt wieder gelöscht. Woran kann das liegen? Am Befehl "Komando" schonmal nicht. Ist beides bei uns zu 100% Identisch aufgebaut. Würde mich über Hilfe freuen. Danke

589

Online

32.7k

Benutzer

82.5k

Themen

1.3m

Beiträge