Weiter zum Inhalt

Visualisierung

9.5k Themen 104.4k Beiträge

Hilfe zu Visualisierungen

NEWS

  • Vis verhindert öffnen von weiterem Webinterface

    vis
    1
    0 Stimmen
    1 Beiträge
    211 Aufrufe
    Niemand hat geantwortet
  • Popups im Vollbildmodus

    vis
    6
    0 Stimmen
    6 Beiträge
    994 Aufrufe
    Thomas SchulzeT
    @LordZiu Versuch's mal so Link
  • Vollbildmodus Popup funktioniert nicht

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    846 Aufrufe
    Thomas SchulzeT
    @Darkmann2000 probier mal das
  • FullScreen Basic Widget Probleme

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    Thomas SchulzeT
    @ckorsawe Nach Recherche und Bastelei hab das folgendermaßen gelöst. Button in Vis eingefügt. Darüber lasse ich dann folgendes Script (im Reiter Scripte im Vis Editor) aufrufen. Je nach dem wechselt er dann zum Full- bzw. Normalscreen. die ID --> Fullscreen('w01081'); entsprechend anpassen. Funktioniert bei mir im Chrome und FF (IE nicht getestet) function Fullscreen(id) { var $id = $("#" + id); if (!$id .length) return setTimeout(Fullscreen, 300, id); $id.click(function(){ var elem = document.documentElement; if ((document.fullScreenElement !== undefined && document.fullScreenElement === null) || (document.msFullscreenElement !== undefined && document.msFullscreenElement === null) || (document.mozFullScreen !== undefined && !document.mozFullScreen) || (document.webkitIsFullScreen !== undefined && !document.webkitIsFullScreen)) { if (elem.requestFullScreen) { elem.requestFullScreen(); } else if (elem.mozRequestFullScreen) { elem.mozRequestFullScreen(); } else if (elem.webkitRequestFullScreen) { elem.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT); } else if (elem.msRequestFullscreen) { elem.msRequestFullscreen(); } } else { if (document.cancelFullScreen) { document.cancelFullScreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); } else if (document.msExitFullscreen) { document.msExitFullscreen(); } } }); } if (!vis.editMode) Fullscreen('w01081');
  • HqWidget Fenster/Rolladen Signalbilder anzeigen

    vis
    1
    0 Stimmen
    1 Beiträge
    303 Aufrufe
    Niemand hat geantwortet
  • Fragen zu VIS

    Verschoben vis
    14
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    harrymH
    @da_Woody hab ich gelernt von dir rofl
  • [gelöst] "jqui ctrl input datetime" nur im Editor sichtbar

    vis
    17
    0 Stimmen
    17 Beiträge
    2k Aufrufe
    K
    @Glasfaser , @FredF Ich hatte testweise mal ein VIS Update auf 1.2.10 gemacht. Dann hat es funktioniert. Ich dachte mir aber, es sollte doch auch auf der Version 1.2.4 gehen; also habe ich wieder ein Downgrade gemacht. Und was soll ich sagen: jetzt funktioniert es Vielleicht hat es mit dem Update und Upgrade inkl. iobroker upload vis während der Installation geholfen euch allen ein Dankeschön. Ihr seit TOP!! Ich Maktiere mal als gelöst
  • VIS-Plumb Hausanschluss und Tank+Pumpe

    vis
    12
    1
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    apollon77A
    @smarthome-tricks-de machst du damit bitte ein GitHub issue?! Bzw verifiziere bitte das die ids der Rohre auch korrekt waren. Muss man mal schauen.
  • Zeigt mal bitte eure Alexa-Visualisierungen

    vis
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    H
    [image: 1598369985071-dashboard4.jpg]
  • Komponenten aus mehreren Widgets

    vis material ui
    1
    2
    0 Stimmen
    1 Beiträge
    253 Aufrufe
    Niemand hat geantwortet
  • [Gelöst] Objekt ID nicht wählbar

    Gesperrt Gelöst vis
    2
    0 Stimmen
    2 Beiträge
    314 Aufrufe
    SegwayS
    @EStegemann sagte in [Gelöst] Objekt ID nicht wählbar EDIT: Habe es mittlerweile selbst gelöst. Hatte die falschen Versionen des Socket.io und Web Adapters installiert. Okay, hier die Lösung ... Thema wird geschlossen
  • Visualisierung von manuellen Daten in flot

    vis flot
    8
    0 Stimmen
    8 Beiträge
    720 Aufrufe
    I
    @RappiRN Servus Enrico! Danke für deine Antwort. Ja, ich kenne mich schon mit den Verzeichnissen und deren Struktur aus. Aber ja du hast recht: Das wäre zu aufwändig. Ich werde es einfach so machen, dass ich ab kommendem Monat einfach in den Datenpunkt erstmal manuell eintrage. Danke an alle, Bye bye
  • [Gelöst]Vis 1.2.4 läuft nicht. Erster start

    vis
    31
    0 Stimmen
    31 Beiträge
    4k Aufrufe
    crunchipC
    @dihe85 wenn es nun läuft, setz vor deinem Beitrag ein [gelöst]
  • Bedingte Formatierung funktioniert nicht

    Ungelöst vis
    3
    0 Stimmen
    3 Beiträge
    509 Aufrufe
    ice987I
    @hwiedermann @Michael-Blass {wert:zigbee.0.00xxxxxxxxxxxxxxx.battery;wert=="100" ? "#00ff00" : (wert<="50" ? "#ff0000" : "#ffff00")}
  • iQontrol

    iqontrol
    7
    0 Stimmen
    7 Beiträge
    958 Aufrufe
    ThimThalerT
    @s-bormann Hi. Vielen Dank. So werde ich es machen. Ich hatte es auch erst mit Szenen versucht. Hatte nicht so richtig funktioniert. Meine Rollos hängen an einem LCN-Relaisaktor (Local Control Network Bustopologie der Firma Issendorf). Da gibt es ein Netzrelais und ein Richtungsrelais pro Rolladen. Ich konnte die Rollos auch per Szene rauf- und runterfahren, aber ich wollte einmal auch, dass die Rollos erst stoppen und dann in die andere Richtung fahren. Ich konnte die Rollos auch mit einer Szene stoppen, aber dann beim Wechseln der Laufrichtung, fuhr das Rollo erst noch ganz kurz in die alte Richtung und dann in die entgegengesetzte Richtung. Hatte es nicht anders hinbekommen. Muss ich vielleicht noch ein wenig mehr Geduld aufbringen und noch einiges ausprobieren. 😁😁 Beste Grüße
  • Gelöst: VIS startet nicht

    vis
    31
    0 Stimmen
    31 Beiträge
    3k Aufrufe
    da_WoodyD
    @HausBusDe das kannst du laut sagen! war echt hardcore gestern. mach dir den spass und such mal nach topics mit vis im titel! ;)
  • VIS Binding mit Semikolon im Text...tut nicht?

    vis
    1
    0 Stimmen
    1 Beiträge
    192 Aufrufe
    Niemand hat geantwortet
  • Mitsubishi Klimaanlage einbinden

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    7k Aufrufe
    RababersaftR
    @Michi2404 Hi, ja ich habe meine Klimaanlage eingebunden. Aber!!! Erstmal unterscheiden muss man ob die Mitsubishi eine "Elektrik" oder eine "Heavy" ist. Meine Anlage ist eine Heavy und dazu kann ich gleich weiteres sagen. Sie ist natürlich über ein WLAN-Modul über die Cloud erreichbar und in meinem WLAN-Netzwerk. Jetzt gibt es keinen Adapter, der die ganze Geschichte mit meinem ioBroker verbindet. Gelöst habe ich es über ein separates (Java)Skript (irgendwo aus dem Internet gediebt), sorry wenn ich jetzt den Ursprünglichen Developper vergesse, bitte mir bescheid geben und ich korregiere das dann, welches in einem (bei mir Linux) Verzeichnis wo auch der ioBroker zugriff hat zur Ausführung gebracht habe. Dann habe ich mir die IP der Anlage rausgesucht und diese in meinem Skript angepasst. Jetzt gibt es viele Möglichkeiten zu erweitern und anzupassen. vorher ist jedoch noch zu sagen, das ich mir die dementsprechenden Datenpunkte angelegt habe, wohin auch immer ihr wollt , müsst ihr das dann natürlich auch tun und das Skript danach anpassen. Ich habe bewusst hier als Antwort gepostet, da das Skript noch keine Datenpunkte selber erzeugen kann... Viel Spass, und bei Fragen .... immer Fragen ;) Hier mein Blockly... <xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id=",I/1#d[ckg_#O0.:_MBh" x="13" y="13"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="]i-`+-Y%aeBk~x!AxW40"> <field name="oid">0_userdata.0.Heizung.MH-Daten.trigger1</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="wM|$;P7kq6Xw_b05mmCT"> <mutation elseif="7"></mutation> <value name="IF0"> <block type="logic_compare" id="@`nlPz|[C^$x1i$;I2[!"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="(UQSLz4HK+:z:#e`0y1["> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="M3[:d8}Uw)yjb}gVoNs1"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callcustomnoreturn" id="yd14gs2i*^f6x:I}wC]."> <mutation name="get_power"></mutation> <next> <block type="control" id="@Z`.^jqpLe`b|0ykRU?0"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Heizung.MH-Daten.trigger1</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="2JeG;zF7s3hG$~id}F-b"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="yiP5yDbe-vd^[L^j?vjR"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="A5XE6?qnn5KxnzNvQKo8"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="nR9jFzCmY8``~Mymt+Y9"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO1"> <block type="procedures_callcustomnoreturn" id="b8_OV(dMiDP{+A(/qK-y"> <mutation name="get_mode"></mutation> <next> <block type="control" id=":OYr-W#mT~L_l)GI1P43"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Heizung.MH-Daten.trigger1</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="f_hSB7![x:vMdg=v`Ci|"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="vVGMHm#-$Vy`h?Rvg,Je"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="ksHpJxBSmR?55O#gX-Df"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="AqzPMg3:v7roWu7S%2q("> <field name="NUM">3</field> </block> </value> </block> </value> <statement name="DO2"> <block type="procedures_callcustomnoreturn" id="g;%5noIa^Q3Qjo1+uMx%"> <mutation name="get_speed"></mutation> <next> <block type="control" id="ePh69Q=0ymr1Wu[$5mvh"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Heizung.MH-Daten.trigger1</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="ID_Q|(;,O-t6kH53EsEn"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> <value name="IF3"> <block type="logic_compare" id="G_2!f|2_Qee8]ILfAFjP"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="%RLI!]y%#]%YLUD8#^]5"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="}*h1E.Zk9.47kl(nzY*5"> <field name="NUM">4</field> </block> </value> </block> </value> <statement name="DO3"> <block type="procedures_callcustomnoreturn" id="1XfuIZGjB@%co?~VlqcE"> <mutation name="get_outside"></mutation> <next> <block type="control" id=",,J/qeO*E-GsCB55uD6I"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Heizung.MH-Daten.trigger1</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="|2Ei{a*b.[1zA1bteu_q"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> <value name="IF4"> <block type="logic_compare" id="Q3%u:D`-2A$W~bdmC}oQ"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="F4Hf!RN^P:Cgp}eOb0rM"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="wIXulxmO::s|G[c!Y_zY"> <field name="NUM">5</field> </block> </value> </block> </value> <statement name="DO4"> <block type="procedures_callcustomnoreturn" id="/mAK{$d1hIX6R-CgxpNg"> <mutation name="get_setpoint"></mutation> <next> <block type="control" id="S`I8w}i=[MY4=hU3]P1y"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Heizung.MH-Daten.trigger1</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="U?v[#Kgjx].X%p(uuRh_"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> <value name="IF5"> <block type="logic_compare" id="3Dzxnd!eluv,EmtDa/]z"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="F|9y3lb__(#GHxmJnI9)"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="KUSl1d2%!%)Ja;IzR0R!"> <field name="NUM">6</field> </block> </value> </block> </value> <statement name="DO5"> <block type="procedures_callcustomnoreturn" id="G9PPdk,={:ETQ~nd@Zt2"> <mutation name="get_roomtemp"></mutation> <next> <block type="control" id="p$hn1X`nsA.z4(~9MA2f"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Heizung.MH-Daten.trigger1</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="N`Qo^q8!,)eDuZ5/Q#qQ"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> <value name="IF6"> <block type="logic_compare" id="`@`b|`7+6Mi/5eXO)|U["> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="iZxwSRB}$koe77weUzjN"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="N!10qdK@5/PpSQSI8OEm"> <field name="NUM">7</field> </block> </value> </block> </value> <statement name="DO6"> <block type="procedures_callcustomnoreturn" id="JFl+qhMgOe:~~8m_RY#x"> <mutation name="get_hvane"></mutation> <next> <block type="control" id="w7}ck)7t.5,IOKtE]Ud$"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Heizung.MH-Daten.trigger1</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="PIb3,3+n+pK*DX*wfRIw"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> <value name="IF7"> <block type="logic_compare" id="eku/|rN3^?Y0X2{J3nT)"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="{9P$*RGT8!Q!Bzj=*%zi"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="(/=-]{Jc(zy8vq#]uUQK"> <field name="NUM">8</field> </block> </value> </block> </value> <statement name="DO7"> <block type="procedures_callcustomnoreturn" id="0-l*WBye-3kUi5jqpmN{"> <mutation name="get_vvane"></mutation> <next> <block type="control" id="F0B_pV*OQ@;f.5Y1;]t:"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Heizung.MH-Daten.trigger1</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="blL.go7vkTpg~/:{9j-q"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> <block type="procedures_defcustomnoreturn" id="6%^mFvfQojEh]Gkt,Y[3" x="13" y="963"> <mutation statements="false"></mutation> <field name="NAME">get_power</field> <field name="SCRIPT">dmFyIHJlc3VsdDsNCnJlc3VsdCA9IDA7DQpleGVjKCdiYXNoIC9vcHQvaW9icm9rZXIvYWlyY29uL2FjLnNoIDE5Mi4xNjguMS4xNzkgZ2V0IHBvd2VyJywgZnVuY3Rpb24gKGVycm9yLCByZXN1bHQsIHN0ZGVycikgew0KICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7DQogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuSGVpenVuZy5NSC1EYXRlbi5Qb3dlciIvKlBvd2VyKi8sIHBhcnNlRmxvYXQocmVzdWx0KSwgdHJ1ZSk7DQogIHJlc3VsdCA9IDA7DQp9KTsNCmNvbnNvbGUubG9nKCJleGVjOiAiICsgJ2Jhc2ggL29wdC9pb2Jyb2tlci9haXJjb24vYWMuc2ggMTkyLjE2OC4xLjE3OSBnZXQgcG93ZXInKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id=")fjde3zlgv7b:Anw/=cZ" x="13" y="1013"> <mutation statements="false"></mutation> <field name="NAME">get_mode</field> <field name="SCRIPT">dmFyIHJlc3VsdDsNCmV4ZWMoJ2Jhc2ggL29wdC9pb2Jyb2tlci9haXJjb24vYWMuc2ggMTkyLjE2OC4xLjE3OSBnZXQgbW9kZScsIGZ1bmN0aW9uIChlcnJvciwgcmVzdWx0LCBzdGRlcnIpIHsNCiAgICBjb25zb2xlLmxvZyhyZXN1bHQpOw0KICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkhlaXp1bmcuTUgtRGF0ZW4uTW9kZSIvKk1vZGUqLywgcGFyc2VGbG9hdChyZXN1bHQpLCB0cnVlKTsNCiAgcmVzdWx0ID0gMDsNCn0pOw0KY29uc29sZS5sb2coImV4ZWM6ICIgKyAnYmFzaCAvb3B0L2lvYnJva2VyL2FpcmNvbi9hYy5zaCAxOTIuMTY4LjEuMTc5IGdldCBtb2RlJyk7</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="TQ*aHUZ^$6Iku9$Y{Ve." x="13" y="1063"> <mutation statements="false"></mutation> <field name="NAME">get_speed</field> <field name="SCRIPT">dmFyIHJlc3VsdDsNCmV4ZWMoJ2Jhc2ggL29wdC9pb2Jyb2tlci9haXJjb24vYWMuc2ggMTkyLjE2OC4xLjE3OSBnZXQgc3BlZWQnLCBmdW5jdGlvbiAoZXJyb3IsIHJlc3VsdCwgc3RkZXJyKSB7DQogICAgY29uc29sZS5sb2cocmVzdWx0KTsNCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5IZWl6dW5nLk1ILURhdGVuLlNwZWVkIi8qU3BlZWQqLywgcGFyc2VGbG9hdChyZXN1bHQpLCB0cnVlKTsNCiAgcmVzdWx0ID0gMDsNCn0pOw0KY29uc29sZS5sb2coImV4ZWM6ICIgKyAnYmFzaCAvb3B0L2lvYnJva2VyL2FpcmNvbi9hYy5zaCAxOTIuMTY4LjEuMTc5IGdldCBzcGVlZCcpOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="btE-7[nRTo__JsHig{j5" x="13" y="1113"> <mutation statements="false"></mutation> <field name="NAME">get_outside</field> <field name="SCRIPT">dmFyIHJlc3VsdDsNCmV4ZWMoJ2Jhc2ggL29wdC9pb2Jyb2tlci9haXJjb24vYWMuc2ggMTkyLjE2OC4xLjE3OSBnZXQgb3V0c2lkZScsIGZ1bmN0aW9uIChlcnJvciwgcmVzdWx0LCBzdGRlcnIpIHsNCiAgICBjb25zb2xlLmxvZyhyZXN1bHQpOw0KICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkhlaXp1bmcuTUgtRGF0ZW4uQXXfZW50ZW1wZXJhdHVyIi8qQXXfZW50ZW1wZXJhdHVyKi8sIChwYXJzZUZsb2F0KHJlc3VsdCkgLyAxMCksIHRydWUpOw0KICByZXN1bHQgPSAwOw0KfSk7DQpjb25zb2xlLmxvZygiZXhlYzogIiArICdiYXNoIC9vcHQvaW9icm9rZXIvYWlyY29uL2FjLnNoIDE5Mi4xNjguMS4xNzkgZ2V0IG91dHNpZGUnKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="9nSL8+#J;dmi~$i}3d/S" x="13" y="1163"> <mutation statements="false"></mutation> <field name="NAME">get_setpoint</field> <field name="SCRIPT">dmFyIHJlc3VsdDsNCmV4ZWMoJ2Jhc2ggL29wdC9pb2Jyb2tlci9haXJjb24vYWMuc2ggMTkyLjE2OC4xLjE3OSBnZXQgc2V0cG9pbnQnLCBmdW5jdGlvbiAoZXJyb3IsIHJlc3VsdCwgc3RkZXJyKSB7DQogICAgY29uc29sZS5sb2cocmVzdWx0KTsNCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5IZWl6dW5nLk1ILURhdGVuLlNldHBvaW50Ii8qU2V0cG9pbnQqLywgKHBhcnNlRmxvYXQocmVzdWx0KSAvIDEwKSwgdHJ1ZSk7DQogIHJlc3VsdCA9IDA7DQp9KTsNCmNvbnNvbGUubG9nKCJleGVjOiAiICsgJ2Jhc2ggL29wdC9pb2Jyb2tlci9haXJjb24vYWMuc2ggMTkyLjE2OC4xLjE3OSBnZXQgc2V0cG9pbnQnKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="DB[XdC3(2ftKjn)7,z,," x="13" y="1213"> <mutation statements="false"></mutation> <field name="NAME">get_roomtemp</field> <field name="SCRIPT">dmFyIHJlc3VsdDsNCmV4ZWMoJ2Jhc2ggL29wdC9pb2Jyb2tlci9haXJjb24vYWMuc2ggMTkyLjE2OC4xLjE3OSBnZXQgcmV0dXJuJywgZnVuY3Rpb24gKGVycm9yLCByZXN1bHQsIHN0ZGVycikgew0KICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7DQogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuSGVpenVuZy5NSC1EYXRlbi5Sb29tdGVtcCIvKlJvb210ZW1wKi8sIChwYXJzZUZsb2F0KHJlc3VsdCkgLyAxMCksIHRydWUpOw0KICByZXN1bHQgPSAwOw0KfSk7DQpjb25zb2xlLmxvZygiZXhlYzogIiArICdiYXNoIC9vcHQvaW9icm9rZXIvYWlyY29uL2FjLnNoIDE5Mi4xNjguMS4xNzkgZ2V0IHJldHVybicpOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="X8bGVs?|9dV,QOw:;#Of" x="13" y="1263"> <mutation statements="false"></mutation> <field name="NAME">get_hvane</field> <field name="SCRIPT">dmFyIHJlc3VsdDsNCmV4ZWMoJ2Jhc2ggL29wdC9pb2Jyb2tlci9haXJjb24vYWMuc2ggMTkyLjE2OC4xLjE3OSBnZXQgaHZhbmUnLCBmdW5jdGlvbiAoZXJyb3IsIHJlc3VsdCwgc3RkZXJyKSB7DQogICAgY29uc29sZS5sb2cocmVzdWx0KTsNCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5IZWl6dW5nLk1ILURhdGVuLkxhbWVsbGVuX0hvcml6b250YWwiLypMYW1lbGxlbl9Ib3Jpem9udGFsKi8sIHBhcnNlRmxvYXQocmVzdWx0KSwgdHJ1ZSk7DQogIHJlc3VsdCA9IDA7DQp9KTsNCmNvbnNvbGUubG9nKCJleGVjOiAiICsgJ2Jhc2ggL29wdC9pb2Jyb2tlci9haXJjb24vYWMuc2ggMTkyLjE2OC4xLjE3OSBnZXQgaHZhbmUnKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="dbp*%q],o6o-v:LB`q,Q" x="13" y="1313"> <mutation statements="false"></mutation> <field name="NAME">get_vvane</field> <field name="SCRIPT">dmFyIHJlc3VsdDsNCmV4ZWMoJ2Jhc2ggL29wdC9pb2Jyb2tlci9haXJjb24vYWMuc2ggMTkyLjE2OC4xLjE3OSBnZXQgdnZhbmUnLCBmdW5jdGlvbiAoZXJyb3IsIHJlc3VsdCwgc3RkZXJyKSB7DQogICAgY29uc29sZS5sb2cocmVzdWx0KTsNCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5IZWl6dW5nLk1ILURhdGVuLlZlcnRpa2FsX1ZhbmUiLypWZXJ0aWthbF9WYW5lKi8sIHBhcnNlRmxvYXQocmVzdWx0KSwgdHJ1ZSk7DQogIHJlc3VsdCA9IDA7DQp9KTsNCmNvbnNvbGUubG9nKCJleGVjOiAiICsgJ2Jhc2ggL29wdC9pb2Jyb2tlci9haXJjb24vYWMuc2ggMTkyLjE2OC4xLjE3OSBnZXQgdnZhbmUnKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml> Hier der Export in Java.... /** * Beschreibe diese Funktion … */ function get_power() { var result; result = 0; exec('bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get power', function (error, result, stderr) { console.log(result); setState("0_userdata.0.Heizung.MH-Daten.Power"/*Power*/, parseFloat(result), true); result = 0; }); console.log("exec: " + 'bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get power'); } /** * Beschreibe diese Funktion … */ function get_mode() { var result; exec('bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get mode', function (error, result, stderr) { console.log(result); setState("0_userdata.0.Heizung.MH-Daten.Mode"/*Mode*/, parseFloat(result), true); result = 0; }); console.log("exec: " + 'bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get mode'); } /** * Beschreibe diese Funktion … */ function get_speed() { var result; exec('bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get speed', function (error, result, stderr) { console.log(result); setState("0_userdata.0.Heizung.MH-Daten.Speed"/*Speed*/, parseFloat(result), true); result = 0; }); console.log("exec: " + 'bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get speed'); } /** * Beschreibe diese Funktion … */ function get_outside() { var result; exec('bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get outside', function (error, result, stderr) { console.log(result); setState("0_userdata.0.Heizung.MH-Daten.Außentemperatur"/*Außentemperatur*/, (parseFloat(result) / 10), true); result = 0; }); console.log("exec: " + 'bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get outside'); } /** * Beschreibe diese Funktion … */ function get_setpoint() { var result; exec('bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get setpoint', function (error, result, stderr) { console.log(result); setState("0_userdata.0.Heizung.MH-Daten.Setpoint"/*Setpoint*/, (parseFloat(result) / 10), true); result = 0; }); console.log("exec: " + 'bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get setpoint'); } /** * Beschreibe diese Funktion … */ function get_roomtemp() { var result; exec('bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get return', function (error, result, stderr) { console.log(result); setState("0_userdata.0.Heizung.MH-Daten.Roomtemp"/*Roomtemp*/, (parseFloat(result) / 10), true); result = 0; }); console.log("exec: " + 'bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get return'); } /** * Beschreibe diese Funktion … */ function get_hvane() { var result; exec('bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get hvane', function (error, result, stderr) { console.log(result); setState("0_userdata.0.Heizung.MH-Daten.Lamellen_Horizontal"/*Lamellen_Horizontal*/, parseFloat(result), true); result = 0; }); console.log("exec: " + 'bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get hvane'); } /** * Beschreibe diese Funktion … */ function get_vvane() { var result; exec('bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get vvane', function (error, result, stderr) { console.log(result); setState("0_userdata.0.Heizung.MH-Daten.Vertikal_Vane"/*Vertikal_Vane*/, parseFloat(result), true); result = 0; }); console.log("exec: " + 'bash /opt/iobroker/aircon/ac.sh 192.168.1.179 get vvane'); } on({id: '0_userdata.0.Heizung.MH-Daten.trigger1', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") == 1) { get_power(); setStateDelayed("0_userdata.0.Heizung.MH-Daten.trigger1"/*trigger1*/, 0, 2000, false); } else if ((obj.state ? obj.state.val : "") == 2) { get_mode(); setStateDelayed("0_userdata.0.Heizung.MH-Daten.trigger1"/*trigger1*/, 0, 2000, false); } else if ((obj.state ? obj.state.val : "") == 3) { get_speed(); setStateDelayed("0_userdata.0.Heizung.MH-Daten.trigger1"/*trigger1*/, 0, 2000, false); } else if ((obj.state ? obj.state.val : "") == 4) { get_outside(); setStateDelayed("0_userdata.0.Heizung.MH-Daten.trigger1"/*trigger1*/, 0, 2000, false); } else if ((obj.state ? obj.state.val : "") == 5) { get_setpoint(); setStateDelayed("0_userdata.0.Heizung.MH-Daten.trigger1"/*trigger1*/, 0, 2000, false); } else if ((obj.state ? obj.state.val : "") == 6) { get_roomtemp(); setStateDelayed("0_userdata.0.Heizung.MH-Daten.trigger1"/*trigger1*/, 0, 2000, false); } else if ((obj.state ? obj.state.val : "") == 7) { get_hvane(); setStateDelayed("0_userdata.0.Heizung.MH-Daten.trigger1"/*trigger1*/, 0, 2000, false); } else if ((obj.state ? obj.state.val : "") == 8) { get_vvane(); setStateDelayed("0_userdata.0.Heizung.MH-Daten.trigger1"/*trigger1*/, 0, 2000, false); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIyJTJDSSUyRjElMjNkJTVCY2tnXyUyM08wLiUzQV9NQmglMjIlMjB4JTNEJTIyMTMlMjIlMjB5JTNEJTIyMTMlMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjIlNURpLSU2MCUyQi1ZJTI1YWVCa354IUF4VzQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFMF91c2VyZGF0YS4wLkhlaXp1bmcuTUgtRGF0ZW4udHJpZ2dlcjElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJ3TSU3QyUyNCUzQlA3a3E2WHdfYjA1bW1DVCUyMiUzRSUzQ211dGF0aW9uJTIwZWxzZWlmJTNEJTIyNyUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyJTQwJTYwbmxQeiU3QyU1QkMlNUUlMjR4MWklMjQlM0JJMiU1QiElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjIoVVFTTHo0SEslMkIlM0F6JTNBJTIzZSU2MDB5MSU1QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0VzdGF0ZS52YWwlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMk0zJTVCJTNBZDglN0RVdyl5amIlN0RnVm9OczElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2NhbGxjdXN0b21ub3JldHVybiUyMiUyMGlkJTNEJTIyeWQxNGdzMmkqJTVFZjZ4JTNBSSU3RHdDJTVELiUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMmdldF9wb3dlciUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMiU0MFolNjAuJTVFanFwTGUlNjBiJTdDMHlrUlUlM0YwJTIyJTNFJTNDbXV0YXRpb24lMjBkZWxheV9pbnB1dCUzRCUyMnRydWUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5IZWl6dW5nLk1ILURhdGVuLnRyaWdnZXIxJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UyMDAwJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFbXMlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNMRUFSX1JVTk5JTkclMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyMkplRyUzQnpGN3MzaEclMjR+aWQlN0RGLWIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJ5aVA1eURiZS12ZCU1RSU1QkwlNUVqJTNGdmpSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIyQTVYRTYlM0Zxbm41S3huek52UUtvOCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0VzdGF0ZS52YWwlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMm5SOWpGekNtWTglNjAlNjB+TXltdCUyQlk5JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8xJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19jYWxsY3VzdG9tbm9yZXR1cm4lMjIlMjBpZCUzRCUyMmI4X09WKGRNaURQJTdCJTJCQSglMkZxSy15JTIyJTNFJTNDbXV0YXRpb24lMjBuYW1lJTNEJTIyZ2V0X21vZGUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjIlM0FPWXItVyUyM21UfkxfbClHSTFQNDMlMjIlM0UlM0NtdXRhdGlvbiUyMGRlbGF5X2lucHV0JTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkhlaXp1bmcuTUgtRGF0ZW4udHJpZ2dlcjElM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRTIwMDAlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVOSVQlMjIlM0VtcyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJmX2hTQjchJTVCeCUzQXZNZGclM0R2JTYwQ2klN0MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJ2VkdNSG0lMjMtJTI0VnklNjBoJTNGUnZnJTJDSmUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJrc0hwSnhCU21SJTNGNTVPJTIzZ1gtRGYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJBcXpQTWczJTNBdjdyb1d1N1MlMjUycSglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UzJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2NhbGxjdXN0b21ub3JldHVybiUyMiUyMGlkJTNEJTIyZyUzQiUyNTVub0lhJTVFUTNRam8xJTJCdU14JTI1JTIyJTNFJTNDbXV0YXRpb24lMjBuYW1lJTNEJTIyZ2V0X3NwZWVkJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyZVBoNjlRJTNEMHltcjFXdSU1QiUyNDVtdmglMjIlM0UlM0NtdXRhdGlvbiUyMGRlbGF5X2lucHV0JTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkhlaXp1bmcuTUgtRGF0ZW4udHJpZ2dlcjElM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRTIwMDAlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVOSVQlMjIlM0VtcyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJJRF9RJTdDKCUzQiUyQ08tdDZrSDUzRXNFbiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMkdfMiFmJTdDMl9RZWU4JTVESUxmQUZqUCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMiUyNVJMSSElNUR5JTI1JTIzJTVEJTI1WUxVRDglMjMlNUUlNUQ1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTdEKmgxRS5aazkuNDdrbChuelkqNSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbGN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjIxWGZ1SVpHakIlNDAlMjVjbyUzRn5WbHFjRSUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMmdldF9vdXRzaWRlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyJTJDJTJDSiUyRnFlTypFLUdzQ0I1NXVENkklMjIlM0UlM0NtdXRhdGlvbiUyMGRlbGF5X2lucHV0JTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkhlaXp1bmcuTUgtRGF0ZW4udHJpZ2dlcjElM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRTIwMDAlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVOSVQlMjIlM0VtcyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlN0MyRWklN0JhKmIuJTVCMXpBMWJ0ZXVfcSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGNCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMlEzJTI1dSUzQUQlNjAtMkElMjRXfmJkbUMlN0RvUSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMkY0SGYhUk4lNUVQJTNBQ2dwJTdEZU9iMHJNJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyd0lYdWx4bU8lM0ElM0FzJTdDRyU1QmMhWV96WSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPNCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbGN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjIlMkZtQUslN0IlMjRkMWhJWDZSLUNneHBOZyUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMmdldF9zZXRwb2ludCUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMlMlNjBJOHclN0RpJTNEJTVCTVk0JTNEaFUzJTVEUDF5JTIyJTNFJTNDbXV0YXRpb24lMjBkZWxheV9pbnB1dCUzRCUyMnRydWUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5IZWl6dW5nLk1ILURhdGVuLnRyaWdnZXIxJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UyMDAwJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFbXMlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNMRUFSX1JVTk5JTkclMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyVSUzRnYlNUIlMjNLZ2p4JTVELlglMjVwKHV1UmhfJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUY1JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyM0R6eG5kIWVsdXYlMkNFbXREYSUyRiU1RHolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJGJTdDOXkzbGJfXyglMjNHSHhtSm5JOSklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJLVVNsMWQyJTI1ISUyNSlKYSUzQkl6UjBSISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTYlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPNSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbGN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjJHOVBQZGslMkMlM0QlN0IlM0FFVFF+bmQlNDBadDIlMjIlM0UlM0NtdXRhdGlvbiUyMG5hbWUlM0QlMjJnZXRfcm9vbXRlbXAlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJwJTI0aG4xWCU2MG5zQS56NCh+OU1BMmYlMjIlM0UlM0NtdXRhdGlvbiUyMGRlbGF5X2lucHV0JTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkhlaXp1bmcuTUgtRGF0ZW4udHJpZ2dlcjElM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRTIwMDAlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVOSVQlMjIlM0VtcyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJOJTYwUW8lNUVxOCElMkMpZUR1WjUlMkZRJTIzcVElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjYlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIlNjAlNDAlNjBiJTdDJTYwNyUyQjZNaSUyRjVlWE8pJTdDVSU1QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMmlaeHdTUkIlN0QlMjRrb2U3N3dlVXpqTiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0VzdGF0ZS52YWwlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMk4hMTBxZEslNDA1JTJGUHBTUVNJOE9FbSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTclM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPNiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbGN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjJKRmwlMkJxaE1nT2UlM0F+fjhtX1JZJTIzeCUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMmdldF9odmFuZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMnc3JTdEY2spN3QuNSUyQ0lPS3RFJTVEVWQlMjQlMjIlM0UlM0NtdXRhdGlvbiUyMGRlbGF5X2lucHV0JTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkhlaXp1bmcuTUgtRGF0ZW4udHJpZ2dlcjElM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRTIwMDAlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVOSVQlMjIlM0VtcyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJQSWIzJTJDMyUyQm4lMkJwSypEWCp3ZlJJdyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGNyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMmVrdSUyRiU3Q3JOMyU1RSUzRlkwWDIlN0JKM25UKSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMiU3QjlQJTI0KlJHVDghUSFCemolM0QqJTI1emklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIoJTJGJTNELSU1RCU3QkpjKHp5OHZxJTIzJTVEdVVRSyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTglM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPNyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbGN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjIwLWwqV0J5ZS0za1VpNWpxcG1OJTdCJTIyJTNFJTNDbXV0YXRpb24lMjBuYW1lJTNEJTIyZ2V0X3Z2YW5lJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyRjBCX3BWKk9RJTQwJTNCZi41WTElM0IlNUR0JTNBJTIyJTNFJTNDbXV0YXRpb24lMjBkZWxheV9pbnB1dCUzRCUyMnRydWUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5IZWl6dW5nLk1ILURhdGVuLnRyaWdnZXIxJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UyMDAwJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFbXMlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNMRUFSX1JVTk5JTkclMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyYmxMLmdvN3ZrVHBnfiUyRiUzQSU3QjlqLXElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZjdXN0b21ub3JldHVybiUyMiUyMGlkJTNEJTIyNiUyNSU1RW1GdmZRb2pFaCU1REdrdCUyQ1klNUIzJTIyJTIweCUzRCUyMjEzJTIyJTIweSUzRCUyMjk2MyUyMiUzRSUzQ211dGF0aW9uJTIwc3RhdGVtZW50cyUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFZ2V0X3Bvd2VyJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTQ1JJUFQlMjIlM0VkbUZ5SUhKbGMzVnNkRHNOQ25KbGMzVnNkQ0E5SURBN0RRcGxlR1ZqS0NkaVlYTm9JQzl2Y0hRdmFXOWljbTlyWlhJdllXbHlZMjl1TDJGakxuTm9JREU1TWk0eE5qZ3VNUzR4TnprZ1oyVjBJSEJ2ZDJWeUp5d2dablZ1WTNScGIyNGdLR1Z5Y205eUxDQnlaWE4xYkhRc0lITjBaR1Z5Y2lrZ2V3MEtJQ0FnSUdOdmJuTnZiR1V1Ykc5bktISmxjM1ZzZENrN0RRb2dJSE5sZEZOMFlYUmxLQ0l3WDNWelpYSmtZWFJoTGpBdVNHVnBlblZ1Wnk1TlNDMUVZWFJsYmk1UWIzZGxjaUl2S2xCdmQyVnlLaThzSUhCaGNuTmxSbXh2WVhRb2NtVnpkV3gwS1N3Z2RISjFaU2s3RFFvZ0lISmxjM1ZzZENBOUlEQTdEUXA5S1RzTkNtTnZibk52YkdVdWJHOW5LQ0psZUdWak9pQWlJQ3NnSjJKaGMyZ2dMMjl3ZEM5cGIySnliMnRsY2k5aGFYSmpiMjR2WVdNdWMyZ2dNVGt5TGpFMk9DNHhMakUzT1NCblpYUWdjRzkzWlhJbktUcyUzRCUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZjdXN0b21ub3JldHVybiUyMiUyMGlkJTNEJTIyKWZqZGUzemxndjdiJTNBQW53JTJGJTNEY1olMjIlMjB4JTNEJTIyMTMlMjIlMjB5JTNEJTIyMTAxMyUyMiUzRSUzQ211dGF0aW9uJTIwc3RhdGVtZW50cyUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFZ2V0X21vZGUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNDUklQVCUyMiUzRWRtRnlJSEpsYzNWc2REc05DbVY0WldNb0oySmhjMmdnTDI5d2RDOXBiMkp5YjJ0bGNpOWhhWEpqYjI0dllXTXVjMmdnTVRreUxqRTJPQzR4TGpFM09TQm5aWFFnYlc5a1pTY3NJR1oxYm1OMGFXOXVJQ2hsY25KdmNpd2djbVZ6ZFd4MExDQnpkR1JsY25JcElIc05DaUFnSUNCamIyNXpiMnhsTG14dlp5aHlaWE4xYkhRcE93MEtJQ0J6WlhSVGRHRjBaU2dpTUY5MWMyVnlaR0YwWVM0d0xraGxhWHAxYm1jdVRVZ3RSR0YwWlc0dVRXOWtaU0l2S2sxdlpHVXFMeXdnY0dGeWMyVkdiRzloZENoeVpYTjFiSFFwTENCMGNuVmxLVHNOQ2lBZ2NtVnpkV3gwSUQwZ01Ec05DbjBwT3cwS1kyOXVjMjlzWlM1c2IyY29JbVY0WldNNklDSWdLeUFuWW1GemFDQXZiM0IwTDJsdlluSnZhMlZ5TDJGcGNtTnZiaTloWXk1emFDQXhPVEl1TVRZNExqRXVNVGM1SUdkbGRDQnRiMlJsSnlrNyUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZjdXN0b21ub3JldHVybiUyMiUyMGlkJTNEJTIyVFEqYUhVWiU1RSUyNDZJa3U5JTI0WSU3QlZlLiUyMiUyMHglM0QlMjIxMyUyMiUyMHklM0QlMjIxMDYzJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0VnZXRfc3BlZWQlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNDUklQVCUyMiUzRWRtRnlJSEpsYzNWc2REc05DbVY0WldNb0oySmhjMmdnTDI5d2RDOXBiMkp5YjJ0bGNpOWhhWEpqYjI0dllXTXVjMmdnTVRreUxqRTJPQzR4TGpFM09TQm5aWFFnYzNCbFpXUW5MQ0JtZFc1amRHbHZiaUFvWlhKeWIzSXNJSEpsYzNWc2RDd2djM1JrWlhKeUtTQjdEUW9nSUNBZ1kyOXVjMjlzWlM1c2IyY29jbVZ6ZFd4MEtUc05DaUFnYzJWMFUzUmhkR1VvSWpCZmRYTmxjbVJoZEdFdU1DNUlaV2w2ZFc1bkxrMUlMVVJoZEdWdUxsTndaV1ZrSWk4cVUzQmxaV1FxTHl3Z2NHRnljMlZHYkc5aGRDaHlaWE4xYkhRcExDQjBjblZsS1RzTkNpQWdjbVZ6ZFd4MElEMGdNRHNOQ24wcE93MEtZMjl1YzI5c1pTNXNiMmNvSW1WNFpXTTZJQ0lnS3lBblltRnphQ0F2YjNCMEwybHZZbkp2YTJWeUwyRnBjbU52Ymk5aFl5NXphQ0F4T1RJdU1UWTRMakV1TVRjNUlHZGxkQ0J6Y0dWbFpDY3BPdyUzRCUzRCUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZjdXN0b21ub3JldHVybiUyMiUyMGlkJTNEJTIyYnRFLTclNUJuUlRvX19Kc0hpZyU3Qmo1JTIyJTIweCUzRCUyMjEzJTIyJTIweSUzRCUyMjExMTMlMjIlM0UlM0NtdXRhdGlvbiUyMHN0YXRlbWVudHMlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRWdldF9vdXRzaWRlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTQ1JJUFQlMjIlM0VkbUZ5SUhKbGMzVnNkRHNOQ21WNFpXTW9KMkpoYzJnZ0wyOXdkQzlwYjJKeWIydGxjaTloYVhKamIyNHZZV011YzJnZ01Ua3lMakUyT0M0eExqRTNPU0JuWlhRZ2IzVjBjMmxrWlNjc0lHWjFibU4wYVc5dUlDaGxjbkp2Y2l3Z2NtVnpkV3gwTENCemRHUmxjbklwSUhzTkNpQWdJQ0JqYjI1emIyeGxMbXh2WnloeVpYTjFiSFFwT3cwS0lDQnpaWFJUZEdGMFpTZ2lNRjkxYzJWeVpHRjBZUzR3TGtobGFYcDFibWN1VFVndFJHRjBaVzR1UVhYZlpXNTBaVzF3WlhKaGRIVnlJaThxUVhYZlpXNTBaVzF3WlhKaGRIVnlLaThzSUNod1lYSnpaVVpzYjJGMEtISmxjM1ZzZENrZ0x5QXhNQ2tzSUhSeWRXVXBPdzBLSUNCeVpYTjFiSFFnUFNBd093MEtmU2s3RFFwamIyNXpiMnhsTG14dlp5Z2laWGhsWXpvZ0lpQXJJQ2RpWVhOb0lDOXZjSFF2YVc5aWNtOXJaWEl2WVdseVkyOXVMMkZqTG5Ob0lERTVNaTR4TmpndU1TNHhOemtnWjJWMElHOTFkSE5wWkdVbktUcyUzRCUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZjdXN0b21ub3JldHVybiUyMiUyMGlkJTNEJTIyOW5TTDglMkIlMjNKJTNCZG1pfiUyNGklN0QzZCUyRlMlMjIlMjB4JTNEJTIyMTMlMjIlMjB5JTNEJTIyMTE2MyUyMiUzRSUzQ211dGF0aW9uJTIwc3RhdGVtZW50cyUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFZ2V0X3NldHBvaW50JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTQ1JJUFQlMjIlM0VkbUZ5SUhKbGMzVnNkRHNOQ21WNFpXTW9KMkpoYzJnZ0wyOXdkQzlwYjJKeWIydGxjaTloYVhKamIyNHZZV011YzJnZ01Ua3lMakUyT0M0eExqRTNPU0JuWlhRZ2MyVjBjRzlwYm5RbkxDQm1kVzVqZEdsdmJpQW9aWEp5YjNJc0lISmxjM1ZzZEN3Z2MzUmtaWEp5S1NCN0RRb2dJQ0FnWTI5dWMyOXNaUzVzYjJjb2NtVnpkV3gwS1RzTkNpQWdjMlYwVTNSaGRHVW9JakJmZFhObGNtUmhkR0V1TUM1SVpXbDZkVzVuTGsxSUxVUmhkR1Z1TGxObGRIQnZhVzUwSWk4cVUyVjBjRzlwYm5RcUx5d2dLSEJoY25ObFJteHZZWFFvY21WemRXeDBLU0F2SURFd0tTd2dkSEoxWlNrN0RRb2dJSEpsYzNWc2RDQTlJREE3RFFwOUtUc05DbU52Ym5OdmJHVXViRzluS0NKbGVHVmpPaUFpSUNzZ0oySmhjMmdnTDI5d2RDOXBiMkp5YjJ0bGNpOWhhWEpqYjI0dllXTXVjMmdnTVRreUxqRTJPQzR4TGpFM09TQm5aWFFnYzJWMGNHOXBiblFuS1RzJTNEJTNDJTJGZmllbGQlM0UlM0Njb21tZW50JTIwcGlubmVkJTNEJTIyZmFsc2UlMjIlMjBoJTNEJTIyODAlMjIlMjB3JTNEJTIyMTYwJTIyJTNFQmVzY2hyZWliZSUyMGRpZXNlJTIwRnVua3Rpb24lMjAlRTIlODAlQTYlM0MlMkZjb21tZW50JTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2RlZmN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjJEQiU1QlhkQzMoMmZ0S2puKTclMkN6JTJDJTJDJTIyJTIweCUzRCUyMjEzJTIyJTIweSUzRCUyMjEyMTMlMjIlM0UlM0NtdXRhdGlvbiUyMHN0YXRlbWVudHMlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRWdldF9yb29tdGVtcCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NSSVBUJTIyJTNFZG1GeUlISmxjM1ZzZERzTkNtVjRaV01vSjJKaGMyZ2dMMjl3ZEM5cGIySnliMnRsY2k5aGFYSmpiMjR2WVdNdWMyZ2dNVGt5TGpFMk9DNHhMakUzT1NCblpYUWdjbVYwZFhKdUp5d2dablZ1WTNScGIyNGdLR1Z5Y205eUxDQnlaWE4xYkhRc0lITjBaR1Z5Y2lrZ2V3MEtJQ0FnSUdOdmJuTnZiR1V1Ykc5bktISmxjM1ZzZENrN0RRb2dJSE5sZEZOMFlYUmxLQ0l3WDNWelpYSmtZWFJoTGpBdVNHVnBlblZ1Wnk1TlNDMUVZWFJsYmk1U2IyOXRkR1Z0Y0NJdktsSnZiMjEwWlcxd0tpOHNJQ2h3WVhKelpVWnNiMkYwS0hKbGMzVnNkQ2tnTHlBeE1Da3NJSFJ5ZFdVcE93MEtJQ0J5WlhOMWJIUWdQU0F3T3cwS2ZTazdEUXBqYjI1emIyeGxMbXh2WnlnaVpYaGxZem9nSWlBcklDZGlZWE5vSUM5dmNIUXZhVzlpY205clpYSXZZV2x5WTI5dUwyRmpMbk5vSURFNU1pNHhOamd1TVM0eE56a2daMlYwSUhKbGRIVnliaWNwT3clM0QlM0QlM0MlMkZmaWVsZCUzRSUzQ2NvbW1lbnQlMjBwaW5uZWQlM0QlMjJmYWxzZSUyMiUyMGglM0QlMjI4MCUyMiUyMHclM0QlMjIxNjAlMjIlM0VCZXNjaHJlaWJlJTIwZGllc2UlMjBGdW5rdGlvbiUyMCVFMiU4MCVBNiUzQyUyRmNvbW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfZGVmY3VzdG9tbm9yZXR1cm4lMjIlMjBpZCUzRCUyMlg4YkdWcyUzRiU3QzlkViUyQ1FPdyUzQSUzQiUyM09mJTIyJTIweCUzRCUyMjEzJTIyJTIweSUzRCUyMjEyNjMlMjIlM0UlM0NtdXRhdGlvbiUyMHN0YXRlbWVudHMlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRWdldF9odmFuZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NSSVBUJTIyJTNFZG1GeUlISmxjM1ZzZERzTkNtVjRaV01vSjJKaGMyZ2dMMjl3ZEM5cGIySnliMnRsY2k5aGFYSmpiMjR2WVdNdWMyZ2dNVGt5TGpFMk9DNHhMakUzT1NCblpYUWdhSFpoYm1VbkxDQm1kVzVqZEdsdmJpQW9aWEp5YjNJc0lISmxjM1ZzZEN3Z2MzUmtaWEp5S1NCN0RRb2dJQ0FnWTI5dWMyOXNaUzVzYjJjb2NtVnpkV3gwS1RzTkNpQWdjMlYwVTNSaGRHVW9JakJmZFhObGNtUmhkR0V1TUM1SVpXbDZkVzVuTGsxSUxVUmhkR1Z1TGt4aGJXVnNiR1Z1WDBodmNtbDZiMjUwWVd3aUx5cE1ZVzFsYkd4bGJsOUliM0pwZW05dWRHRnNLaThzSUhCaGNuTmxSbXh2WVhRb2NtVnpkV3gwS1N3Z2RISjFaU2s3RFFvZ0lISmxjM1ZzZENBOUlEQTdEUXA5S1RzTkNtTnZibk52YkdVdWJHOW5LQ0psZUdWak9pQWlJQ3NnSjJKaGMyZ2dMMjl3ZEM5cGIySnliMnRsY2k5aGFYSmpiMjR2WVdNdWMyZ2dNVGt5TGpFMk9DNHhMakUzT1NCblpYUWdhSFpoYm1VbktUcyUzRCUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZjdXN0b21ub3JldHVybiUyMiUyMGlkJTNEJTIyZGJwKiUyNXElNUQlMkNvNm8tdiUzQUxCJTYwcSUyQ1ElMjIlMjB4JTNEJTIyMTMlMjIlMjB5JTNEJTIyMTMxMyUyMiUzRSUzQ211dGF0aW9uJTIwc3RhdGVtZW50cyUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFZ2V0X3Z2YW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTQ1JJUFQlMjIlM0VkbUZ5SUhKbGMzVnNkRHNOQ21WNFpXTW9KMkpoYzJnZ0wyOXdkQzlwYjJKeWIydGxjaTloYVhKamIyNHZZV011YzJnZ01Ua3lMakUyT0M0eExqRTNPU0JuWlhRZ2RuWmhibVVuTENCbWRXNWpkR2x2YmlBb1pYSnliM0lzSUhKbGMzVnNkQ3dnYzNSa1pYSnlLU0I3RFFvZ0lDQWdZMjl1YzI5c1pTNXNiMmNvY21WemRXeDBLVHNOQ2lBZ2MyVjBVM1JoZEdVb0lqQmZkWE5sY21SaGRHRXVNQzVJWldsNmRXNW5MazFJTFVSaGRHVnVMbFpsY25ScGEyRnNYMVpoYm1VaUx5cFdaWEowYVd0aGJGOVdZVzVsS2k4c0lIQmhjbk5sUm14dllYUW9jbVZ6ZFd4MEtTd2dkSEoxWlNrN0RRb2dJSEpsYzNWc2RDQTlJREE3RFFwOUtUc05DbU52Ym5OdmJHVXViRzluS0NKbGVHVmpPaUFpSUNzZ0oySmhjMmdnTDI5d2RDOXBiMkp5YjJ0bGNpOWhhWEpqYjI0dllXTXVjMmdnTVRreUxqRTJPQzR4TGpFM09TQm5aWFFnZG5aaGJtVW5LVHMlM0QlM0MlMkZmaWVsZCUzRSUzQ2NvbW1lbnQlMjBwaW5uZWQlM0QlMjJmYWxzZSUyMiUyMGglM0QlMjI4MCUyMiUyMHclM0QlMjIxNjAlMjIlM0VCZXNjaHJlaWJlJTIwZGllc2UlMjBGdW5rdGlvbiUyMCVFMiU4MCVBNiUzQyUyRmNvbW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ== Und hier das Skript was vorher zun laufen gebracht werden muss... #!/usr/bin/env bash #Airconwithme script (airconwithme.com) #Written by KingOfDois. BSD 3-clause license. USAGE="usage: ${0} ip set|get option [value]" #pseudo: login credentials. #security note: wget leaks user/password in process list if [ -z "${AIRCO_PASSWORD}" ]; then AIRCO_PASSWORD=operator fi if [ -z "${AIRCO_USER}" ]; then AIRCO_USER=operator fi #pseudo: 1st argument is IP if [ -z "${1}" ]; then echo ${USAGE} exit 1 else AIRCO_IP="${1}" fi #pseudo: 2nd argument is set|get if [ "${2}" != "set" ] && [ "${2}" != "get" ]; then echo ${USAGE} exit 1 fi DIRECTION=${2} #pseudo: more variables ACTION=${3} DO=${4} VALUE=0 EXIT=0 #------------------------------------- #pseudo: functions function stderr () { cat - 1>&2 } #------------------------------------- #pseudo: action table ACTIONS=(power mode speed vvane hvane setpoint return alarm outside) UIDS=(1 2 4 5 6 9 10 14 37) #pseudo: select uid from action FOUND=0 for i in "${!ACTIONS[@]}" do if [ "${ACTIONS[${i}]}" == "${ACTION}" ]; then FOUND=1 WORK_UID=${UIDS[${i}]} fi done if [ ${FOUND} -eq 0 ]; then echo "available actions: ${ACTIONS[@]}" exit 1 fi #------------------------------------- #pseudo: work the $ACTION / $VALUE with $uid available if [[ "${DIRECTION}" == "set" ]]; then if [[ "${ACTION}" == "power" ]]; then OPTIONS=(on off); VALUES=(1 0); fi if [[ "${ACTION}" == "mode" ]]; then OPTIONS=(auto heat dry fan cool); VALUES=(0 1 2 3 4); fi if [[ "${ACTION}" == "speed" ]]; then OPTIONS=(1 2 3 4); VALUES=(1 2 3 4); fi if [[ "${ACTION}" == "vvane" ]]; then OPTIONS=(1 2 3 4 swing); VALUES=(1 2 3 4 10); fi if [[ "${ACTION}" == "hvane" ]]; then OPTIONS=(1 2 3 4 swing); VALUES=(1 2 3 4 10); fi if [[ "${ACTION}" == "setpoint" ]]; then if [ "${DO}" == "" ]; then echo "value: 180 till 300 (18.0 till 30.0 degree C)" exit 1 else VALUE=$DO; fi fi fi #pseudo: now select the proper value based on the action if [ "${OPTIONS}" != "" ]; then FOUND=0 for i in "${!OPTIONS[@]}" do if [ "${OPTIONS[${i}]}" == "${DO}" ]; then FOUND=1 VALUE=${VALUES[${i}]} fi done if [ ${FOUND} -eq 0 ]; then echo "available [${ACTION}] options: ${OPTIONS[@]}" exit 1 fi fi #------------------------------------- COOKIE=$(mktemp) #pseudo: login LOGIN_RESPONSE=$(mktemp) LOGIN_ERROR=$(mktemp) wget --save-cookies=${COOKIE} \ --keep-session-cookies \ --post-data="{\"command\":\"login\",\"data\":{\"username\":\"${AIRCO_USER}\",\"password\":\"${AIRCO_PASSWORD}\"}}" \ --output-document=${LOGIN_RESPONSE} \ --header="Content-Type: application/json" \ --header="Accept: application/json" \ --tries=3 \ --timeout=30 \ http://${AIRCO_IP}/api.cgi 2> ${LOGIN_ERROR} LOGIN_RC=$? if [ "${LOGIN_RC}" -ne 0 ]; then cat ${LOGIN_ERROR}|stderr EXIT=1 fi if [ "$(grep -c '"success":true' ${LOGIN_RESPONSE})" -ne 1 ]; then echo "something went wrong while logging in"|stderr echo "response: $(cat ${LOGIN_RESPONSE})"|stderr EXIT=1 fi #pseudo: get sessionID from login SESSION_ID=$(awk -F '"sessionID":"' '{print $2}' ${LOGIN_RESPONSE}|awk -F '"' '{print $1}') #--------------------------------- if [ "${SESSION_ID}" != "" ]; then ACTION_RESPONSE=$(mktemp) ACTION_ERROR=$(mktemp) if [ "${DIRECTION}" == "set" ]; then POST_DATA="{\"command\":\"setdatapointvalue\",\"data\":{\"sessionID\":\"${SESSION_ID}\",\"uid\":${WORK_UID},\"value\":${VALUE}}}" else POST_DATA="{\"command\":\"getdatapointvalue\",\"data\":{\"sessionID\":\"${SESSION_ID}\",\"uid\":${WORK_UID}}}" fi wget --load-cookies=${COOKIE} \ --post-data="${POST_DATA}" \ --output-document=${ACTION_RESPONSE} \ --header="Content-Type: application/json" \ --header="Accept: application/json" \ --tries=3 \ --timeout=30 \ http://${AIRCO_IP}/api.cgi 2> ${ACTION_ERROR} ACTION_RC=$? if [ "${ACTION_RC}" -ne 0 ]; then cat ${ACTION_ERROR}|stderr EXIT=1 fi if [ "$(grep -c '"success":true' ${ACTION_RESPONSE})" -eq 1 ]; then if [ "${DIRECTION}" == "set" ]; then echo "saved"; else RESPONSE_VALUE=$(awk -F ',"value":' '{print $2}' ${ACTION_RESPONSE}|awk -F ',"status"' '{print $1}') #sed 's/\"//g' echo "${RESPONSE_VALUE}" fi else echo "${DIRECTION} failed"|stderr echo "response: $(cat ${ACTION_RESPONSE})"|stderr EXIT=1 fi #end if SESSION_ID fi #--------------------------------------------- #cleanup if [ -f "${COOKIE}" ]; then rm ${COOKIE}; fi if [ -f "${LOGIN_RESPONSE}" ]; then rm ${LOGIN_RESPONSE}; fi if [ -f "${LOGIN_ERROR}" ]; then rm ${LOGIN_ERROR}; fi if [ -f "${ACTION_RESPONSE}" ]; then rm ${ACTION_RESPONSE}; fi if [ -f "${ACTION_ERROR}" ]; then rm ${ACTION_ERROR}; fi exit ${EXIT} ...
  • Update web von 3.0.10 auf 3.0.11 keine Verbindung mehr.

    vis
    29
    0 Stimmen
    29 Beiträge
    3k Aufrufe
    HomoranH
    @MathiasJ sagte in Update web von 3.0.10 auf 3.0.11 keine Verbindung mehr.: Nur wenn es nicht mehr läuft, muß man dafür sorgen, dass es wieder geht. Deshalb das Downgrade. da können dir dann aber Abhängigkeiten in die Suppe spucken.
  • Nach Routerwechsel läuft vis nicht mehr

    vis
    9
    0 Stimmen
    9 Beiträge
    397 Aufrufe
    X
    @Thomas-Braun gemacht :-), aufgrund von Problemen mit ZigBee-Geräten bin ich vor einiger Zeit auf letest gewechsel und habe es wohl vergessen...mea culpa

368

Online

32.8k

Benutzer

82.8k

Themen

1.3m

Beiträge