NEWS
"unabhängigen" Datenpunkt anlegen
-
Ich hab eine zeitlang mal einen 2. eigene "Konstanten"-DB gehabt(per Skript, selbst gefüllt), die hat name, desc, room und Datenpunkt ID gespeichert und in grafana hab ich das wieder zusammengebastelt, aber ist zulange her, das ich noch weiß wie ich das gemacht habe.
-
@legro
dein Beispiel finde ich beachtlich. Allerdings sind meine Kenntnisse leider nicht so, dass ich auf diesem Niveau etws zustande bringen könnte.
Mein Ziel war es, in Grafana eine aktuelle und kompakte Übersicht (alle 5 sec.) über den Zustand der Fenster und Türen (auf/zu) zu haben. Gegenwärtig sagt mir ein Script nur, ob es zu einem definierten Zeitpunkt noch offene Fenster/Türen gibt.
Ich habe jetzt für mich eine "Lösung" gefunden, allerdings nicht sehr elegant. Ich registriere für jedes zu überwachende Objekt den Zustand alle 5 Sekunden und zeige dann in Grafana den letzten Wert in einem Dashboard an (also für jedes Objekt auch ein Dashboard. Diese fasse ich dann in einem großen Dashboard zusammen. Das ist natürlich alles äußerst umständlich, aber ich sehe in ioBroker keine Möglichkeit, die Objektbezeichnung mitzugeben (zusätzliches Feld zum zugehörigen Wert siehe Ausgangsfrage).
Im Momen mit nur 3 Fenstern sieht das so aus:
-
Grafana bloß mit der Anzeige von Zuständen zu befassen, wird diesem Programm nicht gerecht, ist es doch für ganz andere Dinge entwickelt worden. Verwendest du keine Visualisierung? Hier könntest du dein Anliegen vermutlich mit einem Federstrich abtun.
Hier ein Beispiel, wie ich via Blockly mich über offene Fenster informieren lasse ..
Immer dann, wenn ich die Haustüre zum Verlassen unseres Hauses öffne, bekomme über Pushover die Nachricht, die mich über noch offene Fenster benachrichtigt. Und hier der Export des Skriptes ..
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="mw5Sq5;2#c]Cjv:HvDqW">FensterID</variable> <variable id="RDW%jsRqulQ14_Ma;+.6">FensterName</variable> <variable id="/jS=J@*xZwKprot(yu(4">Anzahl</variable> <variable id="Lk/Y9W{mUAS:DJuOMC/^">offeneFenster</variable> <variable id="_Q5q[O$w$4z?Y^m(i1k/">Fenster</variable> </variables> <block type="comment" id="_T[*?y(e?W=EtN;+=~ZR" x="-1338" y="-1513"> <field name="COMMENT">FUNKTION FensterID -> Name</field> </block> <block type="comment" id=".`6BmVMJJl%^}w7=F.yj" x="-787" y="-1512"> <field name="COMMENT">Überwachung der Haustüre, ob sie offen ist</field> <next> <block type="on" id="z6*u:j2Yf$5:^ypFm90A"> <field name="OID">hm-rpc.0.MEQ1595158.1.STATE</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="comment" id="w^}3?.+JMQSW]__Q~9jv"> <field name="COMMENT">Die Haustüre soll nicht mitgezählt werden</field> <next> <block type="variables_set" id="W}G(1BH!e,N-AF57+lY{"> <field name="VAR" id="/jS=J@*xZwKprot(yu(4">Anzahl</field> <value name="VALUE"> <block type="math_number" id="Za2F861M92Kh12+8sRw3"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="EZ(ZC!gIbun[!1-h~;6I"> <field name="VAR" id="Lk/Y9W{mUAS:DJuOMC/^">offeneFenster</field> <value name="VALUE"> <block type="text" id="as:g$@73c#;!+]D1iqCg"> <field name="TEXT"></field> </block> </value> <next> <block type="controls_if" id="La8j/V(OM+?9A3)f2Svk"> <value name="IF0"> <block type="logic_compare" id=":O{$Xwu7k95(!IsIUD2W"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="@;LKH=^yO1;eNaRXk__Q"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_boolean" id="K]5r@7{R$I%=C{3lIbi("> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="i94H}^L~$K,V4}|}V/f|"> <field name="COMMENT">Wenn Datenpunkt "Rauch" = true, dann ..</field> <next> <block type="controls_forEach" id="W#O|I2M}N+!SEaXQfE;@"> <field name="VAR" id="_Q5q[O$w$4z?Y^m(i1k/">Fenster</field> <value name="LIST"> <block type="selector" id="KYB3/56S@+*Z!^/P?9Fw"> <field name="TEXT">(functions= fensterstatus)</field> </block> </value> <statement name="DO"> <block type="comment" id="DsZ^e:GTut:s^1wfbEZ["> <field name="COMMENT">Jedes Fenster überprüfen</field> <next> <block type="controls_if" id="v-93Ow]!C{6NWhduTPHB"> <value name="IF0"> <block type="logic_compare" id="8u)_v:v{Os.CkXvfret["> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="}r@q[FATWlmH`!gT*SQA"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="^^fToO7==dqY]41D*,9_"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="Jq+E~0jU8Na^Pn!(s12I"> <field name="VAR" id="_Q5q[O$w$4z?Y^m(i1k/">Fenster</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="H=B=Q7rp*MbkjgMs@;d;"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="@*XD=rS6DezFs75$#OxK"> <field name="VAR" id="/jS=J@*xZwKprot(yu(4">Anzahl</field> <value name="DELTA"> <shadow type="math_number" id=",T0~x*]54/oxzID!+,pi"> <field name="NUM">1</field> </shadow> </value> <next> <block type="controls_if" id="}dHH5k+lI:dFBP1nCZ=I"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="V%/e(advliM?hm7F8*Er"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="#mZh-O,*^^Hew/f}qf|L"> <field name="VAR" id="Lk/Y9W{mUAS:DJuOMC/^">offeneFenster</field> </block> </value> <value name="B"> <block type="text" id="7`SyzYzFYC=nvQ]l|,aM"> <field name="TEXT"></field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="s$rCkO%:j5suW6p(#xvF"> <field name="VAR" id="Lk/Y9W{mUAS:DJuOMC/^">offeneFenster</field> <value name="VALUE"> <block type="procedures_callreturn" id="v75~D0ewqabLncoo93;o"> <mutation name="FensterIDzuName"> <arg name="FensterID"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="!upO+Dq`@q*=]Nuj,8GC"> <field name="VAR" id="_Q5q[O$w$4z?Y^m(i1k/">Fenster</field> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="St+-l(3XhC@RUEetNkU*"> <field name="VAR" id="Lk/Y9W{mUAS:DJuOMC/^">offeneFenster</field> <value name="VALUE"> <block type="text_join" id="P46}YWmq;Q7L4MzLuHL%"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id=")5.?{|@f0)u~-!:-08HW"> <field name="VAR" id="Lk/Y9W{mUAS:DJuOMC/^">offeneFenster</field> </block> </value> <value name="ADD1"> <block type="text" id="`M(ziQH{jE:J}~*~It)^"> <field name="TEXT">, </field> </block> </value> <value name="ADD2"> <block type="procedures_callreturn" id="u/o7o#leNI;?}f7+{l9j"> <mutation name="FensterIDzuName"> <arg name="FensterID"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id=":|JXuK+$rv8_YfPUw].e"> <field name="VAR" id="_Q5q[O$w$4z?Y^m(i1k/">Fenster</field> </block> </value> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </statement> <next> <block type="pushover" id="pEMpj1?=$J7=9~a?2w`#"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <field name="FORMAT">none</field> <value name="MESSAGE"> <shadow type="text" id="CZNd2S`E)3Z+`Zfd_}(g"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="hIYahJGSvB~qriqH/T@G"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id="jLPXklR03d]Q7rVHzcBY"> <field name="TEXT">Anzahl offener Fenster: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="/8A|XDM[Lj@ct}H4kzUV"> <field name="VAR" id="/jS=J@*xZwKprot(yu(4">Anzahl</field> </block> </value> <value name="ADD2"> <block type="text_newline" id="6;M!.(4B3FMyr#^LtA}6"> <field name="Type">\n</field> </block> </value> <value name="ADD3"> <block type="text" id="),3!GMk7m7u+tKA_%Th="> <field name="TEXT">Fenster: </field> </block> </value> <value name="ADD4"> <block type="variables_get" id=";idyz#|jU`0n0g}Uks[_"> <field name="VAR" id="Lk/Y9W{mUAS:DJuOMC/^">offeneFenster</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> <block type="procedures_defreturn" id="5!OuFRht*fn5dne3b%,2" x="-1325" y="-1471"> <mutation> <arg name="FensterID" varid="mw5Sq5;2#c]Cjv:HvDqW"></arg> </mutation> <field name="NAME">FensterIDzuName</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="logic_switch_case" id="Y]B4uY4SjX.coFi]R3au"> <mutation xmlns="http://www.w3.org/1999/xhtml" case="26" default="1"></mutation> <value name="CONDITION"> <block type="variables_get" id="SZ;.9N(0XS_%qml#Q7D}"> <field name="VAR" id="mw5Sq5;2#c]Cjv:HvDqW">FensterID</field> </block> </value> <value name="CASECONDITION0"> <block type="field_oid" id="DZaTd5Ifzw4)ZVAZl;bw"> <field name="oid">hm-rpc.0.MEQ1594796.1.STATE</field> </block> </value> <statement name="CASE0"> <block type="comment" id="F(Iekm1S^:L=[M1a$TWJ"> <field name="COMMENT">Wohnkeller</field> <next> <block type="variables_set" id="$gf2nHKQ0ZL`U%=YM_:^"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="mZ42h+kbo_C:XvaTUlC:"> <field name="TEXT">Wohnkeller</field> </block> </value> </block> </next> </block> </statement> <value name="CASECONDITION1"> <block type="field_oid" id="lTDIQJ@[@NM4dfl60hNQ"> <field name="oid">hm-rpc.0.MEQ0917523.1.STATE</field> </block> </value> <statement name="CASE1"> <block type="comment" id="LzH;rI(5xZ06_||sjVyL"> <field name="COMMENT">Küche</field> <next> <block type="variables_set" id="6kR5bnplv#R!9Vqt;Uf|"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="lC*i6lTLhzUb4yYzxQ(G"> <field name="TEXT">Küchenfenster</field> </block> </value> </block> </next> </block> </statement> <value name="CASECONDITION2"> <block type="field_oid" id="hU1MeZY1nNwALQ--Pz7_"> <field name="oid">hm-rpc.0.MEQ1831348.1.STATE</field> </block> </value> <statement name="CASE2"> <block type="comment" id="vP~0W4qjgo4P7Y|Dqv+="> <field name="COMMENT">Gäste WC</field> <next> <block type="variables_set" id="fK`/k}JjkpLn)whD%ix["> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="dxB_uXj(YCEK4^nG5B1D"> <field name="TEXT">Dusche/WC</field> </block> </value> </block> </next> </block> </statement> <value name="CASECONDITION3"> <block type="field_oid" id="=~!pEH2uV#xSFJw/z~Fm"> <field name="oid">hm-rpc.0.NEQ1822370.1.STATE</field> </block> </value> <statement name="CASE3"> <block type="comment" id="_LHEUDhZp3UipCZI)jT0"> <field name="COMMENT">Büro ..</field> <next> <block type="variables_set" id="2aqG~t%+N@`_,Vqs3h1?"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="Wu-me^R8nujv~^=ln#O*"> <field name="TEXT">Büro West</field> </block> </value> </block> </next> </block> </statement> <value name="CASECONDITION4"> <block type="field_oid" id="$O7tF:.ha4y:`KiQ2Sij"> <field name="oid">hm-rpc.0.NEQ1822294.1.STATE</field> </block> </value> <statement name="CASE4"> <block type="variables_set" id="vDy]-v(CZ%)zZ_By8-o4"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="LcsRhr^oQusni}2cMddj"> <field name="TEXT">Büro Nord</field> </block> </value> </block> </statement> <value name="CASECONDITION5"> <block type="field_oid" id="Cf=c(+}*[)Noe5bXq]vO"> <field name="oid">hm-rpc.0.OEQ0441360.1.STATE</field> </block> </value> <statement name="CASE5"> <block type="comment" id="AJ0{nE|T3:ecY2;gGygJ"> <field name="COMMENT">Wohnzimmer ..</field> <next> <block type="variables_set" id="v4;2Jeq:_.92/{jOQ~@z"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="Xi.D.`{.LbT7Q$RNfccL"> <field name="TEXT">Wohnzimmer Ost</field> </block> </value> </block> </next> </block> </statement> <value name="CASECONDITION6"> <block type="field_oid" id="].=(GZ@fg1@xjb[Ud-KF"> <field name="oid">hm-rpc.0.MEQ1107847.1.STATE</field> </block> </value> <statement name="CASE6"> <block type="variables_set" id="!I8`s(ZeNt^mi6_|+;I0"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="I-T=KBx8HTF0qsEYk]oS"> <field name="TEXT">Terrasse rechts</field> </block> </value> </block> </statement> <value name="CASECONDITION7"> <block type="field_oid" id="dOdxE9Xczs=*/?]hkyYi"> <field name="oid">hm-rpc.0.MEQ1726433.1.STATE</field> </block> </value> <statement name="CASE7"> <block type="variables_set" id="Yay~G?~Mi5[4B3e+3C17"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="G0dex:14CxpDr|1C+t%q"> <field name="TEXT">Terrasse links</field> </block> </value> </block> </statement> <value name="CASECONDITION8"> <block type="field_oid" id="*g;/4glyBFT|EBqwLeTO"> <field name="oid">hm-rpc.0.OEQ0441440.1.STATE</field> </block> </value> <statement name="CASE8"> <block type="variables_set" id="y]35Rd1ovsK3d)dFG0.["> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="r(_I1R[=e@8iFZ%2Sym8"> <field name="TEXT">EG Turm Südwest</field> </block> </value> </block> </statement> <value name="CASECONDITION9"> <block type="field_oid" id="*qYu;E_fL^mXP@gtj~E^"> <field name="oid">hm-rpc.0.NEQ0377273.1.STATE</field> </block> </value> <statement name="CASE9"> <block type="variables_set" id="qi:g_%-0IMFFIw4-y9H+"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="0Ci%^FzjADb#)a}(9@U}"> <field name="TEXT">EG Turm Süd</field> </block> </value> </block> </statement> <value name="CASECONDITION10"> <block type="field_oid" id="zx3Ht-k/8aSzw@r20.,H"> <field name="oid">hm-rpc.0.OEQ0441221.1.STATE</field> </block> </value> <statement name="CASE10"> <block type="variables_set" id="rfP~a6^z2+1MK4}~b2vV"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="JCQVHoJ.-Y,r{=s)LMMg"> <field name="TEXT">EG Turm Südost</field> </block> </value> </block> </statement> <value name="CASECONDITION11"> <block type="field_oid" id="z_{q];+Q[=PcCf{jn26+"> <field name="oid">hm-rpc.0.OEQ0441183.1.STATE</field> </block> </value> <statement name="CASE11"> <block type="variables_set" id="XWAL?t}I.C2z3NG2xrxq"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="?pJ_P(J{T}Vj2)u|ITdD"> <field name="TEXT">EG Turm Ost</field> </block> </value> </block> </statement> <value name="CASECONDITION12"> <block type="field_oid" id="W[YZTmWJTHX0+8!lRjef"> <field name="oid">hm-rpc.0.OEQ0441441.1.STATE</field> </block> </value> <statement name="CASE12"> <block type="variables_set" id="Ca0r}lo5i.}X)Lp;Cn(v"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="`S$.*!t.J~LMB#MP.l?v"> <field name="TEXT">EG Turm Nordost</field> </block> </value> </block> </statement> <value name="CASECONDITION13"> <block type="field_oid" id="8r`?]`gSdU0ov7jj`{hE"> <field name="oid">hm-rpc.0.MEQ1107884.1.STATE</field> </block> </value> <statement name="CASE13"> <block type="comment" id="Zo#PO=3hK.n*[m7Yi*-^"> <field name="COMMENT">Treppenhaus</field> <next> <block type="variables_set" id="79{b}K[[i[H{NWVc*V42"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="i]vwS*-1hfZDM,0-Tg1M"> <field name="TEXT">Treppenhaus</field> </block> </value> </block> </next> </block> </statement> <value name="CASECONDITION14"> <block type="field_oid" id="4=[.%+cN3^pZUg)VO3:?"> <field name="oid">hm-rpc.0.NEQ0377878.1.STATE</field> </block> </value> <statement name="CASE14"> <block type="comment" id="mRQz+vWYAh$t$9QR^vW-"> <field name="COMMENT">Kind 1 ..</field> <next> <block type="variables_set" id="@c4N_LxcH`P27s6.@FV!"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="R?!QU.FP-7Y`$d`/Gksg"> <field name="TEXT">Kind 1 West</field> </block> </value> </block> </next> </block> </statement> <value name="CASECONDITION15"> <block type="field_oid" id="cZwGN]lvEx$gO.!AvMvr"> <field name="oid">hm-rpc.0.NEQ0377139.1.STATE</field> </block> </value> <statement name="CASE15"> <block type="variables_set" id="]QVoquAx/+I_l|r#`i:t"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="S?JR9:A6Dafp=2Fg$54Z"> <field name="TEXT">Kind 1 Süd</field> </block> </value> </block> </statement> <value name="CASECONDITION16"> <block type="field_oid" id="T@N5*34fSW7i6!8T]WZK"> <field name="oid">hm-rpc.0.OEQ0441370.1.STATE</field> </block> </value> <statement name="CASE16"> <block type="comment" id="=/hM(S`NVu:!]jCLVE!|"> <field name="COMMENT">Kind 2 ..</field> <next> <block type="variables_set" id=";PjSwOXG^gjmGB(I6)WC"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="yC:u)5mwRTgidw7pYve7"> <field name="TEXT">Kind 2 links</field> </block> </value> </block> </next> </block> </statement> <value name="CASECONDITION17"> <block type="field_oid" id="Z:ZRwla.-_p/X^HkXJ[i"> <field name="oid">hm-rpc.0.OEQ0440987.1.STATE</field> </block> </value> <statement name="CASE17"> <block type="variables_set" id="*E*P!W_E6l8C?)Ifn(q/"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="Fn87k|)v!Q3RO-UjTx{k"> <field name="TEXT">Kind 2 rechts</field> </block> </value> </block> </statement> <value name="CASECONDITION18"> <block type="field_oid" id="zNn7=dVxE}t+D-oi*7v4"> <field name="oid">hm-rpc.0.OEQ0441224.1.STATE</field> </block> </value> <statement name="CASE18"> <block type="comment" id="^[#1ueBOP/xjl2pUYd$)"> <field name="COMMENT">Badezimmer ..</field> <next> <block type="variables_set" id="0!|Cg_n(yUMV/$J2/G6I"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="|o|2j8E3ez/ca.D47({g"> <field name="TEXT">Badezimmer Nord</field> </block> </value> </block> </next> </block> </statement> <value name="CASECONDITION19"> <block type="field_oid" id="@%SDY!Yw_Bc5w;vL+v9|"> <field name="oid">hm-rpc.0.OEQ0441186.1.STATE</field> </block> </value> <statement name="CASE19"> <block type="variables_set" id="6cDxzLEn;mowkS|_ZGO5"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="a`r:(.p-}P6x(oV6XOK."> <field name="TEXT">Badezimmer Ost</field> </block> </value> </block> </statement> <value name="CASECONDITION20"> <block type="field_oid" id="?J0}:B{jlI$DdL)6#llA"> <field name="oid">hm-rpc.0.NEQ0377323.1.STATE</field> </block> </value> <statement name="CASE20"> <block type="comment" id=";|:6m(v7a#l.;7~eC:Y,"> <field name="COMMENT">Schlafzimmer ..</field> <next> <block type="variables_set" id="IOHK=Vc[3DuwU_W6o:}p"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="xQS%q!7SH%,/ii/$FF@~"> <field name="TEXT">Schlafzimmer Ost</field> </block> </value> </block> </next> </block> </statement> <value name="CASECONDITION21"> <block type="field_oid" id="h6wCZUY%ielbCABW^2F%"> <field name="oid">hm-rpc.0.NEQ0377125.1.STATE</field> </block> </value> <statement name="CASE21"> <block type="variables_set" id="X8{K?[f:Rh-RB}n^#bFO"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="qwZx~K,k#6,(H*eu_8}H"> <field name="TEXT">Schlafzimmer Süd</field> </block> </value> </block> </statement> <value name="CASECONDITION22"> <block type="field_oid" id=":L?iT1`=9qL5f9j10qT;"> <field name="oid">hm-rpc.0.NEQ1822385.1.STATE</field> </block> </value> <statement name="CASE22"> <block type="variables_set" id=".^30YVg5,xW_0it*B^;T"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="VkfhQEyTC{$l+NxVGv2X"> <field name="TEXT">OG Turm Südwest</field> </block> </value> </block> </statement> <value name="CASECONDITION23"> <block type="field_oid" id="B#=6N4d-$NE98HuzJU0%"> <field name="oid">hm-rpc.0.MEQ0917532.1.STATE</field> </block> </value> <statement name="CASE23"> <block type="variables_set" id="nT9PvLZiNvwzGUKHd}=4"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="u%[t$?MZr6bc8y[q4WLg"> <field name="TEXT">OG Turm Süd</field> </block> </value> </block> </statement> <value name="CASECONDITION24"> <block type="field_oid" id="4guzhZ5@kD*J.^I4Sj[S"> <field name="oid">hm-rpc.0.OEQ0441240.1.STATE</field> </block> </value> <statement name="CASE24"> <block type="variables_set" id="$hkW8mRzTq08NE6SIB2k"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="(u;p6:[?2h(+Bo4e.%1a"> <field name="TEXT">OG Turm Südost</field> </block> </value> </block> </statement> <value name="CASECONDITION25"> <block type="field_oid" id="FKGZUGymIFBlYUi=n/(="> <field name="oid">hm-rpc.0.NEQ1822273.1.LOWBAT</field> </block> </value> <statement name="CASE25"> <block type="variables_set" id="PZ,ZEC+rCTH0XnfX5LS)"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="br2tWsCnI{e(4t#W~UU5"> <field name="TEXT">OG Turm Ost</field> </block> </value> </block> </statement> <value name="CASECONDITION26"> <block type="field_oid" id="F1%tWTVo?:jWeT2]o0,L"> <field name="oid">hm-rpc.0.NEQ1822589.1.STATE</field> </block> </value> <statement name="CASE26"> <block type="variables_set" id="u0P^]V1/gIYhX62|Nlpb"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="oGuk:)M6R^X|9w!7EE(]"> <field name="TEXT">OG Turm Nordost</field> </block> </value> </block> </statement> <statement name="ONDEFAULT"> <block type="variables_set" id="U1ZUW|RB6_?A]661CtSy"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> <value name="VALUE"> <block type="text" id="wjkV(D4m4fzlYt3~+N{D"> <field name="TEXT">unbekannt</field> </block> </value> </block> </statement> </block> </statement> <value name="RETURN"> <block type="variables_get" id="@?9|genJM)t(8AvTbBs^"> <field name="VAR" id="RDW%jsRqulQ14_Ma;+.6">FensterName</field> </block> </value> </block> </xml>
-
@legro
in meinem "alten" System (Raspberry pi 4 mit Bullseye) hatte ich ioBroker VIS aktiv und habe mir den Grundriss mit Fenstern, Türen und Lichtern und deren Zustand dargestellt. Schalten konnte ich die Lichter hier auch. Das war soweit ok. Hier nur ein Ausschnitt:
Jetzt mit Raspberry pi 5 und Bookworm habe ich das noch nicht rübergezogen. Ich hatte gehofft, dass ich es mit Grafana zumindest ähnlich hin bekomme. Da habe ich aber bisher keinen Weg gefunden. Es wäre aus meiner Sicht schöner, wenn ioBroker nur die Aufgabe des Datenlieferanten übernimmt, influxdb2 die Datenbankrolle und Grafana die Visualisierung der Ergebnisse.
Hier ein Ausschnitt meiner Darstellung in Grafana:
Das Problem mit offenen Fenstern und Türen und der Meldung dazu habe ich auch mit Blockly gelöst. Die Darstellung der aktuellen Zustände geht nach meiner Kenntnis nur mit VIS in ioBroker oder in Grafana, wobei meine Lösung in Grafana sicher nicht elegant ist, aber immerhin den Zweck erfüllt. Falls es mit Grafana eine bessere Lösung gibt, würde ich das gerne mal testen -
Meine Vermutung hinsichtlich deines Vorhabens ..
Du willst wohl in Grafana den Namen des angezeigten Zustandes und dessen Wert variabel in einem Dashboard gestalten???
Dies widerspricht dem Konzept von Grafana. Der Name ist fest mit der Datenquelle und der Zustand der aus der Quelle ausgelesene Wert.
Demnach müsstest du eine Quelle für dein Dashboard definieren, dass Wertpaare (aus Datenpunktnamen und Werte) enthält.
-
@legro
"Demnach müsstest du eine Quelle für dein Dashboard definieren, dass Wertpaare (aus Datenpunktnamen und Werte) enthält."Ich denke, das trifft es. Siehe mein Beitrag oben vom 24.12. 12:10
Offenbar kann ich nicht wie in anderen Datenbanken (nicht influxdb2) die Datenbankstruktur (zusätzliche Felder) ändern und somit auch nicht in Grafana nutzen. -
@dgr sagte in "unabhängigen" Datenpunkt anlegen:
Offenbar kann ich nicht wie in anderen Datenbanken (nicht influxdb2) die Datenbankstruktur (zusätzliche Felder) ändern und somit auch nicht in Grafana nutzen.
Natürlich müsstest du das können, aber nicht mit dem InfluxDB Adapter.
Der ist nur zum speichern der Datenpunkte. -
@homoran
Da hätte ich von Anfang an genau lesen sollen. Der Adapter sagt ja explizit "Daten mit influxdb protokollieren" und protokollieren heißt eben nur protokollieren. -
@dgr sagte in "unabhängigen" Datenpunkt anlegen:
Der Adapter sagt ja explizit "Daten mit influxdb protokollieren"
genau!
Der Adapter ist nur für die Historisierung der Werte von Datenpunkten gedacht.
Datenbank"manipulationen" musst du selber programmieren -
@dgr du könntest auch ein JSON erstellen und den in einem Datenpunkt speichern. Bei Änderung von Werten aktualiserst du das JSON.
In Grafana installierst du das "infinity plugin" und im ioBroker "simple-api". Damit kannst du direkt das JSON in Grafana visualisieren (Tabelle oder Chart), ganz ohne Influx & Co.
Ro75.