NEWS
Windows 11 Info Bereich
-
@codierknecht okay ihr hattet recht das war wirklich avg obwohl keine firewall drin ist nun kommt zumindest schon mal die meldung von dem script wenn ich es restarte
-
-
@homoran okay hmm ka aber nun geht es
-
@codierknecht es wäre ein Blockly gut was einen text aus nem datenpunkt ausliest und sendet ist das möglich
-
@bernd-1337 schau dir mal mein Heizungs script an links wo umschalten steht ist der text der an telegram gesedet wird kann man dort einfügen das er den text über die ip sendet
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="Nngn$qGMi,a]t/|lc#?{">StateNum</variable> <variable type="timeout" id="WarteBissel">WarteBissel</variable> </variables> <block type="variables_set" id="Lf+.@w0i]IS/gNw{qa6L" x="838" y="112"> <field name="VAR" id="Nngn$qGMi,a]t/|lc#?{">StateNum</field> <value name="VALUE"> <block type="math_number" id="KhrGvql?l=E@bi|rli_W"> <field name="NUM">0</field> </block> </value> <next> <block type="on_ext" id="K2#.V[BShz?wc5YaB:Xa"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">true</field> <value name="OID0"> <shadow type="field_oid" id="EA2571m53SBZ4{-;6dlz"> <field name="oid">shelly.0.SHSW-25#3494547971EC#1.Relay0.Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="6t9~,p6FidwN}]u?M4"> <mutation elseif="3"></mutation> <value name="IF0"> <block type="logic_compare" id="JCl5xO7ojDQn^44RiSp,"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="4$$P9HQ)MNUl{s1VE~F"> <field name="VAR" id="Nngn$qGMi,a]t/|lc#?{">StateNum</field> </block> </value> <value name="B"> <block type="math_number" id="lf,FcwXo:E?[h.(=yGt6"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="ICp_/aW:$%cn-o0HvrQa"> <field name="COMMENT">Modus: Aus</field> </block> </statement> <value name="IF1"> <block type="logic_compare" id="3%|GqQPly)yBIN7#y,"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id=".8{U{s3*3e1!sJOo/9D6"> <field name="VAR" id="Nngn$qGMi,a]t/|lc#?{">StateNum</field> </block> </value> <value name="B"> <block type="math_number" id="hUec!BZSA.:|G(3=(+Lt"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="nL6yYs(6sGU5H3e2Taxz"> <field name="COMMENT">Modus: Kerze</field> <next> <block type="controls_if" id="hc2nU}%;|[~nj~seBYjg"> <value name="IF0"> <block type="logic_compare" id="A1fx8o=lFa]#g%7~,~E4"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="Ny*R^VVpN|F0/%U*AE};"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="]G,eb/;~2DcnH{V*Rbma"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="}Zh9j34tYu[ebF)N,40,"> <field name="VAR" id="Nngn$qGMi,a]t/|lc#?{">StateNum</field> <value name="VALUE"> <block type="math_number" id="R+m@ZqFHMr@%_^w+^qOO"> <field name="NUM">2</field> </block> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id=";hAF2.irdRUutWpZo;:d"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="FGT{I74}dY~WfC/PnVD/"> <field name="VAR" id="Nngn$qGMi,a]t/|lc#?{">StateNum</field> </block> </value> <value name="B"> <block type="math_number" id="w7)Z{X|{3^6~AC1y+3{N"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO2"> <block type="comment" id="d;NS!%[1{?/P=8pO+WY0"> <field name="COMMENT">Modus: Aktiv</field> </block> </statement> <value name="IF3"> <block type="logic_compare" id="%Yw%3*w]I{fN|^S.ZS]="> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="-4j4^KiH7d:mHrXl#mT?"> <field name="VAR" id="Nngn$qGMi,a]t/|lc#?{">StateNum</field> </block> </value> <value name="B"> <block type="math_number" id="$bd2xwJ/X1l.Kr.6[ut"> <field name="NUM">3</field> </block> </value> </block> </value> <statement name="DO3"> <block type="comment" id="gQznu+9U)WyeA|SO.("> <field name="COMMENT">Modus: Abkühlen</field> <next> <block type="controls_if" id="@bq3#zrqBgf#5h#5Z#hS"> <value name="IF0"> <block type="logic_compare" id=".6qUKEJ|K/,*0Tqh7X+"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="mL5[!HcyBnf9f?r^0"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="0T2Sp8CcWbAThN_U-1mX"> <field name="NUM">20</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="^Lqch?=mdtATs]!,HV.N"> <field name="VAR" id="Nngn$qGMi,a]t/|lc#?{">StateNum</field> <value name="VALUE"> <block type="math_number" id="sGO17n(^Qa?N)XGA@voq"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </statement> <next> <block type="on_ext" id="OtwKLd|WDL35?6l#wMO^"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">true</field> <value name="OID0"> <shadow type="field_oid" id="GQOm_-9Y(R8AMX;(QMD?"> <field name="oid">mqtt.0.HeizungsWasser.Sensor.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="f|L;-tv#*;ER)[p#V,nP"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="*:ES_JmGY(:w{)//L("> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id=":eot3H)-S7/~J4}[62x{"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="z%+gjj@TqUv8b9r%Ign,"> <field name="VAR" id="Nngn$qGMi,a]t/|lc#?{">StateNum</field> </block> </value> <value name="B"> <block type="math_number" id="7iVpE*zF@kH.cZFsa{~)"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=":{L1=rg,|!e^]3zvz}s]"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="+o:kLG3|[G/zOQA{@*V"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="get_value" id="DqXK^aSt(YszonMp(9Q#"> <field name="ATTR">val</field> <field name="OID">Heizung.0.Ein</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="@1(if5NGK9EG:Dil(4Cd"> <field name="VAR" id="Nngn$qGMi,a]t/|lc#?{">StateNum</field> <value name="VALUE"> <block type="math_number" id="G?{p(eR}BhC7|!lN4l[H"> <field name="NUM">1</field> </block> </value> <next> <block type="procedures_callnoreturn" id="%|#*~aAq96]Uv-JS7TqJ"> <mutation name="Heizung Umschalten"></mutation> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="Vr@lX;*Pc4]J2@-gu:W"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="j{)~Jj9Y^oxHCV{kv=uy"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="A)mtm?a!vB7%tbufxyg"> <field name="VAR" id="Nngn$qGMi,a]t/|lc#?{">StateNum</field> </block> </value> <value name="B"> <block type="math_number" id="]PxP{~|II!{NVfe%Cd"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="(r{RhyGx7bV(jg2G(sE+"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="n](6.WEo[c:[4t!oc}~@"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="get_value" id="}+,ko4-p~+jF;Ly|Z8"> <field name="ATTR">val</field> <field name="OID">Heizung.0.Aus</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="4^w`_tzL*$RzyAS%[U})"> <field name="VAR" id="Nngn$qGMi,a]t/|lc#?{">StateNum</field> <value name="VALUE"> <block type="math_number" id="+qT3-uNK}y=QED[]AT~H"> <field name="NUM">3</field> </block> </value> <next> <block type="procedures_callnoreturn" id="N3@(j3a2?cU5b]N!vK%v"> <mutation name="Heizung Umschalten"></mutation> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id=".F]sXJcTp=@W3(Y(=EeK" x="-312" y="213"> <field name="NAME">Heizung Umschalten</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="request" id=";cmmm{:YO0yNze=#lDOT"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="E@lHsR]E-y+Rc@,Vincw"> <field name="TEXT">http://192.168.1.5/control?cmd=gpio,14,1</field> </shadow> </value> <next> <block type="timeouts_settimeout" id="0+Nf.N=vWpAxzI;KPUfH"> <field name="NAME">WarteBissel</field> <field name="DELAY">6</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="request" id="%aA0/#=TLCMJ(5fu/)`P"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="bb9#YKR)@Rx9jjdXvBp%"> <field name="TEXT">http://192.168.1.5/control?cmd=gpio,14,0</field> </shadow> </value> </block> </statement> <next> <block type="telegram" id="3LY~@xt2e.([#Bj/078u"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="}1#aA@4Kf(;cC!,6h!4z"> <field name="TEXT">Heizung wurde Ausgeschaltet !</field> </shadow> <block type="logic_ternary" id="f}9^C%JV786Jh}ZmKErJ"> <value name="IF"> <block type="logic_compare" id="KHYb(LnPd=HL|U!{1zoO"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="cwD(ukIy)S1Dv{tI_V18"> <field name="VAR" id="Nngn$qGMi,a]t/|lc#?{">StateNum</field> </block> </value> <value name="B"> <block type="math_number" id="xcofx23G.^hn$mt+^:`d"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="THEN"> <block type="text_join" id="QbL0O8/z;~l!n2st|G}5"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="`NF)FWl95`{6h8Yq;G3v"> <field name="TEXT">Heizung wurde Eingeschaltet mit einer Temperatur von ! </field> </block> </value> <value name="ADD1"> <block type="text_newline" id="A-QG:Ig4YObizhB~]da("> <field name="Type">\n</field> </block> </value> <value name="ADD2"> <block type="get_value" id="seYhIcXy9|4kQxrn{1{)"> <field name="ATTR">val</field> <field name="OID">mqtt.0.HeizungsWasser.Sensor.temperature</field> </block> </value> </block> </value> <value name="ELSE"> <block type="text_join" id="vxzalkvdQv(0g:RZzH,4"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="i#mQW*k:Jk%qt`Eu)Vvj"> <field name="TEXT">Heizung wurde Ausgeschaltet mit einer Temperatur von ! </field> </block> </value> <value name="ADD1"> <block type="text_newline" id="A]K{Qi$do2-4F,kmkLEZ"> <field name="Type">\n</field> </block> </value> <value name="ADD2"> <block type="get_value" id="Y8;|lZ0`~Pq33,[rY(V:"> <field name="ATTR">val</field> <field name="OID">mqtt.0.HeizungsWasser.Sensor.temperature</field> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
@bernd-1337
Das geht mit dem Script deutlich einfacher.Lösche unten die angelegten Trigger (die mit dem
on(
) und lege einen eigenen an:on({id:'0_userdata.0.dein.datenpunkt', change:"ne"}, async function (obj) { let val = obj.state.val; // holt den Wert aus dem geänderten DP sendNotification('Nachricht vom ioBroker', 'Im DP steht ' + val + ' als Wert!'); });
-
@codierknecht dann haut er error raus
-
@bernd-1337
Welchen?`Wenn's denn unbedingt Blockly sein soll:
Ohne Fehlerbehandlung. Leerzeichen im Text müssen URL-codiert werden (%20) -
const axios = require('axios'); axios.defaults.timeout = 500; const address = 'http://192.168.1.2:8090'; async function sendNotification(title, body) { try { await axios.head(address); } catch (error) { if (error.code === 'ECONNABORTED') { log('Target host:port not reachable'); return false; } } let url = address + '/toastMessage'; url += '?title=' + encodeURI(title); url += '&body=' + encodeURI(body); try { await axios.get(url); } catch (error) { log(error); return false; } return true; } on({id:'0_userdata.0.example_state', change:"ne"}, async function (obj) { let val = obj.state.val; // holt den Wert aus dem geänderten DP sendNotification('Nachricht vom ioBroker', 'Im DP steht ' + val + ' als Wert!'); });
-
@codierknecht haut jetzt alles raus was ich neu zugefügt habe soll ja nur das raus hauen was ich in den datenpunkt schreibe
-
@codierknecht okay das funzt das schon mal gut
-
@bernd-1337
Dann stattsendNotification('Nachricht vom ioBroker', 'Im DP steht ' + val + ' als Wert!');
eben
sendNotification('', val);
Blockly:
-
@codierknecht okay das verstehe ich schon bisschen besser habe mal als test eingefügt in mein Pumpen script
-
@bernd-1337 sagte in Windows 11 Info Bereich:
@codierknecht okay das funzt das schon mal gut
Schön - dann musst das nur noch Deinem Antivirus beibringen.
Ohne Dir zu nahe treten zu wollen:
Von dem was wir hier in den letzten Stunden gemacht haben hast Du noch immer keinen blassen Schimmer, oder?
Wenn Du einen ioBroker dauerhaft stabil und sicher betreiben willst, solltest Du das dringend nachholen.
Ohne zumindest rudimentäre Kenntnisse von JavaScript wirst Du auf Dauer wenig Freude haben. Beim kleinsten Problem bist Du auf fremde Hilfe angewiesen. Und was Dir dann da so angeboten wird, kannst in keinster Weise einschätzen. -
@bernd-1337 sagte in Windows 11 Info Bereich:
@codierknecht okay das verstehe ich schon bisschen besser habe mal als test eingefügt in mein Pumpen script!
Da muss dann "Wurde%20eingeschaltet" rein!
Leerzeichen im Text müssen URL-codiert werden (%20)
-
@codierknecht wie meinst du das
-
@codierknecht jo hab Gecheckt was du meinst auf jedenfall funzt alles jetzt bestens muss ich nur rausfinden wie ich das avg beibringe das er den port durch lässt aber das Krieg ich schon hin ich sage auf jedenfall Herzlich danke an dich das du dir die zeit genommen hast um mir dumpfbacke es zu erklären aber wie gesagt ich habe 0 plan von dem ganzen
-
Nachtrag: Das Tool habe ich zwischenzeitlich geändert, so dass jetzt auch schon beim ersten Start auf den Port gehorcht wird.
-
@codierknecht okay Klingt gut werd mir update laden
-
@codierknecht was noch fehlt man könnte wenn es geht einbauen das sich das tool automatisch beim ersten start in sämtliche firewalls rein schreibt so das es nicht mehr so blockt wie bei mir den bei mir blockt er immer noch obwohl ich in avg nen eintrag gemacht habe muss avg immer aus machen wenn ich die meldung sehen will