Skip to content

Visualisierung

9.5k Topics 104.5k Posts

Hilfe zu Visualisierungen

NEWS

  • [Gelöst] Objekt ID nicht wählbar

    Locked Solved vis
    2
    0 Votes
    2 Posts
    324 Views
    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 Votes
    8 Posts
    743 Views
    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 Votes
    31 Posts
    4k Views
    crunchipC
    @dihe85 wenn es nun läuft, setz vor deinem Beitrag ein [gelöst]
  • Bedingte Formatierung funktioniert nicht

    Unsolved vis
    3
    0 Votes
    3 Posts
    516 Views
    ice987I
    @hwiedermann @Michael-Blass {wert:zigbee.0.00xxxxxxxxxxxxxxx.battery;wert=="100" ? "#00ff00" : (wert<="50" ? "#ff0000" : "#ffff00")}
  • iQontrol

    iqontrol
    7
    0 Votes
    7 Posts
    977 Views
    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 Votes
    31 Posts
    3k Views
    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 Votes
    1 Posts
    199 Views
    No one has replied
  • Mitsubishi Klimaanlage einbinden

    Moved
    12
    0 Votes
    12 Posts
    8k Views
    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 Votes
    29 Posts
    3k Views
    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 Votes
    9 Posts
    408 Views
    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
  • Vis-inventwo-background icon

    vis
    6
    0 Votes
    6 Posts
    753 Views
    E
    @Elkja gibt es auch eine möglichkeit die Symbole auszurichtern? [image: 1598171949054-4a1b7fd5-c92a-43a7-aeae-f41e975af915-image.png]
  • Axis Kamera in Vis einbinden

    vis
    8
    0 Votes
    8 Posts
    1k Views
    M
    @4-7kohm Hey Kalle! Perfekt Danke!! Ich sich immer die komplizierten Weg, dabei wärs so einfach! Danke Gruss und schönen Sonntag!
  • [gelöst]Vis Projekte nicht unter /iobroker-data/files/vis.0/

    vis
    47
    0 Votes
    47 Posts
    6k Views
    D
    @C-3po said in [gelöst]Vis Projekte nicht unter /iobroker-data/files/vis.0/: super, ich trau mir den Rückschritt nicht. Wenn hier dann alles Platt ist habe ich die A Karte. Rennt ja auch so. War aber bis dato selbst mir nicht bewusst, was ich da angerichtet habe. Passt schon. Ich habe es nach einem Backup einfach probiert, habe aber auch keine Skripte die auf States historisch aufbauen. Daher war es nicht so schlimm, falls einige States eventuell leer waren und erst bei der nächsten Änderung gefüllt wurden. Ein paar Dellen im einigen Statistiken sind zu verkraften gewesen.
  • Rolladen widget gedreht anzeigen: Solved / Gelöst

    vis
    4
    1
    0 Votes
    4 Posts
    1k Views
    GlasfaserG
    @zgadgeter sagte in Rolladen gedreht anzeigen: Vielen dank! Funktioniert Sehr gerne ;) dann setzte das Thema auf gelöst .
  • 0 Votes
    3 Posts
    442 Views
    NewpicselN
    Sorry aber ich muss leider nochmal nachfragen, keiner eine Idee?
  • hqwidgets Beschreibung font

    vis
    1
    0 Votes
    1 Posts
    228 Views
    No one has replied
  • Negativen Wert im BasicNumberWidget ohne Vorzeichen anzeigen

    vis
    2
    0 Votes
    2 Posts
    226 Views
    L
    @lulu99 Hat sich erledigt. Habe die Lösung gefunden. Einfach in den erweiterten Einstellungen mit "-1" multiplizieren.... VG lulu
  • IP- Kamera Bilder in cgi Format in vis nutzen

    camera
    3
    0 Votes
    3 Posts
    309 Views
    Basti97B
    @MCU Danke muss ich mal schauen.😀
  • [gelöst]Icons werden im Dateimanager nicht angzeigt

    vis
    7
    2
    0 Votes
    7 Posts
    720 Views
    da_WoodyD
    @Jack01 surprise, surprise! ;) kaum macht mans richtig, funzt es auch!
  • Wie wird das Widget JSON Table eingestellt/formatiert

    Moved
    61
    0 Votes
    61 Posts
    18k Views
    M
    @liv-in-sky Krass....vielen Dank Hab deine Anmerkunen alle umgesetzt [image: 39255547ai.png] passt jetzt wunderbar...auch von der Breite. Hab noch die Spalten Dauer und Status getauscht. Passt irgendwie so besser. Noch mal vielen vielen Dank!!! Gruß

276

Online

32.8k

Users

82.9k

Topics

1.3m

Posts