@armilar Das mit den IDs vom Selektor kannte ich noch gar nicht, nette Funktion und Danke für den Tipp!
NEWS
Carsten Sauermann
@Carsten Sauermann
Best posts made by Carsten Sauermann
-
RE: Alexa2 3.25.x (Beta) - jetzt wieder mit History :-)
-
RE: Test Adapter BSBLAN v0.1.x GitHub (Write Support!)
@hacki11 Danke dir. Ich habe ein entsprechendes Ticket im Github (BSB-Lan Adapter) angelegt, evtl. können die Jungs das noch implementieren.
Was die Abfrage angeht, so habe ich mich oben was vertan. Aktuell kann man alle Durchschnittswerte mit /A abrufen aber nicht explizit einen wie oben beschrieben, wie das dann später auf der JSON Schnittstelle aussieht werden wir dann ja sehen.
Nochmals danke für die tolle Arbeit
Gruß Carsten
-
RE: Alexa2 3.25.x (Beta) - jetzt wieder mit History :-)
@dr-bakterius ich habe es jetzt erst mal mit einem selbst angelegten Gerät unter Objekte und dem IOT-Adapter mit iobroker.pro erledigt.
Kostenlos sind 20 Anfragen am Tag, das reicht mir vermutlich erstmal, so viele Routinen, welche über Io-Broker laufen, starte ich nicht am Tag. Sobald ich das Limit überschreite kann ich ja auch auf ein Abo umsteigen! -
RE: Test Adapter BSBLAN v0.2.x
@hacki11
gerade alles drauf gemacht und die 24h-Werte werden sauber in IO-Broker übernommen.Super Arbeit, vielen Dank!
-
RE: Alexa2 3.25.x (Beta) - jetzt wieder mit History :-)
@haselchen Durch den IOT Adapter wird der "AlexaTrigger" als Gerät in Alexa erkannt.
Dann aktiviert man den IOT-Sill in Alexa.
In der Alexa-Routinen schalte ich das Gerät dann ein.
Das Einschalten des virtuellen Gerätes wird dann über den IOT-Adapter in IO-Broker erkannt.
In IO-Broker habe ich ein Skirpt, welches auf das Gerät schaut und wenn das Eingeschaltet wird, dann triggert das den #trigger im Alexa-Adapter und schaltet das Gerät mit "aktualisiere" wieder aus!Ich hoffe das ist verständlich erklärt, sonst gerne nochmal nachfragen!
Latest posts made by Carsten Sauermann
-
RE: Wie FireTV Adapter einstellen?
@exmerci bei mir auch nicht, ich musst es ohne adb am Ende eingeben, dann klappt die Verbindung:
/usr/lib/android-sdk/platform-tools/
wobei der nach dem Speichern und erneutem Öffnen dann wieder adb dort hinter stehen hat, aber bei der Eingabe musste das weg bleiben, damit es funktioniert!
-
RE: Test Adapter Samsung Smartthings v.0.0.x
@triplex du kannst nur die Datenpunkte unter capabilities steuern. Die anderen sind um den Status auszulesen.. das war auch mein Fehler am Anfang
-
RE: Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden
@ahnungsloshoffnungsvoll du musst an den hintern LAN Port nicht an dem vom Dongel
-
RE: Alexa2 3.25.x (Beta) - jetzt wieder mit History :-)
Moin, ich habe mir dann mal ein kleines Blockly-Skript gebaut, welches ich nach dem manuellen Refresh starte und welches mir dann meine Routinen startet. Denn zumindest bei mir ist es so, das die Routinen aktuell nicht auf "true" gesetzt werden, wenn diese per Sprachbefehl gestartet werden.
Das Skript funktioniert generisch, also man muss da eigentlich nichts mehr anpassen, auch wenn Routinen hinzukommen etc. Schaut es euch mal an, vielleicht kann es jemand gebrauchen:Der Trigger ("power" ist mein virtuelles Gerät, welches ich in den Routinen schalte):
Die Funktion RoutineAktualisieren (sucht automatisch das passende Gerät und die passende Routine und setzt die Routine auf true):
Die Funktion "StringReplace":
Für den Import:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="Ab53HE;$-b:BQv8)ITk!">Uebergabe</variable> <variable id="sn:Qm8r/I{0@n$mGf2s%">Suchtext</variable> <variable id="t4o:-jVz:WANR,nO6*,c">Ersatztext</variable> <variable id="*D,0xp!zxTtCukPR^)qJ">AlexaInfoName</variable> <variable id="2:svZ%wygS!Z{!Db2mL1">AlexaID</variable> <variable id="9%11lPF|ZD!-=t9N=+@)">AlexaRoutines</variable> </variables> <block type="on_ext" id="5QK{bxQ-p/uz?596m.,}" x="163" y="63"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="05P.%8d,-Djy/H(4`tt~"> <field name="oid">javascript.0.VirtualDevices.AlexaTrigger.power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=":(U,LSw+U-H1P{1#1OlN"> <value name="IF0"> <block type="logic_compare" id="Omc9#!Q5w3v*=S7y$lm0"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="rsJ{%G2rviv?n+yx]Q~N"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_boolean" id="K*;B-mH,v28_/Tt!rfcw"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="Gi(tn9l^~`#3sXcZF`0="> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.VirtualDevices.AlexaTrigger.power</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="m?}kLb@UqA`,n9}WGgxP"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="!U_AU9^/zp^itzA0G;5~"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.History.#trigger</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="J_*AV9{t0k82EeM=t}?v"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="update" id="o4sH9KQf?6acXEYl$2:)"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.History.#trigger</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="}av_kvZO?!BLhB191ihj"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_wait" id="~j)+]HsJwm]u~-@@=*nj"> <field name="DELAY">150</field> <field name="UNIT">ms</field> <next> <block type="procedures_callnoreturn" id="2JhY9[Y5NA@5ZE0ZwQN0"> <mutation name="Routine Aktualisieren"></mutation> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> <block type="procedures_defnoreturn" id="LGkfp.j:frjg~6meIsoR" x="162" y="388"> <field name="NAME">Routine Aktualisieren</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="vq/Ti2ETt{WKnfJS!nBX"> <value name="IF0"> <block type="logic_compare" id="/b]E!`QpKJ#YnMfE$*};"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="TzEFMh-+#[h$`$pNf9}T"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.domain</field> </block> </value> <value name="B"> <block type="text" id="Z={J/PaJf{Fj5HX`!s=#"> <field name="TEXT">Routines</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_forEach" id="w:dW]`eIoHoS8o]P[NIV"> <field name="VAR" id="*D,0xp!zxTtCukPR^)qJ">AlexaInfoName</field> <value name="LIST"> <block type="selector" id="L@;28:C+7Z]@1-~]Y[ei"> <field name="TEXT">alexa2.0.Echo-Devices.*.Info.name</field> </block> </value> <statement name="DO"> <block type="controls_if" id="G=qua.8yH1]mX6JK/[Y}"> <value name="IF0"> <block type="logic_compare" id="KwO*Pw-2Rc?PuPQha)LH"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="nCRH7GSF.+GPnAh}B5;/"> <field name="ATTR">val</field> <value name="OID"> <shadow type="field_oid" id="wAks:Q[*Q=J9U-,OKReR"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="FaN+-@DJ?9;Cy(SMuB,T"> <field name="VAR" id="*D,0xp!zxTtCukPR^)qJ">AlexaInfoName</field> </block> </value> </block> </value> <value name="B"> <block type="get_value" id=".9o50-|^,F.)w,usK@8E"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="w|V3uod8~$y9gA9V.#58"> <field name="VAR" id="2:svZ%wygS!Z{!Db2mL1">AlexaID</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="(9aC[L)~8O+No^;ZO8Jm"> <mutation name="StringReplace"> <arg name="Uebergabe"></arg> <arg name="Suchtext"></arg> <arg name="Ersatztext"></arg> </mutation> <value name="ARG0"> <block type="convert_tostring" id="d7IWXe5b(E6``@bkXQj9"> <value name="VALUE"> <block type="variables_get" id="[xQxSxo#n}xK79*M,wqa"> <field name="VAR" id="*D,0xp!zxTtCukPR^)qJ">AlexaInfoName</field> </block> </value> </block> </value> <value name="ARG1"> <block type="text" id="zgb{dZvYJUV,b0|G`I4W"> <field name="TEXT">.Info.name</field> </block> </value> <value name="ARG2"> <block type="text" id="W@Zg9@6K}7W!B-HcP}m`"> <field name="TEXT"></field> </block> </value> </block> </value> <next> <block type="controls_forEach" id="eA1;0dHM|tgNf2t*.T){"> <field name="VAR" id="9%11lPF|ZD!-=t9N=+@)">AlexaRoutines</field> <value name="LIST"> <block type="selector" id="3KBNb]?jO0JKB@1TiKg$"> <field name="TEXT">'+AlexaID+'.Routines.*</field> </block> </value> <statement name="DO"> <block type="controls_if" id="fp(1,5yMR;qh43@jJ)v@"> <value name="IF0"> <block type="logic_compare" id="F.00=az_sVvrOqkNNU9="> <field name="OP">EQ</field> <value name="A"> <block type="text_changeCase" id="g9,H[U8g!lH%?LVeGAN9"> <field name="CASE">LOWERCASE</field> <value name="TEXT"> <shadow type="text" id="N6FqHxM~Gd.XNVp-G-[8"> <field name="TEXT">abc</field> </shadow> <block type="get_value_var" id="/7{oF]#!aGCm2DEv0I0q"> <field name="ATTR">common.name</field> <value name="OID"> <shadow type="field_oid" id="wAks:Q[*Q=J9U-,OKReR"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="0Gd$yf1X+]ILuOHH;Pf~"> <field name="VAR" id="9%11lPF|ZD!-=t9N=+@)">AlexaRoutines</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="get_value" id="kQ6Zj9vD}HnzGwfWdPxP"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.summary</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="ago=Ch8IuPBHCJD8EITb"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="LbXn@mBE-/tL0Gwyub9Z"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="lA?X!Qh{=m]fnqL(D5=v"> <field name="VAR" id="9%11lPF|ZD!-=t9N=+@)">AlexaRoutines</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="CL.k/k]hJ)iQ2]k6Qf8:"> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="UX|6P(aM/iG}X6IZTTrF"> <field name="NUM">0</field> </shadow> </value> <next> <block type="controls_flow_statements" id="[++P[oX-Qwbkx@^?{Y$["> <field name="FLOW">BREAK</field> </block> </next> </block> </statement> </block> </statement> <next> <block type="controls_flow_statements" id="WZ:C|hihlkgt:{MQ)l0~"> <field name="FLOW">BREAK</field> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </statement> </block> <block type="procedures_defcustomreturn" id="_tIJ{~4uAw$EQF`Yc`?V" x="213" y="1338"> <mutation statements="false"> <arg name="Uebergabe" varid="Ab53HE;$-b:BQv8)ITk!"></arg> <arg name="Suchtext" varid="sn:Qm8r/I{0@n$mGf2s%"></arg> <arg name="Ersatztext" varid="t4o:-jVz:WANR,nO6*,c"></arg> </mutation> <field name="NAME">StringReplace</field> <field name="SCRIPT">cmV0dXJuIFVlYmVyZ2FiZS5yZXBsYWNlKFN1Y2h0ZXh0LCBFcnNhdHp0ZXh0KTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml>
Und hier noch einmal einzeln, der Code für die Funktion StringReplace:
return Uebergabe.replace(Suchtext, Ersatztext);
-
RE: Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden
@ostseeskipper stimmt noch ist er ganz aber ich stelle den auch nur auf 5000 hatte aber mal beim eingeben eine 0 zu viel eingetragen. Hat trotzdem nur mit 5000 geladen...
-
RE: Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden
@ostseeskipper nach meiner Erfahrung kann man auch 7000 einstellen aber der macht einfach nicht mehr als 5000. Will damit nur sagen es ist nicht schlimm wenn man einen größeren Wert eingibt.
-
RE: Alexa2 3.25.x (Beta) - jetzt wieder mit History :-)
@draexler hast du denn die 3.25.5 Adapterversion installiert?
-
RE: Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden
@mcbeath ich glaube das ist für die Einstellung ob zueinem gewissen Zeitpunkt der Akku geladen werden soll. Was man auch in der App einstellen kann
13083 sollte auch auf 0 stehen..
-
RE: Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden
@mcbeath ich glaube du musst den 13051 auch zurück auf 0 stellen..